Skip to content

Commit

Permalink
V7 update to master 1 (#2593)
Browse files Browse the repository at this point in the history
* Added v7 release reference in main README table (#2562)

* common: Schedule shanghai on goerli (#2563)

* common: Schedule shanghai on goerli

* update timestamp

* util/tx: Shift ssz back to case dependency free ES2019 compatible version (#2564)

* util/tx: Shift ssz back to case dependency free ES2019 compatible version

* update package lock

* update karma ecma version

* VM: some optimization on the bnadd/bnmul precompiles to only copy over the necessary 128 bytes as input for the WASM call (#2568)

* EVM: Memory Fix & Other Optimizations (#2570)

* EVM: Rename evm debug logger to evm:evm (one for package, one for class), consistency, also, logger will otherwise be left out when run with evm:*

* VM: Rename message checkpoint to state checkpoint in debug message (there is a dedicated message checkpoint msg along msg logging)

* EVM: CALL/CREATE debug exit msg differentiation

* EVM: avoid buffer copy in memory read (performance)

* EVM: Rewrite runCall() checkpoint/revert conditional for readability/simplification

* EVM: Added EIP check for transient storage checkpointing

* EVM: Precompile Debug Logger Improvements (#2572)

* EVM: Added general precompile debug logger setup, first ECRECOVER exemplary debug logging

* EVM: Added remaining precompile debug loggers

* EVM: added error cases to BLS precompile debug log

* EVM: Added missing precompile return value debug logs

* Small fixes

* tx: ensure eip3860 txs can have more than max_initcode_size data if to field is non-empty (#2575)

* EVM: Avoid memory.read() Memory Copy (#2573)

* EVM: added avoidCopy parameter to memory.read() function, first test on CREATE opcode

* EVM: Add direct memory read to all calling opcodes

* EVM: Copy over memory on IDENTITY precompile

* EVM: remove length checks and return buffer 0-filling in Memory.read() (memory is uncoditionally being extended properly anyhow)

* Some optimizations

* blockchain: fix merge->clique transition (#2571)

* Client: ensure safe/finalized blocks are part of the canonical chain on forkchoiceUpdated (#2577)

* client/engine: ensure finalized/safe blocks are in canonical chain

* client: engine-api: fix finalized block check

* client/tests: fix forkchoice updated test

* client: add fcu tests to check if blocks are part of canonical chain

* client/engine: ensure payload has a valid timestamp forkchoiceUpdated (#2579)

* client/engine: ensure invalid blockhash response matches spec (#2583)

* client/engine: delete invalid skeleton blocks (#2584)

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

* Setup to dev/test snapsync with sim architecture (#2574)

* Setup to dev/test snapsync with sim architecture

* modfiy single-run to setup a lodestar<>geth node to snapsync from

* setup an ethereumjs inline client and get it to peer with geth

* cleanup setup a bit

* snapsync run spec

* get the snap testdev sim working

* finalize the test infra and update usage doc

* enhance coverage

* Use geth RPC to connect to ethJS

* refac wait for snap sync completion

---------

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

* client: Add safe and finalized blockoptions to the chain (#2585)

* client: Add safe and finalized blockoptions to the chain

* fix tests

* fix more tests

* fix remaining

* cleanup

* enhance coverage

* unset scheduled goerli timestamp based hfs colliding with test

* Client: Small Debug Helpers and CLI Improvements (#2586)

* Client: new constant MAX_TOLERATED_BLOCK_TIME for execution, added warning for slowly executed blocks

* Client -> Execution: NumBlocksPerIteration (default: 50) as an option

* Client: only restart RLPx server or log peer stats if max peers is set to be greater than 0

* Apply suggestions from code review

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

* Apply suggestions from code review

---------

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

* common: Schedule Shanghai on mainnet! (#2591)

* common: Schedule Shanghai on mainnet!

* clear hf timestamp for test

* VM: Diff-based Touched Accounts Checkpointing (#2581)

* VM: Switched to a more efficient diff-based way of touched account checkpointing

* VM: move accessed storage inefficient checkpointing problem to berlin, haha

* EVM: avoid memory copy in MLOAD opcode function

* Remove console.log() in EVM

* vmState: ensure touched accounts delete stack gets properly updated on commit

* vm/eei: save touched height

* vm/vmState: new possible fix for touched accounts

* vm/vmState: another attempt to fix touched accounts journaling

* vm: add journaling

* Check correct journal height on revert

---------

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

---------

Co-authored-by: Holger Drewes <[email protected]>
Co-authored-by: g11tech <[email protected]>
Co-authored-by: Jochem Brouwer <[email protected]>
  • Loading branch information
4 people authored Mar 20, 2023
1 parent 6949e89 commit 0518c68
Show file tree
Hide file tree
Showing 71 changed files with 1,665 additions and 281 deletions.
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,11 @@ Below you can find a list of the packages included in this repository.

The following are our currently active branches:

| Branch | Release Series | Status |  Description |
| --------------------------------------------------------------------------------------- | -------------- | ------------- | --------------------------- |
| [master](https://github.com/ethereumjs/ethereumjs-monorepo) | v6 | `Active` | Main working branch |
| [v5-maintenance](https://github.com/ethereumjs/ethereumjs-monorepo/tree/v5-maintenance) | v5 | `Maintenance` | Maintenance for v5 releases |
| Branch | Release Series | Status |  Description |
| --------------------------------------------------------------------------------------- | -------------- | ---------------- | ------------------------------------------------------------------------------------------------------------- |
| [develop-v7](https://github.com/ethereumjs/ethereumjs-monorepo/tree/develop-v7) | v7 | `In development` | Upcoming v7 release branch (see Issue [#2561](https://github.com/ethereumjs/ethereumjs-monorepo/issues/2561)) |
| [master](https://github.com/ethereumjs/ethereumjs-monorepo) | v6 | `Active` | Main working branch |
| [maintenance-v5](https://github.com/ethereumjs/ethereumjs-monorepo/tree/maintenance-v5) | v5 | `Maintenance` | Maintenance for v5 releases |

Breaking releases are done in sync for all libraries, and release cycles are named after the `@ethereumjs/vm` version. In most cases PRs should be opened towards the current working branch.

Expand Down
95 changes: 28 additions & 67 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/block/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ module.exports = function (config) {
bundlerOptions: {
entrypoints: /\.spec\.ts$/,
acornOptions: {
ecmaVersion: 11,
ecmaVersion: 12,
},
},
},
Expand Down
7 changes: 7 additions & 0 deletions packages/block/test/difficulty.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ tape('[Header]: difficulty tests', (t) => {
for (const testName in testData) {
const test = testData[testName]
const common = new Common({ chain: Chain.Mainnet, hardfork })
// Unschedule any timestamp since tests are not configured for timestamps
common
.hardforks()
.filter((hf) => hf.timestamp !== undefined)
.map((hf) => {
hf.timestamp = undefined
})
const blockOpts = { common }
const uncleHash = test.parentUncles === '0x00' ? undefined : test.parentUncles
const parentBlock = Block.fromBlockData(
Expand Down
2 changes: 1 addition & 1 deletion packages/blockchain/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ module.exports = function (config) {
bundlerOptions: {
entrypoints: /\.spec\.ts$/,
acornOptions: {
ecmaVersion: 11,
ecmaVersion: 12,
},
resolve: {
alias: {
Expand Down
1 change: 1 addition & 0 deletions packages/blockchain/src/blockchain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1264,6 +1264,7 @@ export class Blockchain implements BlockchainInterface {
throw new Error(`consensus algorithm ${this._common.consensusAlgorithm()} not supported`)
}
await this.consensus.setup({ blockchain: this })
await this.consensus.genesisInit(this.genesisBlock)
}

/**
Expand Down
6 changes: 6 additions & 0 deletions packages/client/bin/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,11 @@ const args: ClientOpts = yargs(hideBin(process.argv))
describe: 'EIP-1459 ENR tree urls to query for peer discovery targets',
array: true,
})
.option('numBlocksPerIteration', {
describe: 'Number of blocks to execute in batch mode and logged to console',
number: true,
default: Config.NUM_BLOCKS_PER_ITERATION,
})
.option('executeBlocks', {
describe:
'Debug mode for reexecuting existing blocks (no services will be started), allowed input formats: 5,5-10',
Expand Down Expand Up @@ -708,6 +713,7 @@ async function run() {
discDns: args.discDns,
discV4: args.discV4,
dnsAddr: args.dnsAddr,
numBlocksPerIteration: args.numBlocksPerIteration,
dnsNetworks: args.dnsNetworks,
extIP: args.extIP,
key,
Expand Down
2 changes: 1 addition & 1 deletion packages/client/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ module.exports = function (config) {
bundlerOptions: {
entrypoints: /\.spec\.ts$/,
acornOptions: {
ecmaVersion: 11,
ecmaVersion: 12,
},
// sourceMap: true,
exclude: ['async_hooks'],
Expand Down
Loading

0 comments on commit 0518c68

Please sign in to comment.