Skip to content

Veil 0.12.0

Choose a tag to compare

@iamalwaysuncomfortable iamalwaysuncomfortable released this 02 Oct 02:23
· 52 commits to main since this release
19a595b

Veil 0.12.0 publishes all ten packages in the fixed group at the same version: @provablehq/veil-core, @provablehq/veil-aleo-sdk, @provablehq/veil-aleo-devnode, @provablehq/veil-aleo-wallet-adapter, @provablehq/veil-aleo-react-hooks, @provablehq/veil-leo, @provablehq/veil-codegen, @provablehq/shield-swap-sdk, @provablehq/shield-swap-cli, and @provablehq/aleo-bridge-sdk.

Toolchain: snarkVM 4.11.0

Every package moves to the snarkVM 4.11.0 line: @provablehq/sdk 0.12.0, @provablehq/aleo-devnode 0.3.0, and Leo 4.4.5.

snarkVM 4.11.0 adds ConsensusVersion::V21 (Varuna V3) and a V22 placeholder pinned to u32::MAX. The SDK now builds every deployment and execution against the latest Varuna version, and a node still on an earlier consensus version rejects them. The default devnode consensus-heights list has twenty-two entries and activates every live consensus version at genesis, so a devnode runs V21 from its first block.

A caller who passes an explicit CONSENSUS_VERSION_HEIGHTS MUST pass twenty-two heights or the WASM transaction builder panics, and MUST activate V21 by the first block that carries a transaction.

Peer ranges on @provablehq/veil-core and @provablehq/veil-aleo-devnode now start at 0.12.0.

Wallet adapters: aleo-wallet-adaptor-* → aleo-wallet-adapter-*

Upstream deprecated every @provablehq/aleo-wallet-adaptor-* release and renamed the line to @provablehq/aleo-wallet-adapter-*. @provablehq/veil-aleo-wallet-adapter and @provablehq/veil-aleo-react-hooks now depend on the renamed packages (core 1.1.1, react 1.3.0, shield 1.2.1, leo/puzzle/fox 1.1.1). The renamed react adapter accepts React 19 as a peer.

Exported symbol names are unchanged. A consumer MUST replace every aleo-wallet-adaptor- import and dependency with aleo-wallet-adapter- in the same change, because a provider from one package name cannot supply context to hooks from the other. The optional peer on @provablehq/veil-aleo-wallet-adapter is now @provablehq/aleo-wallet-adapter-core.

Bridge SDK

@provablehq/aleo-bridge-sdk is published as a preview and versions in lockstep with the Veil packages. Its API is subject to breaking changes between minor releases.

  • Arc mainnet and CCTP V2 routes. Add Arc mainnet USDC-to-USDCx bridging through the quote, execute, wait, resume, and complete lifecycle, and native USDC CCTP V2 routes from Ethereum, Base, and Arbitrum to Arc with Fast/Standard fees, forwarding, and checkpoint recovery. Exhaustive protocol and result switches must handle cctp and evm-cctp. New CCTP burns use Circle's version-0 forwarding frame; recovery of already-submitted version-1 burns is preserved. Saved pre-Arc plans and checkpoints for unchanged reviewed routes stay valid through pinned route fingerprints; unknown versions and altered deployments are rejected. CCTP recovery is hardened with bounded destination-event discovery, stable terminal receipts, and verified approval replacement with retained audit hashes. xReserve destination domains are now explicit, with legacy Sepolia checkpoint recovery preserved. Fee-ceiling defaults are unchanged. (#148)
  • Hyperlane Warp Routes. Add active BAT, USDG, and ZEC Warp Routes, including classic SPL Token and Token-2022 collateral transfers between Solana and Aleo, reviewed Aleo withdrawal metadata, and ARC-22 privacy wrappers. Existing native Solana metadata and builder parameter types are preserved; named SPL and combined transfer metadata types are added. (#169)
  • Privy and Dynamic server wallets. Add optional Privy and Dynamic server-wallet helpers for EVM and Solana bridge clients, exposed as the @provablehq/aleo-bridge-sdk/privy and @provablehq/aleo-bridge-sdk/dynamic entry points, with remote signature validation, preserved Solana bridge signatures, and documented configuration examples under examples/remote-wallets. The @privy-io/node and @dynamic-labs-wallet/node-* packages are optional peers. (#170)

Upgrading

  1. Update every @provablehq/veil-*, @provablehq/shield-swap-*, and @provablehq/aleo-bridge-sdk dependency to 0.12.0 together. The fixed group shares one version and the peer floors on veil-core and veil-aleo-devnode now start at 0.12.0.
  2. If the project depends on @provablehq/sdk or @provablehq/aleo-devnode directly, move them to 0.12.0 and 0.3.0.
  3. If the project imports from @provablehq/aleo-wallet-adaptor-*, switch every import and dependency to @provablehq/aleo-wallet-adapter-* in one change.
  4. If the project runs a devnode with a custom CONSENSUS_VERSION_HEIGHTS, extend the list to twenty-two entries with V21 active by the first transacting block.

Per-package details are in each package's CHANGELOG.md.