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

Failed to get callTracer in Ethereum Holesky #10373

Closed
bbaktaeho opened this issue May 16, 2024 · 3 comments
Closed

Failed to get callTracer in Ethereum Holesky #10373

bbaktaeho opened this issue May 16, 2024 · 3 comments
Assignees
Labels
bug Something isn't working imp1 High importance
Milestone

Comments

@bbaktaeho
Copy link
Contributor

System information

Erigon version:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "erigon/2.57.1/linux-arm64/go1.20.7"
}

OS & Version: Linux

Chain/Network: Ethereum/Holesky

Steps to reproduce the behaviour

I used debug_traceBlockByNumber to query callTracer in block 1170156 in Ethereum Holesky.
However, 0x6c1649bfabf71cf716a2f567c252737751517eaf4a8b93da06e21795c18559b7 The following error is output from callTracer in the transaction(This tx is the last transaction in the block):

  [
    ...,
    {
      "txHash": "0x6c1649bfabf71cf716a2f567c252737751517eaf4a8b93da06e21795c18559b7",
      "result": null
    },
    {
      "error": {
        "code": -32000,
        "message": "tracing failed: insufficient funds for gas * price + value: address 0x17Fe01c95dDC892DFd80e854CE470A621E17e5aA have 13310036887318496 want 13600044887318496"
      }
    }
  ]

However, there is no problem if you look up the callTracer through debug_traceTransaction:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "from": "0x17fe01c95ddc892dfd80e854ce470a621e17e5aa",
    "gas": "0x5208",
    "gasUsed": "0x5208",
    "to": "0x1268ad189526ac0b386faf06effc46779c340ee6",
    "input": "0x",
    "value": "0x303daf3c77b048",
    "type": "CALL"
  }
}

Also, if you look it up via debug_traceBlockByNumber on go-thereum, this is also not a problem.

@yperbasis yperbasis added bug Something isn't working imp1 High importance labels May 17, 2024
@martinboehm
Copy link

martinboehm commented May 20, 2024

@yperbasis I will add another, probably related issue. This call in Ethereum Holesky (however mainnet has the same issue)

await web3.eth.estimateGas({
    from: '0xD048Dcf8d28Ca20F505c0F12664eF66D55998b69',
    to: '0xAFA848357154a6a624686b348303EF9a13F63264',
    data: '0x3a29dbae0000000000000000000000000000000000000000000000000000000000000001',
    value: '0x282a7bfa52ca600',
}),

in Erigon 2.59.3 works and returns gas estimate, Erigon 2.60.0 returns error insufficient funds for gas * price + value: address 0xD048Dcf8d28Ca20F505c0F12664eF66D55998b69 have 210891376600000000 want 252162635638066080.

In case it is not related, let me know please and I will create a new issue for that.

@yperbasis yperbasis added this to the 2.60.1-fixes milestone May 22, 2024
@yperbasis
Copy link
Member

Failed to replicate the debug_traceBlockByNumber issue with v2.60.0.

@yperbasis yperbasis self-assigned this May 24, 2024
yperbasis added a commit that referenced this issue May 27, 2024
After [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) gas fee must
be greater or equal to block's base fee – otherwise `eth_estimateGas`
might fail with the fee defaulting to 0 (see
#10373 (comment)).

Also, this PR removes the `blockNrOrHash` argument from
`eth_estimateGas`. geth doesn't have it. Moreover, it was effectively
ignored by the previous code anyway with the exception of determining
gas limit.
@yperbasis
Copy link
Member

yperbasis commented May 27, 2024

@yperbasis I will add another, probably related issue. This call in Ethereum Holesky (however mainnet has the same issue)

await web3.eth.estimateGas({
    from: '0xD048Dcf8d28Ca20F505c0F12664eF66D55998b69',
    to: '0xAFA848357154a6a624686b348303EF9a13F63264',
    data: '0x3a29dbae0000000000000000000000000000000000000000000000000000000000000001',
    value: '0x282a7bfa52ca600',
}),

in Erigon 2.59.3 works and returns gas estimate, Erigon 2.60.0 returns error insufficient funds for gas * price + value: address 0xD048Dcf8d28Ca20F505c0F12664eF66D55998b69 have 210891376600000000 want 252162635638066080.

In case it is not related, let me know please and I will create a new issue for that.

eth_estimateGas is improved in main by PR #10495 and by PR #10499 in the upcoming v2.60.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working imp1 High importance
Projects
None yet
Development

No branches or pull requests

3 participants