Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seeing "Unknown error when simulating validation on entry point" during eth_estimateUserOperationGas #225

Closed
ska1296 opened this issue Oct 13, 2023 · 3 comments

Comments

@ska1296
Copy link

ska1296 commented Oct 13, 2023

I am trying to estimate gas on entry point address '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789". It is returning:

"Unknown error when simulating validation on entry point. Error message: UnknownErr(\"Unknown middleware error: JsonRpcClientError(SerdeJson { err: Error(\\\"response must be either a success/error or notification object\\\", line: 1, column: 206), text: \\\"{\\\\\\\"jsonrpc\\\\\\\":\\\\\\\"2.0\\\\\\\",\\\\\\\"id\\\\\\\":319866,\\\\\\\"result\\\\\\\":null,\\\\\\\"error\\\\\\\":{\\\\\\\"code\\\\\\\":-32000,\\\\\\\"message\\\\\\\":\\\\\\\"tracing failed: fee cap less than block base fee: address 0x0000000000000000000000000000000000000000, gasFeeCap: 0 baseFee: 11\\\\\\\"}}\\\\n\\\" })\")"

I am using a paid plan of quicknode provider and it supports debug_traceCall.

I am starting the bundler using:

cargo run --release -- bundler --eth-client-address <mu_quicknode_url> --mnemonic-file ${HOME}/.silius/<file_name> --beneficiary 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --entry-points 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 --http --ws --http.port 4000 --chain goerli

I have an erigon node running on the same machine (OS: Ubuntu 23.04) with the following config in config.toml file:

datadir = "/home/otter/erigon/data" 
port = 1111
chain = "goerli"
http = true
"private.api.addr"="0.0.0.0:9090"
"http.api" = ["eth","debug","net","web3","erigon","trace"]

When I turn of erigon sync, I see a different error:

{"jsonrpc":"2.0","error":{"code":-32603,"message":"Unknown error when simulating validation on entry point. Error message: UnknownErr(\"Unknown middleware error: HTTPError(reqwest::Error { kind: Request, url: Url { scheme: \\\"http\\\", cannot_be_a_base: false, username: \\\"\\\", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8545), path: \\\"/\\\", query: None, fragment: None }, source: hyper::Error(Connect, ConnectError(\\\"tcp connect error\\\", Os { code: 111, kind: ConnectionRefused, message: \\\"Connection refused\\\" })) })\")"},"id":1}

curl:

curl --location 'http://localhost:4000' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_estimateUserOperationGas",
    "params": [
        {
            "callData": "0xb61d27f60000000000000000000000004b5ba1cff54e7c38df7c3d526b8da2f9cd93e58a00000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
            "callGasLimit": "0x1",
            "initCode": "0x",
            "maxFeePerGas": "0x1",
            "maxPriorityFeePerGas": "0xb2d05e00",
            "nonce": "0x0",
            "paymasterAndData": "0x",
            "preVerificationGas": "0x1",
            "sender": "0x4b5Ba1cFF54e7C38Df7c3D526B8dA2F9Cd93E58A",
            "signature": "0xfbb2e33f70f121c9228ae3fc5b9b9bfe7bde2dfa7d73ae43c0010ebd87bf10e0498b59f4216e5c50e074538a274db00d577501493eb676a9e476324173ce5f321c",
            "verificationGasLimit": "0xf4240"
        },
        "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
    ]
}'
@Vid201
Copy link
Member

Vid201 commented Oct 13, 2023

I am trying to estimate gas on entry point address '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789". It is returning:

"Unknown error when simulating validation on entry point. Error message: UnknownErr(\"Unknown middleware error: JsonRpcClientError(SerdeJson { err: Error(\\\"response must be either a success/error or notification object\\\", line: 1, column: 206), text: \\\"{\\\\\\\"jsonrpc\\\\\\\":\\\\\\\"2.0\\\\\\\",\\\\\\\"id\\\\\\\":319866,\\\\\\\"result\\\\\\\":null,\\\\\\\"error\\\\\\\":{\\\\\\\"code\\\\\\\":-32000,\\\\\\\"message\\\\\\\":\\\\\\\"tracing failed: fee cap less than block base fee: address 0x0000000000000000000000000000000000000000, gasFeeCap: 0 baseFee: 11\\\\\\\"}}\\\\n\\\" })\")"

I am using a paid plan of quicknode provider and it supports debug_traceCall.

I am starting the bundler using:

cargo run --release -- bundler --eth-client-address <mu_quicknode_url> --mnemonic-file ${HOME}/.silius/<file_name> --beneficiary 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --entry-points 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 --http --ws --http.port 4000 --chain goerli

I have an erigon node running on the same machine (OS: Ubuntu 23.04) with the following config in config.toml file:

datadir = "/home/otter/erigon/data" 
port = 1111
chain = "goerli"
http = true
"private.api.addr"="0.0.0.0:9090"
"http.api" = ["eth","debug","net","web3","erigon","trace"]

When I turn of erigon sync, I see a different error:

{"jsonrpc":"2.0","error":{"code":-32603,"message":"Unknown error when simulating validation on entry point. Error message: UnknownErr(\"Unknown middleware error: HTTPError(reqwest::Error { kind: Request, url: Url { scheme: \\\"http\\\", cannot_be_a_base: false, username: \\\"\\\", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8545), path: \\\"/\\\", query: None, fragment: None }, source: hyper::Error(Connect, ConnectError(\\\"tcp connect error\\\", Os { code: 111, kind: ConnectionRefused, message: \\\"Connection refused\\\" })) })\")"},"id":1}

curl:

curl --location 'http://localhost:4000' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_estimateUserOperationGas",
    "params": [
        {
            "callData": "0xb61d27f60000000000000000000000004b5ba1cff54e7c38df7c3d526b8da2f9cd93e58a00000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
            "callGasLimit": "0x1",
            "initCode": "0x",
            "maxFeePerGas": "0x1",
            "maxPriorityFeePerGas": "0xb2d05e00",
            "nonce": "0x0",
            "paymasterAndData": "0x",
            "preVerificationGas": "0x1",
            "sender": "0x4b5Ba1cFF54e7C38Df7c3D526B8dA2F9Cd93E58A",
            "signature": "0xfbb2e33f70f121c9228ae3fc5b9b9bfe7bde2dfa7d73ae43c0010ebd87bf10e0498b59f4216e5c50e074538a274db00d577501493eb676a9e476324173ce5f321c",
            "verificationGasLimit": "0xf4240"
        },
        "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
    ]
}'

Hmm, seems there can be some problems with using erigon client. Stackup bundler had to add something to support it: stackup-wallet/stackup-bundler#299

@ska1296
Copy link
Author

ska1296 commented Oct 16, 2023

The error:

{"jsonrpc":"2.0","error":{"code":-32603,"message":"Unknown error when simulating validation on entry point. Error message: UnknownErr(\"Unknown middleware error: HTTPError(reqwest::Error { kind: Request, url: Url { scheme: \\\"http\\\", cannot_be_a_base: false, username: \\\"\\\", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8545), path: \\\"/\\\", query: None, fragment: None }, source: hyper::Error(Connect, ConnectError(\\\"tcp connect error\\\", Os { code: 111, kind: ConnectionRefused, message: \\\"Connection refused\\\" })) })\")"},"id":1}

is no longer reproducible after a system restart.

@Vid201
Copy link
Member

Vid201 commented Oct 16, 2023

The error:

{"jsonrpc":"2.0","error":{"code":-32603,"message":"Unknown error when simulating validation on entry point. Error message: UnknownErr(\"Unknown middleware error: HTTPError(reqwest::Error { kind: Request, url: Url { scheme: \\\"http\\\", cannot_be_a_base: false, username: \\\"\\\", password: None, host: Some(Ipv4(127.0.0.1)), port: Some(8545), path: \\\"/\\\", query: None, fragment: None }, source: hyper::Error(Connect, ConnectError(\\\"tcp connect error\\\", Os { code: 111, kind: ConnectionRefused, message: \\\"Connection refused\\\" })) })\")"},"id":1}

is no longer reproducible after a system restart.

Great. Then we can close this issue since we tracking the client compatibility problem in #227

@Vid201 Vid201 closed this as completed Oct 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants