@tevm/voltaire / primitives/FeeOracle
primitives/FeeOracle
FeeOracle - Gas price estimation and fee data Provides current gas prices, EIP-1559 fee estimation, and fee watching.Example
Interfaces
FeeEstimateOptions
Defined in: src/primitives/FeeOracle/FeeOracleType.ts:27 Fee estimation optionsProperties
baseFeeMultiplier?
Defined in: src/primitives/FeeOracle/FeeOracleType.ts:31 Multiplier for base fee (default: 1.25 for 25% buffer)optionalbaseFeeMultiplier:number
priority?
Defined in: src/primitives/FeeOracle/FeeOracleType.ts:29 Priority level for fee estimationoptionalpriority:"low"|"medium"|"high"
FeeOracleInstance
Defined in: src/primitives/FeeOracle/FeeOracleType.ts:37 FeeOracle instance - provides gas price estimationMethods
estimateEip1559Fees()
estimateEip1559Fees(Defined in: src/primitives/FeeOracle/FeeOracleType.ts:68 Estimate fees for an EIP-1559 transactionoptions?):Promise<{maxFeePerGas:bigint;maxPriorityFeePerGas:bigint; }>
Parameters
options?
FeeEstimateOptions
Fee estimation options
Returns
Promise<{ maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; }>
Suggested maxFeePerGas and maxPriorityFeePerGas
Example
getFeeData()
getFeeData():Defined in: src/primitives/FeeOracle/FeeOracleType.ts:50 Get current fee data from the networkPromise<FeeDataType>
Returns
Promise<FeeDataType>
Current fee data including gas prices and base fees
Example
watchFees()
watchFees(Defined in: src/primitives/FeeOracle/FeeOracleType.ts:89 Watch for fee updatescallback,options?): () =>void
Parameters
callback
(feeData) => void
Called when fees change
options?
Watch optionspollingInterval?
number
signal?
AbortSignal
Returns
Unsubscribe function
(): void
Returns
void
Example
FeeOracleOptions
Defined in: src/primitives/FeeOracle/FeeOracleType.ts:98 Options for creating a FeeOracleProperties
historyBlocks?
Defined in: src/primitives/FeeOracle/FeeOracleType.ts:106 History blocks to analyze for priority fee (default: 4)optionalhistoryBlocks:number
priorityFeePercentile?
Defined in: src/primitives/FeeOracle/FeeOracleType.ts:104 Default priority fee percentile (default: 50)optionalpriorityFeePercentile:number
provider
provider: object
Defined in: src/primitives/FeeOracle/FeeOracleType.ts:100
EIP-1193 provider
request()
request(args):Promise<unknown>
Parameters
args
method
string
params?
unknown[]
Returns
Promise<unknown>
Type Aliases
FeeDataType
FeeDataType =Defined in: src/primitives/FeeOracle/FeeOracleType.ts:9 Fee data returned by FeeOracle Contains current gas price information for transaction fee estimation. Supports both legacy (gasPrice) and EIP-1559 (maxFeePerGas, maxPriorityFeePerGas) fee models.object&object
Type Declaration
baseFeePerGas
Current base fee per gas (EIP-1559)readonlybaseFeePerGas:bigint|null
blobBaseFee
Current blob base fee (EIP-4844, null if not supported)readonlyblobBaseFee:bigint|null
blockNumber
Block number this data was fetched fromreadonlyblockNumber:bigint
gasPrice
Current gas price (legacy transactions)readonlygasPrice:bigint
maxFeePerGas
Suggested max fee per gas (EIP-1559)readonlymaxFeePerGas:bigint|null
maxPriorityFeePerGas
Suggested max priority fee per gas (EIP-1559)readonlymaxPriorityFeePerGas:bigint|null
Type Declaration
[brand]
readonly[brand]:"FeeData"
FeeOracleFactory()
FeeOracleFactory = (Defined in: src/primitives/FeeOracle/FeeOracleType.ts:112 FeeOracle factory function typeoptions) =>FeeOracleInstance
Parameters
options
FeeOracleOptions
Returns
FeeOracleInstance
Functions
FeeOracle()
FeeOracle(Defined in: src/primitives/FeeOracle/FeeOracle.js:44 Create a FeeOracle instanceoptions):FeeOracleInstance
Parameters
options
FeeOracleOptions
Returns
FeeOracleInstance

