@bsv/sdk 1.10.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/cjs/mod.js +1 -0
  2. package/dist/cjs/mod.js.map +1 -1
  3. package/dist/cjs/package.json +2 -3
  4. package/dist/cjs/src/auth/Peer.js +18 -20
  5. package/dist/cjs/src/auth/Peer.js.map +1 -1
  6. package/dist/cjs/src/identity/IdentityClient.js +20 -124
  7. package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
  8. package/dist/cjs/src/primitives/TransactionSignature.js +115 -10
  9. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  10. package/dist/cjs/src/primitives/utils.js +13 -112
  11. package/dist/cjs/src/primitives/utils.js.map +1 -1
  12. package/dist/cjs/src/remittance/CommsLayer.js +3 -0
  13. package/dist/cjs/src/remittance/CommsLayer.js.map +1 -0
  14. package/dist/cjs/src/remittance/IdentityLayer.js +3 -0
  15. package/dist/cjs/src/remittance/IdentityLayer.js.map +1 -0
  16. package/dist/cjs/src/remittance/RemittanceManager.js +1245 -0
  17. package/dist/cjs/src/remittance/RemittanceManager.js.map +1 -0
  18. package/dist/cjs/src/remittance/RemittanceModule.js +3 -0
  19. package/dist/cjs/src/remittance/RemittanceModule.js.map +1 -0
  20. package/dist/cjs/src/remittance/index.js +23 -0
  21. package/dist/cjs/src/remittance/index.js.map +1 -0
  22. package/dist/cjs/src/remittance/modules/BasicBRC29.js +225 -0
  23. package/dist/cjs/src/remittance/modules/BasicBRC29.js.map +1 -0
  24. package/dist/cjs/src/remittance/modules/index.js +18 -0
  25. package/dist/cjs/src/remittance/modules/index.js.map +1 -0
  26. package/dist/cjs/src/remittance/types.js +22 -0
  27. package/dist/cjs/src/remittance/types.js.map +1 -0
  28. package/dist/cjs/src/script/OP.js +15 -13
  29. package/dist/cjs/src/script/OP.js.map +1 -1
  30. package/dist/cjs/src/script/Script.js +4 -1
  31. package/dist/cjs/src/script/Script.js.map +1 -1
  32. package/dist/cjs/src/script/Spend.js +128 -46
  33. package/dist/cjs/src/script/Spend.js.map +1 -1
  34. package/dist/cjs/src/transaction/BeefTx.js +2 -2
  35. package/dist/cjs/src/transaction/Transaction.js +160 -0
  36. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  37. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  38. package/dist/esm/mod.js +1 -0
  39. package/dist/esm/mod.js.map +1 -1
  40. package/dist/esm/src/auth/Peer.js +18 -20
  41. package/dist/esm/src/auth/Peer.js.map +1 -1
  42. package/dist/esm/src/identity/IdentityClient.js +20 -124
  43. package/dist/esm/src/identity/IdentityClient.js.map +1 -1
  44. package/dist/esm/src/primitives/TransactionSignature.js +115 -10
  45. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  46. package/dist/esm/src/primitives/utils.js +13 -112
  47. package/dist/esm/src/primitives/utils.js.map +1 -1
  48. package/dist/esm/src/remittance/CommsLayer.js +2 -0
  49. package/dist/esm/src/remittance/CommsLayer.js.map +1 -0
  50. package/dist/esm/src/remittance/IdentityLayer.js +2 -0
  51. package/dist/esm/src/remittance/IdentityLayer.js.map +1 -0
  52. package/dist/esm/src/remittance/RemittanceManager.js +1254 -0
  53. package/dist/esm/src/remittance/RemittanceManager.js.map +1 -0
  54. package/dist/esm/src/remittance/RemittanceModule.js +2 -0
  55. package/dist/esm/src/remittance/RemittanceModule.js.map +1 -0
  56. package/dist/esm/src/remittance/index.js +7 -0
  57. package/dist/esm/src/remittance/index.js.map +1 -0
  58. package/dist/esm/src/remittance/modules/BasicBRC29.js +227 -0
  59. package/dist/esm/src/remittance/modules/BasicBRC29.js.map +1 -0
  60. package/dist/esm/src/remittance/modules/index.js +2 -0
  61. package/dist/esm/src/remittance/modules/index.js.map +1 -0
  62. package/dist/esm/src/remittance/types.js +19 -0
  63. package/dist/esm/src/remittance/types.js.map +1 -0
  64. package/dist/esm/src/script/OP.js +15 -13
  65. package/dist/esm/src/script/OP.js.map +1 -1
  66. package/dist/esm/src/script/Script.js +4 -1
  67. package/dist/esm/src/script/Script.js.map +1 -1
  68. package/dist/esm/src/script/Spend.js +129 -46
  69. package/dist/esm/src/script/Spend.js.map +1 -1
  70. package/dist/esm/src/transaction/BeefTx.js +3 -3
  71. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  72. package/dist/esm/src/transaction/Transaction.js +160 -0
  73. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  74. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  75. package/dist/types/mod.d.ts +1 -0
  76. package/dist/types/mod.d.ts.map +1 -1
  77. package/dist/types/src/auth/Peer.d.ts +3 -7
  78. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  79. package/dist/types/src/identity/IdentityClient.d.ts +0 -8
  80. package/dist/types/src/identity/IdentityClient.d.ts.map +1 -1
  81. package/dist/types/src/primitives/TransactionSignature.d.ts +16 -4
  82. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  83. package/dist/types/src/primitives/utils.d.ts +1 -0
  84. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  85. package/dist/types/src/remittance/CommsLayer.d.ts +50 -0
  86. package/dist/types/src/remittance/CommsLayer.d.ts.map +1 -0
  87. package/dist/types/src/remittance/IdentityLayer.d.ts +35 -0
  88. package/dist/types/src/remittance/IdentityLayer.d.ts.map +1 -0
  89. package/dist/types/src/remittance/RemittanceManager.d.ts +452 -0
  90. package/dist/types/src/remittance/RemittanceManager.d.ts.map +1 -0
  91. package/dist/types/src/remittance/RemittanceModule.d.ts +106 -0
  92. package/dist/types/src/remittance/RemittanceModule.d.ts.map +1 -0
  93. package/dist/types/src/remittance/index.d.ts +7 -0
  94. package/dist/types/src/remittance/index.d.ts.map +1 -0
  95. package/dist/types/src/remittance/modules/BasicBRC29.d.ts +133 -0
  96. package/dist/types/src/remittance/modules/BasicBRC29.d.ts.map +1 -0
  97. package/dist/types/src/remittance/modules/index.d.ts +2 -0
  98. package/dist/types/src/remittance/modules/index.d.ts.map +1 -0
  99. package/dist/types/src/remittance/types.d.ts +238 -0
  100. package/dist/types/src/remittance/types.d.ts.map +1 -0
  101. package/dist/types/src/script/OP.d.ts +5 -3
  102. package/dist/types/src/script/OP.d.ts.map +1 -1
  103. package/dist/types/src/script/Script.d.ts.map +1 -1
  104. package/dist/types/src/script/Spend.d.ts +7 -0
  105. package/dist/types/src/script/Spend.d.ts.map +1 -1
  106. package/dist/types/src/transaction/BeefTx.d.ts +2 -2
  107. package/dist/types/src/transaction/Transaction.d.ts +14 -0
  108. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  109. package/dist/types/src/wallet/Wallet.interfaces.d.ts +5 -5
  110. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  111. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  112. package/dist/umd/bundle.js +13 -13
  113. package/dist/umd/bundle.js.map +1 -1
  114. package/docs/index.md +2 -14
  115. package/docs/reference/auth.md +6 -12
  116. package/docs/reference/primitives.md +20 -78
  117. package/docs/reference/remittance.md +2166 -0
  118. package/docs/reference/script.md +11 -3
  119. package/docs/reference/transaction.md +27 -1
  120. package/docs/reference/wallet.md +6 -5
  121. package/docs/remittance-getting-started.md +138 -0
  122. package/mod.ts +1 -0
  123. package/package.json +12 -3
  124. package/src/auth/Peer.ts +18 -29
  125. package/src/auth/__tests/Peer.test.ts +253 -1
  126. package/src/identity/IdentityClient.ts +29 -153
  127. package/src/identity/__tests/IdentityClient.test.ts +1 -289
  128. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +7 -9
  129. package/src/primitives/TransactionSignature.ts +129 -10
  130. package/src/primitives/__tests/utils.test.ts +30 -7
  131. package/src/primitives/utils.ts +13 -129
  132. package/src/remittance/CommsLayer.ts +41 -0
  133. package/src/remittance/IdentityLayer.ts +32 -0
  134. package/src/remittance/RemittanceManager.ts +1672 -0
  135. package/src/remittance/RemittanceModule.ts +92 -0
  136. package/src/remittance/__tests/BasicBRC29.test.ts +188 -0
  137. package/src/remittance/__tests/RemittanceManager.test.ts +493 -0
  138. package/src/remittance/__tests/examples.ts +130 -0
  139. package/src/remittance/index.ts +6 -0
  140. package/src/remittance/modules/BasicBRC29.ts +361 -0
  141. package/src/remittance/modules/index.ts +1 -0
  142. package/src/remittance/types.ts +284 -0
  143. package/src/script/OP.ts +15 -13
  144. package/src/script/Script.ts +3 -1
  145. package/src/script/Spend.ts +128 -52
  146. package/src/script/__tests/Chronicle.test.ts +186 -0
  147. package/src/script/__tests/Spend.test.ts +1 -1
  148. package/src/script/__tests/SpendValildVectors.test.ts +63 -0
  149. package/src/script/__tests/lrshiftnum.test.ts +185 -0
  150. package/src/script/__tests/sighashTestData.ts +1031 -0
  151. package/src/script/__tests/spend.valid.vectors.ts +9 -16
  152. package/src/transaction/BeefTx.ts +3 -3
  153. package/src/transaction/Transaction.ts +186 -0
  154. package/src/transaction/__tests/Beef.test.ts +2 -0
  155. package/src/transaction/__tests/Transaction.test.ts +641 -3
  156. package/src/wallet/Wallet.interfaces.ts +5 -5
@@ -0,0 +1,133 @@
1
+ import type { RemittanceOptionId, Termination } from '../types.js';
2
+ import type { ModuleContext } from '../types.js';
3
+ import type { RemittanceModule } from '../RemittanceModule.js';
4
+ import type { WalletInterface, WalletCounterparty, PubKeyHex, WalletProtocol } from '../../wallet/Wallet.interfaces.js';
5
+ /**
6
+ * BRC-29-like payment option terms.
7
+ *
8
+ * This module intentionally keeps option terms minimal:
9
+ * - Amount is taken from the invoice total (and validated as satoshis)
10
+ * - The payer derives the payee's per-payment public key using wallet.getPublicKey with a stable protocolID
11
+ */
12
+ export interface Brc29OptionTerms {
13
+ /** Payment amount in satoshis. */
14
+ amountSatoshis: number;
15
+ /** The recipient of the payment */
16
+ payee: PubKeyHex;
17
+ /** Which output index to internalize, default 0. */
18
+ outputIndex?: number;
19
+ /** Optionally override the protocolID used in getPublicKey. */
20
+ protocolID?: WalletProtocol;
21
+ /** Optional labels for createAction. */
22
+ labels?: string[];
23
+ /** Optional description for createAction. */
24
+ description?: string;
25
+ }
26
+ /**
27
+ * Settlement artifact carried in the settlement message.
28
+ */
29
+ export interface Brc29SettlementArtifact {
30
+ customInstructions: {
31
+ derivationPrefix: string;
32
+ derivationSuffix: string;
33
+ };
34
+ transaction: number[];
35
+ amountSatoshis: number;
36
+ outputIndex?: number;
37
+ }
38
+ /**
39
+ * Receipt data for BRC-29 settlements.
40
+ */
41
+ export interface Brc29ReceiptData {
42
+ /** Result returned from wallet.internalizeAction, if accepted. */
43
+ internalizeResult?: unknown;
44
+ /** Human-readable rejection reason, if rejected. */
45
+ rejectedReason?: string;
46
+ /** If rejected with refund, contains the refund payment token. */
47
+ refund?: {
48
+ token: Brc29SettlementArtifact;
49
+ feeSatoshis: number;
50
+ };
51
+ }
52
+ export interface NonceProvider {
53
+ createNonce: (wallet: WalletInterface, scope: WalletCounterparty, originator?: unknown) => Promise<string>;
54
+ }
55
+ export interface LockingScriptProvider {
56
+ /** Converts a public key string to a P2PKH locking script hex. */
57
+ pubKeyToP2PKHLockingScript: (publicKey: string) => Promise<string> | string;
58
+ }
59
+ /**
60
+ * Default nonce provider using SDK createNonce.
61
+ */
62
+ export declare const DefaultNonceProvider: NonceProvider;
63
+ /**
64
+ * Default locking script provider using SDK P2PKH template.
65
+ */
66
+ export declare const DefaultLockingScriptProvider: LockingScriptProvider;
67
+ export interface Brc29RemittanceModuleConfig {
68
+ /** Default protocolID to use with wallet.getPublicKey. */
69
+ protocolID?: WalletProtocol;
70
+ /** Labels applied to created actions. */
71
+ labels?: string[];
72
+ /** Description applied to created actions. */
73
+ description?: string;
74
+ /** Output description for created actions. */
75
+ outputDescription?: string;
76
+ /**
77
+ * Fee charged on refunds, in satoshis.
78
+ */
79
+ refundFeeSatoshis?: number;
80
+ /**
81
+ * Minimum refund to issue. If refund would be smaller, module will reject without refund.
82
+ */
83
+ minRefundSatoshis?: number;
84
+ /** How wallet internalizes the payment. */
85
+ internalizeProtocol?: 'wallet payment' | 'basket insertion';
86
+ nonceProvider?: NonceProvider;
87
+ lockingScriptProvider?: LockingScriptProvider;
88
+ }
89
+ /**
90
+ * BRC-29-based remittance module.
91
+ * - payer creates a payment action to a derived P2PKH output
92
+ * - payer sends { tx, derivationPrefix, derivationSuffix } as settlement artifact
93
+ * - payee internalizes the tx output using wallet.internalizeAction
94
+ * - optional rejection can include a refund token embedded in the termination details
95
+ */
96
+ export declare class Brc29RemittanceModule implements RemittanceModule<Brc29OptionTerms, Brc29SettlementArtifact, Brc29ReceiptData> {
97
+ readonly id: RemittanceOptionId;
98
+ readonly name = "BSV (BRC-29 derived P2PKH)";
99
+ readonly allowUnsolicitedSettlements = true;
100
+ private readonly protocolID;
101
+ private readonly labels;
102
+ private readonly description;
103
+ private readonly outputDescription;
104
+ private readonly refundFeeSatoshis;
105
+ private readonly minRefundSatoshis;
106
+ private readonly internalizeProtocol;
107
+ private readonly nonceProvider;
108
+ private readonly lockingScriptProvider;
109
+ constructor(cfg?: Brc29RemittanceModuleConfig);
110
+ buildSettlement(args: {
111
+ threadId: string;
112
+ option: Brc29OptionTerms;
113
+ note?: string;
114
+ }, ctx: ModuleContext): Promise<{
115
+ action: 'settle';
116
+ artifact: Brc29SettlementArtifact;
117
+ } | {
118
+ action: 'terminate';
119
+ termination: Termination;
120
+ }>;
121
+ acceptSettlement(args: {
122
+ threadId: string;
123
+ settlement: Brc29SettlementArtifact;
124
+ sender: PubKeyHex;
125
+ }, ctx: ModuleContext): Promise<{
126
+ action: 'accept';
127
+ receiptData?: Brc29ReceiptData;
128
+ } | {
129
+ action: 'terminate';
130
+ termination: Termination;
131
+ }>;
132
+ }
133
+ //# sourceMappingURL=BasicBRC29.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasicBRC29.d.ts","sourceRoot":"","sources":["../../../../../src/remittance/modules/BasicBRC29.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './BasicBRC29.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/remittance/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,238 @@
1
+ import { HexString, OutpointString, PubKeyHex, Base64String, WalletInterface } from '../wallet/index.js';
2
+ /**
3
+ * Types for core Remittance protocol.
4
+ *
5
+ * The goal is to keep the core protocol:
6
+ * - UTXO-friendly (transactions and partial transactions can be carried as artifacts)
7
+ * - Denomination-agnostic (amounts are typed, not forced to satoshis)
8
+ * - Module-oriented (remittance option payloads are opaque to the core)
9
+ */
10
+ export type ThreadId = Base64String;
11
+ export type RemittanceOptionId = Base64String;
12
+ export type UnixMillis = number;
13
+ /**
14
+ * Remittance thread state machine.
15
+ *
16
+ * States:
17
+ * - new: thread exists but no identity/invoice/settlement activity yet.
18
+ * - identityRequested: identity request sent or received.
19
+ * - identityResponded: identity response sent or received.
20
+ * - identityAcknowledged: identity response acknowledged (required before proceeding).
21
+ * - invoiced: invoice sent or received.
22
+ * - settled: settlement sent or received.
23
+ * - receipted: receipt issued or received.
24
+ * - terminated: thread terminated with a reason.
25
+ * - errored: unexpected error occurred while processing the thread.
26
+ */
27
+ export type RemittanceThreadState = 'new' | 'identityRequested' | 'identityResponded' | 'identityAcknowledged' | 'invoiced' | 'settled' | 'receipted' | 'terminated' | 'errored';
28
+ /**
29
+ * Allowed remittance state transitions.
30
+ *
31
+ * This is the canonical state machine for remittance threads.
32
+ * Use it to validate transitions and to build audits/visualizations.
33
+ */
34
+ export declare const REMITTANCE_STATE_TRANSITIONS: Record<RemittanceThreadState, RemittanceThreadState[]>;
35
+ export interface Unit {
36
+ /** Namespace for disambiguation, e.g. 'bsv', 'iso4217', 'token'. */
37
+ namespace: string;
38
+ /** Unit code within the namespace, e.g. 'sat', 'USD', 'mnee'. */
39
+ code: string;
40
+ /** Optional decimal places for display/normalization. */
41
+ decimals?: number;
42
+ }
43
+ export interface Amount {
44
+ /** Decimal string. Avoid floats at the protocol layer. */
45
+ value: string;
46
+ unit: Unit;
47
+ }
48
+ export declare const SAT_UNIT: Unit;
49
+ export interface LineItem {
50
+ id?: string;
51
+ description: string;
52
+ /** Decimal string, e.g. '1', '2', '0.5'. */
53
+ quantity?: string;
54
+ unitPrice?: Amount;
55
+ /** Total amount for the line (optional if derivable). */
56
+ amount?: Amount;
57
+ metadata?: Record<string, unknown>;
58
+ }
59
+ /**
60
+ * Shared commercial/metadata fields for invoice and receipt-like instruments.
61
+ *
62
+ * NOTE: "payee" and "payer" are identity keys, not addresses.
63
+ * Payment addresses / scripts are settlement-module concerns.
64
+ */
65
+ export interface InstrumentBase {
66
+ threadId: ThreadId;
67
+ payee: PubKeyHex;
68
+ payer: PubKeyHex;
69
+ note?: string;
70
+ lineItems: LineItem[];
71
+ total: Amount;
72
+ invoiceNumber: string;
73
+ createdAt: UnixMillis;
74
+ arbitrary?: Record<string, unknown>;
75
+ }
76
+ /**
77
+ * Invoice (solicitation) that contains N remittance options.
78
+ *
79
+ * Each remittance option is keyed by a module id.
80
+ * The payload for each option is module-defined and opaque to the core.
81
+ *
82
+ * This is where “UTXO offers” live: a module option payload can include a partial tx template,
83
+ * UTXO references, scripts, overlay anchors, SPV, etc. The manager does not interpret them.
84
+ */
85
+ export interface Invoice extends InstrumentBase {
86
+ kind: 'invoice';
87
+ expiresAt?: UnixMillis;
88
+ options: Record<RemittanceOptionId, unknown>;
89
+ }
90
+ /**
91
+ * An identity certificate request.
92
+ *
93
+ * Contains a list of requested certificate types, fields from each, plus acceptable certifiers.
94
+ */
95
+ export interface IdentityVerificationRequest {
96
+ kind: 'identityVerificationRequest';
97
+ threadId: ThreadId;
98
+ /** Details of the requested certificates. */
99
+ request: {
100
+ /** Map of certificate types to requested fields from each. */
101
+ types: Record<string, string[]>;
102
+ /** List of acceptable certifier identity keys. */
103
+ certifiers: PubKeyHex[];
104
+ };
105
+ }
106
+ /**
107
+ * An identity certificate response.
108
+ *
109
+ * Contains certificates issued by the certifiers named in the corresponding request, with fields revealed to the counterparty.
110
+ */
111
+ export interface IdentityVerificationResponse {
112
+ kind: 'identityVerificationResponse';
113
+ threadId: ThreadId;
114
+ /** List of certificates issued by the certifiers named in the corresponding request, with fields revealed to the counterparty. */
115
+ certificates: Array<{
116
+ /** Certificate type, e.g. base64 Type ID corresponding to 'personalId', 'businessId', etc. */
117
+ type: Base64String;
118
+ /** Certifier identity key. */
119
+ certifier: PubKeyHex;
120
+ /** Subject identity key. */
121
+ subject: PubKeyHex;
122
+ /** The certificate's encrypted fields that have been signed. */
123
+ fields: Record<string, Base64String>;
124
+ /** Signature over the cert. */
125
+ signature: HexString;
126
+ /** Certificate serial number. */
127
+ serialNumber: Base64String;
128
+ /** Revocation outpoint. If spent on-chain, the certificate is invalid. */
129
+ revocationOutpoint: OutpointString;
130
+ /** Field revelation keys for the counterparty. */
131
+ keyringForVerifier: Record<string, Base64String>;
132
+ }>;
133
+ }
134
+ /**
135
+ * An identity verification acknowledgment.
136
+ *
137
+ * A simple ack message indicating that a requested identity verification has been completed successfully.
138
+ */
139
+ export interface IdentityVerificationAcknowledgment {
140
+ kind: 'identityVerificationAcknowledgment';
141
+ threadId: ThreadId;
142
+ }
143
+ /**
144
+ * A settlement attempt.
145
+ *
146
+ * This is module-agnostic: "artifact" can be a transaction, a partial transaction,
147
+ * a stablecoin transfer result, even a fiat card-payment approval code, etc.
148
+ */
149
+ export interface Settlement {
150
+ kind: 'settlement';
151
+ threadId: ThreadId;
152
+ moduleId: RemittanceOptionId;
153
+ optionId: RemittanceOptionId;
154
+ sender: PubKeyHex;
155
+ createdAt: UnixMillis;
156
+ artifact: unknown;
157
+ note?: string;
158
+ }
159
+ /**
160
+ * Receipt issued by the payee (or service provider).
161
+ *
162
+ * A receipt could be a PDF, a photo/oroof-of-delivery, a copy of the payment transaction, etc.
163
+ *
164
+ * A receipt should NOT be issued when a settlement is rejected/failed. Use a Termination instead.
165
+ */
166
+ export interface Receipt {
167
+ kind: 'receipt';
168
+ threadId: ThreadId;
169
+ moduleId: RemittanceOptionId;
170
+ optionId: RemittanceOptionId;
171
+ payee: PubKeyHex;
172
+ payer: PubKeyHex;
173
+ createdAt: UnixMillis;
174
+ receiptData: unknown;
175
+ }
176
+ /**
177
+ * Termination details for failed operations.
178
+ */
179
+ export interface Termination {
180
+ /** Reason code (module-specific). */
181
+ code: string;
182
+ /** Human-readable message. */
183
+ message: string;
184
+ /** Optional module-specific details or refund information. */
185
+ details?: unknown;
186
+ }
187
+ /**
188
+ * Transport message format expected from the CommsLayer.
189
+ *
190
+ * It closely matches the message-box-client shapes:
191
+ * messageId, sender, body, etc.
192
+ */
193
+ export interface PeerMessage {
194
+ messageId: string;
195
+ sender: PubKeyHex;
196
+ recipient: PubKeyHex;
197
+ messageBox: string;
198
+ body: string;
199
+ }
200
+ /**
201
+ * Protocol envelope kinds.
202
+ * Everything runs in “threads” and carries a threadId.
203
+ */
204
+ export type RemittanceKind = 'invoice' | 'identityVerificationRequest' | 'identityVerificationResponse' | 'identityVerificationAcknowledgment' | 'settlement' | 'receipt' | 'termination';
205
+ /**
206
+ * Protocol envelope.
207
+ *
208
+ * This is what RemittanceManager serializes into the CommsLayer message body.
209
+ */
210
+ export interface RemittanceEnvelope<K extends RemittanceKind = RemittanceKind, P = unknown> {
211
+ /** Protocol version. */
212
+ v: 1;
213
+ /** Envelope id (idempotency key). Not the transport messageId. */
214
+ id: string;
215
+ kind: K;
216
+ threadId: ThreadId;
217
+ createdAt: UnixMillis;
218
+ payload: P;
219
+ }
220
+ /**
221
+ * Simple logger interface.
222
+ */
223
+ export interface LoggerLike {
224
+ log: (...args: any[]) => void;
225
+ warn: (...args: any[]) => void;
226
+ error: (...args: any[]) => void;
227
+ }
228
+ /**
229
+ * Context object passed to module methods.
230
+ */
231
+ export interface ModuleContext {
232
+ wallet: WalletInterface;
233
+ /** Optional originator domain forwarded to wallet methods. */
234
+ originator?: unknown;
235
+ now: () => number;
236
+ logger?: LoggerLike;
237
+ }
238
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/remittance/types.ts"],"names":[],"mappings":"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"}
@@ -56,11 +56,8 @@ declare const OP: {
56
56
  OP_SWAP: number;
57
57
  OP_TUCK: number;
58
58
  OP_CAT: number;
59
- OP_SUBSTR: number;
60
59
  OP_SPLIT: number;
61
- OP_LEFT: number;
62
60
  OP_NUM2BIN: number;
63
- OP_RIGHT: number;
64
61
  OP_BIN2NUM: number;
65
62
  OP_SIZE: number;
66
63
  OP_INVERT: number;
@@ -112,10 +109,15 @@ declare const OP: {
112
109
  OP_NOP2: number;
113
110
  OP_NOP3: number;
114
111
  OP_NOP4: number;
112
+ OP_SUBSTR: number;
115
113
  OP_NOP5: number;
114
+ OP_LEFT: number;
116
115
  OP_NOP6: number;
116
+ OP_RIGHT: number;
117
117
  OP_NOP7: number;
118
+ OP_LSHIFTNUM: number;
118
119
  OP_NOP8: number;
120
+ OP_RSHIFTNUM: number;
119
121
  OP_NOP9: number;
120
122
  OP_NOP10: number;
121
123
  OP_NOP11: number;
@@ -1 +1 @@
1
- {"version":3,"file":"OP.d.ts","sourceRoot":"","sources":["../../../../src/script/OP.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgNP,CAAA;AAMD,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"OP.d.ts","sourceRoot":"","sources":["../../../../src/script/OP.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkNP,CAAA;AAMD,eAAe,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAYlD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAuEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAepC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAKzC;;;;;;;OAOG;gBACU,MAAM,GAAE,WAAW,EAAO,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAO9G,IAAI,MAAM,IAAK,WAAW,EAAE,CAG3B;IAED,IAAI,MAAM,CAAE,KAAK,EAAE,WAAW,EAAE,EAI/B;IAED,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAehB;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAO3B;;;;;OAKG;IACH,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMpC;;;;;OAKG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAMhC;;;;;;OAMG;IACH,cAAc,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAM9C;;;;;OAKG;IACH,OAAO,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM;IAsB/B;;;;;;OAMG;IACH,QAAQ,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAwBhC;;;;;OAKG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAMjC;;;;OAIG;IACH,oBAAoB,IAAK,MAAM;IAY/B;;;;;;OAMG;IACH,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAatC;;;;OAIG;IACH,UAAU,IAAK,OAAO;IAWtB;;;;OAIG;IACH,eAAe,IAAK,OAAO;IAI3B;;;;OAIG;IACH,iBAAiB,IAAK,OAAO;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAuBtC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,MAAM,CAAC,cAAc;IA+B7B,OAAO,CAAC,MAAM,CAAC,WAAW;IA6E1B,OAAO,CAAC,MAAM,CAAC,SAAS;IAaxB,OAAO,CAAC,cAAc;CAWvB"}
1
+ {"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAYlD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAuEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAepC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAKzC;;;;;;;OAOG;gBACU,MAAM,GAAE,WAAW,EAAO,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAO9G,IAAI,MAAM,IAAK,WAAW,EAAE,CAG3B;IAED,IAAI,MAAM,CAAE,KAAK,EAAE,WAAW,EAAE,EAI/B;IAED,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAehB;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAO3B;;;;;OAKG;IACH,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMpC;;;;;OAKG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAMhC;;;;;;OAMG;IACH,cAAc,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAM9C;;;;;OAKG;IACH,OAAO,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM;IAsB/B;;;;;;OAMG;IACH,QAAQ,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAwBhC;;;;;OAKG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAMjC;;;;OAIG;IACH,oBAAoB,IAAK,MAAM;IAY/B;;;;;;OAMG;IACH,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAetC;;;;OAIG;IACH,UAAU,IAAK,OAAO;IAWtB;;;;OAIG;IACH,eAAe,IAAK,OAAO;IAI3B;;;;OAIG;IACH,iBAAiB,IAAK,OAAO;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAuBtC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,MAAM,CAAC,cAAc;IA+B7B,OAAO,CAAC,MAAM,CAAC,WAAW;IA6E1B,OAAO,CAAC,MAAM,CAAC,SAAS;IAaxB,OAAO,CAAC,cAAc;CAWvB"}
@@ -20,6 +20,8 @@ import TransactionOutput from '../transaction/TransactionOutput.js';
20
20
  * @property {UnlockingScript} unlockingScript - The unlocking script that unlocks the UTXO for spending.
21
21
  * @property {number} inputSequence - The sequence number of this input.
22
22
  * @property {number} lockTime - The lock time of the transaction.
23
+ * @property {number} memoryLimit - Control over script interpreter memory usage.
24
+ * @property {boolean} isRelaxed - Optional. If true, disables all the unlocking script maleability restrictions consitent with Chronicle release. Maleability restrictions are neve appliced to locking scripts.
23
25
  */
24
26
  export default class Spend {
25
27
  sourceTXID: string;
@@ -42,6 +44,7 @@ export default class Spend {
42
44
  memoryLimit: number;
43
45
  stackMem: number;
44
46
  altStackMem: number;
47
+ isRelaxedOverride: boolean;
45
48
  private sigHashCache;
46
49
  /**
47
50
  * @constructor
@@ -59,6 +62,8 @@ export default class Spend {
59
62
  * @param {UnlockingScript} params.unlockingScript - The unlocking script for this spend.
60
63
  * @param {number} params.inputSequence - The sequence number of this input.
61
64
  * @param {number} params.lockTime - The lock time of the transaction.
65
+ * @param {number} params.memoryLimit - Optional control over script interpreter memory usage.
66
+ * @param {boolean} params.isRelaxed - Optional. If true, disables all the unlocking script maleability restrictions consitent with Chronicle release. Maleability restrictions are neve appliced to locking scripts.
62
67
  *
63
68
  * @example
64
69
  * const spend = new Spend({
@@ -88,7 +93,9 @@ export default class Spend {
88
93
  inputIndex: number;
89
94
  lockTime: number;
90
95
  memoryLimit?: number;
96
+ isRelaxed?: boolean;
91
97
  });
98
+ private isRelaxed;
92
99
  reset(): void;
93
100
  private ensureStackMem;
94
101
  private ensureAltStackMem;
@@ -1 +1 @@
1
- {"version":3,"file":"Spend.d.ts","sourceRoot":"","sources":["../../../../src/script/Spend.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAWlD,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAqGnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAEhB,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAA;IAC5C,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,YAAY,CAAoB;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;gBACU,MAAM,EAAE;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,aAAa,CAAA;QAC5B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB;IAsBD,KAAK,IAAK,IAAI;IAYd,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,eAAe;IAuBvB,IAAI,IAAK,OAAO;IAqnBhB;;;;;;;;;;OAUG;IACH,QAAQ,IAAK,OAAO;IA2CpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,qBAAqB;CAc9B"}
1
+ {"version":3,"file":"Spend.d.ts","sourceRoot":"","sources":["../../../../src/script/Spend.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAWlD,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAuFnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAEhB,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAA;IAC5C,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAE1B,OAAO,CAAC,YAAY,CAAoB;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;gBACU,MAAM,EAAE;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,aAAa,CAAA;QAC5B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB;IAuBD,OAAO,CAAC,SAAS;IAKjB,KAAK,IAAK,IAAI;IAYd,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,eAAe;IAuBvB,IAAI,IAAK,OAAO;IAssBhB;;;;;;;;;;OAUG;IACH,QAAQ,IAAK,OAAO;IA2CpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,qBAAqB;CAc9B"}
@@ -28,11 +28,11 @@ export default class BeefTx {
28
28
  get txid(): string;
29
29
  get tx(): Transaction | undefined;
30
30
  /**
31
- * Legacy compatibility getter returns number[] (Byte[])
31
+ * Raw transaction bytes, if available as number[]
32
32
  */
33
33
  get rawTx(): number[] | undefined;
34
34
  /**
35
- * Preferred modern getter returns Uint8Array (zero-copy where possible)
35
+ * Raw transaction bytes, if available as Uint8Array
36
36
  */
37
37
  get rawTxUint8Array(): Uint8Array | undefined;
38
38
  /**
@@ -284,6 +284,7 @@ export default class Transaction {
284
284
  /**
285
285
  * Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
286
286
  *
287
+ * @param writer The writer to serialize to
287
288
  * @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
288
289
  *
289
290
  * @returns The serialized BEEF structure
@@ -332,5 +333,18 @@ export default class Transaction {
332
333
  * @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
333
334
  */
334
335
  toAtomicBEEFUint8Array(allowPartial?: boolean): Uint8Array;
336
+ /**
337
+ * Completes the transaction using a wallet interface, which will handle
338
+ * signing and transaction finalization. This method converts the current
339
+ * transaction into a format that can be processed by the wallet, and then
340
+ * updates this transaction object with the result from the wallet.
341
+ *
342
+ * @param {WalletInterface} wallet - The BRC-100 compliant wallet to use for completing the transaction
343
+ * @param {string} [actionDescription] - Optional description for the action
344
+ * @param {string} [originator] - Optional originator domain name
345
+ * @param {CreateActionOptions} [options] - Optional settings for transaction creation (e.g., acceptDelayedBroadcast, trustSelf, noSend, etc.)
346
+ * @returns {Promise<void>}
347
+ */
348
+ completeWithWallet(wallet: WalletInterface, actionDescription?: DescriptionString5to50Bytes, originator?: string, options?: CreateActionOptions): Promise<void>;
335
349
  }
336
350
  //# sourceMappingURL=Transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
@@ -109,15 +109,15 @@ export type OutputTagStringUnder300Bytes = string;
109
109
  */
110
110
  export type LabelStringUnder300Bytes = string;
111
111
  /**
112
- * @typedef {Byte[]} BEEF
112
+ * @typedef {Byte[] | Uint8Array} BEEF
113
113
  * An array of integers, each ranging from 0 to 255, indicating transaction data in BEEF (BRC-62) format.
114
114
  */
115
- export type BEEF = Byte[];
115
+ export type BEEF = Byte[] | Uint8Array;
116
116
  /**
117
- * @typedef {Byte[]} AtomicBEEF
117
+ * @typedef {Byte[] | Uint8Array} AtomicBEEF
118
118
  * An array of integers, each ranging from 0 to 255, indicating transaction data in Atomic BEEF (BRC-95) format.
119
119
  */
120
- export type AtomicBEEF = Byte[];
120
+ export type AtomicBEEF = Byte[] | Uint8Array;
121
121
  /**
122
122
  * @typedef {string & { minLength: 5, maxLength: 400 }} ProtocolString5To400Bytes
123
123
  * A protocol identifier with a length between 5 and 400 characters.
@@ -272,7 +272,7 @@ export interface ReviewActionResult {
272
272
  /**
273
273
  * Merged beef of competingTxs, valid when status is 'doubleSpend'.
274
274
  */
275
- competingBeef?: number[];
275
+ competingBeef?: BEEF;
276
276
  }
277
277
  export interface SignableTransaction {
278
278
  tx: AtomicBEEF;