Skip to content

Commit 2236535

Browse files
authored
verkle: remove verkle package (#4145)
* chore: initial verkle removal * chore: cleanup more verkle stuff * chore: cleanup verkle * chore: more verkl removal * fix: lintG * chore: remove kaustinen * chore: remove unused arg
1 parent 0dce642 commit 2236535

File tree

164 files changed

+184
-16344
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

164 files changed

+184
-16344
lines changed

.github/ISSUE_TEMPLATE/package--ethereumjs-verkle.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.github/workflows/build.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,6 @@ jobs:
179179
with:
180180
dep-cache-key: ${{ needs.build.outputs.dep-cache-key }}
181181

182-
verkle:
183-
needs: build
184-
uses: ./.github/workflows/verkle-build.yml
185-
with:
186-
dep-cache-key: ${{ needs.build.outputs.dep-cache-key }}
187-
188182
vm-pr:
189183
needs: [build, checkout-submodules]
190184
uses: ./.github/workflows/vm-pr.yml

.github/workflows/other-nightly.yml

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
with:
1818
node-version: 20
1919
cache: 'npm'
20-
20+
2121
- run: npm ci
2222
working-directory: ${{github.workspace}}
2323

@@ -33,13 +33,13 @@ jobs:
3333
with:
3434
node-version: 20
3535
cache: 'npm'
36-
36+
3737
- run: npm ci
3838
working-directory: ${{github.workspace}}
3939

4040
- run: npm run test
4141
working-directory: ${{ github.workspace }}/packages/client
42-
42+
4343
test-devp2p:
4444
runs-on: ubuntu-latest
4545
steps:
@@ -49,13 +49,13 @@ jobs:
4949
with:
5050
node-version: 20
5151
cache: 'npm'
52-
52+
5353
- run: npm ci
5454
working-directory: ${{github.workspace}}
5555

5656
- run: npm run test
5757
working-directory: ${{ github.workspace }}/packages/devp2p
58-
58+
5959
test-wallet:
6060
runs-on: ubuntu-latest
6161
steps:
@@ -65,25 +65,9 @@ jobs:
6565
with:
6666
node-version: 20
6767
cache: 'npm'
68-
69-
- run: npm ci
70-
working-directory: ${{github.workspace}}
71-
72-
- run: npm run test
73-
working-directory: ${{ github.workspace }}/packages/wallet
74-
75-
test-verkle:
76-
runs-on: ubuntu-latest
77-
steps:
78-
- uses: actions/checkout@v5
7968

80-
- uses: actions/setup-node@v4
81-
with:
82-
node-version: 20
83-
cache: 'npm'
84-
8569
- run: npm ci
8670
working-directory: ${{github.workspace}}
8771

8872
- run: npm run test
89-
working-directory: ${{ github.workspace }}/packages/verkle
73+
working-directory: ${{ github.workspace }}/packages/wallet

.github/workflows/verkle-build.yml

Lines changed: 0 additions & 57 deletions
This file was deleted.

Dockerfile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ COPY packages/rlp/dist packages/rlp/dist
2222
COPY packages/statemanager/dist packages/statemanager/dist
2323
COPY packages/tx/dist packages/tx/dist
2424
COPY packages/util/dist packages/util/dist
25-
COPY packages/verkle/dist packages/verkle/dist
2625
COPY packages/vm/dist packages/vm/dist
2726
COPY packages/wallet/dist packages/wallet/dist
2827

@@ -42,7 +41,6 @@ COPY packages/rlp/package.json packages/rlp/package.json
4241
COPY packages/statemanager/package.json packages/statemanager/package.json
4342
COPY packages/tx/package.json packages/tx/package.json
4443
COPY packages/util/package.json packages/util/package.json
45-
COPY packages/verkle/package.json packages/verkle/package.json
4644
COPY packages/vm/package.json packages/vm/package.json
4745
COPY packages/wallet/package.json packages/wallet/package.json
4846

README.md

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ The following packages are deprecated and will not be updated.
5454
| [@ethereumjs/client][client-package] | [![NPM Package][client-npm-badge]][client-npm-link] | [![Client Issues][client-issues-badge]][client-issues-link] | [![Actions Status][client-actions-badge]][client-actions-link] | [![Code Coverage][client-coverage-badge]][client-coverage-link] |
5555
| [@ethereumjs/devp2p][devp2p-package] | [![NPM Package][devp2p-npm-badge]][devp2p-npm-link] | [![Devp2p Issues][devp2p-issues-badge]][devp2p-issues-link] | [![Actions Status][devp2p-actions-badge]][devp2p-actions-link] | [![Code Coverage][devp2p-coverage-badge]][devp2p-coverage-link] |
5656
| [@ethereumjs/ethash][ethash-package] | [![NPM Package][ethash-npm-badge]][ethash-npm-link] | [![Ethash Issues][ethash-issues-badge]][ethash-issues-link] | [![Actions Status][ethash-actions-badge]][ethash-actions-link] | [![Code Coverage][ethash-coverage-badge]][ethash-coverage-link] |
57-
| [@ethereumjs/verkle][verkle-package] | [![NPM Package][verkle-npm-badge]][verkle-npm-link] | [![VM Issues][verkle-issues-badge]][verkle-issues-link] | [![Actions Status][verkle-actions-badge]][verkle-actions-link] | [![Code Coverage][verkle-coverage-badge]][verkle-coverage-link] |
5857
| [@ethereumjs/wallet][wallet-package] | [![NPM Package][wallet-npm-badge]][wallet-npm-link] | [![StateManager Issues][wallet-issues-badge]][wallet-issues-link] | [![Actions Status][wallet-actions-badge]][wallet-actions-link] | [![Code Coverage][wallet-coverage-badge]][wallet-coverage-link] |
5958

6059
## Getting Started
@@ -127,9 +126,6 @@ To inspect code related to a specific package version, refer to the [tags](https
127126
mpt --> blockchain
128127
mpt --> block
129128
mpt --> statemanager
130-
verkle --> vm
131-
verkle --> evm
132-
verkle --> statemanager
133129
binarytree --> vm
134130
binarytree --> statemanager
135131
util --> common
@@ -313,16 +309,6 @@ Most packages are [MPL-2.0](<https://tldrlegal.com/license/mozilla-public-licens
313309
[util-coverage-badge]: https://codecov.io/gh/ethereumjs/ethereumjs-monorepo/branch/master/graph/badge.svg?flag=util
314310
[util-coverage-link]: https://codecov.io/gh/ethereumjs/ethereumjs-monorepo/tree/master/packages/util
315311

316-
[verkle-package]: ./packages/verkle
317-
[verkle-npm-badge]: https://img.shields.io/npm/v/@ethereumjs/verkle.svg
318-
[verkle-npm-link]: https://www.npmjs.com/package/@ethereumjs/verkle
319-
[verkle-issues-badge]: https://img.shields.io/github/issues/ethereumjs/ethereumjs-monorepo/package:%20verkle?label=issues
320-
[verkle-issues-link]: https://github.com/ethereumjs/ethereumjs-monorepo/issues?q=is%3Aopen+is%3Aissue+label%3A"package%3A+verkle"
321-
[verkle-actions-badge]: https://github.com/ethereumjs/ethereumjs-monorepo/workflows/Verkle/badge.svg
322-
[verkle-actions-link]: https://github.com/ethereumjs/ethereumjs-monorepo/actions?query=workflow%3A%22Verkle%22
323-
[verkle-coverage-badge]: https://codecov.io/gh/ethereumjs/ethereumjs-monorepo/branch/master/graph/badge.svg?flag=verkle
324-
[verkle-coverage-link]: https://codecov.io/gh/ethereumjs/ethereumjs-monorepo/tree/master/packages/verkle
325-
326312
[vm-package]: ./packages/vm
327313
[vm-npm-badge]: https://img.shields.io/npm/v/@ethereumjs/vm.svg
328314
[vm-npm-link]: https://www.npmjs.com/package/@ethereumjs/vm

config/cspell-md.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,6 @@
168168
"validblock",
169169
"rustbn",
170170
"Preimage",
171-
"verkle",
172171
"Preimages",
173172
"modexp",
174173
"roninjin",

config/cspell-ts.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@
4242
"ethash",
4343
"KECCAK",
4444
"keccak",
45-
"Verkle",
46-
"verkle",
4745
"maxblob",
4846
"Randao",
4947
"hardforks",
@@ -643,4 +641,4 @@
643641
"getpayload",
644642
"ckzg"
645643
]
646-
}
644+
}

package-lock.json

Lines changed: 1 addition & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/block/src/block/block.ts

Lines changed: 1 addition & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { sha256 } from 'ethereum-cryptography/sha256.js'
1515

1616
import type { Common } from '@ethereumjs/common'
1717
import type { FeeMarket1559Tx, LegacyTx, TypedTransaction } from '@ethereumjs/tx'
18-
import type { VerkleExecutionWitness, Withdrawal } from '@ethereumjs/util'
18+
import type { Withdrawal } from '@ethereumjs/util'
1919
/* eslint-disable */
2020
// This is to allow for a proper and linked collection of constructors for the class header.
2121
// For tree shaking/code size this should be no problem since types go away on transpilation.
@@ -62,13 +62,6 @@ export class Block {
6262
protected keccakFunction: (msg: Uint8Array) => Uint8Array
6363
protected sha256Function: (msg: Uint8Array) => Uint8Array
6464

65-
/**
66-
* EIP-6800: Verkle Proof Data (experimental)
67-
* null implies that the non default executionWitness might exist but not available
68-
* and will not lead to execution of the block via vm with verkle stateless manager
69-
*/
70-
public readonly executionWitness?: VerkleExecutionWitness | null
71-
7265
protected cache: {
7366
txTrieRoot?: Uint8Array
7467
withdrawalsTrieRoot?: Uint8Array
@@ -86,7 +79,6 @@ export class Block {
8679
uncleHeaders: BlockHeader[] = [],
8780
withdrawals?: Withdrawal[],
8881
opts: BlockOptions = {},
89-
executionWitness?: VerkleExecutionWitness | null,
9082
) {
9183
this.header = header ?? new BlockHeader({}, opts)
9284
this.common = this.header.common
@@ -95,27 +87,6 @@ export class Block {
9587

9688
this.transactions = transactions
9789
this.withdrawals = withdrawals ?? (this.common.isActivatedEIP(4895) ? [] : undefined)
98-
this.executionWitness = executionWitness
99-
// null indicates an intentional absence of value or unavailability
100-
// undefined indicates that the executionWitness should be initialized with the default state
101-
if (this.common.isActivatedEIP(6800) && this.executionWitness === undefined) {
102-
this.executionWitness = {
103-
// TODO: Evaluate how default parentStateRoot should be handled?
104-
parentStateRoot: '0x',
105-
stateDiff: [],
106-
verkleProof: {
107-
commitmentsByPath: [],
108-
d: '0x',
109-
depthExtensionPresent: '0x',
110-
ipaProof: {
111-
cl: [],
112-
cr: [],
113-
finalEvaluation: '0x',
114-
},
115-
otherStems: [],
116-
},
117-
}
118-
}
11990

12091
this.uncleHeaders = uncleHeaders
12192
if (uncleHeaders.length > 0) {
@@ -138,16 +109,6 @@ export class Block {
138109
throw EthereumJSErrorWithoutCode('Cannot have a withdrawals field if EIP 4895 is not active')
139110
}
140111

141-
if (
142-
!this.common.isActivatedEIP(6800) &&
143-
executionWitness !== undefined &&
144-
executionWitness !== null
145-
) {
146-
throw EthereumJSErrorWithoutCode(
147-
`Cannot have executionWitness field if EIP 6800 is not active `,
148-
)
149-
}
150-
151112
const freeze = opts?.freeze ?? true
152113
if (freeze) {
153114
Object.freeze(this)
@@ -170,10 +131,6 @@ export class Block {
170131
bytesArray.push(withdrawalsRaw)
171132
}
172133

173-
if (this.executionWitness !== undefined && this.executionWitness !== null) {
174-
const executionWitnessBytes = RLP.encode(JSON.stringify(this.executionWitness))
175-
bytesArray.push(executionWitnessBytes as any)
176-
}
177134
return bytesArray
178135
}
179136

@@ -335,20 +292,6 @@ export class Block {
335292
const msg = this._errorMsg('invalid withdrawals trie')
336293
throw EthereumJSErrorWithoutCode(msg)
337294
}
338-
339-
// Validation for Verkle blocks
340-
// Unnecessary in this implementation since we're providing defaults if those fields are undefined
341-
// TODO: Decide if we should actually require this or not
342-
if (this.common.isActivatedEIP(6800)) {
343-
if (this.executionWitness === undefined) {
344-
throw EthereumJSErrorWithoutCode(`Invalid block: missing executionWitness`)
345-
}
346-
if (this.executionWitness === null) {
347-
throw EthereumJSErrorWithoutCode(
348-
`Invalid block: ethereumjs stateless client needs executionWitness`,
349-
)
350-
}
351-
}
352295
}
353296

354297
/**
@@ -526,7 +469,6 @@ export class Block {
526469
...withdrawalsArr,
527470
parentBeaconBlockRoot: header.parentBeaconBlockRoot,
528471
requestsHash: header.requestsHash,
529-
executionWitness: this.executionWitness,
530472
}
531473

532474
return executionPayload

0 commit comments

Comments
 (0)