From 03f06a5461f1a088fe6c57b254d7f4e9e6c18b96 Mon Sep 17 00:00:00 2001 From: harkamal Date: Mon, 12 Jun 2023 18:47:57 +0530 Subject: [PATCH 1/4] common: update the blob target and limit to 3/6 respectively --- packages/common/src/eips/4844.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/common/src/eips/4844.json b/packages/common/src/eips/4844.json index 7da904904f..97be170f49 100644 --- a/packages/common/src/eips/4844.json +++ b/packages/common/src/eips/4844.json @@ -12,15 +12,15 @@ "d": "The base fee for data gas per blob" }, "targetDataGasPerBlock": { - "v": 262144, + "v": 393216, "d": "The target data gas consumed per block" }, "maxDataGasPerBlock": { - "v": 524288, + "v": 786432, "d": "The max data gas allowable per block" }, "dataGasPriceUpdateFraction": { - "v": 2225652, + "v": 3338477, "d": "The denominator used in the exponential when calculating a data gas price" } }, From ab8afcc6b460165a6beee9302ca7a93d31a0af2e Mon Sep 17 00:00:00 2001 From: harkamal Date: Mon, 12 Jun 2023 19:36:06 +0530 Subject: [PATCH 2/4] fix block spec --- packages/block/test/eip4844block.spec.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/block/test/eip4844block.spec.ts b/packages/block/test/eip4844block.spec.ts index 4289c69ec2..d9db05c4d0 100644 --- a/packages/block/test/eip4844block.spec.ts +++ b/packages/block/test/eip4844block.spec.ts @@ -133,16 +133,17 @@ tape('data gas tests', async (t) => { t.equal(excessDataGas, 0n, 'excess data gas should be 0 for small parent header data gas') t.equal(dataGasPrice, 1n, 'data gas price should be 1n when low or no excess data gas') const highGasHeader = BlockHeader.fromHeaderData( - { number: 1, excessDataGas: 4194304, dataGasUsed: BigInt(4) * dataGasPerBlob }, + { number: 1, excessDataGas: 6291456, dataGasUsed: BigInt(6) * dataGasPerBlob }, { common, skipConsensusFormatValidation: true } ) excessDataGas = highGasHeader.calcNextExcessDataGas() dataGasPrice = highGasHeader.getDataGasPrice() - t.equal(excessDataGas, 4456448n) + t.equal(excessDataGas, 6684672n) t.equal(dataGasPrice, 6n, 'computed correct data gas price') t.equal(lowGasHeader.calcDataFee(1), 131072n, 'compute data fee correctly') t.equal(highGasHeader.calcDataFee(4), 3145728n, 'compute data fee correctly') + t.equal(highGasHeader.calcDataFee(6), 4718592n, 'compute data fee correctly') t.end() } }) @@ -208,7 +209,7 @@ tape('transaction validation tests', async (t) => { const blockWithInvalidTx = getBlock([tx1, tx2]) - const blockWithTooManyBlobs = getBlock([tx1, tx1, tx1, tx1, tx1]) + const blockWithTooManyBlobs = getBlock([tx1, tx1, tx1, tx1, tx1, tx1, tx1]) t.doesNotThrow( () => blockWithValidTx.validateBlobTransactions(parentHeader), @@ -241,7 +242,8 @@ tape('transaction validation tests', async (t) => { t.ok( blockWithTooManyBlobs - .validateTransactions(true)[4] + .validateTransactions(true) + .join(' ') .includes('exceed maximum data gas per block'), 'tx erros includes correct error message when too many blobs in a block' ) From e938aff787a6d7b7e1a6d64919d3d323733ef0f0 Mon Sep 17 00:00:00 2001 From: harkamal Date: Mon, 12 Jun 2023 19:38:15 +0530 Subject: [PATCH 3/4] spec --- packages/block/test/from-beacon-payload.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/block/test/from-beacon-payload.spec.ts b/packages/block/test/from-beacon-payload.spec.ts index 397916aa42..ef23fa2817 100644 --- a/packages/block/test/from-beacon-payload.spec.ts +++ b/packages/block/test/from-beacon-payload.spec.ts @@ -21,7 +21,7 @@ tape('[fromExecutionPayloadJson]: 4844 devnet 5', async function (t) { try { const block = await Block.fromBeaconPayloadJson(payload, { common }) const parentHeader = BlockHeader.fromHeaderData( - { excessDataGas: BigInt(0), dataGasUsed: block.header.excessDataGas! + BigInt(262144) }, + { excessDataGas: BigInt(0), dataGasUsed: block.header.excessDataGas! + BigInt(393216) }, { common } ) block.validateBlobTransactions(parentHeader) From 1ca319a4fdb1d09760817cc129015435874d9825 Mon Sep 17 00:00:00 2001 From: harkamal Date: Mon, 12 Jun 2023 19:45:29 +0530 Subject: [PATCH 4/4] fix spec --- packages/client/test/miner/pendingBlock.spec.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/client/test/miner/pendingBlock.spec.ts b/packages/client/test/miner/pendingBlock.spec.ts index 3a1024c743..2c90a5fef9 100644 --- a/packages/client/test/miner/pendingBlock.spec.ts +++ b/packages/client/test/miner/pendingBlock.spec.ts @@ -336,10 +336,10 @@ tape('[PendingBlock]', async (t) => { for (let x = 0; x <= 2; x++) { const txA01 = BlobEIP4844Transaction.fromTxData( { - versionedHashes, - blobs: [...blobs, ...blobs], - kzgCommitments: [...commitments, ...commitments], - kzgProofs: [...proofs, ...proofs], + versionedHashes: [...versionedHashes, ...versionedHashes, ...versionedHashes], + blobs: [...blobs, ...blobs, ...blobs], + kzgCommitments: [...commitments, ...commitments, ...commitments], + kzgProofs: [...proofs, ...proofs, ...proofs], maxFeePerDataGas: 100000000n, gasLimit: 0xffffffn, maxFeePerGas: 1000000000n, @@ -380,9 +380,9 @@ tape('[PendingBlock]', async (t) => { st.ok(block !== undefined && blobsBundles !== undefined) st.equal(block!.transactions.length, 2, 'Only two blob txs should be included') - st.equal(blobsBundles!.blobs.length, 4, 'maximum 4 blobs should be included') - st.equal(blobsBundles!.commitments.length, 4, 'maximum 4 commitments should be included') - st.equal(blobsBundles!.proofs.length, 4, 'maximum 4 proofs should be included') + st.equal(blobsBundles!.blobs.length, 6, 'maximum 6 blobs should be included') + st.equal(blobsBundles!.commitments.length, 6, 'maximum 6 commitments should be included') + st.equal(blobsBundles!.proofs.length, 6, 'maximum 6 proofs should be included') const pendingBlob = blobsBundles!.blobs[0] st.ok(pendingBlob !== undefined && equalsBytes(pendingBlob, blobs[0]))