@leather.io/bitcoin 0.36.6 → 0.37.1

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.1 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.24 kB │ gzip: 13.65 kB
11
+ ℹ dist/index.js.map 117.86 kB │ gzip: 27.60 kB
12
+ ℹ dist/index.d.ts.map  11.65 kB │ gzip: 4.75 kB
13
+ ℹ dist/index.d.ts  33.54 kB │ gzip: 6.96 kB
14
+ ℹ 4 files, total: 221.29 kB
15
+ ✔ Build complete in 4248ms
package/CHANGELOG.md CHANGED
@@ -939,6 +939,43 @@
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.1](https://github.com/leather-io/mono/compare/@leather.io/bitcoin-v0.37.0...@leather.io/bitcoin-v0.37.1) (2026-03-04)
943
+
944
+
945
+ ### Bug Fixes
946
+
947
+ * add tr related unit tests + fix bug in max send calculation ([852e8a6](https://github.com/leather-io/mono/commit/852e8a6765fef7cb98014642fa94357e7dbfc1c0))
948
+
949
+
950
+ ### Dependencies
951
+
952
+ * The following workspace dependencies were updated
953
+ * dependencies
954
+ * @leather.io/constants bumped to 0.33.0
955
+ * @leather.io/crypto bumped to 1.12.18
956
+ * @leather.io/utils bumped to 0.50.1
957
+ * devDependencies
958
+ * @leather.io/rpc bumped to 2.21.12
959
+
960
+ ## [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)
961
+
962
+
963
+ ### Features
964
+
965
+ * **extension:** implement taproot sends ([c4bfa96](https://github.com/leather-io/mono/commit/c4bfa960658d29bb0427f756725e87bdf77fd7b7))
966
+
967
+
968
+ ### Dependencies
969
+
970
+ * The following workspace dependencies were updated
971
+ * dependencies
972
+ * @leather.io/constants bumped to 0.32.0
973
+ * @leather.io/crypto bumped to 1.12.17
974
+ * @leather.io/models bumped to 0.54.0
975
+ * @leather.io/utils bumped to 0.50.0
976
+ * devDependencies
977
+ * @leather.io/rpc bumped to 2.21.11
978
+
942
979
  ## [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
980
 
944
981
 
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,20 +137,16 @@ 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
- recipients
143
+ recipients,
144
+ isSendMax
164
145
  }: GetSpendableAmountArgs<T>): {
165
146
  spendableAmount: BigNumber;
166
147
  fee: number;
167
148
  };
168
- declare function filterUneconomicalUtxos<T extends {
169
- value: number;
170
- txid: string;
171
- }>({
149
+ declare function filterUneconomicalUtxos<T extends InputData>({
172
150
  utxos,
173
151
  feeRate,
174
152
  recipients
@@ -178,11 +156,25 @@ declare function filterUneconomicalUtxos<T extends {
178
156
  recipients: CoinSelectionRecipient[];
179
157
  }): T[];
180
158
  //#endregion
159
+ //#region src/coin-selection/calculate-max-spend.d.ts
160
+ interface CalculateMaxSpendParams {
161
+ recipient: string;
162
+ utxos: InputData[];
163
+ feeRate: number;
164
+ }
165
+ interface CalculateMaxSpendResponse {
166
+ spendAllFee: number;
167
+ amount: Money;
168
+ spendableBitcoin: BigNumber;
169
+ }
170
+ declare function calculateMaxSpend({
171
+ recipient,
172
+ utxos,
173
+ feeRate
174
+ }: CalculateMaxSpendParams): CalculateMaxSpendResponse;
175
+ //#endregion
181
176
  //#region src/fees/bitcoin-fees.d.ts
182
- type GetBitcoinTransactionFeeArgs = DetermineUtxosForSpendArgs<{
183
- value: number;
184
- txid: string;
185
- }> & {
177
+ type GetBitcoinTransactionFeeArgs = DetermineUtxosForSpendArgs<InputData> & {
186
178
  isSendingMax?: boolean;
187
179
  };
188
180
  declare function getBitcoinTransactionFee({
@@ -208,10 +200,7 @@ interface GetBitcoinFeesArgs {
208
200
  feeRates: AverageBitcoinFeeRates;
209
201
  isSendingMax?: boolean;
210
202
  recipients: CoinSelectionRecipient[];
211
- utxos: {
212
- value: number;
213
- txid: string;
214
- }[];
203
+ utxos: InputData[];
215
204
  }
216
205
  declare function getBitcoinFees({
217
206
  feeRates,
@@ -233,6 +222,81 @@ declare function getBitcoinFees({
233
222
  };
234
223
  };
235
224
  //#endregion
225
+ //#region src/fees/btc-size-fee-estimator.d.ts
226
+ type InputScriptType = 'p2pkh' | 'p2sh' | 'p2sh-p2wpkh' | 'p2sh-p2wsh' | 'p2wpkh' | 'p2wsh' | 'p2tr';
227
+ interface TxSizerParams {
228
+ input_count: number;
229
+ input_script: InputScriptType;
230
+ input_m: number;
231
+ input_n: number;
232
+ p2pkh_output_count: number;
233
+ p2sh_output_count: number;
234
+ p2sh_p2wpkh_output_count: number;
235
+ p2sh_p2wsh_output_count: number;
236
+ p2wpkh_output_count: number;
237
+ p2wsh_output_count: number;
238
+ p2tr_output_count: number;
239
+ }
240
+ interface MixedInputTxSizerParams {
241
+ p2wpkh_input_count: number;
242
+ p2tr_input_count: number;
243
+ p2pkh_input_count?: number;
244
+ p2sh_input_count?: number;
245
+ p2sh_p2wpkh_input_count?: number;
246
+ p2sh_p2wsh_input_count?: number;
247
+ p2wsh_input_count?: number;
248
+ input_m?: number;
249
+ input_n?: number;
250
+ p2pkh_output_count?: number;
251
+ p2sh_output_count?: number;
252
+ p2sh_p2wpkh_output_count?: number;
253
+ p2sh_p2wsh_output_count?: number;
254
+ p2wpkh_output_count?: number;
255
+ p2wsh_output_count?: number;
256
+ p2tr_output_count?: number;
257
+ _forceSegwit?: boolean;
258
+ }
259
+ declare class BtcSizeFeeEstimator {
260
+ P2PKH_IN_SIZE: number;
261
+ P2PKH_OUT_SIZE: number;
262
+ P2SH_OUT_SIZE: number;
263
+ P2SH_P2WPKH_OUT_SIZE: number;
264
+ P2SH_P2WSH_OUT_SIZE: number;
265
+ P2SH_P2WPKH_IN_SIZE: number;
266
+ P2WPKH_IN_SIZE: number;
267
+ P2WPKH_OUT_SIZE: number;
268
+ P2WSH_OUT_SIZE: number;
269
+ P2TR_OUT_SIZE: number;
270
+ P2TR_IN_SIZE: number;
271
+ PUBKEY_SIZE: number;
272
+ SIGNATURE_SIZE: number;
273
+ SUPPORTED_INPUT_SCRIPT_TYPES: InputScriptType[];
274
+ defaultParams: TxSizerParams;
275
+ params: TxSizerParams;
276
+ getSizeOfScriptLengthElement(length: number): 1 | 3 | 5 | 2;
277
+ getSizeOfletInt(length: number): 1 | 3 | 5 | 9;
278
+ getTxOverheadVBytes(input_script: InputScriptType, input_count: number, output_count: number): number;
279
+ getTxOverheadExtraRawBytes(input_script: InputScriptType, input_count: number): number;
280
+ prepareParams(opts: Partial<TxSizerParams>): TxSizerParams;
281
+ getOutputCount(): number;
282
+ getSizeBasedOnInputType(): {
283
+ inputSize: number;
284
+ inputWitnessSize: number;
285
+ };
286
+ calcTxSize(opts: Partial<TxSizerParams>): {
287
+ txVBytes: number;
288
+ txBytes: number;
289
+ txWeight: number;
290
+ };
291
+ calcMixedInputTxSize(opts: MixedInputTxSizerParams): {
292
+ txVBytes: number;
293
+ txBytes: number;
294
+ txWeight: number;
295
+ };
296
+ estimateFee(vbyte: number, satVb: number): number;
297
+ formatFeeRange(fee: number, multiplier: number): string;
298
+ }
299
+ //#endregion
236
300
  //#region src/mocks/mocks.d.ts
237
301
  declare const TEST_ACCOUNT_1_NATIVE_SEGWIT_ADDRESS: _leather_io_models0.BitcoinAddress;
238
302
  declare const TEST_ACCOUNT_1_TAPROOT_ADDRESS: _leather_io_models0.BitcoinAddress;
@@ -254,6 +318,123 @@ declare function btcAddressValidator(): z.ZodString;
254
318
  declare function getNetworkTypeFromAddress(address: string): BitcoinNetworkModes;
255
319
  declare function btcAddressNetworkValidator(network: BitcoinNetworkModes): z.ZodString;
256
320
  //#endregion
321
+ //#region src/signer/bitcoin-signer.d.ts
322
+ type AllowedSighashTypes = ValueOf<typeof signatureHash> | SigHash;
323
+ interface BitcoinAccountKeychain {
324
+ descriptor: string;
325
+ masterKeyFingerprint: string;
326
+ keyOrigin: string;
327
+ keychain: HDKey;
328
+ xpub: string;
329
+ }
330
+ type WithDerivePayer<T, P> = T & {
331
+ derivePayer(args: BitcoinPayerInfo): P;
332
+ };
333
+ interface BitcoinSigner<Payment> {
334
+ network: BitcoinNetworkModes;
335
+ payment: Payment;
336
+ keychain: HDKey;
337
+ derivationPath: string;
338
+ address: BitcoinAddress;
339
+ publicKey: Uint8Array;
340
+ sign(tx: btc.Transaction): void;
341
+ signIndex(tx: btc.Transaction, index: number, allowedSighash?: AllowedSighashTypes[]): void;
342
+ }
343
+ interface BitcoinPayerBase {
344
+ paymentType: SupportedPaymentType;
345
+ network: BitcoinNetworkModes;
346
+ address: BitcoinAddress;
347
+ keyOrigin: string;
348
+ masterKeyFingerprint: string;
349
+ publicKey: Uint8Array;
350
+ }
351
+ interface BitcoinNativeSegwitPayer extends BitcoinPayerBase {
352
+ paymentType: 'p2wpkh';
353
+ payment: P2Ret;
354
+ }
355
+ interface BitcoinTaprootPayer extends BitcoinPayerBase {
356
+ paymentType: 'p2tr';
357
+ payment: P2TROut;
358
+ }
359
+ type BitcoinPayer = BitcoinNativeSegwitPayer | BitcoinTaprootPayer;
360
+ declare function initializeBitcoinAccountKeychainFromDescriptor(descriptor: string): BitcoinAccountKeychain;
361
+ interface BitcoinPayerInfo {
362
+ change: number;
363
+ addressIndex: number;
364
+ }
365
+ declare function deriveBitcoinPayerFromAccount(descriptor: string, network: BitcoinNetworkModes): ({
366
+ change,
367
+ addressIndex
368
+ }: BitcoinPayerInfo) => {
369
+ keyOrigin: string;
370
+ masterKeyFingerprint: string;
371
+ paymentType: SupportedPaymentType;
372
+ network: BitcoinNetworkModes;
373
+ payment: P2Ret;
374
+ readonly address: string;
375
+ readonly publicKey: Uint8Array<ArrayBufferLike>;
376
+ };
377
+ interface BtcSignerDerivationPath {
378
+ fingerprint: number;
379
+ path: number[];
380
+ }
381
+ type BtcSignerDefaultBip32Derivation = [Uint8Array, BtcSignerDerivationPath];
382
+ type BtcSignerTapBip32Derivation = [Uint8Array, {
383
+ hashes: Uint8Array[];
384
+ der: BtcSignerDerivationPath;
385
+ }];
386
+ type BtcSignerBip32Derivation = BtcSignerDefaultBip32Derivation | BtcSignerTapBip32Derivation;
387
+ type PayerToBip32DerivationArgs = Pick<BitcoinPayer, 'masterKeyFingerprint' | 'keyOrigin' | 'publicKey'>;
388
+ /**
389
+ * @example
390
+ * ```ts
391
+ * tx.addInput({
392
+ * ...input,
393
+ * bip32Derivation: [payerToBip32Derivation(payer)],
394
+ * })
395
+ * ```
396
+ */
397
+ declare function payerToBip32Derivation(args: PayerToBip32DerivationArgs): BtcSignerDefaultBip32Derivation;
398
+ /**
399
+ * @example
400
+ * ```ts
401
+ * tx.addInput({
402
+ * ...input,
403
+ * tapBip32Derivation: [payerToTapBip32Derivation(payer)],
404
+ * })
405
+ * ```
406
+ */
407
+ declare function payerToTapBip32Derivation(args: PayerToBip32DerivationArgs): BtcSignerTapBip32Derivation;
408
+ type PsbtInputBitcoinJsLib = bitcoin.Psbt['data']['inputs']['0'];
409
+ type TapBip32DerivationBitcoinJsLib = NonNullable<PsbtInputBitcoinJsLib['tapBip32Derivation']>['0'];
410
+ declare function payerToTapBip32DerivationBitcoinJsLib(args: PayerToBip32DerivationArgs): TapBip32DerivationBitcoinJsLib;
411
+ type Bip32DerivationBitcoinJsLib = NonNullable<PsbtInputBitcoinJsLib['bip32Derivation']>['0'];
412
+ declare function payerToBip32DerivationBitcoinJsLib(args: PayerToBip32DerivationArgs): Bip32DerivationBitcoinJsLib;
413
+ declare function extractPayerInfoFromDerivationPath(path: string): {
414
+ change: number;
415
+ addressIndex: number;
416
+ };
417
+ /**
418
+ * @description
419
+ * Turns key format from @scure/btc-signer lib back into key origin string
420
+ * @example
421
+ * ```ts
422
+ * const [inputOne] = getPsbtTxInputs(tx);
423
+ * const keyOrigin = serializeKeyOrigin(inputOne.bip32Derivation[0][1]);
424
+ * ```
425
+ */
426
+ declare function serializeKeyOrigin({
427
+ fingerprint,
428
+ path
429
+ }: BtcSignerDerivationPath): string;
430
+ /**
431
+ * @description
432
+ * Of a given set of a `tx.input`s bip32 derivation paths from
433
+ * `@scure/btc-signer`, serialize the paths back to the string format used
434
+ * internally
435
+ */
436
+ declare function extractRequiredKeyOrigins(derivation: BtcSignerBip32Derivation[]): string[];
437
+ //#endregion
257
438
  //#region src/utils/bitcoin.network.d.ts
258
439
  interface BtcSignerNetwork {
259
440
  bech32: string;
@@ -362,6 +543,7 @@ declare function inferPaymentTypeFromAddress(address: BitcoinAddress): Supported
362
543
  declare function getBitcoinInputValue(input: TransactionInput): number;
363
544
  declare function isTaprootDerivationPath(path: string): boolean;
364
545
  declare function isNativeSegwitDerivationPath(path: string): boolean;
546
+ declare function isP2TROut(signer: BitcoinSigner<P2Ret | P2TROut> | null): signer is BitcoinSigner<P2TROut>;
365
547
  //#endregion
366
548
  //#region src/payments/p2tr-address-gen.d.ts
367
549
  declare function makeTaprootAccountDerivationPath(network: BitcoinNetworkModes, accountIndex: number): string;
@@ -541,123 +723,6 @@ type RawPsbt = ReturnType<typeof RawPSBTV0.decode>;
541
723
  declare function getPsbtAsTransaction(psbt: string | Uint8Array): btc.Transaction;
542
724
  declare function getRawPsbt(psbt: string | Uint8Array): ReturnType<typeof RawPSBTV0.decode>;
543
725
  //#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
726
  //#region src/transactions/generate-unsigned-transaction.d.ts
662
727
  interface GenerateBitcoinUnsignedTransactionArgs<T> {
663
728
  feeRate: number;
@@ -668,10 +733,8 @@ interface GenerateBitcoinUnsignedTransactionArgs<T> {
668
733
  changeAddress: string;
669
734
  payerLookup(keyOrigin: string): BitcoinNativeSegwitPayer | BitcoinTaprootPayer | undefined;
670
735
  }
671
- declare function generateBitcoinUnsignedTransaction<T extends {
672
- txid: string;
736
+ declare function generateBitcoinUnsignedTransaction<T extends InputData & {
673
737
  vout: number;
674
- value: number;
675
738
  keyOrigin: string;
676
739
  }>({
677
740
  feeRate,
@@ -760,5 +823,5 @@ declare function deconstructBtcAddress(address: string): {
760
823
  hashbytes: Uint8Array<ArrayBufferLike>;
761
824
  };
762
825
  //#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 };
826
+ 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
827
  //# 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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"}