Documentation Index
Fetch the complete documentation index at: https://voltaire.tevm.sh/llms.txt
Use this file to discover all available pages before exploring further.
Exports Reference
Complete list of what’s exported from TypeScript and Zig modules.
TypeScript Package Exports
From package.json exports field. Import as:
// Main entry
import { Address, Hash, Keccak256 } from "@tevm/voltaire";
// Direct imports (tree-shakeable)
import * as Address from "@tevm/voltaire/Address";
import * as Keccak256 from "@tevm/voltaire/Keccak256";
Primitives
| Export | Path | Description |
|---|
Abi | ./Abi | ABI encoding/decoding |
AccessList | ./AccessList | EIP-2930 access lists |
Address | ./Address | 20-byte addresses |
Authorization | ./Authorization | EIP-7702 authorizations |
Base64 | ./Base64 | Base64 encoding |
Blob | ./Blob | EIP-4844 blobs |
Block | ./Block | Block structure |
BloomFilter | ./BloomFilter | Log bloom filter |
Bytecode | ./Bytecode | EVM bytecode |
Bytes | ./Bytes | Variable bytes |
Bytes32 | ./Bytes32 | 32-byte arrays |
Chain | ./Chain | Chain metadata |
Denomination | ./Denomination | Wei/Gwei/Ether |
Ens | ./Ens | ENS normalization |
EventLog | ./EventLog | Contract events |
FeeMarket | ./FeeMarket | EIP-1559 fees |
Gas | ./Gas | Gas types |
GasConstants | ./GasConstants | EVM gas costs |
Hardfork | ./Hardfork | Hardfork enums |
Hash | ./Hash | 32-byte hashes |
Hex | ./Hex | Hex encoding |
Opcode | ./Opcode | EVM opcodes |
Receipt | ./Receipt | Transaction receipts |
Rlp | ./Rlp | RLP encoding |
Signature | ./Signature | ECDSA signatures |
Siwe | ./Siwe | Sign-In with Ethereum |
Transaction | ./Transaction | All transaction types |
Uint256 | ./Uint256 | 256-bit integers |
Crypto
| Export | Path | Description |
|---|
Keccak256 | ./Keccak256 | Keccak-256 hash |
SHA256 | ./SHA256 | SHA-256 hash |
Blake2 | ./Blake2 | Blake2b hash |
Ripemd160 | ./Ripemd160 | RIPEMD-160 hash |
Secp256k1 | ./Secp256k1 | ECDSA signing |
Ed25519 | ./Ed25519 | EdDSA signing |
P256 | ./P256 | NIST P-256 |
X25519 | ./X25519 | Key exchange |
AesGcm | ./AesGcm | Encryption |
Bip39 | ./Bip39 | Mnemonics |
HDWallet | ./HDWallet | HD derivation |
KZG | ./KZG | Blob commitments |
BN254 | ./BN254 | BN254 curve |
EIP712 | ./EIP712 | Typed data |
Other
| Export | Path | Description |
|---|
jsonrpc | ./jsonrpc | JSON-RPC types |
precompiles | ./precompiles | EVM precompiles |
TypeScript Main Index
From src/index.ts:
// Re-exports all primitives
export * from "./primitives/index.js";
// Re-exports all crypto
export * from "./crypto/index.js";
// Re-exports standards
export * from "./standards/index.js";
// Re-exports EVM
export * from "./evm/index.js";
Zig Primitives Module
From src/primitives/root.zig:
Core Types
pub const Address = @import("Address/address.zig").Address;
pub const Hash = @import("Hash/hash.zig").Hash;
pub const Bytes32 = @import("Bytes32/bytes32.zig").Bytes32;
pub const Signature = @import("Signature/signature.zig").Signature;
Encoding
pub const Hex = @import("Hex/hex.zig");
pub const Rlp = @import("Rlp/rlp.zig");
pub const Abi = @import("Abi/abi.zig");
pub const AbiEncoding = @import("Abi/abi_encoding.zig");
pub const Base64 = @import("Base64/base64.zig").Base64;
pub const Ssz = @import("Ssz/ssz.zig");
Numeric
pub const Numeric = @import("Uint256/numeric.zig");
pub const Uint = @import("Uint256/uint256.zig");
pub const Denomination = @import("Denomination/denomination.zig");
pub const Wei = Denomination.Wei;
pub const Gwei = Denomination.Gwei;
pub const Ether = Denomination.Ether;
Transaction
pub const Transaction = @import("Transaction/transaction.zig");
pub const LegacyTransaction = Transaction.LegacyTransaction;
pub const Eip2930Transaction = Transaction.Eip2930Transaction;
pub const Eip1559Transaction = Transaction.Eip1559Transaction;
pub const Eip4844Transaction = Transaction.Eip4844Transaction;
pub const Eip7702Transaction = Transaction.Eip7702Transaction;
EVM
pub const Bytecode = @import("Bytecode/bytecode.zig").Bytecode;
pub const Opcode = @import("Opcode/opcode.zig").Opcode;
pub const OpcodeInfo = @import("Opcode/opcode_info.zig");
pub const Gas = @import("Gas/gas.zig");
pub const GasConstants = @import("GasConstants/gas_constants.zig");
Protocol
pub const Chain = @import("Chain/chain.zig");
pub const Hardfork = @import("Hardfork/hardfork.zig").Hardfork;
pub const ForkTransition = @import("Hardfork/fork_transition.zig");
pub const Eips = @import("Hardfork/eips.zig");
Standards
pub const Siwe = @import("Siwe/siwe.zig");
pub const Ens = @import("Ens/ens.zig");
pub const TypedData = @import("Domain/typed_data.zig");
Data Structures
pub const Trie = @import("Trie/trie.zig");
pub const BloomFilter = @import("BloomFilter/bloom_filter.zig");
pub const BinaryTree = @import("BinaryTree/binary_tree.zig");
Zig Crypto Module
From src/crypto/root.zig:
Hashing
pub const Hash = @import("hash.zig");
pub const HashAlgorithms = @import("hash_algorithms.zig");
pub const HashUtils = @import("hash_utils.zig");
pub const Blake2 = @import("blake2.zig");
pub const Ripemd160 = @import("ripemd160.zig");
Signatures
pub const secp256k1 = @import("secp256k1.zig");
pub const p256 = @import("p256.zig");
pub const ed25519 = @import("ed25519.zig");
pub const x25519 = @import("x25519.zig");
Encryption
pub const aes_gcm = @import("aes_gcm.zig");
Curves
pub const bn254 = @import("bn254.zig");
pub const bn254_arkworks = @import("bn254_arkworks.zig");
pub const bls12_381 = @import("precompiles.zig").Crypto;
KZG
pub const kzg_trusted_setup = @import("kzg_trusted_setup.zig");
pub const kzg_setup = @import("kzg_setup.zig");
pub const c_kzg = @import("c_kzg.zig");
EIP-712
pub const Eip712 = @import("eip712.zig");
Hardware Acceleration
pub const CpuFeatures = @import("cpu_features.zig").CpuFeatures;
pub const SHA256_Accel = @import("sha256_accel.zig");
pub const Keccak256_Accel = @import("keccak256_accel.zig");
pub const keccak_asm = @import("keccak_asm.zig");
Modular Arithmetic
pub const ModExp = @import("modexp.zig");
Zig Precompiles Module
From src/evm/precompiles/root.zig:
Precompile Functions
pub const ecrecover = @import("ecrecover.zig");
pub const sha256 = @import("sha256.zig");
pub const ripemd160 = @import("ripemd160.zig");
pub const identity = @import("identity.zig");
pub const modexp = @import("modexp.zig");
pub const blake2f = @import("blake2f.zig");
pub const point_evaluation = @import("point_evaluation.zig");
BN254
pub const bn254_add = @import("bn254_add.zig");
pub const bn254_mul = @import("bn254_mul.zig");
pub const bn254_pairing = @import("bn254_pairing.zig");
BLS12-381
pub const bls12_g1_add = @import("bls12_g1_add.zig");
pub const bls12_g1_mul = @import("bls12_g1_mul.zig");
pub const bls12_g1_msm = @import("bls12_g1_msm.zig");
pub const bls12_g2_add = @import("bls12_g2_add.zig");
pub const bls12_g2_mul = @import("bls12_g2_mul.zig");
pub const bls12_g2_msm = @import("bls12_g2_msm.zig");
pub const bls12_pairing = @import("bls12_pairing.zig");
pub const bls12_map_fp_to_g1 = @import("bls12_map_fp_to_g1.zig");
pub const bls12_map_fp2_to_g2 = @import("bls12_map_fp2_to_g2.zig");
Address Constants
pub const ECRECOVER_ADDRESS: Address = addressFromInt(0x01);
pub const SHA256_ADDRESS: Address = addressFromInt(0x02);
pub const RIPEMD160_ADDRESS: Address = addressFromInt(0x03);
pub const IDENTITY_ADDRESS: Address = addressFromInt(0x04);
pub const MODEXP_ADDRESS: Address = addressFromInt(0x05);
pub const BN254_ADD_ADDRESS: Address = addressFromInt(0x06);
pub const BN254_MUL_ADDRESS: Address = addressFromInt(0x07);
pub const BN254_PAIRING_ADDRESS: Address = addressFromInt(0x08);
pub const BLAKE2F_ADDRESS: Address = addressFromInt(0x09);
pub const POINT_EVALUATION_ADDRESS: Address = addressFromInt(0x0A);
// ... BLS12-381 addresses 0x0B-0x13
Dispatch
/// Check if address is a precompile for given hardfork
pub fn isPrecompile(address: Address, hardfork: Hardfork) bool;
/// Execute precompile at address
pub fn execute(
address: Address,
input: []const u8,
gas_limit: u64,
hardfork: Hardfork
) !ExecuteResult;
Using Imports
TypeScript
// Namespace import (recommended)
import * as Address from "@tevm/voltaire/Address";
Address.fromHex("0x...");
Address.toChecksummed(addr);
// Named imports
import { fromHex, toChecksummed } from "@tevm/voltaire/Address";
// Default import (entire library)
import voltaire from "@tevm/voltaire";
voltaire.Address.fromHex("0x...");
Zig
// Module import
const primitives = @import("primitives");
const Address = primitives.Address;
const crypto = @import("crypto");
const secp256k1 = crypto.secp256k1;
const precompiles = @import("precompiles");
const ecrecover = precompiles.ecrecover;