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

Update from original repo #2

Merged
merged 526 commits into from
Aug 21, 2023
Merged

Update from original repo #2

merged 526 commits into from
Aug 21, 2023

Conversation

stan7123
Copy link
Collaborator

No description provided.

acolytec3 and others added 30 commits May 12, 2023 10:55
* Draft various release notes

* CHANGELOG updates

* Version bump, updated upstream dependency versions, @ethereumjs/util v8.0.6

* Version bump, updated upstream dependency versions, @ethereumjs/common v3.1.2

* Version bump, updated upstream dependency versions, @ethereumjs/tx v4.1.2

* Version bump, updated upstream dependency versions, @ethereumjs/trie v5.0.5

* Add additional @chainsafe/ssz notes to CHANGELOG files of other libraries

* Version bump, updated upstream dependency versions, updated (all) client @ethereumjs dependencies, @ethereumjs/devp2p v5.1.2

* Version bump, updated upstream dependency versions, @ethereumjs/statemanager v1.0.5

* Version bump, updated upstream dependency versions, @ethereumjs/block v4.2.2

* Version bump, updated upstream dependency versions, @ethereumjs/ethash v2.0.5

* Version bump, updated upstream dependency versions, @ethereumjs/blockchain v6.2.2

* Version bump, updated upstream dependency versions, @ethereumjs/evm v1.3.2

* Version bump, updated upstream dependency versions, @ethereumjs/vm v6.4.2

* Version bump, @ethereumjs/client v0.7.1

* Rebuild package-lock.json

* Rebuild relevant documentation

* Updated @chainsafe/ssz related CHANGELOG entries
When preparing Ethereum data for RLP encoding, you must convert all values to either byte arrays or lists.  Scalar values (positive integers) are converted to byte arrays by using the fewest bytes possible to represent the value in big endian format.  The canonical form of any scalar value prepped for RLP encoding is that any leading `0` bytes stripped.  In the case of `0`, this means that the only byte (`0x00`) is stripped and you are left with an empty array.

Most of the values in this code are properly 0-stripped using `bigIntToUnpaddedBuffer`.  Unfortunately, it appears that the `chainId` was added without stripping leading zeros.  In most cases this doesn't matter, but if someone is running a chainId 0 blockchain and they want to EIP-155 encode their transaction, the previous code would result in an invalid transaction because only the canonical form is allowed.

This change fixes this bug and correctly prepares the chainId in EIP-155 transactions for RLP encoding.
* Monorepo: remove dynamic external node version check, statically set to 16,18,20

* Remove get-node-versions entirely

* Remove pull request trigger

---------

Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com>
Merge develop-v7 into master (v2?) (V7 releases)
* evm: Fix the availability of versioned hashes in contract calls

* add spec tests

* compress comments

* compress comments

* increase coverage

* evm: ensure DATAHASH also works in CREATE/CREATE2 frames

* vm: load c-kzg in tests

* Fix dataGasPrice logic

* Add precompile error handling

---------

Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com>
Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com>
Co-authored-by: acolytec3 <konjou@gmail.com>
client: Enable default debug logging to file
…ript, new tsconfig.prod.esm.json configuration files
Co-authored-by: Micah Zoltu <micah@zoltu.net>
g11tech and others added 29 commits August 2, 2023 21:49
* client: test and update devnet 8 integration sims

* Client test import fix

---------

Co-authored-by: Holger Drewes <Holger.Drewes@gmail.com>
* Remove duplicate test skips

* Remove tests that finish all assertions in roughly less than 10 seconds

* Remove nonexistant tests
* client: add support for multiple same-type messages over devp2p

* client/net/sync/boundprotocol: fix timeout deadlock
* hive cancun test runner [no ci]

* temp: update header to run hive genesis [no ci]

* block/client: ensure eth_getBlock returns parentBeaconBlockRoot [no ci]

* Broadcast pooled txs to newly added peers

* Move newPooledTx broadcast listener to fullEthereumService

* Small fixes

* Fix eth68 message encoding to match geth

* client: add UNSUPPORTED_FORK error code [no ci]

* client: fix replacement blob gas [no ci]

* client: fix NewPooledTransactionHashes decoder

* common: restore cancun fork

* Fix broken engine test

* client: fix txpool timing out

* client: fix txpool test

* update code comment

* remove async from sendNewTxHashes

* undo not needed change

* use TransactionType enum

---------

Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com>
Co-authored-by: harkamal <gajinder@g11.in>
* Collapse ethereumservice into service

* Clean up ethereumservice references
* block: optimize validator

* header: correctly choose inferred type (support `null` as excessBlobGas / blobGasUsed)
* evm: ensure selfdestruct account is cleared prior to updating target [no ci]

* evm: fix SENDALL EIP 6780
* tx/block/vm: update maxFeePerBlobGas casing

* client: fix maxFeePerBlobGas casing
tests: also fix casing
…faulted to mainnet (#2948)

* Throw error if "dev" option is passed in without a value

* Remove log statements

* Add test for "dev" option being passed in without a value

* Update test
…rface Extension (#2922)

* Initial version of storageRangeAt().

* Update input validation of storageRangeAt().

* Add validator for unsigned integers.

* remove return await

---------

Co-authored-by: KoningR <KoningR@users.noreply.github.com>
Co-authored-by: Scotty <66335769+ScottyPoi@users.noreply.github.com>
Co-authored-by: Holger Drewes <Holger.Drewes@gmail.com>
* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Block)

* Correct Block dependency version to include ^

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Blockchain)

* Bump client version

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Common)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (devp2p)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Ethash)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (EVM)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Genesis)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (RLP)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (StateManager)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Trie)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Tx)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Util)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (VM)

* Add CHANGELOG base entry, bump version number, update upstream dependency versions (Wallet)

* Rebuild package-lock.json

* CHANGELOG updates with change diff since RC1 (partly RC2)

* Rebuild docs

* Small fixes

* Additional README updates

* Update packages/client/CHANGELOG.md

* Update packages/devp2p/CHANGELOG.md

* Small release note additions

---------

Co-authored-by: Gabriel Rocheleau <contact@rockwaterweb.com>
* client: fix newPayloadV2 having PayloadV3 params

* Update packages/client/src/rpc/modules/engine.ts

Co-authored-by: spencer <spencer.taylor-brown@ethereum.org>

---------

Co-authored-by: spencer <spencer.taylor-brown@ethereum.org>
* trie: improve util types and handling

* trie: undo some trie modifications

* trie: redo trie simplifications

* trie: remove null return from lookup node
* client: fix newPayloadV2 having PayloadV3 params

* client: update shanghai/cancun engine api specs

* evm/vm/common: remove beacon root precompile

* tx: fix 4844 not charging for access list gas in vm

* vm: fix eip4788 tests
…2950)

* trie: allow trie put/del ops to skip transforming key

* add ability to test against the synced snap trie

* fix spec

* match entire state

* add spec to trie test

* fix and edge case

---------

Co-authored-by: Scorbajio <indigophi@protonmail.com>
in the kbucket implementation the dontSplit attribute of KBucketNode is typed as bool, but was checked wit "!== undefined" which always was true. This caused KBucket.add to never split the leaf node and therefore kept the kbucket as a single level tree with a maximum of _numberOfNodesPerKBucket entrys in total.
* Test that error is thrown

* Test if account exists

* Test clearContractStorage

* Remove unused import
* common: handle forkHash on timestamp == genesis timestamp

* Update packages/common/src/utils.ts

Co-authored-by: g11tech <gajinder@g11.in>

---------

Co-authored-by: g11tech <gajinder@g11.in>
* Add assert to check if account trie root matches expected

* Use hashed tries

* Skip tasks with limit lower than the highest known account key hash

* Remove log statements

* Update test

* Use a object that is different from null object for termination check

* Add tests for highestKnownHash optimization for account fetcher

* Revert "Use hashed tries"

This reverts commit d026655.

---------

Co-authored-by: g11tech <gajinder@g11.in>
* Refactor headerfetcher.spec.ts to use vi instead of td

* Refactor skeleton.spec.ts to use vi instead of td

* Refactor newPayloadV2.spec.ts to use vi instead of td

* Refactor newPayloadV1.spec.ts.spec.ts to use vi instead of td

* Remove unused variable

* Use longer timeout for locally failing tests

* Refactor client.spec.ts to use vi instead of td

* Remove commented out code

* Refactor pendingBlock.spec.ts to use vi instead of td

* Refactor beaconsync.spec.ts to use vi instead of td

* Refactor peerpool.spec.ts to use vi instead of td

* Refactor snapsync.spec.ts to use vi instead of td

* Remove unused variable

* Refactor fullsync.spec.ts to use vi instead of td

* Remove commented code

* Refactor rlpxserver.spec.ts to use vi instead of td

* Refactor miner.spec.ts to use vi instead of td

* fix rlpxserver test

* Increate timeout for ethash PoW test

* Fix linting issues

* Remove extraneous td reference

* Add some any to skip typing errors

---------

Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com>
* Refactor esm to cjs and db usage

* Update level implementation to match current api

---------

Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com>
* trie: remove console logs from test

* add debug package

* walk log helper functions

* add walk demo

* commit lock

* Clean up demo and turn on debug logs during run

---------

Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com>
@stan7123 stan7123 merged commit 6f9ad7c into imapp-pl:master Aug 21, 2023
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.