Repository navigation
Veil 0.16.1
Veil 0.16.1
Patch release for all ten Veil, Shield Swap, and Bridge packages, published
under npm's latest tag. The functional change is in
@provablehq/veil-core and @provablehq/shield-swap-cli; the other packages
move in lockstep.
npm install @provablehq/veil-core@latest @provablehq/shield-swap-cli@latestChanges
- Add a
floorinventory distribution. A floor treats the target record
count as a minimum: the planner counts only records at or above
minRecordAmount, leaves surplus records and sub-minimum dust alone, splits
the largest record for any shortfall, and never joins. When no set of splits
can reach the floor it throwsInsufficient available inventory for target without joinsbefore planning rather than consolidating. - Make
floorthe default distribution. AnInventoryTargetwithout
distributionused to meanpreserve, an exact count reached by joining
surplus or splitting; it now meansfloor.autoJoinasks forpreserve
explicitly, since consolidation is an exact single-record layout. - The Shield Swap CLI inventory policy accepts
"distribution": "floor"and
defaults to it.INVENTORY.md, the record inventory guide, and the type
docs describe all three modes.
Compatibility
The default change is observable. A plan for { records: 1 } with no
distribution now plans nothing when any record already meets the minimum,
where 0.16.0 joined every record into one. Callers that consolidate through
the planner MUST pass distribution: 'preserve' to keep the exact-count
behaviour. preserve and balanced themselves are unchanged, and no type,
option, or export is removed. Peer ranges for veil-aleo-devnode,
veil-aleo-sdk, and veil-aleo-wallet-adapter move to >=0.16.1 <1.0.0.
Validation
The root suite passed 2,750 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.1 <1.0.0. The feature PR
exercised the floor planner live on testnet through the Shield Swap MCP and
the SDK directly.
Source: feature PR #215.