Repository navigation
Veil 0.15.0
Veil 0.15.0
Minor release for all ten Veil, Shield Swap, and Bridge packages, published
under npm's latest tag.
npm install @provablehq/veil-core@latest @provablehq/veil-aleo-sdk@latestChanges
- Support Shield-compatible xReserve private USDCx mints for local Aleo
accounts in@provablehq/aleo-bridge-sdk. The SDK reserves a persistent
counter, derives the secret scalar and BHP256 address commitment from the
account's view key, checkpoints only the public commitment, and reads the
scalar back from its identity store when it submitsprivate_mint. A quoted
plan carries its reserved commitment underplan.circle, so executing the
quoted plan deposits against the quoted identity instead of reserving a
second one. - Support wallet-prepared private mints. Quote, execute, and resume accept
walletPreparedDeposit; completion accepts the matching
privateMintNonceInputrequest while the wallet retains the scalar. The SDK
validates the reviewed wrapper, canonical hook, attested commitment,
recipient, and nonce-source exclusivity before submission. - Group every Circle-specific option under a
circlekey on the bridge
client config and on quote, execute, resume, complete, and recover: the
identity store, reserved commitment, wallet preparation, nonce input, and
legacy secret nonce for xReserve, and the manual-mint and
approval-replacement overrides for CCTP. The flatprivateMintSecretNonce
andcctpcall options are deprecated and still accepted; the same field
supplied in both forms with different values is rejected. - Ship
fileXReservePrivateMintIdentityStorefrom
@provablehq/aleo-bridge-sdk/node. It replaces files atomically with0600
permissions, backs up the identity file with its.countercompanion, and
locks reservations across processes that share a path. Stale-lock recovery
reclaims only a confirmed dead owner's file; foreign or unrecognized owners
fail closed. - Validate store-managed identities before funds move: a quoted identity
that is absent from the store, or that names a different recipient, is
rejected before source approval or deposit submission. Standalone actions
require an explicit shared identity store rather than deriving into a
temporary one. - Move
@provablehq/veil-aleo-sdkand@provablehq/veil-aleo-devnodeto the
snarkVM 4.12.0 toolchain:@provablehq/sdk0.13.0 and
@provablehq/aleo-devnode0.4.0. The default devnode consensus-heights list
now matches snarkVM's built-inTEST_CONSENSUS_VERSION_HEIGHTS, and a
ready node runs the latest consensus version before the first caller
transaction. A caller who setsCONSENSUS_VERSION_HEIGHTSexplicitly MUST
pass twenty-two heights with the first at 0 and the rest strictly
increasing. - Move
@provablehq/veil-aleo-react-hooksand
@provablehq/veil-aleo-wallet-adapterto the current aleo-dev-toolkit
adapter releases:@provablehq/aleo-wallet-adapter-core1.2.0,-react
1.4.0,-shield1.4.0, and-leo,-puzzle,-fox1.1.3.
Private USDCx mints
A private xReserve mint commits the deposit to a secret scalar that is needed
again at completion. The bridge client takes an identity store as
circle.privateMintIdentities and supplies it to quote, execute, and
complete. A client built without one derives into an in-memory store, which
does not survive a restart; a durable deployment MUST pass
fileXReservePrivateMintIdentityStore or an implementation of
XReservePrivateMintIdentityStore backed by its own storage.
New derivations follow shield-core's mainnet/testnet domain separation.
Identities stored by earlier builds continue to complete with their
originally stored scalars. Transfers quoted on 0.14.0 with the implicit
0scalar nonce still complete; pass circle: { privateMintSecretNonce } to
keep producing that commitment.
Guide: private USDCx mints
· wallet-prepared mint example.
Validation
The root suite passed 2,724 tests with 314 gated tests skipped across 230
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.15.0 <1.0.0.
Source: feature PR #166,
toolchain PR #197,
fix PR #208.