forked from bnb-chain/bsc
-
Notifications
You must be signed in to change notification settings - Fork 5
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
feat: merge with upstream v1.5.5 #69
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Adds support non-legacy transaction-signing using ledger --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
This change updates the EIP-712 implementation to resolve [#30619](ethereum/go-ethereum#30619). The test cases have been repurposed from the ethers.js [repository](https://github.com/ethers-io/ethers.js/blob/main/testcases/typed-data.json.gz), but have been updated to remove tests that don't have a valid domain separator; EIP-712 messages without a domain separator are not supported by geth. --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
… and fork (#30442) When `evm statetest --bench` is specified, benchmark the execution similarly to `evm run`. Also adds the ability to filter tests by name, index and fork. --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
This PR moves chain config related code (config file processing, fork logic, network defaults) from `beacon/types` and `beacon/blsync` into `beacon/params` while the command line flag logic of the chain config is moved into `cmd/utils`, thereby removing the cli dependencies from package `beacon` and its sub-packages.
This change invokes the OnCodeChange hook when selfdestruct operation is performed, and a contract is removed. This is an event which can be consumed by tracers.
Co-authored-by: Martin HS <martin@swende.se>
Adds a protocol handler fuzzer to fuzz the ETH68 protocol handlers
Fix panic in tests
add unit tests for `p2p/addrutil` --------- Co-authored-by: Martin HS <martin@swende.se>
fixes a typo on one of the postmortems
Fixes an error in the binary iterator, adds additional testcases --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
This is one further step towards removing account management from `geth`. This PR deprecates the flag `unlock`, and makes the flag moot: unlock via geth is no longer possible.
The [kilic](https://github.com/kilic/bls12-381) bls12381 implementation has been archived. It shouldn't be necessary to include it as a fuzzing target any longer. This also adds fuzzers for G1/G2 mul that use inputs that are guaranteed to be valid. Previously, we just did random input fuzzing for these precompiles.
This adds an API method `DropTransactions` to legacy pool, blob pool and txpool interface. This method removes all txs currently tracked in the pools. It modifies the simulated beacon to use the new method in `Rollback` which removes previous hacky implementation that also erroneously reset the gas tip to 1 gwei. --------- Co-authored-by: Felix Lange <fjl@twurst.com>
Continuation of ethereum/go-ethereum#30381
In many cases, there is a need to create somewhat nontrivial bytecode. A recent example is the verkle statetests, where we want a `CREATE2`- op to create a contract, which can then be invoked, and when invoked does a selfdestruct-to-self. It is overkill to go full solidity, but it is also a bit tricky do assemble this by concatenating bytes. This PR takes an approach that has been used in in goevmlab for several years. Using this utility, the case can be expressed as: ```golang // Some runtime code runtime := program.New().Ops(vm.ADDRESS, vm.SELFDESTRUCT).Bytecode() // A constructor returning the runtime code initcode := program.New().ReturnData(runtime).Bytecode() // A factory invoking the constructor outer := program.New().Create2AndCall(initcode, nil).Bytecode() ``` We have a lot of places in the codebase where we concatenate bytes, cast from `vm.OpCode` . By taking tihs approach instead, thos places can be made a bit more maintainable/robust.
This pull request refactors the EVM constructor by removing the TxContext parameter. The EVM object is frequently overused. Ideally, only a single EVM instance should be created and reused throughout the entire state transition of a block, with the transaction context switched as needed by calling evm.SetTxContext. Unfortunately, in some parts of the code, the EVM object is repeatedly created, resulting in unnecessary complexity. This pull request is the first step towards gradually improving and simplifying this setup. --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
* fix compile for statedb_test.go * format addresses of core/vm/contracts * fix compilation of package simulated * tests: update tests * remove rootParent in triePrefetcher * add ClearAccessList for processing system txs before Cancun * copy prefetcher when copy statedb * always prefetch the account trie once the prefetcher is constructed * recover TriePrefetchInAdvance * fix comment for s.StopPrefetcher * fix noTrie in statedb.go * improve SnapToDiffLayer * fix test cases in core/state * fix compilation of test cases in core * fix compilation of test cases in cmd, internal and trie * remove Requests in BlockBody * define RequestsHash in parlia engine * fix compilation of test cases in eth * fix compilation of test cases in ethclient and miner * fix compilation of test cases in triedb/pathdb * add todo for relation between witness and noTrie * fix Nancy CI * fix golangci-lint part I * update golang to 1.23.x from 1.21.x in workflows * remove sepoliaAllocData and holeskyAllocData * modifiy interface FinalizeAndAssemble * fix golangci-lint part II * fix golangci-lint part III * fix golangci-lint done * check for multidb * improve interface EnableBlockValidator * fix getGenesisState * code review for core/rawdb * fix mustCopyTrie * fix state_processor * adapt for changes in func NewBlock * improve EncodeSigHeader * fix test cases in dir core, part I * fix TestParliaBlobFeeReward * fix repairHistory * remove diskdb in triedb.Database * fix asyncnodebuffer * adapt memory freezer for blob table * comment verkle related test cases * fix golang lint * use 1.21.x to run golangci-lint * fix TestBsc1Messages * fix TestSnapSyncWithBlobs * fix traceTx * update golang version for docker * improve newWorker * fix: truncate state history ut * TestTailTruncateHistory clear up * fix test cases in dir tests * remove deprecated flags in truffle test * comment filterNode * HeaderChain.GenesisHeader * fix golangcilint * fix truffle-test CI * update .nancy-ignore to avoid conflicts with develop branch * update diff go-ethereum patch * remove isTTDReached in worker * fix mockparlia FinalizeAndAssemble * fix golangci-lint * fix makeEnv * change log level for tri prefetch --------- Co-authored-by: joeylichang <joeycli0919@gmail.com> Co-authored-by: joey <joeycli@tencent.com>
Follow-up to #30745 , this change removes some unnecessary parameters.
Here we add some more changes for live tracing API v1.1: - Hook `OnSystemCallStartV2` was introduced with `VMContext` as parameter. - Hook `OnBlockHashRead` was introduced. - `GetCodeHash` was added to the state interface - The new `WrapWithJournal` construction helps with tracking EVM reverts in the tracer. --------- Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
upstream: merge geth date 0205
Co-authored-by: lightclient <lightclient@protonmail.com>
Draft release v1.5.5
upstream: merge geth v1.15.0
upstream: merge geth v1.15.0
Boomtokn
approved these changes
Feb 10, 2025
18c9eaf
to
50dad58
Compare
50dad58
to
681c091
Compare
zlacfzy
approved these changes
Feb 11, 2025
zlacfzy
approved these changes
Feb 11, 2025
setunapo
approved these changes
Feb 12, 2025
zzzckck
approved these changes
Feb 12, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
add a description of your changes here...
Rationale
tell us why we need these changes...
Example
add an example CLI or API response...
Changes
Notable changes: