Andrew Ashikhmin
862d7b6bc6
Move ChainID from CommonTx to DynamicFeeTransaction ( #7732 )
...
For legacy transactions ChainID is optional (missing in
pre-[EIP155](https://eips.ethereum.org/EIPS/eip-155 ) transactions) and
is derived from `V` anyway.
Also, cherry pick https://github.com/ethereum/go-ethereum/pull/27452 .
2023-06-14 11:44:05 +02:00
racytech
8b312d54e8
eip-4844: desszing blobtx: initial commit ( #7715 )
2023-06-14 11:01:03 +02:00
Alex Sharov
226763b1ae
fix test ( #7731 )
2023-06-14 13:07:20 +07:00
Alex Sharov
5ff8246e2a
e4: release some tests ( #7729 )
2023-06-14 10:01:00 +07:00
Alex Sharov
afd8ea94d0
e3: move domains to tables.go ( #7707 )
2023-06-11 21:12:05 +07:00
Alex Sharov
4766cd8aeb
e2: avoid do RestoreCodeHash twice ( #7706 )
...
- do it only once in HistoryStateReader
2023-06-11 12:28:47 +07:00
Alex Sharov
3b89ed81d6
e3: erigon_getBalanceChanges ( #7704 )
2023-06-11 11:49:53 +07:00
Andrew Ashikhmin
06af87dad7
EIP-4844: Increase Blob Throughput ( #7688 )
...
See https://github.com/ethereum/EIPs/pull/7154
2023-06-09 11:07:28 +02:00
Alex Sharov
1546a79771
lru lib version up ( #7695 )
2023-06-09 13:46:58 +07:00
Alex Sharov
afa4f53ae2
e3: use deserializeV3 for history ( #7691 )
2023-06-09 10:53:04 +07:00
Andrew Ashikhmin
4a74ee2589
EIP-4844: switch precompile input's z and y to big endian ( #7680 )
...
according to https://github.com/ethereum/EIPs/pull/7020 . Prerequisite:
https://github.com/ledgerwatch/erigon-lib/pull/1015 .
2023-06-07 17:33:15 +02:00
Andrew Ashikhmin
fa0cfcbec7
Remove the Rinkeby testnet ( #7677 )
...
See https://github.com/ethereum/go-ethereum/pull/27406
2023-06-07 07:42:36 +02:00
Mark Holt
37a8450d5f
Added non root logger to bor.ValidatorSet ( #7668 )
...
I've added a non root logger to bor.ValidatorSet validator set. This
creates a signature change on a number of calling functions to propagate
the logger. This is mostly constrained to the bor package but impacts a
number of tests and utilities which call the validators set.
2023-06-06 10:55:59 +01:00
Alex Sharov
d703c3cd8e
e3: Fix integration tests, step 2 ( #7673 )
2023-06-06 15:51:04 +07:00
Alex Sharov
bf9f5067f3
fix integration tests run ( #7672 )
2023-06-06 13:49:01 +07:00
Alex Sharov
6c129e5f1d
e3: agg generalize PutIdx method ( #7671 )
2023-06-06 11:29:30 +07:00
Alex Sharov
e14664d53b
Store Canonical/NonCanonical/Bad blocks/senders/txs in same tables. Make re-org cheaper ( #7648 )
...
- allow store non-canonical blocks/senders
- optimize re-org: don't update/delete most of data
- allow mark chain as `Bad` - will be not visible by eth_getBlockByHash,
but can read if have hash+num
2023-06-05 12:36:24 +07:00
Alex Sharov
26f9c064ac
mainnet: more block snapshots ( #7662 )
2023-06-05 11:25:37 +07:00
Alex Sharov
c8e717c957
rawdb methods to rw db schema version ( #7653 )
2023-06-04 09:20:22 +07:00
Alex Sharov
63c92010cd
remove txsV3 cli flag ( #7644 )
2023-06-03 15:54:27 +07:00
Alex Sharov
ad72b7178e
prune speedup. stage_senders: don't re-calc existing senders ( #7643 )
...
- stage_senders: don't re-calc existing senders
- stage_tx_lookup: prune less blocks per iteration - because
random-deletes are expensive. pruning must not slow-down sync.
- prune data even if --snap.stop is set
- "prune as-much-as-possible at startup" is not very good idea: at
initialCycle machine can be cold and prune will cause big downtime, no
reason to produce much freelist in 1 tx. People may also restart erigon
- because of some bug - and it will cause unexpected downtime (usually
Erigon startup very fast). So, I just remove all `initialSync`-related
logic in pruning.
- fix lost metrics about disk write byte/sec
2023-06-03 12:30:53 +07:00
Alex Sharov
d40317c905
preparation for --txs.v3, step 2 ( #7636 )
2023-06-03 07:20:22 +07:00
Andrew Ashikhmin
190bc9dfd8
EIP-4844: add data_gas_used ( #7639 )
...
Implement https://github.com/ethereum/EIPs/pull/7062 and
https://github.com/ethereum/EIPs/pull/7095 . Pick up
https://github.com/ledgerwatch/erigon-lib/pull/1006 .
2023-06-02 21:26:19 +01:00
Alex Sharov
6439bdd835
txsv3: release small parts ( #7632 )
2023-06-02 11:38:20 +07:00
Alex Sharov
b163d3a877
e3: release some e4 parts ( #7629 )
2023-06-02 10:55:40 +07:00
Alex Sharov
5fb31ae95f
e3: release some e4 parts ( #7628 )
2023-06-02 10:35:26 +07:00
Alex Sharov
2278bf5bfc
e3: move kvlist to erigon-lib ( #7625 )
2023-06-02 09:51:16 +07:00
Alex Sharov
7c89afcb42
e3: add kvlist.push method ( #7624 )
2023-06-02 09:24:22 +07:00
Alex Sharov
299c81e522
move "makeBodiesCanonical" method to blockWriter ( #7605 )
2023-05-31 15:44:01 +07:00
Alex Sharov
3cba3908dd
use BlockReader.CanonicalHash method instead of rawdb ( #7604 )
2023-05-31 13:41:10 +07:00
Alex Sharov
af83845f7e
cheaper isCanonicalHash func, less lookups of blockHash by blockNum in rpc ( #7603 )
2023-05-31 11:26:38 +07:00
Alex Sharov
3ec7d9b010
receipts: less allocs in DeriveFields, use blockReader, remove ReadReceiptsByHash, gasPriceOracle don't read block twice and use blockLru ( #7592 )
...
preparation for adding BlockID
2023-05-27 16:39:14 +07:00
Alex Sharov
279e1bec33
use blockReader as service-provider of RoSnapshots ( #7584 )
2023-05-26 17:12:33 +07:00
Andrew Ashikhmin
a47e49ced6
Fix fork ID test for Chiado ( #7576 )
...
Fix a test after PR #7575
2023-05-25 07:59:33 +02:00
Alex Sharov
000dda6a37
blockReader in tests, step7 ( #7574 )
2023-05-25 10:56:59 +07:00
Alex Sharov
0c399e5082
blockReader tests, step5 ( #7572 )
2023-05-24 17:41:24 +07:00
Alex Sharov
179b138000
add blockReader to mining, blockchain_test ( #7569 )
2023-05-24 13:53:22 +07:00
Giulio rebuffo
faf62a0c11
Caplin: Adding SSZ generics ( #7542 )
...
This PR makes the SSZ encodings less demented and more compact/flexible
overall
2023-05-23 20:58:34 +02:00
Alex Sharov
63afe65686
Use BlockReader in ForkValidator, CliqueAPI ( #7562 )
2023-05-23 14:49:17 +07:00
Alex Sharov
4d0dee6fb0
Introduce BlockWriter object (txsV3 step 0) ( #7559 )
2023-05-22 15:49:21 +07:00
racytech
65efc92af3
eip-4844: vm and engine_api extensions, minor fixes/changes ( #7514 )
2023-05-19 18:43:04 +01:00
ledgerwatch
b382f96f6c
Introduce logger into etl ( #7537 )
...
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-05-18 21:20:07 +01:00
ledgerwatch
e75ea786c0
[devnet tool] separate logging ( #7526 )
...
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro-2.local>
2023-05-17 07:36:06 +01:00
Andrew Ashikhmin
ea9712f858
Schedule Shapella on Chiado ( #7518 )
...
See https://github.com/NethermindEth/nethermind/pull/5160 ,
https://github.com/NethermindEth/nethermind/pull/5688 , and
https://github.com/gnosischain/configs/pull/11
2023-05-16 23:50:09 +02:00
Alex Sharov
7a4114d55d
cmd/evm: genesis db cleanup ( #7517 )
2023-05-15 11:07:13 +07:00
Roberto Bayardo
8356f3a320
use ssz from updated erigon-lib ( #7490 )
...
ssz/clonable interfaces have been moved to erigon-lib so they can be
shared with the txpool code there
2023-05-11 12:54:20 +01:00
Andrew Ashikhmin
771c6fc202
Rename Serenity consensus engine to Merge ( #7475 )
...
[EIP-2982](https://eips.ethereum.org/EIPS/eip-2982 ) "Serenity Phase 0"
was superseded by [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675 )
"Upgrade consensus to Proof-of-Stake"
2023-05-09 18:45:33 +01:00
racytech
42e8db3958
eip-4844: modified DecodeTransaction version 1 ( #7442 )
...
Blob transactions are SSZ encoded, so it had to be added to decoding.
There are 2 encoding forms: `network` and `minimal` (usual). Network
encoded blob transactions include "wrapper data" which are `kzgs`,
`blobs` and `proofs`, and decoded by `DecodeWrappedTransaction`. For
previous types of transactions the network encoding is no different.
Execution-payloads / blocks use the minimal encoding of transactions. In
the transaction-pool and local transaction-journal the network encoding
is used.
Concerns:
1. Possible performance reduction caused by these changes, not sure if
streams are better then slices. Go slices in this modifications are
read-only, so they should be referred to the same underlying array and
passed by a reference.
2. If `DecodeWrappedTransaction` and `DecodeTransaction` will create
confusion and should be merged into one function.
2023-05-09 18:44:53 +01:00
Andrew Ashikhmin
f3144a6ed0
Proper Gnosis Chain rewards in trace_block ( #7473 )
2023-05-09 17:19:23 +02:00
Alex Sharov
acd9a25321
e4: chain_makers to not work on PlainState ( #7470 )
2023-05-09 11:50:28 +07:00