@leather.io/bitcoin 0.36.6 → 0.37.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @leather.io/bitcoin@0.36.6 build /home/runner/work/mono/mono/packages/bitcoin
2
+ > @leather.io/bitcoin@0.37.0 build /home/runner/work/mono/mono/packages/bitcoin
3
3
  > tsdown
4
4
 
5
5
  ℹ tsdown v0.16.5 powered by rolldown v1.0.0-beta.50
@@ -7,9 +7,9 @@
7
7
  ℹ entry: src/index.ts
8
8
  ℹ tsconfig: tsconfig.json
9
9
  ℹ Build start
10
- ℹ dist/index.js  56.25 kB │ gzip: 13.32 kB
11
- ℹ dist/index.js.map 113.45 kB │ gzip: 26.77 kB
12
- ℹ dist/index.d.ts.map  10.29 kB │ gzip: 4.28 kB
13
- ℹ dist/index.d.ts  30.85 kB │ gzip: 6.35 kB
14
- ℹ 4 files, total: 210.83 kB
15
- ✔ Build complete in 3993ms
10
+ ℹ dist/index.js  58.22 kB │ gzip: 13.64 kB
11
+ ℹ dist/index.js.map 117.82 kB │ gzip: 27.59 kB
12
+ ℹ dist/index.d.ts.map  11.64 kB │ gzip: 4.75 kB
13
+ ℹ dist/index.d.ts  33.53 kB │ gzip: 6.95 kB
14
+ ℹ 4 files, total: 221.21 kB
15
+ ✔ Build complete in 4423ms
package/CHANGELOG.md CHANGED
@@ -939,6 +939,25 @@
939
939
  * @leather.io/prettier-config bumped to 0.9.0
940
940
  * @leather.io/rpc bumped to 2.20.17
941
941
 
942
+ ## [0.37.0](https://github.com/leather-io/mono/compare/@leather.io/bitcoin-v0.36.6...@leather.io/bitcoin-v0.37.0) (2026-03-02)
943
+
944
+
945
+ ### Features
946
+
947
+ * **extension:** implement taproot sends ([c4bfa96](https://github.com/leather-io/mono/commit/c4bfa960658d29bb0427f756725e87bdf77fd7b7))
948
+
949
+
950
+ ### Dependencies
951
+
952
+ * The following workspace dependencies were updated
953
+ * dependencies
954
+ * @leather.io/constants bumped to 0.32.0
955
+ * @leather.io/crypto bumped to 1.12.17
956
+ * @leather.io/models bumped to 0.54.0
957
+ * @leather.io/utils bumped to 0.50.0
958
+ * devDependencies
959
+ * @leather.io/rpc bumped to 2.21.11
960
+
942
961
  ## [0.36.6](https://github.com/leather-io/mono/compare/@leather.io/bitcoin-v0.36.5...@leather.io/bitcoin-v0.36.6) (2026-02-12)
943
962
 
944
963
 
package/dist/index.d.ts CHANGED
@@ -12,8 +12,8 @@ import * as _leather_io_models0 from "@leather.io/models";
12
12
  import { AverageBitcoinFeeRates, BitcoinAddress, BitcoinNetworkModes, InscriptionAsset, Money, NetworkModes, TransactionErrorKey, ValueOf } from "@leather.io/models";
13
13
  import * as _scure_btc_signer_payment0 from "@scure/btc-signer/payment";
14
14
  import { P2Ret, P2TROut } from "@scure/btc-signer/payment";
15
- import { BitcoinPaymentTypes, signatureHash } from "@leather.io/rpc";
16
15
  import { SigHash } from "@scure/btc-signer/transaction";
16
+ import { BitcoinPaymentTypes, signatureHash } from "@leather.io/rpc";
17
17
 
18
18
  //#region src/bip21/bip21.d.ts
19
19
  interface Bip21ResultValue {
@@ -68,26 +68,6 @@ declare function signBip322MessageSimple(args: SignBip322MessageSimple): Promise
68
68
  signature: string;
69
69
  }>;
70
70
  //#endregion
71
- //#region src/coin-selection/calculate-max-spend.d.ts
72
- interface CalculateMaxSpendParams {
73
- recipient: string;
74
- utxos: {
75
- value: number;
76
- txid: string;
77
- }[];
78
- feeRate: number;
79
- }
80
- interface CalculateMaxSpendResponse {
81
- spendAllFee: number;
82
- amount: Money;
83
- spendableBitcoin: BigNumber;
84
- }
85
- declare function calculateMaxSpend({
86
- recipient,
87
- utxos,
88
- feeRate
89
- }: CalculateMaxSpendParams): CalculateMaxSpendResponse;
90
- //#endregion
91
71
  //#region src/coin-selection/coin-selection.d.ts
92
72
  interface CoinSelectionOutput {
93
73
  value: bigint;
@@ -102,10 +82,7 @@ interface DetermineUtxosForSpendArgs<T> {
102
82
  recipients: CoinSelectionRecipient[];
103
83
  utxos: T[];
104
84
  }
105
- declare function determineUtxosForSpendAll<T extends {
106
- value: number;
107
- txid: string;
108
- }>({
85
+ declare function determineUtxosForSpendAll<T extends InputData>({
109
86
  feeRate,
110
87
  recipients,
111
88
  utxos
@@ -118,10 +95,7 @@ declare function determineUtxosForSpendAll<T extends {
118
95
  size: number;
119
96
  fee: Money;
120
97
  };
121
- declare function determineUtxosForSpend<T extends {
122
- value: number;
123
- txid: string;
124
- }>({
98
+ declare function determineUtxosForSpend<T extends InputData>({
125
99
  feeRate,
126
100
  recipients,
127
101
  utxos
@@ -137,11 +111,19 @@ declare function determineUtxosForSpend<T extends {
137
111
  };
138
112
  //#endregion
139
113
  //#region src/coin-selection/coin-selection.utils.d.ts
140
- declare function getUtxoTotal<T extends {
114
+ interface InputData {
141
115
  value: number;
142
- }>(utxos: T[]): BigNumber;
143
- declare function getSizeInfo(payload: {
144
- inputLength: number;
116
+ txid: string;
117
+ address: string;
118
+ }
119
+ declare function getUtxoTotal<T extends InputData>(utxos: T[]): BigNumber;
120
+ interface CountInputsByScriptTypeResponse {
121
+ p2wpkh: number;
122
+ p2tr: number;
123
+ }
124
+ declare function countInputsByScriptType<T extends InputData>(utxos: T[]): CountInputsByScriptTypeResponse;
125
+ declare function getSizeInfo<T extends InputData>(payload: {
126
+ utxos: T[];
145
127
  recipients: CoinSelectionRecipient[];
146
128
  isSendMax?: boolean;
147
129
  }): {
@@ -155,9 +137,7 @@ interface GetSpendableAmountArgs<T> {
155
137
  recipients: CoinSelectionRecipient[];
156
138
  isSendMax?: boolean;
157
139
  }
158
- declare function getSpendableAmount<T extends {
159
- value: number;
160
- }>({
140
+ declare function getSpendableAmount<T extends InputData>({
161
141
  utxos,
162
142
  feeRate,
163
143
  recipients
@@ -165,10 +145,7 @@ declare function getSpendableAmount<T extends {
165
145
  spendableAmount: BigNumber;
166
146
  fee: number;
167
147
  };
168
- declare function filterUneconomicalUtxos<T extends {
169
- value: number;
170
- txid: string;
171
- }>({
148
+ declare function filterUneconomicalUtxos<T extends InputData>({
172
149
  utxos,
173
150
  feeRate,
174
151
  recipients
@@ -178,11 +155,25 @@ declare function filterUneconomicalUtxos<T extends {
178
155
  recipients: CoinSelectionRecipient[];
179
156
  }): T[];
180
157
  //#endregion
158
+ //#region src/coin-selection/calculate-max-spend.d.ts
159
+ interface CalculateMaxSpendParams {
160
+ recipient: string;
161
+ utxos: InputData[];
162
+ feeRate: number;
163
+ }
164
+ interface CalculateMaxSpendResponse {
165
+ spendAllFee: number;
166
+ amount: Money;
167
+ spendableBitcoin: BigNumber;
168
+ }
169
+ declare function calculateMaxSpend({
170
+ recipient,
171
+ utxos,
172
+ feeRate
173
+ }: CalculateMaxSpendParams): CalculateMaxSpendResponse;
174
+ //#endregion
181
175
  //#region src/fees/bitcoin-fees.d.ts
182
- type GetBitcoinTransactionFeeArgs = DetermineUtxosForSpendArgs<{
183
- value: number;
184
- txid: string;
185
- }> & {
176
+ type GetBitcoinTransactionFeeArgs = DetermineUtxosForSpendArgs<InputData> & {
186
177
  isSendingMax?: boolean;
187
178
  };
188
179
  declare function getBitcoinTransactionFee({
@@ -208,10 +199,7 @@ interface GetBitcoinFeesArgs {
208
199
  feeRates: AverageBitcoinFeeRates;
209
200
  isSendingMax?: boolean;
210
201
  recipients: CoinSelectionRecipient[];
211
- utxos: {
212
- value: number;
213
- txid: string;
214
- }[];
202
+ utxos: InputData[];
215
203
  }
216
204
  declare function getBitcoinFees({
217
205
  feeRates,
@@ -233,6 +221,81 @@ declare function getBitcoinFees({
233
221
  };
234
222
  };
235
223
  //#endregion
224
+ //#region src/fees/btc-size-fee-estimator.d.ts
225
+ type InputScriptType = 'p2pkh' | 'p2sh' | 'p2sh-p2wpkh' | 'p2sh-p2wsh' | 'p2wpkh' | 'p2wsh' | 'p2tr';
226
+ interface TxSizerParams {
227
+ input_count: number;
228
+ input_script: InputScriptType;
229
+ input_m: number;
230
+ input_n: number;
231
+ p2pkh_output_count: number;
232
+ p2sh_output_count: number;
233
+ p2sh_p2wpkh_output_count: number;
234
+ p2sh_p2wsh_output_count: number;
235
+ p2wpkh_output_count: number;
236
+ p2wsh_output_count: number;
237
+ p2tr_output_count: number;
238
+ }
239
+ interface MixedInputTxSizerParams {
240
+ p2wpkh_input_count: number;
241
+ p2tr_input_count: number;
242
+ p2pkh_input_count?: number;
243
+ p2sh_input_count?: number;
244
+ p2sh_p2wpkh_input_count?: number;
245
+ p2sh_p2wsh_input_count?: number;
246
+ p2wsh_input_count?: number;
247
+ input_m?: number;
248
+ input_n?: number;
249
+ p2pkh_output_count?: number;
250
+ p2sh_output_count?: number;
251
+ p2sh_p2wpkh_output_count?: number;
252
+ p2sh_p2wsh_output_count?: number;
253
+ p2wpkh_output_count?: number;
254
+ p2wsh_output_count?: number;
255
+ p2tr_output_count?: number;
256
+ _forceSegwit?: boolean;
257
+ }
258
+ declare class BtcSizeFeeEstimator {
259
+ P2PKH_IN_SIZE: number;
260
+ P2PKH_OUT_SIZE: number;
261
+ P2SH_OUT_SIZE: number;
262
+ P2SH_P2WPKH_OUT_SIZE: number;
263
+ P2SH_P2WSH_OUT_SIZE: number;
264
+ P2SH_P2WPKH_IN_SIZE: number;
265
+ P2WPKH_IN_SIZE: number;
266
+ P2WPKH_OUT_SIZE: number;
267
+ P2WSH_OUT_SIZE: number;
268
+ P2TR_OUT_SIZE: number;
269
+ P2TR_IN_SIZE: number;
270
+ PUBKEY_SIZE: number;
271
+ SIGNATURE_SIZE: number;
272
+ SUPPORTED_INPUT_SCRIPT_TYPES: InputScriptType[];
273
+ defaultParams: TxSizerParams;
274
+ params: TxSizerParams;
275
+ getSizeOfScriptLengthElement(length: number): 1 | 3 | 5 | 2;
276
+ getSizeOfletInt(length: number): 1 | 3 | 5 | 9;
277
+ getTxOverheadVBytes(input_script: InputScriptType, input_count: number, output_count: number): number;
278
+ getTxOverheadExtraRawBytes(input_script: InputScriptType, input_count: number): number;
279
+ prepareParams(opts: Partial<TxSizerParams>): TxSizerParams;
280
+ getOutputCount(): number;
281
+ getSizeBasedOnInputType(): {
282
+ inputSize: number;
283
+ inputWitnessSize: number;
284
+ };
285
+ calcTxSize(opts: Partial<TxSizerParams>): {
286
+ txVBytes: number;
287
+ txBytes: number;
288
+ txWeight: number;
289
+ };
290
+ calcMixedInputTxSize(opts: MixedInputTxSizerParams): {
291
+ txVBytes: number;
292
+ txBytes: number;
293
+ txWeight: number;
294
+ };
295
+ estimateFee(vbyte: number, satVb: number): number;
296
+ formatFeeRange(fee: number, multiplier: number): string;
297
+ }
298
+ //#endregion
236
299
  //#region src/mocks/mocks.d.ts
237
300
  declare const TEST_ACCOUNT_1_NATIVE_SEGWIT_ADDRESS: _leather_io_models0.BitcoinAddress;
238
301
  declare const TEST_ACCOUNT_1_TAPROOT_ADDRESS: _leather_io_models0.BitcoinAddress;
@@ -254,6 +317,123 @@ declare function btcAddressValidator(): z.ZodString;
254
317
  declare function getNetworkTypeFromAddress(address: string): BitcoinNetworkModes;
255
318
  declare function btcAddressNetworkValidator(network: BitcoinNetworkModes): z.ZodString;
256
319
  //#endregion
320
+ //#region src/signer/bitcoin-signer.d.ts
321
+ type AllowedSighashTypes = ValueOf<typeof signatureHash> | SigHash;
322
+ interface BitcoinAccountKeychain {
323
+ descriptor: string;
324
+ masterKeyFingerprint: string;
325
+ keyOrigin: string;
326
+ keychain: HDKey;
327
+ xpub: string;
328
+ }
329
+ type WithDerivePayer<T, P> = T & {
330
+ derivePayer(args: BitcoinPayerInfo): P;
331
+ };
332
+ interface BitcoinSigner<Payment> {
333
+ network: BitcoinNetworkModes;
334
+ payment: Payment;
335
+ keychain: HDKey;
336
+ derivationPath: string;
337
+ address: BitcoinAddress;
338
+ publicKey: Uint8Array;
339
+ sign(tx: btc.Transaction): void;
340
+ signIndex(tx: btc.Transaction, index: number, allowedSighash?: AllowedSighashTypes[]): void;
341
+ }
342
+ interface BitcoinPayerBase {
343
+ paymentType: SupportedPaymentType;
344
+ network: BitcoinNetworkModes;
345
+ address: BitcoinAddress;
346
+ keyOrigin: string;
347
+ masterKeyFingerprint: string;
348
+ publicKey: Uint8Array;
349
+ }
350
+ interface BitcoinNativeSegwitPayer extends BitcoinPayerBase {
351
+ paymentType: 'p2wpkh';
352
+ payment: P2Ret;
353
+ }
354
+ interface BitcoinTaprootPayer extends BitcoinPayerBase {
355
+ paymentType: 'p2tr';
356
+ payment: P2TROut;
357
+ }
358
+ type BitcoinPayer = BitcoinNativeSegwitPayer | BitcoinTaprootPayer;
359
+ declare function initializeBitcoinAccountKeychainFromDescriptor(descriptor: string): BitcoinAccountKeychain;
360
+ interface BitcoinPayerInfo {
361
+ change: number;
362
+ addressIndex: number;
363
+ }
364
+ declare function deriveBitcoinPayerFromAccount(descriptor: string, network: BitcoinNetworkModes): ({
365
+ change,
366
+ addressIndex
367
+ }: BitcoinPayerInfo) => {
368
+ keyOrigin: string;
369
+ masterKeyFingerprint: string;
370
+ paymentType: SupportedPaymentType;
371
+ network: BitcoinNetworkModes;
372
+ payment: P2Ret;
373
+ readonly address: string;
374
+ readonly publicKey: Uint8Array<ArrayBufferLike>;
375
+ };
376
+ interface BtcSignerDerivationPath {
377
+ fingerprint: number;
378
+ path: number[];
379
+ }
380
+ type BtcSignerDefaultBip32Derivation = [Uint8Array, BtcSignerDerivationPath];
381
+ type BtcSignerTapBip32Derivation = [Uint8Array, {
382
+ hashes: Uint8Array[];
383
+ der: BtcSignerDerivationPath;
384
+ }];
385
+ type BtcSignerBip32Derivation = BtcSignerDefaultBip32Derivation | BtcSignerTapBip32Derivation;
386
+ type PayerToBip32DerivationArgs = Pick<BitcoinPayer, 'masterKeyFingerprint' | 'keyOrigin' | 'publicKey'>;
387
+ /**
388
+ * @example
389
+ * ```ts
390
+ * tx.addInput({
391
+ * ...input,
392
+ * bip32Derivation: [payerToBip32Derivation(payer)],
393
+ * })
394
+ * ```
395
+ */
396
+ declare function payerToBip32Derivation(args: PayerToBip32DerivationArgs): BtcSignerDefaultBip32Derivation;
397
+ /**
398
+ * @example
399
+ * ```ts
400
+ * tx.addInput({
401
+ * ...input,
402
+ * tapBip32Derivation: [payerToTapBip32Derivation(payer)],
403
+ * })
404
+ * ```
405
+ */
406
+ declare function payerToTapBip32Derivation(args: PayerToBip32DerivationArgs): BtcSignerTapBip32Derivation;
407
+ type PsbtInputBitcoinJsLib = bitcoin.Psbt['data']['inputs']['0'];
408
+ type TapBip32DerivationBitcoinJsLib = NonNullable<PsbtInputBitcoinJsLib['tapBip32Derivation']>['0'];
409
+ declare function payerToTapBip32DerivationBitcoinJsLib(args: PayerToBip32DerivationArgs): TapBip32DerivationBitcoinJsLib;
410
+ type Bip32DerivationBitcoinJsLib = NonNullable<PsbtInputBitcoinJsLib['bip32Derivation']>['0'];
411
+ declare function payerToBip32DerivationBitcoinJsLib(args: PayerToBip32DerivationArgs): Bip32DerivationBitcoinJsLib;
412
+ declare function extractPayerInfoFromDerivationPath(path: string): {
413
+ change: number;
414
+ addressIndex: number;
415
+ };
416
+ /**
417
+ * @description
418
+ * Turns key format from @scure/btc-signer lib back into key origin string
419
+ * @example
420
+ * ```ts
421
+ * const [inputOne] = getPsbtTxInputs(tx);
422
+ * const keyOrigin = serializeKeyOrigin(inputOne.bip32Derivation[0][1]);
423
+ * ```
424
+ */
425
+ declare function serializeKeyOrigin({
426
+ fingerprint,
427
+ path
428
+ }: BtcSignerDerivationPath): string;
429
+ /**
430
+ * @description
431
+ * Of a given set of a `tx.input`s bip32 derivation paths from
432
+ * `@scure/btc-signer`, serialize the paths back to the string format used
433
+ * internally
434
+ */
435
+ declare function extractRequiredKeyOrigins(derivation: BtcSignerBip32Derivation[]): string[];
436
+ //#endregion
257
437
  //#region src/utils/bitcoin.network.d.ts
258
438
  interface BtcSignerNetwork {
259
439
  bech32: string;
@@ -308,9 +488,9 @@ declare function getAddressFromOutScript(script: Uint8Array, bitcoinNetwork: Btc
308
488
  */
309
489
  type BtcSignerLibPaymentTypeIdentifers = 'wpkh' | 'wsh' | 'tr' | 'pkh' | 'sh';
310
490
  declare const paymentTypeMap: Record<BtcSignerLibPaymentTypeIdentifers, BitcoinPaymentTypes>;
311
- declare function btcSignerLibPaymentTypeToPaymentTypeMap(payment: BtcSignerLibPaymentTypeIdentifers): "p2pkh" | "p2sh" | "p2wpkh-p2sh" | "p2wpkh" | "p2tr";
491
+ declare function btcSignerLibPaymentTypeToPaymentTypeMap(payment: BtcSignerLibPaymentTypeIdentifers): "p2wpkh" | "p2tr" | "p2pkh" | "p2sh" | "p2wpkh-p2sh";
312
492
  declare function isBtcSignerLibPaymentType(payment: string): payment is BtcSignerLibPaymentTypeIdentifers;
313
- declare function parseKnownPaymentType(payment: BtcSignerLibPaymentTypeIdentifers | BitcoinPaymentTypes): "p2pkh" | "p2sh" | "p2wpkh-p2sh" | "p2wpkh" | "p2tr";
493
+ declare function parseKnownPaymentType(payment: BtcSignerLibPaymentTypeIdentifers | BitcoinPaymentTypes): "p2wpkh" | "p2tr" | "p2pkh" | "p2sh" | "p2wpkh-p2sh";
314
494
  type PaymentTypeMap<T> = Record<BitcoinPaymentTypes, T>;
315
495
  declare function whenPaymentType(mode: BitcoinPaymentTypes | BtcSignerLibPaymentTypeIdentifers): <T>(paymentMap: PaymentTypeMap<T>) => T;
316
496
  type SupportedPaymentType = 'p2wpkh' | 'p2tr';
@@ -362,6 +542,7 @@ declare function inferPaymentTypeFromAddress(address: BitcoinAddress): Supported
362
542
  declare function getBitcoinInputValue(input: TransactionInput): number;
363
543
  declare function isTaprootDerivationPath(path: string): boolean;
364
544
  declare function isNativeSegwitDerivationPath(path: string): boolean;
545
+ declare function isP2TROut(signer: BitcoinSigner<P2Ret | P2TROut> | null): signer is BitcoinSigner<P2TROut>;
365
546
  //#endregion
366
547
  //#region src/payments/p2tr-address-gen.d.ts
367
548
  declare function makeTaprootAccountDerivationPath(network: BitcoinNetworkModes, accountIndex: number): string;
@@ -541,123 +722,6 @@ type RawPsbt = ReturnType<typeof RawPSBTV0.decode>;
541
722
  declare function getPsbtAsTransaction(psbt: string | Uint8Array): btc.Transaction;
542
723
  declare function getRawPsbt(psbt: string | Uint8Array): ReturnType<typeof RawPSBTV0.decode>;
543
724
  //#endregion
544
- //#region src/signer/bitcoin-signer.d.ts
545
- type AllowedSighashTypes = ValueOf<typeof signatureHash> | SigHash;
546
- interface BitcoinAccountKeychain {
547
- descriptor: string;
548
- masterKeyFingerprint: string;
549
- keyOrigin: string;
550
- keychain: HDKey;
551
- xpub: string;
552
- }
553
- type WithDerivePayer<T, P> = T & {
554
- derivePayer(args: BitcoinPayerInfo): P;
555
- };
556
- interface BitcoinSigner<Payment> {
557
- network: BitcoinNetworkModes;
558
- payment: Payment;
559
- keychain: HDKey;
560
- derivationPath: string;
561
- address: BitcoinAddress;
562
- publicKey: Uint8Array;
563
- sign(tx: btc.Transaction): void;
564
- signIndex(tx: btc.Transaction, index: number, allowedSighash?: AllowedSighashTypes[]): void;
565
- }
566
- interface BitcoinPayerBase {
567
- paymentType: SupportedPaymentType;
568
- network: BitcoinNetworkModes;
569
- address: BitcoinAddress;
570
- keyOrigin: string;
571
- masterKeyFingerprint: string;
572
- publicKey: Uint8Array;
573
- }
574
- interface BitcoinNativeSegwitPayer extends BitcoinPayerBase {
575
- paymentType: 'p2wpkh';
576
- payment: P2Ret;
577
- }
578
- interface BitcoinTaprootPayer extends BitcoinPayerBase {
579
- paymentType: 'p2tr';
580
- payment: P2TROut;
581
- }
582
- type BitcoinPayer = BitcoinNativeSegwitPayer | BitcoinTaprootPayer;
583
- declare function initializeBitcoinAccountKeychainFromDescriptor(descriptor: string): BitcoinAccountKeychain;
584
- interface BitcoinPayerInfo {
585
- change: number;
586
- addressIndex: number;
587
- }
588
- declare function deriveBitcoinPayerFromAccount(descriptor: string, network: BitcoinNetworkModes): ({
589
- change,
590
- addressIndex
591
- }: BitcoinPayerInfo) => {
592
- keyOrigin: string;
593
- masterKeyFingerprint: string;
594
- paymentType: SupportedPaymentType;
595
- network: BitcoinNetworkModes;
596
- payment: P2Ret;
597
- readonly address: string;
598
- readonly publicKey: Uint8Array<ArrayBufferLike>;
599
- };
600
- interface BtcSignerDerivationPath {
601
- fingerprint: number;
602
- path: number[];
603
- }
604
- type BtcSignerDefaultBip32Derivation = [Uint8Array, BtcSignerDerivationPath];
605
- type BtcSignerTapBip32Derivation = [Uint8Array, {
606
- hashes: Uint8Array[];
607
- der: BtcSignerDerivationPath;
608
- }];
609
- type BtcSignerBip32Derivation = BtcSignerDefaultBip32Derivation | BtcSignerTapBip32Derivation;
610
- type PayerToBip32DerivationArgs = Pick<BitcoinPayer, 'masterKeyFingerprint' | 'keyOrigin' | 'publicKey'>;
611
- /**
612
- * @example
613
- * ```ts
614
- * tx.addInput({
615
- * ...input,
616
- * bip32Derivation: [payerToBip32Derivation(payer)],
617
- * })
618
- * ```
619
- */
620
- declare function payerToBip32Derivation(args: PayerToBip32DerivationArgs): BtcSignerDefaultBip32Derivation;
621
- /**
622
- * @example
623
- * ```ts
624
- * tx.addInput({
625
- * ...input,
626
- * tapBip32Derivation: [payerToTapBip32Derivation(payer)],
627
- * })
628
- * ```
629
- */
630
- declare function payerToTapBip32Derivation(args: PayerToBip32DerivationArgs): BtcSignerTapBip32Derivation;
631
- type PsbtInputBitcoinJsLib = bitcoin.Psbt['data']['inputs']['0'];
632
- type TapBip32DerivationBitcoinJsLib = NonNullable<PsbtInputBitcoinJsLib['tapBip32Derivation']>['0'];
633
- declare function payerToTapBip32DerivationBitcoinJsLib(args: PayerToBip32DerivationArgs): TapBip32DerivationBitcoinJsLib;
634
- type Bip32DerivationBitcoinJsLib = NonNullable<PsbtInputBitcoinJsLib['bip32Derivation']>['0'];
635
- declare function payerToBip32DerivationBitcoinJsLib(args: PayerToBip32DerivationArgs): Bip32DerivationBitcoinJsLib;
636
- declare function extractPayerInfoFromDerivationPath(path: string): {
637
- change: number;
638
- addressIndex: number;
639
- };
640
- /**
641
- * @description
642
- * Turns key format from @scure/btc-signer lib back into key origin string
643
- * @example
644
- * ```ts
645
- * const [inputOne] = getPsbtTxInputs(tx);
646
- * const keyOrigin = serializeKeyOrigin(inputOne.bip32Derivation[0][1]);
647
- * ```
648
- */
649
- declare function serializeKeyOrigin({
650
- fingerprint,
651
- path
652
- }: BtcSignerDerivationPath): string;
653
- /**
654
- * @description
655
- * Of a given set of a `tx.input`s bip32 derivation paths from
656
- * `@scure/btc-signer`, serialize the paths back to the string format used
657
- * internally
658
- */
659
- declare function extractRequiredKeyOrigins(derivation: BtcSignerBip32Derivation[]): string[];
660
- //#endregion
661
725
  //#region src/transactions/generate-unsigned-transaction.d.ts
662
726
  interface GenerateBitcoinUnsignedTransactionArgs<T> {
663
727
  feeRate: number;
@@ -668,10 +732,8 @@ interface GenerateBitcoinUnsignedTransactionArgs<T> {
668
732
  changeAddress: string;
669
733
  payerLookup(keyOrigin: string): BitcoinNativeSegwitPayer | BitcoinTaprootPayer | undefined;
670
734
  }
671
- declare function generateBitcoinUnsignedTransaction<T extends {
672
- txid: string;
735
+ declare function generateBitcoinUnsignedTransaction<T extends InputData & {
673
736
  vout: number;
674
- value: number;
675
737
  keyOrigin: string;
676
738
  }>({
677
739
  feeRate,
@@ -760,5 +822,5 @@ declare function deconstructBtcAddress(address: string): {
760
822
  hashbytes: Uint8Array<ArrayBufferLike>;
761
823
  };
762
824
  //#endregion
763
- export { AllowedSighashTypes, BitcoinAccount, BitcoinAccountKeychain, BitcoinError, BitcoinErrorKey, BitcoinFees, BitcoinNativeSegwitPayer, BitcoinPayer, BitcoinPayerBase, BitcoinPayerInfo, BitcoinSigner, BitcoinTaprootPayer, BtcSignerDefaultBip32Derivation, BtcSignerLibPaymentTypeIdentifers, BtcSignerNetwork, BtcSignerTapBip32Derivation, CalculateMaxSpendResponse, CoinSelectionOutput, CoinSelectionRecipient, DeriveAddressesFromDescriptorArgs, DeriveAddressesFromDescriptorResult, DetermineUtxosForSpendArgs, GenerateBitcoinUnsignedTransactionArgs, GetBitcoinFeesArgs, PaymentTypeMap, PsbtInput, PsbtOutput, PsbtOutputWithAddress, RawPsbt, SupportedPaymentType, SupportedPaymentTypeMap, TEST_ACCOUNT_1_NATIVE_SEGWIT_ADDRESS, TEST_ACCOUNT_1_TAPROOT_ADDRESS, TEST_ACCOUNT_2_TAPROOT_ADDRESS, TEST_TESNET_ACCOUNT_1_NATIVE_SEGWIT_ADDRESS, TEST_TESTNET_ACCOUNT_2_BTC_ADDRESS, TEST_TESTNET_ACCOUNT_2_TAPROOT_ADDRESS, WithDerivePayer, bip21, bip322TransactionToSignValues, bitcoinNetworkModeToCoreNetworkMode, bitcoinNetworkToCoreNetworkMap, btcAddressNetworkValidator, btcAddressValidator, btcSignerLibPaymentTypeToPaymentTypeMap, calculateMaxSpend, coinTypeMap, createBitcoinAddress, createNativeSegwitBitcoinJsSigner, createTaprootBitcoinJsSigner, createToSpendTx, createWalletIdDecoratedPath, decodeBitcoinTx, decodeCompressedWifPrivateKey, deconstructBtcAddress, deriveAddressIndexKeychainFromAccount, deriveAddressIndexZeroFromAccount, deriveAddressesFromDescriptor, deriveBitcoinPayerFromAccount, deriveBtcBip49SeedFromMnemonic, deriveNativeSegwitAccountFromRootKeychain, deriveNativeSegwitReceiveAddressIndexZero, deriveRootBtcKeychain, deriveTaprootAccount, deriveTaprootReceiveAddressIndexZero, determineUtxosForSpend, determineUtxosForSpendAll, ecPairFromPrivateKey, ecdsaPublicKeyLength, ecdsaPublicKeyToSchnorr, encodeMessageWitnessData, extractExtendedPublicKeyFromPolicy, extractPayerInfoFromDerivationPath, extractRequiredKeyOrigins, extractXpubFromDescriptor, filterUneconomicalUtxos, generateBitcoinUnsignedTransaction, getAddressFromOutScript, getBitcoinAddressNetworkType, getBitcoinCoinTypeIndexByNetwork, getBitcoinFees, getBitcoinInputAddress, getBitcoinInputValue, getBitcoinJsLibNetworkConfigByMode, getBitcoinTransactionFee, getBtcSignerLibNetworkConfigByMode, getDescriptorFromKeychain, getHdKeyVersionsFromNetwork, getInputPaymentType, getNativeSegwitAccountDerivationPath, getNativeSegwitAddress, getNativeSegwitAddressIndexDerivationPath, getNativeSegwitPaymentFromAddressIndex, getNetworkTypeFromAddress, getParsedInputs, getParsedOutputs, getPsbtAsTransaction, getPsbtDetails, getPsbtTotals, getPsbtTxInputs, getPsbtTxOutputs, getRawPsbt, getSizeInfo, getSpendableAmount, getTaprootAccountDerivationPath, getTaprootAddress, getTaprootAddressIndexDerivationPath, getTaprootPayment, getTaprootPaymentFromAddressIndex, getUtxoTotal, hashBip322Message, inValidCharactersAddress, inValidLengthAddress, inferNetworkFromAddress, inferNetworkFromPath, inferPaymentTypeFromAddress, inferPaymentTypeFromDescriptor, inferPaymentTypeFromPath, initBitcoinAccount, initializeBitcoinAccountKeychainFromDescriptor, invalidAddress, isBitcoinAddress, isBtcBalanceSufficient, isBtcMinimumSpend, isBtcSignerLibPaymentType, isNativeSegwitDerivationPath, isSupportedMessageSigningPaymentType, isTaprootDerivationPath, isValidBitcoinAddress, isValidBitcoinNetworkAddress, legacyAddress, lookUpLedgerKeysByPath, lookupDerivationByAddress, makeNativeSegwitAccountDerivationPath, makeNativeSegwitAddressIndexDerivationPath, makePayToScriptHashAddress, makePayToScriptHashAddressBytes, makePayToScriptHashKeyHash, makeTaprootAccountDerivationPath, makeTaprootAddressIndexDerivationPath, mnemonicToRootNode, nonEmptyStringValidator, parseKnownPaymentType, payToScriptHashTestnetPrefix, payerToBip32Derivation, payerToBip32DerivationBitcoinJsLib, payerToTapBip32Derivation, payerToTapBip32DerivationBitcoinJsLib, paymentTypeMap, publicKeyToPayToScriptHashAddress, recipientAddress, segwitAddress, serializeKeyOrigin, signBip322MessageSimple, taprootAddress, toXOnly, tweakSigner, whenBitcoinNetwork, whenPaymentType, whenSupportedPaymentType };
825
+ export { AllowedSighashTypes, BitcoinAccount, BitcoinAccountKeychain, BitcoinError, BitcoinErrorKey, BitcoinFees, BitcoinNativeSegwitPayer, BitcoinPayer, BitcoinPayerBase, BitcoinPayerInfo, BitcoinSigner, BitcoinTaprootPayer, BtcSignerDefaultBip32Derivation, BtcSignerLibPaymentTypeIdentifers, BtcSignerNetwork, BtcSignerTapBip32Derivation, BtcSizeFeeEstimator, CalculateMaxSpendResponse, CoinSelectionOutput, CoinSelectionRecipient, DeriveAddressesFromDescriptorArgs, DeriveAddressesFromDescriptorResult, DetermineUtxosForSpendArgs, GenerateBitcoinUnsignedTransactionArgs, GetBitcoinFeesArgs, InputData, InputScriptType, MixedInputTxSizerParams, PaymentTypeMap, PsbtInput, PsbtOutput, PsbtOutputWithAddress, RawPsbt, SupportedPaymentType, SupportedPaymentTypeMap, TEST_ACCOUNT_1_NATIVE_SEGWIT_ADDRESS, TEST_ACCOUNT_1_TAPROOT_ADDRESS, TEST_ACCOUNT_2_TAPROOT_ADDRESS, TEST_TESNET_ACCOUNT_1_NATIVE_SEGWIT_ADDRESS, TEST_TESTNET_ACCOUNT_2_BTC_ADDRESS, TEST_TESTNET_ACCOUNT_2_TAPROOT_ADDRESS, TxSizerParams, WithDerivePayer, bip21, bip322TransactionToSignValues, bitcoinNetworkModeToCoreNetworkMode, bitcoinNetworkToCoreNetworkMap, btcAddressNetworkValidator, btcAddressValidator, btcSignerLibPaymentTypeToPaymentTypeMap, calculateMaxSpend, coinTypeMap, countInputsByScriptType, createBitcoinAddress, createNativeSegwitBitcoinJsSigner, createTaprootBitcoinJsSigner, createToSpendTx, createWalletIdDecoratedPath, decodeBitcoinTx, decodeCompressedWifPrivateKey, deconstructBtcAddress, deriveAddressIndexKeychainFromAccount, deriveAddressIndexZeroFromAccount, deriveAddressesFromDescriptor, deriveBitcoinPayerFromAccount, deriveBtcBip49SeedFromMnemonic, deriveNativeSegwitAccountFromRootKeychain, deriveNativeSegwitReceiveAddressIndexZero, deriveRootBtcKeychain, deriveTaprootAccount, deriveTaprootReceiveAddressIndexZero, determineUtxosForSpend, determineUtxosForSpendAll, ecPairFromPrivateKey, ecdsaPublicKeyLength, ecdsaPublicKeyToSchnorr, encodeMessageWitnessData, extractExtendedPublicKeyFromPolicy, extractPayerInfoFromDerivationPath, extractRequiredKeyOrigins, extractXpubFromDescriptor, filterUneconomicalUtxos, generateBitcoinUnsignedTransaction, getAddressFromOutScript, getBitcoinAddressNetworkType, getBitcoinCoinTypeIndexByNetwork, getBitcoinFees, getBitcoinInputAddress, getBitcoinInputValue, getBitcoinJsLibNetworkConfigByMode, getBitcoinTransactionFee, getBtcSignerLibNetworkConfigByMode, getDescriptorFromKeychain, getHdKeyVersionsFromNetwork, getInputPaymentType, getNativeSegwitAccountDerivationPath, getNativeSegwitAddress, getNativeSegwitAddressIndexDerivationPath, getNativeSegwitPaymentFromAddressIndex, getNetworkTypeFromAddress, getParsedInputs, getParsedOutputs, getPsbtAsTransaction, getPsbtDetails, getPsbtTotals, getPsbtTxInputs, getPsbtTxOutputs, getRawPsbt, getSizeInfo, getSpendableAmount, getTaprootAccountDerivationPath, getTaprootAddress, getTaprootAddressIndexDerivationPath, getTaprootPayment, getTaprootPaymentFromAddressIndex, getUtxoTotal, hashBip322Message, inValidCharactersAddress, inValidLengthAddress, inferNetworkFromAddress, inferNetworkFromPath, inferPaymentTypeFromAddress, inferPaymentTypeFromDescriptor, inferPaymentTypeFromPath, initBitcoinAccount, initializeBitcoinAccountKeychainFromDescriptor, invalidAddress, isBitcoinAddress, isBtcBalanceSufficient, isBtcMinimumSpend, isBtcSignerLibPaymentType, isNativeSegwitDerivationPath, isP2TROut, isSupportedMessageSigningPaymentType, isTaprootDerivationPath, isValidBitcoinAddress, isValidBitcoinNetworkAddress, legacyAddress, lookUpLedgerKeysByPath, lookupDerivationByAddress, makeNativeSegwitAccountDerivationPath, makeNativeSegwitAddressIndexDerivationPath, makePayToScriptHashAddress, makePayToScriptHashAddressBytes, makePayToScriptHashKeyHash, makeTaprootAccountDerivationPath, makeTaprootAddressIndexDerivationPath, mnemonicToRootNode, nonEmptyStringValidator, parseKnownPaymentType, payToScriptHashTestnetPrefix, payerToBip32Derivation, payerToBip32DerivationBitcoinJsLib, payerToTapBip32Derivation, payerToTapBip32DerivationBitcoinJsLib, paymentTypeMap, publicKeyToPayToScriptHashAddress, recipientAddress, segwitAddress, serializeKeyOrigin, signBip322MessageSimple, taprootAddress, toXOnly, tweakSigner, whenBitcoinNetwork, whenPaymentType, whenSupportedPaymentType };
764
826
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/bip21/bip21.ts","../src/bip322/bip322-utils.ts","../src/bip322/sign-message-bip322-bitcoinjs.ts","../src/coin-selection/calculate-max-spend.ts","../src/coin-selection/coin-selection.ts","../src/coin-selection/coin-selection.utils.ts","../src/fees/bitcoin-fees.ts","../src/mocks/mocks.ts","../src/schemas/address-schema.ts","../src/utils/bitcoin.network.ts","../src/utils/bitcoin.utils.ts","../src/payments/p2tr-address-gen.ts","../src/payments/p2wpkh-address-gen.ts","../src/payments/p2wsh-p2sh-address-gen.ts","../src/psbt/psbt-inputs.ts","../src/psbt/psbt-outputs.ts","../src/psbt/psbt-totals.ts","../src/psbt/psbt-details.ts","../src/psbt/utils.ts","../src/signer/bitcoin-signer.ts","../src/transactions/generate-unsigned-transaction.ts","../src/validation/address-validation.ts","../src/validation/amount-validation.ts","../src/validation/bitcoin-address.ts","../src/validation/bitcoin-error.ts","../src/utils/bitcoin.descriptors.ts","../src/utils/lookup-derivation-by-address.ts","../src/utils/deconstruct-btc-address.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/bip21/bip21.ts","../src/bip322/bip322-utils.ts","../src/bip322/sign-message-bip322-bitcoinjs.ts","../src/coin-selection/coin-selection.ts","../src/coin-selection/coin-selection.utils.ts","../src/coin-selection/calculate-max-spend.ts","../src/fees/bitcoin-fees.ts","../src/fees/btc-size-fee-estimator.ts","../src/mocks/mocks.ts","../src/schemas/address-schema.ts","../src/signer/bitcoin-signer.ts","../src/utils/bitcoin.network.ts","../src/utils/bitcoin.utils.ts","../src/payments/p2tr-address-gen.ts","../src/payments/p2wpkh-address-gen.ts","../src/payments/p2wsh-p2sh-address-gen.ts","../src/psbt/psbt-inputs.ts","../src/psbt/psbt-outputs.ts","../src/psbt/psbt-totals.ts","../src/psbt/psbt-details.ts","../src/psbt/utils.ts","../src/transactions/generate-unsigned-transaction.ts","../src/validation/address-validation.ts","../src/validation/amount-validation.ts","../src/validation/bitcoin-address.ts","../src/validation/bitcoin-error.ts","../src/utils/bitcoin.descriptors.ts","../src/utils/lookup-derivation-by-address.ts","../src/utils/deconstruct-btc-address.ts"],"sourcesContent":[],"mappings":"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"}