Skip to content

feat: plumb contractFlags through DLC offer and transaction creation#207

Merged
matthewjablack merged 3 commits into
masterfrom
feat/contract-flags-refund-to-accepter
Jun 23, 2026
Merged

feat: plumb contractFlags through DLC offer and transaction creation#207
matthewjablack merged 3 commits into
masterfrom
feat/contract-flags-refund-to-accepter

Conversation

@matthewjablack

Copy link
Copy Markdown
Contributor

Summary

Plumb contractFlags through the DLC offer creation and transaction building pipeline, enabling
callers to set bit 0 (0x01) to redirect all refund TX proceeds to the accepter (lender).

Changes

  • Add CONTRACT_FLAG_REFUND_TO_ACCEPTER constant (0x01) to @atomicfinance/types
  • Add optional contractFlags?: number parameter to createDlcTransactions and
    createSplicedDlcTransactions on DdkInterface
  • Read dlcOffer.contractFlags[0] in BitcoinDdkProvider.createDlcTxs and forward to DDK
  • Replace hardcoded Buffer.from('00', 'hex') with Buffer.from([contractFlags ?? 0x00]) in
    createDlcOffer / batchCreateDlcOffer on both providers
  • Thread contractFlags through DlcProvider interface and client Dlc class

@changeset-bot

changeset-bot Bot commented May 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: c5c21e7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 20 packages
Name Type
@atomicfinance/bitcoin-ddk-provider Minor
@atomicfinance/bitcoin-dlc-provider Minor
@atomicfinance/client Minor
@atomicfinance/types Minor
@atomicfinance/bitcoin-cfd-address-derivation-provider Minor
@atomicfinance/bitcoin-cfd-provider Minor
@atomicfinance/bitcoin-ddk-address-derivation-provider Minor
@atomicfinance/bitcoin-esplora-api-provider Minor
@atomicfinance/bitcoin-esplora-batch-api-provider Minor
@atomicfinance/bitcoin-js-wallet-provider Minor
@atomicfinance/bitcoin-node-wallet-provider Minor
@atomicfinance/bitcoin-rpc-provider Minor
@atomicfinance/bitcoin-utils Minor
@atomicfinance/bitcoin-wallet-provider Minor
@atomicfinance/crypto Minor
@atomicfinance/errors Minor
@atomicfinance/jsonrpc-provider Minor
@atomicfinance/node-provider Minor
@atomicfinance/provider Minor
@atomicfinance/utils Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@matthewjablack matthewjablack requested a review from bennyhodl June 18, 2026 06:00
Comment thread packages/types/lib/ddk.ts Outdated
@@ -1,5 +1,7 @@
/* auto-generated by NAPI-RS */

export const CONTRACT_FLAG_REFUND_TO_ACCEPTER = 0x01;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be in an autogenerated file?

- Move CONTRACT_FLAG_REFUND_TO_ACCEPTER from auto-generated ddk.ts to dlc.ts
- Bump @bennyblader/ddk-ts from 0.3.31 to 0.3.39
- Remove debug console.log from BitcoinDdkProvider and BitcoinDlcProvider
@bennyhodl bennyhodl force-pushed the feat/contract-flags-refund-to-accepter branch from 93fe49d to c5c21e7 Compare June 23, 2026 14:37
@matthewjablack matthewjablack merged commit d041351 into master Jun 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants