Skip to content

Veil 0.16.1

Choose a tag to compare

@iamalwaysuncomfortable iamalwaysuncomfortable released this 03 Nov 02:41
· 4 commits to main since this release
61c8c46

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@latest

Changes

  • Add a floor inventory 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 throws Insufficient available inventory for target without joins before planning rather than consolidating.
  • Make floor the default distribution. An InventoryTarget without
    distribution used to mean preserve, an exact count reached by joining
    surplus or splitting; it now means floor. autoJoin asks for preserve
    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.