@bitgo-beta/utxo-lib 8.0.3-beta.122 → 8.0.3-beta.1221
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/address.d.ts +0 -1
- package/dist/src/address.d.ts.map +1 -1
- package/dist/src/address.js +10 -10
- package/dist/src/addressFormat.d.ts +1 -2
- package/dist/src/addressFormat.d.ts.map +1 -1
- package/dist/src/addressFormat.js +21 -26
- package/dist/src/bitgo/Musig2.d.ts +1 -2
- package/dist/src/bitgo/Musig2.d.ts.map +1 -1
- package/dist/src/bitgo/Musig2.js +42 -42
- package/dist/src/bitgo/ProprietaryKeyValUtils.d.ts +27 -0
- package/dist/src/bitgo/ProprietaryKeyValUtils.d.ts.map +1 -0
- package/dist/src/bitgo/ProprietaryKeyValUtils.js +74 -0
- package/dist/src/bitgo/PsbtUtil.d.ts +18 -23
- package/dist/src/bitgo/PsbtUtil.d.ts.map +1 -1
- package/dist/src/bitgo/PsbtUtil.js +63 -24
- package/dist/src/bitgo/Unspent.d.ts +2 -3
- package/dist/src/bitgo/Unspent.d.ts.map +1 -1
- package/dist/src/bitgo/Unspent.js +14 -15
- package/dist/src/bitgo/UtxoPsbt.d.ts +21 -8
- package/dist/src/bitgo/UtxoPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoPsbt.js +133 -120
- package/dist/src/bitgo/UtxoTransaction.d.ts +0 -1
- package/dist/src/bitgo/UtxoTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoTransaction.js +14 -14
- package/dist/src/bitgo/UtxoTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/UtxoTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoTransactionBuilder.js +1 -1
- package/dist/src/bitgo/bitcoincash/address.d.ts +0 -1
- package/dist/src/bitgo/bitcoincash/address.d.ts.map +1 -1
- package/dist/src/bitgo/bitcoincash/address.js +11 -12
- package/dist/src/bitgo/bitcoincash/index.js +6 -2
- package/dist/src/bitgo/dash/DashPsbt.d.ts +1 -1
- package/dist/src/bitgo/dash/DashPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashPsbt.js +4 -1
- package/dist/src/bitgo/dash/DashTransaction.d.ts +0 -1
- package/dist/src/bitgo/dash/DashTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashTransaction.js +3 -3
- package/dist/src/bitgo/dash/DashTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/dash/DashTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashTransactionBuilder.js +1 -1
- package/dist/src/bitgo/dash/index.js +6 -2
- package/dist/src/bitgo/index.d.ts +3 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +8 -2
- package/dist/src/bitgo/keyutil.d.ts +9 -1
- package/dist/src/bitgo/keyutil.d.ts.map +1 -1
- package/dist/src/bitgo/keyutil.js +25 -4
- package/dist/src/bitgo/legacysafe/index.d.ts +0 -1
- package/dist/src/bitgo/legacysafe/index.d.ts.map +1 -1
- package/dist/src/bitgo/legacysafe/index.js +9 -10
- package/dist/src/bitgo/litecoin/LitecoinPsbt.d.ts +1 -1
- package/dist/src/bitgo/litecoin/LitecoinPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/litecoin/LitecoinPsbt.js +4 -1
- package/dist/src/bitgo/litecoin/LitecoinTransaction.d.ts +1 -2
- package/dist/src/bitgo/litecoin/LitecoinTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/litecoin/LitecoinTransaction.js +2 -2
- package/dist/src/bitgo/litecoin/index.js +6 -2
- package/dist/src/bitgo/nonStandardHalfSigned.js +4 -5
- package/dist/src/bitgo/outputScripts.d.ts +8 -8
- package/dist/src/bitgo/outputScripts.d.ts.map +1 -1
- package/dist/src/bitgo/outputScripts.js +64 -47
- package/dist/src/bitgo/parseInput.d.ts +7 -8
- package/dist/src/bitgo/parseInput.d.ts.map +1 -1
- package/dist/src/bitgo/parseInput.js +14 -15
- package/dist/src/bitgo/psbt/fromHalfSigned.d.ts +0 -1
- package/dist/src/bitgo/psbt/fromHalfSigned.d.ts.map +1 -1
- package/dist/src/bitgo/psbt/fromHalfSigned.js +7 -8
- package/dist/src/bitgo/psbt/scriptTypes.d.ts +0 -1
- package/dist/src/bitgo/psbt/scriptTypes.d.ts.map +1 -1
- package/dist/src/bitgo/psbt/scriptTypes.js +7 -8
- package/dist/src/bitgo/signature.d.ts +2 -3
- package/dist/src/bitgo/signature.d.ts.map +1 -1
- package/dist/src/bitgo/signature.js +25 -17
- package/dist/src/bitgo/tnumber.js +2 -3
- package/dist/src/bitgo/transaction.d.ts +13 -1
- package/dist/src/bitgo/transaction.d.ts.map +1 -1
- package/dist/src/bitgo/transaction.js +51 -23
- package/dist/src/bitgo/transactionAmounts.d.ts +9 -0
- package/dist/src/bitgo/transactionAmounts.d.ts.map +1 -0
- package/dist/src/bitgo/transactionAmounts.js +32 -0
- package/dist/src/bitgo/types.d.ts +8 -2
- package/dist/src/bitgo/types.d.ts.map +1 -1
- package/dist/src/bitgo/types.js +12 -4
- package/dist/src/bitgo/wallet/Psbt.d.ts +36 -20
- package/dist/src/bitgo/wallet/Psbt.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/Psbt.js +88 -58
- package/dist/src/bitgo/wallet/ScriptId.d.ts +14 -0
- package/dist/src/bitgo/wallet/ScriptId.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/ScriptId.js +28 -0
- package/dist/src/bitgo/wallet/Unspent.d.ts +23 -16
- package/dist/src/bitgo/wallet/Unspent.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/Unspent.js +68 -64
- package/dist/src/bitgo/wallet/WalletKeys.d.ts +1 -2
- package/dist/src/bitgo/wallet/WalletKeys.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/WalletKeys.js +3 -3
- package/dist/src/bitgo/wallet/WalletOutput.d.ts +60 -8
- package/dist/src/bitgo/wallet/WalletOutput.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/WalletOutput.js +158 -63
- package/dist/src/bitgo/wallet/WalletScripts.js +4 -5
- package/dist/src/bitgo/wallet/WalletUnspentSigner.js +7 -7
- package/dist/src/bitgo/wallet/chains.d.ts +3 -3
- package/dist/src/bitgo/wallet/chains.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/chains.js +10 -10
- package/dist/src/bitgo/wallet/index.d.ts +3 -0
- package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/index.js +9 -2
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.d.ts +50 -0
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.js +85 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.d.ts +32 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.js +123 -0
- package/dist/src/bitgo/zcash/ZcashBufferutils.d.ts +1 -2
- package/dist/src/bitgo/zcash/ZcashBufferutils.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashBufferutils.js +15 -15
- package/dist/src/bitgo/zcash/ZcashPsbt.d.ts +2 -5
- package/dist/src/bitgo/zcash/ZcashPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashPsbt.js +12 -15
- package/dist/src/bitgo/zcash/ZcashTransaction.d.ts +5 -2
- package/dist/src/bitgo/zcash/ZcashTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashTransaction.js +48 -21
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.js +8 -4
- package/dist/src/bitgo/zcash/address.d.ts +0 -1
- package/dist/src/bitgo/zcash/address.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/address.js +7 -8
- package/dist/src/bitgo/zcash/hashZip0244.d.ts +1 -2
- package/dist/src/bitgo/zcash/hashZip0244.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/hashZip0244.js +9 -10
- package/dist/src/bitgo/zcash/index.js +6 -2
- package/dist/src/classify.d.ts +0 -1
- package/dist/src/classify.d.ts.map +1 -1
- package/dist/src/classify.js +5 -5
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -3
- package/dist/src/networks.d.ts +2 -2
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +67 -21
- package/dist/src/noble_ecc.d.ts +7 -7
- package/dist/src/noble_ecc.d.ts.map +1 -1
- package/dist/src/noble_ecc.js +7 -7
- package/dist/src/payments/p2tr.js +13 -18
- package/dist/src/payments/p2tr_ns.js +3 -5
- package/dist/src/taproot.d.ts +1 -2
- package/dist/src/taproot.d.ts.map +1 -1
- package/dist/src/taproot.js +21 -22
- package/dist/src/templates/multisig/input.d.ts +0 -1
- package/dist/src/templates/multisig/input.d.ts.map +1 -1
- package/dist/src/templates/multisig/input.js +2 -3
- package/dist/src/templates/multisig/output.d.ts +0 -1
- package/dist/src/templates/multisig/output.d.ts.map +1 -1
- package/dist/src/templates/multisig/output.js +2 -3
- package/dist/src/templates/nulldata.d.ts +0 -1
- package/dist/src/templates/nulldata.d.ts.map +1 -1
- package/dist/src/templates/nulldata.js +3 -3
- package/dist/src/templates/pubkey/input.d.ts +0 -1
- package/dist/src/templates/pubkey/input.d.ts.map +1 -1
- package/dist/src/templates/pubkey/input.js +2 -3
- package/dist/src/templates/pubkey/output.d.ts +0 -1
- package/dist/src/templates/pubkey/output.d.ts.map +1 -1
- package/dist/src/templates/pubkey/output.js +2 -3
- package/dist/src/templates/pubkeyhash/input.d.ts +0 -1
- package/dist/src/templates/pubkeyhash/input.d.ts.map +1 -1
- package/dist/src/templates/pubkeyhash/input.js +2 -3
- package/dist/src/templates/pubkeyhash/output.d.ts +0 -1
- package/dist/src/templates/pubkeyhash/output.d.ts.map +1 -1
- package/dist/src/templates/pubkeyhash/output.js +2 -3
- package/dist/src/templates/scripthash/input.d.ts +0 -1
- package/dist/src/templates/scripthash/input.d.ts.map +1 -1
- package/dist/src/templates/scripthash/input.js +2 -3
- package/dist/src/templates/scripthash/output.d.ts +0 -1
- package/dist/src/templates/scripthash/output.d.ts.map +1 -1
- package/dist/src/templates/scripthash/output.js +2 -3
- package/dist/src/templates/taproot/input.d.ts +0 -1
- package/dist/src/templates/taproot/input.d.ts.map +1 -1
- package/dist/src/templates/taproot/input.js +2 -3
- package/dist/src/templates/taproot/output.d.ts +0 -1
- package/dist/src/templates/taproot/output.d.ts.map +1 -1
- package/dist/src/templates/taproot/output.js +2 -3
- package/dist/src/templates/taprootnofn/input.d.ts +0 -1
- package/dist/src/templates/taprootnofn/input.d.ts.map +1 -1
- package/dist/src/templates/taprootnofn/input.js +2 -3
- package/dist/src/templates/taprootnofn/output.d.ts +0 -1
- package/dist/src/templates/taprootnofn/output.d.ts.map +1 -1
- package/dist/src/templates/taprootnofn/output.js +2 -3
- package/dist/src/templates/witnesscommitment/output.d.ts +0 -1
- package/dist/src/templates/witnesscommitment/output.d.ts.map +1 -1
- package/dist/src/templates/witnesscommitment/output.js +4 -5
- package/dist/src/templates/witnesspubkeyhash/input.d.ts +0 -1
- package/dist/src/templates/witnesspubkeyhash/input.d.ts.map +1 -1
- package/dist/src/templates/witnesspubkeyhash/input.js +2 -3
- package/dist/src/templates/witnesspubkeyhash/output.d.ts +0 -1
- package/dist/src/templates/witnesspubkeyhash/output.d.ts.map +1 -1
- package/dist/src/templates/witnesspubkeyhash/output.js +2 -3
- package/dist/src/templates/witnessscripthash/input.d.ts +0 -1
- package/dist/src/templates/witnessscripthash/input.d.ts.map +1 -1
- package/dist/src/templates/witnessscripthash/input.js +2 -3
- package/dist/src/templates/witnessscripthash/output.d.ts +0 -1
- package/dist/src/templates/witnessscripthash/output.d.ts.map +1 -1
- package/dist/src/templates/witnessscripthash/output.js +2 -3
- package/dist/src/testutil/index.js +6 -2
- package/dist/src/testutil/keys.d.ts +4 -4
- package/dist/src/testutil/keys.d.ts.map +1 -1
- package/dist/src/testutil/keys.js +10 -11
- package/dist/src/testutil/mock.d.ts +1 -2
- package/dist/src/testutil/mock.d.ts.map +1 -1
- package/dist/src/testutil/mock.js +32 -29
- package/dist/src/testutil/psbt.d.ts +17 -10
- package/dist/src/testutil/psbt.d.ts.map +1 -1
- package/dist/src/testutil/psbt.js +39 -33
- package/dist/src/testutil/transaction.d.ts +2 -2
- package/dist/src/testutil/transaction.d.ts.map +1 -1
- package/dist/src/testutil/transaction.js +21 -21
- package/dist/src/transaction_builder.d.ts +0 -1
- package/dist/src/transaction_builder.d.ts.map +1 -1
- package/dist/src/transaction_builder.js +13 -18
- package/package.json +9 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionAmounts.d.ts","sourceRoot":"","sources":["../../../src/bitgo/transactionAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,GAAG;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb,CA2BA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTransactionAmountsFromPsbt = getTransactionAmountsFromPsbt;
|
|
4
|
+
const transaction_1 = require("./transaction");
|
|
5
|
+
function getTransactionAmountsFromPsbt(psbt) {
|
|
6
|
+
const inputCount = psbt.data.inputs.length;
|
|
7
|
+
const outputCount = psbt.data.outputs.length;
|
|
8
|
+
const txInputs = psbt.txInputs;
|
|
9
|
+
const txOutputs = psbt.txOutputs;
|
|
10
|
+
const inputAmount = psbt.data.inputs.reduce((acc, input, inputIndex) => {
|
|
11
|
+
if (input.witnessUtxo) {
|
|
12
|
+
return acc + BigInt(input.witnessUtxo.value);
|
|
13
|
+
}
|
|
14
|
+
else if (input.nonWitnessUtxo) {
|
|
15
|
+
const tx = (0, transaction_1.createTransactionFromBuffer)(input.nonWitnessUtxo, psbt.network, { amountType: 'bigint' });
|
|
16
|
+
return acc + tx.outs[txInputs[inputIndex].index].value;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
throw new Error('missing witnessUtxo and nonWitnessUtxo');
|
|
20
|
+
}
|
|
21
|
+
}, BigInt(0));
|
|
22
|
+
const outputAmount = psbt.data.outputs.reduce((acc, output, outputIndex) => acc + txOutputs[outputIndex].value, BigInt(0));
|
|
23
|
+
const fee = inputAmount - outputAmount;
|
|
24
|
+
return {
|
|
25
|
+
inputCount,
|
|
26
|
+
outputCount,
|
|
27
|
+
inputAmount,
|
|
28
|
+
outputAmount,
|
|
29
|
+
fee,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25BbW91bnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL3RyYW5zYWN0aW9uQW1vdW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLHNFQWlDQztBQW5DRCwrQ0FBNEQ7QUFFNUQsU0FBZ0IsNkJBQTZCLENBQUMsSUFBYztJQU8xRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDL0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFO1FBQ3JFLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNoQyxNQUFNLEVBQUUsR0FBRyxJQUFBLHlDQUEyQixFQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JHLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN6RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUMzQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFDaEUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQUM7SUFDRixNQUFNLEdBQUcsR0FBRyxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQ3ZDLE9BQU87UUFDTCxVQUFVO1FBQ1YsV0FBVztRQUNYLFdBQVc7UUFDWCxZQUFZO1FBQ1osR0FBRztLQUNKLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXR4b1BzYnQgfSBmcm9tICcuL1V0eG9Qc2J0JztcbmltcG9ydCB7IGNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlciB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25BbW91bnRzRnJvbVBzYnQocHNidDogVXR4b1BzYnQpOiB7XG4gIGlucHV0Q291bnQ6IG51bWJlcjtcbiAgb3V0cHV0Q291bnQ6IG51bWJlcjtcbiAgaW5wdXRBbW91bnQ6IGJpZ2ludDtcbiAgb3V0cHV0QW1vdW50OiBiaWdpbnQ7XG4gIGZlZTogYmlnaW50O1xufSB7XG4gIGNvbnN0IGlucHV0Q291bnQgPSBwc2J0LmRhdGEuaW5wdXRzLmxlbmd0aDtcbiAgY29uc3Qgb3V0cHV0Q291bnQgPSBwc2J0LmRhdGEub3V0cHV0cy5sZW5ndGg7XG4gIGNvbnN0IHR4SW5wdXRzID0gcHNidC50eElucHV0cztcbiAgY29uc3QgdHhPdXRwdXRzID0gcHNidC50eE91dHB1dHM7XG4gIGNvbnN0IGlucHV0QW1vdW50ID0gcHNidC5kYXRhLmlucHV0cy5yZWR1Y2UoKGFjYywgaW5wdXQsIGlucHV0SW5kZXgpID0+IHtcbiAgICBpZiAoaW5wdXQud2l0bmVzc1V0eG8pIHtcbiAgICAgIHJldHVybiBhY2MgKyBCaWdJbnQoaW5wdXQud2l0bmVzc1V0eG8udmFsdWUpO1xuICAgIH0gZWxzZSBpZiAoaW5wdXQubm9uV2l0bmVzc1V0eG8pIHtcbiAgICAgIGNvbnN0IHR4ID0gY3JlYXRlVHJhbnNhY3Rpb25Gcm9tQnVmZmVyKGlucHV0Lm5vbldpdG5lc3NVdHhvLCBwc2J0Lm5ldHdvcmssIHsgYW1vdW50VHlwZTogJ2JpZ2ludCcgfSk7XG4gICAgICByZXR1cm4gYWNjICsgdHgub3V0c1t0eElucHV0c1tpbnB1dEluZGV4XS5pbmRleF0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyB3aXRuZXNzVXR4byBhbmQgbm9uV2l0bmVzc1V0eG8nKTtcbiAgICB9XG4gIH0sIEJpZ0ludCgwKSk7XG4gIGNvbnN0IG91dHB1dEFtb3VudCA9IHBzYnQuZGF0YS5vdXRwdXRzLnJlZHVjZShcbiAgICAoYWNjLCBvdXRwdXQsIG91dHB1dEluZGV4KSA9PiBhY2MgKyB0eE91dHB1dHNbb3V0cHV0SW5kZXhdLnZhbHVlLFxuICAgIEJpZ0ludCgwKVxuICApO1xuICBjb25zdCBmZWUgPSBpbnB1dEFtb3VudCAtIG91dHB1dEFtb3VudDtcbiAgcmV0dXJuIHtcbiAgICBpbnB1dENvdW50LFxuICAgIG91dHB1dENvdW50LFxuICAgIGlucHV0QW1vdW50LFxuICAgIG91dHB1dEFtb3VudCxcbiAgICBmZWUsXG4gIH07XG59XG4iXX0=
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { TapLeafScript } from 'bip174/src/lib/interfaces';
|
|
2
2
|
export { TapLeafScript };
|
|
3
|
-
export
|
|
3
|
+
export type Tuple<T> = [T, T];
|
|
4
4
|
export declare function isTuple<T>(arr: T[]): arr is Tuple<T>;
|
|
5
|
-
export
|
|
5
|
+
export type Triple<T> = [T, T, T];
|
|
6
6
|
export declare function isTriple<T>(arr: T[]): arr is Triple<T>;
|
|
7
|
+
/**
|
|
8
|
+
* Checks if the given value is an array of Buffer objects.
|
|
9
|
+
* @param v - The value to check.
|
|
10
|
+
* @returns A boolean indicating whether v is an array of Buffer objects.
|
|
11
|
+
*/
|
|
12
|
+
export declare function isBufferArray(v: unknown): v is Buffer[];
|
|
7
13
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bitgo/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bitgo/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9B,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAEpD;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,EAAE,CAEvD"}
|
package/dist/src/bitgo/types.js
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isTuple = isTuple;
|
|
4
|
+
exports.isTriple = isTriple;
|
|
5
|
+
exports.isBufferArray = isBufferArray;
|
|
4
6
|
function isTuple(arr) {
|
|
5
7
|
return arr.length === 2;
|
|
6
8
|
}
|
|
7
|
-
exports.isTuple = isTuple;
|
|
8
9
|
function isTriple(arr) {
|
|
9
10
|
return arr.length === 3;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Checks if the given value is an array of Buffer objects.
|
|
14
|
+
* @param v - The value to check.
|
|
15
|
+
* @returns A boolean indicating whether v is an array of Buffer objects.
|
|
16
|
+
*/
|
|
17
|
+
function isBufferArray(v) {
|
|
18
|
+
return Array.isArray(v) && v.every((e) => Buffer.isBuffer(e));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSwwQkFFQztBQUlELDRCQUVDO0FBT0Qsc0NBRUM7QUFqQkQsU0FBZ0IsT0FBTyxDQUFJLEdBQVE7SUFDakMsT0FBTyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBSUQsU0FBZ0IsUUFBUSxDQUFJLEdBQVE7SUFDbEMsT0FBTyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxDQUFVO0lBQ3RDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhcExlYWZTY3JpcHQgfSBmcm9tICdiaXAxNzQvc3JjL2xpYi9pbnRlcmZhY2VzJztcbmV4cG9ydCB7IFRhcExlYWZTY3JpcHQgfTtcblxuZXhwb3J0IHR5cGUgVHVwbGU8VD4gPSBbVCwgVF07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1R1cGxlPFQ+KGFycjogVFtdKTogYXJyIGlzIFR1cGxlPFQ+IHtcbiAgcmV0dXJuIGFyci5sZW5ndGggPT09IDI7XG59XG5cbmV4cG9ydCB0eXBlIFRyaXBsZTxUPiA9IFtULCBULCBUXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVHJpcGxlPFQ+KGFycjogVFtdKTogYXJyIGlzIFRyaXBsZTxUPiB7XG4gIHJldHVybiBhcnIubGVuZ3RoID09PSAzO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYW4gYXJyYXkgb2YgQnVmZmVyIG9iamVjdHMuXG4gKiBAcGFyYW0gdiAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdiBpcyBhbiBhcnJheSBvZiBCdWZmZXIgb2JqZWN0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQnVmZmVyQXJyYXkodjogdW5rbm93bik6IHYgaXMgQnVmZmVyW10ge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2KSAmJiB2LmV2ZXJ5KChlKSA9PiBCdWZmZXIuaXNCdWZmZXIoZSkpO1xufVxuIl19
|
|
@@ -1,57 +1,58 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { PsbtInput } from 'bip174/src/lib/interfaces';
|
|
3
2
|
import { BIP32Interface } from 'bip32';
|
|
4
3
|
import { UtxoPsbt } from '../UtxoPsbt';
|
|
4
|
+
import { Psbt } from '../../';
|
|
5
5
|
import { UtxoTransaction } from '../UtxoTransaction';
|
|
6
|
+
import { ScriptType2Of3 } from '../outputScripts';
|
|
6
7
|
import { RootWalletKeys } from './WalletKeys';
|
|
7
8
|
import { WalletUnspent } from './Unspent';
|
|
8
|
-
import { ParsedPubScriptP2ms, ParsedPubScriptTaprootScriptPath, ParsedPubScriptTaprootKeyPath, ParsedPubScriptP2shP2pk, ParsedScriptType } from '../parseInput';
|
|
9
|
+
import { ParsedPubScriptP2ms, ParsedPubScriptTaprootScriptPath, ParsedPubScriptTaprootKeyPath, ParsedPubScriptP2shP2pk, ParsedScriptType, ParsedScriptType2Of3 } from '../parseInput';
|
|
9
10
|
import { Triple } from '../types';
|
|
10
11
|
import { TxInput } from 'bitcoinjs-lib';
|
|
11
|
-
|
|
12
|
+
type BaseSignatureContainer<T> = {
|
|
12
13
|
signatures: T;
|
|
13
14
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
type UnsignedSignatureContainer = BaseSignatureContainer<undefined>;
|
|
16
|
+
type HalfSignedSignatureContainer = BaseSignatureContainer<[Buffer]>;
|
|
17
|
+
type FullSignedSignatureContainer = BaseSignatureContainer<[Buffer, Buffer]>;
|
|
18
|
+
type SignatureContainer = UnsignedSignatureContainer | HalfSignedSignatureContainer | FullSignedSignatureContainer;
|
|
18
19
|
/**
|
|
19
20
|
* Contents of a pre-finalized PSBT Input for p2trMusig2 key path in the non-finalized state.
|
|
20
21
|
* T is [Buffer] for first signature, [Buffer, Buffer] for both signatures and `undefined` for no signatures.
|
|
21
22
|
*/
|
|
22
|
-
|
|
23
|
+
type BaseTaprootKeyPathSignatureContainer<T> = {
|
|
23
24
|
signatures: T;
|
|
24
25
|
/** Only contains participants that have added a signature */
|
|
25
26
|
participantPublicKeys: T;
|
|
26
27
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
type UnsignedTaprootKeyPathSignatureContainer = BaseTaprootKeyPathSignatureContainer<undefined>;
|
|
29
|
+
type HalfSignedTaprootKeyPathSignatureContainer = BaseTaprootKeyPathSignatureContainer<[Buffer]>;
|
|
30
|
+
type FullSignedTaprootKeyPathSignatureContainer = BaseTaprootKeyPathSignatureContainer<[Buffer, Buffer]>;
|
|
31
|
+
type TaprootKeyPathSignatureContainer = UnsignedTaprootKeyPathSignatureContainer | HalfSignedTaprootKeyPathSignatureContainer | FullSignedTaprootKeyPathSignatureContainer;
|
|
31
32
|
/**
|
|
32
33
|
* To hold parsed psbt data for p2ms based script types - p2sh, p2wsh, and p2shP2wsh
|
|
33
34
|
*/
|
|
34
|
-
export
|
|
35
|
+
export type ParsedPsbtP2ms = ParsedPubScriptP2ms & SignatureContainer;
|
|
35
36
|
/**
|
|
36
37
|
* To hold parsed psbt data for TaprootKeyPathSpend script type.
|
|
37
38
|
*/
|
|
38
|
-
export
|
|
39
|
+
export type ParsedPsbtTaprootKeyPath = ParsedPubScriptTaprootKeyPath & TaprootKeyPathSignatureContainer;
|
|
39
40
|
/**
|
|
40
41
|
* To hold parsed psbt data for TaprootScriptPathSpend script path script type.
|
|
41
42
|
*/
|
|
42
|
-
export
|
|
43
|
+
export type ParsedPsbtTaprootScriptPath = ParsedPubScriptTaprootScriptPath & SignatureContainer & {
|
|
43
44
|
controlBlock: Buffer;
|
|
44
45
|
leafVersion: number;
|
|
45
46
|
/** Indicates the level inside the taptree. */
|
|
46
47
|
scriptPathLevel: number;
|
|
47
48
|
};
|
|
48
|
-
export
|
|
49
|
-
|
|
50
|
-
export
|
|
49
|
+
export type ParsedPsbtTaproot = ParsedPsbtTaprootKeyPath | ParsedPsbtTaprootScriptPath;
|
|
50
|
+
type P2shP2pkSignatureContainer = UnsignedSignatureContainer | HalfSignedSignatureContainer;
|
|
51
|
+
export type ParsedPsbtP2shP2pk = ParsedPubScriptP2shP2pk & P2shP2pkSignatureContainer;
|
|
51
52
|
/**
|
|
52
53
|
* psbt input index and its user, backup, bitgo signatures status
|
|
53
54
|
*/
|
|
54
|
-
export
|
|
55
|
+
export type SignatureValidation = [index: number, sigTriple: Triple<boolean>];
|
|
55
56
|
/**
|
|
56
57
|
* @return PSBT filled with metatdata as per input params tx, unspents and rootWalletKeys.
|
|
57
58
|
* Unsigned PSBT for taproot input with witnessUtxo
|
|
@@ -86,6 +87,12 @@ export declare function getPsbtInputScriptType(input: PsbtInput): ParsedScriptTy
|
|
|
86
87
|
* public key (tapOutputkey), signatures (partial signer sigs).
|
|
87
88
|
*/
|
|
88
89
|
export declare function parsePsbtInput(input: PsbtInput): ParsedPsbtP2ms | ParsedPsbtTaproot | ParsedPsbtP2shP2pk;
|
|
90
|
+
/**
|
|
91
|
+
* Converts a parsed script type into an array of script types.
|
|
92
|
+
* @param parsedScriptType - The parsed script type.
|
|
93
|
+
* @returns An array of ScriptType2Of3 values corresponding to the parsed script type.
|
|
94
|
+
*/
|
|
95
|
+
export declare function toScriptType2Of3s(parsedScriptType: ParsedScriptType2Of3): ScriptType2Of3[];
|
|
89
96
|
/**
|
|
90
97
|
* @returns strictly parse the input and get signature count.
|
|
91
98
|
* unsigned(0), half-signed(1) or fully-signed(2)
|
|
@@ -114,7 +121,7 @@ export declare function isTransactionWithKeyPathSpendInput(data: UtxoPsbt | Utxo
|
|
|
114
121
|
* We do all the matching of the (tap)bip32Derivations masterFingerprint to the fingerprint of the
|
|
115
122
|
* extendedPubkey.
|
|
116
123
|
*/
|
|
117
|
-
export declare function addXpubsToPsbt(psbt:
|
|
124
|
+
export declare function addXpubsToPsbt(psbt: Psbt, rootWalletKeys: RootWalletKeys): void;
|
|
118
125
|
/**
|
|
119
126
|
* validates signatures for each 2 of 3 input against user, backup, bitgo keys derived from rootWalletKeys.
|
|
120
127
|
* @returns array of input index and its [is valid user sig exist, is valid backup sig exist, is valid user bitgo exist]
|
|
@@ -131,6 +138,15 @@ export declare function extractP2msOnlyHalfSignedTx(psbt: UtxoPsbt): UtxoTransac
|
|
|
131
138
|
* It is not BIP-174 compliant, so use it carefully.
|
|
132
139
|
*/
|
|
133
140
|
export declare function clonePsbtWithoutNonWitnessUtxo(psbt: UtxoPsbt): UtxoPsbt;
|
|
141
|
+
/**
|
|
142
|
+
* Returns true if there are non-segwit inputs in the PSBT that do not contain the
|
|
143
|
+
* nonWitnessUtxo.
|
|
144
|
+
*
|
|
145
|
+
* isPsbtLite(clonePsbtWithoutNonWitnessUtxo(psbt)) === true
|
|
146
|
+
*
|
|
147
|
+
* @param psbt
|
|
148
|
+
*/
|
|
149
|
+
export declare function isPsbtLite(psbt: UtxoPsbt): boolean;
|
|
134
150
|
/**
|
|
135
151
|
* Deletes witnessUtxo for non-segwit inputs to make the PSBT BIP-174 compliant.
|
|
136
152
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Psbt.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/Psbt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Psbt.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/wallet/Psbt.ts"],"names":[],"mappings":"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"}
|