gateway icon indicating copy to clipboard operation
gateway copied to clipboard

Gateway v2.6 updates

Open fengtality opened this issue 7 months ago • 8 comments

Before submitting this PR, please make sure:

  • [X] Your code builds clean without any errors or warnings
  • [X] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:

  • additional routes for Raydium connector
  • updated Ethereum and Uniswap connectors
  • unit tests
  • refactored code architecture

fengtality avatar May 05 '25 04:05 fengtality

I’m using version 2.6, but Hummingbot keeps showing ‘offline’ and I really can’t figure out why. Any ideas or help would be appreciated!

sdyanglei avatar May 07 '25 14:05 sdyanglei

I’m using version 2.6, but Hummingbot keeps showing ‘offline’ and I really can’t figure out why. Any ideas or help would be appreciated!

@sdyanglei this is pull request so we can't do support here 🙇🏼

  • you may go to our discord support channel
  • or check our docs here

rapcmia avatar May 07 '25 14:05 rapcmia

Test comit 82c8bf939ce7ec7cdc693f1e9de17eb426594838

  • Successfully setup with hummingbot dev branch ✅
  • This PR does not accept gateway start --passphrase=a even after pnpm link —global image
    • User must use pnpm start --passphrase=a ✅ image
    • Observed duplicate log info for "Available connectors:...", "Getting. available DEX connectors..." and "Getting all configurations"

Test solana chain

  • Successfully added solana connector however on the next attempt getting errors ❌
  • When using existing wallet, getting unhandled error ❌ image
    2025-05-12 13:51:35,208 - 11855 - hummingbot.core.utils.async_utils - ERROR - Unhandled error in background task: Error on POST https://localhost:15888/solana/balances Error: Not Found
    Traceback (most recent call last):
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/utils/async_utils.py", line 9, in safe_wrapper
        return await c
               ^^^^^^^
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/client/command/gateway_command.py", line 307, in _gateway_connect
        balances: Dict[str, Any] = await self._get_gateway_instance().get_balances(
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/gateway/gateway_http_client.py", line 303, in get_balances
        return await self.api_request(
               ^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/gateway/gateway_http_client.py", line 235, in api_request
        raise e
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/gateway/gateway_http_client.py", line 221, in api_request
        raise ValueError(f"Error on {method.upper()} {url} Error: {parsed_response['error']}")
    ValueError: Error on POST https://localhost:15888/solana/balances Error: Not Found
    
  • When adding a new pkey, getting unhandled error ❌ image
    2025-05-12 13:54:52,087 - 14231 - hummingbot.core.utils.async_utils - ERROR - Unhandled error in background task: Error on POST https://localhost:15888/solana/balances Error: Not Found
    Traceback (most recent call last):
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/utils/async_utils.py", line 9, in safe_wrapper
        return await c
               ^^^^^^^
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/client/command/gateway_command.py", line 307, in _gateway_connect
        balances: Dict[str, Any] = await self._get_gateway_instance().get_balances(
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/gateway/gateway_http_client.py", line 303, in get_balances
        return await self.api_request(
               ^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/gateway/gateway_http_client.py", line 235, in api_request
        raise e
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/gateway/gateway_http_client.py", line 221, in api_request
        raise ValueError(f"Error on {method.upper()} {url} Error: {parsed_response['error']}")
    ValueError: Error on POST https://localhost:15888/solana/balances Error: Not Found
    2025-05-12 13:54:54,239 - 14231 - hummingbot.client.hummingbot_application - ERROR - MQTT is already stopped!
    2025-05-12 13:54:57,057 - 14250 - hummingbot.core.gateway.gateway_status_monitor - INFO - Gateway Service is ONLINE.
    2025-05-12 13:54:57,063 - 14250 - hummingbot.core.gateway.gateway_status_monitor - INFO - Gateway Service is ONLINE.
    2025-05-12 13:55:25,937 - 14250 - hummingbot.core.utils.async_utils - ERROR - Unhandled error in background task: 'balances'
    Traceback (most recent call last):
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/core/utils/async_utils.py", line 9, in safe_wrapper
        return await c
               ^^^^^^^
      File "/Users/yawn/hummingbot/hummingbot/dev/hummingbot/client/command/gateway_command.py", line 351, in _gateway_connect
        wallet_table: List[Dict[str, Any]] = [{"balance": balances['balances'].get(
                                                          ~~~~~~~~^^^^^^^^^^^^
    KeyError: 'balances'
    

Steps to reproduce: - After successfully added the first solana connector - Use gateway connect meteora/clmm or other solana network then use existing keys - use gateway connect on any solana network then add pkey

rapcmia avatar May 12 '25 06:05 rapcmia

Test ed4dfbe2850cfd42b3411da950eb171150cd985c

  • Setup gateway on MacOs source build with hummingbot development branch
  • Test focus on solana chain
  • Update config e.g solana.network.mainnet-beta.nodeURL ok
    • Have to manually relaunch for changes to apply, related to 428
  • Add, Get and Remove wallet ok
  • Get balance of solana wallet
  • API tests on fastify ok

jupiter

  • /connectors/jupiter/quote-swap ✅
  • /connectors/jupiter/execute-swap ✅

raydium/amm

  • pool address 6UmmUiYoBjSrhakAobJw8BvkmJtDVxaeBtbt7rxWo1mg
  • /connectors/raydium/amm/pool-info ✅
  • /connectors/raydium/amm/position-info ✅
  • /connectors/raydium/amm/quote-liquidity ✅
  • /connectors/raydium/amm/quote-swap ✅
  • /connectors/raydium/amm/execute-swap ✅
  • /connectors/raydium/amm/add-liquidity ✅
  • /connectors/raydium/amm/remove-liquidity ✅

raydium/clmm

  • Pool address 61R1ndXxvsWXXkWSyNkCxnzwd3zUNB8Q2ibmkiLPC8ht
    • position address 7gs9DV1asG3xsXT5cFdoYp9WdLpKNZUw5ncCR6pZcVD1
  • /connectors/raydium/clmm/pool-info ✅
  • /connectors/raydium/clmm/positions-owned ✅
  • /connectors/raydium/clmm/position-info ✅
  • /connectors/raydium/clmm/quote-position ✅
  • /connectors/raydium/clmm/quote-swap ✅
  • /connectors/raydium/clmm/execute-swap ✅
  • /connectors/raydium/clmm/open-position ✅
  • /connectors/raydium/clmm/add-liquidity ✅
  • /connectors/raydium/clmm/remove-liquidity ✅
  • /connectors/raydium/clmm/collect-fees (3/3 attempt) ❌
    2025-05-13 06:55:38 | info | 	Recent priority fees paid: 0.0020 - 0.0020 lamports/CU (avg: 0.0020)
    2025-05-13 06:55:38 | info | 	Base priority fee: 0.5000 lamports/CU (minimum)
    2025-05-13 06:55:38 | info | 	Sending transaction with 0.5 lamports/CU priority fee and max priority fee of 0.000100 SOL
    2025-05-13 06:55:39 | info | 	[1/10] Transaction 4UTdzHuo79vCaJUBuEvKKjfRJgj5qFyDdirFebmg3zaNkYrC1y8AdHGGYgSiS5iBkZNG8qr6SrV2u3C4TYobxSB4 confirmation status: unconfirmed
    2025-05-13 06:55:40 | info | 	[2/10] Transaction 4UTdzHuo79vCaJUBuEvKKjfRJgj5qFyDdirFebmg3zaNkYrC1y8AdHGGYgSiS5iBkZNG8qr6SrV2u3C4TYobxSB4 confirmation status: unconfirmed
    2025-05-13 06:55:41 | info | 	[3/10] Transaction 4UTdzHuo79vCaJUBuEvKKjfRJgj5qFyDdirFebmg3zaNkYrC1y8AdHGGYgSiS5iBkZNG8qr6SrV2u3C4TYobxSB4 confirmation status: unconfirmed
    2025-05-13 06:55:42 | info | 	[4/10] Transaction 4UTdzHuo79vCaJUBuEvKKjfRJgj5qFyDdirFebmg3zaNkYrC1y8AdHGGYgSiS5iBkZNG8qr6SrV2u3C4TYobxSB4 confirmation status: unconfirmed
    2025-05-13 06:55:43 | error | 	Failed to confirm transaction: Transaction failed with error: {"InstructionError":[0,{"Custom":2502}]} {}
    
  • /connectors/raydium/clmm/close-position ✅

meteora/clmm

  • pool address 2sf5NYcY4zUPXUSmG6f66mskb24t5F8S11pC1Nz5nQT3
    • position address FBPzGg7yWCoQ8YhiD5ptLoqqqchEKWAXJtF9Mgb1cGWk
  • /connectors/meteora/clmm/fetch-pools (3/3 attempt) ❌
    # gateway logs
    2025-05-13 05:32:45 | info | 	Initializing Meteora
    2025-05-13 05:32:45 | info | 	Fetching Meteora pools...
    2025-05-13 05:32:55 | error | 	Failed to fetch Meteora pools: getPools timed out {}
    
  • /connectors/meteora/clmm/pool-info ✅
  • /connectors/meteora/clmm/positions-owned ✅
  • /connectors/meteora/clmm/position-info ✅
  • /connectors/meteora/clmm/quote-swap ✅
  • /connectors/meteora/clmm/execute-swap ✅
  • /connectors/meteora/clmm/open-position ✅
  • /connectors/meteora/clmm/add-liquidity ✅
  • /connectors/meteora/clmm/remove-liquidity ✅
  • /connectors/meteora/clmm/collect-fees ✅
  • /connectors/meteora/clmm/close-position ✅

Gateway log file: 05132025.zip

rapcmia avatar May 13 '25 15:05 rapcmia

  • commit [ed4dfbe](https://github.com/hummingbot/gateway/pull/444/commits/ed4dfbe2850cfd42b3411da950eb171150cd985c) + client latest development
  • wallet/add: ok
  • using Client: gateway connect uniswap / uniswap/amm / uniswap/clmm - failed
  • http://localhost:15888/docs:
    • ethereum chain - wallet: ok - wallet/add: ok - wallet/remove: ok - chain/ethereum/status: ok - chain/ethereum/status: ok, returns address, decimals etc - chain/ethereum/balances: - mainnet: ok - base: ok - arbitrum: ok - optimism: ok - bsc: ok - avalanche: ok - chain/ethereum/poll: ok - chain/ethereum/approve: ok - chain/ethereum/allowances: ok - chain/ethereum/estimate-gas: ok - chain/ethereum/wrap: ok
        • uniswap
      • connectors/uniswap/quote-swap: ok
      • connectors/uniswap/execute-swap: transaction not found ❌https://etherscan.io/tx/0xcd3a0f557c86c516008a8b4b6b9635bd3426a8ed07ee444eb9dcd9f8d5c057f4

logs_gateway_app.log2025-05-14.log

image image

nikspz avatar May 13 '25 18:05 nikspz

  • Client [18f390c](https://github.com/hummingbot/hummingbot/pull/7612/commits/18f390cedda270f9ed6f10055456e7376af3b332) + gateway ed4dfbe
    • connected successfully uniswap, uniswap/amm, uniswap/clmm ✅

    • balances showing for connectors in uniswap, uniswap/amm, uniswap/clmm ✅

    • no autocomplete available for list of networks ❌

    • Note: not showing allowances now for gateway balance ❌

    • Client using arbitrage controller:

    • logs_arb-binance.log

    • gw444.zip

    • logs_gateway_app.log - Copy.2025-05-15.log

      • Got AttributeError: 'GatewayLp' at start ❌
      2025-05-15 12:29:39,038 - 1086 - GatewayLp - ERROR - Unexpected error while checking for network status: 'GatewayLp' object has no attribute 'update_allowances'
      Traceback (most recent call last):
        File "hummingbot/core/network_iterator.pyx", line 99, in hummingbot.core.network_iterator.NetworkIterator._check_network_loop
          await self.start_network()
        File "/home/etozhe/client-gw2.6/hummingbot/connector/gateway/gateway_base.py", line 201, in start_network
          self._get_allowances_task = safe_ensure_future(self.update_allowances())
                                                         ^^^^^^^^^^^^^^^^^^^^^^
      AttributeError: 'GatewayLp' object has no attribute 'update_allowances'. Did you mean: 'update_balances'?
      
      • When executing swap on arb controller got error ValueError: Error on POST https://localhost:15888/connectors/uniswap/amm/execute-swap Error: Error ❌
      2025-05-15 12:39:38,533 - 1232 - hummingbot.core.gateway.gateway_http_client - WARNING - Call to https://localhost:15888/connectors/uniswap/amm/execute-swap failed. See logs for more details.
      2025-05-15 12:39:38,533 - 1232 - GatewayLp - ERROR - Error submitting SELL swap order for WETH-USDC on uniswap/amm: Error on POST https://localhost:15888/connectors/uniswap/amm/execute-swap Error: Error
      Traceback (most recent call last):
        File "/home/etozhe/client-gw2.6/hummingbot/connector/gateway/gateway_swap.py", line 189, in _create_order
          order_result: Dict[str, Any] = await self._get_gateway_instance().execute_swap(
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/etozhe/client-gw2.6/hummingbot/core/gateway/gateway_http_client.py", line 540, in execute_swap
          return await self.api_request(
                 ^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/etozhe/client-gw2.6/hummingbot/core/gateway/gateway_http_client.py", line 235, in api_request
          raise e
        File "/home/etozhe/client-gw2.6/hummingbot/core/gateway/gateway_http_client.py", line 221, in api_request
          raise ValueError(f"Error on {method.upper()} {url} Error: {parsed_response['error']}")
      ValueError: Error on POST https://localhost:15888/connectors/uniswap/amm/execute-swap Error: Error
      
    • when using v1 amm_arb got and stuck on asyncio.exceptions.CancelledError also❌

    • logs_amm-arbitrum.log

    • requests on http://localhost:15888/docs:

    • /chains/ethereum/status: ok ✅

      • /chains/ethereum/tokens: ok ✅
      • /chains/ethereum/balances: ok, showing balances for tokens for different networks ✅
      • /chains/ethereum/poll: ok ✅
      • chains/ethereum/approve: ok, added allowances ✅
      • /chains/ethereum/allowances: ok ✅
      • /chains/ethereum/estimate-gas: ok ✅
      • /chains/ethereum/wrap: ok ✅
      • Uniswap v3
        • GET/connectors/uniswap/clmm/pool-info: ok ✅

        • GET/connectors/uniswap/clmm/quote-swap: Failed to execute "statusCode": 500, "Internal Server Error” "message": "An unexpected error occurred” ❌

        • **POST/connectors/uniswap/clmm/execute-swap ❌ "statusCode": 500, "error": "Internal Server Error", "message": "An unexpected error occurred"

          • 2025-05-15 05:16:01 | error | No tick data provider was given {} 2025-05-15 05:16:01 | error | Unhandled error: {"error": "Cannot read properties of undefined (reading 'internalServerError')", "url": "/connectors/uniswap/clmm/execute-swap", "params": {} }
        • POST/connectors/uniswap/clmm/open-position

          • request:

          • { "network": "arbitrum", "walletAddress": "0x08940dc9B5a19FAb9319b77C61DDA7B8067E6843", "lowerPrice": 2400, "upperPrice": 2700, "poolAddress": "0xC6962004f452bE9203591991D15f6b388e09E8D0", "baseToken": "WETH", "quoteToken": "USDC", "baseTokenAmount": 0.001, "quoteTokenAmount": 2.7, "slippagePct": 0.5, "feeTier": "LOW" }

          • Result:

            2025-05-15 05:21:04 | error |   The number 0.5 cannot be converted to BigInt because it is not an integer {}
            2025-05-15 05:21:04 | error |   Unhandled error: {
              "error": "Cannot read properties of undefined (reading 'internalServerError')",
              "url": "/connectors/uniswap/clmm/open-position",
              "params": {}
            }
            
          • changed slippage to 1

          {
            "network": "arbitrum",
            "walletAddress": "0x08940dc9B5a19FAb9319b77C61DDA7B8067E6843",
            "lowerPrice": 2400,
            "upperPrice": 2700,
            "poolAddress": "0xC6962004f452bE9203591991D15f6b388e09E8D0",
            "baseToken": "WETH",
            "quoteToken": "USDC",
            "baseTokenAmount": 0.001,
            "quoteTokenAmount": 2.7,
            "slippagePct": 1,
            "feeTier": "LOW"
          }
          
            ```jsx
            2025-05-15 05:24:21 | error |   Unexpected non-whitespace character after JSON at position 1 {}
            2025-05-15 05:24:21 | error |   Unhandled error: {
            "error": "Cannot read properties of undefined (reading 'internalServerError')",
            "url": "/connectors/uniswap/clmm/open-position",
            "params": {}
            }
            ```
          

v2: image v1: image

UX: image

nikspz avatar May 15 '25 13:05 nikspz

Is it possible to add unichain to this PR as well? the liquidity has gotten very deep for Uniswap on Unichain in the last few weeks https://app.uniswap.org/explore/tokens/unichain

susruth avatar May 17 '25 07:05 susruth

there's a lot going on in this PR with the add-back of Ethereum + Uniswap connectors and refactored tests. I'll try to add Unichain in the next release.

On Sat, May 17, 2025, 12:46 AM Nadimpalli Susruth @.***> wrote:

susruth left a comment (hummingbot/gateway#444) https://github.com/hummingbot/gateway/pull/444#issuecomment-2888195348

Is it possible to add unichain to this PR as well? the liquidity has gotten very deep for Uniswap on Unichain in the last few weeks https://app.uniswap.org/explore/tokens/unichain

— Reply to this email directly, view it on GitHub https://github.com/hummingbot/gateway/pull/444#issuecomment-2888195348, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANWHVXDSKKMBDQNBJ5HPOD263SL3AVCNFSM6AAAAAB4NWCK2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQOBYGE4TKMZUHA . You are receiving this because you authored the thread.Message ID: @.***>

fengtality avatar May 17 '25 13:05 fengtality

@nikspz latest commits to this branch + hummingbot PR should have fixed the following issues:

  • no autocomplete available for list of networks ✅
  • not showing allowances now for gateway balance ✅ (NOTE: this is now in a separate command gateway allowance)
  • Got AttributeError: 'GatewayLp' no update_allowances at start ✅

For consistency, please test using the 3 scripts (amm_price_example.py, amm_trade_example.py, clmm_manage_position.py) in the scripts folder. This will help to isolate the behavior being tested.

For amm_price, I use the config below:

script_file_name: amm_trade_example.py
connector: uniswap/amm
chain: ethereum
network: base
trading_pair: WETH-USDC
target_price: '2500'
trigger_above: false
is_buy: true
amount: '0.001'

This seems to work for me: Screenshot 2025-05-20 at 2 42 34 PM

fengtality avatar May 20 '25 18:05 fengtality

Also, the execute-swap failures may be related to node issues or something else in Gateway. Check the Gateway logs for the messages related to the swap attempt and include them here.

fengtality avatar May 20 '25 18:05 fengtality

  • Cloned and installed Client PR commit d1177dcf02f04697083c03234870b0ae739469a7

  • gateway connect uniswap: ok logs_gateway_app.log - Copy.2025-05-22.log

  • wallet

    • GET /wallet/: ok
    • POST /wallet/add: ok
    • DELETE /wallet/remove: ok
  • ethereum

    • GET /chains/ethereum/status: ok
      • mainnet: ok
      • arbitrum: ok
      • optimism: ok
      • base: ok
      • sepolia: ok
      • bsc: ok
      • avalanche: ok
      • celo: ok
      • polygon: ok
      • blast: ok
      • zora: ok
      • worldchain: ok
    • GET /chains/ethereum/tokens: ok
    • POST /chains/ethereum/balances: ok
    • POST /chains/ethereum/poll: ok
    • POST /chains/ethereum/allowances
    • POST /chains/ethereum/approve: ok
    • POST /chains/ethereum/estimate-gas: ok
    • POST /chains/ethereum/wrap: ok
  • uniswap/ammUniswap V2 pool connector (Ethereum)

    • GET/connectors/uniswap/amm/quote-swap: ok
    • POST/connectors/uniswap/amm/execute-swap: ok
    • POST/connectors/uniswap/amm/add-liquidity: Failed
      • 2025-05-22 01:20:01 | error | Unhandled error: {"error": "Cannot read properties of undefined (reading 'internalServerError')", "url": "/connectors/uniswap/amm/add-liquidity", "params": {}}
      • 2025-05-22 04:30:39 | error | replacement fee too low [ See: https://links.ethers.org/v5-errors-REPLACEMENT_UNDERPRICED ] (error={"reason":"processing response error","code":"SERVER_ERROR","body":"{"jsonrpc":"2.0","error":{"code":-32603,"message":"replacement transaction underpriced"},"id":131}\n","error":{"code":-32603},"requestBody":"{"method":"eth_sendRawTransaction","params":["0x02f90139822105798459682f00845986e686830493e0944752ba5dbc23f44d87826276bf6fd6b1c372ad248711c37937e08000b8c4f305d719000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000cc29a00000000000000000000000000000000000000000000000000000000000c609a800000000000000000000000000000000000000000000000000113b0c9f29200000000000000000000000000008940dc9b5a19fab9319b77c61dda7b8067e684300000000000000000000000000000000000000000000000000000000682f1d9cc001a03fbb35bda63ccab80b50b58cd5f196a8957c9f5d058b702e0ffe1abcd2f7dd98a0780613da6d4c64d1397b8879d400b603ae74ac16c31034b0e6e3d36bab9c85bf"],"id":131,"jsonrpc":"2.0"}","requestMethod":"POST","url":"https://mainnet.base.org/"}, method="sendTransaction", transaction="0x02f90139822105798459682f00845986e686830493e0944752ba5dbc23f44d87826276bf6fd6b1c372ad248711c37937e08000b8c4f305d719000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000cc29a00000000000000000000000000000000000000000000000000000000000c609a800000000000000000000000000000000000000000000000000113b0c9f29200000000000000000000000000008940dc9b5a19fab9319b77c61dda7b8067e684300000000000000000000000000000000000000000000000000000000682f1d9cc001a03fbb35bda63ccab80b50b58cd5f196a8957c9f5d058b702e0ffe1abcd2f7dd98a0780613da6d4c64d1397b8879d400b603ae74ac16c31034b0e6e3d36bab9c85bf", code=REPLACEMENT_UNDERPRICED, version=providers/5.8.0) { "reason": "replacement fee too low", "code": "REPLACEMENT_UNDERPRICED", "error": { "reason": "processing response error", "code": "SERVER_ERROR", "body": "{"jsonrpc":"2.0","error":{"code":-32603,"message":"replacement transaction underpriced"},"id":131}\n", "error": { "code": -32603 }, "requestBody": "{"method":"eth_sendRawTransaction","params":["0x02f90139822105798459682f00845986e686830493e0944752ba5dbc23f44d87826276bf6fd6b1c372ad248711c37937e08000b8c4f305d719000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000cc29a00000000000000000000000000000000000000000000000000000000000c609a800000000000000000000000000000000000000000000000000113b0c9f29200000000000000000000000000008940dc9b5a19fab9319b77c61dda7b8067e684300000000000000000000000000000000000000000000000000000000682f1d9cc001a03fbb35bda63ccab80b50b58cd5f196a8957c9f5d058b702e0ffe1abcd2f7dd98a0780613da6d4c64d1397b8879d400b603ae74ac16c31034b0e6e3d36bab9c85bf"],"id":131,"jsonrpc":"2.0"}", "requestMethod": "POST", "url": "https://mainnet.base.org/" }, "method": "sendTransaction", "transaction": { "type": 2, "chainId": 8453, "nonce": 121, "maxPriorityFeePerGas": { "type": "BigNumber", "hex": "0x59682f00" }, "maxFeePerGas": { "type": "BigNumber", "hex": "0x5986e686" }, "gasPrice": null, "gasLimit": { "type": "BigNumber", "hex": "0x0493e0" }, "to": "0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24", "value": { "type": "BigNumber", "hex": "0x11c37937e08000" }, "data": "0xf305d719000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000cc29a00000000000000000000000000000000000000000000000000000000000c609a800000000000000000000000000000000000000000000000000113b0c9f29200000000000000000000000000008940dc9b5a19fab9319b77c61dda7b8067e684300000000000000000000000000000000000000000000000000000000682f1d9c", "accessList": [], "hash": "0xb8eb5741c57808666ff11455b8a12e67e96d1deaab71ee47ca90dafc1ed9a6bb", "v": 1, "r": "0x3fbb35bda63ccab80b50b58cd5f196a8957c9f5d058b702e0ffe1abcd2f7dd98", "s": "0x780613da6d4c64d1397b8879d400b603ae74ac16c31034b0e6e3d36bab9c85bf", "from": "0x08940dc9B5a19FAb9319b77C61DDA7B8067E6843", "confirmations": 0 }, "transactionHash": "0xb8eb5741c57808666ff11455b8a12e67e96d1deaab71ee47ca90dafc1ed9a6bb" } | Error: replacement fee too low [ See: https://links.ethers.org/v5-errors-REPLACEMENT_UNDERPRICED ] (error={"reason":"processing response error","code":"SERVER_ERROR","body":"{"jsonrpc":"2.0","error":{"code":-32603,"message":"replacement transaction underpriced"},"id":131}\n","error":{"code":-32603},"requestBody":"{"method":"eth_sendRawTransaction","params":["0x02f90139822105798459682f00845986e686830493e0944752ba5dbc23f44d87826276bf6fd6b1c372ad248711c37937e08000b8c4f305d719000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000cc29a00000000000000000000000000000000000000000000000000000000000c609a800000000000000000000000000000000000000000000000000113b0c9f29200000000000000000000000000008940dc9b5a19fab9319b77c61dda7b8067e684300000000000000000000000000000000000000000000000000000000682f1d9cc001a03fbb35bda63ccab80b50b58cd5f196a8957c9f5d058b702e0ffe1abcd2f7dd98a0780613da6d4c64d1397b8879d400b603ae74ac16c31034b0e6e3d36bab9c85bf"],"id":131,"jsonrpc":"2.0"}","requestMethod":"POST","url":"https://mainnet.base.org/"}, method="sendTransaction", transaction="0x02f90139822105798459682f00845986e686830493e0944752ba5dbc23f44d87826276bf6fd6b1c372ad248711c37937e08000b8c4f305d719000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda029130000000000000000000000000000000000000000000000000000000000cc29a00000000000000000000000000000000000000000000000000000000000c609a800000000000000000000000000000000000000000000000000113b0c9f29200000000000000000000000000008940dc9b5a19fab9319b77c61dda7b8067e684300000000000000000000000000000000000000000000000000000000682f1d9cc001a03fbb35bda63ccab80b50b58cd5f196a8957c9f5d058b702e0ffe1abcd2f7dd98a0780613da6d4c64d1397b8879d400b603ae74ac16c31034b0e6e3d36bab9c85bf", code=REPLACEMENT_UNDERPRICED, version=providers/5.8.0) at Logger.makeError (/home/etozhe/gw2.6/node_modules/.pnpm/@[email protected]/node_modules/@ethersproject/logger/lib/index.js:238:21) at Logger.throwError (/home/etozhe/gw2.6/node_modules/.pnpm/@[email protected]/node_modules/@ethersproject/logger/lib/index.js:247:20) at checkError (/home/etozhe/gw2.6/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:160:16) at StaticJsonRpcProvider. (/home/etozhe/gw2.6/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:751:47) at step (/home/etozhe/gw2.6/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:48:23) at Object.throw (/home/etozhe/gw2.6/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:29:53) at rejected (/home/etozhe/gw2.6/node_modules/.pnpm/@[email protected][email protected][email protected]/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:21:65) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) 2025-05-22 04:30:39 | error | Unhandled error: { "error": "Cannot read properties of undefined (reading 'internalServerError')", "url": "/connectors/uniswap/amm/add-liquidity", "params": {} } | TypeError: Cannot read properties of undefined (reading 'internalServerError') at Object. (/home/etozhe/gw2.6/dist/connectors/uniswap/amm-routes/addLiquidity.js:225:38) at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    • Added position manually
      • https://basescan.org/tx/0x52004207ab378642ae6783e9a196343d42de04fd1445b6edba1f7961e5b85dd1
    • GET/connectors/uniswap/amm/pool-info: ok
    • POST/connectors/uniswap/amm/remove-liquidity: Failed

    • GET/connectors/uniswap/amm/position-info: ok
    • GET/connectors/uniswap/amm/quote-liquidity: Failed
  • uniswap/clmmUniswap V3 pool connector (Ethereum)

    • GET/connectors/uniswap/clmm/pool-info: ok
    • GET/connectors/uniswap/clmm/quote-swap: ok
    • POST/connectors/uniswap/clmm/execute-swap - Failed
      • 2025-05-22 05:33:58 | error | Swap execution error: transaction failed [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ] (transactionHash="0xba85d65d22b97c670c0f981ad2528c92654370898e51a2bae6ba0f10cb781245", transaction={"type":2,"chainId":8453,"nonce":132,"maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x59682f00"},"maxFeePerGas":{"type":"BigNumber","hex":"0x599aab38"},"gasPrice":null,"gasLimit":{"type":"BigNumber","hex":"0x055730"},"to":"0x2626664c2603336E57B271c5C0b26F421741e481","value":{"type":"BigNumber","hex":"0x00"},"data":"0x414bf3890000000000000000000000004200000000000000000000000000000000000006000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000008940dc9b5a19fab9319b77c61dda7b8067e684300000000000000000000000000000000000000000000000000000000682f2c6f00000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000000000000000000000000000000000000000280d260000000000000000000000000000000000000000000000000000000000000000","accessList":[],"hash":"0xba85d65d22b97c670c0f981ad2528c92654370898e51a2bae6ba0f10cb781245","v":1,"r":"0x484c9613d9f90cad45a933ce5425e68ac54dca721f5d57766daffa4f8512a96e","s":"0x00da3b7c4294a198fc66be8cde41fca417ed54aa6cc257385e65fadbec0c4fa1","from":"0x08940dc9B5a19FAb9319b77C61DDA7B8067E6843","confirmations":0}, receipt={"to":"0x2626664c2603336E57B271c5C0b26F421741e481","from":"0x08940dc9B5a19FAb9319b77C61DDA7B8067E6843","contractAddress":null,"transactionIndex":1,"gasUsed":{"type":"BigNumber","hex":"0x6356"},"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","blockHash":"0xbeb48bbdd0ec0cdb12e28019817dad6fd909651f4ebba6fd8cb4094779696558","transactionHash":"0xba85d65d22b97c670c0f981ad2528c92654370898e51a2bae6ba0f10cb781245","logs":[],"blockNumber":30565744,"confirmations":2,"cumulativeGasUsed":{"type":"BigNumber","hex":"0x011796"},"effectiveGasPrice":{"type":"BigNumber","hex":"0x59817668"},"status":0,"type":2,"byzantium":true}, code=CALL_EXCEPTION, version=providers/5.8.0) 2025-05-22 05:33:58 | error | Failed to execute swap: transaction failed {} 2025-05-22 05:33:58 | error | Unhandled error: { "error": "Cannot read properties of undefined (reading 'internalServerError')", "url": "/connectors/uniswap/clmm/execute-swap", "params": {} }
    • Created position manually
    • GET/connectors/uniswap/clmm/position-info: ok
    • GET/connectors/uniswap/clmm/positions-owned: ok
    • POST/connectors/uniswap/clmm/open-position
    • POST/connectors/uniswap/clmm/add-liquidity
      • 2025-05-22 05:31:51 | error | Unhandled error: { "error": "Cannot read properties of undefined (reading 'internalServerError')", "url": "/connectors/uniswap/amm/add-liquidity", "params": {} }
    • POST/connectors/uniswap/clmm/remove-liquidity - Failed Internal Server Error
    • POST/connectors/uniswap/clmm/collect-fees - Failed Internal Server Error
    • POST/connectors/uniswap/clmm/close-position - Failed Internal Server Error

nikspz avatar May 22 '25 13:05 nikspz

[heart] Susruth Nadimpalli reacted to your message:


From: Michael Feng @.> Sent: Saturday, May 17, 2025 1:17:52 PM To: hummingbot/gateway @.> Cc: Susruth Nadimpalli @.>; Comment @.> Subject: Re: [hummingbot/gateway] Gateway v2.6 updates (PR #444)

[https://avatars.githubusercontent.com/u/1795030?s=20&v=4]fengtality left a comment (hummingbot/gateway#444)https://github.com/hummingbot/gateway/pull/444#issuecomment-2888387784 there's a lot going on in this PR with the add-back of Ethereum + Uniswap
connectors and refactored tests. I'll try to add Unichain in the next
release.

On Sat, May 17, 2025, 12:46 AM Nadimpalli Susruth @.>
wrote:

> susruth left a comment (hummingbot/gateway#444)
> <https://github.com/hummingbot/gateway/pull/444#issuecomment-2888195348>
>
> Is it possible to add unichain to this PR as well? the liquidity has
> gotten very deep for Uniswap on Unichain in the last few weeks
> https://app.uniswap.org/explore/tokens/unichain
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/hummingbot/gateway/pull/444#issuecomment-2888195348>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AANWHVXDSKKMBDQNBJ5HPOD263SL3AVCNFSM6AAAAAB4NWCK2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQOBYGE4TKMZUHA>
> .
> You are receiving this because you authored the thread.Message ID:
> @.
>
>

— Reply to this email directly, view it on GitHubhttps://github.com/hummingbot/gateway/pull/444#issuecomment-2888387784, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADSLWO7PTKT36OSGUS57LLT264ZIBAVCNFSM6AAAAAB4NWCK2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQOBYGM4DONZYGQ. You are receiving this because you commented.Message ID: @.***>

susruth avatar May 23 '25 01:05 susruth

  • Cloned and installed commit [59de20b](https://github.com/hummingbot/gateway/pull/444/commits/59de20b572ae1215c4975a813561063575a047b4) + Client https://github.com/hummingbot/hummingbot/pull/7612

  • amm_arb v1

    • after start of the strategy Unexpected error while checking for network status: 'GatewayLp' object has no attribute 'update_allowances' Traceback (most recent call last): logs_conf_amm_arb_1.log
    2025-05-23 15:13:23,207 - 1046 - hummingbot.client.hummingbot_application - INFO - start command initiated.
    2025-05-23 15:13:23,209 - 1046 - hummingbot.core.network_iterator - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
    2025-05-23 15:13:23,212 - 1046 - GatewayLp - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
    2025-05-23 15:13:23,212 - 1046 - GatewayLp - ERROR - Unexpected error while checking for network status: 'GatewayLp' object has no attribute 'update_allowances'
    Traceback (most recent call last):
      File "hummingbot/core/network_iterator.pyx", line 99, in hummingbot.core.network_iterator.NetworkIterator._check_network_loop
        await self.start_network()
      File "/home/etozhe/clientgw2.6/hummingbot/connector/gateway/gateway_base.py", line 201, in start_network
        self._get_allowances_task = safe_ensure_future(self.update_allowances())
                                                       ^^^^^^^^^^^^^^^^^^^^^^
    AttributeError: 'GatewayLp' object has no attribute 'update_allowances'. Did you mean: 'update_balances'?
    2025-05-23 15:13:24,319 - 1046 - hummingbot.connector.exchange.binance.binance_api_order_book_data_source.BinanceAPIOrderBookDataSource - INFO - Subscribed to public order book and trade channels...
    2025-05-23 15:13:24,330 - 1046 - hummingbot.core.data_type.order_book_tracker - INFO - Initialized order book for ETH-USDC. 1/1 completed.
    2025-05-23 15:13:28,000 - 1046 - hummingbot.strategy.amm_arb.amm_arb - INFO - Markets are ready. Trading started.
    2025-05-23 15:13:28,501 - 1046 - hummingbot.core.rate_oracle.rate_oracle - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
    2025-05-23 15:13:30,376 - 1046 - hummingbot.strategy.amm_arb.amm_arb - INFO - Found arbitrage opportunity!: First Side - Connector: uniswap/amm_ethereum_arbitrum  Side: buy  Quote Price: 0.0003739620682794903  Order Price: 0.000377701688962  Amount: 0.002000  Extra Fees: [TokenAmount(token='ETH', amount=Decimal('0.00003000000000000000076002572291233860823922441340982913970947265625'))]
    Second Side - Connector: binance_PaperTrade  Side: sell  Quote Price: 2658.3  Order Price: 2658.3000000000  Amount: 0.0020000  Extra Fees: []
    2025-05-23 15:13:30,377 - 1046 - hummingbot.strategy.amm_arb.amm_arb - INFO - Placing BUY order for 0.002000 WETH at uniswap/amm_ethereum_arbitrum at 0.000377701688962 price [clock=2025-05-23 08:13:30+00:00]
    2025-05-23 15:13:32,774 - 1046 - hummingbot.core.gateway.gateway_http_client - WARNING - Call to https://localhost:15888/connectors/uniswap/amm/execute-swap failed. See logs for more details.
    2025-05-23 15:13:32,774 - 1046 - GatewayLp - ERROR - Error submitting BUY swap order for WETH-USDC on uniswap/amm: Error on POST https://localhost:15888/connectors/uniswap/amm/execute-swap Error: InternalServerError
    Traceback (most recent call last):
      File "/home/etozhe/clientgw2.6/hummingbot/connector/gateway/gateway_swap.py", line 189, in _create_order
        order_result: Dict[str, Any] = await self._get_gateway_instance().execute_swap(
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/etozhe/clientgw2.6/hummingbot/core/gateway/gateway_http_client.py", line 540, in execute_swap
        return await self.api_request(
               ^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/etozhe/clientgw2.6/hummingbot/core/gateway/gateway_http_client.py", line 235, in api_request
        raise e
      File "/home/etozhe/clientgw2.6/hummingbot/core/gateway/gateway_http_client.py", line 221, in api_request
        raise ValueError(f"Error on {method.upper()} {url} Error: {parsed_response['error']}")
    ValueError: Error on POST https://localhost:15888/connectors/uniswap/amm/execute-swap Error: InternalServerError
    
  • arb script v2

    • got same error on GatewayLp - ERROR - Unexpected error while checking for network status: 'GatewayLp' object has no attribute 'update_allowances'
    • for some reason Client also think I need 5.68 of WETH

logs_arb-binance2.log

2025-05-23 16:06:46,327 - 1162 - hummingbot.client.hummingbot_application - INFO - start command initiated.
2025-05-23 16:06:46,382 - 1162 - GatewayLp - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
2025-05-23 16:06:46,383 - 1162 - GatewayLp - ERROR - Unexpected error while checking for network status: 'GatewayLp' object has no attribute 'update_allowances'
Traceback (most recent call last):
  File "hummingbot/core/network_iterator.pyx", line 99, in hummingbot.core.network_iterator.NetworkIterator._check_network_loop
    await self.start_network()
  File "/home/etozhe/clientgw2.6/hummingbot/connector/gateway/gateway_base.py", line 201, in start_network
    self._get_allowances_task = safe_ensure_future(self.update_allowances())
                                                   ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'GatewayLp' object has no attribute 'update_allowances'. Did you mean: 'update_balances'?
2025-05-23 16:06:46,766 - 1162 - hummingbot.connector.exchange.binance.binance_exchange.BinanceExchange - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
2025-05-23 16:06:46,770 - 1162 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Starting listen key management task...
2025-05-23 16:06:47,006 - 1162 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:06:47,006 - 1162 - hummingbot.strategy.script_strategy_base - WARNING - binance is not ready. Please wait...
2025-05-23 16:06:47,061 - 1162 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Successfully obtained listen key J2Y6nmSjmKr9FSyTNxxeM1Dgzmo5dGKncyWcTp6CxfqaBmSBuLt5M2F2nt70
2025-05-23 16:06:47,061 - 1162 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Connecting to user stream with listen key J2Y6nmSjmKr9FSyTNxxeM1Dgzmo5dGKncyWcTp6CxfqaBmSBuLt5M2F2nt70
2025-05-23 16:06:47,585 - 1162 - hummingbot.connector.exchange.binance.binance_api_order_book_data_source.BinanceAPIOrderBookDataSource - INFO - Subscribed to public order book and trade channels...
2025-05-23 16:06:47,589 - 1162 - hummingbot.core.data_type.order_book_tracker - INFO - Initialized order book for ETH-USDC. 1/1 completed.
2025-05-23 16:06:47,822 - 1162 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Successfully connected to user stream
2025-05-23 16:06:48,001 - 1162 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:06:48,001 - 1162 - hummingbot.strategy.script_strategy_base - WARNING - binance is not ready. Please wait...
2025-05-23 16:06:49,000 - 1162 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:06:50,000 - 1162 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:06:51,000 - 1162 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:06:52,001 - 1162 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:06:52,368 - 1162 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - INFO - Insufficient balance in exchange binance to sell ETH Actual: 0.01859293 --> Needed: 28438.038430
2025-05-23 16:06:52,368 - 1162 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - ERROR - Not enough budget to open position.
2025-05-23 16:06:52,368 - 1162 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - INFO - Insufficient balance in exchange uniswap/amm_ethereum_arbitrum to sell WETH Actual: 0.009629826463986035 --> Needed: 28438.03840000
2025-05-23 16:06:52,369 - 1162 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - ERROR - Not enough budget to open position.
2025-05-23 16:06:53,206 - 1162 - hummingbot.core.rate_oracle.rate_oracle - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
2025-05-23 16:07:02,380 - 1162 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - INFO - Insufficient balance in exchange binance to sell ETH Actual: 0.01859293 --> Needed: 28438.038430
2025-05-23 16:07:02,381 - 1162 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - ERROR - Not enough budget to open position.
2025-05-23 16:07:02,381 - 1162 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - INFO - Insufficient balance in exchange uniswap/amm_ethereum_arbitrum to sell WETH Actual: 0.009629826463986035 --> Needed: 28438.03840000
2025-05-23 16:07:02,381 - 1162 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - ERROR - Not enough budget to open position.
2025-05-23 16:07:04,791 - 1162 - hummingbot.client.hummingbot_application - INFO - stop command initiated.
2025-05-23 16:07:07,050 - 1162 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - User stream interrupted. Cleaning up...
2025-05-23 16:07:07,206 - 1162 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Successfully obtained listen key J2Y6nmSjmKr9FSyTNxxeM1Dgzmo5dGKncyWcTp6CxfqaBmSBuLt5M2F2nt70
2025-05-23 16:08:07,846 - 1162 - hummingbot.client.hummingbot_application - ERROR - MQTT is already stopped!
2025-05-23 16:12:45,007 - 1201 - hummingbot.client.hummingbot_application - INFO - Creating the clock with tick size: 1.0
2025-05-23 16:12:45,012 - 1201 - hummingbot.client.hummingbot_application - INFO - start command initiated.
2025-05-23 16:12:45,085 - 1201 - GatewayLp - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
2025-05-23 16:12:45,085 - 1201 - GatewayLp - ERROR - Unexpected error while checking for network status: 'GatewayLp' object has no attribute 'update_allowances'
Traceback (most recent call last):
  File "hummingbot/core/network_iterator.pyx", line 99, in hummingbot.core.network_iterator.NetworkIterator._check_network_loop
    await self.start_network()
  File "/home/etozhe/clientgw2.6/hummingbot/connector/gateway/gateway_base.py", line 201, in start_network
    self._get_allowances_task = safe_ensure_future(self.update_allowances())
                                                   ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'GatewayLp' object has no attribute 'update_allowances'. Did you mean: 'update_balances'?
2025-05-23 16:12:45,306 - 1201 - hummingbot.connector.exchange.binance.binance_exchange.BinanceExchange - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
2025-05-23 16:12:45,315 - 1201 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Starting listen key management task...
2025-05-23 16:12:45,569 - 1201 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Successfully obtained listen key J2Y6nmSjmKr9FSyTNxxeM1Dgzmo5dGKncyWcTp6CxfqaBmSBuLt5M2F2nt70
2025-05-23 16:12:45,570 - 1201 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Connecting to user stream with listen key J2Y6nmSjmKr9FSyTNxxeM1Dgzmo5dGKncyWcTp6CxfqaBmSBuLt5M2F2nt70
2025-05-23 16:12:46,145 - 1201 - hummingbot.core.data_type.order_book_tracker - INFO - Initialized order book for ETH-USDC. 1/1 completed.
2025-05-23 16:12:46,145 - 1201 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:12:46,145 - 1201 - hummingbot.strategy.script_strategy_base - WARNING - binance is not ready. Please wait...
2025-05-23 16:12:46,262 - 1201 - hummingbot.connector.exchange.binance.binance_api_order_book_data_source.BinanceAPIOrderBookDataSource - INFO - Subscribed to public order book and trade channels...
2025-05-23 16:12:46,492 - 1201 - hummingbot.connector.exchange.binance.binance_api_user_stream_data_source.BinanceAPIUserStreamDataSource - INFO - Successfully connected to user stream
2025-05-23 16:12:47,001 - 1201 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:12:47,001 - 1201 - hummingbot.strategy.script_strategy_base - WARNING - binance is not ready. Please wait...
2025-05-23 16:12:48,001 - 1201 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:12:49,001 - 1201 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:12:50,001 - 1201 - hummingbot.strategy.script_strategy_base - WARNING - uniswap/amm_ethereum_arbitrum is not ready. Please wait...
2025-05-23 16:12:51,027 - 1201 - hummingbot.core.rate_oracle.rate_oracle - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
2025-05-23 16:12:51,152 - 1201 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - INFO - Insufficient balance in exchange binance to sell ETH Actual: 0.01859293 --> Needed: 5.688878
2025-05-23 16:12:51,152 - 1201 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - ERROR - Not enough budget to open position.
2025-05-23 16:12:51,152 - 1201 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - INFO - Insufficient balance in exchange uniswap/amm_ethereum_arbitrum to sell WETH Actual: 0.009629826463986035 --> Needed: 5.68880000
2025-05-23 16:12:51,152 - 1201 - hummingbot.strategy_v2.executors.arbitrage_executor.arbitrage_executor - ERROR - Not enough budget to open position.
2025-05-23 16:13:45,096 - 1201 - GatewayLp - ERROR - Unexpected error while checking for network status: 'GatewayLp' object has no attribute 'update_allowances'
Traceback (most recent call last):
  File "hummingbot/core/network_iterator.pyx", line 99, in hummingbot.core.network_iterator.NetworkIterator._check_network_loop
    await self.start_network()
  File "/home/etozhe/clientgw2.6/hummingbot/connector/gateway/gateway_base.py", line 201, in start_network
    self._get_allowances_task = safe_ensure_future(self.update_allowances())
                                                   ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'GatewayLp' object has no attribute 'update_allowances'. Did you mean: 'update_balances'?

first one total_amount_quote: '10' image

second - total_amount_quote: '0.002'

image

nikspz avatar May 23 '25 09:05 nikspz

@nikspz I fixed the update_allowances issue. I will check how uniswap/amm performs balance checks later.

fengtality avatar May 23 '25 13:05 fengtality

@nikspz please upload your arbitrage controller config file. I ran using the config below and it seemed to work without the balance issue:

id: 5u2qYCu48UC4WG3QZSqfqAXrm16XMTRCcwPNPj7ePzYU
controller_name: arbitrage_controller
controller_type: generic
total_amount_quote: '3'
manual_kill_switch: false
candles_config: []
exchange_pair_1:
  connector_name: okx
  trading_pair: ETH-USDT
exchange_pair_2:
  connector_name: uniswap/amm_ethereum_base
  trading_pair: WETH-USDC
min_profitability: '0.01'
delay_between_executors: 10
max_executors_imbalance: 1
rate_connector: okx
quote_conversion_asset: USDT

fengtality avatar May 23 '25 14:05 fengtality

id: 5u2qYCu48UC4WG3QZSqfqAXrm16XMTRCcwPNPj7ePzYU
controller_name: arbitrage_controller
controller_type: generic
total_amount_quote: '3'
manual_kill_switch: false
candles_config: []
exchange_pair_1:
  connector_name: okx
  trading_pair: ETH-USDT
exchange_pair_2:
  connector_name: uniswap/amm_ethereum_base
  trading_pair: WETH-USDC
min_profitability: '0.01'
delay_between_executors: 10
max_executors_imbalance: 1
rate_connector: okx
quote_conversion_asset: USDT

Restarted with this config using binance: I have issue when successful uniswap/amm_ethereum_base not recorded as filled arb2base.zip logs_arb2base.log

Restarted using infura node still not going

2605.zip logs_gateway_app.log.2025-05-26.zip

failed to approve using client ❌

image image

Also noticed minor issue when you restart gateway and Client image

Manually using http://localhost:15888/docs: POST /connectors/uniswap/amm/execute-swap Sell✅

nikspz avatar May 26 '25 10:05 nikspz