erigon-pulse/turbo
Jason Yellick 7f31b047f1
Fix eth_getProof element order (#7351)
According to EIP-1186 the `proof` parts of the response to eth_getProof
should be returned "starting with the stateRoot-Node, following the path
of the SHA3 (address) as key." Currently, the proof is returned in
traversal order, rather than from the root.

Although all of the proof elements are there and correct, this is
contrary to the EIP and will cause problems for some clients. The
existing rpc test uses a map to lookup proof elements by hash, rather
than by index, so this bug was not initially caught.

This commit fixes the behavior, updates the existing test, and adds
additional checks to the rpc test.

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-04-20 10:06:19 +07:00
..
adapter Move hexutil.Bytes to erigon-lib (#7305) 2023-04-13 11:19:02 +00:00
app e3: in-general merge must not see "overlaps/deleted" files, but merge of history need access to corresponding index files (even if they marked as deleted or already merged - before kill -9) (#7321) 2023-04-17 05:54:29 +00:00
builder blockValue should use gasUsed rather than gasLimit (#6875) 2023-02-14 15:05:27 +00:00
cli added --internalcl flag to Erigon (#7349) 2023-04-19 14:37:35 +02:00
cmdtest move all packages from "internal" folder - to simplify users live (#5857) 2022-10-25 09:58:25 +07:00
debug [Diagnostics] introduce versioning and improve usability of support c… (#7300) 2023-04-12 21:23:49 +00:00
engineapi go 1.19 atomics (#7164) 2023-03-23 05:11:28 +00:00
logging [Diagnostics] Simplify logging settings, introduce correct log rotation with lumberjack (#7273) 2023-04-07 21:08:44 +00:00
mock reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
node [Diagnostics] Simplify logging settings, introduce correct log rotation with lumberjack (#7273) 2023-04-07 21:08:44 +00:00
rlphacks Use go:build lines and remove obsolete +build lines (#4175) 2022-05-17 14:46:53 +07:00
rpchelper enable more linters #954 (#7179) 2023-03-25 05:13:27 +00:00
services reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
shards [interfaces] lower_snake_case field names (#7293) 2023-04-12 10:35:54 +00:00
snapshotsync Fix nil withdrawals in eth_getBlockByHash (#7332) 2023-04-18 11:23:22 +00:00
stages e3: state reader constructor in tests (#7338) 2023-04-19 03:10:33 +00:00
testlog move all packages from "internal" folder - to simplify users live (#5857) 2022-10-25 09:58:25 +07:00
transactions eip-4844: setting header's excess_data_gas, verifiying eip-4844 headers (#7308) 2023-04-16 08:12:40 +00:00
trie Fix eth_getProof element order (#7351) 2023-04-20 10:06:19 +07:00
README.md Rename to Erigon (#2018) 2021-05-26 11:35:39 +01:00

Erigon-API

Erigon-API is a set of tools for building applications containing Erigon node.

Our own binary erigon is built using it.

Modules

  • cli - erigon-cli, methods & helpers to run a CLI app with Erigon node.

  • node - represents an Ethereum node, running devp2p and sync and writing state to the database.

  • stagedsync - staged sync algorithm.

Examples

  • erigon - our binary is using erigon-api with all defaults

  • erigoncustom - a very simple example of adding a custom stage, a custom bucket and a custom command-line parameter

  • erigon-examples - a series of examples for Erigon api