Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bsp-geth-DTM-RC:v1.7.0 #193

Merged
merged 125 commits into from
Mar 13, 2024
Merged

Bsp-geth-DTM-RC:v1.7.0 #193

merged 125 commits into from
Mar 13, 2024

Conversation

noslav
Copy link
Member

@noslav noslav commented Mar 13, 2024

Support for Dencun upgrade on Ethereum mainnet go-ethereum v1.13.14

karalabe and others added 30 commits January 11, 2024 19:24
* Fix broken badge in README.md

Replaced broken Github link with IPFS link for long-term storage.

* update go badge

Co-authored-by: lightclient <[email protected]>

---------

Co-authored-by: lightclient <[email protected]>
* accounts, ethclient: minor tweaks on the new simulated backend

* ethclient/simulated: add an initial batch of gas options

* accounts, ethclient: remove mandatory gasLimit constructor param

* accounts, ethclient: minor option naming tweaks
This test was failling consistently on the github 32-bit build probably due to slow IO. Skipping it for that green check.
Given the discussions around deprecating pending (see #28623 or ethereum/execution-apis#495), we can move away from using the pending block internally, and use latest instead
Updates the reference tests to the latest version
This should fix a rare hang in waitSnapExtension during shutdown.
 In the tracing tests, the base fee was generally set to nil. This commit changes this to pass the proper base instead, and fixes the few tests which become broken by the change.
EIP-4844 adds a new transaction type for blobs. Users can submit such transactions via `eth_sendRawTransaction`. In this PR we refrain from adding support to `eth_sendTransaction` and in fact it will fail if the user passes in a blob hash.

However since the chain can handle such transactions it makes sense to allow simulating them. E.g. an L2 operator should be able to simulate submitting a rollup blob and updating the L2 state. Most methods that take in a transaction object should recognize blobs. The change boils down to adding `blobVersionedHashes` and `maxFeePerBlobGas` to `TransactionArgs`. In summary:

- `eth_sendTransaction`: will fail for blob txes
- `eth_signTransaction`: will fail for blob txes

The methods that sign txes does not, as of this PR, add support the for new EIP-4844 transaction types. Resuming the summary:

- `eth_sendRawTransaction`: can send blob txes
- `eth_fillTransaction`: will fill in a blob tx. Note: here we simply fill in normal transaction fields + possibly `maxFeePerBlobGas` when blobs are present. One can imagine a more elaborate set-up where users can submit blobs themselves and we fill in proofs and commitments and such. Left for future PRs if desired.
- `eth_call`: can simulate blob messages
- `eth_estimateGas`: blobs have no effect here. They have a separate unit of gas which is not tunable in the transaction.
The code to compute a versioned hash was duplicated a couple times, and also had a small
issue: if we ever change params.BlobTxHashVersion, it will most likely also cause changes
to the actual hash computation. So it's a bit useless to have this constant in params.
This change enables Cancun 

- Sepolia at 1706655072 (Jan 31st, 2024)
- Holesky at 1707305664 (Feb 7th, 2024)

Specification: ethereum/execution-specs#860
This change simplifies the logic for indexing transactions and enhances the UX when transaction is not found by returning more information to users.

Transaction indexing is now considered as a part of the initial sync, and `eth.syncing` will thus be `true` if transaction indexing is not yet finished. API consumers can use the syncing status to determine if the node is ready to serve users.
This change makes use of uin256 to represent balance in state. It touches primarily upon statedb, stateobject and state processing, trying to avoid changes in transaction pools, core types, rpc and tracers.
karalabe and others added 28 commits February 20, 2024 11:37
* core/txpool, eth, miner: retrieve plain and blob txs separately

* core/txpool: fix typo, no farming

* miner: farm all the typos

Co-authored-by: Martin HS <[email protected]>

---------

Co-authored-by: Martin HS <[email protected]>
params: add cancun banner

Signed-off-by: tmelhao <[email protected]>
Co-authored-by: tmelhao <[email protected]>
* fix typos

* address comments
eth_call and debug_traceCall allow users to override various block fields, among them base fee. However the overriden base fee was not considered for computing the effective gas price of that message, and instead base fee of the base block was used. This has been fixed in this commit.
This PR enhances eth_createAccessList RPC call to support scenarios where the node is launched with an unlimited gas cap (--rpc.gascap 0). The eth_createAccessList RPC call returns failure if user doesn't explicitly set a gas limit.
* eth/catalyst: the same error format

Signed-off-by: tmelhao <[email protected]>

* eth/catalyst: wrong error message for payloadV2 post-cancun

Signed-off-by: tmelhao <[email protected]>

* eth/catalyst: parentBeaconBlockRoot -> parentBlockBeaconRoot

Signed-off-by: tmelhao <[email protected]>

* apply commit review

Signed-off-by: tmelhao <[email protected]>

---------

Signed-off-by: tmelhao <[email protected]>
Co-authored-by: tmelhao <[email protected]>
…081)

* make blobpool reject blob transactions with fee below the minimum

* core/txpool: some minot nitpick polishes and unified error formats

* core/txpool: do less big.Int constructions with the min blob cap

---------

Co-authored-by: Péter Szilágyi <[email protected]>
Add space after links in so they are clickable in vscode.
xcore/txpool/blobpool: reduce default database cap for rollout
* core/txpool: no need to run rotate if no local txs

Signed-off-by: jsvisa <[email protected]>

* Revert "core/txpool: no need to run rotate if no local txs"

This reverts commit 17fab173883168c586d57ca9c05dfcbd9e7831b4.

Signed-off-by: jsvisa <[email protected]>

* use Debug if todo is empty

Signed-off-by: jsvisa <[email protected]>

---------

Signed-off-by: jsvisa <[email protected]>
…9095)

declare the 'already reserved' error in errors.go
Support Dencun upgrade on bsp-geth with blobs
Copy link

codecov bot commented Mar 13, 2024

Codecov Report

Attention: Patch coverage is 43.45603% with 1106 lines in your changes are missing coverage. Please review.

Project coverage is 57.29%. Comparing base (2d2607f) to head (e82ed55).
Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #193      +/-   ##
==========================================
+ Coverage   57.23%   57.29%   +0.06%     
==========================================
  Files         593      600       +7     
  Lines       79133    80100     +967     
==========================================
+ Hits        45290    45896     +606     
- Misses      30095    30330     +235     
- Partials     3748     3874     +126     
Files Coverage Δ
accounts/abi/abi.go 83.70% <ø> (ø)
cmd/devp2p/internal/ethtest/conn.go 56.52% <100.00%> (ø)
cmd/geth/logtestcmd_active.go 100.00% <ø> (ø)
cmd/geth/main.go 44.02% <100.00%> (+0.61%) ⬆️
core/evm.go 69.84% <100.00%> (ø)
core/rawdb/accessors_chain.go 61.38% <ø> (+1.07%) ⬆️
core/rawdb/database.go 9.20% <ø> (+0.02%) ⬆️
core/rawdb/schema.go 29.76% <ø> (ø)
core/state/database.go 60.31% <100.00%> (ø)
core/state/journal.go 89.13% <ø> (ø)
... and 127 more

... and 37 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2d2607f...e82ed55. Read the comment docs.

@noslav noslav merged commit 90e699b into main Mar 13, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.