1. 07 Sep, 2022 1 commit
    • rjl493456442's avatar
      eth, les: rework chain tracer (#25143) · b1f6dccf
      rjl493456442 authored
      This PR simplifies the logic of chain tracer and also adds the unit tests.
      
      The most important change has been made in this PR is the state management. Whenever a tracing state is acquired there is a corresponding release function be returned as well. It must be called once the state is used up, otherwise resource leaking can happen.
      
      And also the logic of state management has been simplified a lot. Specifically, the state provider(eth backend, les backend) should ensure the state is available and referenced. State customers can use the state according to their own needs, or build other states based on the given state. But once the release function is called, there is no guarantee of the availability of the state.
      Co-authored-by: 's avatarSina Mahmoodi <1591639+s1na@users.noreply.github.com>
      Co-authored-by: 's avatarPéter Szilágyi <peterke@gmail.com>
      b1f6dccf
  2. 19 Aug, 2022 1 commit
  3. 25 Jul, 2022 1 commit
  4. 18 May, 2022 1 commit
    • Marius van der Wijden's avatar
      core, eth, internal, rpc: implement final block (#24282) · e6fa102e
      Marius van der Wijden authored
      * eth: core: implement finalized block
      
      * eth/catalyst: fix final block
      
      * eth/catalyst: update finalized head gauge
      
      * internal/jsre/deps: updated web3.js to allow for finalized block
      
      * eth/catalyst: make sure only one thread can call fcu
      
      * eth/catalyst: nitpicks
      
      * eth/catalyst: use plain mutex
      
      * eth: nitpicks
      e6fa102e
  5. 31 Mar, 2022 1 commit
  6. 26 Nov, 2021 1 commit
    • Marius van der Wijden's avatar
      all: core rework for the merge transition (#23761) · 3038e480
      Marius van der Wijden authored
      * all: work for eth1/2 transtition
      
      * consensus/beacon, eth: change beacon difficulty to 0
      
      * eth: updates
      
      * all: add terminalBlockDifficulty config, fix rebasing issues
      
      * eth: implemented merge interop spec
      
      * internal/ethapi: update to v1.0.0.alpha.2
      
                                                                       This commit updates the code to the new spec, moving payloadId into
                                                                       it's own object. It also fixes an issue with finalizing an empty blockhash.
                                                                       It also properly sets the basefee
      
      * all: sync polishes, other fixes + refactors
      
      * core, eth: correct semantics for LeavePoW, EnterPoS
      
      * core: fixed rebasing artifacts
      
      * core: light: performance improvements
      
      * core: use keyed field (f)
      
      * core: eth: fix compilation issues + tests
      
      * eth/catalyst: dbetter error codes
      
      * all: move Merger to consensus/, remove reliance on it in bc
      
      * all: renamed EnterPoS and LeavePoW to ReachTDD and FinalizePoS
      
      * core: make mergelogs a function
      
      * core: use InsertChain instead of InsertBlock
      
      * les: drop merger from lightchain object
      
      * consensus: add merger
      
      * core: recoverAncestors in catalyst mode
      
      * core: fix nitpick
      
      * all: removed merger from beacon, use TTD, nitpicks
      
      * consensus: eth: add docstring, removed unnecessary code duplication
      
      * consensus/beacon: better comment
      
      * all: easy to fix nitpicks by karalabe
      
      * consensus/beacon: verify known headers to be sure
      
      * core: comments
      
      * core: eth: don't drop peers who advertise blocks, nitpicks
      
      * core: never add beacon blocks to the future queue
      
      * core: fixed nitpicks
      
      * consensus/beacon: simplify IsTTDReached check
      
      * consensus/beacon: correct IsTTDReached check
      Co-authored-by: 's avatarrjl493456442 <garyrong0905@gmail.com>
      Co-authored-by: 's avatarPéter Szilágyi <peterke@gmail.com>
      3038e480
  7. 11 Nov, 2021 1 commit
  8. 04 Nov, 2021 1 commit
  9. 13 Oct, 2021 1 commit
  10. 12 Oct, 2021 1 commit
  11. 11 Oct, 2021 1 commit
    • Martin Holst Swende's avatar
      consensus/clique, core: API cleanup (#23100) · 62891378
      Martin Holst Swende authored
      This removes some code:
      
      - The clique engine calculated the snapshot twice when verifying headers/blocks.
      
      - The method GetBlockHashesFromHash in Header/Block/Lightchain was only used by tests. It
        is now removed from the API.
        
      - The method GetTdByHash internally looked up the number before calling GetTd(hash, num).
        In many cases, callers already had the number, and used this method just because it has a
        shorter name. I have removed the method to make the API surface smaller.
      62891378
  12. 28 Sep, 2021 1 commit
  13. 10 Sep, 2021 1 commit
  14. 27 Jul, 2021 1 commit
  15. 13 Jul, 2021 1 commit
  16. 28 Jun, 2021 1 commit
    • Felföldi Zsolt's avatar
      eth/gasprice: implement feeHistory API (#23033) · 35dbf7a8
      Felföldi Zsolt authored
      * eth/gasprice: implement feeHistory API
      
      * eth/gasprice: factored out resolveBlockRange
      
      * eth/gasprice: add sanity check for missing block
      
      * eth/gasprice: fetch actual gas used from receipts
      
      * miner, eth/gasprice: add PendingBlockAndReceipts
      
      * internal/ethapi: use hexutil.Big
      
      * eth/gasprice: return error when requesting beyond head block
      
      * eth/gasprice: fixed tests and return errors correctly
      
      * eth/gasprice: rename receiver name
      
      * eth/gasprice: return directly if blockCount == 0
      Co-authored-by: 's avatarrjl493456442 <garyrong0905@gmail.com>
      35dbf7a8
  17. 04 Jun, 2021 1 commit
  18. 02 Jun, 2021 1 commit
    • Martin Holst Swende's avatar
      core, eth, internal, les: RPC methods and fields for EIP 1559 (#22964) · 5cff9754
      Martin Holst Swende authored
      * internal/ethapi: add baseFee to RPCMarshalHeader
      
      * internal/ethapi: add FeeCap, Tip and correct GasPrice to EIP-1559 RPCTransaction results
      
      * core,eth,les,internal: add support for tip estimation in gas price oracle
      
      * internal/ethapi,eth/gasprice: don't suggest tip larger than fee cap
      
      * core/types,internal: use correct eip1559 terminology for json marshalling
      
      * eth, internal/ethapi: fix rebase problems
      
      * internal/ethapi: fix rpc name of basefee
      
      * internal/ethapi: address review concerns
      
      * core, eth, internal, les: simplify gasprice oracle (#25)
      
      * core, eth, internal, les: simplify gasprice oracle
      
      * eth/gasprice: fix typo
      
      * internal/ethapi: minor tweak in tx args
      
      * internal/ethapi: calculate basefee for pending block
      
      * internal/ethapi: fix panic
      
      * internal/ethapi, eth/tracers: simplify txargs ToMessage
      
      * internal/ethapi: remove unused param
      
      * core, eth, internal: fix regressions wrt effective gas price in the evm
      
      * eth/gasprice: drop weird debug println
      
      * internal/jsre/deps: hack in 1559 gas conversions into embedded web3
      
      * internal/jsre/deps: hack basFee to decimal conversion
      
      * internal/ethapi: init feecap and tipcap for legacy txs too
      
      * eth, graphql, internal, les: fix gas price suggestion on all combos
      
      * internal/jsre/deps: handle decimal tipcap and feecap
      
      * eth, internal: minor review fixes
      
      * graphql, internal: export max fee cap RPC endpoint
      
      * internal/ethapi: fix crash in transaction_args
      
      * internal/ethapi: minor refactor to make the code safer
      Co-authored-by: 's avatarRyan Schneider <ryanleeschneider@gmail.com>
      Co-authored-by: 's avatarlightclient@protonmail.com <lightclient@protonmail.com>
      Co-authored-by: 's avatargary rong <garyrong0905@gmail.com>
      Co-authored-by: 's avatarPéter Szilágyi <peterke@gmail.com>
      5cff9754
  19. 07 Apr, 2021 2 commits
    • Marius van der Wijden's avatar
      core, eth, internal/ethapi: create access list RPC API (#22550) · 9d10856e
      Marius van der Wijden authored
      * core/vm: implement AccessListTracer
      
      * eth: implement debug.createAccessList
      
      * core/vm: fixed nil panics in accessListTracer
      
      * eth: better error messages for createAccessList
      
      * eth: some fixes on CreateAccessList
      
      * eth: allow for provided accesslists
      
      * eth: pass accesslist by value
      
      * eth: remove created acocunt from accesslist
      
      * core/vm: simplify access list tracer
      
      * core/vm: unexport accessListTracer
      
      * eth: return best guess if al iteration times out
      
      * eth: return best guess if al iteration times out
      
      * core: docstring, unexport methods
      
      * eth: typo
      
      * internal/ethapi: move createAccessList to eth package
      
      * internal/ethapi: remove reexec from createAccessList
      
      * internal/ethapi: break if al is equal to last run, not if gas is equal
      
      * internal/web3ext: fixed arguments
      
      * core/types: fixed equality check for accesslist
      
      * core/types: no hardcoded vals
      
      * core, internal: simplify access list generation, make it precise
      
      * core/vm: fix typo
      Co-authored-by: 's avatarMartin Holst Swende <martin@swende.se>
      Co-authored-by: 's avatarPéter Szilágyi <peterke@gmail.com>
      9d10856e
    • gary rong's avatar
      eth, les: fix tracers (#22473) · a600dab7
      gary rong authored
      * eth, les: fix tracer
      
      * eth: isolate live trie database in tracer
      
      * eth: fix nil
      
      * eth: fix
      
      * eth, les: add checkLive param
      
      * eth/tracer: fix
      a600dab7
  20. 23 Feb, 2021 1 commit
  21. 25 Jan, 2021 1 commit
    • gary rong's avatar
      eth/tracers: move tracing APIs into eth/tracers (#22161) · adf130de
      gary rong authored
      This moves the tracing RPC API implementation to package eth/tracers.
      By doing so, package eth no longer depends on tracing and the duktape JS engine.
      
      The change also enables tracing using the light client. All tracing methods work with the
      light client, but it's a lot slower compared to using a full node.
      adf130de
  22. 14 Dec, 2020 1 commit
  23. 13 Nov, 2020 1 commit
  24. 03 Aug, 2020 1 commit
    • rene's avatar
      node: refactor package node (#21105) · c0c01612
      rene authored
      This PR significantly changes the APIs for instantiating Ethereum nodes in
      a Go program. The new APIs are not backwards-compatible, but we feel that
      this is made up for by the much simpler way of registering services on
      node.Node. You can find more information and rationale in the design
      document: https://gist.github.com/renaynay/5bec2de19fde66f4d04c535fd24f0775.
      
      There is also a new feature in Node's Go API: it is now possible to
      register arbitrary handlers on the user-facing HTTP server. In geth, this
      facility is used to enable GraphQL.
      
      There is a single minor change relevant for geth users in this PR: The
      GraphQL API is no longer available separately from the JSON-RPC HTTP
      server. If you want GraphQL, you need to enable it using the
      ./geth --http --graphql flag combination.
      
      The --graphql.port and --graphql.addr flags are no longer available.
      c0c01612
  25. 13 Jul, 2020 1 commit
  26. 01 Jul, 2020 1 commit
  27. 17 Jun, 2020 1 commit
  28. 23 Mar, 2020 1 commit
    • Martin Holst Swende's avatar
      internal/ethapi: don't set sender-balance to maxuint, fixes #16999 (#20783) · 39f50232
      Martin Holst Swende authored
      Prior to this change, eth_call changed the balance of the sender account in the
      EVM environment to 2^256 wei to cover the gas cost of the call execution.
      We've had this behavior for a long time even though it's super confusing.
      
      This commit sets the default call gasprice to zero instead of updating the balance,
      which is better because it makes eth_call semantics less surprising. Removing
      the built-in balance assignment also makes balance overrides work as expected.
      39f50232
  29. 10 Dec, 2019 1 commit
  30. 26 Sep, 2019 1 commit
  31. 25 Jul, 2019 1 commit
  32. 23 Jul, 2019 1 commit
  33. 09 Jul, 2019 1 commit
  34. 13 May, 2019 1 commit
    • Felföldi Zsolt's avatar
      les, light: implement ODR transaction lookup by hash (#19069) · 40cdcf8c
      Felföldi Zsolt authored
      * les, light: implement ODR transaction lookup by hash
      
      * les: delete useless file
      
      * internal/ethapi: always use backend to find transaction
      
      * les, eth, internal/ethapi: renamed GetCanonicalTransaction to GetTransaction
      
      * light: add canonical header verification to GetTransaction
      40cdcf8c
  35. 02 May, 2019 1 commit
  36. 08 Apr, 2019 1 commit
  37. 04 Apr, 2019 1 commit
  38. 27 Mar, 2019 1 commit
  39. 06 Dec, 2018 1 commit