@bitgo/abstract-utxo 11.1.0 → 11.2.0
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/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +9 -4
- package/dist/cjs/src/address/fixedScript.d.ts.map +1 -1
- package/dist/cjs/src/address/fixedScript.js +4 -1
- package/dist/cjs/src/transaction/decode.d.ts +13 -1
- package/dist/cjs/src/transaction/decode.d.ts.map +1 -1
- package/dist/cjs/src/transaction/decode.js +19 -1
- package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/parse.js +3 -9
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +3 -4
- package/dist/cjs/src/transaction/explainTransaction.d.ts +2 -2
- package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/explainTransaction.js +12 -10
- package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/signTransaction.js +8 -11
- package/dist/cjs/test/unit/address.js +27 -1
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionE2E.js +100 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/descriptor/signTransactionGuard.js +84 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +10 -5
- package/dist/esm/address/fixedScript.d.ts.map +1 -1
- package/dist/esm/address/fixedScript.js +4 -1
- package/dist/esm/transaction/decode.d.ts +13 -1
- package/dist/esm/transaction/decode.d.ts.map +1 -1
- package/dist/esm/transaction/decode.js +19 -2
- package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/parse.js +3 -9
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/verifyTransaction.js +3 -4
- package/dist/esm/transaction/explainTransaction.d.ts +2 -2
- package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/explainTransaction.js +13 -11
- package/dist/esm/transaction/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/signTransaction.js +10 -13
- package/package.json +8 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
|
-
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { fixedScriptWallet, hasPsbtMagic, Psbt as WasmPsbt } from '@bitgo/wasm-utxo';
|
|
3
3
|
import { getNetworkFromCoinName } from '../names';
|
|
4
4
|
export function stringToBufferTryFormats(input, formats = ['hex', 'base64']) {
|
|
5
5
|
for (const format of formats) {
|
|
@@ -35,6 +35,23 @@ export function decodePsbtWith(psbt, coinName, backend) {
|
|
|
35
35
|
export function decodePsbt(psbt, coinName) {
|
|
36
36
|
return decodePsbtWith(psbt, coinName, 'wasm-utxo');
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Decode a prebuild's PSBT bytes directly into a wasm-utxo descriptor `Psbt`.
|
|
40
|
+
*
|
|
41
|
+
* Skips the `fixedScriptWallet.BitGoPsbt` intermediate that `decodeTransactionFromPrebuild`
|
|
42
|
+
* + `toWasmPsbt` would otherwise round-trip through for descriptor flows.
|
|
43
|
+
*/
|
|
44
|
+
export function decodeDescriptorPsbt(prebuild) {
|
|
45
|
+
const s = prebuild.txHexPsbt ?? prebuild.txHex ?? prebuild.txBase64;
|
|
46
|
+
if (!s) {
|
|
47
|
+
throw new Error('missing required txHex or txBase64 property');
|
|
48
|
+
}
|
|
49
|
+
const bytes = stringToBufferTryFormats(s, ['hex', 'base64']);
|
|
50
|
+
if (!hasPsbtMagic(bytes)) {
|
|
51
|
+
throw new Error('descriptor wallets require PSBT format transactions');
|
|
52
|
+
}
|
|
53
|
+
return WasmPsbt.deserialize(bytes);
|
|
54
|
+
}
|
|
38
55
|
export function encodeTransaction(transaction) {
|
|
39
56
|
if (transaction instanceof utxolib.bitgo.UtxoTransaction) {
|
|
40
57
|
return transaction.toBuffer();
|
|
@@ -46,4 +63,4 @@ export function encodeTransaction(transaction) {
|
|
|
46
63
|
return Buffer.from(transaction.serialize());
|
|
47
64
|
}
|
|
48
65
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2RlY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRyxPQUFPLEVBQUUsc0JBQXNCLEVBQWdCLE1BQU0sVUFBVSxDQUFDO0FBTWhFLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFhLEVBQUUsVUFBNEIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO0lBQ25HLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDMUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxJQUNFLENBQUMsTUFBTSxLQUFLLFFBQVEsSUFBSSxjQUFjLEtBQUssS0FBSyxDQUFDO1lBQ2pELENBQUMsTUFBTSxLQUFLLEtBQUssSUFBSSxjQUFjLEtBQUssS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQzVELENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsUUFBc0I7SUFDM0MsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQWlCRCxNQUFNLFVBQVUsY0FBYyxDQUM1QixJQUFxQixFQUNyQixRQUFzQixFQUN0QixPQUFtQjtJQUVuQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUIsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8saUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQXFCLEVBQUUsUUFBc0I7SUFDdEUsT0FBTyxjQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBUUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsUUFBc0I7SUFDekQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDcEUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsV0FBa0g7SUFFbEgsSUFBSSxXQUFXLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6RCxPQUFPLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO1NBQU0sSUFBSSxXQUFXLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxPQUFPLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0LCBoYXNQc2J0TWFnaWMsIFBzYnQgYXMgV2FzbVBzYnQsIHV0eG9saWJDb21wYXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgZ2V0TmV0d29ya0Zyb21Db2luTmFtZSwgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuXG5pbXBvcnQgeyBTZGtCYWNrZW5kLCBCaXRHb1BzYnQgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBCdWZmZXJFbmNvZGluZyA9ICdoZXgnIHwgJ2Jhc2U2NCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdUb0J1ZmZlclRyeUZvcm1hdHMoaW5wdXQ6IHN0cmluZywgZm9ybWF0czogQnVmZmVyRW5jb2RpbmdbXSA9IFsnaGV4JywgJ2Jhc2U2NCddKTogQnVmZmVyIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgb2YgZm9ybWF0cykge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGlucHV0LCBmb3JtYXQpO1xuICAgIGNvbnN0IGJ1ZmZlclRvU3RyaW5nID0gYnVmZmVyLnRvU3RyaW5nKGZvcm1hdCk7XG4gICAgaWYgKFxuICAgICAgKGZvcm1hdCA9PT0gJ2Jhc2U2NCcgJiYgYnVmZmVyVG9TdHJpbmcgPT09IGlucHV0KSB8fFxuICAgICAgKGZvcm1hdCA9PT0gJ2hleCcgJiYgYnVmZmVyVG9TdHJpbmcgPT09IGlucHV0LnRvTG93ZXJDYXNlKCkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gYnVmZmVyO1xuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcignaW5wdXQgbXVzdCBiZSBhIHZhbGlkIGhleCBvciBiYXNlNjQgc3RyaW5nJyk7XG59XG5cbmZ1bmN0aW9uIHRvTmV0d29ya05hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IHV0eG9saWJDb21wYXQuVXR4b2xpYk5hbWUge1xuICBjb25zdCBuZXR3b3JrID0gZ2V0TmV0d29ya0Zyb21Db2luTmFtZShjb2luTmFtZSk7XG4gIGNvbnN0IG5ldHdvcmtOYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShuZXR3b3JrKTtcbiAgaWYgKCFuZXR3b3JrTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2luTmFtZTogJHtjb2luTmFtZX1gKTtcbiAgfVxuICByZXR1cm4gbmV0d29ya05hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVQc2J0V2l0aChcbiAgcHNidDogc3RyaW5nIHwgQnVmZmVyLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICBiYWNrZW5kOiAndXR4b2xpYidcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlUHNidFdpdGgoXG4gIHBzYnQ6IHN0cmluZyB8IEJ1ZmZlcixcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgYmFja2VuZDogJ3dhc20tdXR4bydcbik6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVQc2J0V2l0aChcbiAgcHNidDogc3RyaW5nIHwgQnVmZmVyLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICBiYWNrZW5kOiBTZGtCYWNrZW5kXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0O1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVBzYnRXaXRoKFxuICBwc2J0OiBzdHJpbmcgfCBCdWZmZXIsXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsXG4gIGJhY2tlbmQ6IFNka0JhY2tlbmRcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQge1xuICBpZiAodHlwZW9mIHBzYnQgPT09ICdzdHJpbmcnKSB7XG4gICAgcHNidCA9IEJ1ZmZlci5mcm9tKHBzYnQsICdoZXgnKTtcbiAgfVxuICBpZiAoYmFja2VuZCA9PT0gJ3V0eG9saWInKSB7XG4gICAgY29uc3QgbmV0d29yayA9IGdldE5ldHdvcmtGcm9tQ29pbk5hbWUoY29pbk5hbWUpO1xuICAgIHJldHVybiB1dHhvbGliLmJpdGdvLmNyZWF0ZVBzYnRGcm9tQnVmZmVyKHBzYnQsIG5ldHdvcmspO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQuZnJvbUJ5dGVzKHBzYnQsIHRvTmV0d29ya05hbWUoY29pbk5hbWUpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlUHNidChwc2J0OiBzdHJpbmcgfCBCdWZmZXIsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCaXRHb1BzYnQge1xuICByZXR1cm4gZGVjb2RlUHNidFdpdGgocHNidCwgY29pbk5hbWUsICd3YXNtLXV0eG8nKTtcbn1cblxuZXhwb3J0IHR5cGUgUHJlYnVpbGRMaWtlID0ge1xuICB0eEhleD86IHN0cmluZztcbiAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIHR4SGV4UHNidD86IHN0cmluZztcbn07XG5cbi8qKlxuICogRGVjb2RlIGEgcHJlYnVpbGQncyBQU0JUIGJ5dGVzIGRpcmVjdGx5IGludG8gYSB3YXNtLXV0eG8gZGVzY3JpcHRvciBgUHNidGAuXG4gKlxuICogU2tpcHMgdGhlIGBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnRgIGludGVybWVkaWF0ZSB0aGF0IGBkZWNvZGVUcmFuc2FjdGlvbkZyb21QcmVidWlsZGBcbiAqICsgYHRvV2FzbVBzYnRgIHdvdWxkIG90aGVyd2lzZSByb3VuZC10cmlwIHRocm91Z2ggZm9yIGRlc2NyaXB0b3IgZmxvd3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVEZXNjcmlwdG9yUHNidChwcmVidWlsZDogUHJlYnVpbGRMaWtlKTogV2FzbVBzYnQge1xuICBjb25zdCBzID0gcHJlYnVpbGQudHhIZXhQc2J0ID8/IHByZWJ1aWxkLnR4SGV4ID8/IHByZWJ1aWxkLnR4QmFzZTY0O1xuICBpZiAoIXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgdHhIZXggb3IgdHhCYXNlNjQgcHJvcGVydHknKTtcbiAgfVxuICBjb25zdCBieXRlcyA9IHN0cmluZ1RvQnVmZmVyVHJ5Rm9ybWF0cyhzLCBbJ2hleCcsICdiYXNlNjQnXSk7XG4gIGlmICghaGFzUHNidE1hZ2ljKGJ5dGVzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignZGVzY3JpcHRvciB3YWxsZXRzIHJlcXVpcmUgUFNCVCBmb3JtYXQgdHJhbnNhY3Rpb25zJyk7XG4gIH1cbiAgcmV0dXJuIFdhc21Qc2J0LmRlc2VyaWFsaXplKGJ5dGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVRyYW5zYWN0aW9uKFxuICB0cmFuc2FjdGlvbjogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50IHwgbnVtYmVyPiB8IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnRcbik6IEJ1ZmZlciB7XG4gIGlmICh0cmFuc2FjdGlvbiBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKSB7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLnRvQnVmZmVyKCk7XG4gIH0gZWxzZSBpZiAodHJhbnNhY3Rpb24gaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLnRvQnVmZmVyKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRyYW5zYWN0aW9uLnNlcmlhbGl6ZSgpKTtcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/transaction/descriptor/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAyB,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/transaction/descriptor/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAyB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGpE,KAAK,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IAC1D,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;CACvB,CAAC;AAoDF,MAAM,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AAmBnG,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,EACrC,aAAa,EAAE,gBAAgB,CAAC,aAAa,EAC7C,UAAU,EAAE,qBAAqB,EAAE,EACnC,QAAQ,EAAE,YAAY,GACrB,mBAAmB,CAWrB;AAED,MAAM,MAAM,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,qBAAqB,CAC9F,OAAO,EACP,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,CAC5B,CAAC;AAEF,wBAAgB,KAAK,CACnB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,uBAAuB,CAAC,MAAM,GAAG,MAAM,CAAC,GAC/C,2BAA2B,CAAC,MAAM,CAAC,CAyBrC"}
|
|
@@ -4,6 +4,7 @@ import { getDescriptorMapFromWallet, getPolicyForEnv } from '../../descriptor';
|
|
|
4
4
|
import { fromExtendedAddressFormatToScript, toExtendedAddressFormat } from '../recipient';
|
|
5
5
|
import { outputDifferencesWithExpected } from '../outputDifference';
|
|
6
6
|
import { sumValues, toWasmPsbt } from '../../wasmUtil';
|
|
7
|
+
import { decodeDescriptorPsbt } from '../decode';
|
|
7
8
|
function toRecipientOutput(recipient, coinName) {
|
|
8
9
|
return {
|
|
9
10
|
address: recipient.address,
|
|
@@ -65,14 +66,7 @@ export function parse(coin, wallet, params) {
|
|
|
65
66
|
if (!recipients) {
|
|
66
67
|
throw new Error('recipients is required');
|
|
67
68
|
}
|
|
68
|
-
const
|
|
69
|
-
let wasmPsbt;
|
|
70
|
-
try {
|
|
71
|
-
wasmPsbt = toWasmPsbt(psbt);
|
|
72
|
-
}
|
|
73
|
-
catch (e) {
|
|
74
|
-
throw new Error(`expected psbt to be a wasm-utxo or utxo-lib PSBT: ${e instanceof Error ? e.message : e}`);
|
|
75
|
-
}
|
|
69
|
+
const wasmPsbt = decodeDescriptorPsbt(params.txPrebuild);
|
|
76
70
|
const walletKeys = toBip32Triple(keychains);
|
|
77
71
|
const descriptorMap = getDescriptorMapFromWallet(wallet, walletKeys, getPolicyForEnv(params.wallet.bitgo.env));
|
|
78
72
|
return {
|
|
@@ -83,4 +77,4 @@ export function parse(coin, wallet, params) {
|
|
|
83
77
|
needsCustomChangeKeySignatureVerification: false,
|
|
84
78
|
};
|
|
85
79
|
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci9wYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVEsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUkxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQWdDLE1BQU0scUJBQXFCLENBQUM7QUFFbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFwRSxTQUFTLGlCQUFpQixDQUFDLFNBQWdDLEVBQUUsUUFBc0I7SUFDakYsT0FBTztRQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztRQUMxQixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDcEUsTUFBTSxFQUFFLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ3RFLFFBQVEsRUFBRSxTQUFTLEVBQUUsa0NBQWtDO0tBQ3hELENBQUM7QUFDSixDQUFDO0FBUUQsU0FBUyxvQkFBb0IsQ0FDM0IsSUFBVSxFQUNWLGFBQTZDLEVBQzdDLGdCQUFtQyxFQUNuQyxRQUFzQjtJQUV0QixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRSxN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QUFDLENBQUM7SUFDL0csT0FBTztRQUNMLEdBQUcsc0NBQXNDLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN6RixTQUFTO1FBQ1QsYUFBYSxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDN0MsWUFBWSxFQUFFLFNBQVM7UUFDdkIseUNBQXlDLEVBQUUsS0FBSztLQUNqRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFuc2FjdGlvblJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBQc2J0LCBkZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBCYXNlT3V0cHV0LCBCYXNlUGFyc2VkVHJhbnNhY3Rpb24sIEJhc2VQYXJzZWRUcmFuc2FjdGlvbk91dHB1dHMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRLZXlTaWduYXR1cmVzLCB0b0JpcDMyVHJpcGxlLCBVdHhvTmFtZWRLZXljaGFpbnMgfSBmcm9tICcuLi8uLi9rZXljaGFpbnMnO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgSURlc2NyaXB0b3JXYWxsZXQgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9yL2Rlc2NyaXB0b3JXYWxsZXQnO1xuaW1wb3J0IHsgZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0LCB0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdCB9IGZyb20gJy4uL3JlY2lwaWVudCc7XG5pbXBvcnQgeyBvdXRwdXREaWZmZXJlbmNlc1dpdGhFeHBlY3RlZCwgT3V0cHV0RGlmZmVyZW5jZVdpdGhFeHBlY3RlZCB9IGZyb20gJy4uL291dHB1dERpZmZlcmVuY2UnO1xuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vbmFtZXMnO1xuaW1wb3J0IHsgc3VtVmFsdWVzLCB0b1dhc21Qc2J0LCBVdHhvTGliUHNidCB9IGZyb20gJy4uLy4uL3dhc21VdGlsJztcblxudHlwZSBQYXJzZWRPdXRwdXQgPSBPbWl0PGRlc2NyaXB0b3JXYWxsZXQuUGFyc2VkT3V0cHV0LCAnc2NyaXB0Jz4gJiB7IHNjcmlwdDogQnVmZmVyIH07XG5cbmV4cG9ydCB0eXBlIFJlY2lwaWVudE91dHB1dCA9IE9taXQ8UGFyc2VkT3V0cHV0LCAndmFsdWUnPiAmIHtcbiAgdmFsdWU6IGJpZ2ludCB8ICdtYXgnO1xufTtcblxuZnVuY3Rpb24gdG9SZWNpcGllbnRPdXRwdXQocmVjaXBpZW50OiBJVHJhbnNhY3Rpb25SZWNpcGllbnQsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBSZWNpcGllbnRPdXRwdXQge1xuICByZXR1cm4ge1xuICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgIHZhbHVlOiByZWNpcGllbnQuYW1vdW50ID09PSAnbWF4JyA/ICdtYXgnIDogQmlnSW50KHJlY2lwaWVudC5hbW91bnQpLFxuICAgIHNjcmlwdDogZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KHJlY2lwaWVudC5hZGRyZXNzLCBjb2luTmFtZSksXG4gICAgc2NyaXB0SWQ6IHVuZGVmaW5lZCwgLy8gUmVjaXBpZW50cyBhcmUgZXh0ZXJuYWwgb3V0cHV0c1xuICB9O1xufVxuXG4vLyBUT0RPKEJUQy0xNjk3KTogYWxsb3cgb3V0cHV0cyB3aXRoIGB2YWx1ZTogJ21heCdgIGhlcmVcbnR5cGUgUGFyc2VkT3V0cHV0cyA9IE91dHB1dERpZmZlcmVuY2VXaXRoRXhwZWN0ZWQ8UGFyc2VkT3V0cHV0LCBSZWNpcGllbnRPdXRwdXQ+ICYge1xuICBvdXRwdXRzOiBQYXJzZWRPdXRwdXRbXTtcbiAgY2hhbmdlT3V0cHV0czogUGFyc2VkT3V0cHV0W107XG59O1xuXG5mdW5jdGlvbiBwYXJzZU91dHB1dHNXaXRoUHNidChcbiAgcHNidDogUHNidCxcbiAgZGVzY3JpcHRvck1hcDogZGVzY3JpcHRvcldhbGxldC5EZXNjcmlwdG9yTWFwLFxuICByZWNpcGllbnRPdXRwdXRzOiBSZWNpcGllbnRPdXRwdXRbXSxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogUGFyc2VkT3V0cHV0cyB7XG4gIGNvbnN0IHBhcnNlZCA9IGRlc2NyaXB0b3JXYWxsZXQucGFyc2UocHNidCwgZGVzY3JpcHRvck1hcCwgY29pbk5hbWUpO1xuICBjb25zdCBvdXRwdXRzOiBQYXJzZWRPdXRwdXRbXSA9IHBhcnNlZC5vdXRwdXRzLm1hcCgob3V0cHV0KSA9PiAoe1xuICAgIC4uLm91dHB1dCxcbiAgICBzY3JpcHQ6IEJ1ZmZlci5mcm9tKG91dHB1dC5zY3JpcHQpLFxuICB9KSk7XG4gIGNvbnN0IGNoYW5nZU91dHB1dHMgPSBvdXRwdXRzLmZpbHRlcigobykgPT4gby5zY3JpcHRJZCAhPT0gdW5kZWZpbmVkKTtcbiAgY29uc3Qgb3V0cHV0RGlmZnMgPSBvdXRwdXREaWZmZXJlbmNlc1dpdGhFeHBlY3RlZChvdXRwdXRzLCByZWNpcGllbnRPdXRwdXRzKTtcbiAgcmV0dXJuIHtcbiAgICBvdXRwdXRzLFxuICAgIGNoYW5nZU91dHB1dHMsXG4gICAgLi4ub3V0cHV0RGlmZnMsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRvQmFzZU91dHB1dHMob3V0cHV0czogUGFyc2VkT3V0cHV0W10sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCYXNlT3V0cHV0PGJpZ2ludD5bXTtcbmZ1bmN0aW9uIHRvQmFzZU91dHB1dHMob3V0cHV0czogUmVjaXBpZW50T3V0cHV0W10sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCYXNlT3V0cHV0PGJpZ2ludCB8ICdtYXgnPltdO1xuZnVuY3Rpb24gdG9CYXNlT3V0cHV0cyhcbiAgb3V0cHV0czogKFBhcnNlZE91dHB1dCB8IFJlY2lwaWVudE91dHB1dClbXSxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogQmFzZU91dHB1dDxiaWdpbnQgfCAnbWF4Jz5bXSB7XG4gIHJldHVybiBvdXRwdXRzLm1hcChcbiAgICAobyk6IEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+ID0+ICh7XG4gICAgICBhZGRyZXNzOiB0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdChvLnNjcmlwdCwgY29pbk5hbWUpLFxuICAgICAgYW1vdW50OiBvLnZhbHVlID09PSAnbWF4JyA/ICdtYXgnIDogQmlnSW50KG8udmFsdWUpLFxuICAgICAgZXh0ZXJuYWw6IG8uc2NyaXB0SWQgPT09IHVuZGVmaW5lZCxcbiAgICB9KVxuICApO1xufVxuXG5leHBvcnQgdHlwZSBQYXJzZWRPdXRwdXRzQmlnSW50ID0gQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0czxiaWdpbnQsIEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+PjtcblxuZnVuY3Rpb24gdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzKFxuICB7IG91dHB1dHMsIGNoYW5nZU91dHB1dHMsIGV4cGxpY2l0T3V0cHV0cywgaW1wbGljaXRPdXRwdXRzLCBtaXNzaW5nT3V0cHV0cyB9OiBQYXJzZWRPdXRwdXRzLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiBQYXJzZWRPdXRwdXRzQmlnSW50IHtcbiAgY29uc3QgZXhwbGljaXRFeHRlcm5hbE91dHB1dHMgPSBleHBsaWNpdE91dHB1dHMuZmlsdGVyKChvKSA9PiBvLnNjcmlwdElkID09PSB1bmRlZmluZWQpO1xuICBjb25zdCBpbXBsaWNpdEV4dGVybmFsT3V0cHV0cyA9IGltcGxpY2l0T3V0cHV0cy5maWx0ZXIoKG8pID0+IG8uc2NyaXB0SWQgPT09IHVuZGVmaW5lZCk7XG4gIHJldHVybiB7XG4gICAgb3V0cHV0czogdG9CYXNlT3V0cHV0cyhvdXRwdXRzLCBjb2luTmFtZSksXG4gICAgY2hhbmdlT3V0cHV0czogdG9CYXNlT3V0cHV0cyhjaGFuZ2VPdXRwdXRzLCBjb2luTmFtZSksXG4gICAgZXhwbGljaXRFeHRlcm5hbE91dHB1dHM6IHRvQmFzZU91dHB1dHMoZXhwbGljaXRFeHRlcm5hbE91dHB1dHMsIGNvaW5OYW1lKSxcbiAgICBleHBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IHN1bVZhbHVlcyhleHBsaWNpdEV4dGVybmFsT3V0cHV0cyksXG4gICAgaW1wbGljaXRFeHRlcm5hbE91dHB1dHM6IHRvQmFzZU91dHB1dHMoaW1wbGljaXRFeHRlcm5hbE91dHB1dHMsIGNvaW5OYW1lKSxcbiAgICBpbXBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IHN1bVZhbHVlcyhpbXBsaWNpdEV4dGVybmFsT3V0cHV0cyksXG4gICAgbWlzc2luZ091dHB1dHM6IHRvQmFzZU91dHB1dHMobWlzc2luZ091dHB1dHMsIGNvaW5OYW1lKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0c0Zyb21Qc2J0KFxuICBwc2J0OiBQc2J0IHwgVXR4b0xpYlBzYnQgfCBVaW50OEFycmF5LFxuICBkZXNjcmlwdG9yTWFwOiBkZXNjcmlwdG9yV2FsbGV0LkRlc2NyaXB0b3JNYXAsXG4gIHJlY2lwaWVudHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiBQYXJzZWRPdXRwdXRzQmlnSW50IHtcbiAgY29uc3Qgd2FzbVBzYnQgPSB0b1dhc21Qc2J0KHBzYnQpO1xuICByZXR1cm4gdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzKFxuICAgIHBhcnNlT3V0cHV0c1dpdGhQc2J0KFxuICAgICAgd2FzbVBzYnQsXG4gICAgICBkZXNjcmlwdG9yTWFwLFxuICAgICAgcmVjaXBpZW50cy5tYXAoKHIpID0+IHRvUmVjaXBpZW50T3V0cHV0KHIsIGNvaW5OYW1lKSksXG4gICAgICBjb2luTmFtZVxuICAgICksXG4gICAgY29pbk5hbWVcbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkRGVzY3JpcHRvclRyYW5zYWN0aW9uPFRBbW91bnQgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+ID0gQmFzZVBhcnNlZFRyYW5zYWN0aW9uPFxuICBUQW1vdW50LFxuICBCYXNlT3V0cHV0PFRBbW91bnQgfCAnbWF4Jz5cbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgd2FsbGV0OiBJRGVzY3JpcHRvcldhbGxldCxcbiAgcGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9uczxudW1iZXIgfCBiaWdpbnQ+XG4pOiBQYXJzZWREZXNjcmlwdG9yVHJhbnNhY3Rpb248YmlnaW50PiB7XG4gIGlmIChwYXJhbXMudHhQYXJhbXMuYWxsb3dFeHRlcm5hbENoYW5nZUFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2FsbG93RXh0ZXJuYWxDaGFuZ2VBZGRyZXNzIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGRlc2NyaXB0b3Igd2FsbGV0cycpO1xuICB9XG4gIGlmIChwYXJhbXMudHhQYXJhbXMuY2hhbmdlQWRkcmVzcykge1xuICAgIHRocm93IG5ldyBFcnJvcignY2hhbmdlQWRkcmVzcyBpcyBub3Qgc3VwcG9ydGVkIGZvciBkZXNjcmlwdG9yIHdhbGxldHMnKTtcbiAgfVxuICBjb25zdCBrZXljaGFpbnMgPSBwYXJhbXMudmVyaWZpY2F0aW9uPy5rZXljaGFpbnM7XG4gIGlmICgha2V5Y2hhaW5zIHx8ICFVdHhvTmFtZWRLZXljaGFpbnMuaXMoa2V5Y2hhaW5zKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigna2V5Y2hhaW4gaXMgcmVxdWlyZWQgZm9yIGRlc2NyaXB0b3Igd2FsbGV0cycpO1xuICB9XG4gIGNvbnN0IHsgcmVjaXBpZW50cyB9ID0gcGFyYW1zLnR4UGFyYW1zO1xuICBpZiAoIXJlY2lwaWVudHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlY2lwaWVudHMgaXMgcmVxdWlyZWQnKTtcbiAgfVxuICBjb25zdCBwc2J0ID0gY29pbi5kZWNvZGVUcmFuc2FjdGlvbkZyb21QcmVidWlsZChwYXJhbXMudHhQcmVidWlsZCk7XG4gIGxldCB3YXNtUHNidDogUHNidDtcbiAgdHJ5IHtcbiAgICB3YXNtUHNidCA9IHRvV2FzbVBzYnQocHNidCBhcyBQc2J0IHwgVXR4b0xpYlBzYnQgfCBVaW50OEFycmF5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgZXhwZWN0ZWQgcHNidCB0byBiZSBhIHdhc20tdXR4byBvciB1dHhvLWxpYiBQU0JUOiAke2UgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IGV9YCk7XG4gIH1cbiAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoa2V5Y2hhaW5zKTtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KHBhcmFtcy53YWxsZXQuYml0Z28uZW52KSk7XG4gIHJldHVybiB7XG4gICAgLi4udG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzRnJvbVBzYnQod2FzbVBzYnQsIGRlc2NyaXB0b3JNYXAsIHJlY2lwaWVudHMsIGNvaW4ubmFtZSksXG4gICAga2V5Y2hhaW5zLFxuICAgIGtleVNpZ25hdHVyZXM6IGdldEtleVNpZ25hdHVyZXMod2FsbGV0KSA/PyB7fSxcbiAgICBjdXN0b21DaGFuZ2U6IHVuZGVmaW5lZCxcbiAgICBuZWVkc0N1c3RvbUNoYW5nZUtleVNpZ25hdHVyZVZlcmlmaWNhdGlvbjogZmFsc2UsXG4gIH07XG59XG4iXX0=
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci9wYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVEsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUkxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQWdDLE1BQU0scUJBQXFCLENBQUM7QUFFbEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFRakQsU0FBUyxpQkFBaUIsQ0FBQyxTQUFnQyxFQUFFLFFBQXNCO0lBQ2pGLE9BQU87UUFDTCxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87UUFDMUIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sRUFBRSxpQ0FBaUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUN0RSxRQUFRLEVBQUUsU0FBUyxFQUFFLGtDQUFrQztLQUN4RCxDQUFDO0FBQ0osQ0FBQztBQVFELFNBQVMsb0JBQW9CLENBQzNCLElBQVUsRUFDVixhQUE2QyxFQUM3QyxnQkFBbUMsRUFDbkMsUUFBc0I7SUFFdEIsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFD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QztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVHJhbnNhY3Rpb25SZWNpcGllbnQgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgUHNidCwgZGVzY3JpcHRvcldhbGxldCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBQYXJzZVRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uLy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgQmFzZU91dHB1dCwgQmFzZVBhcnNlZFRyYW5zYWN0aW9uLCBCYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0S2V5U2lnbmF0dXJlcywgdG9CaXAzMlRyaXBsZSwgVXR4b05hbWVkS2V5Y2hhaW5zIH0gZnJvbSAnLi4vLi4va2V5Y2hhaW5zJztcbmltcG9ydCB7IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0LCBnZXRQb2xpY3lGb3JFbnYgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IElEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvci9kZXNjcmlwdG9yV2FsbGV0JztcbmltcG9ydCB7IGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdCwgdG9FeHRlbmRlZEFkZHJlc3NGb3JtYXQgfSBmcm9tICcuLi9yZWNpcGllbnQnO1xuaW1wb3J0IHsgb3V0cHV0RGlmZmVyZW5jZXNXaXRoRXhwZWN0ZWQsIE91dHB1dERpZmZlcmVuY2VXaXRoRXhwZWN0ZWQgfSBmcm9tICcuLi9vdXRwdXREaWZmZXJlbmNlJztcbmltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcbmltcG9ydCB7IHN1bVZhbHVlcywgdG9XYXNtUHNidCwgVXR4b0xpYlBzYnQgfSBmcm9tICcuLi8uLi93YXNtVXRpbCc7XG5pbXBvcnQgeyBkZWNvZGVEZXNjcmlwdG9yUHNidCB9IGZyb20gJy4uL2RlY29kZSc7XG5cbnR5cGUgUGFyc2VkT3V0cHV0ID0gT21pdDxkZXNjcmlwdG9yV2FsbGV0LlBhcnNlZE91dHB1dCwgJ3NjcmlwdCc+ICYgeyBzY3JpcHQ6IEJ1ZmZlciB9O1xuXG5leHBvcnQgdHlwZSBSZWNpcGllbnRPdXRwdXQgPSBPbWl0PFBhcnNlZE91dHB1dCwgJ3ZhbHVlJz4gJiB7XG4gIHZhbHVlOiBiaWdpbnQgfCAnbWF4Jztcbn07XG5cbmZ1bmN0aW9uIHRvUmVjaXBpZW50T3V0cHV0KHJlY2lwaWVudDogSVRyYW5zYWN0aW9uUmVjaXBpZW50LCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogUmVjaXBpZW50T3V0cHV0IHtcbiAgcmV0dXJuIHtcbiAgICBhZGRyZXNzOiByZWNpcGllbnQuYWRkcmVzcyxcbiAgICB2YWx1ZTogcmVjaXBpZW50LmFtb3VudCA9PT0gJ21heCcgPyAnbWF4JyA6IEJpZ0ludChyZWNpcGllbnQuYW1vdW50KSxcbiAgICBzY3JpcHQ6IGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdChyZWNpcGllbnQuYWRkcmVzcywgY29pbk5hbWUpLFxuICAgIHNjcmlwdElkOiB1bmRlZmluZWQsIC8vIFJlY2lwaWVudHMgYXJlIGV4dGVybmFsIG91dHB1dHNcbiAgfTtcbn1cblxuLy8gVE9ETyhCVEMtMTY5Nyk6IGFsbG93IG91dHB1dHMgd2l0aCBgdmFsdWU6ICdtYXgnYCBoZXJlXG50eXBlIFBhcnNlZE91dHB1dHMgPSBPdXRwdXREaWZmZXJlbmNlV2l0aEV4cGVjdGVkPFBhcnNlZE91dHB1dCwgUmVjaXBpZW50T3V0cHV0PiAmIHtcbiAgb3V0cHV0czogUGFyc2VkT3V0cHV0W107XG4gIGNoYW5nZU91dHB1dHM6IFBhcnNlZE91dHB1dFtdO1xufTtcblxuZnVuY3Rpb24gcGFyc2VPdXRwdXRzV2l0aFBzYnQoXG4gIHBzYnQ6IFBzYnQsXG4gIGRlc2NyaXB0b3JNYXA6IGRlc2NyaXB0b3JXYWxsZXQuRGVzY3JpcHRvck1hcCxcbiAgcmVjaXBpZW50T3V0cHV0czogUmVjaXBpZW50T3V0cHV0W10sXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWVcbik6IFBhcnNlZE91dHB1dHMge1xuICBjb25zdCBwYXJzZWQgPSBkZXNjcmlwdG9yV2FsbGV0LnBhcnNlKHBzYnQsIGRlc2NyaXB0b3JNYXAsIGNvaW5OYW1lKTtcbiAgY29uc3Qgb3V0cHV0czogUGFyc2VkT3V0cHV0W10gPSBwYXJzZWQub3V0cHV0cy5tYXAoKG91dHB1dCkgPT4gKHtcbiAgICAuLi5vdXRwdXQsXG4gICAgc2NyaXB0OiBCdWZmZXIuZnJvbShvdXRwdXQuc2NyaXB0KSxcbiAgfSkpO1xuICBjb25zdCBjaGFuZ2VPdXRwdXRzID0gb3V0cHV0cy5maWx0ZXIoKG8pID0+IG8uc2NyaXB0SWQgIT09IHVuZGVmaW5lZCk7XG4gIGNvbnN0IG91dHB1dERpZmZzID0gb3V0cHV0RGlmZmVyZW5jZXNXaXRoRXhwZWN0ZWQob3V0cHV0cywgcmVjaXBpZW50T3V0cHV0cyk7XG4gIHJldHVybiB7XG4gICAgb3V0cHV0cyxcbiAgICBjaGFuZ2VPdXRwdXRzLFxuICAgIC4uLm91dHB1dERpZmZzLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0b0Jhc2VPdXRwdXRzKG91dHB1dHM6IFBhcnNlZE91dHB1dFtdLCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogQmFzZU91dHB1dDxiaWdpbnQ+W107XG5mdW5jdGlvbiB0b0Jhc2VPdXRwdXRzKG91dHB1dHM6IFJlY2lwaWVudE91dHB1dFtdLCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogQmFzZU91dHB1dDxiaWdpbnQgfCAnbWF4Jz5bXTtcbmZ1bmN0aW9uIHRvQmFzZU91dHB1dHMoXG4gIG91dHB1dHM6IChQYXJzZWRPdXRwdXQgfCBSZWNpcGllbnRPdXRwdXQpW10sXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWVcbik6IEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+W10ge1xuICByZXR1cm4gb3V0cHV0cy5tYXAoXG4gICAgKG8pOiBCYXNlT3V0cHV0PGJpZ2ludCB8ICdtYXgnPiA9PiAoe1xuICAgICAgYWRkcmVzczogdG9FeHRlbmRlZEFkZHJlc3NGb3JtYXQoby5zY3JpcHQsIGNvaW5OYW1lKSxcbiAgICAgIGFtb3VudDogby52YWx1ZSA9PT0gJ21heCcgPyAnbWF4JyA6IEJpZ0ludChvLnZhbHVlKSxcbiAgICAgIGV4dGVybmFsOiBvLnNjcmlwdElkID09PSB1bmRlZmluZWQsXG4gICAgfSlcbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkT3V0cHV0c0JpZ0ludCA9IEJhc2VQYXJzZWRUcmFuc2FjdGlvbk91dHB1dHM8YmlnaW50LCBCYXNlT3V0cHV0PGJpZ2ludCB8ICdtYXgnPj47XG5cbmZ1bmN0aW9uIHRvQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0cyhcbiAgeyBvdXRwdXRzLCBjaGFuZ2VPdXRwdXRzLCBleHBsaWNpdE91dHB1dHMsIGltcGxpY2l0T3V0cHV0cywgbWlzc2luZ091dHB1dHMgfTogUGFyc2VkT3V0cHV0cyxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogUGFyc2VkT3V0cHV0c0JpZ0ludCB7XG4gIGNvbnN0IGV4cGxpY2l0RXh0ZXJuYWxPdXRwdXRzID0gZXhwbGljaXRPdXRwdXRzLmZpbHRlcigobykgPT4gby5zY3JpcHRJZCA9PT0gdW5kZWZpbmVkKTtcbiAgY29uc3QgaW1wbGljaXRFeHRlcm5hbE91dHB1dHMgPSBpbXBsaWNpdE91dHB1dHMuZmlsdGVyKChvKSA9PiBvLnNjcmlwdElkID09PSB1bmRlZmluZWQpO1xuICByZXR1cm4ge1xuICAgIG91dHB1dHM6IHRvQmFzZU91dHB1dHMob3V0cHV0cywgY29pbk5hbWUpLFxuICAgIGNoYW5nZU91dHB1dHM6IHRvQmFzZU91dHB1dHMoY2hhbmdlT3V0cHV0cywgY29pbk5hbWUpLFxuICAgIGV4cGxpY2l0RXh0ZXJuYWxPdXRwdXRzOiB0b0Jhc2VPdXRwdXRzKGV4cGxpY2l0RXh0ZXJuYWxPdXRwdXRzLCBjb2luTmFtZSksXG4gICAgZXhwbGljaXRFeHRlcm5hbFNwZW5kQW1vdW50OiBzdW1WYWx1ZXMoZXhwbGljaXRFeHRlcm5hbE91dHB1dHMpLFxuICAgIGltcGxpY2l0RXh0ZXJuYWxPdXRwdXRzOiB0b0Jhc2VPdXRwdXRzKGltcGxpY2l0RXh0ZXJuYWxPdXRwdXRzLCBjb2luTmFtZSksXG4gICAgaW1wbGljaXRFeHRlcm5hbFNwZW5kQW1vdW50OiBzdW1WYWx1ZXMoaW1wbGljaXRFeHRlcm5hbE91dHB1dHMpLFxuICAgIG1pc3NpbmdPdXRwdXRzOiB0b0Jhc2VPdXRwdXRzKG1pc3NpbmdPdXRwdXRzLCBjb2luTmFtZSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2VQYXJzZWRUcmFuc2FjdGlvbk91dHB1dHNGcm9tUHNidChcbiAgcHNidDogUHNidCB8IFV0eG9MaWJQc2J0IHwgVWludDhBcnJheSxcbiAgZGVzY3JpcHRvck1hcDogZGVzY3JpcHRvcldhbGxldC5EZXNjcmlwdG9yTWFwLFxuICByZWNpcGllbnRzOiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXSxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogUGFyc2VkT3V0cHV0c0JpZ0ludCB7XG4gIGNvbnN0IHdhc21Qc2J0ID0gdG9XYXNtUHNidChwc2J0KTtcbiAgcmV0dXJuIHRvQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0cyhcbiAgICBwYXJzZU91dHB1dHNXaXRoUHNidChcbiAgICAgIHdhc21Qc2J0LFxuICAgICAgZGVzY3JpcHRvck1hcCxcbiAgICAgIHJlY2lwaWVudHMubWFwKChyKSA9PiB0b1JlY2lwaWVudE91dHB1dChyLCBjb2luTmFtZSkpLFxuICAgICAgY29pbk5hbWVcbiAgICApLFxuICAgIGNvaW5OYW1lXG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnNlZERlc2NyaXB0b3JUcmFuc2FjdGlvbjxUQW1vdW50IGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PiA9IEJhc2VQYXJzZWRUcmFuc2FjdGlvbjxcbiAgVEFtb3VudCxcbiAgQmFzZU91dHB1dDxUQW1vdW50IHwgJ21heCc+XG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UoXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIHdhbGxldDogSURlc2NyaXB0b3JXYWxsZXQsXG4gIHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnM8bnVtYmVyIHwgYmlnaW50PlxuKTogUGFyc2VkRGVzY3JpcHRvclRyYW5zYWN0aW9uPGJpZ2ludD4ge1xuICBpZiAocGFyYW1zLnR4UGFyYW1zLmFsbG93RXh0ZXJuYWxDaGFuZ2VBZGRyZXNzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdhbGxvd0V4dGVybmFsQ2hhbmdlQWRkcmVzcyBpcyBub3Qgc3VwcG9ydGVkIGZvciBkZXNjcmlwdG9yIHdhbGxldHMnKTtcbiAgfVxuICBpZiAocGFyYW1zLnR4UGFyYW1zLmNoYW5nZUFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NoYW5nZUFkZHJlc3MgaXMgbm90IHN1cHBvcnRlZCBmb3IgZGVzY3JpcHRvciB3YWxsZXRzJyk7XG4gIH1cbiAgY29uc3Qga2V5Y2hhaW5zID0gcGFyYW1zLnZlcmlmaWNhdGlvbj8ua2V5Y2hhaW5zO1xuICBpZiAoIWtleWNoYWlucyB8fCAhVXR4b05hbWVkS2V5Y2hhaW5zLmlzKGtleWNoYWlucykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2tleWNoYWluIGlzIHJlcXVpcmVkIGZvciBkZXNjcmlwdG9yIHdhbGxldHMnKTtcbiAgfVxuICBjb25zdCB7IHJlY2lwaWVudHMgfSA9IHBhcmFtcy50eFBhcmFtcztcbiAgaWYgKCFyZWNpcGllbnRzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdyZWNpcGllbnRzIGlzIHJlcXVpcmVkJyk7XG4gIH1cbiAgY29uc3Qgd2FzbVBzYnQgPSBkZWNvZGVEZXNjcmlwdG9yUHNidChwYXJhbXMudHhQcmVidWlsZCk7XG4gIGNvbnN0IHdhbGxldEtleXMgPSB0b0JpcDMyVHJpcGxlKGtleWNoYWlucyk7XG4gIGNvbnN0IGRlc2NyaXB0b3JNYXAgPSBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCh3YWxsZXQsIHdhbGxldEtleXMsIGdldFBvbGljeUZvckVudihwYXJhbXMud2FsbGV0LmJpdGdvLmVudikpO1xuICByZXR1cm4ge1xuICAgIC4uLnRvQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0c0Zyb21Qc2J0KHdhc21Qc2J0LCBkZXNjcmlwdG9yTWFwLCByZWNpcGllbnRzLCBjb2luLm5hbWUpLFxuICAgIGtleWNoYWlucyxcbiAgICBrZXlTaWduYXR1cmVzOiBnZXRLZXlTaWduYXR1cmVzKHdhbGxldCkgPz8ge30sXG4gICAgY3VzdG9tQ2hhbmdlOiB1bmRlZmluZWQsXG4gICAgbmVlZHNDdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVWZXJpZmljYXRpb246IGZhbHNlLFxuICB9O1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyTransaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/descriptor/verifyTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAoC,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"verifyTransaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/descriptor/verifyTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAoC,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,mBAAoB,SAAQ,eAAe;IACnC,cAAc,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBAA5C,cAAc,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;CAGhE;AAED,qBAAa,4BAA6B,SAAQ,eAAe;IAC5C,uBAAuB,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;gBAArD,uBAAuB,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE;CAGzE;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IACxC,MAAM,EAAE,eAAe,EAAE;gBAAzB,MAAM,EAAE,eAAe,EAAE;CAG7C;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,4BAA4B,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,GAC9E,IAAI,CAcN;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,EACrC,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAC3C,UAAU,EAAE,qBAAqB,EAAE,EACnC,QAAQ,EAAE,YAAY,GACrB,IAAI,CAEN;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACrE,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC,EACzC,aAAa,EAAE,gBAAgB,CAAC,aAAa,GAC5C,OAAO,CAAC,OAAO,CAAC,CAsBlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TxIntentMismatchError } from '@bitgo/sdk-core';
|
|
2
|
-
import {
|
|
2
|
+
import { decodeDescriptorPsbt } from '../decode';
|
|
3
3
|
import { toBaseParsedTransactionOutputsFromPsbt } from './parse';
|
|
4
4
|
export class ValidationError extends Error {
|
|
5
5
|
constructor(message) {
|
|
@@ -55,10 +55,9 @@ export function assertValidTransaction(psbt, descriptors, recipients, coinName)
|
|
|
55
55
|
* @throws {TxIntentMismatchError} if transaction validation fails
|
|
56
56
|
*/
|
|
57
57
|
export async function verifyTransaction(coin, params, descriptorMap) {
|
|
58
|
-
const tx = coin.decodeTransactionFromPrebuild(params.txPrebuild);
|
|
59
58
|
let psbt;
|
|
60
59
|
try {
|
|
61
|
-
psbt =
|
|
60
|
+
psbt = decodeDescriptorPsbt(params.txPrebuild);
|
|
62
61
|
}
|
|
63
62
|
catch (e) {
|
|
64
63
|
const txExplanation = await TxIntentMismatchError.tryGetTxExplanation(coin, params.txPrebuild);
|
|
@@ -68,4 +67,4 @@ export async function verifyTransaction(coin, params, descriptorMap) {
|
|
|
68
67
|
assertValidTransaction(psbt, descriptorMap, params.txParams.recipients ?? [], coin.name);
|
|
69
68
|
return true;
|
|
70
69
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5VHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci92ZXJpZnlUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlCLHFCQUFxQixFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFPMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVqRSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxLQUFLO0lBQ3hDLFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUFDdEQsWUFBbUIsY0FBNEM7UUFDN0QsS0FBSyxDQUFDLDBCQUEwQixjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUR6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7SUFFL0QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGVBQWU7SUFDL0QsWUFBbUIsdUJBQXFEO1FBQ3RFLEtBQUssQ0FBQywrQ0FBK0MsdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUR2RSw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQThCO0lBRXhFLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxlQUFlO0lBQzNELFlBQW1CLE1BQXlCO1FBQzFDLEtBQUssQ0FBQyxxQ0FBcUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFENUMsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7SUFFNUMsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxhQUErRTtJQUUvRSxNQUFNLE1BQU0sR0FBc0IsRUFBRSxDQUFDO0lBQ3JDLElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckQsc0RBQXNEO1FBQ3RELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEIsaUNBQWlDO1FBQ2pDLG9DQUFvQztRQUNwQyxNQUFNLElBQUksd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLElBQXFDLEVBQ3JDLFdBQTJDLEVBQzNDLFVBQW1DLEVBQ25DLFFBQXNCO0lBRXRCLDhCQUE4QixDQUFDLHNDQUFzQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDbEgsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsSUFBc0IsRUFDdEIsTUFBeUMsRUFDekMsYUFBNkM7SUFFN0MsSUFBSSxJQUFVLENBQUM7SUFDZixJQUFJLENBQUM7UUFDSCxJQUFJLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxhQUFhLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FDbkUsSUFBNEIsRUFDNUIsTUFBTSxDQUFDLFVBQVUsQ0FDbEIsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxNQUFNLElBQUkscUJBQXFCLENBQzdCLGdDQUFnQyxXQUFXLEVBQUUsRUFDN0MsTUFBTSxDQUFDLEtBQUssRUFDWixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFDakIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQ3ZCLGFBQWEsQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV6RixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVHJhbnNhY3Rpb25SZWNpcGllbnQsIFR4SW50ZW50TWlzbWF0Y2hFcnJvciwgSUJhc2VDb2luIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB0eXBlIHsgUHNidCwgZGVzY3JpcHRvcldhbGxldCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi8uLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IEJhc2VPdXRwdXQsIEJhc2VQYXJzZWRUcmFuc2FjdGlvbk91dHB1dHMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5pbXBvcnQgeyBVdHhvTGliUHNidCB9IGZyb20gJy4uLy4uL3dhc21VdGlsJztcbmltcG9ydCB7IGRlY29kZURlc2NyaXB0b3JQc2J0IH0gZnJvbSAnLi4vZGVjb2RlJztcblxuaW1wb3J0IHsgdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzRnJvbVBzYnQgfSBmcm9tICcuL3BhcnNlJztcblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVycm9yTWlzc2luZ091dHB1dHMgZXh0ZW5kcyBWYWxpZGF0aW9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWlzc2luZ091dHB1dHM6IEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+W10pIHtcbiAgICBzdXBlcihgbWlzc2luZyBvdXRwdXRzIChjb3VudD0ke21pc3NpbmdPdXRwdXRzLmxlbmd0aH0pYCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVycm9ySW1wbGljaXRFeHRlcm5hbE91dHB1dHMgZXh0ZW5kcyBWYWxpZGF0aW9uRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW1wbGljaXRFeHRlcm5hbE91dHB1dHM6IEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+W10pIHtcbiAgICBzdXBlcihgdW5leHBlY3RlZCBpbXBsaWNpdCBleHRlcm5hbCBvdXRwdXRzIChjb3VudD0ke2ltcGxpY2l0RXh0ZXJuYWxPdXRwdXRzLmxlbmd0aH0pYCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0ZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIFZhbGlkYXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcltdKSB7XG4gICAgc3VwZXIoYGFnZ3JlZ2F0ZSB2YWxpZGF0aW9uIGVycm9yIChjb3VudD0ke2Vycm9ycy5sZW5ndGh9KWApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRFeHBlY3RlZE91dHB1dERpZmZlcmVuY2UoXG4gIHBhcnNlZE91dHB1dHM6IEJhc2VQYXJzZWRUcmFuc2FjdGlvbk91dHB1dHM8YmlnaW50LCBCYXNlT3V0cHV0PGJpZ2ludCB8ICdtYXgnPj5cbik6IHZvaWQge1xuICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcltdID0gW107XG4gIGlmIChwYXJzZWRPdXRwdXRzLm1pc3NpbmdPdXRwdXRzLmxlbmd0aCA+IDApIHtcbiAgICBlcnJvcnMucHVzaChuZXcgRXJyb3JNaXNzaW5nT3V0cHV0cyhwYXJzZWRPdXRwdXRzLm1pc3NpbmdPdXRwdXRzKSk7XG4gIH1cbiAgaWYgKHBhcnNlZE91dHB1dHMuaW1wbGljaXRFeHRlcm5hbE91dHB1dHMubGVuZ3RoID4gMCkge1xuICAgIC8vIEZJWE1FOiBmb3IgcGF5Z28gd2UgbmVlZCB0byByZWxheCB0aGlzIGEgbGl0dGxlIGJpdFxuICAgIGVycm9ycy5wdXNoKG5ldyBFcnJvckltcGxpY2l0RXh0ZXJuYWxPdXRwdXRzKHBhcnNlZE91dHB1dHMuaW1wbGljaXRFeHRlcm5hbE91dHB1dHMpKTtcbiAgfVxuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAvLyBGSVhNRShCVEMtMTY4OCk6IGVuYWJsZSBFUzIwMjFcbiAgICAvLyB0aHJvdyBuZXcgQWdncmVnYXRlRXJyb3IoZXJyb3JzKTtcbiAgICB0aHJvdyBuZXcgQWdncmVnYXRlVmFsaWRhdGlvbkVycm9yKGVycm9ycyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkVHJhbnNhY3Rpb24oXG4gIHBzYnQ6IFBzYnQgfCBVdHhvTGliUHNidCB8IFVpbnQ4QXJyYXksXG4gIGRlc2NyaXB0b3JzOiBkZXNjcmlwdG9yV2FsbGV0LkRlc2NyaXB0b3JNYXAsXG4gIHJlY2lwaWVudHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiB2b2lkIHtcbiAgYXNzZXJ0RXhwZWN0ZWRPdXRwdXREaWZmZXJlbmNlKHRvQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0c0Zyb21Qc2J0KHBzYnQsIGRlc2NyaXB0b3JzLCByZWNpcGllbnRzLCBjb2luTmFtZSkpO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgYXJvdW5kIGFzc2VydFZhbGlkVHJhbnNhY3Rpb24gdGhhdCByZXR1cm5zIGEgYm9vbGVhbiBpbnN0ZWFkIG9mIHRocm93aW5nLlxuICpcbiAqIFdlIGZvbGxvdyB0aGUgQWJzdHJhY3RVdHhvQ29pbiBpbnRlcmZhY2UgaGVyZSB3aGljaCBpcyBhIGJpdCBjb25mdXNlZCAtIHRoZSByZXR1cm4gdmFsdWUgaXMgYSBib29sZWFuIGJ1dCB3ZVxuICogYWxzbyB0aHJvdyBlcnJvcnMgKGJlY2F1c2Ugd2UgYWN0dWFsbHkgd2FudCB0byBrbm93IHdoYXQgd2VudCB3cm9uZykuXG4gKlxuICogQHBhcmFtIGNvaW5cbiAqIEBwYXJhbSBwYXJhbXNcbiAqIEBwYXJhbSBkZXNjcmlwdG9yTWFwXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2ZXJpZmljYXRpb24gcGFzc2VzXG4gKiBAdGhyb3dzIHtUeEludGVudE1pc21hdGNoRXJyb3J9IGlmIHRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICBwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPixcbiAgZGVzY3JpcHRvck1hcDogZGVzY3JpcHRvcldhbGxldC5EZXNjcmlwdG9yTWFwXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgbGV0IHBzYnQ6IFBzYnQ7XG4gIHRyeSB7XG4gICAgcHNidCA9IGRlY29kZURlc2NyaXB0b3JQc2J0KHBhcmFtcy50eFByZWJ1aWxkKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnN0IHR4RXhwbGFuYXRpb24gPSBhd2FpdCBUeEludGVudE1pc21hdGNoRXJyb3IudHJ5R2V0VHhFeHBsYW5hdGlvbihcbiAgICAgIGNvaW4gYXMgdW5rbm93biBhcyBJQmFzZUNvaW4sXG4gICAgICBwYXJhbXMudHhQcmVidWlsZFxuICAgICk7XG4gICAgY29uc3QgZXJyb3JEZXRhaWwgPSBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSk7XG4gICAgdGhyb3cgbmV3IFR4SW50ZW50TWlzbWF0Y2hFcnJvcihcbiAgICAgIGB1bmV4cGVjdGVkIHRyYW5zYWN0aW9uIHR5cGU6ICR7ZXJyb3JEZXRhaWx9YCxcbiAgICAgIHBhcmFtcy5yZXFJZCxcbiAgICAgIFtwYXJhbXMudHhQYXJhbXNdLFxuICAgICAgcGFyYW1zLnR4UHJlYnVpbGQudHhIZXgsXG4gICAgICB0eEV4cGxhbmF0aW9uXG4gICAgKTtcbiAgfVxuXG4gIGFzc2VydFZhbGlkVHJhbnNhY3Rpb24ocHNidCwgZGVzY3JpcHRvck1hcCwgcGFyYW1zLnR4UGFyYW1zLnJlY2lwaWVudHMgPz8gW10sIGNvaW4ubmFtZSk7XG5cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
|
-
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { fixedScriptWallet, Psbt as WasmPsbt } from '@bitgo/wasm-utxo';
|
|
3
3
|
import { IWallet, Triple } from '@bitgo/sdk-core';
|
|
4
4
|
import { UtxoCoinName } from '../names';
|
|
5
5
|
import type { Unspent } from '../unspent';
|
|
@@ -9,7 +9,7 @@ import * as fixedScript from './fixedScript';
|
|
|
9
9
|
* Decompose a raw transaction into useful information, such as the total amounts,
|
|
10
10
|
* change amounts, and transaction outputs.
|
|
11
11
|
*/
|
|
12
|
-
export declare function explainTx<TNumber extends number | bigint>(tx: utxolib.bitgo.UtxoTransaction<TNumber> | utxolib.bitgo.UtxoPsbt | fixedScriptWallet.BitGoPsbt, params: {
|
|
12
|
+
export declare function explainTx<TNumber extends number | bigint>(tx: utxolib.bitgo.UtxoTransaction<TNumber> | utxolib.bitgo.UtxoPsbt | fixedScriptWallet.BitGoPsbt | WasmPsbt, params: {
|
|
13
13
|
wallet?: IWallet;
|
|
14
14
|
pubs?: string[];
|
|
15
15
|
customChangeXpubs?: Triple<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explainTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/explainTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"explainTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/explainTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAY,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAK5D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,KAAK,EACV,mCAAmC,EACnC,iCAAiC,EACjC,0BAA0B,EAC3B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAG7C;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACvD,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,SAAS,GAAG,QAAQ,EAC5G,MAAM,EAAE;IACN,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;KAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC;CAC9C,EACD,QAAQ,EAAE,YAAY,GACrB,mCAAmC,GAAG,iCAAiC,GAAG,0BAA0B,CAuCtG"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
|
-
import { fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
2
|
+
import { fixedScriptWallet, Psbt as WasmPsbt } from '@bitgo/wasm-utxo';
|
|
3
3
|
import { isTriple } from '@bitgo/sdk-core';
|
|
4
4
|
import { getDescriptorMapFromWallet, isDescriptorWallet } from '../descriptor';
|
|
5
5
|
import { toBip32Triple } from '../keychains';
|
|
6
6
|
import { getPolicyForEnv } from '../descriptor/validatePolicy';
|
|
7
|
-
import { toWasmPsbt } from '../wasmUtil';
|
|
8
7
|
import { getReplayProtectionPubkeys } from './fixedScript/replayProtection';
|
|
9
8
|
import * as fixedScript from './fixedScript';
|
|
10
9
|
import * as descriptor from './descriptor';
|
|
@@ -14,15 +13,15 @@ import * as descriptor from './descriptor';
|
|
|
14
13
|
*/
|
|
15
14
|
export function explainTx(tx, params, coinName) {
|
|
16
15
|
if (params.wallet && isDescriptorWallet(params.wallet)) {
|
|
17
|
-
if (tx instanceof
|
|
18
|
-
|
|
19
|
-
throw new Error('pub triple is required for descriptor wallets');
|
|
20
|
-
}
|
|
21
|
-
const walletKeys = toBip32Triple(params.pubs);
|
|
22
|
-
const descriptors = getDescriptorMapFromWallet(params.wallet, walletKeys, getPolicyForEnv(params.wallet.bitgo.env));
|
|
23
|
-
return descriptor.explainPsbt(toWasmPsbt(tx), descriptors, coinName);
|
|
16
|
+
if (!(tx instanceof WasmPsbt)) {
|
|
17
|
+
throw new Error('descriptor wallets require PSBT format transactions');
|
|
24
18
|
}
|
|
25
|
-
|
|
19
|
+
if (!params.pubs || !isTriple(params.pubs)) {
|
|
20
|
+
throw new Error('pub triple is required for descriptor wallets');
|
|
21
|
+
}
|
|
22
|
+
const walletKeys = toBip32Triple(params.pubs);
|
|
23
|
+
const descriptors = getDescriptorMapFromWallet(params.wallet, walletKeys, getPolicyForEnv(params.wallet.bitgo.env));
|
|
24
|
+
return descriptor.explainPsbt(tx, descriptors, coinName);
|
|
26
25
|
}
|
|
27
26
|
if (tx instanceof utxolib.bitgo.UtxoPsbt) {
|
|
28
27
|
return fixedScript.explainPsbt(tx, { ...params, customChangePubs: params.customChangeXpubs }, coinName);
|
|
@@ -47,8 +46,11 @@ export function explainTx(tx, params, coinName) {
|
|
|
47
46
|
customChangeWalletXpubs: params.customChangeXpubs,
|
|
48
47
|
});
|
|
49
48
|
}
|
|
49
|
+
else if (tx instanceof WasmPsbt) {
|
|
50
|
+
throw new Error('descriptor Psbt is only supported for descriptor wallets');
|
|
51
|
+
}
|
|
50
52
|
else {
|
|
51
53
|
return fixedScript.explainLegacyTx(tx, params, coinName);
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2V4cGxhaW5UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLElBQUksUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBbUIsTUFBTSxpQkFBaUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFNNUUsT0FBTyxLQUFLLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFFM0M7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsRUFBNEcsRUFDNUcsTUFNQyxFQUNELFFBQXNCO0lBRXRCLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsQ0FBQyxFQUFFLFlBQVksUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwSCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsSUFBSSxFQUFFLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxPQUFPLFdBQVcsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUcsQ0FBQztTQUFNLElBQUksRUFBRSxZQUFZLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FDZixJQUFJLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjO1lBQzFDLENBQUMsQ0FBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFvQjtZQUNyRSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDaEIsQ0FBQyxDQUFFLElBQXVCO2dCQUMxQixDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFO1lBQ2xELGdCQUFnQixFQUFFO2dCQUNoQixVQUFVLEVBQUUsMEJBQTBCLENBQUMsUUFBUSxDQUFDO2FBQ2pEO1lBQ0QsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtTQUNsRCxDQUFDLENBQUM7SUFDTCxDQUFDO1NBQU0sSUFBSSxFQUFFLFlBQVksUUFBUSxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lBQzlFLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0QsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBmaXhlZFNjcmlwdFdhbGxldCwgUHNidCBhcyBXYXNtUHNidCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuaW1wb3J0IHsgaXNUcmlwbGUsIElXYWxsZXQsIFRyaXBsZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmltcG9ydCB7IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0LCBpc0Rlc2NyaXB0b3JXYWxsZXQgfSBmcm9tICcuLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IHRvQmlwMzJUcmlwbGUgfSBmcm9tICcuLi9rZXljaGFpbnMnO1xuaW1wb3J0IHsgZ2V0UG9saWN5Rm9yRW52IH0gZnJvbSAnLi4vZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeSc7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5pbXBvcnQgdHlwZSB7IFVuc3BlbnQgfSBmcm9tICcuLi91bnNwZW50JztcblxuaW1wb3J0IHsgZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMgfSBmcm9tICcuL2ZpeGVkU2NyaXB0L3JlcGxheVByb3RlY3Rpb24nO1xuaW1wb3J0IHR5cGUge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uVXR4b2xpYkxlZ2FjeSxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvblV0eG9saWJQc2J0LFxuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uV2FzbSxcbn0gZnJvbSAnLi9maXhlZFNjcmlwdC9leHBsYWluVHJhbnNhY3Rpb24nO1xuaW1wb3J0ICogYXMgZml4ZWRTY3JpcHQgZnJvbSAnLi9maXhlZFNjcmlwdCc7XG5pbXBvcnQgKiBhcyBkZXNjcmlwdG9yIGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbi8qKlxuICogRGVjb21wb3NlIGEgcmF3IHRyYW5zYWN0aW9uIGludG8gdXNlZnVsIGluZm9ybWF0aW9uLCBzdWNoIGFzIHRoZSB0b3RhbCBhbW91bnRzLFxuICogY2hhbmdlIGFtb3VudHMsIGFuZCB0cmFuc2FjdGlvbiBvdXRwdXRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwbGFpblR4PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj4gfCB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0IHwgV2FzbVBzYnQsXG4gIHBhcmFtczoge1xuICAgIHdhbGxldD86IElXYWxsZXQ7XG4gICAgcHVicz86IHN0cmluZ1tdO1xuICAgIGN1c3RvbUNoYW5nZVhwdWJzPzogVHJpcGxlPHN0cmluZz47XG4gICAgdHhJbmZvPzogeyB1bnNwZW50cz86IFVuc3BlbnQ8VE51bWJlcj5bXSB9O1xuICAgIGNoYW5nZUluZm8/OiBmaXhlZFNjcmlwdC5DaGFuZ2VBZGRyZXNzSW5mb1tdO1xuICB9LFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uVXR4b2xpYkxlZ2FjeSB8IFRyYW5zYWN0aW9uRXhwbGFuYXRpb25VdHhvbGliUHNidCB8IFRyYW5zYWN0aW9uRXhwbGFuYXRpb25XYXNtIHtcbiAgaWYgKHBhcmFtcy53YWxsZXQgJiYgaXNEZXNjcmlwdG9yV2FsbGV0KHBhcmFtcy53YWxsZXQpKSB7XG4gICAgaWYgKCEodHggaW5zdGFuY2VvZiBXYXNtUHNidCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGVzY3JpcHRvciB3YWxsZXRzIHJlcXVpcmUgUFNCVCBmb3JtYXQgdHJhbnNhY3Rpb25zJyk7XG4gICAgfVxuICAgIGlmICghcGFyYW1zLnB1YnMgfHwgIWlzVHJpcGxlKHBhcmFtcy5wdWJzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwdWIgdHJpcGxlIGlzIHJlcXVpcmVkIGZvciBkZXNjcmlwdG9yIHdhbGxldHMnKTtcbiAgICB9XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUocGFyYW1zLnB1YnMpO1xuICAgIGNvbnN0IGRlc2NyaXB0b3JzID0gZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQocGFyYW1zLndhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KHBhcmFtcy53YWxsZXQuYml0Z28uZW52KSk7XG4gICAgcmV0dXJuIGRlc2NyaXB0b3IuZXhwbGFpblBzYnQodHgsIGRlc2NyaXB0b3JzLCBjb2luTmFtZSk7XG4gIH1cbiAgaWYgKHR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidCkge1xuICAgIHJldHVybiBmaXhlZFNjcmlwdC5leHBsYWluUHNidCh0eCwgeyAuLi5wYXJhbXMsIGN1c3RvbUNoYW5nZVB1YnM6IHBhcmFtcy5jdXN0b21DaGFuZ2VYcHVicyB9LCBjb2luTmFtZSk7XG4gIH0gZWxzZSBpZiAodHggaW5zdGFuY2VvZiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQpIHtcbiAgICBjb25zdCBwdWJzID0gcGFyYW1zLnB1YnM7XG4gICAgaWYgKCFwdWJzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3B1YiB0cmlwbGUgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgY29uc3Qgd2FsbGV0WHB1YnM6IFRyaXBsZTxzdHJpbmc+IHwgdW5kZWZpbmVkID1cbiAgICAgIHB1YnMgaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzXG4gICAgICAgID8gKHB1YnMudHJpcGxlLm1hcCgoaykgPT4gay5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpIGFzIFRyaXBsZTxzdHJpbmc+KVxuICAgICAgICA6IGlzVHJpcGxlKHB1YnMpXG4gICAgICAgID8gKHB1YnMgYXMgVHJpcGxlPHN0cmluZz4pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGlmICghd2FsbGV0WHB1YnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncHViIHRyaXBsZSBtdXN0IGJlIHZhbGlkIHRyaXBsZSBvciBSb290V2FsbGV0S2V5cycpO1xuICAgIH1cbiAgICByZXR1cm4gZml4ZWRTY3JpcHQuZXhwbGFpblBzYnRXYXNtKHR4LCB3YWxsZXRYcHVicywge1xuICAgICAgcmVwbGF5UHJvdGVjdGlvbjoge1xuICAgICAgICBwdWJsaWNLZXlzOiBnZXRSZXBsYXlQcm90ZWN0aW9uUHVia2V5cyhjb2luTmFtZSksXG4gICAgICB9LFxuICAgICAgY3VzdG9tQ2hhbmdlV2FsbGV0WHB1YnM6IHBhcmFtcy5jdXN0b21DaGFuZ2VYcHVicyxcbiAgICB9KTtcbiAgfSBlbHNlIGlmICh0eCBpbnN0YW5jZW9mIFdhc21Qc2J0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZXNjcmlwdG9yIFBzYnQgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGRlc2NyaXB0b3Igd2FsbGV0cycpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmaXhlZFNjcmlwdC5leHBsYWluTGVnYWN5VHgodHgsIHBhcmFtcywgY29pbk5hbWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/signTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA0B/E,wBAAsB,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACnE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"signTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/signTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA0B/E,wBAAsB,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACnE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAsD5B"}
|
|
@@ -3,10 +3,10 @@ import { BIP32, fixedScriptWallet } from '@bitgo/wasm-utxo';
|
|
|
3
3
|
import buildDebug from 'debug';
|
|
4
4
|
import { getDescriptorMapFromWallet, getPolicyForEnv, isDescriptorWallet } from '../descriptor';
|
|
5
5
|
import { fetchKeychains, toBip32Triple } from '../keychains';
|
|
6
|
-
import { isUtxoLibPsbt
|
|
6
|
+
import { isUtxoLibPsbt } from '../wasmUtil';
|
|
7
7
|
import * as fixedScript from './fixedScript';
|
|
8
8
|
import * as descriptor from './descriptor';
|
|
9
|
-
import { decodePsbtWith, encodeTransaction } from './decode';
|
|
9
|
+
import { decodeDescriptorPsbt, decodePsbtWith, encodeTransaction } from './decode';
|
|
10
10
|
const debug = buildDebug('bitgo:abstract-utxo:transaction:signTransaction');
|
|
11
11
|
function getSignerKeychain(userPrv) {
|
|
12
12
|
if (userPrv === undefined) {
|
|
@@ -30,30 +30,27 @@ export async function signTransaction(coin, bitgo, params) {
|
|
|
30
30
|
}
|
|
31
31
|
throw new Error('missing txPrebuild parameter');
|
|
32
32
|
}
|
|
33
|
-
let tx = coin.decodeTransactionFromPrebuild(params.txPrebuild);
|
|
34
|
-
// When returnLegacyFormat is set, ensure we use wasm-utxo's BitGoPsbt so
|
|
35
|
-
// getHalfSignedLegacyFormat() is available after signing.
|
|
36
|
-
if (params.returnLegacyFormat && isUtxoLibPsbt(tx)) {
|
|
37
|
-
tx = decodePsbtWith(tx.toBuffer(), coin.name, 'wasm-utxo');
|
|
38
|
-
}
|
|
39
33
|
const signerKeychain = getSignerKeychain(params.prv);
|
|
40
34
|
const { wallet } = params;
|
|
41
35
|
if (wallet && isDescriptorWallet(wallet)) {
|
|
42
36
|
if (!signerKeychain) {
|
|
43
37
|
throw new Error('missing signer');
|
|
44
38
|
}
|
|
45
|
-
|
|
46
|
-
throw new Error('descriptor wallets require PSBT format transactions');
|
|
47
|
-
}
|
|
39
|
+
const psbt = decodeDescriptorPsbt(params.txPrebuild);
|
|
48
40
|
const walletKeys = toBip32Triple(await fetchKeychains(coin, wallet));
|
|
49
41
|
const descriptorMap = getDescriptorMapFromWallet(wallet, walletKeys, getPolicyForEnv(bitgo.env));
|
|
50
|
-
const psbt = toWasmPsbt(tx);
|
|
51
42
|
descriptor.signPsbt(psbt, descriptorMap, signerKeychain, {
|
|
52
43
|
onUnknownInput: 'throw',
|
|
53
44
|
});
|
|
54
45
|
return { txHex: Buffer.from(psbt.serialize()).toString('hex') };
|
|
55
46
|
}
|
|
56
47
|
else {
|
|
48
|
+
let tx = coin.decodeTransactionFromPrebuild(params.txPrebuild);
|
|
49
|
+
// When returnLegacyFormat is set, ensure we use wasm-utxo's BitGoPsbt so
|
|
50
|
+
// getHalfSignedLegacyFormat() is available after signing.
|
|
51
|
+
if (params.returnLegacyFormat && isUtxoLibPsbt(tx)) {
|
|
52
|
+
tx = decodePsbtWith(tx.toBuffer(), coin.name, 'wasm-utxo');
|
|
53
|
+
}
|
|
57
54
|
const signedTx = await fixedScript.signTransaction(coin, tx, getSignerKeychain(params.prv), coin.name, {
|
|
58
55
|
walletId: params.txPrebuild.walletId,
|
|
59
56
|
txInfo: params.txPrebuild.txInfo,
|
|
@@ -73,4 +70,4 @@ export async function signTransaction(coin, bitgo, params) {
|
|
|
73
70
|
return { txHex: buffer.toString('hex') };
|
|
74
71
|
}
|
|
75
72
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVELE9BQU8sVUFBVSxNQUFNLE9BQU8sQ0FBQztBQUcvQixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxLQUFLLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxLQUFLLFVBQVUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuRixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsaURBQWlELENBQUMsQ0FBQztBQUU1RSxTQUFTLGlCQUFpQixDQUFDLE9BQWdCO0lBQ3pDLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxL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QyxJQUFJLEtBQUs7WUFDdEYsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixrQkFBa0IsRUFBRSxNQUFNLENBQUMsa0JBQWtCO1lBQzdDLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtTQUN4QyxDQUFDLENBQUM7UUFFSCxvR0FBb0c7UUFDcEcsSUFBSSxNQUFNLENBQUMsa0JBQWtCLElBQUksUUFBUSxZQUFZLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RGLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCSVAzMiwgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBmZXRjaEtleWNoYWlucywgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uL2tleWNoYWlucyc7XG5pbXBvcnQgeyBpc1V0eG9MaWJQc2J0IH0gZnJvbSAnLi4vd2FzbVV0aWwnO1xuXG5pbXBvcnQgKiBhcyBmaXhlZFNjcmlwdCBmcm9tICcuL2ZpeGVkU2NyaXB0JztcbmltcG9ydCAqIGFzIGRlc2NyaXB0b3IgZnJvbSAnLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGRlY29kZURlc2NyaXB0b3JQc2J0LCBkZWNvZGVQc2J0V2l0aCwgZW5jb2RlVHJhbnNhY3Rpb24gfSBmcm9tICcuL2RlY29kZSc7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygnYml0Z286YWJzdHJhY3QtdXR4bzp0cmFuc2FjdGlvbjpzaWduVHJhbnNhY3Rpb24nKTtcblxuZnVuY3Rpb24gZ2V0U2lnbmVyS2V5Y2hhaW4odXNlclBydjogdW5rbm93bik6IEJJUDMyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHVzZXJQcnYgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgaWYgKHR5cGVvZiB1c2VyUHJ2ICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgdXNlciBwcml2YXRlIGtleSB0byBiZSBhIHN0cmluZycpO1xuICB9XG4gIGNvbnN0IHNpZ25lcktleWNoYWluID0gQklQMzIuZnJvbUJhc2U1OCh1c2VyUHJ2KTtcbiAgaWYgKHNpZ25lcktleWNoYWluLmlzTmV1dGVyZWQoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgdXNlciBwcml2YXRlIGtleSBidXQgcmVjZWl2ZWQgcHVibGljIGtleScpO1xuICB9XG4gIGRlYnVnKGBIZXJlIGlzIHRoZSBwdWJsaWMga2V5IG9mIHRoZSB4cHJ2IHlvdSB1c2VkIHRvIHNpZ246ICR7c2lnbmVyS2V5Y2hhaW4ubmV1dGVyZWQoKS50b0Jhc2U1OCgpfWApO1xuICByZXR1cm4gc2lnbmVyS2V5Y2hhaW47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuKTogUHJvbWlzZTx7IHR4SGV4OiBzdHJpbmcgfT4ge1xuICBjb25zdCB0eFByZWJ1aWxkID0gcGFyYW1zLnR4UHJlYnVpbGQ7XG5cbiAgaWYgKF8uaXNVbmRlZmluZWQodHhQcmVidWlsZCkgfHwgIV8uaXNPYmplY3QodHhQcmVidWlsZCkpIHtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodHhQcmVidWlsZCkgJiYgIV8uaXNPYmplY3QodHhQcmVidWlsZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdHhQcmVidWlsZCBtdXN0IGJlIGFuIG9iamVjdCwgZ290IHR5cGUgJHt0eXBlb2YgdHhQcmVidWlsZH1gKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHR4UHJlYnVpbGQgcGFyYW1ldGVyJyk7XG4gIH1cblxuICBjb25zdCBzaWduZXJLZXljaGFpbiA9IGdldFNpZ25lcktleWNoYWluKHBhcmFtcy5wcnYpO1xuXG4gIGNvbnN0IHsgd2FsbGV0IH0gPSBwYXJhbXM7XG5cbiAgaWYgKHdhbGxldCAmJiBpc0Rlc2NyaXB0b3JXYWxsZXQod2FsbGV0KSkge1xuICAgIGlmICghc2lnbmVyS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBzaWduZXInKTtcbiAgICB9XG4gICAgY29uc3QgcHNidCA9IGRlY29kZURlc2NyaXB0b3JQc2J0KHBhcmFtcy50eFByZWJ1aWxkKTtcbiAgICBjb25zdCB3YWxsZXRLZXlzID0gdG9CaXAzMlRyaXBsZShhd2FpdCBmZXRjaEtleWNoYWlucyhjb2luLCB3YWxsZXQpKTtcbiAgICBjb25zdCBkZXNjcmlwdG9yTWFwID0gZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQod2FsbGV0LCB3YWxsZXRLZXlzLCBnZXRQb2xpY3lGb3JFbnYoYml0Z28uZW52KSk7XG4gICAgZGVzY3JpcHRvci5zaWduUHNidChwc2J0LCBkZXNjcmlwdG9yTWFwLCBzaWduZXJLZXljaGFpbiwge1xuICAgICAgb25Vbmtub3duSW5wdXQ6ICd0aHJvdycsXG4gICAgfSk7XG4gICAgcmV0dXJuIHsgdHhIZXg6IEJ1ZmZlci5mcm9tKHBzYnQuc2VyaWFsaXplKCkpLnRvU3RyaW5nKCdoZXgnKSB9O1xuICB9IGVsc2Uge1xuICAgIGxldCB0eCA9IGNvaW4uZGVjb2RlVHJhbnNhY3Rpb25Gcm9tUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpO1xuXG4gICAgLy8gV2hlbiByZXR1cm5MZWdhY3lGb3JtYXQgaXMgc2V0LCBlbnN1cmUgd2UgdXNlIHdhc20tdXR4bydzIEJpdEdvUHNidCBzb1xuICAgIC8vIGdldEhhbGZTaWduZWRMZWdhY3lGb3JtYXQoKSBpcyBhdmFpbGFibGUgYWZ0ZXIgc2lnbmluZy5cbiAgICBpZiAocGFyYW1zLnJldHVybkxlZ2FjeUZvcm1hdCAmJiBpc1V0eG9MaWJQc2J0KHR4KSkge1xuICAgICAgdHggPSBkZWNvZGVQc2J0V2l0aCh0eC50b0J1ZmZlcigpLCBjb2luLm5hbWUsICd3YXNtLXV0eG8nKTtcbiAgICB9XG5cbiAgICBjb25zdCBzaWduZWRUeCA9IGF3YWl0IGZpeGVkU2NyaXB0LnNpZ25UcmFuc2FjdGlvbihjb2luLCB0eCwgZ2V0U2lnbmVyS2V5Y2hhaW4ocGFyYW1zLnBydiksIGNvaW4ubmFtZSwge1xuICAgICAgd2FsbGV0SWQ6IHBhcmFtcy50eFByZWJ1aWxkLndhbGxldElkLFxuICAgICAgdHhJbmZvOiBwYXJhbXMudHhQcmVidWlsZC50eEluZm8sXG4gICAgICBpc0xhc3RTaWduYXR1cmU6IHBhcmFtcy5pc0xhc3RTaWduYXR1cmUgPz8gZmFsc2UsXG4gICAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgICAgYWxsb3dOb25TZWd3aXRTaWduaW5nV2l0aG91dFByZXZUeDogcGFyYW1zLmFsbG93Tm9uU2Vnd2l0U2lnbmluZ1dpdGhvdXRQcmV2VHggPz8gZmFsc2UsXG4gICAgICBwdWJzOiBwYXJhbXMucHVicyxcbiAgICAgIGNvc2lnbmVyUHViOiBwYXJhbXMuY29zaWduZXJQdWIsXG4gICAgICBleHRyYWN0VHJhbnNhY3Rpb246IHBhcmFtcy5leHRyYWN0VHJhbnNhY3Rpb24sXG4gICAgICB3cml0ZVNpZ25lZFdpdGg6IHBhcmFtcy53cml0ZVNpZ25lZFdpdGgsXG4gICAgfSk7XG5cbiAgICAvLyBDb252ZXJ0IGhhbGYtc2lnbmVkIFBTQlQgdG8gbGVnYWN5IGZvcm1hdCB3aGVuIHRoZSBjYWxsZXIgZXhwbGljaXRseSByZXF1ZXN0ZWQgdHhGb3JtYXQ6ICdsZWdhY3knXG4gICAgaWYgKHBhcmFtcy5yZXR1cm5MZWdhY3lGb3JtYXQgJiYgc2lnbmVkVHggaW5zdGFuY2VvZiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQpIHtcbiAgICAgIHJldHVybiB7IHR4SGV4OiBCdWZmZXIuZnJvbShzaWduZWRUeC5nZXRIYWxmU2lnbmVkTGVnYWN5Rm9ybWF0KCkpLnRvU3RyaW5nKCdoZXgnKSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5pc0J1ZmZlcihzaWduZWRUeCkgPyBzaWduZWRUeCA6IGVuY29kZVRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICByZXR1cm4geyB0eEhleDogYnVmZmVyLnRvU3RyaW5nKCdoZXgnKSB9O1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo/abstract-utxo",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.2.0",
|
|
4
4
|
"description": "BitGo SDK coin library for UTXO base implementation",
|
|
5
5
|
"main": "./dist/cjs/src/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -61,12 +61,12 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@bitgo/blockapis": "^1.13.5",
|
|
64
|
-
"@bitgo/sdk-api": "^1.80.
|
|
65
|
-
"@bitgo/sdk-core": "^37.
|
|
66
|
-
"@bitgo/utxo-core": "^1.
|
|
64
|
+
"@bitgo/sdk-api": "^1.80.1",
|
|
65
|
+
"@bitgo/sdk-core": "^37.1.0",
|
|
66
|
+
"@bitgo/utxo-core": "^1.38.0",
|
|
67
67
|
"@bitgo/utxo-lib": "^11.22.1",
|
|
68
|
-
"@bitgo/utxo-ord": "^1.
|
|
69
|
-
"@bitgo/wasm-utxo": "^4.
|
|
68
|
+
"@bitgo/utxo-ord": "^1.31.0",
|
|
69
|
+
"@bitgo/wasm-utxo": "^4.13.0",
|
|
70
70
|
"@types/lodash": "^4.14.121",
|
|
71
71
|
"@types/superagent": "4.1.15",
|
|
72
72
|
"bignumber.js": "^9.0.2",
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"superagent": "^9.0.1"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@bitgo/sdk-test": "^9.1.
|
|
79
|
+
"@bitgo/sdk-test": "^9.1.44",
|
|
80
80
|
"mocha": "^10.2.0"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "82ac4c211f155cb85a21187b18a91d1a93dfaad9"
|
|
83
83
|
}
|