Repository navigation
Veil 0.16.0
Veil 0.16.0
Minor release for all ten Veil, Shield Swap, and Bridge packages, published
under npm's latest tag. The functional change is in
@provablehq/aleo-bridge-sdk; the other packages move in lockstep.
npm install @provablehq/veil-core@latest @provablehq/aleo-bridge-sdk@latestChanges
- Refuse to bridge over a paused route. Every active route in the bridge
registry now declares the on-chain pause flags it depends on: thepause,
paused, orpause__mapping of each Aleo program in the route, the
OpenZeppelinpaused()view of the xReserve contract and CCTP
MessageTransmitter, and the pausable hook and ISM the Ethereum Hyperlane
Mailbox runs on dispatch to and delivery from Aleo. Mapping names were
verified against deployed bytecode on mainnet and testnet. - Add
getRouteStatus, also bound asclient.getRouteStatusand exposed as
thebridge_get_route_statusagent and MCP tool. It reads every declared
flag in parallel through the configured public clients and reports each as
active,paused,unknown(the read failed), orskipped(no client is
configured for that chain). - Report pause state with every quote.
quoteresults carrypausedand
routeStatus, so an application can still show the price while disabling
submission. - Refuse paused routes before any wallet interaction.
execute,resume,
andcompletethrowBridgeRoutePausedError, which extendsBridgeError,
names the paused program or contract in its message, and carries the full
route status. A flag that cannot be read never blocks, since the chain
enforces the pause either way; passskipRouteStatus: trueto skip the
reads.
Compatibility
All additions are optional. The new route field stays out of the registry
compatibility fingerprint, so plans and checkpoints saved on 0.15.0 remain
valid. Existing call sites compile and behave as before, except that a route
whose flag reads as paused is now refused up front instead of failing on
chain after proving. Peer ranges for veil-aleo-devnode, veil-aleo-sdk,
and veil-aleo-wallet-adapter move to >=0.16.0 <1.0.0.
shield and unshield are asset-keyed privacy actions with no route to look
up and are not guarded; their token programs still enforce pause__ on chain.
Validation
The root suite passed 2,746 tests with 316 gated tests skipped across 232
test files. All ten packages build, and the reference dApp typechecks. Packed
peer ranges for veil-aleo-devnode, veil-aleo-sdk, and
veil-aleo-wallet-adapter resolve to >=0.16.0 <1.0.0. A read-only live
test read every declared mainnet flag with no unknown outcome and confirmed
execute refuses a paused Aleo-to-Ethereum route before asking for a wallet.
Source: feature PR #210.