@bitgo-beta/abstract-utxo 1.6.1-alpha.3 → 1.6.1-alpha.300

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 (169) hide show
  1. package/dist/src/abstractUtxoCoin.d.ts +199 -98
  2. package/dist/src/abstractUtxoCoin.d.ts.map +1 -1
  3. package/dist/src/abstractUtxoCoin.js +310 -541
  4. package/dist/src/descriptor/NamedDescriptor.d.ts +20 -0
  5. package/dist/src/descriptor/NamedDescriptor.d.ts.map +1 -0
  6. package/dist/src/descriptor/NamedDescriptor.js +79 -0
  7. package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  8. package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  9. package/dist/src/descriptor/assertDescriptorWalletAddress.js +66 -0
  10. package/dist/src/descriptor/builder/builder.d.ts +13 -0
  11. package/dist/src/descriptor/builder/builder.d.ts.map +1 -0
  12. package/dist/src/descriptor/builder/builder.js +37 -0
  13. package/dist/src/descriptor/builder/index.d.ts +3 -0
  14. package/dist/src/descriptor/builder/index.d.ts.map +1 -0
  15. package/dist/src/descriptor/builder/index.js +8 -0
  16. package/dist/src/descriptor/builder/parse.d.ts +5 -0
  17. package/dist/src/descriptor/builder/parse.d.ts.map +1 -0
  18. package/dist/src/descriptor/builder/parse.js +149 -0
  19. package/dist/src/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  20. package/dist/src/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  21. package/dist/src/descriptor/createWallet/createDescriptorWallet.js +74 -0
  22. package/dist/src/descriptor/createWallet/createDescriptors.d.ts +12 -0
  23. package/dist/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  24. package/dist/src/descriptor/createWallet/createDescriptors.js +33 -0
  25. package/dist/src/descriptor/createWallet/index.d.ts +3 -0
  26. package/dist/src/descriptor/createWallet/index.d.ts.map +1 -0
  27. package/dist/src/descriptor/createWallet/index.js +19 -0
  28. package/dist/src/descriptor/descriptorWallet.d.ts +19 -0
  29. package/dist/src/descriptor/descriptorWallet.d.ts.map +1 -0
  30. package/dist/src/descriptor/descriptorWallet.js +54 -0
  31. package/dist/src/descriptor/index.d.ts +8 -0
  32. package/dist/src/descriptor/index.d.ts.map +1 -0
  33. package/dist/src/descriptor/index.js +53 -0
  34. package/dist/src/descriptor/validatePolicy.d.ts +22 -0
  35. package/dist/src/descriptor/validatePolicy.d.ts.map +1 -0
  36. package/dist/src/descriptor/validatePolicy.js +92 -0
  37. package/dist/src/index.d.ts +3 -0
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +31 -2
  40. package/dist/src/keychains.d.ts +48 -0
  41. package/dist/src/keychains.d.ts.map +1 -0
  42. package/dist/src/keychains.js +104 -0
  43. package/dist/src/names.d.ts +26 -0
  44. package/dist/src/names.d.ts.map +1 -0
  45. package/dist/src/names.js +214 -0
  46. package/dist/src/offlineVault/OfflineVaultHalfSigned.d.ts +8 -0
  47. package/dist/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  48. package/dist/src/offlineVault/OfflineVaultHalfSigned.js +59 -0
  49. package/dist/src/offlineVault/OfflineVaultSignable.d.ts +46 -0
  50. package/dist/src/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  51. package/dist/src/offlineVault/OfflineVaultSignable.js +55 -0
  52. package/dist/src/offlineVault/TransactionExplanation.d.ts +15 -0
  53. package/dist/src/offlineVault/TransactionExplanation.d.ts.map +1 -0
  54. package/dist/src/offlineVault/TransactionExplanation.js +16 -0
  55. package/dist/src/offlineVault/descriptor/index.d.ts +2 -0
  56. package/dist/src/offlineVault/descriptor/index.d.ts.map +1 -0
  57. package/dist/src/offlineVault/descriptor/index.js +18 -0
  58. package/dist/src/offlineVault/descriptor/transaction.d.ts +38 -0
  59. package/dist/src/offlineVault/descriptor/transaction.d.ts.map +1 -0
  60. package/dist/src/offlineVault/descriptor/transaction.js +80 -0
  61. package/dist/src/offlineVault/index.d.ts +6 -0
  62. package/dist/src/offlineVault/index.d.ts.map +1 -0
  63. package/dist/src/offlineVault/index.js +44 -0
  64. package/dist/src/recovery/RecoveryProvider.d.ts +6 -5
  65. package/dist/src/recovery/RecoveryProvider.d.ts.map +1 -1
  66. package/dist/src/recovery/RecoveryProvider.js +2 -4
  67. package/dist/src/recovery/backupKeyRecovery.d.ts +44 -15
  68. package/dist/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  69. package/dist/src/recovery/backupKeyRecovery.js +176 -102
  70. package/dist/src/recovery/baseApi.d.ts +3 -6
  71. package/dist/src/recovery/baseApi.d.ts.map +1 -1
  72. package/dist/src/recovery/baseApi.js +6 -6
  73. package/dist/src/recovery/coingeckoApi.d.ts +0 -3
  74. package/dist/src/recovery/coingeckoApi.d.ts.map +1 -1
  75. package/dist/src/recovery/coingeckoApi.js +1 -4
  76. package/dist/src/recovery/crossChainRecovery.d.ts +15 -26
  77. package/dist/src/recovery/crossChainRecovery.d.ts.map +1 -1
  78. package/dist/src/recovery/crossChainRecovery.js +107 -83
  79. package/dist/src/recovery/index.d.ts +0 -1
  80. package/dist/src/recovery/index.d.ts.map +1 -1
  81. package/dist/src/recovery/index.js +6 -3
  82. package/dist/src/recovery/mempoolApi.d.ts.map +1 -1
  83. package/dist/src/recovery/mempoolApi.js +10 -7
  84. package/dist/src/replayProtection.js +37 -5
  85. package/dist/src/sign.d.ts +29 -8
  86. package/dist/src/sign.d.ts.map +1 -1
  87. package/dist/src/sign.js +114 -15
  88. package/dist/src/transaction/common/verifyPayGoAmount.d.ts +2 -0
  89. package/dist/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  90. package/dist/src/transaction/common/verifyPayGoAmount.js +3 -0
  91. package/dist/src/transaction/descriptor/explainPsbt.d.ts +5 -0
  92. package/dist/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  93. package/dist/src/transaction/descriptor/explainPsbt.js +80 -0
  94. package/dist/src/transaction/descriptor/index.d.ts +7 -0
  95. package/dist/src/transaction/descriptor/index.d.ts.map +1 -0
  96. package/dist/src/transaction/descriptor/index.js +14 -0
  97. package/dist/src/transaction/descriptor/parse.d.ts +15 -0
  98. package/dist/src/transaction/descriptor/parse.d.ts.map +1 -0
  99. package/dist/src/transaction/descriptor/parse.js +116 -0
  100. package/dist/src/transaction/descriptor/parseToAmountType.d.ts +13 -0
  101. package/dist/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  102. package/dist/src/transaction/descriptor/parseToAmountType.js +60 -0
  103. package/dist/src/transaction/descriptor/recipient.d.ts +5 -0
  104. package/dist/src/transaction/descriptor/recipient.d.ts.map +1 -0
  105. package/dist/src/transaction/descriptor/recipient.js +3 -0
  106. package/dist/src/transaction/descriptor/signPsbt.d.ts +25 -0
  107. package/dist/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
  108. package/dist/src/transaction/descriptor/signPsbt.js +43 -0
  109. package/dist/src/transaction/descriptor/verifyTransaction.d.ts +33 -0
  110. package/dist/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  111. package/dist/src/transaction/descriptor/verifyTransaction.js +105 -0
  112. package/dist/src/transaction/explainTransaction.d.ts +17 -0
  113. package/dist/src/transaction/explainTransaction.d.ts.map +1 -0
  114. package/dist/src/transaction/explainTransaction.js +67 -0
  115. package/dist/src/transaction/fetchInputs.d.ts +26 -0
  116. package/dist/src/transaction/fetchInputs.d.ts.map +1 -0
  117. package/dist/src/transaction/fetchInputs.js +109 -0
  118. package/dist/src/transaction/fixedScript/explainTransaction.d.ts +30 -0
  119. package/dist/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  120. package/dist/src/transaction/fixedScript/explainTransaction.js +216 -0
  121. package/dist/src/transaction/fixedScript/index.d.ts +6 -0
  122. package/dist/src/transaction/fixedScript/index.d.ts.map +1 -0
  123. package/dist/src/transaction/fixedScript/index.js +13 -0
  124. package/dist/src/transaction/fixedScript/parseOutput.d.ts +26 -0
  125. package/dist/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  126. package/dist/src/transaction/fixedScript/parseOutput.js +213 -0
  127. package/dist/src/transaction/fixedScript/parseTransaction.d.ts +7 -0
  128. package/dist/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  129. package/dist/src/transaction/fixedScript/parseTransaction.js +203 -0
  130. package/dist/src/transaction/fixedScript/signTransaction.d.ts +17 -0
  131. package/dist/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  132. package/dist/src/transaction/fixedScript/signTransaction.js +138 -0
  133. package/dist/src/transaction/fixedScript/verifyTransaction.d.ts +4 -0
  134. package/dist/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  135. package/dist/src/transaction/fixedScript/verifyTransaction.js +176 -0
  136. package/dist/src/transaction/index.d.ts +6 -0
  137. package/dist/src/transaction/index.d.ts.map +1 -0
  138. package/dist/src/transaction/index.js +26 -0
  139. package/dist/src/transaction/outputDifference.d.ts +40 -0
  140. package/dist/src/transaction/outputDifference.d.ts.map +1 -0
  141. package/dist/src/transaction/outputDifference.js +47 -0
  142. package/dist/src/transaction/parseTransaction.d.ts +3 -0
  143. package/dist/src/transaction/parseTransaction.d.ts.map +1 -0
  144. package/dist/src/transaction/parseTransaction.js +48 -0
  145. package/dist/src/transaction/recipient.d.ts +29 -0
  146. package/dist/src/transaction/recipient.d.ts.map +1 -0
  147. package/dist/src/transaction/recipient.js +88 -0
  148. package/dist/src/transaction/signTransaction.d.ts +6 -0
  149. package/dist/src/transaction/signTransaction.d.ts.map +1 -0
  150. package/dist/src/transaction/signTransaction.js +102 -0
  151. package/dist/src/transaction/verifyTransaction.d.ts +4 -0
  152. package/dist/src/transaction/verifyTransaction.d.ts.map +1 -0
  153. package/dist/src/transaction/verifyTransaction.js +50 -0
  154. package/dist/src/verifyKey.d.ts +28 -0
  155. package/dist/src/verifyKey.d.ts.map +1 -0
  156. package/dist/src/verifyKey.js +164 -0
  157. package/dist/src/wallet.d.ts +15 -0
  158. package/dist/src/wallet.d.ts.map +1 -0
  159. package/dist/src/wallet.js +8 -0
  160. package/package.json +19 -13
  161. package/.eslintignore +0 -5
  162. package/CHANGELOG.md +0 -154
  163. package/dist/src/parseOutput.d.ts +0 -22
  164. package/dist/src/parseOutput.d.ts.map +0 -1
  165. package/dist/src/parseOutput.js +0 -170
  166. package/dist/src/recovery/smartbitApi.d.ts +0 -11
  167. package/dist/src/recovery/smartbitApi.d.ts.map +0 -1
  168. package/dist/src/recovery/smartbitApi.js +0 -36
  169. package/dist/tsconfig.tsbuildinfo +0 -7714
@@ -1,27 +1,59 @@
1
- /// <reference types="node" />
2
- /**
3
- * @prettier
4
- */
5
1
  import * as utxolib from '@bitgo-beta/utxo-lib';
6
2
  import { bitgo } from '@bitgo-beta/utxo-lib';
7
- import { backupKeyRecovery, RecoverParams } from './recovery/backupKeyRecovery';
8
- import { CrossChainRecoverySigned, CrossChainRecoveryUnsigned } from './recovery';
9
- 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
- import { CustomChangeOptions } from './parseOutput';
3
+ import { AddressCoinSpecific, BaseCoin, BitGoBase, CreateAddressFormat, ExtraPrebuildParamsOptions, HalfSignedUtxoTransaction, IBaseCoin, IRequestTracer, ITransactionExplanation as BaseTransactionExplanation, IWallet, KeychainsTriplet, MultisigType, 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 } from '@bitgo-beta/sdk-core';
4
+ import { backupKeyRecovery, CrossChainRecoverySigned, CrossChainRecoveryUnsigned, RecoverParams, RecoveryProvider, v1BackupKeyRecovery, V1RecoverParams, v1Sweep, V1SweepParams } from './recovery';
5
+ import { CustomChangeOptions } from './transaction/fixedScript';
6
+ import { UtxoKeychain, UtxoNamedKeychains } from './keychains';
7
+ import { UtxoWallet } from './wallet';
11
8
  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;
9
+ type UtxoCustomSigningFunction<TNumber extends number | bigint> = {
10
+ (params: {
11
+ coin: IBaseCoin;
12
+ txPrebuild: TransactionPrebuild<TNumber>;
13
+ pubs?: string[];
14
+ /**
15
+ * signingStep flag becomes applicable when both of the following conditions are met:
16
+ * 1) When the external express signer is activated
17
+ * 2) When the PSBT includes at least one taprootKeyPathSpend input.
18
+ *
19
+ * The signing process of a taprootKeyPathSpend input is a 4-step sequence:
20
+ * i) user nonce generation - signerNonce - this is the first call to external express signer signTransaction
21
+ * ii) bitgo nonce generation - cosignerNonce - this is the first and only call to local signTransaction
22
+ * iii) user signature - signerSignature - this is the second call to external express signer signTransaction
23
+ * iv) bitgo signature - not in signTransaction method’s scope
24
+ *
25
+ * In the absence of this flag, the aforementioned first three sequence is executed in a single signTransaction call.
26
+ *
27
+ * NOTE: We make a strong assumption that the external express signer and its caller uses sticky sessions,
28
+ * since PSBTs are cached in step 1 to be used in step 3 for MuSig2 user secure nonce access.
29
+ */
30
+ signingStep?: 'signerNonce' | 'signerSignature' | 'cosignerNonce';
31
+ }): Promise<SignedTransaction>;
32
+ };
33
+ type Unspent<TNumber extends number | bigint = number> = bitgo.Unspent<TNumber>;
34
+ export type DecodedTransaction<TNumber extends number | bigint> = utxolib.bitgo.UtxoTransaction<TNumber> | utxolib.bitgo.UtxoPsbt;
35
+ export type RootWalletKeys = bitgo.RootWalletKeys;
36
+ export 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<TAmount = string | number> {
18
43
  address: string;
19
- amount: string | number;
44
+ amount: TAmount;
20
45
  external?: boolean;
46
+ }
47
+ export interface FixedScriptWalletOutput<TAmount = string | number> extends BaseOutput<TAmount> {
21
48
  needsCustomChangeKeySignatureVerification?: boolean;
49
+ chain: number;
50
+ index: number;
22
51
  }
52
+ export type Output<TAmount = string | number> = BaseOutput<TAmount> | FixedScriptWalletOutput<TAmount>;
53
+ export declare function isWalletOutput(output: Output): output is FixedScriptWalletOutput;
23
54
  export interface TransactionExplanation extends BaseTransactionExplanation<string, string> {
24
55
  locktime: number;
56
+ /** NOTE: this actually only captures external outputs */
25
57
  outputs: Output[];
26
58
  changeOutputs: Output[];
27
59
  /**
@@ -37,7 +69,8 @@ export interface TransactionInfo<TNumber extends number | bigint = number> {
37
69
  /** Maps txid to txhex. Required for offline signing. */
38
70
  txHexes?: Record<string, string>;
39
71
  changeAddresses?: string[];
40
- unspents: Unspent<TNumber>[];
72
+ /** psbt does not require unspents. */
73
+ unspents?: Unspent<TNumber>[];
41
74
  }
42
75
  export interface ExplainTransactionOptions<TNumber extends number | bigint = number> {
43
76
  txHex: string;
@@ -45,83 +78,102 @@ export interface ExplainTransactionOptions<TNumber extends number | bigint = num
45
78
  feeInfo?: string;
46
79
  pubs?: Triple<string>;
47
80
  }
48
- export declare type UtxoNetwork = utxolib.Network;
81
+ export interface DecoratedExplainTransactionOptions<TNumber extends number | bigint = number> extends ExplainTransactionOptions<TNumber> {
82
+ changeInfo?: {
83
+ address: string;
84
+ chain: number;
85
+ index: number;
86
+ }[];
87
+ }
88
+ export type UtxoNetwork = utxolib.Network;
49
89
  export interface TransactionPrebuild<TNumber extends number | bigint = number> extends BaseTransactionPrebuild {
50
90
  txInfo?: TransactionInfo<TNumber>;
51
91
  blockHeight?: number;
52
92
  }
53
93
  export interface TransactionParams extends BaseTransactionParams {
54
94
  walletPassphrase?: string;
95
+ allowExternalChangeAddress?: boolean;
55
96
  changeAddress?: string;
56
- }
57
- export interface AbstractUtxoCoinWalletData extends WalletData {
58
- customChangeKeySignatures: {
59
- user: string;
60
- backup: string;
61
- bitgo: string;
62
- };
63
- }
64
- export declare class AbstractUtxoCoinWallet extends Wallet {
65
- _wallet: AbstractUtxoCoinWalletData;
66
- constructor(bitgo: BitGoBase, baseCoin: IBaseCoin, walletData: any);
97
+ rbfTxIds?: string[];
67
98
  }
68
99
  export interface ParseTransactionOptions<TNumber extends number | bigint = number> extends BaseParseTransactionOptions {
69
100
  txParams: TransactionParams;
70
101
  txPrebuild: TransactionPrebuild<TNumber>;
71
- wallet: AbstractUtxoCoinWallet;
102
+ wallet: UtxoWallet;
72
103
  verification?: VerificationOptions;
73
104
  reqId?: IRequestTracer;
74
105
  }
75
- export interface ParsedTransaction<TNumber extends number | bigint = number> extends BaseParsedTransaction {
76
- keychains: {
77
- user?: Keychain;
78
- backup?: Keychain;
79
- bitgo?: Keychain;
80
- };
106
+ export type BaseParsedTransactionOutputs<TNumber extends number | bigint, TOutput> = {
107
+ /** all transaction outputs */
108
+ outputs: TOutput[];
109
+ /** transaction outputs that were specified as recipients but are missing from the transaction */
110
+ missingOutputs: TOutput[];
111
+ /** transaction outputs that were specified as recipients and are present in the transaction */
112
+ explicitExternalOutputs: TOutput[];
113
+ /** transaction outputs that were not specified as recipients but are present in the transaction */
114
+ implicitExternalOutputs: TOutput[];
115
+ /** transaction outputs that are change outputs */
116
+ changeOutputs: TOutput[];
117
+ /** sum of all explicit external outputs */
118
+ explicitExternalSpendAmount: TNumber;
119
+ /** sum of all implicit external outputs */
120
+ implicitExternalSpendAmount: TNumber;
121
+ };
122
+ export type BaseParsedTransaction<TNumber extends number | bigint, TOutput> = BaseParsedTransactionOutputs<TNumber, TOutput> /** Some extra properties that have nothing to do with an individual transaction */ & {
123
+ keychains: UtxoNamedKeychains;
81
124
  keySignatures: {
82
125
  backupPub?: string;
83
126
  bitgoPub?: string;
84
127
  };
85
- outputs: Output[];
86
- missingOutputs: Output[];
87
- explicitExternalOutputs: Output[];
88
- implicitExternalOutputs: Output[];
89
- changeOutputs: Output[];
90
- explicitExternalSpendAmount: TNumber;
91
- implicitExternalSpendAmount: TNumber;
92
128
  needsCustomChangeKeySignatureVerification: boolean;
93
129
  customChange?: CustomChangeOptions;
94
- }
130
+ };
131
+ /**
132
+ * This type is a bit silly because it allows the type for the aggregate amounts to be different from the type of
133
+ * individual amounts.
134
+ */
135
+ export type ParsedTransaction<TNumber extends number | bigint = number> = BaseParsedTransaction<TNumber, Output>;
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
+ format?: CreateAddressFormat;
146
+ keychains: {
147
+ pub: string;
148
+ aspKeyId?: string;
149
+ }[];
150
+ }
107
151
  export interface AddressDetails {
108
152
  address: string;
109
153
  chain: number;
110
154
  index: number;
111
155
  coin: string;
112
- coinSpecific: AddressCoinSpecific;
156
+ coinSpecific: AddressCoinSpecific | DescriptorAddressCoinSpecific;
113
157
  addressType?: string;
114
158
  }
115
- export interface SignTransactionOptions<TNumber extends number | bigint = number> extends BaseSignTransactionOptions {
159
+ export interface DescriptorAddressCoinSpecific extends AddressCoinSpecific {
160
+ descriptorName: string;
161
+ descriptorChecksum: string;
162
+ }
163
+ type UtxoBaseSignTransactionOptions<TNumber extends number | bigint = number> = BaseSignTransactionOptions & {
116
164
  /** Transaction prebuild from bitgo server */
117
165
  txPrebuild: {
166
+ /**
167
+ * walletId is required in following 2 scenarios.
168
+ * 1. External signer express mode is used.
169
+ * 2. bitgo MuSig2 nonce is requested
170
+ */
171
+ walletId?: string;
118
172
  txHex: string;
119
- txInfo: TransactionInfo<TNumber>;
173
+ txInfo?: TransactionInfo<TNumber>;
120
174
  };
121
- /** xprv of user key or backup key */
122
- prv: string;
123
- /** xpubs triple for wallet (user, backup, bitgo) */
124
- pubs: Triple<string>;
175
+ /** xpubs triple for wallet (user, backup, bitgo). Required only when txPrebuild.txHex is not a PSBT */
176
+ pubs?: Triple<string>;
125
177
  /** xpub for cosigner (defaults to bitgo) */
126
178
  cosignerPub?: string;
127
179
  /**
@@ -129,7 +181,19 @@ export interface SignTransactionOptions<TNumber extends number | bigint = number
129
181
  * When false, creates half-signed transaction with placeholder signatures.
130
182
  */
131
183
  isLastSignature?: boolean;
132
- }
184
+ /**
185
+ * If true, allows signing a non-segwit input with a witnessUtxo instead requiring a previous
186
+ * transaction (nonWitnessUtxo)
187
+ */
188
+ allowNonSegwitSigningWithoutPrevTx?: boolean;
189
+ wallet?: UtxoWallet;
190
+ };
191
+ export type SignTransactionOptions<TNumber extends number | bigint = number> = UtxoBaseSignTransactionOptions<TNumber> & ({
192
+ prv: string;
193
+ signingStep?: 'signerNonce' | 'signerSignature';
194
+ } | {
195
+ signingStep: 'cosignerNonce';
196
+ });
133
197
  export interface MultiSigAddress {
134
198
  outputScript: Buffer;
135
199
  redeemScript?: Buffer;
@@ -142,24 +206,36 @@ export interface RecoverFromWrongChainOptions {
142
206
  wallet: string;
143
207
  walletPassphrase?: string;
144
208
  xprv?: string;
209
+ apiKey?: string;
145
210
  /** @deprecated */
146
211
  coin?: AbstractUtxoCoin;
147
212
  recoveryCoin?: AbstractUtxoCoin;
148
213
  signed?: boolean;
149
214
  }
150
215
  export interface VerifyKeySignaturesOptions {
151
- userKeychain?: Keychain;
152
- keychainToVerify?: Keychain;
153
- keySignature?: string;
216
+ userKeychain: {
217
+ pub?: string;
218
+ };
219
+ keychainToVerify: {
220
+ pub?: string;
221
+ };
222
+ keySignature: string;
154
223
  }
155
224
  export interface VerifyUserPublicKeyOptions {
156
- userKeychain?: Keychain;
225
+ userKeychain?: UtxoKeychain;
157
226
  disableNetworking: boolean;
158
227
  txParams: TransactionParams;
159
228
  }
160
229
  export interface VerifyTransactionOptions<TNumber extends number | bigint = number> extends BaseVerifyTransactionOptions {
161
230
  txPrebuild: TransactionPrebuild<TNumber>;
162
- wallet: AbstractUtxoCoinWallet;
231
+ txParams: TransactionParams;
232
+ wallet: UtxoWallet;
233
+ }
234
+ export interface SignPsbtRequest {
235
+ psbt: string;
236
+ }
237
+ export interface SignPsbtResponse {
238
+ psbt: string;
163
239
  }
164
240
  export declare abstract class AbstractUtxoCoin extends BaseCoin {
165
241
  altScriptHash?: number;
@@ -168,6 +244,11 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
168
244
  private readonly _network;
169
245
  protected constructor(bitgo: BitGoBase, network: utxolib.Network, amountType?: 'number' | 'bigint');
170
246
  get network(): utxolib.Network;
247
+ getChain(): string;
248
+ getFamily(): "dash" | "btc" | "bch" | "bcha" | "bsv" | "btg" | "doge" | "ltc" | "zec";
249
+ getFullName(): string;
250
+ /** Indicates whether the coin supports a block target */
251
+ supportsBlockTarget(): boolean;
171
252
  sweepWithSendMany(): boolean;
172
253
  /** @deprecated */
173
254
  static get validAddressTypes(): ScriptType2Of3[];
@@ -195,23 +276,21 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
195
276
  * @returns {Boolean} is it valid?
196
277
  */
197
278
  isValidPub(pub: string): boolean;
279
+ preprocessBuildParams(params: Record<string, any>): Record<string, any>;
198
280
  /**
199
281
  * Get the latest block height
200
282
  * @param reqId
201
283
  */
202
284
  getLatestBlockHeight(reqId?: RequestTracer): Promise<number>;
285
+ checkRecipient(recipient: {
286
+ address: string;
287
+ amount: number | string;
288
+ }): void;
203
289
  /**
204
290
  * Run custom coin logic after a transaction prebuild has been received from BitGo
205
291
  * @param prebuild
206
292
  */
207
293
  postProcessPrebuild<TNumber extends number | bigint>(prebuild: TransactionPrebuild<TNumber>): Promise<TransactionPrebuild<TNumber>>;
208
- /**
209
- * Find outputs that are within expected outputs but not within actual outputs, including duplicates
210
- * @param expectedOutputs
211
- * @param actualOutputs
212
- * @returns {Array}
213
- */
214
- protected static findMissingOutputs(expectedOutputs: Output[], actualOutputs: Output[]): Output[];
215
294
  /**
216
295
  * Determine an address' type based on its witness and redeem script presence
217
296
  * @param addressDetails
@@ -220,6 +299,18 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
220
299
  chain: number;
221
300
  }): ScriptType2Of3 | null;
222
301
  createTransactionFromHex<TNumber extends number | bigint = number>(hex: string): utxolib.bitgo.UtxoTransaction<TNumber>;
302
+ decodeTransaction<TNumber extends number | bigint>(input: Buffer | string): DecodedTransaction<TNumber>;
303
+ decodeTransactionFromPrebuild<TNumber extends number | bigint>(prebuild: {
304
+ txHex?: string;
305
+ txBase64?: string;
306
+ }): DecodedTransaction<TNumber>;
307
+ toCanonicalTransactionRecipient(output: {
308
+ valueString: string;
309
+ address?: string;
310
+ }): {
311
+ amount: bigint;
312
+ address?: string;
313
+ };
223
314
  /**
224
315
  * Extract and fill transaction details such as internal/change spend, external spend (explicit vs. implicit), etc.
225
316
  * @param params
@@ -227,34 +318,13 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
227
318
  */
228
319
  parseTransaction<TNumber extends number | bigint = number>(params: ParseTransactionOptions<TNumber>): Promise<ParsedTransaction<TNumber>>;
229
320
  /**
230
- * Decrypt the wallet's user private key and verify that the claimed public key matches
231
- * @param {VerifyUserPublicKeyOptions} params
232
- * @return {boolean}
233
- * @protected
321
+ * @deprecated - use function verifyUserPublicKey instead
234
322
  */
235
323
  protected verifyUserPublicKey(params: VerifyUserPublicKeyOptions): boolean;
236
324
  /**
237
- * Verify signatures produced by the user key over the backup and bitgo keys.
238
- *
239
- * If set, these signatures ensure that the wallet keys cannot be changed after the wallet has been created.
240
- * @param {VerifyKeySignaturesOptions} params
241
- * @return {{backup: boolean, bitgo: boolean}}
325
+ * @deprecated - use function verifyKeySignature instead
242
326
  */
243
- protected verifyKeySignature(params: VerifyKeySignaturesOptions): boolean;
244
- /**
245
- * Verify signatures against the user private key over the change wallet extended keys
246
- * @param {ParsedTransaction} tx
247
- * @param {Keychain} userKeychain
248
- * @return {boolean}
249
- * @protected
250
- */
251
- protected verifyCustomChangeKeySignatures<TNumber extends number | bigint>(tx: ParsedTransaction<TNumber>, userKeychain: Keychain): boolean;
252
- /**
253
- * Get the maximum percentage limit for pay-as-you-go outputs
254
- *
255
- * @protected
256
- */
257
- protected getPayGoLimit(allowPaygoOutput?: boolean): number;
327
+ verifyKeySignature(params: VerifyKeySignaturesOptions): boolean;
258
328
  /**
259
329
  * Verify that a transaction prebuild complies with the original intention
260
330
  *
@@ -282,17 +352,16 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
282
352
  * @throws {InvalidAddressDerivationPropertyError}
283
353
  * @throws {UnexpectedAddressError}
284
354
  */
285
- isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
286
- /**
287
- * Indicates whether coin supports a block target
288
- * @returns {boolean}
289
- */
290
- supportsBlockTarget(): boolean;
355
+ isWalletAddress(params: VerifyAddressOptions<UtxoCoinSpecific>, wallet?: IWallet): Promise<boolean>;
291
356
  /**
292
357
  * @param addressType
293
358
  * @returns true iff coin supports spending from unspentType
294
359
  */
295
360
  supportsAddressType(addressType: ScriptType2Of3): boolean;
361
+ /** {@inheritDoc } **/
362
+ supportsMultisig(): boolean;
363
+ /** inherited doc */
364
+ getDefaultMultisigType(): MultisigType;
296
365
  /**
297
366
  * @param chain
298
367
  * @return true iff coin supports spending from chain
@@ -312,13 +381,35 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
312
381
  * @param params.bech32 {boolean} Deprecated
313
382
  * @returns {{chain: number, index: number, coin: number, coinSpecific: {outputScript, redeemScript}}}
314
383
  */
315
- generateAddress(params: GenerateAddressOptions): AddressDetails;
384
+ generateAddress(params: GenerateFixedScriptAddressOptions): AddressDetails;
385
+ /**
386
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs.
387
+ * @param psbtHex all MuSig2 inputs should contain user MuSig2 nonce
388
+ * @param walletId
389
+ */
390
+ signPsbt(psbtHex: string, walletId: string): Promise<SignPsbtResponse>;
391
+ /**
392
+ * @returns input psbt added with deterministic MuSig2 nonce for bitgo key for each MuSig2 inputs from OVC.
393
+ * @param ovcJson JSON object provided by OVC with fields psbtHex and walletId
394
+ */
395
+ signPsbtFromOVC(ovcJson: Record<string, unknown>): Promise<Record<string, unknown>>;
316
396
  /**
317
397
  * Assemble keychain and half-sign prebuilt transaction
318
398
  * @param params - {@see SignTransactionOptions}
319
399
  * @returns {Promise<SignedTransaction | HalfSignedUtxoTransaction>}
320
400
  */
321
401
  signTransaction<TNumber extends number | bigint = number>(params: SignTransactionOptions<TNumber>): Promise<SignedTransaction | HalfSignedUtxoTransaction>;
402
+ /**
403
+ * Sign a transaction with a custom signing function. Example use case is express external signer
404
+ * @param customSigningFunction custom signing function that returns a single signed transaction
405
+ * @param signTransactionParams parameters for custom signing function. Includes txPrebuild and pubs (for legacy tx only).
406
+ *
407
+ * @returns signed transaction as hex string
408
+ */
409
+ signWithCustomSigningFunction<TNumber extends number | bigint>(customSigningFunction: UtxoCustomSigningFunction<TNumber>, signTransactionParams: {
410
+ txPrebuild: TransactionPrebuild<TNumber>;
411
+ pubs?: string[];
412
+ }): Promise<SignedTransaction>;
322
413
  /**
323
414
  * @param unspent
324
415
  * @returns {boolean}
@@ -337,7 +428,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
337
428
  publicKey?: string;
338
429
  }): boolean;
339
430
  /**
340
- * Decompose a raw transaction into useful information, such as the total amounts,
431
+ * Decompose a raw psbt/transaction into useful information, such as the total amounts,
341
432
  * change amounts, and transaction outputs.
342
433
  * @param params
343
434
  */
@@ -355,6 +446,8 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
355
446
  * @param params - {@see backupKeyRecovery}
356
447
  */
357
448
  recover(params: RecoverParams): ReturnType<typeof backupKeyRecovery>;
449
+ recoverV1(params: V1RecoverParams): ReturnType<typeof v1BackupKeyRecovery>;
450
+ sweepV1(params: V1SweepParams): ReturnType<typeof v1Sweep>;
358
451
  /**
359
452
  * Recover coin that was sent to wrong chain
360
453
  * @param params
@@ -365,6 +458,7 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
365
458
  * @param params.signed return a half-signed transaction (default=true)
366
459
  * @param params.walletPassphrase the wallet passphrase
367
460
  * @param params.xprv the unencrypted xprv (used instead of wallet passphrase)
461
+ * @param params.apiKey for utxo coins other than [BTC,TBTC] this is a Block Chair api key
368
462
  * @returns {*}
369
463
  */
370
464
  recoverFromWrongChain<TNumber extends number | bigint = number>(params: RecoverFromWrongChainOptions): Promise<CrossChainRecoverySigned<TNumber> | CrossChainRecoveryUnsigned<TNumber>>;
@@ -378,12 +472,19 @@ export declare abstract class AbstractUtxoCoin extends BaseCoin {
378
472
  pub: string;
379
473
  prv: string;
380
474
  };
381
- getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions): Promise<any>;
475
+ private shouldDefaultToPsbtTxFormat;
476
+ getExtraPrebuildParams(buildParams: ExtraPrebuildParamsOptions & {
477
+ wallet: Wallet;
478
+ }): Promise<{
479
+ txFormat?: 'legacy' | 'psbt';
480
+ changeAddressType?: ScriptType2Of3[] | ScriptType2Of3;
481
+ }>;
382
482
  preCreateBitGo(params: PrecreateBitGoOptions): void;
383
483
  presignTransaction(params: PresignTransactionOptions): Promise<any>;
384
484
  supplementGenerateWallet(walletParams: SupplementGenerateWalletOptions, keychains: KeychainsTriplet): Promise<any>;
385
485
  transactionDataAllowed(): boolean;
386
486
  valuelessTransferAllowed(): boolean;
487
+ getRecoveryProvider(apiToken?: string): RecoveryProvider;
387
488
  }
388
489
  export {};
389
490
  //# 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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"}