Skip to main content

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

  • All Node.js packages