-
Notifications
You must be signed in to change notification settings - Fork 817
util: prefixed hex string type improvements #3995
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
util: prefixed hex string type improvements #3995
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some small comments. Regarding the changes for unprefixedHex
-> normal hex with the 0x prefix, I remember a while ago when we still used bytesToHex
from ethereum-cryptography
which returns the unprefixed variant (and hexToBytes
accepts both 0x prefixed and non-prefix IIRC).
I will open an issue for myself to address these unprefixedHexToBytes
and to comment on those why those are unprefixed and should stay like that, because this looks wrong when one stumbles upon it, also because we deprecated those methods in util. Issue: #3996
@@ -347,7 +347,7 @@ export class TrieNodeFetcher extends Fetcher<JobTask, Uint8Array[], Uint8Array> | |||
// add account node data to account trie | |||
const node = decodeMPTNode(nodeData) | |||
if (node instanceof LeafMPTNode) { | |||
const key = bytesToUnprefixedHex(pathToHexKey(path, node.key(), 'keybyte')) | |||
const key = bytesToHex(pathToHexKey(path, node.key(), 'keybyte')) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should not do this. The reason for unprefixedHex
is that the key length is lower (this is an optimization)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recall that this used to be the case, but now I see that we're converting to Uint8Array before encoding, which would actually be invalid (hexToBytes doesn't handle unprefixed). This code should actually throw:
const key = bytesToUnprefixedHex(pathToHexKey(path, node.key(), 'keybyte'))
ops.push({
type: 'put',
key: hexToBytes(key),
value: node.value(),
})
Since we're doing key: hexToBytes(key)
Am I missing something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm you are right, this should definitely error. TrieFetcher is part of snap sync though, maybe @scorbajio knows what's going on here?
I think I was also thinking about this optimization in another context within client. So the unprefixed hex stuff might not be an optimization here. I actually just realized I've not touched this code much 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The trienodefetcher
store function isn't being unit tested in the ci, it's being tested by simulated test scripts that need to be run manually, so there likely is an error here that's not being handled, but as long as the key is being consistently handled either prefixed or unprefixed, it should work as intended.
const storageKey = bytesToUnprefixedHex( | ||
pathToHexKey(path, storageNode.key(), 'keybyte'), | ||
) | ||
const storageKey = bytesToHex(pathToHexKey(path, storageNode.key(), 'keybyte')) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should keep using unprefixedHex here as optimization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(pending because this likely should be changed because of bugs in this file (?))
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same thing as above where the code as-is would throw (I would then assume that this is untested? Otherwise we would've noticed).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have forwarded this, we can merge this as-is from my side but it seems like this needs some eyes 👀 (in a different PR)
packages/util/src/bytes.ts
Outdated
if (!hex.startsWith('0x')) throw EthereumJSErrorWithoutCode('input string must be 0x prefixed') | ||
return nobleH2B(padToEven(stripHexPrefix(hex))) | ||
} | ||
|
||
export const unprefixedHexToBytes = (hex: string) => { | ||
export const unprefixedHexToBytes = (hex: string): Uint8Array => { | ||
if (hex.startsWith('0x')) throw EthereumJSErrorWithoutCode('input string cannot be 0x prefixed') | ||
return nobleH2B(padToEven(hex)) | ||
} | ||
|
||
export const bytesToHex = (bytes: Uint8Array): PrefixedHexString => { | ||
if (bytes === undefined || bytes.length === 0) return '0x' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove this bytes === undefined
here? And can we also add a simple test for the undefined
case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that undefined
should throw, and not return empty bytes 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, have some pending work that I'll push soon
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You've seen it already, but for reference this will be addressed in a separate PR and I created an issue for it here #3998
Ah right, and tsc is also complaining, likely because of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks almost good to me, some super nitty questions, once those are answered will approve 😄 👍
packages/util/test/bytes.spec.ts
Outdated
@@ -140,7 +140,7 @@ describe('bytesToHex', () => { | |||
it('empty Uint8Array', () => { | |||
const bytes = new Uint8Array() | |||
const hex = bytesToHex(bytes) | |||
assert.strictEqual(hex, '0x') | |||
assert.equal(hex, '0x') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why strictEqual
-> equal
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For a string like '0x' it seemed irrelevant, arguably now that I'm reading this: https://vitest.dev/api/assert.html#equal I'm thinking perhaps we should just move to strictEqual everywhere? I had just quickly glanced and assumed it meant "deepEqual" (which is for objects, so changedit to equal).
We have banned non-strict equality in the monorepo I think so it would be natural for our testing suites to adjust for that. wdyt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes so the suggestion is to move to strictEqual
everywhere, right (scope: other PR)? The change here is from strictEqual
to equal
(so less strict)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed. Created #4002 for it. It actually doesn,t matter too much because TS automatically types the method strictly (even if the method itself does not expect it), but nice to have nevertheless.
…ithub.com/ethereumjs/ethereumjs-monorepo into util/prefixed-hexstring-type-improvements
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 😄 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice! 🙏🙂
So, after looking through the changes, there are no breaking changes in here, right? Or did I miss/overlooked something?
* Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]>
* Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> * Create jekyll-gh-pages.yml (#88) Signed-off-by: AU_gdev_19 <[email protected]> * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]>
* Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- * Create jekyll-gh-pages.yml (#88) * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml * Update docker-image.yml --------- --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]>
* Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- * Create jekyll-gh-pages.yml (#88) * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml * Update docker-image.yml --------- --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]>
* Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- * Create jekyll-gh-pages.yml (#88) * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml * Update docker-image.yml --------- --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]>
* Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> * Create jekyll-gh-pages.yml (#88) Signed-off-by: AU_gdev_19 <[email protected]> * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * monorepo: attempt to fix no compile ci (ethereumjs#4026) * Convert `StatelessVerkleStateManager` usage to type in `vm` (ethereumjs#4021) * Make Verkle State Managers types in vm * Add clarifying comments * address feedback * verifyPostState -> verifyVerklePostState --------- Co-authored-by: Holger Drewes <[email protected]> * Add README Package Highlights (ethereumjs#4020) * Add README highlights (VM) * Add README highlights (EVM) * Add README highlights (tx) * Add README highlights (block) * Add README highlights (mpt) * Add README highlights (statemanager) * VM bundle size update * Update packages/block/README.md * Update packages/evm/README.md * Update packages/mpt/README.md * Update packages/statemanager/README.md * Update packages/tx/README.md * Update packages/vm/README.md --------- Co-authored-by: Scorbajio <[email protected]> * Add tracing to `t8n` (ethereumjs#3953) * Add json traces to t8n tool support * Update trace output to be one step per line * move tracing to correct spot * address feedback * Clean up traces * Cache pre-gas computation memory size for 3155 * Add jsonifyTrace helper and test * more fixes * Have t8n use typescript where available * Partially fix gas calculation * Implicitly call STOP if end of bytecode is reached * spellcheck * fix tests and opcode function lookup logic * more fixes * address feedback * fix tests * fix test * Remove unneeded test data * where is the outlog? * REmove extra slash * lint * t8ntool: fix test * remove Nify from whitelist * client: remove console.log in test * evm/vm: lowercase stepTraceJSON * Move helpers to vm. Update tests. Add eip7756 formatted fields * Add test * Comment bytecode * Revert changes related to adding STOP code * spellcheck * Add remaining fields for eip 7756 * spellcheck * fix functionDepth reference * update comments * Add logic to track storage in step hook * memory is not optional * pad keys to 32 bytes for storage * Address feedback * Simplify immediates computation * Add eof test * Revise bytecode * Fix definition and presentation of immediates * fix intermediates issue * spellcheck * address feedback --------- Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Holger Drewes <[email protected]> * Rename era pack to e2store & add support for E2HS file format (ethereumjs#3954) * reorganize package into directory per format * redefine Version and BlockIndex as CommonTypes * define e2hs types * move blockIndex functions to shared blockIndex.ts file * write createBlockIndex function and replace code in era1 * implement e2hs format * rename parse to decompress * write parse function * fix up blockTuple functions * update blockTuple calls in e2hs code * log better error on type mismatch * test using reference file * fix imports in tests * rename era package to e2store --------- Co-authored-by: Holger Drewes <[email protected]> * Remove `storage` from `InterpreterStep` (ethereumjs#4027) * Remove storage from trace and add optimization back * revert example --------- Co-authored-by: Holger Drewes <[email protected]> * Updates `typedoc` to latest (ethereumjs#4029) * Update typedoc to mjs * fix client config * All libraries: rebuild docs (ethereumjs#4031) * block: rebuild docs * binarytree: rebuild docs * blockchain: rebuild docs * client: rebuild docs * common: rebuild docs * devp2p: rebuild docs * e2store: rebuild docs * ethash: rebuild docs * evm: rebuild docs * genesis: rebuild docs * mpt: rebuild docs * statemanager: rebuild docs * tx: rebuild docs * util: rebuild docs * verkle: rebuild docs * vm: rebuild docs * wallet: rebuild docs * evm: consistent error message names (ethereumjs#4033) * evm: singular evm error message * evm: eof err naming * monorepo: upgrade ethereum-crypography and reduce reliance on it (ethereumjs#4030) * monorepo: migrate keccak256 to noble hashes instead of ethereum-cryptography * monorepo: refactor sha256 usage * monorepo: refactor more ethereum-crypto usage * monorepo: upgrade noble packages and ethereum-crypto * chore: remove .js suffix from noble imports * chore: fix mpt blake2b issue * fix: docker build * chore: attempt to fix docker * chore: alternative ripemd160 import --------- Co-authored-by: acolytec3 <[email protected]> * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> * Vitest browser cleanup ethereumjs#3344 (#105) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> * Create jekyll-gh-pages.yml (#88) Signed-off-by: AU_gdev_19 <[email protected]> * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]> * update e2store README (ethereumjs#4035) * util: refactor 7702 authorization lists to util package (ethereumjs#4032) * util: refactor 7702 authorization lists to util package * chore: type issues * chore: lint fix * chore: merge * chore: prefix with EOACode7702 * chore: adjust type * tx: fix last type issue * Fix examples * Update packages/util/src/types.ts * Merge branch 'master' into refactor/auth-list-utils * monorepo: revert noble refactoring (ethereumjs#4037) * monorepo: revert noble refactoring * monorepo: upgrade etheruem-cryptography to 3.2.0 * chore: upgrade package lock * Vitest browser cleanup ethereumjs#3344 (#105) (#109) (#111) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- * Create jekyll-gh-pages.yml (#88) * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml * Update docker-image.yml --------- --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]> Co-authored-by: Scotty <[email protected]>
* Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> * Create jekyll-gh-pages.yml (#88) Signed-off-by: AU_gdev_19 <[email protected]> * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * monorepo: attempt to fix no compile ci (ethereumjs#4026) * Convert `StatelessVerkleStateManager` usage to type in `vm` (ethereumjs#4021) * Make Verkle State Managers types in vm * Add clarifying comments * address feedback * verifyPostState -> verifyVerklePostState --------- Co-authored-by: Holger Drewes <[email protected]> * Add README Package Highlights (ethereumjs#4020) * Add README highlights (VM) * Add README highlights (EVM) * Add README highlights (tx) * Add README highlights (block) * Add README highlights (mpt) * Add README highlights (statemanager) * VM bundle size update * Update packages/block/README.md * Update packages/evm/README.md * Update packages/mpt/README.md * Update packages/statemanager/README.md * Update packages/tx/README.md * Update packages/vm/README.md --------- Co-authored-by: Scorbajio <[email protected]> * Add tracing to `t8n` (ethereumjs#3953) * Add json traces to t8n tool support * Update trace output to be one step per line * move tracing to correct spot * address feedback * Clean up traces * Cache pre-gas computation memory size for 3155 * Add jsonifyTrace helper and test * more fixes * Have t8n use typescript where available * Partially fix gas calculation * Implicitly call STOP if end of bytecode is reached * spellcheck * fix tests and opcode function lookup logic * more fixes * address feedback * fix tests * fix test * Remove unneeded test data * where is the outlog? * REmove extra slash * lint * t8ntool: fix test * remove Nify from whitelist * client: remove console.log in test * evm/vm: lowercase stepTraceJSON * Move helpers to vm. Update tests. Add eip7756 formatted fields * Add test * Comment bytecode * Revert changes related to adding STOP code * spellcheck * Add remaining fields for eip 7756 * spellcheck * fix functionDepth reference * update comments * Add logic to track storage in step hook * memory is not optional * pad keys to 32 bytes for storage * Address feedback * Simplify immediates computation * Add eof test * Revise bytecode * Fix definition and presentation of immediates * fix intermediates issue * spellcheck * address feedback --------- Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Holger Drewes <[email protected]> * Rename era pack to e2store & add support for E2HS file format (ethereumjs#3954) * reorganize package into directory per format * redefine Version and BlockIndex as CommonTypes * define e2hs types * move blockIndex functions to shared blockIndex.ts file * write createBlockIndex function and replace code in era1 * implement e2hs format * rename parse to decompress * write parse function * fix up blockTuple functions * update blockTuple calls in e2hs code * log better error on type mismatch * test using reference file * fix imports in tests * rename era package to e2store --------- Co-authored-by: Holger Drewes <[email protected]> * Remove `storage` from `InterpreterStep` (ethereumjs#4027) * Remove storage from trace and add optimization back * revert example --------- Co-authored-by: Holger Drewes <[email protected]> * Updates `typedoc` to latest (ethereumjs#4029) * Update typedoc to mjs * fix client config * All libraries: rebuild docs (ethereumjs#4031) * block: rebuild docs * binarytree: rebuild docs * blockchain: rebuild docs * client: rebuild docs * common: rebuild docs * devp2p: rebuild docs * e2store: rebuild docs * ethash: rebuild docs * evm: rebuild docs * genesis: rebuild docs * mpt: rebuild docs * statemanager: rebuild docs * tx: rebuild docs * util: rebuild docs * verkle: rebuild docs * vm: rebuild docs * wallet: rebuild docs * evm: consistent error message names (ethereumjs#4033) * evm: singular evm error message * evm: eof err naming * monorepo: upgrade ethereum-crypography and reduce reliance on it (ethereumjs#4030) * monorepo: migrate keccak256 to noble hashes instead of ethereum-cryptography * monorepo: refactor sha256 usage * monorepo: refactor more ethereum-crypto usage * monorepo: upgrade noble packages and ethereum-crypto * chore: remove .js suffix from noble imports * chore: fix mpt blake2b issue * fix: docker build * chore: attempt to fix docker * chore: alternative ripemd160 import --------- Co-authored-by: acolytec3 <[email protected]> * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> * Vitest browser cleanup ethereumjs#3344 (#105) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- Co-authored-by: Gabriel Rocheleau <[email protected]> * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- Co-authored-by: Amir <[email protected]> * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> * Create jekyll-gh-pages.yml (#88) Signed-off-by: AU_gdev_19 <[email protected]> * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> * Update docker-image.yml Signed-off-by: AU_gdev_19 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]> * update e2store README (ethereumjs#4035) * util: refactor 7702 authorization lists to util package (ethereumjs#4032) * util: refactor 7702 authorization lists to util package * chore: type issues * chore: lint fix * chore: merge * chore: prefix with EOACode7702 * chore: adjust type * tx: fix last type issue * Fix examples * Update packages/util/src/types.ts * Merge branch 'master' into refactor/auth-list-utils * monorepo: revert noble refactoring (ethereumjs#4037) * monorepo: revert noble refactoring * monorepo: upgrade etheruem-cryptography to 3.2.0 * chore: upgrade package lock * Vitest browser cleanup ethereumjs#3344 (#105) (#109) (#111) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) * compare merged base forks. (#87) * Doc Updates: Yet another round (EVM / VM / Other) (ethereumjs#3999) * EVM README updates * VM README updates * Minor update * More README doc updates * Update packages/evm/README.md * Update packages/vm/README.md --------- * monorepo: clean up more test data (ethereumjs#4001) * monorepo: clean up more test data * chore: linting * vm: fix example * util: prefixed hex string type improvements (ethereumjs#3995) * chore: revert startsWith0x * util: fix hexToBytes in usage * util: remoe redundant byte checking * chore: more type adjustments * format: linting * monorepo: more type issues * util: undo remove undefined * chore: more type fixes * client: remove typecasting * client: simplify typecasting * common: remove typecasting * chore: remove unused import * chore: address review comments * chore: remove unused var * chore: strictEqual * monorepo: npm audit fix (ethereumjs#4003) * EVM: cleanup error messages and fix styling (ethereumjs#3994) * evm/vm: use constant as string to ref for `EVMError` * Remove unused EOFError key-values * Remove unused SimpleErrors * Remove unused EVMErrorMessages elements * Rename EvmErrorResult to EVMErrorResult * Rename Evm to EVM in comments and strings * Make EVMErrorMessages a static field in EVMError --------- * fix: ethash test script (ethereumjs#4007) * util: remove undefined handling from bytesToHex (ethereumjs#4004) * util: document and remove undefined handling from bytesToHex * util: remove typecasting * util: refactor account handling * chore: simplify handling * util: deprecate account constructor and update docs * vm: fix event test * client: fix client tests * lint: remove console olgs * client: fix more client tests * lint: remove empty block * client: remove unnecessary optional chaining * client: remove it.only * feat(block): Add CLRequests test, example, and documentation (ethereumjs#4008) * feat(block): add CLRequests test, example, and documentation * fix(block): update CLRequests examples to use bytesToHex * chore: specify Node.js 20 in .nvmrc * util: replace unnecessary toBytes usage (ethereumjs#4014) * util: replace some toBytes usage * client: more hexToBytes * chore: remove more toBytes * chore: remove toBytes usage * lint: remove unused imports * chore: remove unused import * chore: remove unused import * Docs Cleanup / Cautious Restructuring / README ToCs (ethereumjs#4010) * A somewhat more useful EVM EIP activation example (now with 7702 being active by default) * Same for VM * Add prominent v10 README header additions * Add README ToC, eventually restructure (binarytree) * Add README ToC, eventually restructure (block) * Add README ToC, eventually restructure (blockchain) * Add README ToC, eventually restructure (common) * Add README ToC, eventually restructure (devp2p) * Add README ToC, eventually restructure (era) * Add README ToC, eventually restructure (ethash) * Some EVM README section reordering * Add README ToC, eventually restructure (EVM) * Add README ToC, eventually restructure (genesis) * Add README ToC, eventually restructure (mpt) * Add README ToC, eventually restructure (rlp) * Add README ToC, eventually restructure (statemanager) * Add README ToC, eventually restructure (tx) * Add sub-ToC for tx types * Add README ToC, eventually restructure (util) * Add README ToC, eventually restructure (verkle) * Add README ToC, eventually restructure (vm) * Add README ToC, eventually restructure (wallet) * Undo robot nonsense * evm: upgrade noble curves to 1.9.0 (ethereumjs#4018) --------- * Create jekyll-gh-pages.yml (#88) * vm/eip6110: log layout check (ethereumjs#3977) * vm/eip6110: log layout check * vm: eip6110 update deposits layout verifier * update sm API to match interface (ethereumjs#4022) * Revert "Create google.yml (#52)" (#90) This reverts commit e5e7104. * Revert "monorepo: npm audit fix (ethereumjs#4003)" This reverts commit 20cae2b. * 92 eployment failed with the following error (#101) * Revert "monorepo: npm audit fix (ethereumjs#4003)" (#91) This reverts commit 20cae2b. * Update docker-image.yml * Update docker-image.yml --------- --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]> --------- Signed-off-by: AU_gdev_19 <[email protected]> Co-authored-by: Holger Drewes <[email protected]> Co-authored-by: Gabriel Rocheleau <[email protected]> Co-authored-by: Jochem Brouwer <[email protected]> Co-authored-by: Amir <[email protected]> Co-authored-by: avdhesh.eth <[email protected]> Co-authored-by: acolytec3 <[email protected]> Co-authored-by: Scotty <[email protected]>
This PR tightens up the hexToBytes method so that it accepts hexToBytes and makes some related adjustements to usage and interfaces.