API
| Function | Input | Output |
|---|---|---|
from | bigint | string | Effect<BaseFeePerGasType, UintError> |
fromGwei | number | Effect<BaseFeePerGasType, Error> |
toGwei | BaseFeePerGasType | bigint |
EIP-1559 base fee validation
import * as BaseFeePerGas from 'voltaire-effect/primitives/BaseFeePerGas'
import * as Schema from 'effect/Schema'
import { Effect } from 'effect'
// Schema: validate wei values
const fee = Schema.decodeSync(BaseFeePerGas.BaseFeePerGasSchema)(30000000000n)
// Schema: convert from gwei
const feeFromGwei = Schema.decodeSync(BaseFeePerGas.BaseFeePerGasFromGweiSchema)(30)
// Effect: create with error handling
const program = BaseFeePerGas.from(30000000000n)
// Effect.Effect<BaseFeePerGasType, UintError>
// Effect: from gwei
const fromGwei = BaseFeePerGas.fromGwei(30)
// Pure: convert to gwei
const gwei = BaseFeePerGas.toGwei(fee)
| Function | Input | Output |
|---|---|---|
from | bigint | string | Effect<BaseFeePerGasType, UintError> |
fromGwei | number | Effect<BaseFeePerGasType, Error> |
toGwei | BaseFeePerGasType | bigint |
const processBlockFee = (rawBaseFee: bigint) =>
Effect.gen(function* () {
const baseFee = yield* BaseFeePerGas.from(rawBaseFee)
console.log(`Base fee: ${BaseFeePerGas.toGwei(baseFee)} gwei`)
return baseFee
})