Skip to content

sdk-0.8.1

Choose a tag to compare

@sgbett sgbett released this 08 Apr 11:36
· 751 commits to master since this release

Patch release shipping the #302 BEEF fix.

Headline: Transaction#to_beef now strips phantom txid: true leaves from stored BUMPs by rebuilding each per-block proof via MerklePath#extract from the bundle's own txids. Unblocks any wallet workflow that receives a BEEF via internalize_action and then spends the internalised UTXOs.

The fix required porting MerklePath#trim and MerklePath#extract from the TypeScript reference SDK; these are now available as public methods in their own right.

On the real-world regression fixture, cleaned BUMPs shrink ~47% as a side effect.

See CHANGELOG.md for the full changelog.

Highlights

  • fix: Transaction#to_beef strips phantom txid leaves (#302, #303)
  • feat: MerklePath#extract(txid_hashes) — minimal compound path for a txid subset
  • feat: MerklePath#trim — removes internal nodes not required by txid leaves
  • feat: MerklePath#initialize_copy.dup now produces an independent copy
  • change: MerklePath#combine now trims the result so repeated merges stay minimal
  • perf: BUMPs shrink ~47% on the #302 real-world regression fixture