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

[pull] master from ethereumjs:master #92

Open
wants to merge 2,398 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 23, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Apr 23, 2021
@codecov-commenter
Copy link

Codecov Report

Merging #92 (e9de55f) into master (e8f46ff) will increase coverage by 4.47%.
The diff coverage is 85.19%.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

Impacted file tree graph

Flag Coverage Δ
block 90.12% <85.19%> (+9.81%) ⬆️
blockchain 90.11% <ø> (+5.94%) ⬆️
client 87.76% <ø> (+3.40%) ⬆️
common 95.82% <ø> (+8.95%) ⬆️
devp2p 91.62% <ø> (+7.60%) ⬆️
ethash ∅ <ø> (∅)
evm 83.36% <ø> (?)
rlp ∅ <ø> (?)
statemanager 89.61% <ø> (?)
trie 90.36% <ø> (?)
tx 93.71% <ø> (+11.45%) ⬆️
util 84.50% <ø> (?)
vm 84.05% <ø> (+2.71%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

gabrocheleau and others added 28 commits April 15, 2024 21:03
* client: fix misc tsc issues

* Merge branch 'master' into client/fix-tsc-issues

* Merge branch 'master' into client/fix-tsc-issues
* cleanly apply stem changes from gabriels commit

* fix exports [no ci]

* statemanager: update kaustinen block test data

* statemanager: update account balance and nonce

* evm: fix failing tests

* client: update kaustinen6 data

* genesis: fix test

* block: undo FromBeaconPayload export addition

* Cleanup, add browser tests

* Fix type export

---------

Co-authored-by: harkamal <[email protected]>
Co-authored-by: acolytec3 <[email protected]>
* util: update prefixedHexString using literal string template

* util: fix type issues related to prefixed hex strigs

* monorepo: implement PrefixedHexString related fixes

* tx: more type fixes

* vm: more type fixes

* tx: more type fixes

* vm: fix to empty string handling

* vm: fix storage key typings

* vm: fix storage vlue typings

---------

Co-authored-by: acolytec3 <[email protected]>
* fix the history length and charge blockhash gas

* fix the historial window typo

* fix the code offset outof bounds error and failing post state verification because of missing cache persist

* allow the kautistine spec to handle missed slots

* overhaul and fix/remove the 2929 charges when cold access charges have been charged
* Add prometheus and txGuage for tx pool transaction count

* Use import instead of require

* Add cli option for enabling prometheus server

* Fix test

* Include typings for prometheus parameters

* Update test timeouts

* Update package files

* Remove unneeded dep

* Update packages/client/src/service/txpool.ts

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

* Update packages/client/src/service/txpool.ts

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

* Update packages/client/src/service/txpool.ts

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

* Track transaction in pool count by transaction type

* Add test to verify tx count is incremented with prometheus gauge after transaction is added to pool

* nits

* Add prometheus port

* Overhaul placement and management of metrics server

* Fix typing

* Generalize port number in comment

---------

Co-authored-by: acolytec3 <[email protected]>
* vm: fix eip3540 tests

* util: improve bytes util typing and natspec

* vm: fix some tests

* monorepo: improve and fix some msc types

* client: fix type issues in eth rpc module

* block: remove unnecessary comment

* client: fixes related to PrefixedHexString type

* evm: PrefixedHexString adjustments

* vm: preimages type

* util: isNestedUint8Array typeguard

* client: fix type

* util: fix type issues in bytes

* monorepo: more type improvements

* monorepo: more type fixes

* monorepo: address outstanding type issues

---------

Co-authored-by: Holger Drewes <[email protected]>
* Client -> Peer: add lastEthStatusUpdate property to Peer, set initially on protocol binding, small local refactor

* Redo handshake in client peer pool periodically, add force option to sendStatus for devp2p protocols

* Some basic refinement of peer pool periodic request logic (refactor preparation)

* Client: consolidate latest() method in base Synchronizer class

* Client: add preparatory updatedBestHeader to Peer, refactor latest() to move from Sync -> Peer

* Client: add potential best header num differentiated logic to Peer, latest() call on peers in peer pool

* Client: add Fetcher hack to call peer.latest()

* Various cleanups

* Client: Fix lightsync.spec.ts tests

* Some clean-ups

* Client: Fix beaconsync.spec.ts tests

* Client: Fix fullsync.spec.tst tests

* Client: Fix snapsync.spec.ts tests

* Client: Fix fetcher tests

* Client: Fix eth syncing.spec.ts tests

* Client: Fix integration tests

* Client: Backup lightsync integration tests (lightsync not supported anymore)

* Lightsync tests deprecation note

* Make lightsync tests run (but fail)

* Client: Removed doubled lightsync integration test file

---------

Co-authored-by: acolytec3 <[email protected]>
Co-authored-by: Scorbajio <[email protected]>
* Suffix changes

* update package lock

* Add esm run script

* Remove require statements

* Remove remaining require statements

* Turn off CI

* Tell vitest to use esm config

* Update docker file

* necessary changes

* Namespace imports

* update dockerfile

* Make client ESM only

* Remove fs-extra [no ci]

* More typing cleanup

* Lint

* Revert "Turn off CI"

This reverts commit c1fb759.

* Address feedback

* Add recursive check back

* Update npm scripts

* Update packages/client/src/sync/fetcher/storagefetcher.ts

* address feedback

* format: fix linting

---------

Co-authored-by: Gabriel Rocheleau <[email protected]>
Co-authored-by: Holger Drewes <[email protected]>
…3365)

* Add networkWrapperToJson with extended eip 4844 data included

* Test networkWrapperToJson function

* Fix linting issue

* Add docstring

* Update packages/tx/test/eip4844.spec.ts

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

* Update packages/tx/src/eip4844Transaction.ts

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

* Update packages/tx/src/eip4844Transaction.ts

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

* Rename ExtendedJsonTx to JsonBlobTxNetworkWrapper

---------

Co-authored-by: acolytec3 <[email protected]>
* evm: ignore precompile addresses for some target access events

* fix the precompile check

* remove comment
* common: add osaka hardfork and shift verkle to osaka

* fix the kaustinene 6 startup and transition to the verkle vm
* Remove unnecessary boolean comparisons when using isActivatedEIP

* Fix lint issues

* Fix errors
* client: update multiaddr dep

* client: update multiaddr usage

* devp2p: update multiaddr usage

* devp2p: test ci

* devp2p: fix convert to string

* devp2p: try to fix convert iport

* devp2p: remove multiaddr dep

* devp2p: remove util method that was already in the repo

* remove todo

---------

Co-authored-by: acolytec3 <[email protected]>
* Add request type to util

* Add requests to block

* Add requests root validation

* Add ordering checks

* Add note on requestsRoot non-determinism

* Rework request structure to use interface and base class

* Make requests optional

* Update ordering test

* Improve tests and remove unnecessary rlp encoding

* Reorder requests order [no ci]

* Add vm.runBlock

* add tests with requests

* Add buildblock changes and tests

* lint

* remove sorting function

* Add order check for requests when generating trie

* More fixes

* remove generic

* in flight fromValuesArray changes [no ci]

* update min hardfork to cancun [no ci]

* Throw on invalid requestsRoot [no ci]

* add scaffolding for pending requests in pendingBlock

* Update fromRPC constructors and toJSON methods

* Add requests to JsonRpcBlock

* update runBlock/buildBlock and tests

* Remove obsolete references

* fix hex typing

* Check for 7685 before adding requests

* address feedback

* address feedback
Error message had a typo
* common: add eip 7002

* vm: add 7002 request accumulation logic

* evm: support 7002

* vm: fix withdrawals address bug

* vm: add eip7002 test (wip) [no ci]

* vm: update eip7002 to use system call [no ci]

* vm: ensure requests get added to the generated block

* vm: expand 7002 tests [no ci]

* vm: eip7002: ensure generated block runs

* vm: eip7002 add error when contract is not deployed

* vm: cleanup commit

---------

Co-authored-by: acolytec3 <[email protected]>
#3392)

* block: fix the block body parsing as well as save/load from blockchain

* debug and fix block references on header save/get

* fix build

* debug and fix the missing requests in body raw/serialization

* lint
* 6110 changes, part 1

* Properly decode deposit log

* Add test for deposit requests with buildBlock

* Update test

* Fix lint issues

---------

Co-authored-by: Amir <[email protected]>
…#3395)

* client: simplify --ignoreStatelessInvalidExecs to just a boolean flag

* fixes
jochem-brouwer and others added 30 commits September 23, 2024 17:13
* update ethereum tests to v14.1

* specify browser deps to optimize

---------

Co-authored-by: acolytec3 <[email protected]>
* use noble bytes converters internally

* clean up benchmarks and comments

* Ensure bytes are bytes

* revert unnecessary bytes conversion

* Add devdep for verkle-crypto

* specify browser deps to optimize

* specify browser deps to optimize

* Remove commented code

* optimize deps everywhere

* Add bytes benchmark
* scaffolding

* broken WIP

* partial implementations

* fix getAccount

* add todo

* make trie.get accept suffixes

* clean up reference

* Add reserved bytes to encodeBasicData function

* FIx encoding again

* spelling [no ci]

* change param to account [no ci]

* Add support for basic account delete

* implement chunkify code

* Add putCode

* Move code to helpers

* getCode and getCodeSize

* Start work on tests

* Update magic numbers to constants

* Make get/putCode work

* Fix various get/putCode bugs

* add get/putstorage

* export SFVKSM [no ci]

* add commit/flush/revert

* Tests for caching

* make cspell happy

* lint

* add back missing method from interface

* Update packages/util/test/verkle.spec.ts

* Apply suggestions from code review

* address some feedback

* Update types and add test

* FIx commitment format

* Update verkle crypto and add proof test

* add max chunks constant

* delete account in put if no account

* spelling

* fix basic data encoding offsets

* remove console log

* Fix suffix logic

* wasm update

* update interface

* update package lock

* update verkle crypto wasm again

* console logs

* maybe another fix

* various fixes

* update tests

* Remove obsolete proof helpers

* add second test

* add explanatory comment for leaf marker

* Add safeguards to leafnode.create

* use correct randomBytes

---------

Co-authored-by: Gabriel Rocheleau <[email protected]>
* trie: Make debug logger tags use lower case naming

* verkle: Make debug logger tags use lower case naming

* trie: Update debug namespaces in README

* trie: Update debug examples to use lower case naming

* verkle: Update debug namespaces in README

* verkle: Update debug examples in README to use lower case naming

* trie: Print hex instead of bytes to console

* Change root debug namespaces to include a collon-hash to be included in wild-card namespaces

* Make base namespace end with colon-hash in docs and READMEs

* Do not calculate canoncial header if DEBUG is not set

* Fix spelling issue

* Fix spelling mistakes

* Make fetcher namespace use collon-pound

* Remove unnecessary check

* Add verkle core namespace option to README

* Update debug option description

* Fix spelling mistake in example

* Update trie README debug namespaces

* Add proof symbols to debug options list

* Make proof-related debug tags lowercase

* Put branch index in debug message and out of namespace

* Update verkle README debug namespaces

* Convert bytes before logging them

* Expand debug string logic and add branch index to it

* Do not convert bytes to hex

---------

Co-authored-by: Holger Drewes <[email protected]>
Co-authored-by: acolytec3 <[email protected]>
* trie: add RawNode types and replace EmbeddedNode type

* trie: implement new types in BranchNode class

* trie: improve extension and leaf node class architecture

* trie: small improvements

* trie: improve raw nodes comments

* trie: improve comments for raw nodes
* Expand trie checkpointing tests to include more exhaustive cases

* Fix async usage of test functions

* Separate checkpointing scenerio tests from preexisting checkpoint tests

* Update description string

* Remove redundant tests

* Fix lint issues
* Remove polyfill dep and fix tests

* remove `ethersproject/abi` dep

* Add explanatory note on calldata

* fix test

* remove console log

* Pin browser deps again

* pin browser deps again

* add ethersproject ABI back

* replace abi with ethersv6

* Update packages/vm/test/api/customChain.spec.ts

Co-authored-by: Jochem Brouwer <[email protected]>

* Add ethers back to customChains test.

* Fix another example

* fix another example

---------

Co-authored-by: Jochem Brouwer <[email protected]>
* trie: rename trie to mpt

* trie: fix example
* trie: rename trie to mpt

* trie: fix example

* trie: rename trie helpers to mpt

* verkle: fix type issues
…e.reward == 0 (#3720)

* t8n: do not create empty coinbase account from SpuriousDragon on state.reward == 0

* update t8ntool releated readmes

* make cspell happy

* await cleanup
* trie: trie package renaming to mpt

* adjust ci with mpt

* trie: trie package renaming to mpt

* adjust ci with mpt

* mpt: update version

* trie: renaming to mpt for clarity

* mpt: rename

* trie: adjust proof naming scheme

* trie: fix isRawMPTNode import

* trie: don't export internally used verifyRangeProof

* mpt: minor adjustments

* mpt: fix example script
* client: add getBlobsV1 to the client to support CL blob import

* add the getBlobV1 spec and debug/fix the api

* debug and fix pending block spec and add assertions there as well

* apply feedback

* fix the lint issues

* spell checl

* refac the cache length param to fix build

* fix breasking tests

* improvs

* apply params fix for 4844 custom common

* fix spec

* 128 len check

* verify cache pruning in the test spec

* lint/spell

* fix typecheck
* monorepo: remove unused deps

* client: remove unused deps

* README.md: update dependency graph

* move it-pipe to devDeps

---------

Co-authored-by: acolytec3 <[email protected]>
* update README.md to reflect trie -> mpt rename

* Rename all trie instances in readme to MPT

* rename trie issue to mpt issue

* trie -> mpt in template issue

* blockchain: remove tx dep

* t8n: add npx tsx to shell runner to use local env

* readme: correct all package deps

* test: remove rlp

* rlp -> util dep

---------

Co-authored-by: Gabriel Rocheleau <[email protected]>
* Add static Units class to utils package

* Add tests for Units class

* Make review changes

* Add tests for new error condition

* Add docstrings
* Refactor client package to use Units function for maxFeePerGas values

* Refactor vm package to use Units function for maxFeePerGas values

* Fix lint and typing issues

* Switch back to string for assertion

* Use Units.ether

* Fix lint issue

* More units conversions in vm package

* More units conversions in client package
* Add codecov token from secrets

* mpt: Add CODECOV_TOKEN to upload

* Update to codecov-action@v4

* Set token as env variable

* Test to see if codecov_token is set

* Compare if github token exists and use pinned v3 codecov action version

* Add check for token in GHA step and use v3

* Use secrets for codecov token

* Make codecov action output verbose

* Dummy commit to retrigger ci run

* Remove duplicate uses

* Fix mispelling

* Remove conditional

* Remove checkout action

* Use pinned version v3.0.0

* Make codecov_token passage required in workflow_call

* Use case sensistive spelling for token symbol

* Use inherit for secrets on codecov step of job

* Move secrets inheritence to calling job

* Remove unused comment

* Upgrade packages to use codecov v4 uploader with token

* Allow jobs that need codecov token to inherit from root build job
* client: attempt to fix some hive tests [no ci]

* client: fix test
* Add example for `getValueMap`

* Add more examples

* mpt: expand getValueMap tests (#3726)

* mpt: expand getValueMap tests

* break test by adding entry

* mpt: add extra getValueMap test (random key/values)

* Remove odd length key

---------

Co-authored-by: ScottyPoi <[email protected]>
Co-authored-by: acolytec3 <[email protected]>

* Add explanatory comment to docs

---------

Co-authored-by: Jochem Brouwer <[email protected]>
Co-authored-by: ScottyPoi <[email protected]>
* devp2p: Change path to lcov.info file

* Add cwd to env and deafult the working directory for runs

* Fix directory name

* Remove default]

* Run builds on push to master or new tag creation
* genesis: remove mpt devdep

* monorepo: package lock changes

---------

Co-authored-by: acolytec3 <[email protected]>
* switch events to eventemitter3

* lint

* remove cruft

* make client play nice

* fix tests

* Move blockchain off of asyncEventEmitter

* Modify evm emit function to handle async events

* update vm to use async events

* Allow sync and async listeners

* remove asynceventemitter

* typo and make typescript happy

* typo

* add events benchmark

* address feedback

* Call main function in example outside of own definition

---------

Co-authored-by: Amir <[email protected]>
* Remove unnecessary async calls

* add common event types

* Add devp2p event types

* rewrite eth-simulator test

* type cleanup

* small types cleanup

* more types cleanup

* make typecheck happy

* fix more typing

* make typechecker happier

* client: slightly improve test type

* devp2p: disconnectWe type

* devp2p: remove some anys

---------

Co-authored-by: Gabriel Rocheleau <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.