@bitgo-beta/utxo-lib 8.0.3-beta.8 → 8.0.3-beta.81

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 (48) hide show
  1. package/README.md +19 -16
  2. package/dist/src/bitgo/Musig2.d.ts +5 -10
  3. package/dist/src/bitgo/Musig2.d.ts.map +1 -1
  4. package/dist/src/bitgo/Musig2.js +26 -51
  5. package/dist/src/bitgo/PsbtUtil.d.ts +54 -0
  6. package/dist/src/bitgo/PsbtUtil.d.ts.map +1 -0
  7. package/dist/src/bitgo/PsbtUtil.js +79 -0
  8. package/dist/src/bitgo/UtxoPsbt.d.ts +20 -37
  9. package/dist/src/bitgo/UtxoPsbt.d.ts.map +1 -1
  10. package/dist/src/bitgo/UtxoPsbt.js +113 -114
  11. package/dist/src/bitgo/index.d.ts +8 -0
  12. package/dist/src/bitgo/index.d.ts.map +1 -1
  13. package/dist/src/bitgo/index.js +2 -1
  14. package/dist/src/bitgo/legacysafe/index.d.ts +15 -0
  15. package/dist/src/bitgo/legacysafe/index.d.ts.map +1 -0
  16. package/dist/src/bitgo/legacysafe/index.js +57 -0
  17. package/dist/src/bitgo/parseInput.js +2 -2
  18. package/dist/src/bitgo/signature.d.ts +2 -2
  19. package/dist/src/bitgo/signature.d.ts.map +1 -1
  20. package/dist/src/bitgo/signature.js +8 -2
  21. package/dist/src/bitgo/transaction.d.ts +18 -3
  22. package/dist/src/bitgo/transaction.d.ts.map +1 -1
  23. package/dist/src/bitgo/transaction.js +9 -7
  24. package/dist/src/bitgo/wallet/Psbt.d.ts +49 -10
  25. package/dist/src/bitgo/wallet/Psbt.d.ts.map +1 -1
  26. package/dist/src/bitgo/wallet/Psbt.js +157 -83
  27. package/dist/src/bitgo/wallet/Unspent.d.ts +26 -0
  28. package/dist/src/bitgo/wallet/Unspent.d.ts.map +1 -1
  29. package/dist/src/bitgo/wallet/Unspent.js +149 -60
  30. package/dist/src/bitgo/wallet/WalletOutput.d.ts +17 -1
  31. package/dist/src/bitgo/wallet/WalletOutput.d.ts.map +1 -1
  32. package/dist/src/bitgo/wallet/WalletOutput.js +64 -23
  33. package/dist/src/bitgo/wallet/chains.d.ts +1 -1
  34. package/dist/src/bitgo/zcash/ZcashPsbt.d.ts.map +1 -1
  35. package/dist/src/bitgo/zcash/ZcashPsbt.js +4 -3
  36. package/dist/src/testutil/index.d.ts +1 -0
  37. package/dist/src/testutil/index.d.ts.map +1 -1
  38. package/dist/src/testutil/index.js +2 -1
  39. package/dist/src/testutil/mock.d.ts +1 -1
  40. package/dist/src/testutil/mock.d.ts.map +1 -1
  41. package/dist/src/testutil/mock.js +12 -4
  42. package/dist/src/testutil/psbt.d.ts +13 -4
  43. package/dist/src/testutil/psbt.d.ts.map +1 -1
  44. package/dist/src/testutil/psbt.js +10 -9
  45. package/dist/src/testutil/transaction.d.ts +17 -6
  46. package/dist/src/testutil/transaction.d.ts.map +1 -1
  47. package/dist/src/testutil/transaction.js +17 -10
  48. package/package.json +6 -6
@@ -1,18 +1,11 @@
1
1
  /// <reference types="node" />
2
2
  import { Psbt as PsbtBase } from 'bip174';
3
- import { Bip32Derivation } from 'bip174/src/lib/interfaces';
3
+ import { Bip32Derivation, PsbtInput } from 'bip174/src/lib/interfaces';
4
4
  import { BIP32Interface } from 'bip32';
5
- import { ProprietaryKey } from 'bip174/src/lib/proprietaryKeyVal';
6
5
  import { HDSigner, Psbt, TxOutput, Network } from '..';
7
6
  import { UtxoTransaction } from './UtxoTransaction';
8
7
  import { Triple } from './types';
9
- export declare const PSBT_PROPRIETARY_IDENTIFIER = "BITGO";
10
- export declare enum ProprietaryKeySubtype {
11
- ZEC_CONSENSUS_BRANCH_ID = 0,
12
- MUSIG2_PARTICIPANT_PUB_KEYS = 1,
13
- MUSIG2_PUB_NONCE = 2,
14
- MUSIG2_PARTIAL_SIG = 3
15
- }
8
+ import { ProprietaryKeySearch, ProprietaryKeyValue } from './PsbtUtil';
16
9
  declare type SignatureParams = {
17
10
  /** When true, and add the second (last) nonce and signature for a taproot key
18
11
  * path spend deterministically. Throws an error if done for the first nonce/signature
@@ -65,25 +58,6 @@ export interface PsbtOpts {
65
58
  maximumFeeRate?: number;
66
59
  bip32PathsAbsolute?: boolean;
67
60
  }
68
- /**
69
- * Psbt proprietary keydata object.
70
- * <compact size uint identifier length> <bytes identifier> <compact size uint subtype> <bytes subkeydata>
71
- * => <bytes valuedata>
72
- */
73
- export interface ProprietaryKeyValue {
74
- key: ProprietaryKey;
75
- value: Buffer;
76
- }
77
- /**
78
- * Psbt proprietary keydata object search fields.
79
- * <compact size uint identifier length> <bytes identifier> <compact size uint subtype> <bytes subkeydata>
80
- */
81
- export interface ProprietaryKeySearch {
82
- identifier: string;
83
- subtype?: number;
84
- keydata?: Buffer;
85
- identifierEncoding?: BufferEncoding;
86
- }
87
61
  export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransaction<bigint>> extends Psbt {
88
62
  private nonceStore;
89
63
  protected static transactionFromBuffer(buffer: Buffer, network: Network): UtxoTransaction<bigint>;
@@ -93,20 +67,24 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
93
67
  /**
94
68
  * @param parent - Parent key. Matched with `bip32Derivations` using `fingerprint` property.
95
69
  * @param bip32Derivations - possible derivations for input or output
70
+ * @param ignoreY - when true, ignore the y coordinate when matching public keys
96
71
  * @return derived bip32 node if matching derivation is found, undefined if none is found
97
72
  * @throws Error if more than one match is found
98
73
  */
99
- static deriveKeyPair(parent: BIP32Interface, bip32Derivations: Bip32Derivation[]): BIP32Interface | undefined;
74
+ static deriveKeyPair(parent: BIP32Interface, bip32Derivations: Bip32Derivation[], { ignoreY }: {
75
+ ignoreY: boolean;
76
+ }): BIP32Interface | undefined;
77
+ static deriveKeyPairForInput(bip32: BIP32Interface, input: PsbtInput): Buffer | undefined;
100
78
  get network(): Network;
101
79
  toHex(): string;
102
80
  /**
103
- * @return true iff PSBT input is finalized
81
+ * It is expensive to attempt to compute every output address using psbt.txOutputs[outputIndex]
82
+ * to then just get the script. Here, we are doing the same thing as what txOutputs() does in
83
+ * bitcoinjs-lib, but without iterating over each output.
84
+ * @param outputIndex
85
+ * @returns output script at the given index
104
86
  */
105
- isInputFinalized(inputIndex: number): boolean;
106
- /**
107
- * @return partialSig/tapScriptSig count iff input is not finalized
108
- */
109
- getSignatureCount(inputIndex: number): number;
87
+ getOutputScript(outputIndex: number): Buffer;
110
88
  getNonWitnessPreviousTxids(): string[];
111
89
  addNonWitnessUtxos(txBufs: Record<string, Buffer>): this;
112
90
  static fromTransaction(transaction: UtxoTransaction<bigint>, prevOutputs: TxOutput<bigint>[]): UtxoPsbt;
@@ -158,7 +136,7 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
158
136
  private getMusig2SessionKey;
159
137
  /**
160
138
  * @returns true for following cases.
161
- * If valid musig2 partial signatures exists for both 2 keys, it will also verifies aggregated sig
139
+ * If valid musig2 partial signatures exists for both 2 keys, it will also verify aggregated sig
162
140
  * for aggregated tweaked key (output key), otherwise only verifies partial sig.
163
141
  * If pubkey is passed in input, it will check sig only for that pubkey,
164
142
  * if no sig exits for such key, throws error.
@@ -167,10 +145,14 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
167
145
  validateTaprootMusig2SignaturesOfInput(inputIndex: number, pubkey?: Buffer): boolean;
168
146
  validateTaprootSignaturesOfInput(inputIndex: number, pubkey?: Buffer): boolean;
169
147
  /**
148
+ * @param inputIndex
149
+ * @param rootNodes optional input root bip32 nodes to verify with. If it is not provided, globalXpub will be used.
170
150
  * @return array of boolean values. True when corresponding index in `publicKeys` has signed the transaction.
171
151
  * If no signature in the tx or no public key matching signature, the validation is considered as false.
172
152
  */
173
- getSignatureValidationArray(inputIndex: number): Triple<boolean>;
153
+ getSignatureValidationArray(inputIndex: number, { rootNodes }?: {
154
+ rootNodes?: Triple<BIP32Interface>;
155
+ }): Triple<boolean>;
174
156
  /**
175
157
  * Mostly copied from bitcoinjs-lib/ts_src/psbt.ts
176
158
  */
@@ -276,6 +258,7 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
276
258
  deterministic?: boolean;
277
259
  }): this;
278
260
  clone(): this;
261
+ extractTransaction(disableFeeCheck?: boolean): UtxoTransaction<bigint>;
279
262
  }
280
263
  export {};
281
264
  //# sourceMappingURL=UtxoPsbt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UtxoPsbt.d.ts","sourceRoot":"","sources":["../../../src/bitgo/UtxoPsbt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UtxoPsbt.d.ts","sourceRoot":"","sources":["../../../src/bitgo/UtxoPsbt.ts"],"names":[],"mappings":"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"}