We've encountered several errors that are likely related to the RPC node and possibly the vault contract itself. Here's a summary of the observed issues: 1. **Gas Estimation Failure:** * The primary error is related to gas estimation. We are seeing the following error in the browser's console: * `ContractFunctionExecutionError: RPC Request failed. Details: the method eth_estimateGas does not exist/is not available` * This indicates that the RPC node being used by the Steer frontend is not supporting the necessary `eth_estimateGas` method, which is essential for estimating transaction gas costs. * This error is preventing withdrawals. * Steer is using the following RPC node (as reported in the errors): `https://evmos.drpc.org` 2. **CORS Error:** * We're also seeing a CORS (Cross-Origin Resource Sharing) error: * `Access to fetch at 'https://evmos.api.onfinality.io/public' from origin 'https://app.steer.finance' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains the invalid value 'api.onfinality.io'.` * This means that the Steer website is unable to fetch data from the `https://evmos.api.onfinality.io/public` API endpoint because the server is not configured to allow requests from `app.steer.finance`. 3. **Contract Function Reverted:** * In addition to the above errors, the `vaultDetailsByAddress` function call is reverting, which is indicative of a problem on your side. **Action Requested:** 1. **Address the `eth_estimateGas` Error:** This is the most critical issue. Please investigate the RPC node being used and ensure it supports the `eth_estimateGas` method. If the current node does not support it, please switch to a different RPC node that does. 2. **Fix the CORS Issue:** Please correct the `Access-Control-Allow-Origin` header on the `https://evmos.api.onfinality.io/public` endpoint to allow requests from `https://app.steer.finance`. 3. **Investigate the Reverted Function:** Please have a look at the `vaultDetailsByAddress` function failure. --- **Steer Vault Address:** 0xb41f09baac835f52d408fe83989f9ac8938c01fa https://app.steer.finance/vault/0xb41f09baac835f52d408fe83989f9ac8938c01fa **token 0 (USDT):** 0xB8f812B5943ab3BF941D5D4F1de90A4b326c5d8f **token 1 (USDC):** 0xf1faE9eC886C5F6E4ea13dA2456087Bd72F02cD1 *OpenScan Explorer is spotty, it misses some transactions.* **User's main account:** https://evmos.openscan.ai/address/0xef06ee12a0295ad6f4951f25c971325d785747a4 **User's safe account:** https://evmos.openscan.ai/address/0x88054307c1106c4b875fe8edee0777714686bec6 https://safe.evmos.org/transactions/history?safe=evmos:0x88054307c1106c4b875fe8edee0777714686bec6 ---- On the Steer site, when I try to withdraw, in the console I get these errors: ``` 7864-b2df6a3bb9d8b3a3.js:1 Error on withdraw Error: Disable simulation at C (page-72059307799ed6bd.js:1:57410) at 3917-6633f3a4937d8cf7.js:14:42090 window.console.error @ 7864-b2df6a3bb9d8b3a3.js:1 C @ page-72059307799ed6bd.js:1 (anonymous) @ 3917-6633f3a4937d8cf7.js:14 await in (anonymous) l5 @ fd9d1056-af984b1f93544fa3.js:9 ar @ fd9d1056-af984b1f93544fa3.js:9 (anonymous) @ fd9d1056-af984b1f93544fa3.js:9 u2 @ fd9d1056-af984b1f93544fa3.js:9 u3 @ fd9d1056-af984b1f93544fa3.js:9 (anonymous) @ fd9d1056-af984b1f93544fa3.js:9 iE @ fd9d1056-af984b1f93544fa3.js:9 ol @ fd9d1056-af984b1f93544fa3.js:9 u9 @ fd9d1056-af984b1f93544fa3.js:9 o6 @ fd9d1056-af984b1f93544fa3.js:9 o4 @ fd9d1056-af984b1f93544fa3.js:9 ``` ``` Access to fetch at 'https://evmos.api.onfinality.io/public' from origin 'https://app.steer.finance' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains the invalid value 'api.onfinality.io'. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. 2323-2f8e4b871b3b3304.js:1276 ``` `POST https://evmos.api.onfinality.io/public net::ERR_FAILED` ``` 3211-b62c38da39bd9b8b.js:37 Uncaught (in promise) ContractFunctionExecutionError: RPC Request failed. URL: https://evmos.drpc.org Request body: {"method":"eth_estimateGas","params":[{"data":"0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c","from":"0x6620338b2d4C72ad3446176E15223C3D38562b5C","to":"0xb41f09baac835f52d408fe83989f9ac8938c01fa"}]} Estimate Gas Arguments: from: 0x6620338b2d4C72ad3446176E15223C3D38562b5C to: 0xb41f09baac835f52d408fe83989f9ac8938c01fa data: 0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c Contract Call: address: 0xb41f09baac835f52d408fe83989f9ac8938c01fa function: withdraw(uint256 shares, uint256 amount0Min, uint256 amount1Min, address to) args: (2467500, 0, 0, 0x6620338b2d4C72ad3446176E15223C3D38562b5C) sender: 0x6620338b2d4C72ad3446176E15223C3D38562b5C Docs: https://viem.sh/docs/contract/estimateContractGas Details: the method eth_estimateGas does not exist/is not available Version: viem@2.16.1 at s (3211-b62c38da39bd9b8b.js:37:14844) at M (2323-2f8e4b871b3b3304.js:1276:190880) at async C (page-72059307799ed6bd.js:1:57598) at async 3917-6633f3a4937d8cf7.js:14:42084 Caused by: EstimateGasExecutionError: RPC Request failed. URL: https://evmos.drpc.org Request body: {"method":"eth_estimateGas","params":[{"data":"0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c","from":"0x6620338b2d4C72ad3446176E15223C3D38562b5C","to":"0xb41f09baac835f52d408fe83989f9ac8938c01fa"}]} Estimate Gas Arguments: from: 0x6620338b2d4C72ad3446176E15223C3D38562b5C to: 0xb41f09baac835f52d408fe83989f9ac8938c01fa data: 0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c Details: the method eth_estimateGas does not exist/is not available Version: viem@2.16.1 at 3211-b62c38da39bd9b8b.js:16:60547 at y (3211-b62c38da39bd9b8b.js:16:60574) at async M (2323-2f8e4b871b3b3304.js:1276:190753) at async C (page-72059307799ed6bd.js:1:57598) at async 3917-6633f3a4937d8cf7.js:14:42084 Caused by: RpcRequestError: RPC Request failed. URL: https://evmos.drpc.org Request body: {"method":"eth_estimateGas","params":[{"data":"0xd331bef7000000000000000000000000000000000000000000000000000000000025a6ac000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c","from":"0x6620338b2d4C72ad3446176E15223C3D38562b5C","to":"0xb41f09baac835f52d408fe83989f9ac8938c01fa"}]} Details: the method eth_estimateGas does not exist/is not available Version: viem@2.16.1 at request (2323-2f8e4b871b3b3304.js:1276:143212) at async delay.count (3211-b62c38da39bd9b8b.js:16:73697) at async s (3211-b62c38da39bd9b8b.js:37:20096) 26829-6d1c7fb750728508.js:1 ContractFunctionExecutionError: The contract function "vaultDetailsByAddress" reverted. Contract Call: address: 0x1afD31627170607657224eD4aE701470209C4B2e function: vaultDetailsByAddress(address vault) args: (0xb41f09baac835f52d408fe83989f9ac8938c01fa) Docs: https://viem.sh/docs/contract/readContract Version: viem@2.16.1 at s (3211-b62c38da39bd9b8b.js:37:14844) at c (3211-b62c38da39bd9b8b.js:16:64946) at async queryFn (6829-6d1c7fb750728508.js:1:83967)Caused by: ContractFunctionRevertedError: The contract function "vaultDetailsByAddress" reverted. Version: viem@2.16.1 at s (3211-b62c38da39bd9b8b.js:37:14756) at c (3211-b62c38da39bd9b8b.js:16:64946) at async queryFn (6829-6d1c7fb750728508.js:1:83967) 'Error on simulateContract' ``` **1. Withdrawal Errors on Steer's Webpage** * **"Disable simulation" Error:** * **Error:** `Error on withdraw Error: Disable simulation` * **Meaning:** This suggests that Steer's website has a mechanism to simulate transactions (to estimate gas costs, etc.) and that this simulation is being disabled. This is not a fatal error, but it might indicate that the website is not able to fully estimate the gas costs for the withdrawal. It's a warning, not a direct cause of the failure. * **CORS Policy Error:** * **Error:** `Access to fetch at 'https://evmos.api.onfinality.io/public' from origin 'https://app.steer.finance' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains the invalid value 'api.onfinality.io'.` * **Meaning:** This is a *CORS (Cross-Origin Resource Sharing)* error. It means that the Steer website (running from `https://app.steer.finance`) is trying to make a request to `https://evmos.api.onfinality.io/public`, but the server at `evmos.api.onfinality.io` is not configured to allow requests from `app.steer.finance`. * **Cause:** This CORS error is a *server-side* issue. The server at `evmos.api.onfinality.io` needs to be configured to include the correct `Access-Control-Allow-Origin` header in its responses. In this case, it seems the header is set to `api.onfinality.io`, which is not correct. It should allow origin `app.steer.finance`. * **Impact:** This CORS error can prevent the Steer website from fetching data from `evmos.api.onfinality.io`. This could affect the withdrawal process if the website needs to fetch data from that API. * **`eth_estimateGas` Error:** * **Error:** `Uncaught (in promise) ContractFunctionExecutionError: RPC Request failed.` followed by `Details: the method eth_estimateGas does not exist/is not available` * **Meaning:** This is a critical error! The website is trying to estimate the gas cost for the withdrawal transaction by calling the `eth_estimateGas` method on an RPC (Remote Procedure Call) node. However, the RPC node at `https://evmos.drpc.org` is reporting that the `eth_estimateGas` method is *not available*. * **Cause:** This is a problem with the RPC node that Steer's website is using. It indicates that the RPC node either: * Does not support the `eth_estimateGas` method. * Is not correctly configured to handle gas estimation requests. * **Impact:** The website *cannot* estimate the gas cost for the withdrawal, which is a crucial step before submitting the transaction. This is a *major* problem. * **`vaultDetailsByAddress` Reverted:** * **Error:** `ContractFunctionExecutionError: The contract function "vaultDetailsByAddress" reverted.` * **Meaning:** This is the most direct indication of a problem. The website is trying to call the `vaultDetailsByAddress` function on a contract and it's reverting. Reverting means the function call failed. * **Cause:** The `vaultDetailsByAddress` function is failing. The error suggests that something is wrong with the vault contract, the arguments being passed, or the state of the blockchain. * **Impact:** Prevents the function from being called successfully. **2. Recommendations** * **CORS Error:** The CORS error needs to be fixed on the `evmos.api.onfinality.io` server. Contact the Steer team to report this. * **`eth_estimateGas` Error:** This is the *most critical* issue. Report this to Steer. They need to switch to an RPC node that supports the `eth_estimateGas` method, or they need to find a workaround. This is likely the reason why your withdrawals are not working. --- **Interface Link and Console Details** * I have created a withdrawal interface that demonstrates the issue. You can access it here: https://poetic-zuccutto-c18b26.netlify.app * Here is the relevant console output from my interface when attempting a withdrawal. I am using the RPC node from https://evmos.lava.build ``` inpage.js:1 MetaMask - RPC Error: Internal JSON-RPC error. {code: -32603, message: 'Internal JSON-RPC error.', data: {…}, stack: '{\n "code": -32603,\n "message": "Internal JSON-RP…ihfbeogaeaoehlefnkodbefgpgknn/common-1.js:1:21552'} code : -32603 data : {code: 3, message: 'execution reverted: TF', data: '0x08c379a00000000000000000000000000000000000000000…0000000000000000000000000000000000000000000000000', cause: null} message : "Internal JSON-RPC error." stack : "{\n \"code\": -32603,\n \"message\": \"Internal JSON-RPC error.\",\n \"data\": {\n \"code\": 3,\n \"message\": \"execution reverted: TF\",\n \"data\": \"0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000025446000000000000000000000000000000000000000000000000000000000000\",\n \"cause\": null\n },\n \"stack\": \"Error: Internal JSON-RPC error.\\n at new o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:173863)\\n at i (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:176954)\\n at Object.internal (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:177563)\\n at c (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-0.js:1:474067)\\n at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-0.js:1:475069\\n at async chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-1.js:1:21552\"\n}\n at new o (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:173863)\n at i (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:176954)\n at Object.internal (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-2.js:1:177563)\n at c (chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-0.js:1:474067)\n at chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-0.js:1:475069\n at async chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/common-1.js:1:21552" [[Prototype]] : Object ``` ``` index-ynvnUSje.js:40 Withdrawal error: Error: execution reverted: "TF" (action="estimateGas", data="0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000025446000000000000000000000000000000000000000000000000000000000000", reason="TF", transaction={ "data": "0xd331bef700000000000000000000000000000000000000000000000000000000004a4f70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c", "from": "0x6620338b2d4C72ad3446176E15223C3D38562b5C", "to": "0xB41F09Baac835F52D408FE83989f9Ac8938c01FA" }, invocation=null, revert={ "args": [ "TF" ], "name": "Error", "signature": "Error(string)" }, code=CALL_EXCEPTION, version=6.13.5) at Ce (index-ynvnUSje.js:40:59420) at nC (index-ynvnUSje.js:40:222407) at Fc.getBuiltinCallException (index-ynvnUSje.js:40:223170) at _r.getRpcError (index-ynvnUSje.js:40:311787) at _r.getRpcError (index-ynvnUSje.js:40:317660) at index-ynvnUSje.js:40:315425 ``` ``` Error: execution reverted: "TF" (action="estimateGas", data="0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000025446000000000000000000000000000000000000000000000000000000000000", reason="TF", transaction={ "data": "0xd331bef700000000000000000000000000000000000000000000000000000000004a4f70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006620338b2d4c72ad3446176e15223c3d38562b5c", "from": "0x6620338b2d4C72ad3446176E15223C3D38562b5C", "to": "0xB41F09Baac835F52D408FE83989f9Ac8938c01FA" }, invocation=null, revert={ "args": [ "TF" ], "name": "Error", "signature": "Error(string)" }, code=CALL_EXCEPTION, version=6.13.5) at Ce (index-ynvnUSje.js:40:59420) at nC (index-ynvnUSje.js:40:222407) at Fc.getBuiltinCallException (index-ynvnUSje.js:40:223170) at _r.getRpcError (index-ynvnUSje.js:40:311787) at _r.getRpcError (index-ynvnUSje.js:40:317660) at index-ynvnUSje.js:40:315425 ```