@tevm/voltaire / index / BrandedFeeMarket
BrandedFeeMarket
Type Aliases
BlobTxFee
BlobTxFee =Defined in: src/primitives/FeeMarket/BlobTxFee.ts:6 Calculated blob transaction fee breakdownTxFee&object
Type Declaration
blobGasPrice
blobGasPrice: bigint
Blob gas price paid (wei per blob gas)
totalBlobFee
totalBlobFee: bigint
Total blob fee (wei)
BlobTxFeeParams
BlobTxFeeParams =Defined in: src/primitives/FeeMarket/BlobTxFeeParams.ts:6 Blob transaction fee parameters (EIP-4844)TxFeeParams&object
Type Declaration
blobBaseFee
blobBaseFee: bigint
Current blob base fee (wei)
blobCount
blobCount: bigint
Number of blobs in transaction
maxFeePerBlobGas
maxFeePerBlobGas: bigint
Maximum fee per blob gas (wei)
BrandedState
BrandedState = object
Defined in: src/primitives/FeeMarket/BrandedState.ts:4
Complete fee market state for a block
Properties
baseFee
baseFee: bigint
Defined in: src/primitives/FeeMarket/BrandedState.ts:10
Base fee per gas (wei)
blobGasUsed
blobGasUsed: bigint
Defined in: src/primitives/FeeMarket/BrandedState.ts:14
Blob gas used in block
excessBlobGas
excessBlobGas: bigint
Defined in: src/primitives/FeeMarket/BrandedState.ts:12
Excess blob gas accumulated
gasLimit
gasLimit: bigint
Defined in: src/primitives/FeeMarket/BrandedState.ts:8
Gas limit of block
gasUsed
gasUsed: bigint
Defined in: src/primitives/FeeMarket/BrandedState.ts:6
Gas used in block
Eip1559State
Eip1559State = object
Defined in: src/primitives/FeeMarket/Eip1559State.ts:4
EIP-1559 specific state
Properties
baseFee
baseFee: bigint
Defined in: src/primitives/FeeMarket/Eip1559State.ts:10
Base fee per gas (wei)
gasLimit
gasLimit: bigint
Defined in: src/primitives/FeeMarket/Eip1559State.ts:8
Gas limit of block
gasUsed
gasUsed: bigint
Defined in: src/primitives/FeeMarket/Eip1559State.ts:6
Gas used in block
Eip4844State
Eip4844State = object
Defined in: src/primitives/FeeMarket/Eip4844State.ts:4
EIP-4844 specific state
Properties
blobGasUsed
blobGasUsed: bigint
Defined in: src/primitives/FeeMarket/Eip4844State.ts:8
Blob gas used in block
excessBlobGas
excessBlobGas: bigint
Defined in: src/primitives/FeeMarket/Eip4844State.ts:6
Excess blob gas accumulated
State
State = object
Defined in: src/primitives/FeeMarket/FeeMarketType.ts:4
Complete fee market state for a block
Properties
baseFee
baseFee: bigint
Defined in: src/primitives/FeeMarket/FeeMarketType.ts:10
Base fee per gas (wei)
blobGasUsed
blobGasUsed: bigint
Defined in: src/primitives/FeeMarket/FeeMarketType.ts:14
Blob gas used in block
excessBlobGas
excessBlobGas: bigint
Defined in: src/primitives/FeeMarket/FeeMarketType.ts:12
Excess blob gas accumulated
gasLimit
gasLimit: bigint
Defined in: src/primitives/FeeMarket/FeeMarketType.ts:8
Gas limit of block
gasUsed
gasUsed: bigint
Defined in: src/primitives/FeeMarket/FeeMarketType.ts:6
Gas used in block
TxFee
TxFee = object
Defined in: src/primitives/FeeMarket/TxFee.ts:4
Calculated transaction fee breakdown
Properties
baseFee
baseFee: bigint
Defined in: src/primitives/FeeMarket/TxFee.ts:10
Base fee paid (wei per gas)
effectiveGasPrice
effectiveGasPrice: bigint
Defined in: src/primitives/FeeMarket/TxFee.ts:6
Effective gas price paid (wei per gas)
priorityFee
priorityFee: bigint
Defined in: src/primitives/FeeMarket/TxFee.ts:8
Priority fee paid (wei per gas)
TxFeeParams
TxFeeParams = object
Defined in: src/primitives/FeeMarket/TxFeeParams.ts:4
Transaction fee parameters
Properties
baseFee
baseFee: bigint
Defined in: src/primitives/FeeMarket/TxFeeParams.ts:10
Current block base fee (wei)
maxFeePerGas
maxFeePerGas: bigint
Defined in: src/primitives/FeeMarket/TxFeeParams.ts:6
Maximum fee per gas willing to pay (wei)
maxPriorityFeePerGas
maxPriorityFeePerGas: bigint
Defined in: src/primitives/FeeMarket/TxFeeParams.ts:8
Maximum priority fee per gas (tip to miner, wei)
Variables
Eip1559
Defined in: src/primitives/FeeMarket/FeeMarket.js:39constEip1559:__module=Eip1559Constants
Eip4844
Defined in: src/primitives/FeeMarket/FeeMarket.js:40constEip4844:__module=Eip4844Constants
State
Defined in: src/primitives/FeeMarket/FeeMarket.js:83 State namespace with convenience methodsconstState:object
Type Declaration
getBlobBaseFee()
getBlobBaseFee: (Get current blob base feethis) =>bigint
Parameters
this
State
Returns
bigint
getGasTarget()
getGasTarget: (Get gas target for blockthis) =>bigint
Parameters
this
State
Returns
bigint
isAboveBlobGasTarget()
isAboveBlobGasTarget: (Check if block is above blob gas targetthis) =>boolean
Parameters
this
State
Returns
boolean
isAboveGasTarget()
isAboveGasTarget: (Check if block is above gas targetthis) =>boolean
Parameters
this
State
Returns
boolean
next()
next: (Calculate next block’s fee market statethis) =>State
Parameters
this
State
Returns
State
Functions
BaseFee()
BaseFee(Defined in: src/primitives/FeeMarket/BaseFee.js:29 Calculate next block’s base fee using EIP-1559 formula (constructor form) Formula:parentGasUsed,parentGasLimit,parentBaseFee):bigint
- gasTarget = gasLimit / 2
- If gasUsed > gasTarget: baseFee increases (up to 12.5%)
- If gasUsed < gasTarget: baseFee decreases (up to 12.5%)
- If gasUsed == gasTarget: baseFee stays same
- Always: baseFee >= MIN_BASE_FEE (7 wei)
Parameters
parentGasUsed
bigint
Gas used in parent block
parentGasLimit
bigint
Gas limit of parent block
parentBaseFee
bigint
Base fee of parent block (wei)
Returns
bigint
Next block’s base fee (wei)
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
BlobBaseFee()
BlobBaseFee(Defined in: src/primitives/FeeMarket/BlobBaseFee.js:25 Calculate blob base fee using EIP-4844 formula (constructor form) Formula: fakeExponential(MIN_BLOB_BASE_FEE, excessBlobGas, BLOB_BASE_FEE_UPDATE_FRACTION) Uses Taylor series to approximate: MIN_BLOB_BASE_FEE * e^(excessBlobGas / UPDATE_FRACTION)excessBlobGas):bigint
Parameters
excessBlobGas
bigint
Excess blob gas from previous blocks
Returns
bigint
Blob base fee (wei per blob gas)
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
calculateBlobTxFee()
calculateBlobTxFee(Defined in: src/primitives/FeeMarket/calculateBlobTxFee.js:28 Calculate blob transaction fee (standard form) Combines regular gas fee with blob gas fee.params):BlobTxFee
Parameters
params
BlobTxFeeParams
Blob transaction fee parameters
Returns
BlobTxFee
Calculated fee breakdown including blob fees
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
calculateExcessBlobGas()
calculateExcessBlobGas(Defined in: src/primitives/FeeMarket/calculateExcessBlobGas.js:23 Calculate excess blob gas for next block using EIP-4844 formula (standard form) Formula: max(0, parentExcessBlobGas + parentBlobGasUsed - TARGET_BLOB_GAS_PER_BLOCK)parentExcessBlobGas,parentBlobGasUsed):bigint
Parameters
parentExcessBlobGas
bigint
Excess blob gas from parent block
parentBlobGasUsed
bigint
Blob gas used in parent block
Returns
bigint
Excess blob gas for next block
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
calculateTxFee()
calculateTxFee(Defined in: src/primitives/FeeMarket/calculateTxFee.js:25 Calculate effective transaction fee (standard form) Formula:params):any
- effectiveGasPrice = min(maxFeePerGas, baseFee + maxPriorityFeePerGas)
- priorityFee = effectiveGasPrice - baseFee
Parameters
params
any
Transaction fee parameters
Returns
any
Calculated fee breakdown
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
canIncludeTx()
canIncludeTx(Defined in: src/primitives/FeeMarket/canIncludeTx.js:25 Check if transaction can be included in block (standard form) Transaction is valid if:params):boolean
- maxFeePerGas >= baseFee
- For blob txs: maxFeePerBlobGas >= blobBaseFee
Parameters
params
any
Transaction fee parameters
Returns
boolean
true if transaction meets minimum fee requirements
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
gweiToWei()
gweiToWei(Defined in: src/primitives/FeeMarket/gweiToWei.js:17 Convert gwei to weigwei):bigint
Parameters
gwei
number
Amount in gwei
Returns
bigint
Amount in wei
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
nextState()
nextState(Defined in: src/primitives/FeeMarket/nextState.js:28 Calculate next block’s fee market state (standard form) Updates both EIP-1559 base fee and EIP-4844 blob base fee components.state):State
Parameters
state
State
Current block state
Returns
State
Next block’s state
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
projectBaseFees()
projectBaseFees(Defined in: src/primitives/FeeMarket/projectBaseFees.js:29 Calculate series of future base fees (standard form) Useful for estimating fee trends over multiple blocks.initialState,blocks,avgGasUsed,avgBlobGasUsed?):bigint[]
Parameters
initialState
State
Starting state
blocks
number
Number of blocks to project
avgGasUsed
bigint
Average gas used per block
avgBlobGasUsed?
bigint = 0n
Average blob gas used per block
Returns
bigint[]
Array of future base fees
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
validateState()
validateState(Defined in: src/primitives/FeeMarket/validateState.js:20 Validate block statestate):string[]
Parameters
state
State
Block state
Returns
string[]
Validation errors, empty array if valid
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
validateTxFeeParams()
validateTxFeeParams(Defined in: src/primitives/FeeMarket/validateTxFeeParams.js:22 Validate transaction fee parametersparams):string[]
Parameters
params
any
Transaction fee parameters
Returns
string[]
Validation errors, empty array if valid
See
https://voltaire.tevm.sh/primitives/feemarket for FeeMarket documentationSince
0.0.0Throws
Example
weiToGwei()
weiToGwei(Defined in: src/primitives/FeeMarket/weiToGwei.js:17 Convert wei to gwei for displaywei):string
Parameters
wei
bigint
Amount in wei
Returns
string
Amount in gwei (formatted with 9 decimal places)

