@bitgo/abstract-utxo 10.7.0 → 10.9.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 +10 -9
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +32 -36
- package/dist/cjs/src/address/fixedScript.d.ts +2 -4
- package/dist/cjs/src/address/fixedScript.d.ts.map +1 -1
- package/dist/cjs/src/address/fixedScript.js +11 -6
- package/dist/cjs/src/index.d.ts +2 -2
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +3 -3
- package/dist/cjs/src/keychains.d.ts +6 -2
- package/dist/cjs/src/keychains.d.ts.map +1 -1
- package/dist/cjs/src/keychains.js +33 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/backupKeyRecovery.js +23 -16
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts +10 -0
- package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/cjs/src/recovery/crossChainRecovery.js +48 -4
- package/dist/cjs/src/transaction/decode.d.ts +10 -0
- package/dist/cjs/src/transaction/decode.d.ts.map +1 -0
- package/dist/cjs/src/transaction/decode.js +69 -0
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +2 -2
- package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/explainPsbt.js +1 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +3 -2
- package/dist/cjs/src/transaction/explainTransaction.js +2 -2
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts +24 -0
- package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/SigningError.js +26 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +1 -0
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +42 -18
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +14 -5
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +62 -39
- package/dist/cjs/src/transaction/fixedScript/index.d.ts +4 -0
- package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/index.js +18 -1
- package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/parseOutput.js +9 -6
- package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/cjs/src/{replayProtection.js → transaction/fixedScript/replayProtection.js} +1 -1
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +30 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +152 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbt.d.ts +32 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbt.d.ts.map +1 -0
- package/dist/cjs/src/transaction/fixedScript/signPsbt.js +174 -0
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +5 -6
- package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signTransaction.js +14 -83
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +3 -2
- package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/signTransaction.js +3 -2
- package/dist/cjs/src/transaction/types.d.ts +3 -0
- package/dist/cjs/src/transaction/types.d.ts.map +1 -1
- package/dist/cjs/src/transaction/types.js +1 -1
- package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +2 -1
- package/dist/cjs/test/unit/recovery/crossChainRecovery.js +24 -1
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +37 -6
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/fixedScript/signPsbt.js +86 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +10 -9
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +33 -37
- package/dist/esm/address/fixedScript.d.ts +2 -4
- package/dist/esm/address/fixedScript.d.ts.map +1 -1
- package/dist/esm/address/fixedScript.js +12 -7
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/keychains.d.ts +6 -2
- package/dist/esm/keychains.d.ts.map +1 -1
- package/dist/esm/keychains.js +32 -1
- package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/backupKeyRecovery.js +21 -14
- package/dist/esm/recovery/crossChainRecovery.d.ts +10 -0
- package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/esm/recovery/crossChainRecovery.js +46 -3
- package/dist/esm/transaction/decode.d.ts +10 -0
- package/dist/esm/transaction/decode.d.ts.map +1 -0
- package/dist/esm/transaction/decode.js +32 -0
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts +2 -2
- package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/explainPsbt.js +1 -1
- package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/descriptor/verifyTransaction.js +3 -2
- package/dist/esm/transaction/explainTransaction.js +2 -2
- package/dist/esm/transaction/fixedScript/SigningError.d.ts +24 -0
- package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/SigningError.js +21 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +1 -0
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +42 -18
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +14 -5
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainTransaction.js +62 -39
- package/dist/esm/transaction/fixedScript/index.d.ts +4 -0
- package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/index.js +4 -1
- package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/parseOutput.js +9 -6
- package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/replayProtection.js +20 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +30 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +112 -0
- package/dist/esm/transaction/fixedScript/signPsbt.d.ts +32 -0
- package/dist/esm/transaction/fixedScript/signPsbt.d.ts.map +1 -0
- package/dist/esm/transaction/fixedScript/signPsbt.js +134 -0
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts +5 -6
- package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signTransaction.js +14 -83
- package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/verifyTransaction.js +3 -2
- package/dist/esm/transaction/signTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/signTransaction.js +3 -2
- package/dist/esm/transaction/types.d.ts +3 -0
- package/dist/esm/transaction/types.d.ts.map +1 -1
- package/dist/esm/transaction/types.js +1 -1
- package/package.json +12 -12
- package/dist/cjs/src/replayProtection.d.ts.map +0 -1
- package/dist/cjs/src/sign.d.ts +0 -54
- package/dist/cjs/src/sign.d.ts.map +0 -1
- package/dist/cjs/src/sign.js +0 -205
- package/dist/esm/replayProtection.d.ts.map +0 -1
- package/dist/esm/replayProtection.js +0 -20
- package/dist/esm/sign.d.ts +0 -54
- package/dist/esm/sign.d.ts.map +0 -1
- package/dist/esm/sign.js +0 -162
- /package/dist/cjs/src/{replayProtection.d.ts → transaction/fixedScript/replayProtection.d.ts} +0 -0
- /package/dist/esm/{replayProtection.d.ts → transaction/fixedScript/replayProtection.d.ts} +0 -0
|
@@ -280,4 +280,27 @@ describe(`Cross-Chain Recovery getWallet`, async function () {
|
|
|
280
280
|
}
|
|
281
281
|
});
|
|
282
282
|
});
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NDaGFpblJlY292ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L3JlY292ZXJ5L2Nyb3NzQ2hhaW5SZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUVqQyxpQ0FBa0M7QUFDbEMsNkJBQThCO0FBQzlCLHlEQUEyQztBQUUzQyw4Q0FBMEM7QUFDMUMsNkNBQStCO0FBRS9CLHNDQU9zQjtBQUN0QixrQ0FXaUI7QUFDakIsaURBQThDO0FBQzlDLHFEQUFrRTtBQUNsRSxpREFBa0U7QUFFbEUsaUNBQXdEO0FBSXhELFNBQVMsUUFBUSxDQUFDLENBQWlCO0lBQ2pDLE9BQU8sSUFBQSxrQkFBTyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLElBQXNCLEVBQUUsUUFBZ0IsRUFBRSxVQUFrQztJQUM5RixPQUFPO1FBQ0wsSUFBQSxxQkFBUyxHQUFFO2FBQ1IsR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLFFBQVEsRUFBRSxDQUFDO2FBQ3BELEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixFQUFFLEVBQUUsUUFBUTtZQUNaLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QyxDQUFDO2FBQ0QsT0FBTyxFQUFFO1FBQ1osR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdEIsSUFBQSxxQkFBUyxHQUFFO2FBQ1IsR0FBRyxDQUFD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QUNwRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsZUFBUyxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsRUFBRTtnQkFDM0UsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFFBQVEsRUFBRSxLQUFLO2FBQ2hCLENBQUMsQ0FBQztZQUNILFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgc2hvdWxkID0gcmVxdWlyZSgnc2hvdWxkJyk7XG5pbXBvcnQgbm9jayA9IHJlcXVpcmUoJ25vY2snKTtcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IFRyaXBsZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBnZXRTZWVkIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcblxuaW1wb3J0IHtcbiAgQWJzdHJhY3RVdHhvQ29pbixcbiAgQ3Jvc3NDaGFpblJlY292ZXJ5U2lnbmVkLFxuICBDcm9zc0NoYWluUmVjb3ZlcnlVbnNpZ25lZCxcbiAgZ2V0V2FsbGV0LFxuICBzdXBwb3J0ZWRDcm9zc0NoYWluUmVjb3ZlcmllcyxcbiAgZ2VuZXJhdGVBZGRyZXNzLFxufSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHtcbiAgZ2V0Rml4dHVyZSxcbiAga2V5Y2hhaW5zQmFzZTU4LFxuICBLZXljaGFpbkJhc2U1OCxcbiAgbW9ja1Vuc3BlbnQsXG4gIHNob3VsZEVxdWFsSlNPTixcbiAgdXR4b0NvaW5zLFxuICB0cmFuc2FjdGlvbkhleFRvT2JqLFxuICBnZXREZWZhdWx0V2FsbGV0S2V5cyxcbiAgZGVmYXVsdEJpdEdvLFxuICBnZXRVdHhvQ29pbixcbn0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBub2NrQml0R28gfSBmcm9tICcuLi91dGlsL25vY2tCaXRHbyc7XG5pbXBvcnQgeyBjcmVhdGVGdWxsU2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICcuLi91dGlsL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IGdldERlZmF1bHRXYWxsZXRVbnNwZW50U2lnbmVyIH0gZnJvbSAnLi4vdXRpbC9rZXljaGFpbnMnO1xuXG5pbXBvcnQgeyBNb2NrQ3Jvc3NDaGFpblJlY292ZXJ5UHJvdmlkZXIgfSBmcm9tICcuL21vY2snO1xuXG50eXBlIFdhbGxldFVuc3BlbnQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4gPSB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnQ8VE51bWJlcj47XG5cbmZ1bmN0aW9uIGdldEtleUlkKGs6IEtleWNoYWluQmFzZTU4KTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldFNlZWQoay5wdWIpLnRvU3RyaW5nKCdoZXgnKTtcbn1cblxuZnVuY3Rpb24gbm9ja1dhbGxldChjb2luOiBBYnN0cmFjdFV0eG9Db2luLCB3YWxsZXRJZDogc3RyaW5nLCB3YWxsZXRLZXlzOiBUcmlwbGU8S2V5Y2hhaW5CYXNlNTg+KTogbm9jay5TY29wZVtdIHtcbiAgcmV0dXJuIFtcbiAgICBub2NrQml0R28oKVxuICAgICAgLmdldChgL2FwaS92Mi8ke2NvaW4uZ2V0Q2hhaW4oKX0vd2FsbGV0LyR7d2FsbGV0SWR9YClcbiAgICAgIC5yZXBseSgyMDAsIHtcbiAgICAgICAgaWQ6IHdhbGxldElkLFxuICAgICAgICBjb2luOiBjb2luLmdldENoYWluKCksXG4gICAgICAgIGxhYmVsOiAnY3Jvc3NDaGFpblJlY292ZXJ5JyxcbiAgICAgICAga2V5czogd2FsbGV0S2V5cy5tYXAoKGspID0+IGdldEtleUlkKGspKSxcbiAgICAgIH0pXG4gICAgICAucGVyc2lzdCgpLFxuICAgIC4uLndhbGxldEtleXMubWFwKChrKSA9PlxuICAgICAgbm9ja0JpdEdvKClcbiAgICAgICAgLmdldChgL2FwaS92Mi8ke2NvaW4uZ2V0Q2hhaW4oKX0va2V5LyR7Z2V0S2V5SWQoayl9YClcbiAgICAgICAgLnJlcGx5KDIwMCwgaylcbiAgICAgICAgLnBlcnNpc3QoKVxuICAgICksXG4gIF07XG59XG5cbnR5cGUgQWRkcmVzcyA9IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBjaGFpbjogbnVtYmVyO1xuICBpbmRleDogbnVtYmVyO1xufTtcblxuZnVuY3Rpb24gbm9ja1dhbGxldEFkZHJlc3MoY29pbjogQWJzdHJhY3RVdHhvQ29pbiwgd2FsbGV0SWQ6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IG5vY2suU2NvcGUge1xuICByZXR1cm4gbm9ja0JpdEdvKClcbiAgICAuZ2V0KGAvYXBpL3YyLyR7Y29pbi5nZXRDaGFpbigpfS93YWxsZXQvJHt3YWxsZXRJZH0vYWRkcmVzcy8ke2FkZHJlc3MuYWRkcmVzc31gKVxuICAgIC5yZXBseSgyMDAsIHtcbiAgICAgIGFkZHJlc3M6IGFkZHJlc3MuYWRkcmVzcyxcbiAgICAgIGNoYWluOiBhZGRyZXNzLmNoYWluLFxuICAgICAgaW5kZXg6IGFkZHJlc3MuaW5kZXgsXG4gICAgICBjb2luOiBjb2luLmdldENoYWluKCksXG4gICAgICB3YWxsZXQ6IHdhbGxldElkLFxuICAgIH0pXG4gICAgLnBlcnNpc3QoKTtcbn1cblxuLyoqXG4gKiBTZXR1cCB0ZXN0IGZvciBjcm9zcy1jaGFpbiByZWNvdmVyeS5cbiAqXG4gKiBVc2VycyBjYW4gcmVjZWl2ZSBkZXBvc2l0cyBvbiB3YWxsZXQgYWRkcmVzc2VzIHRoYXQgYXJlIG9uIGEgZGlmZmVyZW50IGNoYWluLlxuICpcbiAqIEZvciBpbnN0YW5jZSwgYSB1c2VyIGNhbiByZWNlaXZlIGxpdGVjb2luIG9uIGEgYml0Y29pbiB3YWxsZXQuXG4gKiBUaGlzIG1lYW5zIHRoYXQgdGhlIGxpdGVjb2luIGJsb2NrY2hhaW4gaGFzIGEgdHJhbnNhY3Rpb24gd2l0aCBvdXRwdXRzIHRoYXQgYXJlIHNwZW5kYWJsZVxuICogd2l0aCBrZXlzIHRoYXQgd2VyZSBvcmlnaW5hbGx5IGNyZWF0ZWQgZm9yIGEgQml0R28gQlRDIHdhbGxldC5cbiAqIEluIHRoaXMgZXhhbXBsZSwgTFRDIGlzIHRoZSBcInNvdXJjZSBjb2luXCIgYW5kIEJUQyBpcyB0aGUgXCJyZWNvdmVyeSBjb2luXCJcbiAqIEluIGNhc2VzIGxpa2UgdGhlc2Ugd2UgbXVzdCB1c2UgY29uc3RydWN0IGEgdHJhbnNhY3Rpb24gZm9yIGxpdGVjb2luIG5ldHdvcmsgdXNpbmcga2V5cyBvZiB0aGVcbiAqIGJpdGNvaW4gd2FsbGV0LlxuICpcbiAqIEBwYXJhbSBzb3VyY2VDb2luIC0gdGhlIGNvaW4gdG8gY29uc3RydWN0IHRoZSB0cmFuc2FjdGlvbiBmb3JcbiAqIEBwYXJhbSByZWNvdmVyeUNvaW4gLSB0aGUgY29pbiB0aGUgcmVjZWl2aW5nIHdhbGxldCB3YXMgc2V0IHVwIGZvclxuICovXG5mdW5jdGlvbiBydW48VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oc291cmNlQ29pbjogQWJzdHJhY3RVdHhvQ29pbiwgcmVjb3ZlcnlDb2luOiBBYnN0cmFjdFV0eG9Db2luKSB7XG4gIGRlc2NyaWJlKGBDcm9zcy1DaGFpbiBSZWNvdmVyeSBbc291cmNlQ29pbj0ke3NvdXJjZUNvaW4uZ2V0Q2hhaW4oKX0gcmVjb3ZlcnlDb2luPSR7cmVjb3ZlcnlDb2luLmdldENoYWluKCl9XWAsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB3YWxsZXRLZXlzID0gZ2V0RGVmYXVsdFdhbGxldEtleXMoKTtcbiAgICBjb25zdCByZWNvdmVyeVdhbGxldElkID0gJzVhYmFjZWJlMjhkNzJmYmQwN2UwYjhjYmJhMGZmMzllJztcbiAgICAvLyB0aGUgYWRkcmVzcyB0aGUgYWNjaWRlbnRhbCBkZXBvc2l0IHdlbnQgdG8sIGluIGJvdGggc291cmNlQ29pbiBhbmQgYWRkcmVzc0NvaW4gZm9ybWF0c1xuICAgIGNvbnN0IFtkZXBvc2l0QWRkcmVzc1NvdXJjZUNvaW4sIGRlcG9zaXRBZGRyZXNzUmVjb3ZlcnlDb2luXSA9IFtzb3VyY2VDb2luLCByZWNvdmVyeUNvaW5dLm1hcCgoY29pbikgPT4gKHtcbiAgICAgIGFkZHJlc3M6IGdlbmVyYXRlQWRkcmVzcyhjb2luLm5ldHdvcmssIHsga2V5Y2hhaW5zOiBrZXljaGFpbnNCYXNlNTgsIGNoYWluOiAwLCBpbmRleDogMCB9KSxcbiAgICAgIGNoYWluOiAwLFxuICAgICAgaW5kZXg6IDAsXG4gICAgfSkpO1xuICAgIGNvbnN0IGNoYWluID0gMDtcbiAgICBjb25zdCBpbmRleCA9IDE7XG4gICAgLy8gdGhlIGFkZHJlc3Mgd2hlcmUgd2Ugd2FudCB0byByZWNvdmVyIG91ciBmdW5kcyB0b1xuICAgIGNvbnN0IHJlY292ZXJ5QWRkcmVzcyA9IGdlbmVyYXRlQWRkcmVzcyhzb3VyY2VDb2luLm5ldHdvcmssIHtcbiAgICAgIGtleWNoYWluczoga2V5Y2hhaW5zQmFzZTU4LFxuICAgICAgY2hhaW4sXG4gICAgICBpbmRleCxcbiAgICB9KTtcbiAgICBjb25zdCBub2Nrczogbm9jay5TY29wZVtdID0gW107XG5cbiAgICBsZXQgZGVwb3NpdFR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPjtcblxuICAgIGZ1bmN0aW9uIGdldERlcG9zaXRVbnNwZW50cygpOiB1dHhvbGliLmJpdGdvLlVuc3BlbnQ8VE51bWJlcj5bXSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBtb2NrVW5zcGVudDxUTnVtYmVyPihcbiAgICAgICAgICBzb3VyY2VDb2luLm5ldHdvcmssXG4gICAgICAgICAgd2FsbGV0S2V5cyxcbiAgICAgICAgICAncDJzaCcsXG4gICAgICAgICAgMCxcbiAgICAgICAgICAoc291cmNlQ29pbi5hbW91bnRUeXBlID09PSAnYmlnaW50JyA/IEJpZ0ludCgnMTA5OTk5OTk4MDAwMDAwMDEnKSA6IDFlOCkgYXMgVE51bWJlclxuICAgICAgICApLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXREZXBvc2l0VHJhbnNhY3Rpb24oKTogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj4ge1xuICAgICAgcmV0dXJuIGNyZWF0ZUZ1bGxTaWduZWRUcmFuc2FjdGlvbjxUTnVtYmVyPihcbiAgICAgICAgc291cmNlQ29pbi5uZXR3b3JrLFxuICAgICAgICBnZXREZXBvc2l0VW5zcGVudHMoKSxcbiAgICAgICAgZGVwb3NpdEFkZHJlc3NTb3VyY2VDb2luLmFkZHJlc3MsXG4gICAgICAgIGdldERlZmF1bHRXYWxsZXRVbnNwZW50U2lnbmVyKClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYmVmb3JlKCdwcmVwYXJlIGRlcG9zaXQgdHgnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkZXBvc2l0VHggPSBnZXREZXBvc2l0VHJhbnNhY3Rpb24oKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGdldFJlY292ZXJ5VW5zcGVudHMoKTogV2FsbGV0VW5zcGVudDxUTnVtYmVyPltdIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogZGVwb3NpdFR4LmdldElkKCksXG4gICAgICAgICAgYWRkcmVzczogZGVwb3NpdEFkZHJlc3NTb3VyY2VDb2luLmFkZHJlc3MsXG4gICAgICAgICAgY2hhaW46IGNoYWluLFxuICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICB2YWx1ZTogZGVwb3NpdFR4Lm91dHNbMF0udmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIGJlZm9yZSgnc2V0dXAgbm9ja3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBub2Nrcy5wdXNoKC4uLm5vY2tXYWxsZXQocmVjb3ZlcnlDb2luLCByZWNvdmVyeVdhbGxldElkLCBrZXljaGFpbnNCYXNlNTgpKTtcbiAgICAgIG5vY2tzLnB1c2gobm9ja1dhbGxldEFkZHJlc3MocmVjb3ZlcnlDb2luLCByZWNvdmVyeVdhbGxldElkLCBkZXBvc2l0QWRkcmVzc1JlY292ZXJ5Q29pbikpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgbm9ja3MuZm9yRWFjaCgobikgPT4gbi5kb25lKCkpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgbm9jay5jbGVhbkFsbCgpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHNpbm9uLnJlc3RvcmUoKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIHRlc3RNYXRjaEZpeHR1cmUoXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBnZXRSZWNvdmVyeVJlc3VsdDogKCkgPT4gQ3Jvc3NDaGFpblJlY292ZXJ5U2lnbmVkPFROdW1iZXI+IHwgQ3Jvc3NDaGFpblJlY292ZXJ5VW5zaWduZWQ8VE51bWJlcj5cbiAgICApIHtcbiAgICAgIGl0KGBzaG91bGQgbWF0Y2ggZml4dHVyZSAoJHtuYW1lfSlgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHJlY292ZXJ5ID0gZ2V0UmVjb3ZlcnlSZXN1bHQoKTtcbiAgICAgICAgbGV0IHJlY292ZXJ5T2JqID0ge1xuICAgICAgICAgIC4uLnJlY292ZXJ5LFxuICAgICAgICAgIHR4OiB0cmFuc2FjdGlvbkhleFRvT2JqKHJlY292ZXJ5LnR4SGV4IGFzIHN0cmluZywgc291cmNlQ29pbi5uZXR3b3JrLCBzb3VyY2VDb2luLmFtb3VudFR5cGUpLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoc291cmNlQ29pbi5hbW91bnRUeXBlID09PSAnYmlnaW50Jykge1xuICAgICAgICAgIHJlY292ZXJ5T2JqID0gSlNPTi5wYXJzZShcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHJlY292ZXJ5T2JqLCAoaywgdikgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHYgPT09ICdiaWdpbnQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHNob3VsZEVxdWFsSlNPTihcbiAgICAgICAgICByZWNvdmVyeU9iaixcbiAgICAgICAgICBhd2FpdCBnZXRGaXh0dXJlKHNvdXJjZUNvaW4sIGByZWNvdmVyeS9jcm9zc0NoYWluUmVjb3ZlcnktJHtyZWNvdmVyeUNvaW4uZ2V0Q2hhaW4oKX0tJHtuYW1lfWAsIHJlY292ZXJ5T2JqKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2hlY2tSZWNvdmVyeVRyYW5zYWN0aW9uU2lnbmF0dXJlKHR4OiBzdHJpbmcgfCB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPikge1xuICAgICAgaWYgKHR5cGVvZiB0eCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdHggPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcjxUTnVtYmVyPihCdWZmZXIuZnJvbSh0eCwgJ2hleCcpLCBzb3VyY2VDb2luLm5ldHdvcmssIHtcbiAgICAgICAgICBhbW91bnRUeXBlOiBzb3VyY2VDb2luLmFtb3VudFR5cGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgdW5zcGVudHMgPSBnZXRSZWNvdmVyeVVuc3BlbnRzKCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguaW5zLmxlbmd0aCwgdW5zcGVudHMubGVuZ3RoKTtcbiAgICAgIHR4Lmlucy5mb3JFYWNoKChpbnB1dCwgaSkgPT4ge1xuICAgICAgICBhc3NlcnQub2sodHlwZW9mIHR4ICE9PSAnc3RyaW5nJyk7XG4gICAgICAgIHV0eG9saWIuYml0Z29cbiAgICAgICAgICAudmVyaWZ5U2lnbmF0dXJlV2l0aFVuc3BlbnQ8VE51bWJlcj4odHgsIGksIGdldFJlY292ZXJ5VW5zcGVudHMoKSwgd2FsbGV0S2V5cylcbiAgICAgICAgICAuc2hvdWxkLmVxbChbdHJ1ZSwgZmFsc2UsIGZhbHNlXSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpdCgnc2hvdWxkIHRlc3Qgc2lnbmVkIGNyb3NzIGNoYWluIHJlY292ZXJ5JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZ2V0UmVjb3ZlcnlQcm92aWRlclN0dWIgPSBzaW5vblxuICAgICAgICAuc3R1YihBYnN0cmFjdFV0eG9Db2luLnByb3RvdHlwZSwgJ2dldFJlY292ZXJ5UHJvdmlkZXInKVxuICAgICAgICAucmV0dXJucyhuZXcgTW9ja0Nyb3NzQ2hhaW5SZWNvdmVyeVByb3ZpZGVyPFROdW1iZXI+KHNvdXJjZUNvaW4sIGdldERlcG9zaXRVbnNwZW50cygpLCBkZXBvc2l0VHgpKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgcmVjb3ZlcnlDb2luLFxuICAgICAgICB0eGlkOiBkZXBvc2l0VHguZ2V0SWQoKSxcbiAgICAgICAgcmVjb3ZlcnlBZGRyZXNzLFxuICAgICAgICB3YWxsZXQ6IHJlY292ZXJ5V2FsbGV0SWQsXG4gICAgICB9O1xuICAgICAgY29uc3Qgc2lnbmVkUmVjb3ZlcnkgPSAoYXdhaXQgc291cmNlQ29pbi5yZWNvdmVyRnJvbVdyb25nQ2hhaW48VE51bWJlcj4oe1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHhwcnY6IGtleWNoYWluc0Jhc2U1OFswXS5wcnYsXG4gICAgICB9KSkgYXMgQ3Jvc3NDaGFpblJlY292ZXJ5U2lnbmVkPFROdW1iZXI+O1xuICAgICAgc2hvdWxkLmVxdWFsKGdldFJlY292ZXJ5UHJvdmlkZXJTdHViLmNhbGxDb3VudCwgMSk7XG5cbiAgICAgIHRlc3RNYXRjaEZpeHR1cmUoJ3NpZ25lZCcsICgpID0+IHNpZ25lZFJlY292ZXJ5KTtcblxuICAgICAgaXQoJ3Nob3VsZCBoYXZlIHZhbGlkIHNpZ25hdHVyZXMgZm9yIHNpZ25lZCByZWNvdmVyeScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2hlY2tSZWNvdmVyeVRyYW5zYWN0aW9uU2lnbmF0dXJlKHNpZ25lZFJlY292ZXJ5LnR4SGV4IGFzIHN0cmluZyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGVzdCB1bnNpZ25lZCBjcm9zcyBjaGFpbiByZWNvdmVyeScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGdldFJlY292ZXJ5UHJvdmlkZXJTdHViID0gc2lub25cbiAgICAgICAgLnN0dWIoQWJzdHJhY3RVdHhvQ29pbi5wcm90b3R5cGUsICdnZXRSZWNvdmVyeVByb3ZpZGVyJylcbiAgICAgICAgLnJldHVybnMobmV3IE1vY2tDcm9zc0NoYWluUmVjb3ZlcnlQcm92aWRlcjxUTnVtYmVyPihzb3VyY2VDb2luLCBnZXREZXBvc2l0VW5zcGVudHMoKSwgZGVwb3NpdFR4KSk7XG4gICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgIHJlY292ZXJ5Q29pbixcbiAgICAgICAgdHhpZDogZGVwb3NpdFR4LmdldElkKCksXG4gICAgICAgIHJlY292ZXJ5QWRkcmVzcyxcbiAgICAgICAgd2FsbGV0OiByZWNvdmVyeVdhbGxldElkLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHVuc2lnbmVkUmVjb3ZlcnkgPSAoYXdhaXQgc291cmNlQ29pbi5yZWNvdmVyRnJvbVdyb25nQ2hhaW48VE51bWJlcj4oe1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHNpZ25lZDogZmFsc2UsXG4gICAgICB9KSkgYXMgQ3Jvc3NDaGFpblJlY292ZXJ5VW5zaWduZWQ8VE51bWJlcj47XG4gICAgICBzaG91bGQuZXF1YWwoZ2V0UmVjb3ZlcnlQcm92aWRlclN0dWIuY2FsbENvdW50LCAxKTtcblxuICAgICAgdGVzdE1hdGNoRml4dHVyZSgndW5zaWduZWQnLCAoKSA9PiB1bnNpZ25lZFJlY292ZXJ5KTtcblxuICAgICAgaXQoJ3Nob3VsZCBiZSBzaWduYWJsZSBmb3IgdW5zaWduZWQgcmVjb3ZlcnknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHNpZ25lZFR4ID0gYXdhaXQgc291cmNlQ29pbi5zaWduVHJhbnNhY3Rpb248VE51bWJlcj4oe1xuICAgICAgICAgIHR4UHJlYnVpbGQ6IHVuc2lnbmVkUmVjb3ZlcnksXG4gICAgICAgICAgcHJ2OiBrZXljaGFpbnNCYXNlNThbMF0ucHJ2LFxuICAgICAgICAgIHB1YnM6IGtleWNoYWluc0Jhc2U1OC5tYXAoKGspID0+IGsucHViKSBhcyBUcmlwbGU8c3RyaW5nPixcbiAgICAgICAgfSk7XG4gICAgICAgIGNoZWNrUmVjb3ZlcnlUcmFuc2FjdGlvblNpZ25hdHVyZSgoc2lnbmVkVHggYXMgeyB0eEhleDogc3RyaW5nIH0pLnR4SGV4KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaXNTdXBwb3J0ZWRDcm9zc0NoYWluUmVjb3Zlcnkoc291cmNlQ29pbjogQWJzdHJhY3RVdHhvQ29pbiwgcmVjb3ZlcnlDb2luOiBBYnN0cmFjdFV0eG9Db2luKTogYm9vbGVhbiB7XG4gIHJldHVybiBzdXBwb3J0ZWRDcm9zc0NoYWluUmVjb3Zlcmllc1tzb3VyY2VDb2luLmdldEZhbWlseSgpXT8uaW5jbHVkZXMocmVjb3ZlcnlDb2luLmdldEZhbWlseSgpKTtcbn1cblxudXR4b0NvaW5zLmZvckVhY2goKGNvaW4pID0+IHtcbiAgdXR4b0NvaW5zXG4gICAgLmZpbHRlcihcbiAgICAgIChvdGhlckNvaW4pID0+XG4gICAgICAgIGNvaW4gIT09IG90aGVyQ29pbiAmJlxuICAgICAgICBpc1N1cHBvcnRlZENyb3NzQ2hhaW5SZWNvdmVyeShjb2luLCBvdGhlckNvaW4pICYmXG4gICAgICAgICgodXR4b2xpYi5pc01haW5uZXQoY29pbi5uZXR3b3JrKSAmJiB1dHhvbGliLmlzTWFpbm5ldChvdGhlckNvaW4ubmV0d29yaykpIHx8XG4gICAgICAgICAgKHV0eG9saWIuaXNUZXN0bmV0KGNvaW4ubmV0d29yaykgJiYgdXR4b2xpYi5pc1Rlc3RuZXQob3RoZXJDb2luLm5ldHdvcmspKSlcbiAgICApXG4gICAgLmZvckVhY2goKG90aGVyQ29pbikgPT4ge1xuICAgICAgaWYgKGNvaW4uYW1vdW50VHlwZSA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgcnVuPGJpZ2ludD4oY29pbiwgb3RoZXJDb2luKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJ1bihjb2luLCBvdGhlckNvaW4pO1xuICAgICAgfVxuICAgIH0pO1xufSk7XG5cbmRlc2NyaWJlKGBDcm9zcy1DaGFpbiBSZWNvdmVyeSBnZXRXYWxsZXRgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGJpdGdvID0gZGVmYXVsdEJpdEdvO1xuICBjb25zdCByZWNvdmVyeUNvaW4gPSBnZXRVdHhvQ29pbignYnRjJyk7XG4gIGNvbnN0IHJlY292ZXJ5V2FsbGV0SWQgPSAnNWFiYWNlYmUyOGQ3MmZiZDA3ZTBiOGNiYmEwZmYzOWUnO1xuXG4gIGl0KCdzaG91bGQgc2VhcmNoIHYxIHdhbGxldHMgaWYgdGhlIHYyIGVuZHBvaW50IHJlc3BvbmRzIHdpdGggYSA0eHggZXJyb3InLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZXJyb3JSZXNwb25zZXMgPSBbNDAwLCA0MDRdO1xuXG4gICAgZm9yIChjb25zdCBlcnJvciBvZiBlcnJvclJlc3BvbnNlcykge1xuICAgICAgY29uc3Qgbm9ja1YyV2FsbGV0ID0gbm9ja0JpdEdvKGJpdGdvKVxuICAgICAgICAuZ2V0KGAvYXBpL3YyLyR7cmVjb3ZlcnlDb2luLmdldENoYWluKCl9L3dhbGxldC8ke3JlY292ZXJ5V2FsbGV0SWR9YClcbiAgICAgICAgLnJlcGx5KGVycm9yKTtcbiAgICAgIGNvbnN0IG5vY2tWMVdhbGxldCA9IG5vY2tCaXRHbyhiaXRnbykuZ2V0KGAvYXBpL3YxL3dhbGxldC8ke3JlY292ZXJ5V2FsbGV0SWR9YCkucmVwbHkoZXJyb3IpO1xuICAgICAgYXdhaXQgYXNzZXJ0LnJlamVjdHMoXG4gICAgICAgICgpID0+IGdldFdhbGxldChiaXRnbywgcmVjb3ZlcnlDb2luLCByZWNvdmVyeVdhbGxldElkKSxcbiAgICAgICAgRXJyb3IoYGNvdWxkIG5vdCBnZXQgd2FsbGV0ICR7cmVjb3ZlcnlXYWxsZXRJZH0gZnJvbSB2MSBvciB2MjogQXBpUmVzcG9uc2VFcnJvcjogJHtlcnJvcn1gKVxuICAgICAgKTtcbiAgICAgIG5vY2tWMldhbGxldC5kb25lKCk7XG4gICAgICBub2NrVjFXYWxsZXQuZG9uZSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgdjIgZW5kcG9pbnQgcmVzcG9uZHMgd2l0aCBhIDV4eCBlcnJvcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBlcnJvclJlc3BvbnNlcyA9IFs1MDBdO1xuICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZXJyb3JSZXNwb25zZXMpIHtcbiAgICAgIGNvbnN0IG5vY2tWMldhbGxldCA9IG5vY2tCaXRHbyhiaXRnbylcbiAgICAgICAgLmdldChgL2FwaS92Mi8ke3JlY292ZXJ5Q29pbi5nZXRDaGFpbigpfS93YWxsZXQvJHtyZWNvdmVyeVdhbGxldElkfWApXG4gICAgICAgIC5yZXBseShlcnJvcik7XG4gICAgICBhd2FpdCBhc3NlcnQucmVqZWN0cygoKSA9PiBnZXRXYWxsZXQoYml0Z28sIHJlY292ZXJ5Q29pbiwgcmVjb3ZlcnlXYWxsZXRJZCksIHtcbiAgICAgICAgbmFtZTogJ0FwaVJlc3BvbnNlRXJyb3InLFxuICAgICAgICBzdGF0dXM6IDUwMCxcbiAgICAgICAgcmVzdWx0OiB7fSxcbiAgICAgICAgaW52YWxpZFRva2VuOiBmYWxzZSxcbiAgICAgICAgbmVlZHNPVFA6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICBub2NrVjJXYWxsZXQuZG9uZSgpO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdfQ==
|
|
283
|
+
describe('convertLtcAddressToLegacyFormat', function () {
|
|
284
|
+
const ltcNetwork = utxolib.networks.litecoin;
|
|
285
|
+
it('should convert M... P2SH address to 3... legacy format', function () {
|
|
286
|
+
// These two addresses represent the same underlying script hash:
|
|
287
|
+
// - MNQ7zkgMsaV67rsjA3JuP59RC5wxRXpwgE is the LTC format (scriptHash 0x32)
|
|
288
|
+
// - 3GBygsGPvTdfKMbq4AKZZRu1sPMWPEsBfd is the BTC format (scriptHash 0x05)
|
|
289
|
+
const ltcAddress = 'MNQ7zkgMsaV67rsjA3JuP59RC5wxRXpwgE';
|
|
290
|
+
const expectedLegacyAddress = '3GBygsGPvTdfKMbq4AKZZRu1sPMWPEsBfd';
|
|
291
|
+
const legacyAddress = (0, src_1.convertLtcAddressToLegacyFormat)(ltcAddress, ltcNetwork);
|
|
292
|
+
assert.strictEqual(legacyAddress, expectedLegacyAddress);
|
|
293
|
+
});
|
|
294
|
+
it('should convert MD68PsdheKxcYsrVLyZRXgoSDLnB1MdVtE to legacy format', function () {
|
|
295
|
+
const address = 'MD68PsdheKxcYsrVLyZRXgoSDLnB1MdVtE';
|
|
296
|
+
const legacyAddress = (0, src_1.convertLtcAddressToLegacyFormat)(address, ltcNetwork);
|
|
297
|
+
// Should start with '3' (legacy BTC P2SH format)
|
|
298
|
+
assert.ok(legacyAddress.startsWith('3'), `Expected address to start with '3', got: ${legacyAddress}`);
|
|
299
|
+
});
|
|
300
|
+
it('should not modify bech32 addresses', function () {
|
|
301
|
+
const bech32Address = 'ltc1qgrl8zpndsklaa9swgd5vevyxmx5x63vcrl7dk4';
|
|
302
|
+
const result = (0, src_1.convertLtcAddressToLegacyFormat)(bech32Address, ltcNetwork);
|
|
303
|
+
assert.strictEqual(result, bech32Address);
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NDaGFpblJlY292ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L3JlY292ZXJ5L2Nyb3NzQ2hhaW5SZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUVqQyxpQ0FBa0M7QUFDbEMsNkJBQThCO0FBQzlCLHlEQUEyQztBQUUzQyw4Q0FBMEM7QUFDMUMsNkNBQStCO0FBRS9CLHNDQVFzQjtBQUN0QixrQ0FXaUI7QUFDakIsaURBQThDO0FBQzlDLHFEQUFrRTtBQUNsRSxpREFBa0U7QUFFbEUsaUNBQXdEO0FBSXhELFNBQVMsUUFBUSxDQUFDLENBQWlCO0lBQ2pDLE9BQU8sSUFBQSxrQkFBTyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLElBQXNCLEVBQUUsUUFBZ0IsRUFBRSxVQUFrQztJQUM5RixPQUFPO1FBQ0wsSUFBQSxxQkFBUyxHQUFFO2FBQ1IsR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLFFBQVEsRUFBRSxXQUFXLFFBQVEsRUFBRSxDQUFDO2FBQ3BELEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixFQUFFLEVBQUUsUUFBUTtZQUNaLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QyxDQUFDO2FBQ0QsT0FBTyxFQUFFO1FBQ1osR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdEIsSUFBQSxxQkFBUyxHQUFFO2FBQ1IsR0FBRyxDQUFD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QUFDLENBQUM7SUFDeEcsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsb0NBQW9DLEVBQUU7UUFDdkMsTUFBTSxhQUFhLEdBQUcsNkNBQTZDLENBQUM7UUFDcEUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQ0FBK0IsRUFBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgc2hvdWxkID0gcmVxdWlyZSgnc2hvdWxkJyk7XG5pbXBvcnQgbm9jayA9IHJlcXVpcmUoJ25vY2snKTtcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IFRyaXBsZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBnZXRTZWVkIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcblxuaW1wb3J0IHtcbiAgQWJzdHJhY3RVdHhvQ29pbixcbiAgQ3Jvc3NDaGFpblJlY292ZXJ5U2lnbmVkLFxuICBDcm9zc0NoYWluUmVjb3ZlcnlVbnNpZ25lZCxcbiAgZ2V0V2FsbGV0LFxuICBzdXBwb3J0ZWRDcm9zc0NoYWluUmVjb3ZlcmllcyxcbiAgZ2VuZXJhdGVBZGRyZXNzLFxuICBjb252ZXJ0THRjQWRkcmVzc1RvTGVnYWN5Rm9ybWF0LFxufSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHtcbiAgZ2V0Rml4dHVyZSxcbiAga2V5Y2hhaW5zQmFzZTU4LFxuICBLZXljaGFpbkJhc2U1OCxcbiAgbW9ja1Vuc3BlbnQsXG4gIHNob3VsZEVxdWFsSlNPTixcbiAgdXR4b0NvaW5zLFxuICB0cmFuc2FjdGlvbkhleFRvT2JqLFxuICBnZXREZWZhdWx0V2FsbGV0S2V5cyxcbiAgZGVmYXVsdEJpdEdvLFxuICBnZXRVdHhvQ29pbixcbn0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBub2NrQml0R28gfSBmcm9tICcuLi91dGlsL25vY2tCaXRHbyc7XG5pbXBvcnQgeyBjcmVhdGVGdWxsU2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICcuLi91dGlsL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IGdldERlZmF1bHRXYWxsZXRVbnNwZW50U2lnbmVyIH0gZnJvbSAnLi4vdXRpbC9rZXljaGFpbnMnO1xuXG5pbXBvcnQgeyBNb2NrQ3Jvc3NDaGFpblJlY292ZXJ5UHJvdmlkZXIgfSBmcm9tICcuL21vY2snO1xuXG50eXBlIFdhbGxldFVuc3BlbnQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4gPSB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnQ8VE51bWJlcj47XG5cbmZ1bmN0aW9uIGdldEtleUlkKGs6IEtleWNoYWluQmFzZTU4KTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldFNlZWQoay5wdWIpLnRvU3RyaW5nKCdoZXgnKTtcbn1cblxuZnVuY3Rpb24gbm9ja1dhbGxldChjb2luOiBBYnN0cmFjdFV0eG9Db2luLCB3YWxsZXRJZDogc3RyaW5nLCB3YWxsZXRLZXlzOiBUcmlwbGU8S2V5Y2hhaW5CYXNlNTg+KTogbm9jay5TY29wZVtdIHtcbiAgcmV0dXJuIFtcbiAgICBub2NrQml0R28oKVxuICAgICAgLmdldChgL2FwaS92Mi8ke2NvaW4uZ2V0Q2hhaW4oKX0vd2FsbGV0LyR7d2FsbGV0SWR9YClcbiAgICAgIC5yZXBseSgyMDAsIHtcbiAgICAgICAgaWQ6IHdhbGxldElkLFxuICAgICAgICBjb2luOiBjb2luLmdldENoYWluKCksXG4gICAgICAgIGxhYmVsOiAnY3Jvc3NDaGFpblJlY292ZXJ5JyxcbiAgICAgICAga2V5czogd2FsbGV0S2V5cy5tYXAoKGspID0+IGdldEtleUlkKGspKSxcbiAgICAgIH0pXG4gICAgICAucGVyc2lzdCgpLFxuICAgIC4uLndhbGxldEtleXMubWFwKChrKSA9PlxuICAgICAgbm9ja0JpdEdvKClcbiAgICAgICAgLmdldChgL2FwaS92Mi8ke2NvaW4uZ2V0Q2hhaW4oKX0va2V5LyR7Z2V0S2V5SWQoayl9YClcbiAgICAgICAgLnJlcGx5KDIwMCwgaylcbiAgICAgICAgLnBlcnNpc3QoKVxuICAgICksXG4gIF07XG59XG5cbnR5cGUgQWRkcmVzcyA9IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBjaGFpbjogbnVtYmVyO1xuICBpbmRleDogbnVtYmVyO1xufTtcblxuZnVuY3Rpb24gbm9ja1dhbGxldEFkZHJlc3MoY29pbjogQWJzdHJhY3RVdHhvQ29pbiwgd2FsbGV0SWQ6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IG5vY2suU2NvcGUge1xuICByZXR1cm4gbm9ja0JpdEdvKClcbiAgICAuZ2V0KGAvYXBpL3YyLyR7Y29pbi5nZXRDaGFpbigpfS93YWxsZXQvJHt3YWxsZXRJZH0vYWRkcmVzcy8ke2FkZHJlc3MuYWRkcmVzc31gKVxuICAgIC5yZXBseSgyMDAsIHtcbiAgICAgIGFkZHJlc3M6IGFkZHJlc3MuYWRkcmVzcyxcbiAgICAgIGNoYWluOiBhZGRyZXNzLmNoYWluLFxuICAgICAgaW5kZXg6IGFkZHJlc3MuaW5kZXgsXG4gICAgICBjb2luOiBjb2luLmdldENoYWluKCksXG4gICAgICB3YWxsZXQ6IHdhbGxldElkLFxuICAgIH0pXG4gICAgLnBlcnNpc3QoKTtcbn1cblxuLyoqXG4gKiBTZXR1cCB0ZXN0IGZvciBjcm9zcy1jaGFpbiByZWNvdmVyeS5cbiAqXG4gKiBVc2VycyBjYW4gcmVjZWl2ZSBkZXBvc2l0cyBvbiB3YWxsZXQgYWRkcmVzc2VzIHRoYXQgYXJlIG9uIGEgZGlmZmVyZW50IGNoYWluLlxuICpcbiAqIEZvciBpbnN0YW5jZSwgYSB1c2VyIGNhbiByZWNlaXZlIGxpdGVjb2luIG9uIGEgYml0Y29pbiB3YWxsZXQuXG4gKiBUaGlzIG1lYW5zIHRoYXQgdGhlIGxpdGVjb2luIGJsb2NrY2hhaW4gaGFzIGEgdHJhbnNhY3Rpb24gd2l0aCBvdXRwdXRzIHRoYXQgYXJlIHNwZW5kYWJsZVxuICogd2l0aCBrZXlzIHRoYXQgd2VyZSBvcmlnaW5hbGx5IGNyZWF0ZWQgZm9yIGEgQml0R28gQlRDIHdhbGxldC5cbiAqIEluIHRoaXMgZXhhbXBsZSwgTFRDIGlzIHRoZSBcInNvdXJjZSBjb2luXCIgYW5kIEJUQyBpcyB0aGUgXCJyZWNvdmVyeSBjb2luXCJcbiAqIEluIGNhc2VzIGxpa2UgdGhlc2Ugd2UgbXVzdCB1c2UgY29uc3RydWN0IGEgdHJhbnNhY3Rpb24gZm9yIGxpdGVjb2luIG5ldHdvcmsgdXNpbmcga2V5cyBvZiB0aGVcbiAqIGJpdGNvaW4gd2FsbGV0LlxuICpcbiAqIEBwYXJhbSBzb3VyY2VDb2luIC0gdGhlIGNvaW4gdG8gY29uc3RydWN0IHRoZSB0cmFuc2FjdGlvbiBmb3JcbiAqIEBwYXJhbSByZWNvdmVyeUNvaW4gLSB0aGUgY29pbiB0aGUgcmVjZWl2aW5nIHdhbGxldCB3YXMgc2V0IHVwIGZvclxuICovXG5mdW5jdGlvbiBydW48VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oc291cmNlQ29pbjogQWJzdHJhY3RVdHhvQ29pbiwgcmVjb3ZlcnlDb2luOiBBYnN0cmFjdFV0eG9Db2luKSB7XG4gIGRlc2NyaWJlKGBDcm9zcy1DaGFpbiBSZWNvdmVyeSBbc291cmNlQ29pbj0ke3NvdXJjZUNvaW4uZ2V0Q2hhaW4oKX0gcmVjb3ZlcnlDb2luPSR7cmVjb3ZlcnlDb2luLmdldENoYWluKCl9XWAsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB3YWxsZXRLZXlzID0gZ2V0RGVmYXVsdFdhbGxldEtleXMoKTtcbiAgICBjb25zdCByZWNvdmVyeVdhbGxldElkID0gJzVhYmFjZWJlMjhkNzJmYmQwN2UwYjhjYmJhMGZmMzllJztcbiAgICAvLyB0aGUgYWRkcmVzcyB0aGUgYWNjaWRlbnRhbCBkZXBvc2l0IHdlbnQgdG8sIGluIGJvdGggc291cmNlQ29pbiBhbmQgYWRkcmVzc0NvaW4gZm9ybWF0c1xuICAgIGNvbnN0IFtkZXBvc2l0QWRkcmVzc1NvdXJjZUNvaW4sIGRlcG9zaXRBZGRyZXNzUmVjb3ZlcnlDb2luXSA9IFtzb3VyY2VDb2luLCByZWNvdmVyeUNvaW5dLm1hcCgoY29pbikgPT4gKHtcbiAgICAgIGFkZHJlc3M6IGdlbmVyYXRlQWRkcmVzcyhjb2luLm5ldHdvcmssIHsga2V5Y2hhaW5zOiBrZXljaGFpbnNCYXNlNTgsIGNoYWluOiAwLCBpbmRleDogMCB9KSxcbiAgICAgIGNoYWluOiAwLFxuICAgICAgaW5kZXg6IDAsXG4gICAgfSkpO1xuICAgIGNvbnN0IGNoYWluID0gMDtcbiAgICBjb25zdCBpbmRleCA9IDE7XG4gICAgLy8gdGhlIGFkZHJlc3Mgd2hlcmUgd2Ugd2FudCB0byByZWNvdmVyIG91ciBmdW5kcyB0b1xuICAgIGNvbnN0IHJlY292ZXJ5QWRkcmVzcyA9IGdlbmVyYXRlQWRkcmVzcyhzb3VyY2VDb2luLm5ldHdvcmssIHtcbiAgICAgIGtleWNoYWluczoga2V5Y2hhaW5zQmFzZTU4LFxuICAgICAgY2hhaW4sXG4gICAgICBpbmRleCxcbiAgICB9KTtcbiAgICBjb25zdCBub2Nrczogbm9jay5TY29wZVtdID0gW107XG5cbiAgICBsZXQgZGVwb3NpdFR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPjtcblxuICAgIGZ1bmN0aW9uIGdldERlcG9zaXRVbnNwZW50cygpOiB1dHhvbGliLmJpdGdvLlVuc3BlbnQ8VE51bWJlcj5bXSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBtb2NrVW5zcGVudDxUTnVtYmVyPihcbiAgICAgICAgICBzb3VyY2VDb2luLm5ldHdvcmssXG4gICAgICAgICAgd2FsbGV0S2V5cyxcbiAgICAgICAgICAncDJzaCcsXG4gICAgICAgICAgMCxcbiAgICAgICAgICAoc291cmNlQ29pbi5hbW91bnRUeXBlID09PSAnYmlnaW50JyA/IEJpZ0ludCgnMTA5OTk5OTk4MDAwMDAwMDEnKSA6IDFlOCkgYXMgVE51bWJlclxuICAgICAgICApLFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXREZXBvc2l0VHJhbnNhY3Rpb24oKTogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj4ge1xuICAgICAgcmV0dXJuIGNyZWF0ZUZ1bGxTaWduZWRUcmFuc2FjdGlvbjxUTnVtYmVyPihcbiAgICAgICAgc291cmNlQ29pbi5uZXR3b3JrLFxuICAgICAgICBnZXREZXBvc2l0VW5zcGVudHMoKSxcbiAgICAgICAgZGVwb3NpdEFkZHJlc3NTb3VyY2VDb2luLmFkZHJlc3MsXG4gICAgICAgIGdldERlZmF1bHRXYWxsZXRVbnNwZW50U2lnbmVyKClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYmVmb3JlKCdwcmVwYXJlIGRlcG9zaXQgdHgnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkZXBvc2l0VHggPSBnZXREZXBvc2l0VHJhbnNhY3Rpb24oKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGdldFJlY292ZXJ5VW5zcGVudHMoKTogV2FsbGV0VW5zcGVudDxUTnVtYmVyPltdIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogZGVwb3NpdFR4LmdldElkKCksXG4gICAgICAgICAgYWRkcmVzczogZGVwb3NpdEFkZHJlc3NTb3VyY2VDb2luLmFkZHJlc3MsXG4gICAgICAgICAgY2hhaW46IGNoYWluLFxuICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICB2YWx1ZTogZGVwb3NpdFR4Lm91dHNbMF0udmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIGJlZm9yZSgnc2V0dXAgbm9ja3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBub2Nrcy5wdXNoKC4uLm5vY2tXYWxsZXQocmVjb3ZlcnlDb2luLCByZWNvdmVyeVdhbGxldElkLCBrZXljaGFpbnNCYXNlNTgpKTtcbiAgICAgIG5vY2tzLnB1c2gobm9ja1dhbGxldEFkZHJlc3MocmVjb3ZlcnlDb2luLCByZWNvdmVyeVdhbGxldElkLCBkZXBvc2l0QWRkcmVzc1JlY292ZXJ5Q29pbikpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgbm9ja3MuZm9yRWFjaCgobikgPT4gbi5kb25lKCkpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXIoZnVuY3Rpb24gKCkge1xuICAgICAgbm9jay5jbGVhbkFsbCgpO1xuICAgIH0pO1xuXG4gICAgYWZ0ZXJFYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHNpbm9uLnJlc3RvcmUoKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIHRlc3RNYXRjaEZpeHR1cmUoXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBnZXRSZWNvdmVyeVJlc3VsdDogKCkgPT4gQ3Jvc3NDaGFpblJlY292ZXJ5U2lnbmVkPFROdW1iZXI+IHwgQ3Jvc3NDaGFpblJlY292ZXJ5VW5zaWduZWQ8VE51bWJlcj5cbiAgICApIHtcbiAgICAgIGl0KGBzaG91bGQgbWF0Y2ggZml4dHVyZSAoJHtuYW1lfSlgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHJlY292ZXJ5ID0gZ2V0UmVjb3ZlcnlSZXN1bHQoKTtcbiAgICAgICAgbGV0IHJlY292ZXJ5T2JqID0ge1xuICAgICAgICAgIC4uLnJlY292ZXJ5LFxuICAgICAgICAgIHR4OiB0cmFuc2FjdGlvbkhleFRvT2JqKHJlY292ZXJ5LnR4SGV4IGFzIHN0cmluZywgc291cmNlQ29pbi5uZXR3b3JrLCBzb3VyY2VDb2luLmFtb3VudFR5cGUpLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoc291cmNlQ29pbi5hbW91bnRUeXBlID09PSAnYmlnaW50Jykge1xuICAgICAgICAgIHJlY292ZXJ5T2JqID0gSlNPTi5wYXJzZShcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHJlY292ZXJ5T2JqLCAoaywgdikgPT4ge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHYgPT09ICdiaWdpbnQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHYudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHNob3VsZEVxdWFsSlNPTihcbiAgICAgICAgICByZWNvdmVyeU9iaixcbiAgICAgICAgICBhd2FpdCBnZXRGaXh0dXJlKHNvdXJjZUNvaW4sIGByZWNvdmVyeS9jcm9zc0NoYWluUmVjb3ZlcnktJHtyZWNvdmVyeUNvaW4uZ2V0Q2hhaW4oKX0tJHtuYW1lfWAsIHJlY292ZXJ5T2JqKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2hlY2tSZWNvdmVyeVRyYW5zYWN0aW9uU2lnbmF0dXJlKHR4OiBzdHJpbmcgfCB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPikge1xuICAgICAgaWYgKHR5cGVvZiB0eCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdHggPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcjxUTnVtYmVyPihCdWZmZXIuZnJvbSh0eCwgJ2hleCcpLCBzb3VyY2VDb2luLm5ldHdvcmssIHtcbiAgICAgICAgICBhbW91bnRUeXBlOiBzb3VyY2VDb2luLmFtb3VudFR5cGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgdW5zcGVudHMgPSBnZXRSZWNvdmVyeVVuc3BlbnRzKCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguaW5zLmxlbmd0aCwgdW5zcGVudHMubGVuZ3RoKTtcbiAgICAgIHR4Lmlucy5mb3JFYWNoKChpbnB1dCwgaSkgPT4ge1xuICAgICAgICBhc3NlcnQub2sodHlwZW9mIHR4ICE9PSAnc3RyaW5nJyk7XG4gICAgICAgIHV0eG9saWIuYml0Z29cbiAgICAgICAgICAudmVyaWZ5U2lnbmF0dXJlV2l0aFVuc3BlbnQ8VE51bWJlcj4odHgsIGksIGdldFJlY292ZXJ5VW5zcGVudHMoKSwgd2FsbGV0S2V5cylcbiAgICAgICAgICAuc2hvdWxkLmVxbChbdHJ1ZSwgZmFsc2UsIGZhbHNlXSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpdCgnc2hvdWxkIHRlc3Qgc2lnbmVkIGNyb3NzIGNoYWluIHJlY292ZXJ5JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZ2V0UmVjb3ZlcnlQcm92aWRlclN0dWIgPSBzaW5vblxuICAgICAgICAuc3R1YihBYnN0cmFjdFV0eG9Db2luLnByb3RvdHlwZSwgJ2dldFJlY292ZXJ5UHJvdmlkZXInKVxuICAgICAgICAucmV0dXJucyhuZXcgTW9ja0Nyb3NzQ2hhaW5SZWNvdmVyeVByb3ZpZGVyPFROdW1iZXI+KHNvdXJjZUNvaW4sIGdldERlcG9zaXRVbnNwZW50cygpLCBkZXBvc2l0VHgpKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgcmVjb3ZlcnlDb2luLFxuICAgICAgICB0eGlkOiBkZXBvc2l0VHguZ2V0SWQoKSxcbiAgICAgICAgcmVjb3ZlcnlBZGRyZXNzLFxuICAgICAgICB3YWxsZXQ6IHJlY292ZXJ5V2FsbGV0SWQsXG4gICAgICB9O1xuICAgICAgY29uc3Qgc2lnbmVkUmVjb3ZlcnkgPSAoYXdhaXQgc291cmNlQ29pbi5yZWNvdmVyRnJvbVdyb25nQ2hhaW48VE51bWJlcj4oe1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHhwcnY6IGtleWNoYWluc0Jhc2U1OFswXS5wcnYsXG4gICAgICB9KSkgYXMgQ3Jvc3NDaGFpblJlY292ZXJ5U2lnbmVkPFROdW1iZXI+O1xuICAgICAgc2hvdWxkLmVxdWFsKGdldFJlY292ZXJ5UHJvdmlkZXJTdHViLmNhbGxDb3VudCwgMSk7XG5cbiAgICAgIHRlc3RNYXRjaEZpeHR1cmUoJ3NpZ25lZCcsICgpID0+IHNpZ25lZFJlY292ZXJ5KTtcblxuICAgICAgaXQoJ3Nob3VsZCBoYXZlIHZhbGlkIHNpZ25hdHVyZXMgZm9yIHNpZ25lZCByZWNvdmVyeScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2hlY2tSZWNvdmVyeVRyYW5zYWN0aW9uU2lnbmF0dXJlKHNpZ25lZFJlY292ZXJ5LnR4SGV4IGFzIHN0cmluZyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGVzdCB1bnNpZ25lZCBjcm9zcyBjaGFpbiByZWNvdmVyeScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGdldFJlY292ZXJ5UHJvdmlkZXJTdHViID0gc2lub25cbiAgICAgICAgLnN0dWIoQWJzdHJhY3RVdHhvQ29pbi5wcm90b3R5cGUsICdnZXRSZWNvdmVyeVByb3ZpZGVyJylcbiAgICAgICAgLnJldHVybnMobmV3IE1vY2tDcm9zc0NoYWluUmVjb3ZlcnlQcm92aWRlcjxUTnVtYmVyPihzb3VyY2VDb2luLCBnZXREZXBvc2l0VW5zcGVudHMoKSwgZGVwb3NpdFR4KSk7XG4gICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgIHJlY292ZXJ5Q29pbixcbiAgICAgICAgdHhpZDogZGVwb3NpdFR4LmdldElkKCksXG4gICAgICAgIHJlY292ZXJ5QWRkcmVzcyxcbiAgICAgICAgd2FsbGV0OiByZWNvdmVyeVdhbGxldElkLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHVuc2lnbmVkUmVjb3ZlcnkgPSAoYXdhaXQgc291cmNlQ29pbi5yZWNvdmVyRnJvbVdyb25nQ2hhaW48VE51bWJlcj4oe1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHNpZ25lZDogZmFsc2UsXG4gICAgICB9KSkgYXMgQ3Jvc3NDaGFpblJlY292ZXJ5VW5zaWduZWQ8VE51bWJlcj47XG4gICAgICBzaG91bGQuZXF1YWwoZ2V0UmVjb3ZlcnlQcm92aWRlclN0dWIuY2FsbENvdW50LCAxKTtcblxuICAgICAgdGVzdE1hdGNoRml4dHVyZSgndW5zaWduZWQnLCAoKSA9PiB1bnNpZ25lZFJlY292ZXJ5KTtcblxuICAgICAgaXQoJ3Nob3VsZCBiZSBzaWduYWJsZSBmb3IgdW5zaWduZWQgcmVjb3ZlcnknLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHNpZ25lZFR4ID0gYXdhaXQgc291cmNlQ29pbi5zaWduVHJhbnNhY3Rpb248VE51bWJlcj4oe1xuICAgICAgICAgIHR4UHJlYnVpbGQ6IHVuc2lnbmVkUmVjb3ZlcnksXG4gICAgICAgICAgcHJ2OiBrZXljaGFpbnNCYXNlNThbMF0ucHJ2LFxuICAgICAgICAgIHB1YnM6IGtleWNoYWluc0Jhc2U1OC5tYXAoKGspID0+IGsucHViKSBhcyBUcmlwbGU8c3RyaW5nPixcbiAgICAgICAgfSk7XG4gICAgICAgIGNoZWNrUmVjb3ZlcnlUcmFuc2FjdGlvblNpZ25hdHVyZSgoc2lnbmVkVHggYXMgeyB0eEhleDogc3RyaW5nIH0pLnR4SGV4KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaXNTdXBwb3J0ZWRDcm9zc0NoYWluUmVjb3Zlcnkoc291cmNlQ29pbjogQWJzdHJhY3RVdHhvQ29pbiwgcmVjb3ZlcnlDb2luOiBBYnN0cmFjdFV0eG9Db2luKTogYm9vbGVhbiB7XG4gIHJldHVybiBzdXBwb3J0ZWRDcm9zc0NoYWluUmVjb3Zlcmllc1tzb3VyY2VDb2luLmdldEZhbWlseSgpXT8uaW5jbHVkZXMocmVjb3ZlcnlDb2luLmdldEZhbWlseSgpKTtcbn1cblxudXR4b0NvaW5zLmZvckVhY2goKGNvaW4pID0+IHtcbiAgdXR4b0NvaW5zXG4gICAgLmZpbHRlcihcbiAgICAgIChvdGhlckNvaW4pID0+XG4gICAgICAgIGNvaW4gIT09IG90aGVyQ29pbiAmJlxuICAgICAgICBpc1N1cHBvcnRlZENyb3NzQ2hhaW5SZWNvdmVyeShjb2luLCBvdGhlckNvaW4pICYmXG4gICAgICAgICgodXR4b2xpYi5pc01haW5uZXQoY29pbi5uZXR3b3JrKSAmJiB1dHhvbGliLmlzTWFpbm5ldChvdGhlckNvaW4ubmV0d29yaykpIHx8XG4gICAgICAgICAgKHV0eG9saWIuaXNUZXN0bmV0KGNvaW4ubmV0d29yaykgJiYgdXR4b2xpYi5pc1Rlc3RuZXQob3RoZXJDb2luLm5ldHdvcmspKSlcbiAgICApXG4gICAgLmZvckVhY2goKG90aGVyQ29pbikgPT4ge1xuICAgICAgaWYgKGNvaW4uYW1vdW50VHlwZSA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgcnVuPGJpZ2ludD4oY29pbiwgb3RoZXJDb2luKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJ1bihjb2luLCBvdGhlckNvaW4pO1xuICAgICAgfVxuICAgIH0pO1xufSk7XG5cbmRlc2NyaWJlKGBDcm9zcy1DaGFpbiBSZWNvdmVyeSBnZXRXYWxsZXRgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGJpdGdvID0gZGVmYXVsdEJpdEdvO1xuICBjb25zdCByZWNvdmVyeUNvaW4gPSBnZXRVdHhvQ29pbignYnRjJyk7XG4gIGNvbnN0IHJlY292ZXJ5V2FsbGV0SWQgPSAnNWFiYWNlYmUyOGQ3MmZiZDA3ZTBiOGNiYmEwZmYzOWUnO1xuXG4gIGl0KCdzaG91bGQgc2VhcmNoIHYxIHdhbGxldHMgaWYgdGhlIHYyIGVuZHBvaW50IHJlc3BvbmRzIHdpdGggYSA0eHggZXJyb3InLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZXJyb3JSZXNwb25zZXMgPSBbNDAwLCA0MDRdO1xuXG4gICAgZm9yIChjb25zdCBlcnJvciBvZiBlcnJvclJlc3BvbnNlcykge1xuICAgICAgY29uc3Qgbm9ja1YyV2FsbGV0ID0gbm9ja0JpdEdvKGJpdGdvKVxuICAgICAgICAuZ2V0KGAvYXBpL3YyLyR7cmVjb3ZlcnlDb2luLmdldENoYWluKCl9L3dhbGxldC8ke3JlY292ZXJ5V2FsbGV0SWR9YClcbiAgICAgICAgLnJlcGx5KGVycm9yKTtcbiAgICAgIGNvbnN0IG5vY2tWMVdhbGxldCA9IG5vY2tCaXRHbyhiaXRnbykuZ2V0KGAvYXBpL3YxL3dhbGxldC8ke3JlY292ZXJ5V2FsbGV0SWR9YCkucmVwbHkoZXJyb3IpO1xuICAgICAgYXdhaXQgYXNzZXJ0LnJlamVjdHMoXG4gICAgICAgICgpID0+IGdldFdhbGxldChiaXRnbywgcmVjb3ZlcnlDb2luLCByZWNvdmVyeVdhbGxldElkKSxcbiAgICAgICAgRXJyb3IoYGNvdWxkIG5vdCBnZXQgd2FsbGV0ICR7cmVjb3ZlcnlXYWxsZXRJZH0gZnJvbSB2MSBvciB2MjogQXBpUmVzcG9uc2VFcnJvcjogJHtlcnJvcn1gKVxuICAgICAgKTtcbiAgICAgIG5vY2tWMldhbGxldC5kb25lKCk7XG4gICAgICBub2NrVjFXYWxsZXQuZG9uZSgpO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgdjIgZW5kcG9pbnQgcmVzcG9uZHMgd2l0aCBhIDV4eCBlcnJvcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBlcnJvclJlc3BvbnNlcyA9IFs1MDBdO1xuICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZXJyb3JSZXNwb25zZXMpIHtcbiAgICAgIGNvbnN0IG5vY2tWMldhbGxldCA9IG5vY2tCaXRHbyhiaXRnbylcbiAgICAgICAgLmdldChgL2FwaS92Mi8ke3JlY292ZXJ5Q29pbi5nZXRDaGFpbigpfS93YWxsZXQvJHtyZWNvdmVyeVdhbGxldElkfWApXG4gICAgICAgIC5yZXBseShlcnJvcik7XG4gICAgICBhd2FpdCBhc3NlcnQucmVqZWN0cygoKSA9PiBnZXRXYWxsZXQoYml0Z28sIHJlY292ZXJ5Q29pbiwgcmVjb3ZlcnlXYWxsZXRJZCksIHtcbiAgICAgICAgbmFtZTogJ0FwaVJlc3BvbnNlRXJyb3InLFxuICAgICAgICBzdGF0dXM6IDUwMCxcbiAgICAgICAgcmVzdWx0OiB7fSxcbiAgICAgICAgaW52YWxpZFRva2VuOiBmYWxzZSxcbiAgICAgICAgbmVlZHNPVFA6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICBub2NrVjJXYWxsZXQuZG9uZSgpO1xuICAgIH1cbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2NvbnZlcnRMdGNBZGRyZXNzVG9MZWdhY3lGb3JtYXQnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGx0Y05ldHdvcmsgPSB1dHhvbGliLm5ldHdvcmtzLmxpdGVjb2luO1xuXG4gIGl0KCdzaG91bGQgY29udmVydCBNLi4uIFAyU0ggYWRkcmVzcyB0byAzLi4uIGxlZ2FjeSBmb3JtYXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVGhlc2UgdHdvIGFkZHJlc3NlcyByZXByZXNlbnQgdGhlIHNhbWUgdW5kZXJseWluZyBzY3JpcHQgaGFzaDpcbiAgICAvLyAtIE1OUTd6a2dNc2FWNjdyc2pBM0p1UDU5UkM1d3hSWHB3Z0UgaXMgdGhlIExUQyBmb3JtYXQgKHNjcmlwdEhhc2ggMHgzMilcbiAgICAvLyAtIDNHQnlnc0dQdlRkZktNYnE0QUtaWlJ1MXNQTVdQRXNCZmQgaXMgdGhlIEJUQyBmb3JtYXQgKHNjcmlwdEhhc2ggMHgwNSlcbiAgICBjb25zdCBsdGNBZGRyZXNzID0gJ01OUTd6a2dNc2FWNjdyc2pBM0p1UDU5UkM1d3hSWHB3Z0UnO1xuICAgIGNvbnN0IGV4cGVjdGVkTGVnYWN5QWRkcmVzcyA9ICczR0J5Z3NHUHZUZGZLTWJxNEFLWlpSdTFzUE1XUEVzQmZkJztcblxuICAgIGNvbnN0IGxlZ2FjeUFkZHJlc3MgPSBjb252ZXJ0THRjQWRkcmVzc1RvTGVnYWN5Rm9ybWF0KGx0Y0FkZHJlc3MsIGx0Y05ldHdvcmspO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChsZWdhY3lBZGRyZXNzLCBleHBlY3RlZExlZ2FjeUFkZHJlc3MpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvbnZlcnQgTUQ2OFBzZGhlS3hjWXNyVkx5WlJYZ29TRExuQjFNZFZ0RSB0byBsZWdhY3kgZm9ybWF0JywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGFkZHJlc3MgPSAnTUQ2OFBzZGhlS3hjWXNyVkx5WlJYZ29TRExuQjFNZFZ0RSc7XG4gICAgY29uc3QgbGVnYWN5QWRkcmVzcyA9IGNvbnZlcnRMdGNBZGRyZXNzVG9MZWdhY3lGb3JtYXQoYWRkcmVzcywgbHRjTmV0d29yayk7XG5cbiAgICAvLyBTaG91bGQgc3RhcnQgd2l0aCAnMycgKGxlZ2FjeSBCVEMgUDJTSCBmb3JtYXQpXG4gICAgYXNzZXJ0Lm9rKGxlZ2FjeUFkZHJlc3Muc3RhcnRzV2l0aCgnMycpLCBgRXhwZWN0ZWQgYWRkcmVzcyB0byBzdGFydCB3aXRoICczJywgZ290OiAke2xlZ2FjeUFkZHJlc3N9YCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgbm90IG1vZGlmeSBiZWNoMzIgYWRkcmVzc2VzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGJlY2gzMkFkZHJlc3MgPSAnbHRjMXFncmw4enBuZHNrbGFhOXN3Z2Q1dmV2eXhteDV4NjN2Y3JsN2RrNCc7XG4gICAgY29uc3QgcmVzdWx0ID0gY29udmVydEx0Y0FkZHJlc3NUb0xlZ2FjeUZvcm1hdChiZWNoMzJBZGRyZXNzLCBsdGNOZXR3b3JrKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBiZWNoMzJBZGRyZXNzKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -44,14 +44,25 @@ const fixedScript_1 = require("../../../../src/transaction/fixedScript");
|
|
|
44
44
|
const util_1 = require("./util");
|
|
45
45
|
function describeTransactionWith(acidTest) {
|
|
46
46
|
describe(`${acidTest.name}`, function () {
|
|
47
|
+
let psbt;
|
|
47
48
|
let psbtBytes;
|
|
49
|
+
let walletXpubs;
|
|
50
|
+
let customChangeWalletXpubs;
|
|
51
|
+
let wasmPsbt;
|
|
48
52
|
let refExplanation;
|
|
49
53
|
before('prepare', function () {
|
|
50
|
-
|
|
54
|
+
psbt = acidTest.createPsbt();
|
|
51
55
|
refExplanation = (0, fixedScript_1.explainPsbt)(psbt, { pubs: acidTest.rootWalletKeys }, acidTest.network, {
|
|
52
56
|
strict: true,
|
|
53
57
|
});
|
|
54
58
|
psbtBytes = psbt.toBuffer();
|
|
59
|
+
const networkName = utxolib.getNetworkName(acidTest.network);
|
|
60
|
+
(0, strict_1.default)(networkName);
|
|
61
|
+
walletXpubs = acidTest.rootWalletKeys.triple.map((k) => k.neutered().toBase58());
|
|
62
|
+
customChangeWalletXpubs = acidTest.otherWalletKeys.triple.map((k) => k.neutered().toBase58());
|
|
63
|
+
if ((0, util_1.hasWasmUtxoSupport)(acidTest.network)) {
|
|
64
|
+
wasmPsbt = wasm_utxo_1.fixedScriptWallet.BitGoPsbt.fromBytes(psbtBytes, networkName);
|
|
65
|
+
}
|
|
55
66
|
});
|
|
56
67
|
it('should match the expected values for explainPsbt', function () {
|
|
57
68
|
// note: `outputs` means external outputs here
|
|
@@ -64,14 +75,18 @@ function describeTransactionWith(acidTest) {
|
|
|
64
75
|
strict_1.default.strictEqual(typeof change.address, 'string');
|
|
65
76
|
});
|
|
66
77
|
});
|
|
78
|
+
it('reference implementation should support custom change outputs', function () {
|
|
79
|
+
const customChangeExplanation = (0, fixedScript_1.explainPsbt)(psbt, { pubs: acidTest.rootWalletKeys, customChangePubs: acidTest.otherWalletKeys }, acidTest.network, { strict: true });
|
|
80
|
+
strict_1.default.ok(customChangeExplanation.customChangeOutputs);
|
|
81
|
+
strict_1.default.strictEqual(customChangeExplanation.changeOutputs.length, refExplanation.changeOutputs.length);
|
|
82
|
+
strict_1.default.strictEqual(customChangeExplanation.outputs.length, refExplanation.outputs.length - 1);
|
|
83
|
+
strict_1.default.strictEqual(customChangeExplanation.customChangeOutputs.length, 1);
|
|
84
|
+
strict_1.default.strictEqual(customChangeExplanation.customChangeOutputs[0].amount, '900');
|
|
85
|
+
});
|
|
67
86
|
it('should match explainPsbtWasm', function () {
|
|
68
87
|
if (!(0, util_1.hasWasmUtxoSupport)(acidTest.network)) {
|
|
69
88
|
return this.skip();
|
|
70
89
|
}
|
|
71
|
-
const networkName = utxolib.getNetworkName(acidTest.network);
|
|
72
|
-
(0, strict_1.default)(networkName);
|
|
73
|
-
const wasmPsbt = wasm_utxo_1.fixedScriptWallet.BitGoPsbt.fromBytes(psbtBytes, networkName);
|
|
74
|
-
const walletXpubs = acidTest.rootWalletKeys.triple.map((k) => k.neutered().toBase58());
|
|
75
90
|
const wasmExplanation = (0, fixedScript_1.explainPsbtWasm)(wasmPsbt, walletXpubs, {
|
|
76
91
|
replayProtection: {
|
|
77
92
|
outputScripts: [acidTest.getReplayProtectionOutputScript()],
|
|
@@ -93,9 +108,25 @@ function describeTransactionWith(acidTest) {
|
|
|
93
108
|
}
|
|
94
109
|
}
|
|
95
110
|
});
|
|
111
|
+
if (acidTest.network !== utxolib.networks.bitcoin) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
// extended test suite for bitcoin
|
|
115
|
+
it('returns custom change outputs when parameter is set', function () {
|
|
116
|
+
const wasmExplanation = (0, fixedScript_1.explainPsbtWasm)(wasmPsbt, walletXpubs, {
|
|
117
|
+
replayProtection: {
|
|
118
|
+
outputScripts: [acidTest.getReplayProtectionOutputScript()],
|
|
119
|
+
},
|
|
120
|
+
customChangeWalletXpubs,
|
|
121
|
+
});
|
|
122
|
+
strict_1.default.ok(wasmExplanation.customChangeOutputs);
|
|
123
|
+
strict_1.default.deepStrictEqual(wasmExplanation.outputs.length, 2);
|
|
124
|
+
strict_1.default.deepStrictEqual(wasmExplanation.customChangeOutputs.length, 1);
|
|
125
|
+
strict_1.default.deepStrictEqual(wasmExplanation.customChangeOutputs[0].amount, '900');
|
|
126
|
+
});
|
|
96
127
|
});
|
|
97
128
|
}
|
|
98
129
|
describe('explainPsbt(Wasm)', function () {
|
|
99
130
|
utxo_lib_1.testutil.AcidTest.suite().forEach((test) => describeTransactionWith(test));
|
|
100
131
|
});
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvZXhwbGFpblBzYnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBd0M7QUFFeEMseURBQTJDO0FBQzNDLDhDQUEyQztBQUMzQyxnREFBNkQ7QUFHN0QseUVBQXVGO0FBRXZGLGlDQUE0QztBQUU1QyxTQUFTLHVCQUF1QixDQUFDLFFBQTJCO0lBQzFELFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMzQixJQUFJLFNBQWlCLENBQUM7UUFDdEIsSUFBSSxjQUFzQyxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25DLGNBQWMsR0FBRyxJQUFBLHlCQUFXLEVBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUN0RixNQUFNLEVBQUUsSUFBSTthQUNiLENBQUMsQ0FBQztZQUNILFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsa0RBQWtELEVBQUU7WUFDckQsOENBQThDO1lBQzlDLGdCQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JELGdCQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLGdCQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEQsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckYsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDOUMsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDekMsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUEseUJBQWtCLEVBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLENBQUM7WUFFRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RCxJQUFBLGdCQUFNLEVBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsNkJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDL0UsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQW1CLENBQUM7WUFDekcsTUFBTSxlQUFlLEdBQUcsSUFBQSw2QkFBZSxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUU7Z0JBQzdELGdCQUFnQixFQUFFO29CQUNoQixhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsK0JBQStCLEVBQUUsQ0FBQztpQkFDNUQ7YUFDRixDQUFDLENBQUM7WUFFSCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZDLFFBQVEsR0FBRyxFQUFFLENBQUM7b0JBQ1osS0FBSyxjQUFjLENBQUM7b0JBQ3BCLEtBQUssaUJBQWlCLENBQUM7b0JBQ3ZCLEtBQUssWUFBWTt3QkFDZix5REFBeUQ7d0JBQ3pELGdCQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQzt3QkFDN0MsTUFBTTtvQkFDUjt3QkFDRSxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUN2RSxNQUFNO2dCQUNWLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFDNUIsbUJBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydC9zdHJpY3QnO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyB0ZXN0dXRpbCB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBmaXhlZFNjcmlwdFdhbGxldCwgVHJpcGxlIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB0eXBlIHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9maXhlZFNjcmlwdC9leHBsYWluVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgZXhwbGFpblBzYnQsIGV4cGxhaW5Qc2J0V2FzbSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9maXhlZFNjcmlwdCc7XG5cbmltcG9ydCB7IGhhc1dhc21VdHhvU3VwcG9ydCB9IGZyb20gJy4vdXRpbCc7XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVHJhbnNhY3Rpb25XaXRoKGFjaWRUZXN0OiB0ZXN0dXRpbC5BY2lkVGVzdCkge1xuICBkZXNjcmliZShgJHthY2lkVGVzdC5uYW1lfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgcHNidEJ5dGVzOiBCdWZmZXI7XG4gICAgbGV0IHJlZkV4cGxhbmF0aW9uOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uO1xuICAgIGJlZm9yZSgncHJlcGFyZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHBzYnQgPSBhY2lkVGVzdC5jcmVhdGVQc2J0KCk7XG4gICAgICByZWZFeHBsYW5hdGlvbiA9IGV4cGxhaW5Qc2J0KHBzYnQsIHsgcHViczogYWNpZFRlc3Qucm9vdFdhbGxldEtleXMgfSwgYWNpZFRlc3QubmV0d29yaywge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIHBzYnRCeXRlcyA9IHBzYnQudG9CdWZmZXIoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlcyBmb3IgZXhwbGFpblBzYnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBub3RlOiBgb3V0cHV0c2AgbWVhbnMgZXh0ZXJuYWwgb3V0cHV0cyBoZXJlXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVmRXhwbGFuYXRpb24ub3V0cHV0cy5sZW5ndGgsIDMpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMubGVuZ3RoLCBhY2lkVGVzdC5vdXRwdXRzLmxlbmd0aCAtIDMpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlZkV4cGxhbmF0aW9uLm91dHB1dEFtb3VudCwgJzE4MDAnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZWZFeHBsYW5hdGlvbi5jaGFuZ2VPdXRwdXRzLmxlbmd0aCwgYWNpZFRlc3Qub3V0cHV0cy5sZW5ndGggLSAzKTtcbiAgICAgIHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMuZm9yRWFjaCgoY2hhbmdlKSA9PiB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjaGFuZ2UuYW1vdW50LCAnOTAwJyk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY2hhbmdlLmFkZHJlc3MsICdzdHJpbmcnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCBleHBsYWluUHNidFdhc20nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoIWhhc1dhc21VdHhvU3VwcG9ydChhY2lkVGVzdC5uZXR3b3JrKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5za2lwKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ldHdvcmtOYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShhY2lkVGVzdC5uZXR3b3JrKTtcbiAgICAgIGFzc2VydChuZXR3b3JrTmFtZSk7XG4gICAgICBjb25zdCB3YXNtUHNidCA9IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidC5mcm9tQnl0ZXMocHNidEJ5dGVzLCBuZXR3b3JrTmFtZSk7XG4gICAgICBjb25zdCB3YWxsZXRYcHVicyA9IGFjaWRUZXN0LnJvb3RXYWxsZXRLZXlzLnRyaXBsZS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKSBhcyBUcmlwbGU8c3RyaW5nPjtcbiAgICAgIGNvbnN0IHdhc21FeHBsYW5hdGlvbiA9IGV4cGxhaW5Qc2J0V2FzbSh3YXNtUHNidCwgd2FsbGV0WHB1YnMsIHtcbiAgICAgICAgcmVwbGF5UHJvdGVjdGlvbjoge1xuICAgICAgICAgIG91dHB1dFNjcmlwdHM6IFthY2lkVGVzdC5nZXRSZXBsYXlQcm90ZWN0aW9uT3V0cHV0U2NyaXB0KCldLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlZkV4cGxhbmF0aW9uKSkge1xuICAgICAgICBjb25zdCByZWZWYWx1ZSA9IHJlZkV4cGxhbmF0aW9uW2tleV07XG4gICAgICAgIGNvbnN0IHdhc21WYWx1ZSA9IHdhc21FeHBsYW5hdGlvbltrZXldO1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2Rpc3BsYXlPcmRlcic6XG4gICAgICAgICAgY2FzZSAnaW5wdXRTaWduYXR1cmVzJzpcbiAgICAgICAgICBjYXNlICdzaWduYXR1cmVzJzpcbiAgICAgICAgICAgIC8vIHRoZXNlIGFyZSBkZXByZWNhdGVkIGZpZWxkcyB0aGF0IHdlIHdhbnQgdG8gZ2V0IHJpZCBvZlxuICAgICAgICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXNtVmFsdWUsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXNtVmFsdWUsIHJlZlZhbHVlLCBgbWlzbWF0Y2ggZm9yIGtleSAke2tleX1gKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5kZXNjcmliZSgnZXhwbGFpblBzYnQoV2FzbSknLCBmdW5jdGlvbiAoKSB7XG4gIHRlc3R1dGlsLkFjaWRUZXN0LnN1aXRlKCkuZm9yRWFjaCgodGVzdCkgPT4gZGVzY3JpYmVUcmFuc2FjdGlvbldpdGgodGVzdCkpO1xufSk7XG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvZXhwbGFpblBzYnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBd0M7QUFFeEMseURBQTJDO0FBQzNDLDhDQUEyQztBQUMzQyxnREFBNkQ7QUFHN0QseUVBQXVGO0FBRXZGLGlDQUE0QztBQUU1QyxTQUFTLHVCQUF1QixDQUFDLFFBQTJCO0lBQzFELFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMzQixJQUFJLElBQTRCLENBQUM7UUFDakMsSUFBSSxTQUFpQixDQUFDO1FBQ3RCLElBQUksV0FBMkIsQ0FBQztRQUNoQyxJQUFJLHVCQUFtRCxDQUFDO1FBQ3hELElBQUksUUFBcUMsQ0FBQztRQUMxQyxJQUFJLGNBQXNDLENBQUM7UUFDM0MsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdCLGNBQWMsR0FBRyxJQUFBLHlCQUFXLEVBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUN0RixNQUFNLEVBQUUsSUFBSTthQUNiLENBQUMsQ0FBQztZQUNILFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0QsSUFBQSxnQkFBTSxFQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BCLFdBQVcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUs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QyxlQUFlLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0RSxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsUUFBUSxDQUFDLG1CQUFtQixFQUFFO0lBQzVCLG1CQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnbm9kZTphc3NlcnQvc3RyaWN0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgdGVzdHV0aWwgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgZml4ZWRTY3JpcHRXYWxsZXQsIFRyaXBsZSB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgdHlwZSB7IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvZXhwbGFpblRyYW5zYWN0aW9uJztcbmltcG9ydCB7IGV4cGxhaW5Qc2J0LCBleHBsYWluUHNidFdhc20gfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQnO1xuXG5pbXBvcnQgeyBoYXNXYXNtVXR4b1N1cHBvcnQgfSBmcm9tICcuL3V0aWwnO1xuXG5mdW5jdGlvbiBkZXNjcmliZVRyYW5zYWN0aW9uV2l0aChhY2lkVGVzdDogdGVzdHV0aWwuQWNpZFRlc3QpIHtcbiAgZGVzY3JpYmUoYCR7YWNpZFRlc3QubmFtZX1gLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG4gICAgbGV0IHBzYnRCeXRlczogQnVmZmVyO1xuICAgIGxldCB3YWxsZXRYcHViczogVHJpcGxlPHN0cmluZz47XG4gICAgbGV0IGN1c3RvbUNoYW5nZVdhbGxldFhwdWJzOiBUcmlwbGU8c3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgICBsZXQgd2FzbVBzYnQ6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbiAgICBsZXQgcmVmRXhwbGFuYXRpb246IFRyYW5zYWN0aW9uRXhwbGFuYXRpb247XG4gICAgYmVmb3JlKCdwcmVwYXJlJywgZnVuY3Rpb24gKCkge1xuICAgICAgcHNidCA9IGFjaWRUZXN0LmNyZWF0ZVBzYnQoKTtcbiAgICAgIHJlZkV4cGxhbmF0aW9uID0gZXhwbGFpblBzYnQocHNidCwgeyBwdWJzOiBhY2lkVGVzdC5yb290V2FsbGV0S2V5cyB9LCBhY2lkVGVzdC5uZXR3b3JrLCB7XG4gICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgcHNidEJ5dGVzID0gcHNidC50b0J1ZmZlcigpO1xuICAgICAgY29uc3QgbmV0d29ya05hbWUgPSB1dHhvbGliLmdldE5ldHdvcmtOYW1lKGFjaWRUZXN0Lm5ldHdvcmspO1xuICAgICAgYXNzZXJ0KG5ldHdvcmtOYW1lKTtcbiAgICAgIHdhbGxldFhwdWJzID0gYWNpZFRlc3Qucm9vdFdhbGxldEtleXMudHJpcGxlLm1hcCgoaykgPT4gay5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpIGFzIFRyaXBsZTxzdHJpbmc+O1xuICAgICAgY3VzdG9tQ2hhbmdlV2FsbGV0WHB1YnMgPSBhY2lkVGVzdC5vdGhlcldhbGxldEtleXMudHJpcGxlLm1hcCgoaykgPT4gay5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpIGFzIFRyaXBsZTxzdHJpbmc+O1xuICAgICAgaWYgKGhhc1dhc21VdHhvU3VwcG9ydChhY2lkVGVzdC5uZXR3b3JrKSkge1xuICAgICAgICB3YXNtUHNidCA9IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidC5mcm9tQnl0ZXMocHNidEJ5dGVzLCBuZXR3b3JrTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1hdGNoIHRoZSBleHBlY3RlZCB2YWx1ZXMgZm9yIGV4cGxhaW5Qc2J0JywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gbm90ZTogYG91dHB1dHNgIG1lYW5zIGV4dGVybmFsIG91dHB1dHMgaGVyZVxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlZkV4cGxhbmF0aW9uLm91dHB1dHMubGVuZ3RoLCAzKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZWZFeHBsYW5hdGlvbi5jaGFuZ2VPdXRwdXRzLmxlbmd0aCwgYWNpZFRlc3Qub3V0cHV0cy5sZW5ndGggLSAzKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZWZFeHBsYW5hdGlvbi5vdXRwdXRBbW91bnQsICcxODAwJyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVmRXhwbGFuYXRpb24uY2hhbmdlT3V0cHV0cy5sZW5ndGgsIGFjaWRUZXN0Lm91dHB1dHMubGVuZ3RoIC0gMyk7XG4gICAgICByZWZFeHBsYW5hdGlvbi5jaGFuZ2VPdXRwdXRzLmZvckVhY2goKGNoYW5nZSkgPT4ge1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY2hhbmdlLmFtb3VudCwgJzkwMCcpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGNoYW5nZS5hZGRyZXNzLCAnc3RyaW5nJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdyZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gc2hvdWxkIHN1cHBvcnQgY3VzdG9tIGNoYW5nZSBvdXRwdXRzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24gPSBleHBsYWluUHNidChcbiAgICAgICAgcHNidCxcbiAgICAgICAgeyBwdWJzOiBhY2lkVGVzdC5yb290V2FsbGV0S2V5cywgY3VzdG9tQ2hhbmdlUHViczogYWNpZFRlc3Qub3RoZXJXYWxsZXRLZXlzIH0sXG4gICAgICAgIGFjaWRUZXN0Lm5ldHdvcmssXG4gICAgICAgIHsgc3RyaWN0OiB0cnVlIH1cbiAgICAgICk7XG4gICAgICBhc3NlcnQub2soY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24uY3VzdG9tQ2hhbmdlT3V0cHV0cyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24uY2hhbmdlT3V0cHV0cy5sZW5ndGgsIHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMubGVuZ3RoKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjdXN0b21DaGFuZ2VFeHBsYW5hdGlvbi5vdXRwdXRzLmxlbmd0aCwgcmVmRXhwbGFuYXRpb24ub3V0cHV0cy5sZW5ndGggLSAxKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjdXN0b21DaGFuZ2VFeHBsYW5hdGlvbi5jdXN0b21DaGFuZ2VPdXRwdXRzLmxlbmd0aCwgMSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24uY3VzdG9tQ2hhbmdlT3V0cHV0c1swXS5hbW91bnQsICc5MDAnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggZXhwbGFpblBzYnRXYXNtJywgZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKCFoYXNXYXNtVXR4b1N1cHBvcnQoYWNpZFRlc3QubmV0d29yaykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2tpcCgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB3YXNtRXhwbGFuYXRpb24gPSBleHBsYWluUHNidFdhc20od2FzbVBzYnQsIHdhbGxldFhwdWJzLCB7XG4gICAgICAgIHJlcGxheVByb3RlY3Rpb246IHtcbiAgICAgICAgICBvdXRwdXRTY3JpcHRzOiBbYWNpZFRlc3QuZ2V0UmVwbGF5UHJvdGVjdGlvbk91dHB1dFNjcmlwdCgpXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhyZWZFeHBsYW5hdGlvbikpIHtcbiAgICAgICAgY29uc3QgcmVmVmFsdWUgPSByZWZFeHBsYW5hdGlvbltrZXldO1xuICAgICAgICBjb25zdCB3YXNtVmFsdWUgPSB3YXNtRXhwbGFuYXRpb25ba2V5XTtcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICBjYXNlICdkaXNwbGF5T3JkZXInOlxuICAgICAgICAgIGNhc2UgJ2lucHV0U2lnbmF0dXJlcyc6XG4gICAgICAgICAgY2FzZSAnc2lnbmF0dXJlcyc6XG4gICAgICAgICAgICAvLyB0aGVzZSBhcmUgZGVwcmVjYXRlZCBmaWVsZHMgdGhhdCB3ZSB3YW50IHRvIGdldCByaWQgb2ZcbiAgICAgICAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwod2FzbVZhbHVlLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwod2FzbVZhbHVlLCByZWZWYWx1ZSwgYG1pc21hdGNoIGZvciBrZXkgJHtrZXl9YCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGFjaWRUZXN0Lm5ldHdvcmsgIT09IHV0eG9saWIubmV0d29ya3MuYml0Y29pbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGV4dGVuZGVkIHRlc3Qgc3VpdGUgZm9yIGJpdGNvaW5cblxuICAgIGl0KCdyZXR1cm5zIGN1c3RvbSBjaGFuZ2Ugb3V0cHV0cyB3aGVuIHBhcmFtZXRlciBpcyBzZXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB3YXNtRXhwbGFuYXRpb24gPSBleHBsYWluUHNidFdhc20od2FzbVBzYnQsIHdhbGxldFhwdWJzLCB7XG4gICAgICAgIHJlcGxheVByb3RlY3Rpb246IHtcbiAgICAgICAgICBvdXRwdXRTY3JpcHRzOiBbYWNpZFRlc3QuZ2V0UmVwbGF5UHJvdGVjdGlvbk91dHB1dFNjcmlwdCgpXSxcbiAgICAgICAgfSxcbiAgICAgICAgY3VzdG9tQ2hhbmdlV2FsbGV0WHB1YnMsXG4gICAgICB9KTtcbiAgICAgIGFzc2VydC5vayh3YXNtRXhwbGFuYXRpb24uY3VzdG9tQ2hhbmdlT3V0cHV0cyk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhc21FeHBsYW5hdGlvbi5vdXRwdXRzLmxlbmd0aCwgMik7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhc21FeHBsYW5hdGlvbi5jdXN0b21DaGFuZ2VPdXRwdXRzLmxlbmd0aCwgMSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhc21FeHBsYW5hdGlvbi5jdXN0b21DaGFuZ2VPdXRwdXRzWzBdLmFtb3VudCwgJzkwMCcpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZGVzY3JpYmUoJ2V4cGxhaW5Qc2J0KFdhc20pJywgZnVuY3Rpb24gKCkge1xuICB0ZXN0dXRpbC5BY2lkVGVzdC5zdWl0ZSgpLmZvckVhY2goKHRlc3QpID0+IGRlc2NyaWJlVHJhbnNhY3Rpb25XaXRoKHRlc3QpKTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signPsbt.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/transaction/fixedScript/signPsbt.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
40
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
41
|
+
const signPsbt_1 = require("../../../../src/transaction/fixedScript/signPsbt");
|
|
42
|
+
function describeSignPsbtWithMusig2Participant(acidTest) {
|
|
43
|
+
describe(`${acidTest.name}`, function () {
|
|
44
|
+
it('should sign unsigned psbt to halfsigned', async function () {
|
|
45
|
+
// Create unsigned PSBT
|
|
46
|
+
const psbt = acidTest.createPsbt();
|
|
47
|
+
// Create mock Musig2Participant that sets BitGo nonces
|
|
48
|
+
const mockCoin = {
|
|
49
|
+
async getMusig2Nonces(psbt, walletId) {
|
|
50
|
+
psbt.setAllInputsMusig2NonceHD(acidTest.rootWalletKeys.bitgo, { deterministic: true });
|
|
51
|
+
return psbt;
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
// Sign with user key through signPsbtWithMusig2Participant
|
|
55
|
+
const result = await (0, signPsbt_1.signPsbtWithMusig2Participant)(mockCoin, psbt, acidTest.rootWalletKeys.user, {
|
|
56
|
+
isLastSignature: false,
|
|
57
|
+
signingStep: undefined,
|
|
58
|
+
walletId: 'test-wallet-id',
|
|
59
|
+
});
|
|
60
|
+
// Result should be a PSBT (not finalized)
|
|
61
|
+
(0, strict_1.default)(result instanceof utxolib.bitgo.UtxoPsbt, 'should return UtxoPsbt when not last signature');
|
|
62
|
+
// Verify that all wallet inputs have been signed by user key
|
|
63
|
+
result.data.inputs.forEach((input, inputIndex) => {
|
|
64
|
+
const { scriptType } = utxolib.bitgo.parsePsbtInput(input);
|
|
65
|
+
// Skip replay protection inputs (p2shP2pk)
|
|
66
|
+
if (scriptType === 'p2shP2pk') {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
// Verify user signature is present
|
|
70
|
+
const isValid = result.validateSignaturesOfInputHD(inputIndex, acidTest.rootWalletKeys.user);
|
|
71
|
+
(0, strict_1.default)(isValid, `input ${inputIndex} should have valid user signature`);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
describe('signPsbtWithMusig2Participant', function () {
|
|
77
|
+
// Create test suite with includeP2trMusig2ScriptPath set to false
|
|
78
|
+
// p2trMusig2 script path inputs are signed by user and backup keys,
|
|
79
|
+
// which is not the typical signing pattern and makes testing more complex
|
|
80
|
+
utxolib.testutil.AcidTest.suite({ includeP2trMusig2ScriptPath: false })
|
|
81
|
+
.filter((test) => test.signStage === 'unsigned')
|
|
82
|
+
.forEach((test) => {
|
|
83
|
+
describeSignPsbtWithMusig2Participant(test);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvc2lnblBzYnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBd0M7QUFFeEMseURBQTJDO0FBRTNDLCtFQUFvSDtBQUVwSCxTQUFTLHFDQUFxQyxDQUFDLFFBQW1DO0lBQ2hGLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMzQixFQUFFLENBQUMseUNBQXlDLEVBQUUsS0FBSztZQUNqRCx1QkFBdUI7WUFDdkIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBRW5DLHVEQUF1RDtZQUN2RCxNQUFNLFFBQVEsR0FBc0I7Z0JBQ2xDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBNEIsRUFBRSxRQUFnQjtvQkFDbEUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3ZGLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7YUFDRixDQUFDO1lBRUYsMkRBQTJEO1lBQzNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSx3Q0FBNkIsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFO2dCQUMvRixlQUFlLEVBQUUsS0FBSztnQkFDdEIsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0IsQ0FBQyxDQUFDO1lBRUgsMENBQTBDO1lBQzFDLElBQUEsZ0JBQU0sRUFBQyxNQUFNLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsZ0RBQWdELENBQUMsQ0FBQztZQUVuRyw2REFBNkQ7WUFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUMvQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTNELDJDQUEyQztnQkFDM0MsSUFBSSxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQzlCLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxtQ0FBbUM7Z0JBQ25DLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0YsSUFBQSxnQkFBTSxFQUFDLE9BQU8sRUFBRSxTQUFTLFVBQVUsbUNBQW1DLENBQUMsQ0FBQztZQUMxRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsUUFBUSxDQUFDLCtCQUErQixFQUFFO0lBQ3hDLGtFQUFrRTtJQUNsRSxvRUFBb0U7SUFDcEUsMEVBQTBFO0lBQzFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ3BFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLENBQUM7U0FDL0MsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDaEIscUNBQXFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnbm9kZTphc3NlcnQvc3RyaWN0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBNdXNpZzJQYXJ0aWNpcGFudCwgc2lnblBzYnRXaXRoTXVzaWcyUGFydGljaXBhbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvc2lnblBzYnQnO1xuXG5mdW5jdGlvbiBkZXNjcmliZVNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50KGFjaWRUZXN0OiB1dHhvbGliLnRlc3R1dGlsLkFjaWRUZXN0KSB7XG4gIGRlc2NyaWJlKGAke2FjaWRUZXN0Lm5hbWV9YCwgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc2lnbiB1bnNpZ25lZCBwc2J0IHRvIGhhbGZzaWduZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBDcmVhdGUgdW5zaWduZWQgUFNCVFxuICAgICAgY29uc3QgcHNidCA9IGFjaWRUZXN0LmNyZWF0ZVBzYnQoKTtcblxuICAgICAgLy8gQ3JlYXRlIG1vY2sgTXVzaWcyUGFydGljaXBhbnQgdGhhdCBzZXRzIEJpdEdvIG5vbmNlc1xuICAgICAgY29uc3QgbW9ja0NvaW46IE11c2lnMlBhcnRpY2lwYW50ID0ge1xuICAgICAgICBhc3luYyBnZXRNdXNpZzJOb25jZXMocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCwgd2FsbGV0SWQ6IHN0cmluZyk6IFByb21pc2U8dXR4b2xpYi5iaXRnby5VdHhvUHNidD4ge1xuICAgICAgICAgIHBzYnQuc2V0QWxsSW5wdXRzTXVzaWcyTm9uY2VIRChhY2lkVGVzdC5yb290V2FsbGV0S2V5cy5iaXRnbywgeyBkZXRlcm1pbmlzdGljOiB0cnVlIH0pO1xuICAgICAgICAgIHJldHVybiBwc2J0O1xuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgLy8gU2lnbiB3aXRoIHVzZXIga2V5IHRocm91Z2ggc2lnblBzYnRXaXRoTXVzaWcyUGFydGljaXBhbnRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNpZ25Qc2J0V2l0aE11c2lnMlBhcnRpY2lwYW50KG1vY2tDb2luLCBwc2J0LCBhY2lkVGVzdC5yb290V2FsbGV0S2V5cy51c2VyLCB7XG4gICAgICAgIGlzTGFzdFNpZ25hdHVyZTogZmFsc2UsXG4gICAgICAgIHNpZ25pbmdTdGVwOiB1bmRlZmluZWQsXG4gICAgICAgIHdhbGxldElkOiAndGVzdC13YWxsZXQtaWQnLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFJlc3VsdCBzaG91bGQgYmUgYSBQU0JUIChub3QgZmluYWxpemVkKVxuICAgICAgYXNzZXJ0KHJlc3VsdCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQsICdzaG91bGQgcmV0dXJuIFV0eG9Qc2J0IHdoZW4gbm90IGxhc3Qgc2lnbmF0dXJlJyk7XG5cbiAgICAgIC8vIFZlcmlmeSB0aGF0IGFsbCB3YWxsZXQgaW5wdXRzIGhhdmUgYmVlbiBzaWduZWQgYnkgdXNlciBrZXlcbiAgICAgIHJlc3VsdC5kYXRhLmlucHV0cy5mb3JFYWNoKChpbnB1dCwgaW5wdXRJbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcmlwdFR5cGUgfSA9IHV0eG9saWIuYml0Z28ucGFyc2VQc2J0SW5wdXQoaW5wdXQpO1xuXG4gICAgICAgIC8vIFNraXAgcmVwbGF5IHByb3RlY3Rpb24gaW5wdXRzIChwMnNoUDJwaylcbiAgICAgICAgaWYgKHNjcmlwdFR5cGUgPT09ICdwMnNoUDJwaycpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWZXJpZnkgdXNlciBzaWduYXR1cmUgaXMgcHJlc2VudFxuICAgICAgICBjb25zdCBpc1ZhbGlkID0gcmVzdWx0LnZhbGlkYXRlU2lnbmF0dXJlc09mSW5wdXRIRChpbnB1dEluZGV4LCBhY2lkVGVzdC5yb290V2FsbGV0S2V5cy51c2VyKTtcbiAgICAgICAgYXNzZXJ0KGlzVmFsaWQsIGBpbnB1dCAke2lucHV0SW5kZXh9IHNob3VsZCBoYXZlIHZhbGlkIHVzZXIgc2lnbmF0dXJlYCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmRlc2NyaWJlKCdzaWduUHNidFdpdGhNdXNpZzJQYXJ0aWNpcGFudCcsIGZ1bmN0aW9uICgpIHtcbiAgLy8gQ3JlYXRlIHRlc3Qgc3VpdGUgd2l0aCBpbmNsdWRlUDJ0ck11c2lnMlNjcmlwdFBhdGggc2V0IHRvIGZhbHNlXG4gIC8vIHAydHJNdXNpZzIgc2NyaXB0IHBhdGggaW5wdXRzIGFyZSBzaWduZWQgYnkgdXNlciBhbmQgYmFja3VwIGtleXMsXG4gIC8vIHdoaWNoIGlzIG5vdCB0aGUgdHlwaWNhbCBzaWduaW5nIHBhdHRlcm4gYW5kIG1ha2VzIHRlc3RpbmcgbW9yZSBjb21wbGV4XG4gIHV0eG9saWIudGVzdHV0aWwuQWNpZFRlc3Quc3VpdGUoeyBpbmNsdWRlUDJ0ck11c2lnMlNjcmlwdFBhdGg6IGZhbHNlIH0pXG4gICAgLmZpbHRlcigodGVzdCkgPT4gdGVzdC5zaWduU3RhZ2UgPT09ICd1bnNpZ25lZCcpXG4gICAgLmZvckVhY2goKHRlc3QpID0+IHtcbiAgICAgIGRlc2NyaWJlU2lnblBzYnRXaXRoTXVzaWcyUGFydGljaXBhbnQodGVzdCk7XG4gICAgfSk7XG59KTtcbiJdfQ==
|