Dependencies
All external dependencies used by Voltaire and their purposes.
Zig Dependencies
From build.zig.zon:
zbench
Performance benchmarking framework.
Used for: Zig benchmarks in *.bench.zig files
clap
Command-line argument parsing.
Used for: CLI tools and examples
z_ens_normalize
ENS name normalization (ENSIP-15).
Used for: Ens.normalize() in primitives
libwally-core
Wallet utilities (BIP39, BIP32).
Used for: Mnemonic generation, HD wallet derivation
Rust Dependencies
From Cargo.toml. Compiled to libcrypto_wrappers.a static library.
arkworks (ark-*)
Elliptic curve cryptography.
Used for:
- BN254 curve operations (precompiles 0x06-0x08)
- BLS12-381 curve operations (precompiles 0x0B-0x13)
- Field arithmetic, point serialization
keccak-asm
Assembly-optimized Keccak256.
Feature: asm (default, native only)
Used for: High-performance Keccak256 hashing
tiny-keccak
Pure Rust Keccak256.
Feature: portable (WASM builds)
Used for: WASM-compatible Keccak256
C Libraries
Vendored in lib/ directory.
blst
BLS12-381 signature library from Supranational.
Location: lib/blst/
Used for: BLS12-381 precompile implementations
Built by: zig build (compiles as static library)
c-kzg-4844
KZG commitment library for EIP-4844.
Location: lib/c-kzg-4844/
Used for: Blob commitments, point evaluation precompile
Built by: zig build
libwally-core
Wallet operations (git submodule).
Location: lib/libwally-core/
Used for: BIP39 mnemonics, BIP32 HD derivation
Setup: git submodule update --init
Node.js Dependencies
From package.json.
Runtime support: Native FFI is currently Bun-only. In Node.js, use the regular TypeScript API or the WASM modules.
Runtime Dependencies
Development Dependencies
Hardware Wallet Support
Peer Dependencies
Dependency Graph
Installing Dependencies
Updating Dependencies
Zig
Edit build.zig.zon with new URLs/hashes, then:
Rust
Edit Cargo.toml, then:
Node.js
Version Requirements
Vendored vs External
Vendored (in repo)
lib/blst/ - BLS12-381
lib/c-kzg-4844/ - KZG
Git Submodule
lib/libwally-core/ - Wallet utils
Fetched by Zig
- zbench, clap, z_ens_normalize
Fetched by Cargo
- arkworks, keccak-asm, tiny-keccak
Fetched by bun/npm