@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
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.stringToBufferTryFormats = stringToBufferTryFormats;
|
|
37
37
|
exports.decodePsbtWith = decodePsbtWith;
|
|
38
38
|
exports.decodePsbt = decodePsbt;
|
|
39
|
+
exports.decodeDescriptorPsbt = decodeDescriptorPsbt;
|
|
39
40
|
exports.encodeTransaction = encodeTransaction;
|
|
40
41
|
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
41
42
|
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
@@ -74,6 +75,23 @@ function decodePsbtWith(psbt, coinName, backend) {
|
|
|
74
75
|
function decodePsbt(psbt, coinName) {
|
|
75
76
|
return decodePsbtWith(psbt, coinName, 'wasm-utxo');
|
|
76
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Decode a prebuild's PSBT bytes directly into a wasm-utxo descriptor `Psbt`.
|
|
80
|
+
*
|
|
81
|
+
* Skips the `fixedScriptWallet.BitGoPsbt` intermediate that `decodeTransactionFromPrebuild`
|
|
82
|
+
* + `toWasmPsbt` would otherwise round-trip through for descriptor flows.
|
|
83
|
+
*/
|
|
84
|
+
function decodeDescriptorPsbt(prebuild) {
|
|
85
|
+
const s = prebuild.txHexPsbt ?? prebuild.txHex ?? prebuild.txBase64;
|
|
86
|
+
if (!s) {
|
|
87
|
+
throw new Error('missing required txHex or txBase64 property');
|
|
88
|
+
}
|
|
89
|
+
const bytes = stringToBufferTryFormats(s, ['hex', 'base64']);
|
|
90
|
+
if (!(0, wasm_utxo_1.hasPsbtMagic)(bytes)) {
|
|
91
|
+
throw new Error('descriptor wallets require PSBT format transactions');
|
|
92
|
+
}
|
|
93
|
+
return wasm_utxo_1.Psbt.deserialize(bytes);
|
|
94
|
+
}
|
|
77
95
|
function encodeTransaction(transaction) {
|
|
78
96
|
if (transaction instanceof utxolib.bitgo.UtxoTransaction) {
|
|
79
97
|
return transaction.toBuffer();
|
|
@@ -85,4 +103,4 @@ function encodeTransaction(transaction) {
|
|
|
85
103
|
return Buffer.from(transaction.serialize());
|
|
86
104
|
}
|
|
87
105
|
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2RlY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNBLDREQWFDO0FBMEJELHdDQWNDO0FBRUQsZ0NBRUM7QUFjRCxvREFVQztBQUVELDhDQVVDO0FBdEdELHlEQUEyQztBQUMzQyxnREFBb0c7QUFFcEcsb0NBQWdFO0FBTWhFLFNBQWdCLHdCQUF3QixDQUFDLEtBQWEsRUFBRSxVQUE0QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7SUFDbkcsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQ0UsQ0FBQyxNQUFNLEtBQUssUUFBUSxJQUFJLGNBQWMsS0FBSyxLQUFLLENBQUM7WUFDakQsQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLGNBQWMsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsRUFDNUQsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxRQUFzQjtJQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUFzQixFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFpQkQsU0FBZ0IsY0FBYyxDQUM1QixJQUFxQixFQUNyQixRQUFzQixFQUN0QixPQUFtQjtJQUVuQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyw2QkFBaUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxJQUFxQixFQUFFLFFBQXNCO0lBQ3RFLE9BQU8sY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQVFEOzs7OztHQUtHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsUUFBc0I7SUFDekQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDcEUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsSUFBQSx3QkFBWSxFQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFDRCxPQUFPLGdCQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FDL0IsV0FBa0g7SUFFbEgsSUFBSSxXQUFXLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6RCxPQUFPLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO1NBQU0sSUFBSSxXQUFXLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxPQUFPLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0LCBoYXNQc2J0TWFnaWMsIFBzYnQgYXMgV2FzbVBzYnQsIHV0eG9saWJDb21wYXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgZ2V0TmV0d29ya0Zyb21Db2luTmFtZSwgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuXG5pbXBvcnQgeyBTZGtCYWNrZW5kLCBCaXRHb1BzYnQgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBCdWZmZXJFbmNvZGluZyA9ICdoZXgnIHwgJ2Jhc2U2NCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdUb0J1ZmZlclRyeUZvcm1hdHMoaW5wdXQ6IHN0cmluZywgZm9ybWF0czogQnVmZmVyRW5jb2RpbmdbXSA9IFsnaGV4JywgJ2Jhc2U2NCddKTogQnVmZmVyIHtcbiAgZm9yIChjb25zdCBmb3JtYXQgb2YgZm9ybWF0cykge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGlucHV0LCBmb3JtYXQpO1xuICAgIGNvbnN0IGJ1ZmZlclRvU3RyaW5nID0gYnVmZmVyLnRvU3RyaW5nKGZvcm1hdCk7XG4gICAgaWYgKFxuICAgICAgKGZvcm1hdCA9PT0gJ2Jhc2U2NCcgJiYgYnVmZmVyVG9TdHJpbmcgPT09IGlucHV0KSB8fFxuICAgICAgKGZvcm1hdCA9PT0gJ2hleCcgJiYgYnVmZmVyVG9TdHJpbmcgPT09IGlucHV0LnRvTG93ZXJDYXNlKCkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gYnVmZmVyO1xuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcignaW5wdXQgbXVzdCBiZSBhIHZhbGlkIGhleCBvciBiYXNlNjQgc3RyaW5nJyk7XG59XG5cbmZ1bmN0aW9uIHRvTmV0d29ya05hbWUoY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IHV0eG9saWJDb21wYXQuVXR4b2xpYk5hbWUge1xuICBjb25zdCBuZXR3b3JrID0gZ2V0TmV0d29ya0Zyb21Db2luTmFtZShjb2luTmFtZSk7XG4gIGNvbnN0IG5ldHdvcmtOYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShuZXR3b3JrKTtcbiAgaWYgKCFuZXR3b3JrTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2luTmFtZTogJHtjb2luTmFtZX1gKTtcbiAgfVxuICByZXR1cm4gbmV0d29ya05hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVQc2J0V2l0aChcbiAgcHNidDogc3RyaW5nIHwgQnVmZmVyLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICBiYWNrZW5kOiAndXR4b2xpYidcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlUHNidFdpdGgoXG4gIHBzYnQ6IHN0cmluZyB8IEJ1ZmZlcixcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgYmFja2VuZDogJ3dhc20tdXR4bydcbik6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVQc2J0V2l0aChcbiAgcHNidDogc3RyaW5nIHwgQnVmZmVyLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICBiYWNrZW5kOiBTZGtCYWNrZW5kXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHwgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0O1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVBzYnRXaXRoKFxuICBwc2J0OiBzdHJpbmcgfCBCdWZmZXIsXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUsXG4gIGJhY2tlbmQ6IFNka0JhY2tlbmRcbik6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQge1xuICBpZiAodHlwZW9mIHBzYnQgPT09ICdzdHJpbmcnKSB7XG4gICAgcHNidCA9IEJ1ZmZlci5mcm9tKHBzYnQsICdoZXgnKTtcbiAgfVxuICBpZiAoYmFja2VuZCA9PT0gJ3V0eG9saWInKSB7XG4gICAgY29uc3QgbmV0d29yayA9IGdldE5ldHdvcmtGcm9tQ29pbk5hbWUoY29pbk5hbWUpO1xuICAgIHJldHVybiB1dHhvbGliLmJpdGdvLmNyZWF0ZVBzYnRGcm9tQnVmZmVyKHBzYnQsIG5ldHdvcmspO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQuZnJvbUJ5dGVzKHBzYnQsIHRvTmV0d29ya05hbWUoY29pbk5hbWUpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlUHNidChwc2J0OiBzdHJpbmcgfCBCdWZmZXIsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCaXRHb1BzYnQge1xuICByZXR1cm4gZGVjb2RlUHNidFdpdGgocHNidCwgY29pbk5hbWUsICd3YXNtLXV0eG8nKTtcbn1cblxuZXhwb3J0IHR5cGUgUHJlYnVpbGRMaWtlID0ge1xuICB0eEhleD86IHN0cmluZztcbiAgdHhCYXNlNjQ/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"}
|
|
@@ -8,6 +8,7 @@ const descriptor_1 = require("../../descriptor");
|
|
|
8
8
|
const recipient_1 = require("../recipient");
|
|
9
9
|
const outputDifference_1 = require("../outputDifference");
|
|
10
10
|
const wasmUtil_1 = require("../../wasmUtil");
|
|
11
|
+
const decode_1 = require("../decode");
|
|
11
12
|
function toRecipientOutput(recipient, coinName) {
|
|
12
13
|
return {
|
|
13
14
|
address: recipient.address,
|
|
@@ -69,14 +70,7 @@ function parse(coin, wallet, params) {
|
|
|
69
70
|
if (!recipients) {
|
|
70
71
|
throw new Error('recipients is required');
|
|
71
72
|
}
|
|
72
|
-
const
|
|
73
|
-
let wasmPsbt;
|
|
74
|
-
try {
|
|
75
|
-
wasmPsbt = (0, wasmUtil_1.toWasmPsbt)(psbt);
|
|
76
|
-
}
|
|
77
|
-
catch (e) {
|
|
78
|
-
throw new Error(`expected psbt to be a wasm-utxo or utxo-lib PSBT: ${e instanceof Error ? e.message : e}`);
|
|
79
|
-
}
|
|
73
|
+
const wasmPsbt = (0, decode_1.decodeDescriptorPsbt)(params.txPrebuild);
|
|
80
74
|
const walletKeys = (0, keychains_1.toBip32Triple)(keychains);
|
|
81
75
|
const descriptorMap = (0, descriptor_1.getDescriptorMapFromWallet)(wallet, walletKeys, (0, descriptor_1.getPolicyForEnv)(params.wallet.bitgo.env));
|
|
82
76
|
return {
|
|
@@ -87,4 +81,4 @@ function parse(coin, wallet, params) {
|
|
|
87
81
|
needsCustomChangeKeySignatureVerification: false,
|
|
88
82
|
};
|
|
89
83
|
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci9wYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXdGQSx3RkFnQkM7QUFPRCxzQkFtQ0M7QUFqSkQsZ0RBQTBEO0FBSTFELCtDQUFzRjtBQUN0RixpREFBK0U7QUFFL0UsNENBQTBGO0FBQzFGLDBEQUFrRztBQUVsRyw2Q0FBb0U7QUFRcEUsU0FBUyxpQkFBaUIsQ0FBQyxTQUFnQyxFQUFFLFFBQXNCO0lBQ2pGLE9BQU87UUFDTCxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87UUFDMUIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sRUFBRSxJQUFBLDZDQUFpQyxFQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ3RFLFFBQVEsRUFBRSxTQUFTLEVBQUUsa0NBQWtDO0tBQ3hELENBQUM7QUFDSixDQUFDO0FBUUQsU0FBUyxvQkFBb0IsQ0FDM0IsSUFBVSxFQUNWLGFBQTZDLEVBQzdDLGdCQUFtQyxFQUNuQyxRQUFzQjtJQUV0QixNQUFNLE1BQU0sR0FBRyw0QkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRSxNQUFNLE9BQU8sR0FBbUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUQsR0FBRyxNQUFNO1FBQ1QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztLQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNKLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMs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WSxFQUFFLFNBQVM7UUFDdkIseUNBQXlDLEVBQUUsS0FBSztLQUNqRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFuc2FjdGlvblJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBQc2J0LCBkZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBCYXNlT3V0cHV0LCBCYXNlUGFyc2VkVHJhbnNhY3Rpb24sIEJhc2VQYXJzZWRUcmFuc2FjdGlvbk91dHB1dHMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRLZXlTaWduYXR1cmVzLCB0b0JpcDMyVHJpcGxlLCBVdHhvTmFtZWRLZXljaGFpbnMgfSBmcm9tICcuLi8uLi9rZXljaGFpbnMnO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgSURlc2NyaXB0b3JXYWxsZXQgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9yL2Rlc2NyaXB0b3JXYWxsZXQnO1xuaW1wb3J0IHsgZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0LCB0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdCB9IGZyb20gJy4uL3JlY2lwaWVudCc7XG5pbXBvcnQgeyBvdXRwdXREaWZmZXJlbmNlc1dpdGhFeHBlY3RlZCwgT3V0cHV0RGlmZmVyZW5jZVdpdGhFeHBlY3RlZCB9IGZyb20gJy4uL291dHB1dERpZmZlcmVuY2UnO1xuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vbmFtZXMnO1xuaW1wb3J0IHsgc3VtVmFsdWVzLCB0b1dhc21Qc2J0LCBVdHhvTGliUHNidCB9IGZyb20gJy4uLy4uL3dhc21VdGlsJztcblxudHlwZSBQYXJzZWRPdXRwdXQgPSBPbWl0PGRlc2NyaXB0b3JXYWxsZXQuUGFyc2VkT3V0cHV0LCAnc2NyaXB0Jz4gJiB7IHNjcmlwdDogQnVmZmVyIH07XG5cbmV4cG9ydCB0eXBlIFJlY2lwaWVudE91dHB1dCA9IE9taXQ8UGFyc2VkT3V0cHV0LCAndmFsdWUnPiAmIHtcbiAgdmFsdWU6IGJpZ2ludCB8ICdtYXgnO1xufTtcblxuZnVuY3Rpb24gdG9SZWNpcGllbnRPdXRwdXQocmVjaXBpZW50OiBJVHJhbnNhY3Rpb25SZWNpcGllbnQsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBSZWNpcGllbnRPdXRwdXQge1xuICByZXR1cm4ge1xuICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgIHZhbHVlOiByZWNpcGllbnQuYW1vdW50ID09PSAnbWF4JyA/ICdtYXgnIDogQmlnSW50KHJlY2lwaWVudC5hbW91bnQpLFxuICAgIHNjcmlwdDogZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KHJlY2lwaWVudC5hZGRyZXNzLCBjb2luTmFtZSksXG4gICAgc2NyaXB0SWQ6IHVuZGVmaW5lZCwgLy8gUmVjaXBpZW50cyBhcmUgZXh0ZXJuYWwgb3V0cHV0c1xuICB9O1xufVxuXG4vLyBUT0RPKEJUQy0xNjk3KTogYWxsb3cgb3V0cHV0cyB3aXRoIGB2YWx1ZTogJ21heCdgIGhlcmVcbnR5cGUgUGFyc2VkT3V0cHV0cyA9IE91dHB1dERpZmZlcmVuY2VXaXRoRXhwZWN0ZWQ8UGFyc2VkT3V0cHV0LCBSZWNpcGllbnRPdXRwdXQ+ICYge1xuICBvdXRwdXRzOiBQYXJzZWRPdXRwdXRbXTtcbiAgY2hhbmdlT3V0cHV0czogUGFyc2VkT3V0cHV0W107XG59O1xuXG5mdW5jdGlvbiBwYXJzZU91dHB1dHNXaXRoUHNidChcbiAgcHNidDogUHNidCxcbiAgZGVzY3JpcHRvck1hcDogZGVzY3JpcHRvcldhbGxldC5EZXNjcmlwdG9yTWFwLFxuICByZWNpcGllbnRPdXRwdXRzOiBSZWNpcGllbnRPdXRwdXRbXSxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogUGFyc2VkT3V0cHV0cyB7XG4gIGNvbnN0IHBhcnNlZCA9IGRlc2NyaXB0b3JXYWxsZXQucGFyc2UocHNidCwgZGVzY3JpcHRvck1hcCwgY29pbk5hbWUpO1xuICBjb25zdCBvdXRwdXRzOiBQYXJzZWRPdXRwdXRbXSA9IHBhcnNlZC5vdXRwdXRzLm1hcCgob3V0cHV0KSA9PiAoe1xuICAgIC4uLm91dHB1dCxcbiAgICBzY3JpcHQ6IEJ1ZmZlci5mcm9tKG91dHB1dC5zY3JpcHQpLFxuICB9KSk7XG4gIGNvbnN0IGNoYW5nZU91dHB1dHMgPSBvdXRwdXRzLmZpbHRlcigobykgPT4gby5zY3JpcHRJZCAhPT0gdW5kZWZpbmVkKTtcbiAgY29uc3Qgb3V0cHV0RGlmZnMgPSBvdXRwdXREaWZmZXJlbmNlc1dpdGhFeHBlY3RlZChvdXRwdXRzLCByZWNpcGllbnRPdXRwdXRzKTtcbiAgcmV0dXJuIHtcbiAgICBvdXRwdXRzLFxuICAgIGNoYW5nZU91dHB1dHMsXG4gICAgLi4ub3V0cHV0RGlmZnMsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRvQmFzZU91dHB1dHMob3V0cHV0czogUGFyc2VkT3V0cHV0W10sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCYXNlT3V0cHV0PGJpZ2ludD5bXTtcbmZ1bmN0aW9uIHRvQmFzZU91dHB1dHMob3V0cHV0czogUmVjaXBpZW50T3V0cHV0W10sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCYXNlT3V0cHV0PGJpZ2ludCB8ICdtYXgnPltdO1xuZnVuY3Rpb24gdG9CYXNlT3V0cHV0cyhcbiAgb3V0cHV0czogKFBhcnNlZE91dHB1dCB8IFJlY2lwaWVudE91dHB1dClbXSxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogQmFzZU91dHB1dDxiaWdpbnQgfCAnbWF4Jz5bXSB7XG4gIHJldHVybiBvdXRwdXRzLm1hcChcbiAgICAobyk6IEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+ID0+ICh7XG4gICAgICBhZGRyZXNzOiB0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdChvLnNjcmlwdCwgY29pbk5hbWUpLFxuICAgICAgYW1vdW50OiBvLnZhbHVlID09PSAnbWF4JyA/ICdtYXgnIDogQmlnSW50KG8udmFsdWUpLFxuICAgICAgZXh0ZXJuYWw6IG8uc2NyaXB0SWQgPT09IHVuZGVmaW5lZCxcbiAgICB9KVxuICApO1xufVxuXG5leHBvcnQgdHlwZSBQYXJzZWRPdXRwdXRzQmlnSW50ID0gQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0czxiaWdpbnQsIEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+PjtcblxuZnVuY3Rpb24gdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzKFxuICB7IG91dHB1dHMsIGNoYW5nZU91dHB1dHMsIGV4cGxpY2l0T3V0cHV0cywgaW1wbGljaXRPdXRwdXRzLCBtaXNzaW5nT3V0cHV0cyB9OiBQYXJzZWRPdXRwdXRzLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiBQYXJzZWRPdXRwdXRzQmlnSW50IHtcbiAgY29uc3QgZXhwbGljaXRFeHRlcm5hbE91dHB1dHMgPSBleHBsaWNpdE91dHB1dHMuZmlsdGVyKChvKSA9PiBvLnNjcmlwdElkID09PSB1bmRlZmluZWQpO1xuICBjb25zdCBpbXBsaWNpdEV4dGVybmFsT3V0cHV0cyA9IGltcGxpY2l0T3V0cHV0cy5maWx0ZXIoKG8pID0+IG8uc2NyaXB0SWQgPT09IHVuZGVmaW5lZCk7XG4gIHJldHVybiB7XG4gICAgb3V0cHV0czogdG9CYXNlT3V0cHV0cyhvdXRwdXRzLCBjb2luTmFtZSksXG4gICAgY2hhbmdlT3V0cHV0czogdG9CYXNlT3V0cHV0cyhjaGFuZ2VPdXRwdXRzLCBjb2luTmFtZSksXG4gICAgZXhwbGljaXRFeHRlcm5hbE91dHB1dHM6IHRvQmFzZU91dHB1dHMoZXhwbGljaXRFeHRlcm5hbE91dHB1dHMsIGNvaW5OYW1lKSxcbiAgICBleHBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IHN1bVZhbHVlcyhleHBsaWNpdEV4dGVybmFsT3V0cHV0cyksXG4gICAgaW1wbGljaXRFeHRlcm5hbE91dHB1dHM6IHRvQmFzZU91dHB1dHMoaW1wbGljaXRFeHRlcm5hbE91dHB1dHMsIGNvaW5OYW1lKSxcbiAgICBpbXBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IHN1bVZhbHVlcyhpbXBsaWNpdEV4dGVybmFsT3V0cHV0cyksXG4gICAgbWlzc2luZ091dHB1dHM6IHRvQmFzZU91dHB1dHMobWlzc2luZ091dHB1dHMsIGNvaW5OYW1lKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0c0Zyb21Qc2J0KFxuICBwc2J0OiBQc2J0IHwgVXR4b0xpYlBzYnQgfCBVaW50OEFycmF5LFxuICBkZXNjcmlwdG9yTWFwOiBkZXNjcmlwdG9yV2FsbGV0LkRlc2NyaXB0b3JNYXAsXG4gIHJlY2lwaWVudHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiBQYXJzZWRPdXRwdXRzQmlnSW50IHtcbiAgY29uc3Qgd2FzbVBzYnQgPSB0b1dhc21Qc2J0KHBzYnQpO1xuICByZXR1cm4gdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzKFxuICAgIHBhcnNlT3V0cHV0c1dpdGhQc2J0KFxuICAgICAgd2FzbVBzYnQsXG4gICAgICBkZXNjcmlwdG9yTWFwLFxuICAgICAgcmVjaXBpZW50cy5tYXAoKHIpID0+IHRvUmVjaXBpZW50T3V0cHV0KHIsIGNvaW5OYW1lKSksXG4gICAgICBjb2luTmFtZVxuICAgICksXG4gICAgY29pbk5hbWVcbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkRGVzY3JpcHRvclRyYW5zYWN0aW9uPFRBbW91bnQgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+ID0gQmFzZVBhcnNlZFRyYW5zYWN0aW9uPFxuICBUQW1vdW50LFxuICBCYXNlT3V0cHV0PFRBbW91bnQgfCAnbWF4Jz5cbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgd2FsbGV0OiBJRGVzY3JpcHRvcldhbGxldCxcbiAgcGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9uczxudW1iZXIgfCBiaWdpbnQ+XG4pOiBQYXJzZWREZXNjcmlwdG9yVHJhbnNhY3Rpb248YmlnaW50PiB7XG4gIGlmIChwYXJhbXMudHhQYXJhbXMuYWxsb3dFeHRlcm5hbENoYW5nZUFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2FsbG93RXh0ZXJuYWxDaGFuZ2VBZGRyZXNzIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGRlc2NyaXB0b3Igd2FsbGV0cycpO1xuICB9XG4gIGlmIChwYXJhbXMudHhQYXJhbXMuY2hhbmdlQWRkcmVzcykge1xuICAgIHRocm93IG5ldyBFcnJvcignY2hhbmdlQWRkcmVzcyBpcyBub3Qgc3VwcG9ydGVkIGZvciBkZXNjcmlwdG9yIHdhbGxldHMnKTtcbiAgfVxuICBjb25zdCBrZXljaGFpbnMgPSBwYXJhbXMudmVyaWZpY2F0aW9uPy5rZXljaGFpbnM7XG4gIGlmICgha2V5Y2hhaW5zIHx8ICFVdHhvTmFtZWRLZXljaGFpbnMuaXMoa2V5Y2hhaW5zKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigna2V5Y2hhaW4gaXMgcmVxdWlyZWQgZm9yIGRlc2NyaXB0b3Igd2FsbGV0cycpO1xuICB9XG4gIGNvbnN0IHsgcmVjaXBpZW50cyB9ID0gcGFyYW1zLnR4UGFyYW1zO1xuICBpZiAoIXJlY2lwaWVudHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlY2lwaWVudHMgaXMgcmVxdWlyZWQnKTtcbiAgfVxuICBjb25zdCBwc2J0ID0gY29pbi5kZWNvZGVUcmFuc2FjdGlvbkZyb21QcmVidWlsZChwYXJhbXMudHhQcmVidWlsZCk7XG4gIGxldCB3YXNtUHNidDogUHNidDtcbiAgdHJ5IHtcbiAgICB3YXNtUHNidCA9IHRvV2FzbVBzYnQocHNidCBhcyBQc2J0IHwgVXR4b0xpYlBzYnQgfCBVaW50OEFycmF5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgZXhwZWN0ZWQgcHNidCB0byBiZSBhIHdhc20tdXR4byBvciB1dHhvLWxpYiBQU0JUOiAke2UgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IGV9YCk7XG4gIH1cbiAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoa2V5Y2hhaW5zKTtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KHBhcmFtcy53YWxsZXQuYml0Z28uZW52KSk7XG4gIHJldHVybiB7XG4gICAgLi4udG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzRnJvbVBzYnQod2FzbVBzYnQsIGRlc2NyaXB0b3JNYXAsIHJlY2lwaWVudHMsIGNvaW4ubmFtZSksXG4gICAga2V5Y2hhaW5zLFxuICAgIGtleVNpZ25hdHVyZXM6IGdldEtleVNpZ25hdHVyZXMod2FsbGV0KSA/PyB7fSxcbiAgICBjdXN0b21DaGFuZ2U6IHVuZGVmaW5lZCxcbiAgICBuZWVkc0N1c3RvbUNoYW5nZUtleVNpZ25hdHVyZVZlcmlmaWNhdGlvbjogZmFsc2UsXG4gIH07XG59XG4iXX0=
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci9wYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXlGQSx3RkFnQkM7QUFPRCxzQkE2QkM7QUE1SUQsZ0RBQTBEO0FBSTFELCtDQUFzRjtBQUN0RixpREFBK0U7QUFFL0UsNENBQTBGO0FBQzFGLDBEQUFrRztBQUVsRyw2Q0FBb0U7QUFDcEUsc0NBQWlEO0FBUWpELFNBQVMsaUJBQWlCLENBQUMsU0FBZ0MsRUFBRSxRQUFzQjtJQUNqRixPQUFPO1FBQ0wsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPO1FBQzFCLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUNwRSxNQUFNLEVBQUUsSUFBQSw2Q0FBaUMsRUFBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUN0RSxRQUFRLEVBQUUsU0FBUyxFQUFFLGtDQUFrQztLQUN4RCxDQUFDO0FBQ0osQ0FBQztBQVFELFNBQVMsb0JBQW9CLENBQzNCLElBQVUsRUFDVixhQUE2QyxFQUM3QyxnQkFBbUMsRUFDbkMsUUFBc0I7SUFFdEIsTUFBTSxNQUFNLEdBQUcsNEJBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckUsTUFBTSxPQUFPLEdBQW1CLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlELEdBQUcsTUFBTTtRQUNULE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7S0FDbkMsQ0FBQyxDQUFDLENBQUM7SUFDSixNQUFNLGFBQWEsR0FBRyxPQUFPLENB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LFNBQVMsQ0FBQztJQUNqRCxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsOEJBQWtCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUN2QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFBLDZCQUFvQixFQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RCxNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFhLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsTUFBTSxhQUFhLEdBQUcsSUFBQSx1Q0FBMEIsRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUEsNEJBQWUsRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9HLE9BQU87UUFDTCxHQUFHLHNDQUFzQyxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDekYsU0FBUztRQUNULGFBQWEsRUFBRSxJQUFBLDRCQUFnQixFQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDN0MsWUFBWSxFQUFFLFNBQVM7UUFDdkIseUNBQXlDLEVBQUUsS0FBSztLQUNqRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFuc2FjdGlvblJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBQc2J0LCBkZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBCYXNlT3V0cHV0LCBCYXNlUGFyc2VkVHJhbnNhY3Rpb24sIEJhc2VQYXJzZWRUcmFuc2FjdGlvbk91dHB1dHMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRLZXlTaWduYXR1cmVzLCB0b0JpcDMyVHJpcGxlLCBVdHhvTmFtZWRLZXljaGFpbnMgfSBmcm9tICcuLi8uLi9rZXljaGFpbnMnO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgSURlc2NyaXB0b3JXYWxsZXQgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9yL2Rlc2NyaXB0b3JXYWxsZXQnO1xuaW1wb3J0IHsgZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0LCB0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdCB9IGZyb20gJy4uL3JlY2lwaWVudCc7XG5pbXBvcnQgeyBvdXRwdXREaWZmZXJlbmNlc1dpdGhFeHBlY3RlZCwgT3V0cHV0RGlmZmVyZW5jZVdpdGhFeHBlY3RlZCB9IGZyb20gJy4uL291dHB1dERpZmZlcmVuY2UnO1xuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vbmFtZXMnO1xuaW1wb3J0IHsgc3VtVmFsdWVzLCB0b1dhc21Qc2J0LCBVdHhvTGliUHNidCB9IGZyb20gJy4uLy4uL3dhc21VdGlsJztcbmltcG9ydCB7IGRlY29kZURlc2NyaXB0b3JQc2J0IH0gZnJvbSAnLi4vZGVjb2RlJztcblxudHlwZSBQYXJzZWRPdXRwdXQgPSBPbWl0PGRlc2NyaXB0b3JXYWxsZXQuUGFyc2VkT3V0cHV0LCAnc2NyaXB0Jz4gJiB7IHNjcmlwdDogQnVmZmVyIH07XG5cbmV4cG9ydCB0eXBlIFJlY2lwaWVudE91dHB1dCA9IE9taXQ8UGFyc2VkT3V0cHV0LCAndmFsdWUnPiAmIHtcbiAgdmFsdWU6IGJpZ2ludCB8ICdtYXgnO1xufTtcblxuZnVuY3Rpb24gdG9SZWNpcGllbnRPdXRwdXQocmVjaXBpZW50OiBJVHJhbnNhY3Rpb25SZWNpcGllbnQsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBSZWNpcGllbnRPdXRwdXQge1xuICByZXR1cm4ge1xuICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgIHZhbHVlOiByZWNpcGllbnQuYW1vdW50ID09PSAnbWF4JyA/ICdtYXgnIDogQmlnSW50KHJlY2lwaWVudC5hbW91bnQpLFxuICAgIHNjcmlwdDogZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KHJlY2lwaWVudC5hZGRyZXNzLCBjb2luTmFtZSksXG4gICAgc2NyaXB0SWQ6IHVuZGVmaW5lZCwgLy8gUmVjaXBpZW50cyBhcmUgZXh0ZXJuYWwgb3V0cHV0c1xuICB9O1xufVxuXG4vLyBUT0RPKEJUQy0xNjk3KTogYWxsb3cgb3V0cHV0cyB3aXRoIGB2YWx1ZTogJ21heCdgIGhlcmVcbnR5cGUgUGFyc2VkT3V0cHV0cyA9IE91dHB1dERpZmZlcmVuY2VXaXRoRXhwZWN0ZWQ8UGFyc2VkT3V0cHV0LCBSZWNpcGllbnRPdXRwdXQ+ICYge1xuICBvdXRwdXRzOiBQYXJzZWRPdXRwdXRbXTtcbiAgY2hhbmdlT3V0cHV0czogUGFyc2VkT3V0cHV0W107XG59O1xuXG5mdW5jdGlvbiBwYXJzZU91dHB1dHNXaXRoUHNidChcbiAgcHNidDogUHNidCxcbiAgZGVzY3JpcHRvck1hcDogZGVzY3JpcHRvcldhbGxldC5EZXNjcmlwdG9yTWFwLFxuICByZWNpcGllbnRPdXRwdXRzOiBSZWNpcGllbnRPdXRwdXRbXSxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogUGFyc2VkT3V0cHV0cyB7XG4gIGNvbnN0IHBhcnNlZCA9IGRlc2NyaXB0b3JXYWxsZXQucGFyc2UocHNidCwgZGVzY3JpcHRvck1hcCwgY29pbk5hbWUpO1xuICBjb25zdCBvdXRwdXRzOiBQYXJzZWRPdXRwdXRbXSA9IHBhcnNlZC5vdXRwdXRzLm1hcCgob3V0cHV0KSA9PiAoe1xuICAgIC4uLm91dHB1dCxcbiAgICBzY3JpcHQ6IEJ1ZmZlci5mcm9tKG91dHB1dC5zY3JpcHQpLFxuICB9KSk7XG4gIGNvbnN0IGNoYW5nZU91dHB1dHMgPSBvdXRwdXRzLmZpbHRlcigobykgPT4gby5zY3JpcHRJZCAhPT0gdW5kZWZpbmVkKTtcbiAgY29uc3Qgb3V0cHV0RGlmZnMgPSBvdXRwdXREaWZmZXJlbmNlc1dpdGhFeHBlY3RlZChvdXRwdXRzLCByZWNpcGllbnRPdXRwdXRzKTtcbiAgcmV0dXJuIHtcbiAgICBvdXRwdXRzLFxuICAgIGNoYW5nZU91dHB1dHMsXG4gICAgLi4ub3V0cHV0RGlmZnMsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRvQmFzZU91dHB1dHMob3V0cHV0czogUGFyc2VkT3V0cHV0W10sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCYXNlT3V0cHV0PGJpZ2ludD5bXTtcbmZ1bmN0aW9uIHRvQmFzZU91dHB1dHMob3V0cHV0czogUmVjaXBpZW50T3V0cHV0W10sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCYXNlT3V0cHV0PGJpZ2ludCB8ICdtYXgnPltdO1xuZnVuY3Rpb24gdG9CYXNlT3V0cHV0cyhcbiAgb3V0cHV0czogKFBhcnNlZE91dHB1dCB8IFJlY2lwaWVudE91dHB1dClbXSxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogQmFzZU91dHB1dDxiaWdpbnQgfCAnbWF4Jz5bXSB7XG4gIHJldHVybiBvdXRwdXRzLm1hcChcbiAgICAobyk6IEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+ID0+ICh7XG4gICAgICBhZGRyZXNzOiB0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdChvLnNjcmlwdCwgY29pbk5hbWUpLFxuICAgICAgYW1vdW50OiBvLnZhbHVlID09PSAnbWF4JyA/ICdtYXgnIDogQmlnSW50KG8udmFsdWUpLFxuICAgICAgZXh0ZXJuYWw6IG8uc2NyaXB0SWQgPT09IHVuZGVmaW5lZCxcbiAgICB9KVxuICApO1xufVxuXG5leHBvcnQgdHlwZSBQYXJzZWRPdXRwdXRzQmlnSW50ID0gQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0czxiaWdpbnQsIEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+PjtcblxuZnVuY3Rpb24gdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzKFxuICB7IG91dHB1dHMsIGNoYW5nZU91dHB1dHMsIGV4cGxpY2l0T3V0cHV0cywgaW1wbGljaXRPdXRwdXRzLCBtaXNzaW5nT3V0cHV0cyB9OiBQYXJzZWRPdXRwdXRzLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiBQYXJzZWRPdXRwdXRzQmlnSW50IHtcbiAgY29uc3QgZXhwbGljaXRFeHRlcm5hbE91dHB1dHMgPSBleHBsaWNpdE91dHB1dHMuZmlsdGVyKChvKSA9PiBvLnNjcmlwdElkID09PSB1bmRlZmluZWQpO1xuICBjb25zdCBpbXBsaWNpdEV4dGVybmFsT3V0cHV0cyA9IGltcGxpY2l0T3V0cHV0cy5maWx0ZXIoKG8pID0+IG8uc2NyaXB0SWQgPT09IHVuZGVmaW5lZCk7XG4gIHJldHVybiB7XG4gICAgb3V0cHV0czogdG9CYXNlT3V0cHV0cyhvdXRwdXRzLCBjb2luTmFtZSksXG4gICAgY2hhbmdlT3V0cHV0czogdG9CYXNlT3V0cHV0cyhjaGFuZ2VPdXRwdXRzLCBjb2luTmFtZSksXG4gICAgZXhwbGljaXRFeHRlcm5hbE91dHB1dHM6IHRvQmFzZU91dHB1dHMoZXhwbGljaXRFeHRlcm5hbE91dHB1dHMsIGNvaW5OYW1lKSxcbiAgICBleHBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IHN1bVZhbHVlcyhleHBsaWNpdEV4dGVybmFsT3V0cHV0cyksXG4gICAgaW1wbGljaXRFeHRlcm5hbE91dHB1dHM6IHRvQmFzZU91dHB1dHMoaW1wbGljaXRFeHRlcm5hbE91dHB1dHMsIGNvaW5OYW1lKSxcbiAgICBpbXBsaWNpdEV4dGVybmFsU3BlbmRBbW91bnQ6IHN1bVZhbHVlcyhpbXBsaWNpdEV4dGVybmFsT3V0cHV0cyksXG4gICAgbWlzc2luZ091dHB1dHM6IHRvQmFzZU91dHB1dHMobWlzc2luZ091dHB1dHMsIGNvaW5OYW1lKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0c0Zyb21Qc2J0KFxuICBwc2J0OiBQc2J0IHwgVXR4b0xpYlBzYnQgfCBVaW50OEFycmF5LFxuICBkZXNjcmlwdG9yTWFwOiBkZXNjcmlwdG9yV2FsbGV0LkRlc2NyaXB0b3JNYXAsXG4gIHJlY2lwaWVudHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lXG4pOiBQYXJzZWRPdXRwdXRzQmlnSW50IHtcbiAgY29uc3Qgd2FzbVBzYnQgPSB0b1dhc21Qc2J0KHBzYnQpO1xuICByZXR1cm4gdG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzKFxuICAgIHBhcnNlT3V0cHV0c1dpdGhQc2J0KFxuICAgICAgd2FzbVBzYnQsXG4gICAgICBkZXNjcmlwdG9yTWFwLFxuICAgICAgcmVjaXBpZW50cy5tYXAoKHIpID0+IHRvUmVjaXBpZW50T3V0cHV0KHIsIGNvaW5OYW1lKSksXG4gICAgICBjb2luTmFtZVxuICAgICksXG4gICAgY29pbk5hbWVcbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgUGFyc2VkRGVzY3JpcHRvclRyYW5zYWN0aW9uPFRBbW91bnQgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+ID0gQmFzZVBhcnNlZFRyYW5zYWN0aW9uPFxuICBUQW1vdW50LFxuICBCYXNlT3V0cHV0PFRBbW91bnQgfCAnbWF4Jz5cbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgd2FsbGV0OiBJRGVzY3JpcHRvcldhbGxldCxcbiAgcGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9uczxudW1iZXIgfCBiaWdpbnQ+XG4pOiBQYXJzZWREZXNjcmlwdG9yVHJhbnNhY3Rpb248YmlnaW50PiB7XG4gIGlmIChwYXJhbXMudHhQYXJhbXMuYWxsb3dFeHRlcm5hbENoYW5nZUFkZHJlc3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2FsbG93RXh0ZXJuYWxDaGFuZ2VBZGRyZXNzIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGRlc2NyaXB0b3Igd2FsbGV0cycpO1xuICB9XG4gIGlmIChwYXJhbXMudHhQYXJhbXMuY2hhbmdlQWRkcmVzcykge1xuICAgIHRocm93IG5ldyBFcnJvcignY2hhbmdlQWRkcmVzcyBpcyBub3Qgc3VwcG9ydGVkIGZvciBkZXNjcmlwdG9yIHdhbGxldHMnKTtcbiAgfVxuICBjb25zdCBrZXljaGFpbnMgPSBwYXJhbXMudmVyaWZpY2F0aW9uPy5rZXljaGFpbnM7XG4gIGlmICgha2V5Y2hhaW5zIHx8ICFVdHhvTmFtZWRLZXljaGFpbnMuaXMoa2V5Y2hhaW5zKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigna2V5Y2hhaW4gaXMgcmVxdWlyZWQgZm9yIGRlc2NyaXB0b3Igd2FsbGV0cycpO1xuICB9XG4gIGNvbnN0IHsgcmVjaXBpZW50cyB9ID0gcGFyYW1zLnR4UGFyYW1zO1xuICBpZiAoIXJlY2lwaWVudHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlY2lwaWVudHMgaXMgcmVxdWlyZWQnKTtcbiAgfVxuICBjb25zdCB3YXNtUHNidCA9IGRlY29kZURlc2NyaXB0b3JQc2J0KHBhcmFtcy50eFByZWJ1aWxkKTtcbiAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoa2V5Y2hhaW5zKTtcbiAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KHBhcmFtcy53YWxsZXQuYml0Z28uZW52KSk7XG4gIHJldHVybiB7XG4gICAgLi4udG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzRnJvbVBzYnQod2FzbVBzYnQsIGRlc2NyaXB0b3JNYXAsIHJlY2lwaWVudHMsIGNvaW4ubmFtZSksXG4gICAga2V5Y2hhaW5zLFxuICAgIGtleVNpZ25hdHVyZXM6IGdldEtleVNpZ25hdHVyZXMod2FsbGV0KSA/PyB7fSxcbiAgICBjdXN0b21DaGFuZ2U6IHVuZGVmaW5lZCxcbiAgICBuZWVkc0N1c3RvbUNoYW5nZUtleVNpZ25hdHVyZVZlcmlmaWNhdGlvbjogZmFsc2UsXG4gIH07XG59XG4iXX0=
|
|
@@ -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"}
|
|
@@ -5,7 +5,7 @@ exports.assertExpectedOutputDifference = assertExpectedOutputDifference;
|
|
|
5
5
|
exports.assertValidTransaction = assertValidTransaction;
|
|
6
6
|
exports.verifyTransaction = verifyTransaction;
|
|
7
7
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
8
|
-
const
|
|
8
|
+
const decode_1 = require("../decode");
|
|
9
9
|
const parse_1 = require("./parse");
|
|
10
10
|
class ValidationError extends Error {
|
|
11
11
|
constructor(message) {
|
|
@@ -65,10 +65,9 @@ function assertValidTransaction(psbt, descriptors, recipients, coinName) {
|
|
|
65
65
|
* @throws {TxIntentMismatchError} if transaction validation fails
|
|
66
66
|
*/
|
|
67
67
|
async function verifyTransaction(coin, params, descriptorMap) {
|
|
68
|
-
const tx = coin.decodeTransactionFromPrebuild(params.txPrebuild);
|
|
69
68
|
let psbt;
|
|
70
69
|
try {
|
|
71
|
-
psbt = (0,
|
|
70
|
+
psbt = (0, decode_1.decodeDescriptorPsbt)(params.txPrebuild);
|
|
72
71
|
}
|
|
73
72
|
catch (e) {
|
|
74
73
|
const txExplanation = await sdk_core_1.TxIntentMismatchError.tryGetTxExplanation(coin, params.txPrebuild);
|
|
@@ -78,4 +77,4 @@ async function verifyTransaction(coin, params, descriptorMap) {
|
|
|
78
77
|
assertValidTransaction(psbt, descriptorMap, params.txParams.recipients ?? [], coin.name);
|
|
79
78
|
return true;
|
|
80
79
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5VHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZGVzY3JpcHRvci92ZXJpZnlUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtQ0Esd0VBZ0JDO0FBRUQsd0RBT0M7QUFjRCw4Q0EwQkM7QUFwR0QsOENBQTBGO0FBTzFGLHNDQUFpRDtBQUVqRCxtQ0FBaUU7QUFFakUsTUFBYSxlQUFnQixTQUFRLEtBQUs7SUFDeEMsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFKRCwwQ0FJQztBQUVELE1BQWEsbUJBQW9CLFNBQVEsZUFBZTtJQUN0RCxZQUFtQixjQUE0QztRQUM3RCxLQUFLLENBQUMsMEJBQTBCLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRHpDLG1CQUFjLEdBQWQsY0FBYyxDQUE4QjtJQUUvRCxDQUFDO0NBQ0Y7QUFKRCxrREFJQztBQUVELE1BQWEsNEJBQTZCLFNBQVEsZUFBZTtJQUMvRCxZQUFtQix1QkFBcUQ7UUFDdEUsS0FBSyxDQUFDLCtDQUErQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRHZFLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBOEI7SUFFeEUsQ0FBQztDQUNGO0FBSkQsb0VBSUM7QUFFRCxNQUFhLHdCQUF5QixTQUFRLGVBQWU7SUFDM0QsWUFBbUIsTUFBeUI7UUFDMUMsS0FBSyxDQUFDLHFDQUFxQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUQ1QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUU1QyxDQUFDO0NBQ0Y7QUFKRCw0REFJQztBQUVELFNBQWdCLDhCQUE4QixDQUM1QyxhQUErRTtJQUUvRSxNQUFNLE1BQU0sR0FBc0IsRUFBRSxDQUFDO0lBQ3JDLElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckQsc0RBQXNEO1FBQ3RELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEIsaUNBQWlDO1FBQ2pDLG9DQUFvQztRQUNwQyxNQUFNLElBQUksd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FDcEMsSUFBcUMsRUFDckMsV0FBMkMsRUFDM0MsVUFBbUMsRUFDbkMsUUFBc0I7SUFFdEIsOEJBQThCLENBQUMsSUFBQSw4Q0FBc0MsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ2xILENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNJLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsSUFBc0IsRUFDdEIsTUFBeUMsRUFDekMsYUFBNkM7SUFFN0MsSUFBSSxJQUFVLENBQUM7SUFDZixJQUFJLENBQUM7UUFDSCxJQUFJLEdBQUcsSUFBQSw2QkFBb0IsRUFBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxNQUFNLGFBQWEsR0FBRyxNQUFNLGdDQUFxQixDQUFDLG1CQUFtQixDQUNuRSxJQUE0QixFQUM1QixNQUFNLENBQUMsVUFBVSxDQUNsQixDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sSUFBSSxnQ0FBcUIsQ0FDN0IsZ0NBQWdDLFdBQVcsRUFBRSxFQUM3QyxNQUFNLENBQUMsS0FBSyxFQUNaLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUNqQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFDdkIsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpGLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFuc2FjdGlvblJlY2lwaWVudCwgVHhJbnRlbnRNaXNtYXRjaEVycm9yLCBJQmFzZUNvaW4gfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBQc2J0LCBkZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uLy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgQmFzZU91dHB1dCwgQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0cyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcbmltcG9ydCB7IFV0eG9MaWJQc2J0IH0gZnJvbSAnLi4vLi4vd2FzbVV0aWwnO1xuaW1wb3J0IHsgZGVjb2RlRGVzY3JpcHRvclBzYnQgfSBmcm9tICcuLi9kZWNvZGUnO1xuXG5pbXBvcnQgeyB0b0Jhc2VQYXJzZWRUcmFuc2FjdGlvbk91dHB1dHNGcm9tUHNidCB9IGZyb20gJy4vcGFyc2UnO1xuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRXJyb3JNaXNzaW5nT3V0cHV0cyBleHRlbmRzIFZhbGlkYXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtaXNzaW5nT3V0cHV0czogQmFzZU91dHB1dDxiaWdpbnQgfCAnbWF4Jz5bXSkge1xuICAgIHN1cGVyKGBtaXNzaW5nIG91dHB1dHMgKGNvdW50PSR7bWlzc2luZ091dHB1dHMubGVuZ3RofSlgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRXJyb3JJbXBsaWNpdEV4dGVybmFsT3V0cHV0cyBleHRlbmRzIFZhbGlkYXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbXBsaWNpdEV4dGVybmFsT3V0cHV0czogQmFzZU91dHB1dDxiaWdpbnQgfCAnbWF4Jz5bXSkge1xuICAgIHN1cGVyKGB1bmV4cGVjdGVkIGltcGxpY2l0IGV4dGVybmFsIG91dHB1dHMgKGNvdW50PSR7aW1wbGljaXRFeHRlcm5hbE91dHB1dHMubGVuZ3RofSlgKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWdncmVnYXRlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgVmFsaWRhdGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IocHVibGljIGVycm9yczogVmFsaWRhdGlvbkVycm9yW10pIHtcbiAgICBzdXBlcihgYWdncmVnYXRlIHZhbGlkYXRpb24gZXJyb3IgKGNvdW50PSR7ZXJyb3JzLmxlbmd0aH0pYCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEV4cGVjdGVkT3V0cHV0RGlmZmVyZW5jZShcbiAgcGFyc2VkT3V0cHV0czogQmFzZVBhcnNlZFRyYW5zYWN0aW9uT3V0cHV0czxiaWdpbnQsIEJhc2VPdXRwdXQ8YmlnaW50IHwgJ21heCc+PlxuKTogdm9pZCB7XG4gIGNvbnN0IGVycm9yczogVmFsaWRhdGlvbkVycm9yW10gPSBbXTtcbiAgaWYgKHBhcnNlZE91dHB1dHMubWlzc2luZ091dHB1dHMubGVuZ3RoID4gMCkge1xuICAgIGVycm9ycy5wdXNoKG5ldyBFcnJvck1pc3NpbmdPdXRwdXRzKHBhcnNlZE91dHB1dHMubWlzc2luZ091dHB1dHMpKTtcbiAgfVxuICBpZiAocGFyc2VkT3V0cHV0cy5pbXBsaWNpdEV4dGVybmFsT3V0cHV0cy5sZW5ndGggPiAwKSB7XG4gICAgLy8gRklYTUU6IGZvciBwYXlnbyB3ZSBuZWVkIHRvIHJlbGF4IHRoaXMgYSBsaXR0bGUgYml0XG4gICAgZXJyb3JzLnB1c2gobmV3IEVycm9ySW1wbGljaXRFeHRlcm5hbE91dHB1dHMocGFyc2VkT3V0cHV0cy5pbXBsaWNpdEV4dGVybmFsT3V0cHV0cykpO1xuICB9XG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIC8vIEZJWE1FKEJUQy0xNjg4KTogZW5hYmxlIEVTMjAyMVxuICAgIC8vIHRocm93IG5ldyBBZ2dyZWdhdGVFcnJvcihlcnJvcnMpO1xuICAgIHRocm93IG5ldyBBZ2dyZWdhdGVWYWxpZGF0aW9uRXJyb3IoZXJyb3JzKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRUcmFuc2FjdGlvbihcbiAgcHNidDogUHNidCB8IFV0eG9MaWJQc2J0IHwgVWludDhBcnJheSxcbiAgZGVzY3JpcHRvcnM6IGRlc2NyaXB0b3JXYWxsZXQuRGVzY3JpcHRvck1hcCxcbiAgcmVjaXBpZW50czogSVRyYW5zYWN0aW9uUmVjaXBpZW50W10sXG4gIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWVcbik6IHZvaWQge1xuICBhc3NlcnRFeHBlY3RlZE91dHB1dERpZmZlcmVuY2UodG9CYXNlUGFyc2VkVHJhbnNhY3Rpb25PdXRwdXRzRnJvbVBzYnQocHNidCwgZGVzY3JpcHRvcnMsIHJlY2lwaWVudHMsIGNvaW5OYW1lKSk7XG59XG5cbi8qKlxuICogV3JhcHBlciBhcm91bmQgYXNzZXJ0VmFsaWRUcmFuc2FjdGlvbiB0aGF0IHJldHVybnMgYSBib29sZWFuIGluc3RlYWQgb2YgdGhyb3dpbmcuXG4gKlxuICogV2UgZm9sbG93IHRoZSBBYnN0cmFjdFV0eG9Db2luIGludGVyZmFjZSBoZXJlIHdoaWNoIGlzIGEgYml0IGNvbmZ1c2VkIC0gdGhlIHJldHVybiB2YWx1ZSBpcyBhIGJvb2xlYW4gYnV0IHdlXG4gKiBhbHNvIHRocm93IGVycm9ycyAoYmVjYXVzZSB3ZSBhY3R1YWxseSB3YW50IHRvIGtub3cgd2hhdCB3ZW50IHdyb25nKS5cbiAqXG4gKiBAcGFyYW0gY29pblxuICogQHBhcmFtIHBhcmFtc1xuICogQHBhcmFtIGRlc2NyaXB0b3JNYXBcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZlcmlmaWNhdGlvbiBwYXNzZXNcbiAqIEB0aHJvd3Mge1R4SW50ZW50TWlzbWF0Y2hFcnJvcn0gaWYgdHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5VHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+LFxuICBkZXNjcmlwdG9yTWFwOiBkZXNjcmlwdG9yV2FsbGV0LkRlc2NyaXB0b3JNYXBcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBsZXQgcHNidDogUHNidDtcbiAgdHJ5IHtcbiAgICBwc2J0ID0gZGVjb2RlRGVzY3JpcHRvclBzYnQocGFyYW1zLnR4UHJlYnVpbGQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgdHhFeHBsYW5hdGlvbiA9IGF3YWl0IFR4SW50ZW50TWlzbWF0Y2hFcnJvci50cnlHZXRUeEV4cGxhbmF0aW9uKFxuICAgICAgY29pbiBhcyB1bmtub3duIGFzIElCYXNlQ29pbixcbiAgICAgIHBhcmFtcy50eFByZWJ1aWxkXG4gICAgKTtcbiAgICBjb25zdCBlcnJvckRldGFpbCA9IGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKTtcbiAgICB0aHJvdyBuZXcgVHhJbnRlbnRNaXNtYXRjaEVycm9yKFxuICAgICAgYHVuZXhwZWN0ZWQgdHJhbnNhY3Rpb24gdHlwZTogJHtlcnJvckRldGFpbH1gLFxuICAgICAgcGFyYW1zLnJlcUlkLFxuICAgICAgW3BhcmFtcy50eFBhcmFtc10sXG4gICAgICBwYXJhbXMudHhQcmVidWlsZC50eEhleCxcbiAgICAgIHR4RXhwbGFuYXRpb25cbiAgICApO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRUcmFuc2FjdGlvbihwc2J0LCBkZXNjcmlwdG9yTWFwLCBwYXJhbXMudHhQYXJhbXMucmVjaXBpZW50cyA/PyBbXSwgY29pbi5uYW1lKTtcblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==
|
|
@@ -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"}
|
|
@@ -40,7 +40,6 @@ const sdk_core_1 = require("@bitgo/sdk-core");
|
|
|
40
40
|
const descriptor_1 = require("../descriptor");
|
|
41
41
|
const keychains_1 = require("../keychains");
|
|
42
42
|
const validatePolicy_1 = require("../descriptor/validatePolicy");
|
|
43
|
-
const wasmUtil_1 = require("../wasmUtil");
|
|
44
43
|
const replayProtection_1 = require("./fixedScript/replayProtection");
|
|
45
44
|
const fixedScript = __importStar(require("./fixedScript"));
|
|
46
45
|
const descriptor = __importStar(require("./descriptor"));
|
|
@@ -50,15 +49,15 @@ const descriptor = __importStar(require("./descriptor"));
|
|
|
50
49
|
*/
|
|
51
50
|
function explainTx(tx, params, coinName) {
|
|
52
51
|
if (params.wallet && (0, descriptor_1.isDescriptorWallet)(params.wallet)) {
|
|
53
|
-
if (tx instanceof
|
|
54
|
-
|
|
55
|
-
throw new Error('pub triple is required for descriptor wallets');
|
|
56
|
-
}
|
|
57
|
-
const walletKeys = (0, keychains_1.toBip32Triple)(params.pubs);
|
|
58
|
-
const descriptors = (0, descriptor_1.getDescriptorMapFromWallet)(params.wallet, walletKeys, (0, validatePolicy_1.getPolicyForEnv)(params.wallet.bitgo.env));
|
|
59
|
-
return descriptor.explainPsbt((0, wasmUtil_1.toWasmPsbt)(tx), descriptors, coinName);
|
|
52
|
+
if (!(tx instanceof wasm_utxo_1.Psbt)) {
|
|
53
|
+
throw new Error('descriptor wallets require PSBT format transactions');
|
|
60
54
|
}
|
|
61
|
-
|
|
55
|
+
if (!params.pubs || !(0, sdk_core_1.isTriple)(params.pubs)) {
|
|
56
|
+
throw new Error('pub triple is required for descriptor wallets');
|
|
57
|
+
}
|
|
58
|
+
const walletKeys = (0, keychains_1.toBip32Triple)(params.pubs);
|
|
59
|
+
const descriptors = (0, descriptor_1.getDescriptorMapFromWallet)(params.wallet, walletKeys, (0, validatePolicy_1.getPolicyForEnv)(params.wallet.bitgo.env));
|
|
60
|
+
return descriptor.explainPsbt(tx, descriptors, coinName);
|
|
62
61
|
}
|
|
63
62
|
if (tx instanceof utxolib.bitgo.UtxoPsbt) {
|
|
64
63
|
return fixedScript.explainPsbt(tx, { ...params, customChangePubs: params.customChangeXpubs }, coinName);
|
|
@@ -83,8 +82,11 @@ function explainTx(tx, params, coinName) {
|
|
|
83
82
|
customChangeWalletXpubs: params.customChangeXpubs,
|
|
84
83
|
});
|
|
85
84
|
}
|
|
85
|
+
else if (tx instanceof wasm_utxo_1.Psbt) {
|
|
86
|
+
throw new Error('descriptor Psbt is only supported for descriptor wallets');
|
|
87
|
+
}
|
|
86
88
|
else {
|
|
87
89
|
return fixedScript.explainLegacyTx(tx, params, coinName);
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2V4cGxhaW5UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVCQSw4QkFpREM7QUF4RUQseURBQTJDO0FBQzNDLGdEQUF1RTtBQUN2RSw4Q0FBNEQ7QUFFNUQsOENBQStFO0FBQy9FLDRDQUE2QztBQUM3QyxpRUFBK0Q7QUFJL0QscUVBQTRFO0FBTTVFLDJEQUE2QztBQUM3Qyx5REFBMkM7QUFFM0M7OztHQUdHO0FBQ0gsU0FBZ0IsU0FBUyxDQUN2QixFQUE0RyxFQUM1RyxNQU1DLEVBQ0QsUUFBc0I7SUFFdEIsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUEsK0JBQWtCLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLENBQUMsRUFBRSxZQUFZLGdCQUFRLENBQUMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFBLG1CQUFRLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFhLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUEsdUNBQTBCLEVBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBQSxnQ0FBZSxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEgsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELElBQUksRUFBRSxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFHLENBQUM7U0FBTSxJQUFJLEVBQUUsWUFBWSw2QkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQ2YsSUFBSSxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYztZQUMxQyxDQUFDLENBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBb0I7WUFDckUsQ0FBQyxDQUFDLElBQUEsbUJBQVEsRUFBQyxJQUFJLENBQUM7Z0JBQ2hCLENBQUMsQ0FBRSxJQUF1QjtnQkFDMUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRTtZQUNsRCxnQkFBZ0IsRUFBRTtnQkFDaEIsVUFBVSxFQUFFLElBQUEsNkNBQTBCLEVBQUMsUUFBUSxDQUFDO2FBQ2pEO1lBQ0QsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtTQUNsRCxDQUFDLENBQUM7SUFDTCxDQUFDO1NBQU0sSUFBSSxFQUFFLFlBQVksZ0JBQVEsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztJQUM5RSxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgZml4ZWRTY3JpcHRXYWxsZXQsIFBzYnQgYXMgV2FzbVBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCB7IGlzVHJpcGxlLCBJV2FsbGV0LCBUcmlwbGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyB0b0JpcDMyVHJpcGxlIH0gZnJvbSAnLi4va2V5Y2hhaW5zJztcbmltcG9ydCB7IGdldFBvbGljeUZvckVudiB9IGZyb20gJy4uL2Rlc2NyaXB0b3IvdmFsaWRhdGVQb2xpY3knO1xuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vbmFtZXMnO1xuaW1wb3J0IHR5cGUgeyBVbnNwZW50IH0gZnJvbSAnLi4vdW5zcGVudCc7XG5cbmltcG9ydCB7IGdldFJlcGxheVByb3RlY3Rpb25QdWJrZXlzIH0gZnJvbSAnLi9maXhlZFNjcmlwdC9yZXBsYXlQcm90ZWN0aW9uJztcbmltcG9ydCB0eXBlIHtcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvblV0eG9saWJMZWdhY3ksXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb25VdHhvbGliUHNidCxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbldhc20sXG59IGZyb20gJy4vZml4ZWRTY3JpcHQvZXhwbGFpblRyYW5zYWN0aW9uJztcbmltcG9ydCAqIGFzIGZpeGVkU2NyaXB0IGZyb20gJy4vZml4ZWRTY3JpcHQnO1xuaW1wb3J0ICogYXMgZGVzY3JpcHRvciBmcm9tICcuL2Rlc2NyaXB0b3InO1xuXG4vKipcbiAqIERlY29tcG9zZSBhIHJhdyB0cmFuc2FjdGlvbiBpbnRvIHVzZWZ1bCBpbmZvcm1hdGlvbiwgc3VjaCBhcyB0aGUgdG90YWwgYW1vdW50cyxcbiAqIGNoYW5nZSBhbW91bnRzLCBhbmQgdHJhbnNhY3Rpb24gb3V0cHV0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGxhaW5UeDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgdHg6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+IHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCB8IFdhc21Qc2J0LFxuICBwYXJhbXM6IHtcbiAgICB3YWxsZXQ/OiBJV2FsbGV0O1xuICAgIHB1YnM/OiBzdHJpbmdbXTtcbiAgICBjdXN0b21DaGFuZ2VYcHVicz86IFRyaXBsZTxzdHJpbmc+O1xuICAgIHR4SW5mbz86IHsgdW5zcGVudHM/OiBVbnNwZW50PFROdW1iZXI+W10gfTtcbiAgICBjaGFuZ2VJbmZvPzogZml4ZWRTY3JpcHQuQ2hhbmdlQWRkcmVzc0luZm9bXTtcbiAgfSxcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZVxuKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvblV0eG9saWJMZWdhY3kgfCBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uVXR4b2xpYlBzYnQgfCBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uV2FzbSB7XG4gIGlmIChwYXJhbXMud2FsbGV0ICYmIGlzRGVzY3JpcHRvcldhbGxldChwYXJhbXMud2FsbGV0KSkge1xuICAgIGlmICghKHR4IGluc3RhbmNlb2YgV2FzbVBzYnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Rlc2NyaXB0b3Igd2FsbGV0cyByZXF1aXJlIFBTQlQgZm9ybWF0IHRyYW5zYWN0aW9ucycpO1xuICAgIH1cbiAgICBpZiAoIXBhcmFtcy5wdWJzIHx8ICFpc1RyaXBsZShwYXJhbXMucHVicykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncHViIHRyaXBsZSBpcyByZXF1aXJlZCBmb3IgZGVzY3JpcHRvciB3YWxsZXRzJyk7XG4gICAgfVxuICAgIGNvbnN0IHdhbGxldEtleXMgPSB0b0JpcDMyVHJpcGxlKHBhcmFtcy5wdWJzKTtcbiAgICBjb25zdCBkZXNjcmlwdG9ycyA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHBhcmFtcy53YWxsZXQsIHdhbGxldEtleXMsIGdldFBvbGljeUZvckVudihwYXJhbXMud2FsbGV0LmJpdGdvLmVudikpO1xuICAgIHJldHVybiBkZXNjcmlwdG9yLmV4cGxhaW5Qc2J0KHR4LCBkZXNjcmlwdG9ycywgY29pbk5hbWUpO1xuICB9XG4gIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQpIHtcbiAgICByZXR1cm4gZml4ZWRTY3JpcHQuZXhwbGFpblBzYnQodHgsIHsgLi4ucGFyYW1zLCBjdXN0b21DaGFuZ2VQdWJzOiBwYXJhbXMuY3VzdG9tQ2hhbmdlWHB1YnMgfSwgY29pbk5hbWUpO1xuICB9IGVsc2UgaWYgKHR4IGluc3RhbmNlb2YgZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0KSB7XG4gICAgY29uc3QgcHVicyA9IHBhcmFtcy5wdWJzO1xuICAgIGlmICghcHVicykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwdWIgdHJpcGxlIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGNvbnN0IHdhbGxldFhwdWJzOiBUcmlwbGU8c3RyaW5nPiB8IHVuZGVmaW5lZCA9XG4gICAgICBwdWJzIGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5c1xuICAgICAgICA/IChwdWJzLnRyaXBsZS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKSBhcyBUcmlwbGU8c3RyaW5nPilcbiAgICAgICAgOiBpc1RyaXBsZShwdWJzKVxuICAgICAgICA/IChwdWJzIGFzIFRyaXBsZTxzdHJpbmc+KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBpZiAoIXdhbGxldFhwdWJzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3B1YiB0cmlwbGUgbXVzdCBiZSB2YWxpZCB0cmlwbGUgb3IgUm9vdFdhbGxldEtleXMnKTtcbiAgICB9XG4gICAgcmV0dXJuIGZpeGVkU2NyaXB0LmV4cGxhaW5Qc2J0V2FzbSh0eCwgd2FsbGV0WHB1YnMsIHtcbiAgICAgIHJlcGxheVByb3RlY3Rpb246IHtcbiAgICAgICAgcHVibGljS2V5czogZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmtleXMoY29pbk5hbWUpLFxuICAgICAgfSxcbiAgICAgIGN1c3RvbUNoYW5nZVdhbGxldFhwdWJzOiBwYXJhbXMuY3VzdG9tQ2hhbmdlWHB1YnMsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAodHggaW5zdGFuY2VvZiBXYXNtUHNidCkge1xuICAgIHRocm93IG5ldyBFcnJvcignZGVzY3JpcHRvciBQc2J0IGlzIG9ubHkgc3VwcG9ydGVkIGZvciBkZXNjcmlwdG9yIHdhbGxldHMnKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZml4ZWRTY3JpcHQuZXhwbGFpbkxlZ2FjeVR4KHR4LCBwYXJhbXMsIGNvaW5OYW1lKTtcbiAgfVxufVxuIl19
|
|
@@ -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"}
|
|
@@ -69,30 +69,27 @@ async function signTransaction(coin, bitgo, params) {
|
|
|
69
69
|
}
|
|
70
70
|
throw new Error('missing txPrebuild parameter');
|
|
71
71
|
}
|
|
72
|
-
let tx = coin.decodeTransactionFromPrebuild(params.txPrebuild);
|
|
73
|
-
// When returnLegacyFormat is set, ensure we use wasm-utxo's BitGoPsbt so
|
|
74
|
-
// getHalfSignedLegacyFormat() is available after signing.
|
|
75
|
-
if (params.returnLegacyFormat && (0, wasmUtil_1.isUtxoLibPsbt)(tx)) {
|
|
76
|
-
tx = (0, decode_1.decodePsbtWith)(tx.toBuffer(), coin.name, 'wasm-utxo');
|
|
77
|
-
}
|
|
78
72
|
const signerKeychain = getSignerKeychain(params.prv);
|
|
79
73
|
const { wallet } = params;
|
|
80
74
|
if (wallet && (0, descriptor_1.isDescriptorWallet)(wallet)) {
|
|
81
75
|
if (!signerKeychain) {
|
|
82
76
|
throw new Error('missing signer');
|
|
83
77
|
}
|
|
84
|
-
|
|
85
|
-
throw new Error('descriptor wallets require PSBT format transactions');
|
|
86
|
-
}
|
|
78
|
+
const psbt = (0, decode_1.decodeDescriptorPsbt)(params.txPrebuild);
|
|
87
79
|
const walletKeys = (0, keychains_1.toBip32Triple)(await (0, keychains_1.fetchKeychains)(coin, wallet));
|
|
88
80
|
const descriptorMap = (0, descriptor_1.getDescriptorMapFromWallet)(wallet, walletKeys, (0, descriptor_1.getPolicyForEnv)(bitgo.env));
|
|
89
|
-
const psbt = (0, wasmUtil_1.toWasmPsbt)(tx);
|
|
90
81
|
descriptor.signPsbt(psbt, descriptorMap, signerKeychain, {
|
|
91
82
|
onUnknownInput: 'throw',
|
|
92
83
|
});
|
|
93
84
|
return { txHex: Buffer.from(psbt.serialize()).toString('hex') };
|
|
94
85
|
}
|
|
95
86
|
else {
|
|
87
|
+
let tx = coin.decodeTransactionFromPrebuild(params.txPrebuild);
|
|
88
|
+
// When returnLegacyFormat is set, ensure we use wasm-utxo's BitGoPsbt so
|
|
89
|
+
// getHalfSignedLegacyFormat() is available after signing.
|
|
90
|
+
if (params.returnLegacyFormat && (0, wasmUtil_1.isUtxoLibPsbt)(tx)) {
|
|
91
|
+
tx = (0, decode_1.decodePsbtWith)(tx.toBuffer(), coin.name, 'wasm-utxo');
|
|
92
|
+
}
|
|
96
93
|
const signedTx = await fixedScript.signTransaction(coin, tx, getSignerKeychain(params.prv), coin.name, {
|
|
97
94
|
walletId: params.txPrebuild.walletId,
|
|
98
95
|
txInfo: params.txPrebuild.txInfo,
|
|
@@ -112,4 +109,4 @@ async function signTransaction(coin, bitgo, params) {
|
|
|
112
109
|
return { txHex: buffer.toString('hex') };
|
|
113
110
|
}
|
|
114
111
|
}
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQStCQSwwQ0EwREM7QUF6RkQsb0RBQXVCO0FBRXZCLGdEQUE0RDtBQUM1RCxrREFBK0I7QUFHL0IsOENBQWdHO0FBQ2hHLDRDQUE2RDtBQUM3RCwwQ0FBNEM7QUFFNUMsMkRBQTZDO0FBQzdDLHlEQUEyQztBQUMzQyxxQ0FBbUY7QUFFbkYsTUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFVLEVBQUMsaURBQWlELENBQUMsQ0FBQztBQUU1RSxTQUFTLGlCQUFpQixDQUFDLE9BQWdCO0lBQ3pDLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsaUJBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELEtBQUssQ0FBQyx3REFBd0QsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RyxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDO0FBRU0sS0FBSyxVQUFVLGVBQWUsQ0FDbkMsSUFBc0IsRUFDdEIsS0FBZ0IsRUFDaEIsTUFBdUM7SUFFdkMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUVyQyxJQUFJLGdCQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsZ0JBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLE9BQU8sVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNqRixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFckQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUUxQixJQUFJLE1BQU0sSUFBSSxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBQSw2QkFBb0IsRUFBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsSUFBQSx5QkFBYSxFQUFDLE1BQU0sSUFBQSwwQkFBYyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sYUFBYSxHQUFHLElBQUEsdUNBQTBCLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFBLDRCQUFlLEVBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRTtZQUN2RCxjQUFjLEVBQUUsT0FBTztTQUN4QixDQUFDLENBQUM7UUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDbEUsQ0FBQztTQUFNLENBQUM7UUFDTixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRS9ELHlFQUF5RTtRQUN6RSwwREFBMEQ7UUFDMUQsSUFBSSxNQUFNLENBQUMsa0JBQWtCLElBQUksSUFBQSx3QkFBYSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkQsRUFBRSxHQUFHLElBQUEsdUJBQWMsRUFBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDckcsUUFBUSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUTtZQUNwQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQ2hDLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxJQUFJLEtBQUs7WUFDaEQsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLGtDQUFrQyxFQUFFLE1BQU0sQ0FBQyxrQ0FBa0MsSUFBSSxLQUFLO1lBQ3RGLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0Isa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtZQUM3QyxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsb0dBQW9HO1FBQ3BHLElBQUksTUFBTSxDQUFDLGtCQUFrQixJQUFJLFFBQVEsWUFBWSw2QkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0RixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLDBCQUFpQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCSVAzMiwgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBmZXRjaEtleWNoYWlucywgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uL2tleWNoYWlucyc7XG5pbXBvcnQgeyBpc1V0eG9MaWJQc2J0IH0gZnJvbSAnLi4vd2FzbVV0aWwnO1xuXG5pbXBvcnQgKiBhcyBmaXhlZFNjcmlwdCBmcm9tICcuL2ZpeGVkU2NyaXB0JztcbmltcG9ydCAqIGFzIGRlc2NyaXB0b3IgZnJvbSAnLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGRlY29kZURlc2NyaXB0b3JQc2J0LCBkZWNvZGVQc2J0V2l0aCwgZW5jb2RlVHJhbnNhY3Rpb24gfSBmcm9tICcuL2RlY29kZSc7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygnYml0Z286YWJzdHJhY3QtdXR4bzp0cmFuc2FjdGlvbjpzaWduVHJhbnNhY3Rpb24nKTtcblxuZnVuY3Rpb24gZ2V0U2lnbmVyS2V5Y2hhaW4odXNlclBydjogdW5rbm93bik6IEJJUDMyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHVzZXJQcnYgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgaWYgKHR5cGVvZiB1c2VyUHJ2ICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgdXNlciBwcml2YXRlIGtleSB0byBiZSBhIHN0cmluZycpO1xuICB9XG4gIGNvbnN0IHNpZ25lcktleWNoYWluID0gQklQMzIuZnJvbUJhc2U1OCh1c2VyUHJ2KTtcbiAgaWYgKHNpZ25lcktleWNoYWluLmlzTmV1dGVyZWQoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgdXNlciBwcml2YXRlIGtleSBidXQgcmVjZWl2ZWQgcHVibGljIGtleScpO1xuICB9XG4gIGRlYnVnKGBIZXJlIGlzIHRoZSBwdWJsaWMga2V5IG9mIHRoZSB4cHJ2IHlvdSB1c2VkIHRvIHNpZ246ICR7c2lnbmVyS2V5Y2hhaW4ubmV1dGVyZWQoKS50b0Jhc2U1OCgpfWApO1xuICByZXR1cm4gc2lnbmVyS2V5Y2hhaW47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaWduVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuKTogUHJvbWlzZTx7IHR4SGV4OiBzdHJpbmcgfT4ge1xuICBjb25zdCB0eFByZWJ1aWxkID0gcGFyYW1zLnR4UHJlYnVpbGQ7XG5cbiAgaWYgKF8uaXNVbmRlZmluZWQodHhQcmVidWlsZCkgfHwgIV8uaXNPYmplY3QodHhQcmVidWlsZCkpIHtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodHhQcmVidWlsZCkgJiYgIV8uaXNPYmplY3QodHhQcmVidWlsZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdHhQcmVidWlsZCBtdXN0IGJlIGFuIG9iamVjdCwgZ290IHR5cGUgJHt0eXBlb2YgdHhQcmVidWlsZH1gKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHR4UHJlYnVpbGQgcGFyYW1ldGVyJyk7XG4gIH1cblxuICBjb25zdCBzaWduZXJLZXljaGFpbiA9IGdldFNpZ25lcktleWNoYWluKHBhcmFtcy5wcnYpO1xuXG4gIGNvbnN0IHsgd2FsbGV0IH0gPSBwYXJhbXM7XG5cbiAgaWYgKHdhbGxldCAmJiBpc0Rlc2NyaXB0b3JXYWxsZXQod2FsbGV0KSkge1xuICAgIGlmICghc2lnbmVyS2V5Y2hhaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBzaWduZXInKTtcbiAgICB9XG4gICAgY29uc3QgcHNidCA9IGRlY29kZURlc2NyaXB0b3JQc2J0KHBhcmFtcy50eFByZWJ1aWxkKTtcbiAgICBjb25zdCB3YWxsZXRLZXlzID0gdG9CaXAzMlRyaXBsZShhd2FpdCBmZXRjaEtleWNoYWlucyhjb2luLCB3YWxsZXQpKTtcbiAgICBjb25zdCBkZXNjcmlwdG9yTWFwID0gZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQod2FsbGV0LCB3YWxsZXRLZXlzLCBnZXRQb2xpY3lGb3JFbnYoYml0Z28uZW52KSk7XG4gICAgZGVzY3JpcHRvci5zaWduUHNidChwc2J0LCBkZXNjcmlwdG9yTWFwLCBzaWduZXJLZXljaGFpbiwge1xuICAgICAgb25Vbmtub3duSW5wdXQ6ICd0aHJvdycsXG4gICAgfSk7XG4gICAgcmV0dXJuIHsgdHhIZXg6IEJ1ZmZlci5mcm9tKHBzYnQuc2VyaWFsaXplKCkpLnRvU3RyaW5nKCdoZXgnKSB9O1xuICB9IGVsc2Uge1xuICAgIGxldCB0eCA9IGNvaW4uZGVjb2RlVHJhbnNhY3Rpb25Gcm9tUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpO1xuXG4gICAgLy8gV2hlbiByZXR1cm5MZWdhY3lGb3JtYXQgaXMgc2V0LCBlbnN1cmUgd2UgdXNlIHdhc20tdXR4bydzIEJpdEdvUHNidCBzb1xuICAgIC8vIGdldEhhbGZTaWduZWRMZWdhY3lGb3JtYXQoKSBpcyBhdmFpbGFibGUgYWZ0ZXIgc2lnbmluZy5cbiAgICBpZiAocGFyYW1zLnJldHVybkxlZ2FjeUZvcm1hdCAmJiBpc1V0eG9MaWJQc2J0KHR4KSkge1xuICAgICAgdHggPSBkZWNvZGVQc2J0V2l0aCh0eC50b0J1ZmZlcigpLCBjb2luLm5hbWUsICd3YXNtLXV0eG8nKTtcbiAgICB9XG5cbiAgICBjb25zdCBzaWduZWRUeCA9IGF3YWl0IGZpeGVkU2NyaXB0LnNpZ25UcmFuc2FjdGlvbihjb2luLCB0eCwgZ2V0U2lnbmVyS2V5Y2hhaW4ocGFyYW1zLnBydiksIGNvaW4ubmFtZSwge1xuICAgICAgd2FsbGV0SWQ6IHBhcmFtcy50eFByZWJ1aWxkLndhbGxldElkLFxuICAgICAgdHhJbmZvOiBwYXJhbXMudHhQcmVidWlsZC50eEluZm8sXG4gICAgICBpc0xhc3RTaWduYXR1cmU6IHBhcmFtcy5pc0xhc3RTaWduYXR1cmUgPz8gZmFsc2UsXG4gICAgICBzaWduaW5nU3RlcDogcGFyYW1zLnNpZ25pbmdTdGVwLFxuICAgICAgYWxsb3dOb25TZWd3aXRTaWduaW5nV2l0aG91dFByZXZUeDogcGFyYW1zLmFsbG93Tm9uU2Vnd2l0U2lnbmluZ1dpdGhvdXRQcmV2VHggPz8gZmFsc2UsXG4gICAgICBwdWJzOiBwYXJhbXMucHVicyxcbiAgICAgIGNvc2lnbmVyUHViOiBwYXJhbXMuY29zaWduZXJQdWIsXG4gICAgICBleHRyYWN0VHJhbnNhY3Rpb246IHBhcmFtcy5leHRyYWN0VHJhbnNhY3Rpb24sXG4gICAgICB3cml0ZVNpZ25lZFdpdGg6IHBhcmFtcy53cml0ZVNpZ25lZFdpdGgsXG4gICAgfSk7XG5cbiAgICAvLyBDb252ZXJ0IGhhbGYtc2lnbmVkIFBTQlQgdG8gbGVnYWN5IGZvcm1hdCB3aGVuIHRoZSBjYWxsZXIgZXhwbGljaXRseSByZXF1ZXN0ZWQgdHhGb3JtYXQ6ICdsZWdhY3knXG4gICAgaWYgKHBhcmFtcy5yZXR1cm5MZWdhY3lGb3JtYXQgJiYgc2lnbmVkVHggaW5zdGFuY2VvZiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQpIHtcbiAgICAgIHJldHVybiB7IHR4SGV4OiBCdWZmZXIuZnJvbShzaWduZWRUeC5nZXRIYWxmU2lnbmVkTGVnYWN5Rm9ybWF0KCkpLnRvU3RyaW5nKCdoZXgnKSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5pc0J1ZmZlcihzaWduZWRUeCkgPyBzaWduZWRUeCA6IGVuY29kZVRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICByZXR1cm4geyB0eEhleDogYnVmZmVyLnRvU3RyaW5nKCdoZXgnKSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -35,9 +35,13 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
const assert = __importStar(require("assert"));
|
|
37
37
|
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
38
|
+
const wasm_utxo_1 = require("@bitgo/wasm-utxo");
|
|
38
39
|
const src_1 = require("../../src");
|
|
39
40
|
const util_1 = require("./util");
|
|
40
41
|
const keychains = util_1.keychainsBase58.map((k) => ({ pub: k.pub }));
|
|
42
|
+
// A chain code that no released SDK version has ever defined — simulates a future
|
|
43
|
+
// server-side address type unknown to an older client.
|
|
44
|
+
const unknownChainCode = 99;
|
|
41
45
|
describe('assertFixedScriptWalletAddress', function () {
|
|
42
46
|
describe('input validation', function () {
|
|
43
47
|
it('throws InvalidAddressDerivationPropertyError when both chain and index are undefined', function () {
|
|
@@ -117,6 +121,28 @@ describe('assertFixedScriptWalletAddress', function () {
|
|
|
117
121
|
address,
|
|
118
122
|
}));
|
|
119
123
|
});
|
|
124
|
+
// Regression guard for T1-3386 / T1-3385: an unknown chain code must throw
|
|
125
|
+
// immediately with a clear message rather than silently falling back to P2SH
|
|
126
|
+
// and producing a confusing "expected <P2SH> but got <P2TR>" error.
|
|
127
|
+
it('throws InvalidAddressDerivationPropertyError for an unknown chain code', function () {
|
|
128
|
+
assert.ok(!wasm_utxo_1.fixedScriptWallet.ChainCode.is(unknownChainCode), 'test prerequisite: chain must be unknown');
|
|
129
|
+
const serverAddress = (0, src_1.generateAddress)('btc', { keychains, chain: 40 });
|
|
130
|
+
assert.throws(() => (0, src_1.assertFixedScriptWalletAddress)('btc', {
|
|
131
|
+
chain: unknownChainCode,
|
|
132
|
+
index: 0,
|
|
133
|
+
keychains,
|
|
134
|
+
format: 'base58',
|
|
135
|
+
address: serverAddress,
|
|
136
|
+
}), (err) => {
|
|
137
|
+
assert.ok(err instanceof sdk_core_1.InvalidAddressDerivationPropertyError);
|
|
138
|
+
assert.ok(err.message.includes(String(unknownChainCode)), `expected error to name the unrecognised chain code, got: ${err.message}`);
|
|
139
|
+
return true;
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
it('generateAddress throws InvalidAddressDerivationPropertyError for an unknown chain code', function () {
|
|
143
|
+
assert.ok(!wasm_utxo_1.fixedScriptWallet.ChainCode.is(unknownChainCode), 'test prerequisite: chain must be unknown');
|
|
144
|
+
assert.throws(() => (0, src_1.generateAddress)('btc', { keychains, chain: unknownChainCode }), sdk_core_1.InvalidAddressDerivationPropertyError);
|
|
145
|
+
});
|
|
120
146
|
it('succeeds for bch cashaddr (chain 0)', function () {
|
|
121
147
|
const address = (0, src_1.generateAddress)('bch', { keychains, chain: 0, format: 'cashaddr' });
|
|
122
148
|
assert.doesNotThrow(() => (0, src_1.assertFixedScriptWalletAddress)('bch', {
|
|
@@ -149,4 +175,4 @@ describe('assertFixedScriptWalletAddress', function () {
|
|
|
149
175
|
});
|
|
150
176
|
});
|
|
151
177
|
});
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBRWpDLDhDQUFnRztBQUVoRyxtQ0FBNEU7QUFFNUUsaUNBQXlDO0FBRXpDLE1BQU0sU0FBUyxHQUFHLHNCQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFL0QsUUFBUSxDQUFDLGdDQUFnQyxFQUFFO0lBQ3pDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtRQUMzQixFQUFFLENBQUMsc0ZBQXNGLEVBQUU7WUFDekYsTUFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFHLEVBQUUsQ0FDSCxJQUFBLG9DQUE4QixFQUFDLEtBQUssRUFBRTtnQkFDcEMsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSxTQUE4QjtnQkFDckMsU0FBUztnQkFDVCxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsT0FBTyxFQUFFLFVBQVU7YUFDcEIsQ0FBQyxFQUNKLGdEQUFxQyxDQUN0QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUVBQXVFLEVBQUU7WUFDMUUsTUFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFHLEVBQUUsQ0FDSCxJQUFBLG9DQUE4QixFQUFDLEtBQUssRUFBRTtnQkFDcEMsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsU0FBUztnQkFDVCxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsT0FBTyxFQUFFLFVBQVU7YUFDcEIsQ0FBQyxFQUNKLGdEQUFxQyxDQUN0QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUVBQXVF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Q0osaUNBQXNCLENBQ3ZCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvciwgVW5leHBlY3RlZEFkZHJlc3NFcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmltcG9ydCB7IGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcywgZ2VuZXJhdGVBZGRyZXNzIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuaW1wb3J0IHsga2V5Y2hhaW5zQmFzZTU4IH0gZnJvbSAnLi91dGlsJztcblxuY29uc3Qga2V5Y2hhaW5zID0ga2V5Y2hhaW5zQmFzZTU4Lm1hcCgoaykgPT4gKHsgcHViOiBrLnB1YiB9KSk7XG5cbmRlc2NyaWJlKCdhc3NlcnRGaXhlZFNjcmlwdFdhbGxldEFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gIGRlc2NyaWJlKCdpbnB1dCB2YWxpZGF0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCd0aHJvd3MgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvciB3aGVuIGJvdGggY2hhaW4gYW5kIGluZGV4IGFyZSB1bmRlZmluZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgICAgY2hhaW46IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGluZGV4OiB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBudW1iZXIsXG4gICAgICAgICAgICBrZXljaGFpbnMsXG4gICAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgICAgYWRkcmVzczogJ2FueXRoaW5nJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvclxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCd0aHJvd3MgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvciB3aGVuIGNoYWluIGlzIG5vbi1maW5pdGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgICAgY2hhaW46IEluZmluaXR5LFxuICAgICAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgICAgICBrZXljaGFpbnMsXG4gICAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgICAgYWRkcmVzczogJ2FueXRoaW5nJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvclxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCd0aHJvd3MgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvciB3aGVuIGluZGV4IGlzIG5vbi1maW5pdGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgICAgY2hhaW46IDAsXG4gICAgICAgICAgICBpbmRleDogTmFOLFxuICAgICAgICAgICAga2V5Y2hhaW5zLFxuICAgICAgICAgICAgZm9ybWF0OiAnYmFzZTU4JyxcbiAgICAgICAgICAgIGFkZHJlc3M6ICdhbnl0aGluZycsXG4gICAgICAgICAgfSksXG4gICAgICAgIEludmFsaWRBZGRyZXNzRGVyaXZhdGlvblByb3BlcnR5RXJyb3JcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgndGhyb3dzIHdoZW4ga2V5Y2hhaW5zIGlzIG1pc3NpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgICAgY2hhaW46IDAsXG4gICAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICAgIGtleWNoYWluczogdW5kZWZpbmVkIGFzIHVua25vd24gYXMgeyBwdWI6IHN0cmluZyB9W10sXG4gICAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgICAgYWRkcmVzczogJ2FueXRoaW5nJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgL21pc3NpbmcgcmVxdWlyZWQgcGFyYW0ga2V5Y2hhaW5zL1xuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2FkZHJlc3MgbWF0Y2hpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Rocm93cyBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yIHdoZW4gYWRkcmVzcyBkb2VzIG5vdCBtYXRjaCBkZXJpdmVkIGFkZHJlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgICAgY2hhaW46IDAsXG4gICAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICAgIGZvcm1hdDogJ2Jhc2U1OCcsXG4gICAgICAgICAgICBhZGRyZXNzOiAnM0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEnLFxuICAgICAgICAgIH0pLFxuICAgICAgICBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3N1Y2NlZWRzIGZvciBidGMgcDJzaCAoY2hhaW4gMCknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhZGRyZXNzID0gZ2VuZXJhdGVBZGRyZXNzKCdidGMnLCB7IGtleWNoYWlucywgY2hhaW46IDAgfSk7XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+XG4gICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgIGNoYWluOiAwLFxuICAgICAgICAgIGluZGV4OiAwLFxuICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3N1Y2NlZWRzIGZvciBidGMgcDJ3c2ggKGNoYWluIDIwKScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MoJ2J0YycsIHsga2V5Y2hhaW5zLCBjaGFpbjogMjAgfSk7XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+XG4gICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgIGNoYWluOiAyMCxcbiAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICBrZXljaGFpbnMsXG4gICAgICAgICAgZm9ybWF0OiAnYmFzZTU4JyxcbiAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzdWNjZWVkcyBmb3IgYnRjIHAydHIgKGNoYWluIDQwKScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MoJ2J0YycsIHsga2V5Y2hhaW5zLCBjaGFpbjogNDAgfSk7XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+XG4gICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgIGNoYWluOiA0MCxcbiAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICBrZXljaGFpbnMsXG4gICAgICAgICAgZm9ybWF0OiAnYmFzZTU4JyxcbiAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzdWNjZWVkcyBmb3IgYmNoIGNhc2hhZGRyIChjaGFpbiAwKScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MoJ2JjaCcsIHsga2V5Y2hhaW5zLCBjaGFpbjogMCwgZm9ybWF0OiAnY2FzaGFkZHInIH0pO1xuICAgICAgYXNzZXJ0LmRvZXNOb3RUaHJvdygoKSA9PlxuICAgICAgICBhc3NlcnRGaXhlZFNjcmlwdFdhbGxldEFkZHJlc3MoJ2JjaCcsIHtcbiAgICAgICAgICBjaGFpbjogMCxcbiAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICBrZXljaGFpbnMsXG4gICAgICAgICAgZm9ybWF0OiAnY2FzaGFkZHInLFxuICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3N1Y2NlZWRzIGZvciBhIG5vbi16ZXJvIGluZGV4JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzcyA9IGdlbmVyYXRlQWRkcmVzcygnYnRjJywgeyBrZXljaGFpbnMsIGNoYWluOiAwLCBpbmRleDogNSB9KTtcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT5cbiAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgY2hhaW46IDAsXG4gICAgICAgICAgaW5kZXg6IDUsXG4gICAgICAgICAga2V5Y2hhaW5zLFxuICAgICAgICAgIGZvcm1hdDogJ2Jhc2U1OCcsXG4gICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgndGhyb3dzIFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3Igd2hlbiBpbmRleCBkb2VzIG5vdCBtYXRjaCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MoJ2J0YycsIHsga2V5Y2hhaW5zLCBjaGFpbjogMCwgaW5kZXg6IDAgfSk7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgICAgY2hhaW46IDAsXG4gICAgICAgICAgICBpbmRleDogMSxcbiAgICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICAgIGZvcm1hdDogJ2Jhc2U1OCcsXG4gICAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgIH0pLFxuICAgICAgICBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBRWpDLDhDQUFnRztBQUNoRyxnREFBcUQ7QUFFckQsbUNBQTRFO0FBRTVFLGlDQUF5QztBQUV6QyxNQUFNLFNBQVMsR0FBRyxzQkFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRS9ELGtGQUFrRjtBQUNsRix1REFBdUQ7QUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7QUFFNUIsUUFBUSxDQUFDLGdDQUFnQyxFQUFFO0lBQ3pDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtRQUMzQixFQUFFLENBQUMsc0ZBQXNGLEVBQUU7WUFDekYsTUFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFHLEVBQUUsQ0FDSCxJQUFBLG9DQUE4QixFQUFDLEtBQUssRUFBRTtnQkFDcEMsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSxTQUE4QjtnQkFDckMsU0FBUztnQkFDVCxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsT0FBTyxFQUFFLFVBQVU7YUFDcEIsQ0FBQyxFQUNKLGdEQUFxQyxDQUN0QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsdUVBQXVFLEVBQUU7WUFDMUUsTUFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFHLEVBQUUsQ0FDSCxJQUFBLG9DQUE4QixFQUFDLEtBQUssRUFBRTtnQkFDcEMsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsU0FBUztnQkFDVCxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsT0FBTyxFQUFFLFVBQVU7YUFD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QUFNLENBQ1gsR0FBRyxFQUFFLENBQ0gsSUFBQSxvQ0FBOEIsRUFBQyxLQUFLLEVBQUU7Z0JBQ3BDLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxDQUFDO2dCQUNSLFNBQVM7Z0JBQ1QsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE9BQU87YUFDUixDQUFDLEVBQ0osaUNBQXNCLENBQ3ZCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvciwgVW5leHBlY3RlZEFkZHJlc3NFcnJvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBmaXhlZFNjcmlwdFdhbGxldCB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBhc3NlcnRGaXhlZFNjcmlwdFdhbGxldEFkZHJlc3MsIGdlbmVyYXRlQWRkcmVzcyB9IGZyb20gJy4uLy4uL3NyYyc7XG5cbmltcG9ydCB7IGtleWNoYWluc0Jhc2U1OCB9IGZyb20gJy4vdXRpbCc7XG5cbmNvbnN0IGtleWNoYWlucyA9IGtleWNoYWluc0Jhc2U1OC5tYXAoKGspID0+ICh7IHB1Yjogay5wdWIgfSkpO1xuXG4vLyBBIGNoYWluIGNvZGUgdGhhdCBubyByZWxlYXNlZCBTREsgdmVyc2lvbiBoYXMgZXZlciBkZWZpbmVkIOKAlCBzaW11bGF0ZXMgYSBmdXR1cmVcbi8vIHNlcnZlci1zaWRlIGFkZHJlc3MgdHlwZSB1bmtub3duIHRvIGFuIG9sZGVyIGNsaWVudC5cbmNvbnN0IHVua25vd25DaGFpbkNvZGUgPSA5OTtcblxuZGVzY3JpYmUoJ2Fzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgZGVzY3JpYmUoJ2lucHV0IHZhbGlkYXRpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Rocm93cyBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yIHdoZW4gYm90aCBjaGFpbiBhbmQgaW5kZXggYXJlIHVuZGVmaW5lZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgICBjaGFpbjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgaW5kZXg6IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIG51bWJlcixcbiAgICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICAgIGZvcm1hdDogJ2Jhc2U1OCcsXG4gICAgICAgICAgICBhZGRyZXNzOiAnYW55dGhpbmcnLFxuICAgICAgICAgIH0pLFxuICAgICAgICBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Rocm93cyBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yIHdoZW4gY2hhaW4gaXMgbm9uLWZpbml0ZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgICBjaGFpbjogSW5maW5pdHksXG4gICAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICAgIGZvcm1hdDogJ2Jhc2U1OCcsXG4gICAgICAgICAgICBhZGRyZXNzOiAnYW55dGhpbmcnLFxuICAgICAgICAgIH0pLFxuICAgICAgICBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Rocm93cyBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yIHdoZW4gaW5kZXggaXMgbm9uLWZpbml0ZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgICBjaGFpbjogMCxcbiAgICAgICAgICAgIGluZGV4OiBOYU4sXG4gICAgICAgICAgICBrZXljaGFpbnMsXG4gICAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgICAgYWRkcmVzczogJ2FueXRoaW5nJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgSW52YWxpZEFkZHJlc3NEZXJpdmF0aW9uUHJvcGVydHlFcnJvclxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCd0aHJvd3Mgd2hlbiBrZXljaGFpbnMgaXMgbWlzc2luZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgICBjaGFpbjogMCxcbiAgICAgICAgICAgIGluZGV4OiAwLFxuICAgICAgICAgICAga2V5Y2hhaW5zOiB1bmRlZmluZWQgYXMgdW5rbm93biBhcyB7IHB1Yjogc3RyaW5nIH1bXSxcbiAgICAgICAgICAgIGZvcm1hdDogJ2Jhc2U1OCcsXG4gICAgICAgICAgICBhZGRyZXNzOiAnYW55dGhpbmcnLFxuICAgICAgICAgIH0pLFxuICAgICAgICAvbWlzc2luZyByZXF1aXJlZCBwYXJhbSBrZXljaGFpbnMvXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkcmVzcyBtYXRjaGluZycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgndGhyb3dzIFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3Igd2hlbiBhZGRyZXNzIGRvZXMgbm90IG1hdGNoIGRlcml2ZWQgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgICBjaGFpbjogMCxcbiAgICAgICAgICAgIGluZGV4OiAwLFxuICAgICAgICAgICAga2V5Y2hhaW5zLFxuICAgICAgICAgICAgZm9ybWF0OiAnYmFzZTU4JyxcbiAgICAgICAgICAgIGFkZHJlc3M6ICczQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQScsXG4gICAgICAgICAgfSksXG4gICAgICAgIFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3JcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc3VjY2VlZHMgZm9yIGJ0YyBwMnNoIChjaGFpbiAwKScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MoJ2J0YycsIHsga2V5Y2hhaW5zLCBjaGFpbjogMCB9KTtcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT5cbiAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgY2hhaW46IDAsXG4gICAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgICAga2V5Y2hhaW5zLFxuICAgICAgICAgIGZvcm1hdDogJ2Jhc2U1OCcsXG4gICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc3VjY2VlZHMgZm9yIGJ0YyBwMndzaCAoY2hhaW4gMjApJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzcyA9IGdlbmVyYXRlQWRkcmVzcygnYnRjJywgeyBrZXljaGFpbnMsIGNoYWluOiAyMCB9KTtcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT5cbiAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgY2hhaW46IDIwLFxuICAgICAgICAgIGluZGV4OiAwLFxuICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3N1Y2NlZWRzIGZvciBidGMgcDJ0ciAoY2hhaW4gNDApJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzcyA9IGdlbmVyYXRlQWRkcmVzcygnYnRjJywgeyBrZXljaGFpbnMsIGNoYWluOiA0MCB9KTtcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT5cbiAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdidGMnLCB7XG4gICAgICAgICAgY2hhaW46IDQwLFxuICAgICAgICAgIGluZGV4OiAwLFxuICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8gUmVncmVzc2lvbiBndWFyZCBmb3IgVDEtMzM4NiAvIFQxLTMzODU6IGFuIHVua25vd24gY2hhaW4gY29kZSBtdXN0IHRocm93XG4gICAgLy8gaW1tZWRpYXRlbHkgd2l0aCBhIGNsZWFyIG1lc3NhZ2UgcmF0aGVyIHRoYW4gc2lsZW50bHkgZmFsbGluZyBiYWNrIHRvIFAyU0hcbiAgICAvLyBhbmQgcHJvZHVjaW5nIGEgY29uZnVzaW5nIFwiZXhwZWN0ZWQgPFAyU0g+IGJ1dCBnb3QgPFAyVFI+XCIgZXJyb3IuXG4gICAgaXQoJ3Rocm93cyBJbnZhbGlkQWRkcmVzc0Rlcml2YXRpb25Qcm9wZXJ0eUVycm9yIGZvciBhbiB1bmtub3duIGNoYWluIGNvZGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQub2soIWZpeGVkU2NyaXB0V2FsbGV0LkNoYWluQ29kZS5pcyh1bmtub3duQ2hhaW5Db2RlKSwgJ3Rlc3QgcHJlcmVxdWlzaXRlOiBjaGFpbiBtdXN0IGJlIHVua25vd24nKTtcbiAgICAgIGNvbnN0IHNlcnZlckFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MoJ2J0YycsIHsga2V5Y2hhaW5zLCBjaGFpbjogNDAgfSk7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgICAgY2hhaW46IHVua25vd25DaGFpbkNvZGUsXG4gICAgICAgICAgICBpbmRleDogMCxcbiAgICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICAgIGZvcm1hdDogJ2Jhc2U1OCcsXG4gICAgICAgICAgICBhZGRyZXNzOiBzZXJ2ZXJBZGRyZXNzLFxuICAgICAgICAgIH0pLFxuICAgICAgICAoZXJyOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgYXNzZXJ0Lm9rKGVyciBpbnN0YW5jZW9mIEludmFsaWRBZGRyZXNzRGVyaXZhdGlvblByb3BlcnR5RXJyb3IpO1xuICAgICAgICAgIGFzc2VydC5vayhcbiAgICAgICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFN0cmluZyh1bmtub3duQ2hhaW5Db2RlKSksXG4gICAgICAgICAgICBgZXhwZWN0ZWQgZXJyb3IgdG8gbmFtZSB0aGUgdW5yZWNvZ25pc2VkIGNoYWluIGNvZGUsIGdvdDogJHtlcnIubWVzc2FnZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdnZW5lcmF0ZUFkZHJlc3MgdGhyb3dzIEludmFsaWRBZGRyZXNzRGVyaXZhdGlvblByb3BlcnR5RXJyb3IgZm9yIGFuIHVua25vd24gY2hhaW4gY29kZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC5vayghZml4ZWRTY3JpcHRXYWxsZXQuQ2hhaW5Db2RlLmlzKHVua25vd25DaGFpbkNvZGUpLCAndGVzdCBwcmVyZXF1aXNpdGU6IGNoYWluIG11c3QgYmUgdW5rbm93bicpO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4gZ2VuZXJhdGVBZGRyZXNzKCdidGMnLCB7IGtleWNoYWlucywgY2hhaW46IHVua25vd25DaGFpbkNvZGUgfSksXG4gICAgICAgIEludmFsaWRBZGRyZXNzRGVyaXZhdGlvblByb3BlcnR5RXJyb3JcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc3VjY2VlZHMgZm9yIGJjaCBjYXNoYWRkciAoY2hhaW4gMCknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhZGRyZXNzID0gZ2VuZXJhdGVBZGRyZXNzKCdiY2gnLCB7IGtleWNoYWlucywgY2hhaW46IDAsIGZvcm1hdDogJ2Nhc2hhZGRyJyB9KTtcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT5cbiAgICAgICAgYXNzZXJ0Rml4ZWRTY3JpcHRXYWxsZXRBZGRyZXNzKCdiY2gnLCB7XG4gICAgICAgICAgY2hhaW46IDAsXG4gICAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgICAga2V5Y2hhaW5zLFxuICAgICAgICAgIGZvcm1hdDogJ2Nhc2hhZGRyJyxcbiAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzdWNjZWVkcyBmb3IgYSBub24temVybyBpbmRleCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MoJ2J0YycsIHsga2V5Y2hhaW5zLCBjaGFpbjogMCwgaW5kZXg6IDUgfSk7XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+XG4gICAgICAgIGFzc2VydEZpeGVkU2NyaXB0V2FsbGV0QWRkcmVzcygnYnRjJywge1xuICAgICAgICAgIGNoYWluOiAwLFxuICAgICAgICAgIGluZGV4OiA1LFxuICAgICAgICAgIGtleWNoYWlucyxcbiAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Rocm93cyBVbmV4cGVjdGVkQWRkcmVzc0Vycm9yIHdoZW4gaW5kZXggZG9lcyBub3QgbWF0Y2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhZGRyZXNzID0gZ2VuZXJhdGVBZGRyZXNzKCdidGMnLCB7IGtleWNoYWlucywgY2hhaW46IDAsIGluZGV4OiAwIH0pO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICBhc3NlcnRGaXhlZFNjcmlwdFdhbGxldEFkZHJlc3MoJ2J0YycsIHtcbiAgICAgICAgICAgIGNoYWluOiAwLFxuICAgICAgICAgICAgaW5kZXg6IDEsXG4gICAgICAgICAgICBrZXljaGFpbnMsXG4gICAgICAgICAgICBmb3JtYXQ6ICdiYXNlNTgnLFxuICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgVW5leHBlY3RlZEFkZHJlc3NFcnJvclxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signTransactionE2E.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/transaction/descriptor/signTransactionE2E.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,CAAC"}
|