Skip to main content
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)

API

FunctionInputOutput
frombigint | stringEffect<BaseFeePerGasType, UintError>
fromGweinumberEffect<BaseFeePerGasType, Error>
toGweiBaseFeePerGasTypebigint

Example

const processBlockFee = (rawBaseFee: bigint) =>
  Effect.gen(function* () {
    const baseFee = yield* BaseFeePerGas.from(rawBaseFee)
    console.log(`Base fee: ${BaseFeePerGas.toGwei(baseFee)} gwei`)
    return baseFee
  })