@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.
- package/.turbo/turbo-build.log +7 -7
- package/CHANGELOG.md +37 -0
- package/dist/index.d.ts +233 -170
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +47 -10
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/coin-selection/calculate-max-spend.spec.ts +125 -6
- package/src/coin-selection/calculate-max-spend.ts +6 -2
- package/src/coin-selection/coin-selection.mocks.ts +19 -0
- package/src/coin-selection/coin-selection.spec.ts +161 -34
- package/src/coin-selection/coin-selection.ts +10 -5
- package/src/coin-selection/coin-selection.utils.spec.ts +113 -2
- package/src/coin-selection/coin-selection.utils.ts +42 -12
- package/src/fees/bitcoin-fees.spec.ts +71 -3
- package/src/fees/bitcoin-fees.ts +4 -2
- package/src/fees/btc-size-fee-estimator.spec.ts +74 -0
- package/src/fees/btc-size-fee-estimator.ts +64 -0
- package/src/index.ts +1 -0
- package/src/transactions/generate-unsigned-transaction.spec.ts +351 -13
- package/src/transactions/generate-unsigned-transaction.ts +2 -1
- package/src/utils/bitcoin.utils.ts +8 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @leather.io/bitcoin@0.
|
|
2
|
+
> @leather.io/bitcoin@0.37.1 build /home/runner/work/mono/mono/packages/bitcoin
|
|
3
3
|
> tsdown
|
|
4
4
|
|
|
5
5
|
[34mℹ[39m tsdown [2mv0.16.5[22m powered by rolldown [2mv1.0.0-beta.50[22m
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
[34mℹ[39m entry: [34msrc/index.ts[39m
|
|
8
8
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
9
9
|
[34mℹ[39m Build start
|
|
10
|
-
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m
|
|
11
|
-
[34mℹ[39m [2mdist/[22mindex.js.map [
|
|
12
|
-
[34mℹ[39m [2mdist/[22mindex.d.ts.map [2m
|
|
13
|
-
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m
|
|
14
|
-
[34mℹ[39m 4 files, total:
|
|
15
|
-
[32m✔[39m Build complete in [
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m 58.24 kB[22m [2m│ gzip: 13.65 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22mindex.js.map [2m117.86 kB[22m [2m│ gzip: 27.60 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22mindex.d.ts.map [2m 11.65 kB[22m [2m│ gzip: 4.75 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m 33.54 kB[22m [2m│ gzip: 6.96 kB[22m
|
|
14
|
+
[34mℹ[39m 4 files, total: 221.29 kB
|
|
15
|
+
[32m✔[39m Build complete in [32m4248ms[39m
|
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
|
-
|
|
114
|
+
interface InputData {
|
|
141
115
|
value: number;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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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"}
|