@bitgo-beta/utxo-lib 8.0.3-beta.4 → 8.0.3-beta.41
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/dist/src/bitgo/Musig2.d.ts +5 -10
- package/dist/src/bitgo/Musig2.d.ts.map +1 -1
- package/dist/src/bitgo/Musig2.js +26 -51
- package/dist/src/bitgo/PsbtUtil.d.ts +54 -0
- package/dist/src/bitgo/PsbtUtil.d.ts.map +1 -0
- package/dist/src/bitgo/PsbtUtil.js +79 -0
- package/dist/src/bitgo/UtxoPsbt.d.ts +14 -39
- package/dist/src/bitgo/UtxoPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoPsbt.js +106 -117
- package/dist/src/bitgo/index.d.ts +8 -0
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +2 -1
- package/dist/src/bitgo/signature.d.ts +2 -2
- package/dist/src/bitgo/signature.d.ts.map +1 -1
- package/dist/src/bitgo/signature.js +8 -2
- package/dist/src/bitgo/transaction.d.ts +18 -3
- package/dist/src/bitgo/transaction.d.ts.map +1 -1
- package/dist/src/bitgo/transaction.js +9 -7
- package/dist/src/bitgo/wallet/Psbt.d.ts +44 -10
- package/dist/src/bitgo/wallet/Psbt.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/Psbt.js +124 -84
- package/dist/src/bitgo/wallet/Unspent.d.ts +26 -0
- package/dist/src/bitgo/wallet/Unspent.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/Unspent.js +149 -60
- package/dist/src/bitgo/zcash/ZcashPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashPsbt.js +4 -3
- package/dist/src/testutil/index.d.ts +1 -0
- package/dist/src/testutil/index.d.ts.map +1 -1
- package/dist/src/testutil/index.js +2 -1
- package/dist/src/testutil/mock.d.ts +1 -1
- package/dist/src/testutil/mock.d.ts.map +1 -1
- package/dist/src/testutil/mock.js +12 -4
- package/dist/src/testutil/psbt.d.ts +1 -1
- package/dist/src/testutil/psbt.d.ts.map +1 -1
- package/dist/src/testutil/psbt.js +3 -2
- package/dist/src/testutil/transaction.d.ts +3 -1
- package/dist/src/testutil/transaction.d.ts.map +1 -1
- package/dist/src/testutil/transaction.js +9 -2
- package/package.json +5 -5
|
@@ -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
|
-
|
|
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,16 @@ 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[]
|
|
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
|
-
/**
|
|
103
|
-
* @return true iff PSBT input is finalized
|
|
104
|
-
*/
|
|
105
|
-
isInputFinalized(inputIndex: number): boolean;
|
|
106
|
-
/**
|
|
107
|
-
* @return partialSig/tapScriptSig count iff input is not finalized
|
|
108
|
-
*/
|
|
109
|
-
getSignatureCount(inputIndex: number): number;
|
|
110
80
|
getNonWitnessPreviousTxids(): string[];
|
|
111
81
|
addNonWitnessUtxos(txBufs: Record<string, Buffer>): this;
|
|
112
82
|
static fromTransaction(transaction: UtxoTransaction<bigint>, prevOutputs: TxOutput<bigint>[]): UtxoPsbt;
|
|
@@ -158,7 +128,7 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
|
|
|
158
128
|
private getMusig2SessionKey;
|
|
159
129
|
/**
|
|
160
130
|
* @returns true for following cases.
|
|
161
|
-
* If valid musig2 partial signatures exists for both 2 keys, it will also
|
|
131
|
+
* If valid musig2 partial signatures exists for both 2 keys, it will also verify aggregated sig
|
|
162
132
|
* for aggregated tweaked key (output key), otherwise only verifies partial sig.
|
|
163
133
|
* If pubkey is passed in input, it will check sig only for that pubkey,
|
|
164
134
|
* if no sig exits for such key, throws error.
|
|
@@ -167,10 +137,14 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
|
|
|
167
137
|
validateTaprootMusig2SignaturesOfInput(inputIndex: number, pubkey?: Buffer): boolean;
|
|
168
138
|
validateTaprootSignaturesOfInput(inputIndex: number, pubkey?: Buffer): boolean;
|
|
169
139
|
/**
|
|
140
|
+
* @param inputIndex
|
|
141
|
+
* @param rootNodes optional input root bip32 nodes to verify with. If it is not provided, globalXpub will be used.
|
|
170
142
|
* @return array of boolean values. True when corresponding index in `publicKeys` has signed the transaction.
|
|
171
143
|
* If no signature in the tx or no public key matching signature, the validation is considered as false.
|
|
172
144
|
*/
|
|
173
|
-
getSignatureValidationArray(inputIndex: number
|
|
145
|
+
getSignatureValidationArray(inputIndex: number, { rootNodes }?: {
|
|
146
|
+
rootNodes?: Triple<BIP32Interface>;
|
|
147
|
+
}): Triple<boolean>;
|
|
174
148
|
/**
|
|
175
149
|
* Mostly copied from bitcoinjs-lib/ts_src/psbt.ts
|
|
176
150
|
*/
|
|
@@ -276,6 +250,7 @@ export declare class UtxoPsbt<Tx extends UtxoTransaction<bigint> = UtxoTransacti
|
|
|
276
250
|
deterministic?: boolean;
|
|
277
251
|
}): this;
|
|
278
252
|
clone(): this;
|
|
253
|
+
extractTransaction(disableFeeCheck?: boolean): UtxoTransaction<bigint>;
|
|
279
254
|
}
|
|
280
255
|
export {};
|
|
281
256
|
//# sourceMappingURL=UtxoPsbt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtxoPsbt.d.ts","sourceRoot":"","sources":["../../../src/bitgo/UtxoPsbt.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"UtxoPsbt.d.ts","sourceRoot":"","sources":["../../../src/bitgo/UtxoPsbt.ts"],"names":[],"mappings":"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"}
|