Skip to content

Commit ad2fd6d

Browse files
g11techacolytec3jochem-brouwer
authored
tx: add eip-7594 peerdas blob transactions in osaka (#3976)
* tx: add peerdas blob transactions support * add eip 7594 network wrapper for blob tx * add eip 7594 checks and engine api changes * add 7594 to osaka hf and fix the network wrapper validation * improve networkwrapper vals * update proof validation for cell proofs network version * temp use ckzg * fixes * load trusted setup on ckzg * load trusted setup on ckzg * load trusted setup on ckzg * move prague genesis to testdata and add/generate osaka genesis and update newpayloadv4 test * add blobs to cell and proofs util * build and add getpayloadv5 end to end client spec, test/fix the issues * ci build * ci build * fix ci * add 7594 network wrapper tx tests and fix isssues * fix ckzg import * debug requests * add further debugging log * ckzg for testing revert later * fix rebae * add blobs bundle debug log * more debug log * remove old format transactions * reject old format tx acceptance * add debug log * exclude selection of 7594 txs if hardfork not yet happened * exclude selection of 7594 txs if hardfork not yet happened * remove additional console logs * fix breaking client tests * update the microkzg signer to 0.15 and fix the imports everywhere * fix kzg spec by proxing wasm cell methods to jskzg * remove unnecessary docker pkg * lint * fix the issues with trustedsetup by using fast peerdas * add the validations in buildblock for proper blob format tx * zero down to the issues in getpayloadv5 spec * zero down to the issues in getpayloadv5 spec * fix statemanager breaking spec * add back a deleted comment * active some more codeflow for escaping lint errors * better word error * use the new microsigner lib in 7594 tx spec * remove c-kzg * lint * fix tsc issues * Clean up tests * add ckzg to client for getpayloadv5 ttest * client: bump rpc keepAliveTimeout to fix micro-eth-signer blocking (?) keepAlive * Revert "add ckzg to client for getpayloadv5 ttest" This reverts commit d0b0404. * handle structured clone for browser * handle structued clone undefined --------- Co-authored-by: acolytec3 <17355484+acolytec3@users.noreply.github.com> Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com>
1 parent 3076891 commit ad2fd6d

File tree

91 files changed

+1209
-418
lines changed

Some content is hidden

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

91 files changed

+1209
-418
lines changed

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
FROM node:22-alpine
2-
RUN apk update && apk add --no-cache bash git g++ make python3 && rm -rf /var/cache/apk/*
1+
FROM node:22.4-slim
2+
RUN apt-get update && apt-get install -y git g++ make python3 python3-setuptools && apt-get clean && rm -rf /var/lib/apt/lists/*
33

44
WORKDIR /ethereumjs-monorepo
55

config/cspell-ts.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,7 @@
640640
"blobschedule",
641641
"hoodi",
642642
"peerdas",
643-
"getpayload"
643+
"getpayload",
644+
"ckzg"
644645
]
645646
}

package-lock.json

Lines changed: 36 additions & 137 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/block/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,9 +215,9 @@ import { createBlock } from '@ethereumjs/block'
215215
import { Common, Hardfork, Mainnet } from '@ethereumjs/common'
216216
import { createBlob4844Tx } from '@ethereumjs/tx'
217217
import { createAddressFromPrivateKey } from '@ethereumjs/util'
218-
import { trustedSetup } from '@paulmillr/trusted-setups/fast.js'
218+
import { trustedSetup } from '@paulmillr/trusted-setups/fast-peerdas.js'
219219
import { randomBytes } from 'crypto'
220-
import { KZG as microEthKZG } from 'micro-eth-signer/kzg'
220+
import { KZG as microEthKZG } from 'micro-eth-signer/kzg.js'
221221

222222
const main = async () => {
223223
const kzg = new microEthKZG(trustedSetup)

packages/block/examples/4844.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { createBlock } from '@ethereumjs/block'
33
import { Common, Hardfork, Mainnet } from '@ethereumjs/common'
44
import { createBlob4844Tx } from '@ethereumjs/tx'
55
import { createAddressFromPrivateKey } from '@ethereumjs/util'
6-
import { trustedSetup } from '@paulmillr/trusted-setups/fast.js'
7-
import { KZG as microEthKZG } from 'micro-eth-signer/kzg'
6+
import { trustedSetup } from '@paulmillr/trusted-setups/fast-peerdas.js'
7+
import { KZG as microEthKZG } from 'micro-eth-signer/kzg.js'
88

99
const main = async () => {
1010
const kzg = new microEthKZG(trustedSetup)

packages/block/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@
5959
},
6060
"devDependencies": {
6161
"@ethereumjs/testdata": "1.0.0",
62-
"@paulmillr/trusted-setups": "^0.1.2",
63-
"micro-eth-signer": "^0.14.0"
62+
"@paulmillr/trusted-setups": "^0.2.0",
63+
"micro-eth-signer": "^0.15.0"
6464
},
6565
"engines": {
6666
"node": ">=18"

packages/block/test/eip4844block.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import {
66
getBlobs,
77
randomBytes,
88
} from '@ethereumjs/util'
9-
import { trustedSetup } from '@paulmillr/trusted-setups/fast.js'
10-
import { KZG as microEthKZG } from 'micro-eth-signer/kzg'
9+
import { trustedSetup } from '@paulmillr/trusted-setups/fast-peerdas.js'
10+
import { KZG as microEthKZG } from 'micro-eth-signer/kzg.js'
1111
import { assert, describe, it } from 'vitest'
1212

1313
import { fakeExponential, getNumBlobs } from '../src/helpers.ts'

0 commit comments

Comments
 (0)