Commit Graph

17743 Commits

Author SHA1 Message Date
Kevin Ingersoll
ec071b4195
fix typo in eth_call error (#7084)
Spotted this typo when poking at Cloudflare's public gateway and mapped
it back here 🙈
2023-03-13 02:12:08 +00:00
Giulio rebuffo
dbf1225cb2
Added partial SSZ library (#7083)
Implements SSZ encode/decoding and hashtreeroot for simple list-lacking
data structures. does not account offset case.
2023-03-12 14:41:53 +00:00
Giulio rebuffo
9167429a75
Added phase0 support to Erigon-CL. (#7066)
Added phase 0 support.
2023-03-11 19:27:21 +00:00
alex.sharov
e3f0f99cef save 2023-03-11 15:37:46 +07:00
Alex Sharov
4ab63db6e2
nil ptr in delete ancient (#7081) 2023-03-11 05:46:32 +00:00
awskii
a96293ae8a
e4: added some metrics to code (#7078) 2023-03-10 19:21:10 +00:00
Andrew Ashikhmin
3270720cb7
Remove ETC-specific DAOForkSupport=false functionality (#7075) 2023-03-10 12:10:11 +00:00
Andrew Ashikhmin
2212e21192
Remove archaic eip150Hash functionality (#7074) 2023-03-10 10:55:59 +00:00
alex.sharov
7190d89af3 save 2023-03-10 16:01:55 +07:00
Alex Sharov
81c7936df4
sentry: handle "retry later" grpc stream (#6852) 2023-03-10 05:28:25 +00:00
Rafael Matias
43960fec34
params: remove EF azure bootnodes (#7061)
Same has been done in geth:
https://github.com/ethereum/go-ethereum/pull/26828
2023-03-10 05:27:20 +00:00
alex.sharov
8189fdd587 cleanup 2023-03-10 12:20:50 +07:00
alex.sharov
99f5be5e21 fix build 2023-03-10 12:18:19 +07:00
Alex Sharov
5b3ba433eb
e3: aggressive pruning (#7070) 2023-03-10 04:31:44 +00:00
Alex Sharov
570c3d65ab
up moq version, up some lru version (#7069) 2023-03-10 04:03:32 +00:00
awskii
36e3c94897
run E4 via integration binary (#7063)
added subcommand `state_domains` of `bin/integration` to start
processing of existing chaindata with use of state domains and
commitment.
It creates two directory in `datadir`: `state` and `statedb` for files
and mdbx respectively.

This version runs blocks one after another and produces merged files. 
Want to add some metrics to export later.
2023-03-10 03:27:12 +00:00
Giulio rebuffo
7f6d1c9575
Added SSZ support for Phase0 state. (#7065) 2023-03-09 17:34:49 +00:00
Michael Montour
d5fbc5011e
Partial EIP1186 eth_getProof implementation (#6560)
This is a partial implementation of eth_getProof (see issue #1349),
supporting only a request for the latest block and an empty list of
storage keys (i.e. Account proof only). I don't know if there's a better
way of implementing this, but this was what I could come up with.
Posting it here in case it's useful.

Example output:
```
> eth.getProof("0x67b1d87101671b127f5f8714789C7192f7ad340e", [], 'latest')
{
  accountProof: ["0xf90131a0252c9d4ed347b4cf3fdccaea3ccef0a507e6bd4dbe4dcd98609b7195347c4062a0ab8cdb808c8303bb61fb48e276217be9770fa83ecf3f90f2234d558885f5abf18080a01a697e814758281972fcd13bc9707dbcd2f195986b05463d7b78426508445a04a0b5d7a91be5ee273cce27e2ad9a160d2faadd5a6ba518d384019b68728a4f62f4a0c2c799b60a0cd6acd42c1015512872e86c186bcf196e85061e76842f3b7cf86080a0e73919d9f472eec11f6da95518503f5527a98b9428f7a02c4f55bf51854214e480a06301b39b2ea8a44df8b0356120db64b788e71f52e1d7a6309d0d2e5b86fee7cb8080a01b7779e149cadf24d4ffb77ca7e11314b8db7097e4d70b2a173493153ca2e5a0a066a7662811491b3d352e969506b420d269e8b51a224f574b3b38b3463f43f0098080", "0xf8518080808080a0a00135c9ec2655cb6a47ab7ad27d6fc150d9cba8b3d4a702e879179116a68a60808080808080a02fb46956347985b9870156b5747712899d213b1636ad4fe553c63e33521d567a80808080", "0xf873a02056274a27dd7524955417c11ecd917251cc7c4c8310f4c7e4bd3c304d3d9a79b850f84e808a021e19e0c9bab2400000a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"],
  address: "0x67b1d87101671b127f5f8714789c7192f7ad340e",
  balance: "0x21e19e0c9bab2400000",
  codeHash: "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
  nonce: "0x0",
  storageHash: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
  storageProof: []
}
> eth.getBlock('latest').stateRoot
"0x6a0673c691edfa4c4528323986bb43c579316f436ff6f8b4ac70854bbd95340b"
```
2023-03-09 03:04:09 +00:00
Alex Sharov
d19fcd870b
e3: use iterators composition in invIndex.Range (#7056) 2023-03-09 02:26:40 +00:00
Stéphane Loeuillet
fd1a971384
graphql: add Tx Receipts Logs to output (#7059) 2023-03-09 02:22:41 +00:00
Giulio rebuffo
231b57bd21
Added pending attestation object. (#7058) 2023-03-08 22:30:41 +00:00
Alex Sharov
a158b63126
mdbx: RangeDupSort iterator (#7054) 2023-03-08 10:16:06 +00:00
Alex Sharov
92c444bc1a
--torrent.staticpeers (#7052) 2023-03-08 08:30:00 +00:00
Giulio rebuffo
e6ba82ca0b
Added Capella specs support to Erigon-CL (#7051)
Passing consensus-specs tests for Capella. Processing of withdrawals and
ExecutionChanges. efficient non-validation implemented. Refactored:
ExecutionPayload/ExecutionPayloadHeader.
2023-03-07 21:57:18 +00:00
Stéphane Loeuillet
e59d37e61d
graphql: protect against nil pointer deref on cases like TX with nil … (#7047)
…To address (contract creation)
2023-03-07 12:20:18 +00:00
Krishna Upadhyaya
5b1392a7c3
Update validator map when loading snapshot (#7046) 2023-03-07 10:44:31 +00:00
Anshal Shukla
997fcced9d
use bor interface (#7045) 2023-03-07 09:37:33 +00:00
alex.sharov
b48aeef8f1 save 2023-03-07 16:10:25 +07:00
Alex Sharov
34ebf6bbea
up grpc version (#7043) 2023-03-07 09:00:07 +00:00
Alex Sharov
7868782186
nil ptr in checkPruneHistory (#7042) 2023-03-07 08:37:21 +00:00
alex.sharov
d748b686d3 save 2023-03-07 14:31:40 +07:00
Alex Sharov
b685407175
attempt to fix TestGolangBindings (#7041) 2023-03-07 06:14:35 +00:00
Alex Sharov
d4e25daf22
etl: distinct empty values from nil (#7039)
Reverts ledgerwatch/erigon#7038
2023-03-07 04:19:00 +00:00
Alex Sharov
7206e482da
Revert "etl: distinct empty values from nil" (#7038)
Reverts ledgerwatch/erigon#6934
2023-03-07 03:22:23 +00:00
Alex Sharov
78aa8652d2
e3: native map instead of btree where can (because e2 experience shows - it's faster) (#7010) 2023-03-07 02:34:30 +00:00
Alex Sharov
c5acfd0503
etl: distinct empty values from nil (#6934) 2023-03-07 02:33:21 +00:00
hexoscott
77065ee0f3
remove PeerUseless calls (#7032) 2023-03-06 18:59:14 +00:00
Stéphane Loeuillet
16973ec185
graphql: add missing fields in block.transaction (#7034) 2023-03-06 18:58:10 +00:00
ledgerwatch
36a1e43dfe
Skip one integration test (#7031)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-03-06 11:58:03 +00:00
Max Revitt
24773f08bb
fix(release): use buildx for docker image (#7030) 2023-03-06 11:47:48 +00:00
Alex Sharov
e3caa3cbba
e3: don't loose last txnum (#7028) 2023-03-06 09:19:30 +00:00
ledgerwatch
1ab083316b
More block snapshots for ETH mainnet, goerli and gnosis (#7026)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-03-06 08:58:58 +00:00
Alex Sharov
645797d8bf
e3: no early by drain (#7027) 2023-03-06 08:43:32 +00:00
ledgerwatch
ed95056a6d
Break out of staged sync step when bad block is found (#7025)
Fixes https://github.com/ledgerwatch/erigon/issues/6982

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-03-06 07:58:44 +00:00
Giulio rebuffo
9101fdadcc
Long keys and finalization markers added. (#7024) 2023-03-05 19:15:17 +00:00
Giulio rebuffo
7eda83f81a
Merged beacon indexing with other stages (#7023) 2023-03-05 16:11:35 +00:00
Giulio rebuffo
aea6f86cab
refactored state transition and removed transistor (#7021) 2023-03-04 21:14:45 +00:00
Giulio rebuffo
90ed3c1cb0
optimized state roots cache for erigon-cl (#7020) 2023-03-04 16:28:20 +00:00
awskii
e48609ee8d
E4 btree-like indexes (#6834)
This branch implements support of btree indexes instead of .kvi files.
Kvi also created, but not used during search/lookup, only for size
comparation.

Btree allows to make seek calls, while recsplit indexes does not support
that query.
During initial tests, btree indexes are ~1-3% smaller than recsplit but
avg lookup time bigger up to 1.5us (which compensates with ability to
fetch next key).

BtAlloc
```
337000 searches, last took 5.417µs avg=4.385µs next_access_last[of 10000 keys] 105ns
338000 searches, last took 3.792µs avg=4.385µs next_access_last[of 10000 keys] 103ns
339000 searches, last took 5.125µs avg=4.386µs next_access_last[of 10000 keys] 103ns
340000 searches, last took 4.75µs avg=4.386µs next_access_last[of 10000 keys] 103ns
341000 searches, last took 3.875µs avg=4.386µs next_access_last[of 10000 keys] 104ns
342000 searches, last took 6.042µs avg=4.387µs next_access_last[of 10000 keys] 107ns
343000 searches, last took 3.209µs avg=4.388µs next_access_last[of 10000 keys] 108ns
344000 searches, last took 2.292µs avg=4.393µs next_access_last[of 10000 keys] 113ns
345000 searches, last took 2.417µs avg=4.394µs next_access_last[of 10000 keys] 106ns
346000 searches, last took 2.625µs avg=4.394µs next_access_last[of 10000 keys] 103ns
347000 searches, last took 4.417µs avg=4.397µs next_access_last[of 10000 keys] 104ns
348000 searches, last took 5.458µs avg=4.398µs next_access_last[of 10000 keys] 103ns
349000 searches, last took 4.875µs avg=4.4µs next_access_last[of 10000 keys] 102ns
350000 searches, last took 4.25µs avg=4.4µs next_access_last[of 10000 keys] 104ns
351000 searches, last took 6.25µs avg=4.403µs next_access_last[of 10000 keys] 106ns
352000 searches, last took 3.125µs avg=4.404µs next_access_last[of 10000 keys] 106ns
```

Recsplit
```
354000 searches, last took 1.209µs avg=3.081µs
355000 searches, last took 1.333µs avg=3.076µs
356000 searches, last took 1.541µs avg=3.071µs
357000 searches, last took 1.333µs avg=3.066µs
358000 searches, last took 1.333µs avg=3.062µs
359000 searches, last took 1.167µs avg=3.057µs
360000 searches, last took 1.791µs avg=3.052µs
361000 searches, last took 1.209µs avg=3.048µs
362000 searches, last took 1.375µs avg=3.043µs
363000 searches, last took 1.166µs avg=3.038µs
364000 searches, last took 1.625µs avg=3.033µs
365000 searches, last took 1.125µs avg=3.029µs
366000 searches, last took 1.208µs avg=3.024µs
367000 searches, last took 1.333µs avg=3.019µs
368000 searches, last took 1.791µs avg=3.015µs
369000 searches, last took 1.333µs avg=3.01µs
370000 searches, last took 1.166µs avg=3.006µs
371000 searches, last took 1.125µs avg=3.001µs
372000 searches, last took 1.333µs avg=2.997µs
```

https://github.com/ledgerwatch/erigon-lib/pull/891/files
2023-03-04 03:19:25 +00:00
Giulio rebuffo
aadf56376f
Passing operations consensus tests. (#7018) 2023-03-03 22:52:33 +00:00