|
|
@@ -17,7 +17,7 @@ USER_EXCHANGE_WALLET = '0xc71835a042F4d870B0F4296cc89cAeb921a9f3DA' # 用户在
|
|
|
|
|
|
# 该代币最后一次执行套利的区块信息 (如果需要防止过于频繁的同类套利,不然变成砸盘、拉盘的了)
|
|
|
last_process_info = {} # 示例: {"RATO_USDT": 0}
|
|
|
-MIN_BLOCKS_BETWEEN_ARB = 1 # 在重试相同交易对之前等待1个区块
|
|
|
+MIN_BLOCKS_BETWEEN_ARB = decimal.Decimal(1) # 在重试相同交易对之前等待1个区块
|
|
|
|
|
|
# --- 全局状态和锁 ---
|
|
|
processing_list = [] # 正在处理的任务列表
|
|
|
@@ -133,11 +133,11 @@ def handle_submit_process():
|
|
|
symbol = data['symbol'] # 交易对符号
|
|
|
|
|
|
# 检查此交易对此区块是否处理过
|
|
|
- last_info = last_process_info.get(symbol)
|
|
|
- current_block = web3.eth.block_number
|
|
|
- if last_info:
|
|
|
- if current_block - last_info['block'] < MIN_BLOCKS_BETWEEN_ARB:
|
|
|
- return jsonify({"message": f"已跳过: {symbol} 最近已处理 (区块 {last_info['block']}). 当前区块 {current_block}."}), 200
|
|
|
+ last_trade_block = last_process_info.get(symbol)
|
|
|
+ current_block = web3.w3.eth.block_number
|
|
|
+ if last_trade_block:
|
|
|
+ if current_block - last_trade_block < MIN_BLOCKS_BETWEEN_ARB:
|
|
|
+ return jsonify({"message": f"已跳过: {symbol} 最近已处理 (区块 {last_trade_block}). 当前区块 {current_block}."}), 200
|
|
|
|
|
|
if profit >= profit_limit:
|
|
|
process_id = str(uuid.uuid4()) # 生成唯一流程ID
|