Jochem Brouwer

Results 97 issues of Jochem Brouwer

The book states that any transaction to the `zero address` (i.e. `0x0000..0000`) is a special transaction which creates a contract. This is wrong. A contract is created if you send...

content error

There are many (?) cases where one would just want to get the root of the trie and not care about older versions of the trie (i.e. `setRoot` to rollback...

type: feature
effort: E1 hours
package: trie

Closes #2106 Test with, for example, `npm run test:blockchain -- --fork=London+1153`. This threw before, but now correctly initializes the common with the requested EIPs active. CC @moodysalem TODO: - [x]...

PR state: needs review
type: tests
package: vm

Test runner does not work on networks like `London+1153`, this was probably introduced in adding Merge tests PR and should be fixed.

type: tests
effort: E1 hours
package: vm

This PR intends to add support for [retesteth](https://github.com/ethereum/retesteth) (`ethereum/tests` native tests runner), specifically the `transition-tool` support. This only runs state tests. A bash script is fed arguments, which contain the...

PR state: WIP
type: tests
package: vm

The `hardforkByTD` option in VM should most likely be removed. This option tries setting `common` to a hardfork + blocknumber each time, but the option itself is constant and is...

eval: needs discussion
package: vm

In EVM, sometimes the reported error is Out-Of-Gas (OOG), but that is not the case. For instance, https://github.com/ethereumjs/ethereumjs-monorepo/blob/d276fcc103533fdf7eec12b55f202efc74ceeea4/packages/evm/src/evm.ts#L582 violates the code length limit, but it is reported as OOG error....

good first issue
effort: E1 hours
package: evm

Upon refactoring I stumbled across this: https://github.com/ethereumjs/ethereumjs-monorepo/blob/2f42dcfedd18852fc95cc4a51da606dfcbf87387/packages/vm/src/evm/eei.ts#L634 The contract nonce is updated, and then the `maxInitCodeSize` check is done. Before that there are checks on the nonce, call depth, and...

type: bug
eval: needs validation
package: vm

Older hardforks currently have all EIPs "baked in": at VM level we do checks if common is currently at that hardfork or at a later hardfork (`gteHardfork`) and then execute...

prio: P4 nice-to-have
effort: E3 weeks
package: vm
package: common

In Common, it would be nice to add an option to disable certain EIPs. The function signature would be `disableEIP(eip: number)` and `disableEIPs(eips: number[])`. It is not entirely trivial to...

prio: P4 nice-to-have
package: common