@bitgo-beta/abstract-utxo 1.6.1-alpha.14 → 1.6.1-alpha.141
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/CHANGELOG.md +753 -0
- package/dist/src/abstractUtxoCoin.d.ts +110 -21
- package/dist/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/src/abstractUtxoCoin.js +284 -174
- package/dist/src/index.js +6 -2
- package/dist/src/parseOutput.d.ts.map +1 -1
- package/dist/src/parseOutput.js +12 -1
- package/dist/src/recovery/RecoveryProvider.d.ts +6 -5
- package/dist/src/recovery/RecoveryProvider.d.ts.map +1 -1
- package/dist/src/recovery/RecoveryProvider.js +1 -2
- package/dist/src/recovery/backupKeyRecovery.d.ts +30 -9
- package/dist/src/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/src/recovery/backupKeyRecovery.js +108 -83
- package/dist/src/recovery/crossChainRecovery.d.ts +12 -23
- package/dist/src/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/src/recovery/crossChainRecovery.js +59 -69
- package/dist/src/recovery/index.d.ts +0 -1
- package/dist/src/recovery/index.d.ts.map +1 -1
- package/dist/src/recovery/index.js +6 -3
- package/dist/src/recovery/mempoolApi.d.ts.map +1 -1
- package/dist/src/recovery/mempoolApi.js +6 -3
- package/dist/src/sign.d.ts +27 -3
- package/dist/src/sign.d.ts.map +1 -1
- package/dist/src/sign.js +70 -4
- package/dist/src/transaction.d.ts +36 -0
- package/dist/src/transaction.d.ts.map +1 -0
- package/dist/src/transaction.js +236 -0
- package/dist/tsconfig.tsbuildinfo +1 -7736
- package/package.json +10 -10
- package/dist/src/recovery/smartbitApi.d.ts +0 -11
- package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
- package/dist/src/recovery/smartbitApi.js +0 -36
|
@@ -4,11 +4,34 @@
|
|
|
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
|
|
8
|
-
import { CrossChainRecoverySigned, CrossChainRecoveryUnsigned } from './recovery';
|
|
7
|
+
import { CrossChainRecoverySigned, CrossChainRecoveryUnsigned, RecoveryProvider, backupKeyRecovery, RecoverParams, V1RecoverParams, v1BackupKeyRecovery } 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;
|
|
11
|
+
declare 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
|
+
};
|
|
12
35
|
declare type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
|
|
13
36
|
export interface VerifyAddressOptions extends BaseVerifyAddressOptions {
|
|
14
37
|
chain: number;
|
|
@@ -37,7 +60,8 @@ export interface TransactionInfo<TNumber extends number | bigint = number> {
|
|
|
37
60
|
/** Maps txid to txhex. Required for offline signing. */
|
|
38
61
|
txHexes?: Record<string, string>;
|
|
39
62
|
changeAddresses?: string[];
|
|
40
|
-
unspents
|
|
63
|
+
/** psbt does not require unspents. */
|
|
64
|
+
unspents?: Unspent<TNumber>[];
|
|
41
65
|
}
|
|
42
66
|
export interface ExplainTransactionOptions<TNumber extends number | bigint = number> {
|
|
43
67
|
txHex: string;
|
|
@@ -53,6 +77,7 @@ export interface TransactionPrebuild<TNumber extends number | bigint = number> e
|
|
|
53
77
|
export interface TransactionParams extends BaseTransactionParams {
|
|
54
78
|
walletPassphrase?: string;
|
|
55
79
|
changeAddress?: string;
|
|
80
|
+
rbfTxIds?: string[];
|
|
56
81
|
}
|
|
57
82
|
export interface AbstractUtxoCoinWalletData extends WalletData {
|
|
58
83
|
customChangeKeySignatures: {
|
|
@@ -112,16 +137,20 @@ export interface AddressDetails {
|
|
|
112
137
|
coinSpecific: AddressCoinSpecific;
|
|
113
138
|
addressType?: string;
|
|
114
139
|
}
|
|
115
|
-
|
|
140
|
+
declare type UtxoBaseSignTransactionOptions<TNumber extends number | bigint = number> = BaseSignTransactionOptions & {
|
|
116
141
|
/** Transaction prebuild from bitgo server */
|
|
117
142
|
txPrebuild: {
|
|
143
|
+
/**
|
|
144
|
+
* walletId is required in following 2 scenarios.
|
|
145
|
+
* 1. External signer express mode is used.
|
|
146
|
+
* 2. bitgo MuSig2 nonce is requested
|
|
147
|
+
*/
|
|
148
|
+
walletId?: string;
|
|
118
149
|
txHex: string;
|
|
119
|
-
txInfo
|
|
150
|
+
txInfo?: TransactionInfo<TNumber>;
|
|
120
151
|
};
|
|
121
|
-
/**
|
|
122
|
-
|
|
123
|
-
/** xpubs triple for wallet (user, backup, bitgo) */
|
|
124
|
-
pubs: Triple<string>;
|
|
152
|
+
/** xpubs triple for wallet (user, backup, bitgo). Required only when txPrebuild.txHex is not a PSBT */
|
|
153
|
+
pubs?: Triple<string>;
|
|
125
154
|
/** xpub for cosigner (defaults to bitgo) */
|
|
126
155
|
cosignerPub?: string;
|
|
127
156
|
/**
|
|
@@ -129,7 +158,18 @@ export interface SignTransactionOptions<TNumber extends number | bigint = number
|
|
|
129
158
|
* When false, creates half-signed transaction with placeholder signatures.
|
|
130
159
|
*/
|
|
131
160
|
isLastSignature?: boolean;
|
|
132
|
-
|
|
161
|
+
/**
|
|
162
|
+
* If true, allows signing a non-segwit input with a witnessUtxo instead requiring a previous
|
|
163
|
+
* transaction (nonWitnessUtxo)
|
|
164
|
+
*/
|
|
165
|
+
allowNonSegwitSigningWithoutPrevTx?: boolean;
|
|
166
|
+
};
|
|
167
|
+
export declare type SignTransactionOptions<TNumber extends number | bigint = number> = UtxoBaseSignTransactionOptions<TNumber> & ({
|
|
168
|
+
prv: string;
|
|
169
|
+
signingStep?: 'signerNonce' | 'signerSignature';
|
|
170
|
+
} | {
|
|
171
|
+
signingStep: 'cosignerNonce';
|
|
172
|
+
});
|
|
133
173
|
export interface MultiSigAddress {
|
|
134
174
|
outputScript: Buffer;
|
|
135
175
|
redeemScript?: Buffer;
|
|
@@ -142,15 +182,20 @@ export interface RecoverFromWrongChainOptions {
|
|
|
142
182
|
wallet: string;
|
|
143
183
|
walletPassphrase?: string;
|
|
144
184
|
xprv?: string;
|
|
185
|
+
apiKey?: string;
|
|
145
186
|
/** @deprecated */
|
|
146
187
|
coin?: AbstractUtxoCoin;
|
|
147
188
|
recoveryCoin?: AbstractUtxoCoin;
|
|
148
189
|
signed?: boolean;
|
|
149
190
|
}
|
|
150
191
|
export interface VerifyKeySignaturesOptions {
|
|
151
|
-
userKeychain
|
|
152
|
-
|
|
153
|
-
|
|
192
|
+
userKeychain: {
|
|
193
|
+
pub?: string;
|
|
194
|
+
};
|
|
195
|
+
keychainToVerify: {
|
|
196
|
+
pub?: string;
|
|
197
|
+
};
|
|
198
|
+
keySignature: string;
|
|
154
199
|
}
|
|
155
200
|
export interface VerifyUserPublicKeyOptions {
|
|
156
201
|
userKeychain?: Keychain;
|
|
@@ -161,12 +206,27 @@ export interface VerifyTransactionOptions<TNumber extends number | bigint = numb
|
|
|
161
206
|
txPrebuild: TransactionPrebuild<TNumber>;
|
|
162
207
|
wallet: AbstractUtxoCoinWallet;
|
|
163
208
|
}
|
|
209
|
+
export interface SignPsbtRequest {
|
|
210
|
+
psbt: string;
|
|
211
|
+
}
|
|
212
|
+
export interface SignPsbtResponse {
|
|
213
|
+
psbt: string;
|
|
214
|
+
}
|
|
164
215
|
export declare abstract class AbstractUtxoCoin extends BaseCoin {
|
|
165
216
|
altScriptHash?: number;
|
|
166
217
|
supportAltScriptDestination?: boolean;
|
|
167
218
|
readonly amountType: 'number' | 'bigint';
|
|
168
219
|
private readonly _network;
|
|
169
220
|
protected constructor(bitgo: BitGoBase, network: utxolib.Network, amountType?: 'number' | 'bigint');
|
|
221
|
+
/**
|
|
222
|
+
* Key Value: Unsigned tx id => PSBT
|
|
223
|
+
* It is used to cache PSBTs with taproot key path (MuSig2) inputs during external express signer is activated.
|
|
224
|
+
* Reason: MuSig2 signer secure nonce is cached in the UtxoPsbt object. It will be required during the signing step.
|
|
225
|
+
* For more info, check SignTransactionOptions.signingStep
|
|
226
|
+
*
|
|
227
|
+
* TODO BTC-276: This cache may need to be done with LRU like memory safe caching if memory issues comes up.
|
|
228
|
+
*/
|
|
229
|
+
private static readonly PSBT_CACHE;
|
|
170
230
|
get network(): utxolib.Network;
|
|
171
231
|
sweepWithSendMany(): boolean;
|
|
172
232
|
/** @deprecated */
|
|
@@ -206,12 +266,11 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
|
|
|
206
266
|
*/
|
|
207
267
|
postProcessPrebuild<TNumber extends number | bigint>(prebuild: TransactionPrebuild<TNumber>): Promise<TransactionPrebuild<TNumber>>;
|
|
208
268
|
/**
|
|
209
|
-
*
|
|
210
|
-
* @param
|
|
211
|
-
* @
|
|
212
|
-
* @returns {Array}
|
|
269
|
+
* @param first
|
|
270
|
+
* @param second
|
|
271
|
+
* @returns {Array} All outputs that are in the first array but not in the second
|
|
213
272
|
*/
|
|
214
|
-
protected static
|
|
273
|
+
protected static outputDifference(first: Output[], second: Output[]): Output[];
|
|
215
274
|
/**
|
|
216
275
|
* Determine an address' type based on its witness and redeem script presence
|
|
217
276
|
* @param addressDetails
|
|
@@ -240,7 +299,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
|
|
|
240
299
|
* @param {VerifyKeySignaturesOptions} params
|
|
241
300
|
* @return {{backup: boolean, bitgo: boolean}}
|
|
242
301
|
*/
|
|
243
|
-
|
|
302
|
+
verifyKeySignature(params: VerifyKeySignaturesOptions): boolean;
|
|
244
303
|
/**
|
|
245
304
|
* Verify signatures against the user private key over the change wallet extended keys
|
|
246
305
|
* @param {ParsedTransaction} tx
|
|
@@ -313,12 +372,34 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
|
|
|
313
372
|
* @returns {{chain: number, index: number, coin: number, coinSpecific: {outputScript, redeemScript}}}
|
|
314
373
|
*/
|
|
315
374
|
generateAddress(params: GenerateAddressOptions): AddressDetails;
|
|
375
|
+
/**
|
|
376
|
+
* @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs.
|
|
377
|
+
* @param psbtHex all MuSig2 inputs should contain user MuSig2 nonce
|
|
378
|
+
* @param walletId
|
|
379
|
+
*/
|
|
380
|
+
signPsbt(psbtHex: string, walletId: string): Promise<SignPsbtResponse>;
|
|
381
|
+
/**
|
|
382
|
+
* @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs from OVC.
|
|
383
|
+
* @param ovcJson JSON object provided by OVC with fields psbtHex and walletId
|
|
384
|
+
*/
|
|
385
|
+
signPsbtFromOVC(ovcJson: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
316
386
|
/**
|
|
317
387
|
* Assemble keychain and half-sign prebuilt transaction
|
|
318
388
|
* @param params - {@see SignTransactionOptions}
|
|
319
389
|
* @returns {Promise<SignedTransaction | HalfSignedUtxoTransaction>}
|
|
320
390
|
*/
|
|
321
391
|
signTransaction<TNumber extends number | bigint = number>(params: SignTransactionOptions<TNumber>): Promise<SignedTransaction | HalfSignedUtxoTransaction>;
|
|
392
|
+
/**
|
|
393
|
+
* Sign a transaction with a custom signing function. Example use case is express external signer
|
|
394
|
+
* @param customSigningFunction custom signing function that returns a single signed transaction
|
|
395
|
+
* @param signTransactionParams parameters for custom signing function. Includes txPrebuild and pubs (for legacy tx only).
|
|
396
|
+
*
|
|
397
|
+
* @returns signed transaction as hex string
|
|
398
|
+
*/
|
|
399
|
+
signWithCustomSigningFunction<TNumber extends number | bigint>(customSigningFunction: UtxoCustomSigningFunction<TNumber>, signTransactionParams: {
|
|
400
|
+
txPrebuild: TransactionPrebuild<TNumber>;
|
|
401
|
+
pubs?: string[];
|
|
402
|
+
}): Promise<SignedTransaction>;
|
|
322
403
|
/**
|
|
323
404
|
* @param unspent
|
|
324
405
|
* @returns {boolean}
|
|
@@ -337,7 +418,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
|
|
|
337
418
|
publicKey?: string;
|
|
338
419
|
}): boolean;
|
|
339
420
|
/**
|
|
340
|
-
* Decompose a raw transaction into useful information, such as the total amounts,
|
|
421
|
+
* Decompose a raw psbt/transaction into useful information, such as the total amounts,
|
|
341
422
|
* change amounts, and transaction outputs.
|
|
342
423
|
* @param params
|
|
343
424
|
*/
|
|
@@ -355,6 +436,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
|
|
|
355
436
|
* @param params - {@see backupKeyRecovery}
|
|
356
437
|
*/
|
|
357
438
|
recover(params: RecoverParams): ReturnType<typeof backupKeyRecovery>;
|
|
439
|
+
recoverV1(params: V1RecoverParams): ReturnType<typeof v1BackupKeyRecovery>;
|
|
358
440
|
/**
|
|
359
441
|
* Recover coin that was sent to wrong chain
|
|
360
442
|
* @param params
|
|
@@ -365,6 +447,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
|
|
|
365
447
|
* @param params.signed return a half-signed transaction (default=true)
|
|
366
448
|
* @param params.walletPassphrase the wallet passphrase
|
|
367
449
|
* @param params.xprv the unencrypted xprv (used instead of wallet passphrase)
|
|
450
|
+
* @param params.apiKey for utxo coins other than [BTC,TBTC] this is a Block Chair api key
|
|
368
451
|
* @returns {*}
|
|
369
452
|
*/
|
|
370
453
|
recoverFromWrongChain<TNumber extends number | bigint = number>(params: RecoverFromWrongChainOptions): Promise<CrossChainRecoverySigned<TNumber> | CrossChainRecoveryUnsigned<TNumber>>;
|
|
@@ -378,12 +461,18 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
|
|
|
378
461
|
pub: string;
|
|
379
462
|
prv: string;
|
|
380
463
|
};
|
|
381
|
-
getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions
|
|
464
|
+
getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions & {
|
|
465
|
+
wallet: Wallet;
|
|
466
|
+
}): Promise<{
|
|
467
|
+
txFormat?: 'legacy' | 'psbt';
|
|
468
|
+
changeAddressType?: ScriptType2Of3[] | ScriptType2Of3;
|
|
469
|
+
}>;
|
|
382
470
|
preCreateBitGo(params: PrecreateBitGoOptions): void;
|
|
383
471
|
presignTransaction(params: PresignTransactionOptions): Promise<any>;
|
|
384
472
|
supplementGenerateWallet(walletParams: SupplementGenerateWalletOptions, keychains: KeychainsTriplet): Promise<any>;
|
|
385
473
|
transactionDataAllowed(): boolean;
|
|
386
474
|
valuelessTransferAllowed(): boolean;
|
|
475
|
+
getRecoveryProvider(apiToken?: string): RecoveryProvider;
|
|
387
476
|
}
|
|
388
477
|
export {};
|
|
389
478
|
//# sourceMappingURL=abstractUtxoCoin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractUtxoCoin.d.ts","sourceRoot":"","sources":["../../src/abstractUtxoCoin.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAyB,KAAK,
|
|
1
|
+
{"version":3,"file":"abstractUtxoCoin.d.ts","sourceRoot":"","sources":["../../src/abstractUtxoCoin.ts"],"names":[],"mappings":"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"}
|