@bitgo-beta/abstract-utxo 1.6.1-alpha.2 → 1.6.1-alpha.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +871 -0
  2. package/dist/src/abstractUtxoCoin.d.ts +160 -33
  3. package/dist/src/abstractUtxoCoin.d.ts.map +1 -1
  4. package/dist/src/abstractUtxoCoin.js +378 -199
  5. package/dist/src/index.js +6 -2
  6. package/dist/src/parseOutput.d.ts.map +1 -1
  7. package/dist/src/parseOutput.js +38 -1
  8. package/dist/src/recovery/RecoveryProvider.d.ts +6 -5
  9. package/dist/src/recovery/RecoveryProvider.d.ts.map +1 -1
  10. package/dist/src/recovery/RecoveryProvider.js +1 -2
  11. package/dist/src/recovery/backupKeyRecovery.d.ts +44 -12
  12. package/dist/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  13. package/dist/src/recovery/backupKeyRecovery.js +126 -83
  14. package/dist/src/recovery/baseApi.d.ts +2 -2
  15. package/dist/src/recovery/baseApi.d.ts.map +1 -1
  16. package/dist/src/recovery/crossChainRecovery.d.ts +15 -26
  17. package/dist/src/recovery/crossChainRecovery.d.ts.map +1 -1
  18. package/dist/src/recovery/crossChainRecovery.js +61 -69
  19. package/dist/src/recovery/index.d.ts +0 -1
  20. package/dist/src/recovery/index.d.ts.map +1 -1
  21. package/dist/src/recovery/index.js +6 -3
  22. package/dist/src/recovery/mempoolApi.d.ts.map +1 -1
  23. package/dist/src/recovery/mempoolApi.js +6 -3
  24. package/dist/src/sign.d.ts +29 -5
  25. package/dist/src/sign.d.ts.map +1 -1
  26. package/dist/src/sign.js +73 -7
  27. package/dist/src/transaction.d.ts +36 -0
  28. package/dist/src/transaction.d.ts.map +1 -0
  29. package/dist/src/transaction.js +278 -0
  30. package/dist/tsconfig.tsbuildinfo +1 -7714
  31. package/package.json +11 -10
  32. package/dist/src/recovery/smartbitApi.d.ts +0 -11
  33. package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
  34. package/dist/src/recovery/smartbitApi.js +0 -36
@@ -4,22 +4,53 @@
4
4
  */
5
5
  import * as utxolib from '@bitgo-beta/utxo-lib';
6
6
  import { bitgo } from '@bitgo-beta/utxo-lib';
7
- import { backupKeyRecovery, RecoverParams } from './recovery/backupKeyRecovery';
8
- import { CrossChainRecoverySigned, CrossChainRecoveryUnsigned } from './recovery';
7
+ import { CrossChainRecoverySigned, CrossChainRecoveryUnsigned, RecoveryProvider, backupKeyRecovery, RecoverParams, V1RecoverParams, v1BackupKeyRecovery, V1SweepParams, v1Sweep } from './recovery';
9
8
  import { AddressCoinSpecific, BaseCoin, BitGoBase, ExtraPrebuildParamsOptions, HalfSignedUtxoTransaction, IBaseCoin, IRequestTracer, ITransactionExplanation as BaseTransactionExplanation, Keychain, KeychainsTriplet, ParsedTransaction as BaseParsedTransaction, ParseTransactionOptions as BaseParseTransactionOptions, PrecreateBitGoOptions, PresignTransactionOptions, RequestTracer, SignedTransaction, SignTransactionOptions as BaseSignTransactionOptions, SupplementGenerateWalletOptions, TransactionParams as BaseTransactionParams, TransactionPrebuild as BaseTransactionPrebuild, Triple, VerificationOptions, VerifyAddressOptions as BaseVerifyAddressOptions, VerifyTransactionOptions as BaseVerifyTransactionOptions, Wallet, WalletData } from '@bitgo-beta/sdk-core';
10
9
  import { CustomChangeOptions } from './parseOutput';
11
10
  import ScriptType2Of3 = utxolib.bitgo.outputScripts.ScriptType2Of3;
12
- declare type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
13
- export interface VerifyAddressOptions extends BaseVerifyAddressOptions {
14
- chain: number;
11
+ type UtxoCustomSigningFunction<TNumber extends number | bigint> = {
12
+ (params: {
13
+ coin: IBaseCoin;
14
+ txPrebuild: TransactionPrebuild<TNumber>;
15
+ pubs?: string[];
16
+ /**
17
+ * signingStep flag becomes applicable when both of the following conditions are met:
18
+ * 1) When the external express signer is activated
19
+ * 2) When the PSBT includes at least one taprootKeyPathSpend input.
20
+ *
21
+ * The signing process of a taprootKeyPathSpend input is a 4-step sequence:
22
+ * i) user nonce generation - signerNonce - this is the first call to external express signer signTransaction
23
+ * ii) bitgo nonce generation - cosignerNonce - this is the first and only call to local signTransaction
24
+ * iii) user signature - signerSignature - this is the second call to external express signer signTransaction
25
+ * iv) bitgo signature - not in signTransaction method’s scope
26
+ *
27
+ * In the absence of this flag, the aforementioned first three sequence is executed in a single signTransaction call.
28
+ *
29
+ * NOTE: We make a strong assumption that the external express signer and its caller uses sticky sessions,
30
+ * since PSBTs are cached in step 1 to be used in step 3 for MuSig2 user secure nonce access.
31
+ */
32
+ signingStep?: 'signerNonce' | 'signerSignature' | 'cosignerNonce';
33
+ }): Promise<SignedTransaction>;
34
+ };
35
+ type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
36
+ type UtxoCoinSpecific = AddressCoinSpecific | DescriptorAddressCoinSpecific;
37
+ export interface VerifyAddressOptions<TCoinSpecific extends UtxoCoinSpecific> extends BaseVerifyAddressOptions {
38
+ chain?: number;
15
39
  index: number;
40
+ coinSpecific?: TCoinSpecific;
16
41
  }
17
- export interface Output {
42
+ export interface BaseOutput {
18
43
  address: string;
19
44
  amount: string | number;
20
45
  external?: boolean;
46
+ }
47
+ export interface WalletOutput extends BaseOutput {
21
48
  needsCustomChangeKeySignatureVerification?: boolean;
49
+ chain: number;
50
+ index: number;
22
51
  }
52
+ export type Output = BaseOutput | WalletOutput;
53
+ export declare function isWalletOutput(output: Output): output is WalletOutput;
23
54
  export interface TransactionExplanation extends BaseTransactionExplanation<string, string> {
24
55
  locktime: number;
25
56
  outputs: Output[];
@@ -37,7 +68,8 @@ export interface TransactionInfo<TNumber extends number | bigint = number> {
37
68
  /** Maps txid to txhex. Required for offline signing. */
38
69
  txHexes?: Record<string, string>;
39
70
  changeAddresses?: string[];
40
- unspents: Unspent<TNumber>[];
71
+ /** psbt does not require unspents. */
72
+ unspents?: Unspent<TNumber>[];
41
73
  }
42
74
  export interface ExplainTransactionOptions<TNumber extends number | bigint = number> {
43
75
  txHex: string;
@@ -45,14 +77,23 @@ export interface ExplainTransactionOptions<TNumber extends number | bigint = num
45
77
  feeInfo?: string;
46
78
  pubs?: Triple<string>;
47
79
  }
48
- export declare type UtxoNetwork = utxolib.Network;
80
+ export interface DecoratedExplainTransactionOptions<TNumber extends number | bigint = number> extends ExplainTransactionOptions<TNumber> {
81
+ changeInfo?: {
82
+ address: string;
83
+ chain: number;
84
+ index: number;
85
+ }[];
86
+ }
87
+ export type UtxoNetwork = utxolib.Network;
49
88
  export interface TransactionPrebuild<TNumber extends number | bigint = number> extends BaseTransactionPrebuild {
50
89
  txInfo?: TransactionInfo<TNumber>;
51
90
  blockHeight?: number;
52
91
  }
53
92
  export interface TransactionParams extends BaseTransactionParams {
54
93
  walletPassphrase?: string;
94
+ allowExternalChangeAddress?: boolean;
55
95
  changeAddress?: string;
96
+ rbfTxIds?: string[];
56
97
  }
57
98
  export interface AbstractUtxoCoinWalletData extends WalletData {
58
99
  customChangeKeySignatures: {
@@ -94,34 +135,56 @@ export interface ParsedTransaction<TNumber extends number | bigint = number> ext
94
135
  }
95
136
  export interface GenerateAddressOptions {
96
137
  addressType?: ScriptType2Of3;
97
- keychains: {
98
- pub: string;
99
- aspKeyId?: string;
100
- }[];
101
138
  threshold?: number;
102
139
  chain?: number;
103
140
  index?: number;
104
141
  segwit?: boolean;
105
142
  bech32?: boolean;
106
143
  }
144
+ export interface GenerateFixedScriptAddressOptions extends GenerateAddressOptions {
145
+ keychains: {
146
+ pub: string;
147
+ aspKeyId?: string;
148
+ }[];
149
+ }
150
+ export type NamedDescriptor = {
151
+ /** Name of the descriptor */
152
+ name: string;
153
+ /** Descriptor value */
154
+ value: string;
155
+ /** Descriptor signatures */
156
+ signatures: string[];
157
+ /** Highest address index */
158
+ lastIndex: number;
159
+ };
160
+ export interface GenerateDescriptorAddressOptions extends GenerateAddressOptions {
161
+ descriptor: NamedDescriptor;
162
+ }
107
163
  export interface AddressDetails {
108
164
  address: string;
109
165
  chain: number;
110
166
  index: number;
111
167
  coin: string;
112
- coinSpecific: AddressCoinSpecific;
168
+ coinSpecific: AddressCoinSpecific | DescriptorAddressCoinSpecific;
113
169
  addressType?: string;
114
170
  }
115
- export interface SignTransactionOptions<TNumber extends number | bigint = number> extends BaseSignTransactionOptions {
171
+ export interface DescriptorAddressCoinSpecific extends AddressCoinSpecific {
172
+ descriptor: NamedDescriptor;
173
+ }
174
+ type UtxoBaseSignTransactionOptions<TNumber extends number | bigint = number> = BaseSignTransactionOptions & {
116
175
  /** Transaction prebuild from bitgo server */
117
176
  txPrebuild: {
177
+ /**
178
+ * walletId is required in following 2 scenarios.
179
+ * 1. External signer express mode is used.
180
+ * 2. bitgo MuSig2 nonce is requested
181
+ */
182
+ walletId?: string;
118
183
  txHex: string;
119
- txInfo: TransactionInfo<TNumber>;
184
+ txInfo?: TransactionInfo<TNumber>;
120
185
  };
121
- /** xprv of user key or backup key */
122
- prv: string;
123
- /** xpubs triple for wallet (user, backup, bitgo) */
124
- pubs: Triple<string>;
186
+ /** xpubs triple for wallet (user, backup, bitgo). Required only when txPrebuild.txHex is not a PSBT */
187
+ pubs?: Triple<string>;
125
188
  /** xpub for cosigner (defaults to bitgo) */
126
189
  cosignerPub?: string;
127
190
  /**
@@ -129,7 +192,18 @@ export interface SignTransactionOptions<TNumber extends number | bigint = number
129
192
  * When false, creates half-signed transaction with placeholder signatures.
130
193
  */
131
194
  isLastSignature?: boolean;
132
- }
195
+ /**
196
+ * If true, allows signing a non-segwit input with a witnessUtxo instead requiring a previous
197
+ * transaction (nonWitnessUtxo)
198
+ */
199
+ allowNonSegwitSigningWithoutPrevTx?: boolean;
200
+ };
201
+ export type SignTransactionOptions<TNumber extends number | bigint = number> = UtxoBaseSignTransactionOptions<TNumber> & ({
202
+ prv: string;
203
+ signingStep?: 'signerNonce' | 'signerSignature';
204
+ } | {
205
+ signingStep: 'cosignerNonce';
206
+ });
133
207
  export interface MultiSigAddress {
134
208
  outputScript: Buffer;
135
209
  redeemScript?: Buffer;
@@ -142,15 +216,20 @@ export interface RecoverFromWrongChainOptions {
142
216
  wallet: string;
143
217
  walletPassphrase?: string;
144
218
  xprv?: string;
219
+ apiKey?: string;
145
220
  /** @deprecated */
146
221
  coin?: AbstractUtxoCoin;
147
222
  recoveryCoin?: AbstractUtxoCoin;
148
223
  signed?: boolean;
149
224
  }
150
225
  export interface VerifyKeySignaturesOptions {
151
- userKeychain?: Keychain;
152
- keychainToVerify?: Keychain;
153
- keySignature?: string;
226
+ userKeychain: {
227
+ pub?: string;
228
+ };
229
+ keychainToVerify: {
230
+ pub?: string;
231
+ };
232
+ keySignature: string;
154
233
  }
155
234
  export interface VerifyUserPublicKeyOptions {
156
235
  userKeychain?: Keychain;
@@ -159,14 +238,30 @@ export interface VerifyUserPublicKeyOptions {
159
238
  }
160
239
  export interface VerifyTransactionOptions<TNumber extends number | bigint = number> extends BaseVerifyTransactionOptions {
161
240
  txPrebuild: TransactionPrebuild<TNumber>;
241
+ txParams: TransactionParams;
162
242
  wallet: AbstractUtxoCoinWallet;
163
243
  }
244
+ export interface SignPsbtRequest {
245
+ psbt: string;
246
+ }
247
+ export interface SignPsbtResponse {
248
+ psbt: string;
249
+ }
164
250
  export declare abstract class AbstractUtxoCoin extends BaseCoin {
165
251
  altScriptHash?: number;
166
252
  supportAltScriptDestination?: boolean;
167
253
  readonly amountType: 'number' | 'bigint';
168
254
  private readonly _network;
169
255
  protected constructor(bitgo: BitGoBase, network: utxolib.Network, amountType?: 'number' | 'bigint');
256
+ /**
257
+ * Key Value: Unsigned tx id => PSBT
258
+ * It is used to cache PSBTs with taproot key path (MuSig2) inputs during external express signer is activated.
259
+ * Reason: MuSig2 signer secure nonce is cached in the UtxoPsbt object. It will be required during the signing step.
260
+ * For more info, check SignTransactionOptions.signingStep
261
+ *
262
+ * TODO BTC-276: This cache may need to be done with LRU like memory safe caching if memory issues comes up.
263
+ */
264
+ private static readonly PSBT_CACHE;
170
265
  get network(): utxolib.Network;
171
266
  sweepWithSendMany(): boolean;
172
267
  /** @deprecated */
@@ -206,12 +301,11 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
206
301
  */
207
302
  postProcessPrebuild<TNumber extends number | bigint>(prebuild: TransactionPrebuild<TNumber>): Promise<TransactionPrebuild<TNumber>>;
208
303
  /**
209
- * Find outputs that are within expected outputs but not within actual outputs, including duplicates
210
- * @param expectedOutputs
211
- * @param actualOutputs
212
- * @returns {Array}
304
+ * @param first
305
+ * @param second
306
+ * @returns {Array} All outputs that are in the first array but not in the second
213
307
  */
214
- protected static findMissingOutputs(expectedOutputs: Output[], actualOutputs: Output[]): Output[];
308
+ protected static outputDifference(first: Output[], second: Output[]): Output[];
215
309
  /**
216
310
  * Determine an address' type based on its witness and redeem script presence
217
311
  * @param addressDetails
@@ -240,7 +334,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
240
334
  * @param {VerifyKeySignaturesOptions} params
241
335
  * @return {{backup: boolean, bitgo: boolean}}
242
336
  */
243
- protected verifyKeySignature(params: VerifyKeySignaturesOptions): boolean;
337
+ verifyKeySignature(params: VerifyKeySignaturesOptions): boolean;
244
338
  /**
245
339
  * Verify signatures against the user private key over the change wallet extended keys
246
340
  * @param {ParsedTransaction} tx
@@ -282,7 +376,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
282
376
  * @throws {InvalidAddressDerivationPropertyError}
283
377
  * @throws {UnexpectedAddressError}
284
378
  */
285
- isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
379
+ isWalletAddress(params: VerifyAddressOptions<UtxoCoinSpecific>): Promise<boolean>;
286
380
  /**
287
381
  * Indicates whether coin supports a block target
288
382
  * @returns {boolean}
@@ -299,6 +393,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
299
393
  */
300
394
  supportsAddressChain(chain: number): boolean;
301
395
  keyIdsForSigning(): number[];
396
+ static isDescriptorWallet(params: GenerateFixedScriptAddressOptions | GenerateDescriptorAddressOptions | VerifyAddressOptions<UtxoCoinSpecific>): params is GenerateDescriptorAddressOptions;
302
397
  /**
303
398
  * TODO(BG-11487): Remove addressType, segwit, and bech32 params in SDKv6
304
399
  * Generate an address for a wallet based on a set of configurations
@@ -312,13 +407,35 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
312
407
  * @param params.bech32 {boolean} Deprecated
313
408
  * @returns {{chain: number, index: number, coin: number, coinSpecific: {outputScript, redeemScript}}}
314
409
  */
315
- generateAddress(params: GenerateAddressOptions): AddressDetails;
410
+ generateAddress(params: GenerateFixedScriptAddressOptions | GenerateDescriptorAddressOptions): AddressDetails;
411
+ /**
412
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs.
413
+ * @param psbtHex all MuSig2 inputs should contain user MuSig2 nonce
414
+ * @param walletId
415
+ */
416
+ signPsbt(psbtHex: string, walletId: string): Promise<SignPsbtResponse>;
417
+ /**
418
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs from OVC.
419
+ * @param ovcJson JSON object provided by OVC with fields psbtHex and walletId
420
+ */
421
+ signPsbtFromOVC(ovcJson: Record<string, unknown>): Promise<Record<string, unknown>>;
316
422
  /**
317
423
  * Assemble keychain and half-sign prebuilt transaction
318
424
  * @param params - {@see SignTransactionOptions}
319
425
  * @returns {Promise<SignedTransaction | HalfSignedUtxoTransaction>}
320
426
  */
321
427
  signTransaction<TNumber extends number | bigint = number>(params: SignTransactionOptions<TNumber>): Promise<SignedTransaction | HalfSignedUtxoTransaction>;
428
+ /**
429
+ * Sign a transaction with a custom signing function. Example use case is express external signer
430
+ * @param customSigningFunction custom signing function that returns a single signed transaction
431
+ * @param signTransactionParams parameters for custom signing function. Includes txPrebuild and pubs (for legacy tx only).
432
+ *
433
+ * @returns signed transaction as hex string
434
+ */
435
+ signWithCustomSigningFunction<TNumber extends number | bigint>(customSigningFunction: UtxoCustomSigningFunction<TNumber>, signTransactionParams: {
436
+ txPrebuild: TransactionPrebuild<TNumber>;
437
+ pubs?: string[];
438
+ }): Promise<SignedTransaction>;
322
439
  /**
323
440
  * @param unspent
324
441
  * @returns {boolean}
@@ -337,7 +454,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
337
454
  publicKey?: string;
338
455
  }): boolean;
339
456
  /**
340
- * Decompose a raw transaction into useful information, such as the total amounts,
457
+ * Decompose a raw psbt/transaction into useful information, such as the total amounts,
341
458
  * change amounts, and transaction outputs.
342
459
  * @param params
343
460
  */
@@ -355,6 +472,8 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
355
472
  * @param params - {@see backupKeyRecovery}
356
473
  */
357
474
  recover(params: RecoverParams): ReturnType<typeof backupKeyRecovery>;
475
+ recoverV1(params: V1RecoverParams): ReturnType<typeof v1BackupKeyRecovery>;
476
+ sweepV1(params: V1SweepParams): ReturnType<typeof v1Sweep>;
358
477
  /**
359
478
  * Recover coin that was sent to wrong chain
360
479
  * @param params
@@ -365,6 +484,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
365
484
  * @param params.signed return a half-signed transaction (default=true)
366
485
  * @param params.walletPassphrase the wallet passphrase
367
486
  * @param params.xprv the unencrypted xprv (used instead of wallet passphrase)
487
+ * @param params.apiKey for utxo coins other than [BTC,TBTC] this is a Block Chair api key
368
488
  * @returns {*}
369
489
  */
370
490
  recoverFromWrongChain<TNumber extends number | bigint = number>(params: RecoverFromWrongChainOptions): Promise<CrossChainRecoverySigned<TNumber> | CrossChainRecoveryUnsigned<TNumber>>;
@@ -378,12 +498,19 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
378
498
  pub: string;
379
499
  prv: string;
380
500
  };
381
- getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions): Promise<any>;
501
+ private shouldDefaultToPsbtTxFormat;
502
+ getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions & {
503
+ wallet: Wallet;
504
+ }): Promise<{
505
+ txFormat?: 'legacy' | 'psbt';
506
+ changeAddressType?: ScriptType2Of3[] | ScriptType2Of3;
507
+ }>;
382
508
  preCreateBitGo(params: PrecreateBitGoOptions): void;
383
509
  presignTransaction(params: PresignTransactionOptions): Promise<any>;
384
510
  supplementGenerateWallet(walletParams: SupplementGenerateWalletOptions, keychains: KeychainsTriplet): Promise<any>;
385
511
  transactionDataAllowed(): boolean;
386
512
  valuelessTransferAllowed(): boolean;
513
+ getRecoveryProvider(apiToken?: string): RecoveryProvider;
387
514
  }
388
515
  export {};
389
516
  //# sourceMappingURL=abstractUtxoCoin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstractUtxoCoin.d.ts","sourceRoot":"","sources":["../../src/abstractUtxoCoin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstractUtxoCoin.d.ts","sourceRoot":"","sources":["../../src/abstractUtxoCoin.ts"],"names":[],"mappings":"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"}