Repository navigation
Veil 0.14.0
Veil 0.14.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
- Add record inventory management to
@provablehq/veil-core: inspect private
records, join or split them, plan a target count and distribution, execute
the dependent steps, and reconcile saved transactions.RecordAssetneeds
only a program; record-name and amount-field overrides cover compatible
custom assets. Native credits, ARC20, and ARC22 records are supported. - Reserve execution inputs and checkpoint proved transactions for recovery.
Record management stays off until the client sets
recordManagement.enabled: true; attachingrecordActions()alone does not
enable it. Core exposes an injectableRecordInventoryStoreand an
in-memory implementation. - Prefer batch join helpers for more than two records: up to 16 inputs for
credits or dedicated stablecoin helpers and 15 for dynamic ARC helpers.
ExplicittokenJoinrouters remain supported;tokenJoin: falseselects
native pairwise joins. - Support private fees on managed local-account writes in
@provablehq/veil-aleo-sdk. Selection prefers an eligible supplied fee
record, otherwise reserves sufficient unreserved credits alongside the
execution inputs, through local, delegated, and devnode proving. - Add Shield Swap inventory wrappers that resolve underlying token programs.
Automatic local swap record selection retries once on pre-proving
reservation conflicts with swap terms fixed.RecordReservationConflictError
is exported for input acquisition failures. - Add
shield-swap inventory inspect,plan,rebalance,run, and
statusto@provablehq/shield-swap-cli, with count ranges, budgets,
cooldowns, dry-run defaults, and a SQLite recovery journal exported from
@provablehq/shield-swap-cli/storage. These commands require Node 22.13+.
CLI status shows per-entry rebroadcast attempts and errors. - Correct the BAT, USDG, and ZEC warp-route owners in
@provablehq/aleo-bridge-sdkafter ownership rotation, restoring all five
outbound routes from Aleo to Ethereum and Solana. - Document compliance proof requirements and defaults across the Shield Swap
and Bridge SDKs.
Record management
Private token balances need consolidation for larger spends and separate
records for concurrent trades. Record management plans and executes that
work through the existing account, record-provider, and proving interfaces.
Reservations protect clients sharing the same account, chain scope, and
store. Unmanaged wallets and raw submissions bypass them. SQLite coordinates
reservations across processes; the bundled blinded-identity store does not
coordinate identity counters across processes, so concurrent trading must
coordinate those identities separately or stay in one process with a shared
store object.
Concurrent swaps are independent transactions. Each needs a sufficiently
large available input record and enforces its own output floor; automatic
selection does not join records during a swap. Some trades may succeed while
others fail, so each successful output must be claimed.
A missing transaction or failed broadcast does not establish rejection.
Uncertain spends retain reservations and block maintenance until reconciled.
Recovery rebroadcasts the same proof and transaction id and does not
force-unlock entries or undo completed chain operations.
Wallet RPC writes require public fees or FeeMaster and cannot enforce a
pre-broadcast fee ceiling. Nonempty wallet rebalance plans reject such
ceilings before scanning; no-op plans remain valid.
Guides: record management
· concurrent swaps example
· inventory CLI configuration and recovery.
Validation
The root suite passed 2,649 tests with 314 gated tests skipped across 227
test files. All ten packages build and typecheck, and the reference dApp
typechecks. Packed peer ranges for veil-aleo-devnode, veil-aleo-sdk, and
veil-aleo-wallet-adapter resolve to >=0.14.0 <1.0.0.
Funded testnet runs on the feature branch covered six concurrent
USDCx-to-ETH swaps with return swaps and all twelve claims, plus native joins,
restoring splits, fee-ceiling rejection before broadcast, cancellation after
submission, and journal recovery.
Source: feature PR #172,
fix PR #193,
docs PR #194.