diff --git a/packages/block/src/header/header.ts b/packages/block/src/header/header.ts index 477f9b77790..457e82043b8 100644 --- a/packages/block/src/header/header.ts +++ b/packages/block/src/header/header.ts @@ -560,6 +560,11 @@ export class BlockHeader { * Calculates the excess blob gas for next (hopefully) post EIP 4844 block. */ public calcNextExcessBlobGas(childCommon: Common): bigint { + const osakaForkBlock = this.common.hardforkBlock(Hardfork.Osaka) + if (osakaForkBlock !== null && this.number === osakaForkBlock - BIGINT_1) { + // at the fork, set excess_blob_gas to 0 + return BIGINT_0 + } // The validation of the fields and 4844 activation is already taken care in BlockHeader constructor const targetGasConsumed = (this.excessBlobGas ?? BIGINT_0) + (this.blobGasUsed ?? BIGINT_0) const targetBlobGasPerBlock = childCommon.param('targetBlobGasPerBlock') diff --git a/packages/block/src/params.ts b/packages/block/src/params.ts index de4be648b8c..c113e66aa9a 100644 --- a/packages/block/src/params.ts +++ b/packages/block/src/params.ts @@ -91,4 +91,11 @@ export const paramsBlock: ParamsDict = { maxBlobGasPerBlock: 1179648, // The max blob gas allowable per block blobGasPriceUpdateFraction: 5007716, // The denominator used in the exponential when calculating a blob gas price }, + /** + * Increase MIN_BASE_FEE_PER_BLOB_GAS to speed up price discovery on blob space + */ + 7762: { + // gasConfig + minBlobGas: 2 ** 25, // Minimum base fee per blob gas + }, } diff --git a/packages/common/src/eips.ts b/packages/common/src/eips.ts index 58bd81db913..a291cbcae67 100644 --- a/packages/common/src/eips.ts +++ b/packages/common/src/eips.ts @@ -470,6 +470,15 @@ export const eipsDict: EIPsDict = { minimumHardfork: Hardfork.Chainstart, requiredEIPs: [2935], }, + /** + * Description : Increase MIN_BASE_FEE_PER_BLOB_GAS to speed up price discovery on blob space + * URL : https://eips.ethereum.org/EIPS/eip-7762 + * Status : Review + */ + 7762: { + minimumHardfork: Hardfork.Osaka, + requiredEIPs: [4844], + }, /** * Description : Ethereum state using a unified binary tree (experimental) * URL : hhttps://eips.ethereum.org/EIPS/eip-7864 diff --git a/packages/common/src/hardforks.ts b/packages/common/src/hardforks.ts index 6645984ddaf..8a25be12c10 100644 --- a/packages/common/src/hardforks.ts +++ b/packages/common/src/hardforks.ts @@ -166,7 +166,7 @@ export const hardforksDict: HardforksDict = { * Status : Final */ osaka: { - eips: [663, 3540, 3670, 4200, 4750, 5450, 6206, 7069, 7480, 7620, 7692, 7698], + eips: [663, 3540, 3670, 4200, 4750, 5450, 6206, 7069, 7480, 7620, 7692, 7698, 7762], }, /** * Description: Next feature hardfork after osaka, internally used for verkle testing/implementation (incomplete/experimental) diff --git a/packages/evm/src/evm.ts b/packages/evm/src/evm.ts index 5e157b96171..04f02cbb921 100644 --- a/packages/evm/src/evm.ts +++ b/packages/evm/src/evm.ts @@ -251,7 +251,7 @@ export class EVM implements EVMInterface { const supportedEIPs = [ 663, 1153, 1559, 2537, 2565, 2718, 2929, 2930, 2935, 3198, 3529, 3540, 3541, 3607, 3651, 3670, 3855, 3860, 4200, 4399, 4750, 4788, 4844, 4895, 5133, 5450, 5656, 6110, 6206, 6780, 6800, - 7002, 7069, 7251, 7480, 7516, 7620, 7685, 7691, 7692, 7698, 7702, 7709, + 7002, 7069, 7251, 7480, 7516, 7620, 7685, 7691, 7692, 7698, 7702, 7709, 7762, ] for (const eip of this.common.eips()) { diff --git a/packages/vm/src/params.ts b/packages/vm/src/params.ts index 5a6a4f05991..2984aed8dc9 100644 --- a/packages/vm/src/params.ts +++ b/packages/vm/src/params.ts @@ -98,4 +98,11 @@ export const paramsVM: ParamsDict = { maxBlobGasPerBlock: 1179648, // The max blob gas allowable per block blobGasPriceUpdateFraction: 5007716, // The denominator used in the exponential when calculating a blob gas price }, + /** + * Increase MIN_BASE_FEE_PER_BLOB_GAS to speed up price discovery on blob space + */ + 7762: { + // gasConfig + minBlobGas: 2 ** 25, // Minimum base fee per blob gas + }, }