Commit Graph

4647 Commits

Author SHA1 Message Date
Giulio rebuffo
e0cde0eae9
Fixed random/random consensus spec tests (#6955) 2023-02-25 14:50:01 +00:00
Alex Sharov
431fba815f
e3: simplify tracer (#6953) 2023-02-25 12:44:45 +07:00
Jason Yellick
7b62bede1e
Log bound addresses instead of configured ones (#6948)
The CLI logging currently emits the configured address when noting that
the HTTP or Engine RPC services are started. This is _usually_ the same
as the listening address, but not always. In particular, when the bind
directive specifies an ambiguous parameter, like port 0 for an ephemeral
port, the actually bound address will differ.

This change will help users to operate Erigon while binding to ephemeral
ports. This is especially helpful for developers trying to run multiple
instances of Erigon concurrently in tests which may or may not be
executing in parallel.

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-02-25 02:29:48 +00:00
Giulio rebuffo
9b8991b62a
added random/random consensus tests support (#6951) 2023-02-24 22:42:27 +00:00
Giulio rebuffo
651121c5ce
added empty slots sanity tests (#6950) 2023-02-24 21:43:58 +00:00
Giulio rebuffo
cfa8dd8657
Fixed sanity consensus tests for slots processing (#6949) 2023-02-24 21:07:32 +00:00
nanevardanyan
ab6239b30f
WIP: cmd, turbo, core, eth: TransactionsV3 flag and persist in new table (#6754) 2023-02-24 18:49:25 +00:00
Giulio rebuffo
4525db6a9c
Fixed lightclient regression (#6946) 2023-02-24 15:11:50 +00:00
ledgerwatch
9c9449a059
Mock of Erigon support - step 1 (#6930)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-22 12:38:22 +00:00
Alex Sharov
a19d1b59c5
Pool and RPCBlocksCache: to use generic lru (#6928) 2023-02-22 07:50:00 +00:00
Alex Sharov
4a81e62ea8
lightclient: simple retry backoff (#6922) 2023-02-22 01:42:01 +00:00
Andrew Ashikhmin
54593d934c
Don't use embedded CL by default for Gnosis (#6918)
Only Nimbus peers support light clients, and there's not enough Nimbus
peers on Gnosis.
2023-02-21 18:36:25 +00:00
Alex Sharov
ddcb1c90cd
e3: don't collect readList in ApplyWorker, because it's conflict-free (#6916) 2023-02-21 05:11:45 +00:00
alex.sharov
3a4ad0c614 GraphQL docs 2023-02-21 08:25:06 +07:00
ledgerwatch
f09fd51083
Skip the graphQL test which is not unit test (#6912)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-20 22:51:46 +00:00
Anshal Shukla
62a890df93
Remove miner address from eth_getBlockByNumber for bor RPC calls (#6898)
Makes it consistent with response of bor. Fixes
[Issue#735](https://github.com/maticnetwork/bor/issues/735).
2023-02-20 22:04:42 +00:00
Stéphane Loeuillet
195a72bf74
Initial GraphQL interface implementation (#6821)
That's an initial PR mostly for code review, not ready for production
use

Got basic GraphQL working when querying a single block

---------

Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
2023-02-20 11:23:06 +00:00
Alex Sharov
c7a654cf05
E3: trace_filter to support of pos (#6909) 2023-02-20 09:42:40 +00:00
Anshal Shukla
7ce3f7b158
State sync transactions added to debug_traceBlockByNumber call (#6830)
State sync transactions can be enabled using `"borTraceEnabled": true`
parameter, this is to ensure that the current behaviour is unchanged.
2023-02-20 08:04:11 +00:00
alex.sharov
8580111641 lighting: reduce retry rate 2023-02-20 14:39:31 +07:00
Alex Sharov
b5a310effe
temporary solution for lightclient ratelimit (#6908) 2023-02-20 07:33:13 +00:00
Alex Sharov
1ee4a13904
temporary solution for lightclient ratelimit (#6907)
https://github.com/ledgerwatch/erigon/issues/6905
2023-02-20 07:31:20 +00:00
Giulio rebuffo
afe3c89c3a
added sanity tests to consensus spec tests (#6897) 2023-02-17 23:00:07 +00:00
Giulio rebuffo
df1563b401
Passing all finality consensus-spec-tests for altair/bellatrix (#6894) 2023-02-17 17:57:05 +00:00
Giulio rebuffo
a23429c352
Added finality consensus-specs-tests (#6892) 2023-02-17 14:13:00 +00:00
Giulio rebuffo
917cb7dac6
Fixed epoch processing Sqrt cache (#6889) 2023-02-16 21:48:32 +00:00
Giulio rebuffo
60a3aa71e3
Fixed epoch processing consensus tests (#6887) 2023-02-16 19:04:16 +00:00
Giulio rebuffo
3c069f7cbd
added static peers flag (#6884) 2023-02-15 17:56:10 +00:00
Giulio rebuffo
ae8657e226
API in lightclient instead of gossip (#6883) 2023-02-15 17:09:21 +00:00
Giulio rebuffo
4b7d6305aa
Added Epoch processing Ethereum consensus tests (#6878) 2023-02-15 16:53:28 +00:00
Andrew Ashikhmin
58fcc04575
blockValue should use gasUsed rather than gasLimit (#6875)
Fees going to the gas fee recipient should be based on the actual gas
used (available in the receipt) rather than the gas limit in a
transaction. This fixes Hive test "GetPayloadV2 Block Value".

Also `engine_getPayloadBodiesByRangeV1` params should be encoded as hex
strings.
2023-02-14 15:05:27 +00:00
mmsqe
add5f80f43
doc: fix typo for ReturnDataLimit (#6874) 2023-02-14 14:35:51 +00:00
Alex Sharov
45ffd2368b
e3: don't cancel workers (#6869) 2023-02-14 06:13:27 +00:00
Philippe Schommers
22bf78ba92
fix: variable slots per epoch in light client (#6868)
Missed a spot in #6864, my bad.
2023-02-13 21:27:13 +00:00
Giulio rebuffo
ef502afd51
Fixed finalized hash in lightclient (#6867) 2023-02-13 21:18:37 +00:00
Giulio rebuffo
7fb6d94a64
Added more peer count logs (#6865) 2023-02-13 20:51:50 +00:00
Philippe Schommers
cb6878cd7d
fix: use variable for slots per epoch in CL (#6864)
Some network might have different `SLOTS_PER_EPOCH` configs instead of
the currently hardcoded `32`.
2023-02-13 20:51:33 +00:00
Alex Sharov
4079347dab
sentry nil ptr fix (#6859) 2023-02-13 13:05:29 +00:00
Alex Sharov
999899d66d
e3: read files list from db (#6833) 2023-02-13 05:17:01 +00:00
Giulio rebuffo
41f37fce42
Remove state root computation when disabled check mode is used (#6855) 2023-02-12 23:43:11 +00:00
Giulio rebuffo
7c43cb532c
~2x Optimization to state root computation (#6854)
Most notably use of more than a single thread. there is still potential
for me but there are more important things for now to work on.
2023-02-12 21:26:31 +00:00
Giulio rebuffo
d23d049221
various optimizations to state transition and epoch in particular (#6844) 2023-02-12 15:36:24 +00:00
Alex Sharov
80b375b074
sentry: less sprintf in logs (#6851) 2023-02-12 11:23:58 +00:00
Alex Sharov
d5bb42453a
Update lib-p2p to support golang 1.20 (#6848) 2023-02-12 11:23:33 +00:00
alex.sharov
1f539523ae mdbx_to_mdbx: print alloc 2023-02-12 10:06:07 +07:00
Giulio rebuffo
a608cb8110
added epoch processing to CL (#6842) 2023-02-11 22:15:30 +00:00
ledgerwatch
ee83447fa1
CL lightclient to create memdb in the tmpdir which gets cleaned up on… (#6829)
… startup

---------

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-02-11 20:44:51 +00:00
Giulio rebuffo
885ed781fd
added better tests to epoch transitions (#6838) 2023-02-10 23:53:05 +00:00
Giulio rebuffo
a0677885d8
fixed rewards/penalties processing (#6837) 2023-02-10 20:27:28 +00:00
Giulio rebuffo
1b862a7c31
Added processing of sync committee updates (#6836) 2023-02-10 16:17:12 +00:00
Giulio rebuffo
868c40bbf6
Added processing of flag indexes updates (#6832) 2023-02-10 14:17:27 +00:00
Alex Sharov
7c9f30d25b
e3: return list of e3 files by grpc (#6827) 2023-02-10 13:45:33 +07:00
Alex Sharov
983db55dc5
Downloader: "incomplete" markers are more important than "complete", so commit them with fsync (#6825) 2023-02-10 13:20:19 +07:00
Alex Sharov
910ea64c3e
e3: worker stuck on exit (#6826) 2023-02-10 13:18:39 +07:00
Giulio rebuffo
4e950db56e
added processing of historical roots (#6823) 2023-02-10 01:09:05 +01:00
Giulio rebuffo
cf22a098a7
Added effective balances processing (#6822) 2023-02-09 23:14:56 +01:00
Giulio rebuffo
a3ebc79d9d
Added Registry updates processing. (#6820) 2023-02-09 22:26:36 +01:00
Giulio rebuffo
64ddd9f60e
Added reward/penalties processing (#6819) 2023-02-09 17:48:52 +01:00
Alex Sharov
ec52990c43
e3: Thread safe reopen folder (#6810) 2023-02-09 12:11:40 +07:00
Giulio rebuffo
f7e58a7964
added separable lightclient (#6800)
How to run:
Erigon flags needed: --private.api.addr <ADDR> --externalcl
Lightclient flags needed: --private.api.addr <ADDR>
2023-02-08 00:06:07 +01:00
Giulio rebuffo
c92b858888
Cleaned up and optimized proposer index retriaval. (#6799) 2023-02-07 20:14:04 +01:00
Giulio rebuffo
a585ae4894
Added Optimizations to Beacon state transition. (#6792) 2023-02-07 17:44:37 +01:00
Kian
72c01b2d88
Fix getBlockTransactionCount returning null (#6793)
So... for blocks that don't exist, the eth_getBlockTransactionCount RPCs
should return `null`. Erigon does this correctly right now and this is
covered by the unit test in
[rpcdaemon/commands/corner_cases_support_test.go](https://github.com/ledgerwatch/erigon/blob/devel/cmd/rpcdaemon/commands/corner_cases_support_test.go).

But, for blocks that don't have any transactions, like
[703696](https://etherscan.io/block/703696), the RPC also returns
`null`.

I've changed this to correctly return `0` and have added 2 new tests to
handle it. (I had to add another block to the test chain in
rpcdaemon/rpcdaemontest/test_util.go and had to fix a few other tests
that broke as a result.)

Resolves #6775
2023-02-07 18:32:42 +07:00
Andrew Ashikhmin
2fa448c45f
Validate params of GetPayloadBodiesByHash and ByRange (#6785)
See https://github.com/ethereum/execution-apis/pull/366 and
https://github.com/ethereum/execution-apis/pull/370.

Also fix a couple of issues so that the Hive tests pass.
2023-02-06 18:38:45 +01:00
a
966be04e6d
add eth_getFilterLogs, fix filter subscription ids (#6514)
this pr does the following:

1. adds new function to ApiImpl `GetFilterLogs` which should implement
`eth_getFilterLogs` (eth_getFilterChanges except with only logs filters)

2. changes the ID generator of rpchelper.Filters to use crypto/rand.

3. switched logs subscriptions to use the secure ID instead of number

4. changes subcription ids from an 8 byte hex string to a 16 byte
2023-02-06 10:18:10 +07:00
Alex Sharov
4cae1b94e9
switch sentinel to native go errors (#6782) 2023-02-06 10:15:52 +07:00
Alex Sharov
dede1a2c9e
e3: more mergeFiles tests, refcnt for LocalityIndex (#6765) 2023-02-06 09:05:29 +07:00
Giulio rebuffo
ee4c8ed3bd
Added working slot processing. (#6779) 2023-02-05 21:53:59 +01:00
ledgerwatch
52aef48748
Workaround for BSC nodes not propagating new block hashes and blocks (#6777)
It turns out that "standard" BSC nodes based on Geth, do not propagate
new block hashes and blocks, at least towards Erigon nodes. This is a
workaround

---------

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-05 18:42:51 +00:00
Giulio rebuffo
03f737c458
Added processing for Attestation (#6772) 2023-02-03 16:39:09 +01:00
Giulio rebuffo
2975ca5782
added process Voluntary Exit (#6768) 2023-02-02 12:16:28 +01:00
ledgerwatch
38177d8f68
Fix hive after merging eth/68 PR (#6766)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-02 08:26:30 +00:00
ledgerwatch
bf24018205
Add support for eth/68 (#6764)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
Co-authored-by: Alex Sharp <alexsharp@surfer-172-29-1-65-hotspot.internet-for-guests.com>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-02-01 22:21:31 +00:00
Alex Sharov
aaec53857f
e3: last reader to close/remove merged files (marked as canDelete) inside tx.Rollback() (#6738) 2023-02-01 15:44:13 +07:00
Anshal Shukla
a4f8175136
Bor file structure updated (#6167)
Updated bor consensus folder structure
2023-01-31 14:00:57 +05:30
Alex Sharov
8a31eda27c
integration: set genesis to cfg (#6750) 2023-01-31 14:05:30 +07:00
Giulio rebuffo
3748a6af97
Added processing for deposits (#6746) 2023-01-30 18:55:57 +01:00
Andrew Ashikhmin
de5a061fdf
Remove StarknetTransaction and friends (#6745) 2023-01-30 16:56:58 +01:00
Giulio rebuffo
1436060fd8
added sync aggregate method for processing (#6740) 2023-01-30 14:39:56 +01:00
Alex Sharov
62746c6185
fix snap flag behavior (#6743) 2023-01-30 17:37:58 +07:00
ledgerwatch
8c2713b0b8
Fix lint (#6737)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-29 10:16:05 +00:00
Alex Sharov
9287a2202b
e3: eth_getModifiedAccountsByNumber (#6733) 2023-01-29 10:10:39 +07:00
Marc-André Dumas
407cfef9e7
rpc: move receipts length check after bor logic (#6731)
Fixing issue #6730
2023-01-28 21:21:57 +00:00
farwayer
00390a974f
Fix retrieving Bor transactions from the pool (#6689)
At the moment erigon does not try to look for bor transactions inside
the pool
2023-01-28 21:20:08 +00:00
Alex Sharov
2998aa6386
e3: debug_accountRange (#6726) 2023-01-28 12:03:24 +07:00
Giulio rebuffo
a0d236df31
Added process slashings (#6728) 2023-01-27 23:19:23 +01:00
Alex Sharov
1583cdb068
e3: debug_accountAt, read from history instead of block exec (#6723) 2023-01-27 19:09:51 +07:00
Alex Sharov
13d6415de8
e3: ots system txn handle 2023-01-27 16:05:09 +07:00
Alex Sharov
5b703749bd
e3: ots underflow fixes (#6721) 2023-01-27 14:41:11 +07:00
Alex Sharov
171a965faa
e3: ots some underflow fixes (#6720) 2023-01-27 14:16:09 +07:00
Alex Sharov
b99e4abb3e
move math big constants to erigon-lib (#6719) 2023-01-27 11:39:34 +07:00
Alex Sharov
081e59311d
e3: ots_getTransactionBySenderAndNonce (#6718) 2023-01-27 11:34:04 +07:00
Giulio rebuffo
b3076a812d
added resets processing for Erigon-CL (#6716) 2023-01-27 01:24:03 +01:00
Giulio rebuffo
e660dd923d
refactored transitions methods in Erigon-CL (#6714) 2023-01-26 23:50:44 +01:00
Max Revitt
6559c15ebb
feat(trace): use specific error string (#6696)
In v2.36.0 we correctly trace this transaction, however due to a code
ordering issue in previous releases, there was an 'out of gas' response,
because we fell through to the code here where
ErrContractAddressCollision will be returned as such. This change isn't
the fix, but ensures the actual error is returned.
2023-01-26 15:10:51 +01:00
Andrew Ashikhmin
ee7fd4183d
Always penalize useless peers (#6710)
Should help us to drop useless peers on shadow forks and PoS chains in
general.
2023-01-26 14:14:20 +01:00
Andrew Ashikhmin
d12fda5cbd
Switch AccessList, IntrinsicGas, SafeAdd/Mul to erigon-lib (#6709)
Reduce code duplication.
2023-01-26 12:26:12 +01:00
Alex Sharov
a0c3730e38
e3: cleanup (#6708) 2023-01-26 17:52:04 +07:00
alex.sharov
a23f42358b save 2023-01-26 17:29:01 +07:00
Alex Sharov
30fefd1fe1
e3: trace_filter on iter (#6707) 2023-01-26 17:24:29 +07:00
alex.sharov
ea7684a096 save 2023-01-26 17:21:52 +07:00
Alex Sharov
7572a42356
e3: trace_filter on iterators (#6706) 2023-01-26 16:51:13 +07:00
Alex Sharov
79b42c9dc0
e3: ots_getContractCreator (#6705) 2023-01-26 16:34:52 +07:00
Alex Sharov
584ad344a6
ots_getContractCreator test (#6703) 2023-01-26 11:36:06 +07:00
alex.sharov
a609748c68 cleanup 2023-01-26 10:38:09 +07:00
alex.sharov
db47049e5b cleanup 2023-01-26 10:36:56 +07:00
Giulio rebuffo
ff21ef7b21
Added checkpoints and justification bits processing (post-altair) (#6699)
* Added processing of checkpoints
* Unit tests rigorously imported from prysm
* They all pass :)
2023-01-26 00:31:20 +01:00
hexoscott
d9e1782c11
introduce engine_getCapabilities (#6695)
Implementation of https://github.com/ethereum/execution-apis/pull/364
2023-01-25 14:46:06 +01:00
Alex Sharov
82c478a419
e3: getLogs on iterators (#6683) 2023-01-25 16:29:41 +07:00
Alex Nebotov
04253eda42
fix - abigen failed with latest dev version (#6694)
fix #6287
2023-01-25 14:59:24 +07:00
Alex Sharov
c28c96bea7
allow enable snapshot sync by cli flag (#6693) 2023-01-25 09:53:43 +07:00
Giulio rebuffo
72fa9b7f26
implemented gossip service hard fork transition (#6692) 2023-01-25 00:01:30 +01:00
Andrew Ashikhmin
37741b74eb
Remove erigon_issuance & erigon_watchTheBurn (#6685)
Some issuance happens on the CL side now, so removing support for these
now inaccurate proprietary methods to make our life easier.
2023-01-24 22:54:08 +01:00
Giulio rebuffo
f44b22f066
Shangai Compatible embedded CL lightclient (#6688)
* LightClientHeader: Capella
* Added versions to lightclient
* TODO: Capella->Bellatrix transition
2023-01-24 17:36:02 +01:00
hexoscott
4dcba50e99
engine payload bodies rpc endpoints (#6644)
Very basic implementation for get payload bodies rpc calls. Once we have
Hive tests for these calls I can pick this back up and work through any
issues.

Implementation of https://github.com/ethereum/execution-apis/pull/352.
2023-01-24 13:37:03 +01:00
Alex Sharov
bad616cb8e
e3: use historyReader constructor in tests (#6677) 2023-01-24 12:43:04 +07:00
Alex Sharov
71067a69d1
e3: storageRangeAt fix NextPage value (#6676) 2023-01-24 11:22:50 +07:00
Alex Sharov
539eaf0a51
e3: prepare trace_transaction env without execution (#6675) 2023-01-24 11:18:32 +07:00
Giulio rebuffo
635fe0cb21
Added custom chain flags to embedded consensus lightclient (#6674) 2023-01-24 00:03:48 +01:00
Giulio rebuffo
8dda3614e6
Added beacon state capella support (#6673) 2023-01-23 14:26:57 +01:00
alex.sharov
e061f469d3 e3: fix test 2023-01-23 18:56:20 +07:00
Giulio rebuffo
eda4471d95
Fixed inconsistencies (#6670) 2023-01-23 12:04:50 +01:00
Giulio rebuffo
20a4ae4ffb
added support for Capella beacon blocks (#6665) 2023-01-22 23:39:23 +01:00
AleksAvila
b5b9950593
fixing bugs in the function GetBlockByTimeStamp (#6664) 2023-01-22 19:31:57 +00:00
alex.sharov
a3bdda90ec fix lint 2023-01-22 22:37:23 +07:00
ledgerwatch
5e205f61c0
More tweaks for BSC headers (#6662)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-22 14:19:16 +00:00
Alex Sharov
23287371e7
e3: better iterator (#6666) 2023-01-22 20:39:43 +07:00
alex.sharov
df771eb220 e3: fix test 2023-01-22 20:14:04 +07:00
Alex Sharov
4fbbdf9186
e3: move txnum to erigon-lib (#6663) 2023-01-22 19:39:33 +07:00
ledgerwatch
706a999178
Improvements for the BSC stuck header sync (#6653)
There are 3 changes:
1. Replace `anchorQueue` with `anchorTree` to be able to always walk the
anchors in the order of increasing blockHeights (not possible with the
queue) to prioritise making progress on the lowest block heights
2. Not increment `nextRetryTime` if the request was not sent
3. Reduce the strides in skeleton from `8*192` to `192` to reduce
reliance of the long series of requests to make progress

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-01-22 12:28:17 +00:00
Giulio rebuffo
f1dd51ccb3
Added Historical Summary and FromBlsToExecution (#6658)
Added Capella specific Data types.
2023-01-22 11:48:17 +01:00
alex.sharov
99e535561b save 2023-01-22 16:51:09 +07:00
Alex Sharov
5a7e0eb5db
e3: eth_getLogs simplify (#6660) 2023-01-22 16:48:54 +07:00
Alex Sharov
0ee8c175d9
e3: simplify history reader (#6659) 2023-01-22 16:42:24 +07:00
Alex Sharov
43d39762c2
e3: ots_searchTransactionsBefore (#6656) 2023-01-22 15:35:18 +07:00
lupin012
5c82faa44b
eth_callBundle fixes (#6628)
There are two fixes:
1) the blockNumber in the CreateHistoryStateReader should be blockNumber
+ 1 as in the eth_call, eth_createAccessList:
- eth_call: already use blockNumber + 1 see
CreateStateReaderFromBlockNumber where the blockNumber
- passed to the CreateHistoryStateReader is blockNumber + 1
- eth_createAccessList: call CreateHistoryStateReader directly with
blockNumber + 1
2) The eth_callBudle allows to execute the original transaction (here
the sender nonce is assigned to the tx) on a user defined block; the
original transition could be performed in another block . The sender's
nonce when the original transaction was performed had a value that may
be different to the nonce of the sender when the tx is "executed" on new
block. So during the execution of the eth_callBundle must not be
verified that the nonce is progressive (original nonce of the tx + 1:
see preCheck() in state_transition.go that; if the checkNonce fails an
error is arised, nonce too low or nonce to high)
The eth_call does not check the nonce because is using ToMessage(calls
types.NewMessage with checkNonce = false) with checkNonce disabled;
while the eth_callBundle uses AsMessage object (where is built the
Message with checkNonce = true) where the checkNonce is enabled.
Action: Disable the checkNonce as proposed
2023-01-22 07:13:28 +00:00
Giulio rebuffo
0eebd61ab8
separation of state: a continuation (#6647) 2023-01-21 22:33:50 +01:00
Alex Sharov
184c2eb5b1
e3: fix test (#6652) 2023-01-21 14:18:29 +07:00
Alex Sharov
2a9ae52c9e
grpc version up (#6648) 2023-01-21 10:58:16 +07:00
Giulio rebuffo
9503672194
Separation of SSZ Beacon State and Fix BeaconRpc (#6635) 2023-01-20 20:41:16 +01:00
Andrew Ashikhmin
9927ca3171
Unify Engine API V1 & V2 methods (#6638)
Reduce code duplication.

Prerequisite: https://github.com/ledgerwatch/erigon-lib/pull/841.
2023-01-20 18:43:08 +01:00
Alex Sharov
b71725ecb3
e3: reverse/limited iterators, stream tooling (#6637) 2023-01-20 18:08:20 +07:00
Giulio rebuffo
3f07c66928
Fast gossip routine for Sentinel. (#6614)
removed bunch of ugly repetitive routines.
2023-01-18 14:30:39 +01:00
Giulio rebuffo
df89a76304
fixed concurenncy panics for gossip service (#6607) 2023-01-17 19:41:22 +00:00
hexoscott
75a3f08e9d
txpool changes for eip-3860 (#6499)
pass in new values to the txpool on creation to handle shanghai changes.
2023-01-17 11:07:57 +00:00
Andrew Ashikhmin
f151a52c0e
Withdrawal amount in GWei (#6578)
See https://github.com/ethereum/execution-apis/pull/354 &
https://github.com/ethereum/EIPs/pull/6325.

Prerequisite: https://github.com/ledgerwatch/erigon-lib/pull/832.
2023-01-17 11:22:08 +01:00
Alex Sharov
d317722aef
e3: storageRangeAt (#6580) 2023-01-17 14:16:36 +07:00
Alex Sharov
5ad4eb936a
split backend.go:new to 2 funcs (#6595)
Split backend.go:New method to 2. 1st will create db and basic
configuration. 2nd will create instances of stagedsync, txpool, etc...
based on this configuration.
2023-01-17 13:20:31 +07:00
Giulio rebuffo
4e53a12c53
Flexible Blocks and States for easy hard forking (#6566)
Preparation for Shangai Beacon Blocks/Beacon State
2023-01-17 02:22:05 +01:00
Devon Bear
4bfcc1ee5c
Convert *vm.EVM to vm.VMInterface in Tracers (#6590)
Useful for integration with external tools as one can just utilize an
interface opposed to having to import and build a real EVM object.
2023-01-16 22:28:50 +00:00
ledgerwatch
cfb0d99cfa
Improvements for body downloader (#6589)
1. Replacing temporary MBDX table with limited-size btree
2. Always scan block numbers from the start to prioritise low-number
blocks
3. Other fixes and simplifications

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-16 22:09:28 +00:00
lupin012
140b47ab58
Add eth_getBalance test (#6583)
Add test on eth_getBalance() also with vegeta files creation to make
performance tests
2023-01-16 21:52:11 +00:00
a
69d36f4e2d
Make websocket flag more clear (#6579)
Discord user had issue 

`
hey guys, any tips how to enable ws ? (other than --ws)? Ah its running
on 8545 by default. I was expecting it on 8546. I would like if this
could also be set by a flag same way as a HTTP flag.
`
later conversation
```
Q: yeah, is it not clear that it's enabling websocket for the http handler?
A: Its not super obvious no.
```

Adds a small copy to ws flag to make this more obvious
2023-01-16 19:10:15 +00:00
Ariel Tempelhof
f3f2c16b25
prepare state in replay blocks in callMany (#6586)
Some transactions in replayed blocks do not get reverted, although they
were originally reverted due to out of gas. This causes false balance
calculations for some addresses
2023-01-16 19:09:57 +00:00
Leonard Chinonso
8f90c65623
Terminating the devnet tool on successful checks (#6588) 2023-01-16 18:59:01 +00:00
lupin012
6338bacc95
Fix erigon_blockNumber (#6582)
erigon_blockNumber returns "latest executed block number" or any block
number requested.
In this last case the rpcBlockNum variable was not initialized
2023-01-16 10:48:43 +07:00
Mike Neuder
01ce83ad99
ProcessAttesterSlashing (#6581)
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#attester-slashings

Part of https://github.com/ledgerwatch/erigon/issues/5965
2023-01-15 12:05:51 +01:00
hexoscott
7dcbfbc283
reference hash, address, and chain config from lib (#6536) 2023-01-13 18:12:18 +00:00
ledgerwatch
e9d0ee5ce1
Less aggressive peer handling for BSC/Bor, add warning for bad headers (#6571)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-12 17:17:27 +00:00
Ariel Tempelhof
89eb3ac267
block BaseFee in callMany (#6569)
Continuing the work of https://github.com/ledgerwatch/erigon/pull/6381 .
We encountered a problem in blocks with type 2 transactions,
specifically blocks with two transactions with the same `tx.from`. When
the first tx is replayed, a high `gasPrice` is being calculate in
`txn.AsMessage` causing the second replayed tx to fail with the
following error:
```
insufficient funds for gas * price + value: address ...
```
This happens in both `eth_callMany` and `debug_traceCallMany`.
This pull request follows the `debug_traceTransaction` usage of
`tx.AsMessage` in `ComputeTxEnv`
2023-01-12 16:56:22 +00:00
ledgerwatch
b658bb8f00
Fix for trace_ regression when using vmTrace for transactions with SELFDESTRUCT (#6565)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-12 10:30:15 +00:00
Andrew Ashikhmin
f33993b43c
GetEffectiveGasTip in getTxValueForBlockValue (#6559)
Small simplification to PR #6554.
2023-01-12 10:41:27 +01:00
Alex Sharov
7e9522d2d0
e3: abstract 1 tx exec, to avoid variables bloating (#6563) 2023-01-12 11:09:47 +07:00
Alex Sharov
41e9356f61
e3: stream.ToBitamp() (#6562) 2023-01-12 09:58:21 +07:00
Alex Sharov
731569bbb7
e3: invalid txnum table (#6540) 2023-01-12 09:31:41 +07:00
Alex Sharov
f96ba2631a
simplify mdbx_to_mdbx (#6561) 2023-01-12 09:13:58 +07:00
Max Revitt
4d09a697d0
GetPayloadV2 change (#6554)
- calculates blockValue for updated engine_getPayloadV2 spec
- adds tests for pre/post Shanghai RawBody RLP
2023-01-11 18:33:55 +01:00
Giulio rebuffo
4bee05dd12
Added ETH1 Block SSZ Hashing to CL (#6549)
more of SSZ again.
2023-01-11 17:18:14 +01:00
Leonard Chinonso
a4751aacdf
was meant to fix the for select lint, but Alex already did (#6557) 2023-01-11 21:27:05 +07:00
alex.sharov
e22e5f933a linter 2023-01-11 15:45:18 +07:00
alex.sharov
2db82a8e4f Revert "save"
This reverts commit b080f3fcdf.
2023-01-11 15:33:25 +07:00
alex.sharov
b080f3fcdf save 2023-01-11 15:33:09 +07:00
Alex Sharov
2f97c7bf8b
extract traceFilterBitmaps method (prepare for kv.temporal) (#6553) 2023-01-11 15:01:18 +07:00
alex.sharov
abff625dcb fix test 2023-01-11 12:04:22 +07:00
Alex Sharov
381d90a52a
eth_getLogs: add getAddrsBitmap method (#6551) 2023-01-11 11:55:16 +07:00
Leonard Chinonso
310b8d9e01
Reorganization the devnet subscription services (#6331) 2023-01-10 17:43:58 +00:00
ledgerwatch
1149b59641
Fix for regression in trace_ processing SELFDESTRUCT (#6547)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-10 16:41:40 +00:00
Alex Sharov
7c2ed8e01f
mdbx: v0.12.3 (#6521) 2023-01-10 09:15:18 +07:00
Mike Neuder
799d6b9441
Implement ProcessProposerSlashing (#6531)
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#proposer-slashings

Part of https://github.com/ledgerwatch/erigon/issues/5965
2023-01-09 21:00:55 +01:00
Alex Sharov
2621ef45f6
e3: fix trace json (#6535) 2023-01-09 17:33:18 +07:00
alex.sharov
7aa056e179 save 2023-01-09 10:59:34 +07:00
Giulio rebuffo
599480c5e0
ExecutionPayloaHeader: ssz support for withdrawals root (#6524)
I do not recommend this.
2023-01-09 01:04:05 +01:00
ledgerwatch
389a2e8392
Eth call limits (#6523)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-07 21:16:43 +00:00
Giulio rebuffo
77d946ba3e
[First PR] Removing FastSSZ and use more efficient hashing with gohashtree (#6520) 2023-01-07 12:25:28 +01:00
Mike Neuder
3c1740f108
Adding SlashValidator (#6505)
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#slash_validator

Part of https://github.com/ledgerwatch/erigon/issues/5965
2023-01-07 00:19:26 +01:00
ledgerwatch
2941e754e9
Fix hive tests and reorganise the fix for body download problem (#6515)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2023-01-06 12:43:46 +00:00
Alex Sharov
4c3bb1cca5
kv_temporal: DomainGet (#6511) 2023-01-06 14:27:54 +07:00
alex.sharov
9d1f0a9a33 save 2023-01-06 12:43:32 +07:00
Giulio rebuffo
64a22eb0f4
Added Finalized to Lightclient (#6510) 2023-01-05 23:50:04 +01:00
Giulio rebuffo
8a2da89825
added EL-CL insertion batches system (#6504) 2023-01-05 03:10:19 +01:00
Andrew Ashikhmin
0b8f4aea2f
Withdrawals in body downloader (#6496) 2023-01-04 10:09:44 +01:00
Alex Sharov
c38868cc46
better pagesize error message (#6497) 2023-01-04 13:07:46 +07:00
Giulio rebuffo
f6c25de4d2
Added EL <-> CL integration (#6483) 2023-01-04 03:02:24 +01:00
Alex Sharov
ac6f2e1067
integration: engine can be readOnly (#6493) 2023-01-03 12:22:22 +07:00
Alex Sharov
a4006ad2af
Integration: configure correct consensus engine (#6492) 2023-01-03 12:20:18 +07:00
Mike Neuder
d595accc63
Adding InititateValidatorExit (#6478)
Spec:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#initiate_validator_exit

Part of https://github.com/ledgerwatch/erigon/issues/5965

Co-authored-by: Giulio rebuffo <giulio.rebuffo@gmail.com>
Co-authored-by: ledgerwatch <akhounov@gmail.com>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-01-02 15:06:04 +01:00
Alex Sharov
94fd30c5eb
"erigon snapshots retire" to save progress (#6485) 2023-01-02 12:26:56 +07:00
a
06de4aeb91
filterlogs deadlock fix (#6429)
Refactors filters.go such that map+locks are now in their own class 

Move logic for safely canceling & draining channel to its own class

changed subscriptions to ask for size of buffer and construct its own
channel

marked as draft b/c need to do live testing.
2023-01-02 11:42:40 +07:00
Giulio rebuffo
330579a0f6
Added execution module basics (#6481) 2023-01-01 15:29:08 +01:00
ledgerwatch
7a699c918a
Fix compile (#6480)
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2022-12-31 12:38:03 +00:00