|
|
@@ -357,43 +357,44 @@ if __name__ == "__main__":
|
|
|
|
|
|
client = EthClient()
|
|
|
|
|
|
- CHAIN_ID = 1
|
|
|
- IN_AMOUNT_TO_QUERY = decimal.Decimal('1')
|
|
|
- IN_TOKEN_ADDRESS = '0xdAC17F958D2ee523a2206206994597C13D831ec7' # USDT on Ethereum
|
|
|
- IN_TOKEN_DECIMALS = decimal.Decimal(6)
|
|
|
- OUT_TOKEN_ADDRESS = '0xf816507E690f5Aa4E29d164885EB5fa7a5627860' # RATO on Ethereum
|
|
|
+ # CHAIN_ID = 1
|
|
|
+ # IN_AMOUNT_TO_QUERY = decimal.Decimal('1')
|
|
|
+ # IN_TOKEN_ADDRESS = '0xdAC17F958D2ee523a2206206994597C13D831ec7' # USDT on Ethereum
|
|
|
+ # IN_TOKEN_DECIMALS = decimal.Decimal(6)
|
|
|
+ # OUT_TOKEN_ADDRESS = '0xf816507E690f5Aa4E29d164885EB5fa7a5627860' # RATO on Ethereum
|
|
|
USER_WALLET = '0xb1f33026Db86a86372493a3B124d7123e9045Bb4'
|
|
|
- SLIPPAGE = 1
|
|
|
- USER_EXCHANGE_WALLET = '0xc71835a042F4d870B0F4296cc89cAeb921a9f3DA'
|
|
|
+ # SLIPPAGE = 1
|
|
|
+ # USER_EXCHANGE_WALLET = '0xc71835a042F4d870B0F4296cc89cAeb921a9f3DA'
|
|
|
|
|
|
- rst = swap(CHAIN_ID, IN_AMOUNT_TO_QUERY * (10 ** IN_TOKEN_DECIMALS), IN_TOKEN_ADDRESS, OUT_TOKEN_ADDRESS, SLIPPAGE, USER_WALLET, USER_EXCHANGE_WALLET)
|
|
|
- data = rst['data'][0]
|
|
|
- tx = data['tx']
|
|
|
+ # rst = swap(CHAIN_ID, IN_AMOUNT_TO_QUERY * (10 ** IN_TOKEN_DECIMALS), IN_TOKEN_ADDRESS, OUT_TOKEN_ADDRESS, SLIPPAGE, USER_WALLET, USER_EXCHANGE_WALLET)
|
|
|
+ # data = rst['data'][0]
|
|
|
+ # tx = data['tx']
|
|
|
try:
|
|
|
- tx.pop('gasPrice', None)
|
|
|
- tx.pop('value', None)
|
|
|
- tx.pop('minReceiveAmount', None)
|
|
|
- tx.pop('slippage', None)
|
|
|
- tx.pop('maxSpendAmount', None)
|
|
|
- tx.pop('signatureData', None)
|
|
|
+ # tx.pop('gasPrice', None)
|
|
|
+ # tx.pop('value', None)
|
|
|
+ # tx.pop('minReceiveAmount', None)
|
|
|
+ # tx.pop('slippage', None)
|
|
|
+ # tx.pop('maxSpendAmount', None)
|
|
|
+ # tx.pop('signatureData', None)
|
|
|
|
|
|
+ tx = {
|
|
|
+ 'from': USER_WALLET,
|
|
|
+ 'to': USER_WALLET,
|
|
|
+ 'gas': '40000',
|
|
|
+ 'value': 1,
|
|
|
+ 'maxPriorityFeePerGas': '1800000000'
|
|
|
+ }
|
|
|
latest_block = client.w3.eth.get_block('latest')
|
|
|
tx['maxPriorityFeePerGas'] = int(tx['maxPriorityFeePerGas'])
|
|
|
tx['maxFeePerGas'] = int(int(latest_block['baseFeePerGas']) * 2 + tx['maxPriorityFeePerGas'])
|
|
|
|
|
|
- # tx = {
|
|
|
- # 'from': '0xb1f33026Db86a86372493a3B124d7123e9045Bb4',
|
|
|
- # 'to': '0xb1f33026Db86a86372493a3B124d7123e9045Bb4',
|
|
|
- # 'gas': '423000',
|
|
|
- # 'value': 12345
|
|
|
- # }
|
|
|
pprint.pprint(tx)
|
|
|
estimated_gas = client.w3.eth.estimate_gas(tx)
|
|
|
estimated_wei = estimated_gas * (tx['maxPriorityFeePerGas'] + tx['maxFeePerGas'])
|
|
|
estimated_eth = estimated_wei / (10 ** 18)
|
|
|
- print(f"估算的燃气量: {estimated_gas}, eth消耗: {estimated_eth}")
|
|
|
+ logging.info(f"估算的燃气量: {estimated_gas}, eth消耗: {estimated_eth}")
|
|
|
|
|
|
- print(f"餘額:{client.w3.eth.get_balance(USER_WALLET)}")
|
|
|
+ logging.info(f"餘額:{client.w3.eth.get_balance(USER_WALLET)}")
|
|
|
|
|
|
# tx_hash = client._sign_and_send_transaction(tx)
|
|
|
# receipt = client.wait_for_transaction_receipt(tx_hash)
|