@bitgo-beta/abstract-utxo 1.6.1-alpha.239 → 1.6.1-alpha.240
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/.eslintrc.js +6 -0
- package/CHANGELOG.md +61 -0
- package/dist/src/abstractUtxoCoin.d.ts +36 -48
- package/dist/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/src/abstractUtxoCoin.js +18 -159
- package/dist/src/core/descriptor/psbt/assertSatisfiable.js +2 -3
- package/dist/src/core/descriptor/psbt/createPsbt.js +4 -5
- package/dist/src/core/descriptor/psbt/findDescriptors.js +2 -3
- package/dist/src/core/descriptor/psbt/parse.d.ts.map +1 -1
- package/dist/src/core/descriptor/psbt/parse.js +1 -1
- package/dist/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
- package/dist/src/descriptor/assertDescriptorWalletAddress.js +1 -1
- package/dist/src/descriptor/builder/builder.d.ts +1 -1
- package/dist/src/descriptor/builder/builder.d.ts.map +1 -1
- package/dist/src/descriptor/builder/builder.js +4 -2
- package/dist/src/descriptor/builder/parse.d.ts.map +1 -1
- package/dist/src/descriptor/builder/parse.js +34 -23
- package/dist/src/descriptor/descriptorWallet.d.ts +8 -8
- package/dist/src/descriptor/descriptorWallet.d.ts.map +1 -1
- package/dist/src/descriptor/descriptorWallet.js +4 -8
- package/dist/src/descriptor/index.d.ts +2 -1
- package/dist/src/descriptor/index.d.ts.map +1 -1
- package/dist/src/descriptor/index.js +4 -4
- package/dist/src/descriptor/validatePolicy.d.ts +14 -0
- package/dist/src/descriptor/validatePolicy.d.ts.map +1 -0
- package/dist/src/descriptor/validatePolicy.js +48 -0
- package/dist/src/index.d.ts +1 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -6
- package/dist/src/keychains.d.ts +46 -8
- package/dist/src/keychains.d.ts.map +1 -1
- package/dist/src/keychains.js +89 -5
- package/dist/src/recovery/RecoveryProvider.d.ts.map +1 -1
- package/dist/src/recovery/RecoveryProvider.js +1 -1
- package/dist/src/recovery/backupKeyRecovery.d.ts +4 -4
- package/dist/src/recovery/backupKeyRecovery.d.ts.map +1 -1
- package/dist/src/recovery/backupKeyRecovery.js +6 -7
- package/dist/src/recovery/crossChainRecovery.d.ts +1 -1
- package/dist/src/recovery/crossChainRecovery.d.ts.map +1 -1
- package/dist/src/recovery/crossChainRecovery.js +4 -4
- package/dist/src/sign.d.ts.map +1 -1
- package/dist/src/sign.js +1 -1
- package/dist/src/transaction/common/verifyPayGoAmount.d.ts +1 -0
- package/dist/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
- package/dist/src/transaction/common/verifyPayGoAmount.js +1 -0
- package/dist/src/transaction/descriptor/index.d.ts +4 -0
- package/dist/src/transaction/descriptor/index.d.ts.map +1 -1
- package/dist/src/transaction/descriptor/index.js +10 -2
- package/dist/src/transaction/descriptor/parse.d.ts +14 -0
- package/dist/src/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/src/transaction/descriptor/parse.js +115 -0
- package/dist/src/transaction/descriptor/parseToAmountType.d.ts +13 -0
- package/dist/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
- package/dist/src/transaction/descriptor/parseToAmountType.js +60 -0
- package/dist/src/transaction/descriptor/recipient.d.ts +5 -0
- package/dist/src/transaction/descriptor/recipient.d.ts.map +1 -0
- package/dist/src/transaction/descriptor/recipient.js +3 -0
- package/dist/src/transaction/descriptor/signPsbt.d.ts +25 -0
- package/dist/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
- package/dist/src/transaction/descriptor/signPsbt.js +43 -0
- package/dist/src/transaction/descriptor/verifyTransaction.d.ts +33 -0
- package/dist/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
- package/dist/src/transaction/descriptor/verifyTransaction.js +105 -0
- package/dist/src/transaction/explainTransaction.d.ts +1 -1
- package/dist/src/transaction/explainTransaction.d.ts.map +1 -1
- package/dist/src/transaction/explainTransaction.js +15 -3
- package/dist/src/transaction/fetchInputs.js +2 -3
- package/dist/src/transaction/fixedScript/explainTransaction.js +7 -11
- package/dist/src/transaction/fixedScript/index.d.ts +2 -1
- package/dist/src/transaction/fixedScript/index.d.ts.map +1 -1
- package/dist/src/transaction/fixedScript/index.js +4 -2
- package/dist/src/transaction/fixedScript/parseOutput.d.ts +8 -4
- package/dist/src/transaction/fixedScript/parseOutput.d.ts.map +1 -1
- package/dist/src/transaction/fixedScript/parseOutput.js +2 -3
- package/dist/src/transaction/fixedScript/parseTransaction.d.ts +5 -7
- package/dist/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
- package/dist/src/transaction/fixedScript/parseTransaction.js +34 -38
- package/dist/src/transaction/fixedScript/signTransaction.d.ts +17 -0
- package/dist/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
- package/dist/src/transaction/fixedScript/signTransaction.js +138 -0
- package/dist/src/transaction/fixedScript/verifyTransaction.js +2 -3
- package/dist/src/transaction/outputDifference.d.ts +40 -0
- package/dist/src/transaction/outputDifference.d.ts.map +1 -0
- package/dist/src/transaction/outputDifference.js +47 -0
- package/dist/src/transaction/parseTransaction.js +3 -2
- package/dist/src/transaction/recipient.d.ts +1 -0
- package/dist/src/transaction/recipient.d.ts.map +1 -1
- package/dist/src/transaction/recipient.js +9 -1
- package/dist/src/transaction/signTransaction.d.ts +6 -0
- package/dist/src/transaction/signTransaction.d.ts.map +1 -0
- package/dist/src/transaction/signTransaction.js +102 -0
- package/dist/src/transaction/verifyTransaction.d.ts.map +1 -1
- package/dist/src/transaction/verifyTransaction.js +5 -2
- package/dist/src/verifyKey.d.ts +3 -2
- package/dist/src/verifyKey.d.ts.map +1 -1
- package/dist/src/verifyKey.js +3 -7
- package/dist/src/wallet.d.ts +12 -0
- package/dist/src/wallet.d.ts.map +1 -0
- package/dist/src/wallet.js +3 -0
- package/dist/test/core/descriptor/descriptor.utils.d.ts +2 -1
- package/dist/test/core/descriptor/descriptor.utils.d.ts.map +1 -1
- package/dist/test/core/descriptor/descriptor.utils.js +1 -1
- package/dist/test/core/descriptor/psbt/mock.utils.js +4 -6
- package/dist/test/core/descriptor/psbt/parse.js +3 -3
- package/dist/test/core/key.utils.d.ts.map +1 -1
- package/dist/test/core/key.utils.js +1 -1
- package/dist/test/core/toPlainObject.utils.d.ts +1 -1
- package/dist/test/core/toPlainObject.utils.d.ts.map +1 -1
- package/dist/test/core/toPlainObject.utils.js +3 -4
- package/dist/test/descriptor/builder.js +3 -1
- package/dist/test/descriptor/descriptorWallet.js +12 -9
- package/dist/test/transaction/descriptor/explainPsbt.js +3 -6
- package/dist/test/transaction/descriptor/fixtures.utils.d.ts +2 -0
- package/dist/test/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
- package/dist/test/transaction/descriptor/fixtures.utils.js +12 -0
- package/dist/test/transaction/descriptor/outputDifference.d.ts +2 -0
- package/dist/test/transaction/descriptor/outputDifference.d.ts.map +1 -0
- package/dist/test/transaction/descriptor/outputDifference.js +76 -0
- package/dist/test/transaction/descriptor/parse.d.ts +2 -0
- package/dist/test/transaction/descriptor/parse.d.ts.map +1 -0
- package/dist/test/transaction/descriptor/parse.js +78 -0
- package/dist/test/transaction/descriptor/sign.d.ts +2 -0
- package/dist/test/transaction/descriptor/sign.d.ts.map +1 -0
- package/dist/test/transaction/descriptor/sign.js +33 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/dist/test/outputDifference.d.ts +0 -2
- package/dist/test/outputDifference.d.ts.map +0 -1
- package/dist/test/outputDifference.js +0 -86
|
@@ -20,7 +20,6 @@ exports.FINAL_SEQUENCE = 0xffffffff;
|
|
|
20
20
|
* @param descriptor
|
|
21
21
|
*/
|
|
22
22
|
function getRequiredLocktime(descriptor) {
|
|
23
|
-
var _a;
|
|
24
23
|
if (descriptor instanceof wasm_miniscript_1.Descriptor) {
|
|
25
24
|
return getRequiredLocktime(descriptor.node());
|
|
26
25
|
}
|
|
@@ -44,7 +43,7 @@ function getRequiredLocktime(descriptor) {
|
|
|
44
43
|
throw new Error('Expected exactly two elements');
|
|
45
44
|
}
|
|
46
45
|
const [a, b] = descriptor.AndV;
|
|
47
|
-
return
|
|
46
|
+
return getRequiredLocktime(a) ?? getRequiredLocktime(b);
|
|
48
47
|
}
|
|
49
48
|
if ('Drop' in descriptor) {
|
|
50
49
|
return getRequiredLocktime(descriptor.Drop);
|
|
@@ -72,4 +71,4 @@ function assertSatisfiable(psbt, inputIndex, descriptor) {
|
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0U2F0aXNmaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9kZXNjcmlwdG9yL3BzYnQvYXNzZXJ0U2F0aXNmaWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLGtEQXNDQztBQUVELDhDQVlDO0FBdkVEOzs7Ozs7Ozs7R0FTRztBQUNILDREQUFvRDtBQUd2QyxRQUFBLGNBQWMsR0FBRyxVQUFVLENBQUM7QUFFekM7OztHQUdHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsVUFBZ0M7SUFDbEUsSUFBSSxVQUFVLFlBQVksNEJBQVUsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMxRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxLQUFLLElBQUksVUFBVSxFQUFFLENBQUM7UUFDeEIsT0FBTyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQUksSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUN2QixPQUFPLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQy9CLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUMzQixPQUFPLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxPQUFPLElBQUksVUFBVSxJQUFJLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMvRixJQUFJLGFBQWEsSUFBSSxVQUFVLENBQUMsS0FBSyxJQUFJLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUYsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFrQixFQUFFLFVBQWtCLEVBQUUsVUFBc0I7SUFDOUYseUZBQXlGO0lBQ3pGLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekQsSUFBSSxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxzQkFBYyxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLFVBQVUsMkRBQTJELENBQUMsQ0FBQztRQUNsRyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLGdCQUFnQixFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFFBQVEsdUNBQXVDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUM3RyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZXNlIGFyZSBzb21lIGhlbHBlcnMgZm9yIHRlc3Rpbmcgc2F0aXNmaWFiaWxpdHkgb2YgZGVzY3JpcHRvcnMgaW4gUFNCVHMuXG4gKlxuICogVGhleSBhcmUgbW9zdGx5IGEgZGVidWdnaW5nIGFpZCAtIGlmIGFuIGlucHV0IGNhbm5vdCBiZSBzYXRpc2lmaWVkLCB0aGUgYGZpbmFsaXplUHNidCgpYCBtZXRob2Qgd2lsbCBmYWlsLCBidXRcbiAqIHRoZSBlcnJvciBtZXNzYWdlIGlzIHByZXR0eSB2YWd1ZS5cbiAqXG4gKiBUaGUgbWV0aG9kcyBoZXJlIGhhdmUgdGhlIGdvYWwgb2YgY2F0Y2hpbmcgY2VydGFpbiBjYXNlcyBlYXJsaWVyIGFuZCB3aXRoIGEgYmV0dGVyIGVycm9yIG1lc3NhZ2UuXG4gKlxuICogVGhlIGdvYWwgaXMgbm90IGFuIGV4aGF1c3RpdmUgY2hlY2ssIGJ1dCB0byBjYXRjaCBjb21tb24gbWlzdGFrZXMuXG4gKi9cbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5leHBvcnQgY29uc3QgRklOQUxfU0VRVUVOQ0UgPSAweGZmZmZmZmZmO1xuXG4vKipcbiAqIEdldCB0aGUgcmVxdWlyZWQgbG9ja3RpbWUgZm9yIGEgZGVzY3JpcHRvci5cbiAqIEBwYXJhbSBkZXNjcmlwdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXF1aXJlZExvY2t0aW1lKGRlc2NyaXB0b3I6IERlc2NyaXB0b3IgfCB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBEZXNjcmlwdG9yKSB7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoZGVzY3JpcHRvci5ub2RlKCkpO1xuICB9XG4gIGlmICh0eXBlb2YgZGVzY3JpcHRvciAhPT0gJ29iamVjdCcgfHwgZGVzY3JpcHRvciA9PT0gbnVsbCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgaWYgKCdXc2gnIGluIGRlc2NyaXB0b3IpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yLldzaCk7XG4gIH1cbiAgaWYgKCdTaCcgaW4gZGVzY3JpcHRvcikge1xuICAgIHJldHVybiBnZXRSZXF1aXJlZExvY2t0aW1lKGRlc2NyaXB0b3IuU2gpO1xuICB9XG4gIGlmICgnTXMnIGluIGRlc2NyaXB0b3IpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yLk1zKTtcbiAgfVxuICBpZiAoJ0FuZFYnIGluIGRlc2NyaXB0b3IpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGVzY3JpcHRvci5BbmRWKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhbiBhcnJheScpO1xuICAgIH1cbiAgICBpZiAoZGVzY3JpcHRvci5BbmRWLmxlbmd0aCAhPT0gMikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBleGFjdGx5IHR3byBlbGVtZW50cycpO1xuICAgIH1cbiAgICBjb25zdCBbYSwgYl0gPSBkZXNjcmlwdG9yLkFuZFY7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoYSkgPz8gZ2V0UmVxdWlyZWRMb2NrdGltZShiKTtcbiAgfVxuICBpZiAoJ0Ryb3AnIGluIGRlc2NyaXB0b3IpIHtcbiAgICByZXR1cm4gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yLkRyb3ApO1xuICB9XG4gIGlmICgnVmVyaWZ5JyBpbiBkZXNjcmlwdG9yKSB7XG4gICAgcmV0dXJuIGdldFJlcXVpcmVkTG9ja3RpbWUoZGVzY3JpcHRvci5WZXJpZnkpO1xuICB9XG4gIGlmICgnQWZ0ZXInIGluIGRlc2NyaXB0b3IgJiYgdHlwZW9mIGRlc2NyaXB0b3IuQWZ0ZXIgPT09ICdvYmplY3QnICYmIGRlc2NyaXB0b3IuQWZ0ZXIgIT09IG51bGwpIHtcbiAgICBpZiAoJ2Fic0xvY2tUaW1lJyBpbiBkZXNjcmlwdG9yLkFmdGVyICYmIHR5cGVvZiBkZXNjcmlwdG9yLkFmdGVyLmFic0xvY2tUaW1lID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3IuQWZ0ZXIuYWJzTG9ja1RpbWU7XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRTYXRpc2ZpYWJsZShwc2J0OiB1dHhvbGliLlBzYnQsIGlucHV0SW5kZXg6IG51bWJlciwgZGVzY3JpcHRvcjogRGVzY3JpcHRvcik6IHZvaWQge1xuICAvLyBJZiB0aGUgZGVzY3JpcHRvciByZXF1aXJlcyBhIGxvY2t0aW1lLCB0aGUgaW5wdXQgbXVzdCBoYXZlIGEgbm9uLWZpbmFsIHNlcXVlbmNlIG51bWJlclxuICBjb25zdCByZXF1aXJlZExvY2t0aW1lID0gZ2V0UmVxdWlyZWRMb2NrdGltZShkZXNjcmlwdG9yKTtcbiAgaWYgKHJlcXVpcmVkTG9ja3RpbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGlucHV0ID0gcHNidC50eElucHV0c1tpbnB1dEluZGV4XTtcbiAgICBpZiAoaW5wdXQuc2VxdWVuY2UgPT09IEZJTkFMX1NFUVVFTkNFKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYElucHV0ICR7aW5wdXRJbmRleH0gaGFzIGEgbm9uLWZpbmFsIHNlcXVlbmNlIG51bWJlciwgYnV0IHJlcXVpcmVzIGEgdGltZWxvY2tgKTtcbiAgICB9XG4gICAgaWYgKHBzYnQubG9ja3RpbWUgIT09IHJlcXVpcmVkTG9ja3RpbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcHNidCBsb2NrdGltZSAoJHtwc2J0LmxvY2t0aW1lfSkgZG9lcyBub3QgbWF0Y2ggcmVxdWlyZWQgbG9ja3RpbWUgKCR7cmVxdWlyZWRMb2NrdGltZX0pYCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -70,14 +70,13 @@ function updateOutputsWithDescriptors(psbt, descriptors) {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
function createPsbt(params, inputs, outputs) {
|
|
73
|
-
var _a, _b;
|
|
74
73
|
const psbt = utxolib.bitgo.UtxoPsbt.createPsbt({ network: params.network });
|
|
75
|
-
psbt.setVersion(
|
|
76
|
-
psbt.setLocktime(
|
|
77
|
-
psbt.addInputs(inputs.map((i) =>
|
|
74
|
+
psbt.setVersion(params.version ?? 2);
|
|
75
|
+
psbt.setLocktime(params.locktime ?? 0);
|
|
76
|
+
psbt.addInputs(inputs.map((i) => ({ ...i, sequence: params.sequence ?? exports.MAX_BIP125_RBF_SEQUENCE })));
|
|
78
77
|
psbt.addOutputs(outputs);
|
|
79
78
|
updateInputsWithDescriptors(psbt, inputs.map((i) => i.descriptor));
|
|
80
79
|
updateOutputsWithDescriptors(psbt, outputs);
|
|
81
80
|
return psbt;
|
|
82
81
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUHNidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb3JlL2Rlc2NyaXB0b3IvcHNidC9jcmVhdGVQc2J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlEQSxnQ0FnQkM7QUFqRUQsOERBQWdEO0FBS2hELGlDQUFtRDtBQUNuRCwyREFBd0Q7QUFFeEQ7OztLQUdLO0FBQ1EsUUFBQSx1QkFBdUIsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBRXRELFNBQVMsMkJBQTJCLENBQUMsSUFBNEIsRUFBRSxXQUF5QjtJQUMxRixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0saUJBQWlCLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQzdELElBQUEscUNBQWlCLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRCxXQUFXLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxJQUFBLGlCQUFVLEVBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RCxLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RSxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsNEJBQTRCLENBQUMsSUFBNEIsRUFBRSxXQUF3QztJQUMxRyxNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNsRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsV0FBVyxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sYUFBYSxHQUFHLElBQUEsaUJBQVUsRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVELEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNFLENBQUM7QUFDSCxDQUFDO0FBU0QsU0FBZ0IsVUFBVSxDQUN4QixNQUFrQixFQUNsQixNQUF1QyxFQUN2QyxPQUFvQztJQUVwQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSwrQkFBdUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekIsMkJBQTJCLENBQ3pCLElBQUksRUFDSixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ2hDLENBQUM7SUFDRiw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IERlcml2ZWREZXNjcmlwdG9yV2FsbGV0T3V0cHV0LCBPdXRwdXQsIFdpdGhPcHREZXNjcmlwdG9yIH0gZnJvbSAnLi4vT3V0cHV0JztcblxuaW1wb3J0IHsgdG9VdHhvUHNidCwgdG9XcmFwcGVkUHNidCB9IGZyb20gJy4vd3JhcCc7XG5pbXBvcnQgeyBhc3NlcnRTYXRpc2ZpYWJsZSB9IGZyb20gJy4vYXNzZXJ0U2F0aXNmaWFibGUnO1xuXG4vKipcbiAqIE5vbi1GaW5hbCAoUmVwbGFjZWFibGUpXG4gKiBSZWZlcmVuY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vYmxvYi92MjUuMS9zcmMvcnBjL3Jhd3RyYW5zYWN0aW9uX3V0aWwuY3BwI0w0OVxuICogKi9cbmV4cG9ydCBjb25zdCBNQVhfQklQMTI1X1JCRl9TRVFVRU5DRSA9IDB4ZmZmZmZmZmYgLSAyO1xuXG5mdW5jdGlvbiB1cGRhdGVJbnB1dHNXaXRoRGVzY3JpcHRvcnMocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCwgZGVzY3JpcHRvcnM6IERlc2NyaXB0b3JbXSkge1xuICBpZiAocHNidC50eElucHV0cy5sZW5ndGggIT09IGRlc2NyaXB0b3JzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW5wdXQgY291bnQgbWlzbWF0Y2ggKHBzYnQ9JHtwc2J0LnR4SW5wdXRzLmxlbmd0aH0sIGRlc2NyaXB0b3JzPSR7ZGVzY3JpcHRvcnMubGVuZ3RofSlgKTtcbiAgfVxuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidCk7XG4gIGZvciAoY29uc3QgW2lucHV0SW5kZXgsIGRlc2NyaXB0b3JdIG9mIGRlc2NyaXB0b3JzLmVudHJpZXMoKSkge1xuICAgIGFzc2VydFNhdGlzZmlhYmxlKHBzYnQsIGlucHV0SW5kZXgsIGRlc2NyaXB0b3IpO1xuICAgIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoaW5wdXRJbmRleCwgZGVzY3JpcHRvcik7XG4gIH1cbiAgY29uc3QgdW53cmFwcGVkUHNidCA9IHRvVXR4b1BzYnQod3JhcHBlZFBzYnQsIHBzYnQubmV0d29yayk7XG4gIGZvciAoY29uc3QgaW5wdXRJbmRleCBpbiBwc2J0LnR4SW5wdXRzKSB7XG4gICAgcHNidC5kYXRhLmlucHV0c1tpbnB1dEluZGV4XSA9IHVud3JhcHBlZFBzYnQuZGF0YS5pbnB1dHNbaW5wdXRJbmRleF07XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlT3V0cHV0c1dpdGhEZXNjcmlwdG9ycyhwc2J0OiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0LCBkZXNjcmlwdG9yczogV2l0aE9wdERlc2NyaXB0b3I8T3V0cHV0PltdKSB7XG4gIGNvbnN0IHdyYXBwZWRQc2J0ID0gdG9XcmFwcGVkUHNidChwc2J0KTtcbiAgZm9yIChjb25zdCBbb3V0cHV0SW5kZXgsIHsgZGVzY3JpcHRvciB9XSBvZiBkZXNjcmlwdG9ycy5lbnRyaWVzKCkpIHtcbiAgICBpZiAoZGVzY3JpcHRvcikge1xuICAgICAgd3JhcHBlZFBzYnQudXBkYXRlT3V0cHV0V2l0aERlc2NyaXB0b3Iob3V0cHV0SW5kZXgsIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuICBjb25zdCB1bndyYXBwZWRQc2J0ID0gdG9VdHhvUHNidCh3cmFwcGVkUHNidCwgcHNidC5uZXR3b3JrKTtcbiAgZm9yIChjb25zdCBvdXRwdXRJbmRleCBpbiBwc2J0LnR4T3V0cHV0cykge1xuICAgIHBzYnQuZGF0YS5vdXRwdXRzW291dHB1dEluZGV4XSA9IHVud3JhcHBlZFBzYnQuZGF0YS5vdXRwdXRzW291dHB1dEluZGV4XTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBQc2J0UGFyYW1zID0ge1xuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcms7XG4gIHZlcnNpb24/OiBudW1iZXI7XG4gIGxvY2t0aW1lPzogbnVtYmVyO1xuICBzZXF1ZW5jZT86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQc2J0KFxuICBwYXJhbXM6IFBzYnRQYXJhbXMsXG4gIGlucHV0czogRGVyaXZlZERlc2NyaXB0b3JXYWxsZXRPdXRwdXRbXSxcbiAgb3V0cHV0czogV2l0aE9wdERlc2NyaXB0b3I8T3V0cHV0PltdXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHtcbiAgY29uc3QgcHNidCA9IHV0eG9saWIuYml0Z28uVXR4b1BzYnQuY3JlYXRlUHNidCh7IG5ldHdvcms6IHBhcmFtcy5uZXR3b3JrIH0pO1xuICBwc2J0LnNldFZlcnNpb24ocGFyYW1zLnZlcnNpb24gPz8gMik7XG4gIHBzYnQuc2V0TG9ja3RpbWUocGFyYW1zLmxvY2t0aW1lID8/IDApO1xuICBwc2J0LmFkZElucHV0cyhpbnB1dHMubWFwKChpKSA9PiAoeyAuLi5pLCBzZXF1ZW5jZTogcGFyYW1zLnNlcXVlbmNlID8/IE1BWF9CSVAxMjVfUkJGX1NFUVVFTkNFIH0pKSk7XG4gIHBzYnQuYWRkT3V0cHV0cyhvdXRwdXRzKTtcbiAgdXBkYXRlSW5wdXRzV2l0aERlc2NyaXB0b3JzKFxuICAgIHBzYnQsXG4gICAgaW5wdXRzLm1hcCgoaSkgPT4gaS5kZXNjcmlwdG9yKVxuICApO1xuICB1cGRhdGVPdXRwdXRzV2l0aERlc2NyaXB0b3JzKHBzYnQsIG91dHB1dHMpO1xuICByZXR1cm4gcHNidDtcbn1cbiJdfQ==
|
|
@@ -50,8 +50,7 @@ function findDescriptorForAnyDerivationPath(script, derivationPaths, descriptorM
|
|
|
50
50
|
* @returns DescriptorWithIndex for the input if found, undefined otherwise
|
|
51
51
|
*/
|
|
52
52
|
function findDescriptorForInput(input, descriptorMap) {
|
|
53
|
-
|
|
54
|
-
const script = (_a = input.witnessUtxo) === null || _a === void 0 ? void 0 : _a.script;
|
|
53
|
+
const script = input.witnessUtxo?.script;
|
|
55
54
|
if (!script) {
|
|
56
55
|
throw new Error('Missing script');
|
|
57
56
|
}
|
|
@@ -72,4 +71,4 @@ function findDescriptorForOutput(script, output, descriptorMap) {
|
|
|
72
71
|
}
|
|
73
72
|
return findDescriptorForAnyDerivationPath(script, output.bip32Derivation.map((d) => d.path), descriptorMap);
|
|
74
73
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZERlc2NyaXB0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvcmUvZGVzY3JpcHRvci9wc2J0L2ZpbmREZXNjcmlwdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThFQSx3REFnQkM7QUFRRCwwREFhQztBQWpHRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLGdDQUFnQyxDQUN2QyxNQUFjLEVBQ2QsS0FBYSxFQUNiLGFBQTRCO0lBRTVCLEtBQUssTUFBTSxVQUFVLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDaEQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxJQUFZO0lBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDdkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxrQ0FBa0MsQ0FDekMsTUFBYyxFQUNkLGVBQXlCLEVBQ3pCLGFBQTRCO0lBRTVCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlGLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxnQ0FBZ0MsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixzQkFBc0IsQ0FDcEMsS0FBZ0IsRUFDaEIsYUFBNEI7SUFFNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDekMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsT0FBTyxrQ0FBa0MsQ0FDdkMsTUFBTSxFQUNOLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQ3hDLGFBQWEsQ0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3JDLE1BQWMsRUFDZCxNQUFrQixFQUNsQixhQUE0QjtJQUU1QixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxPQUFPLGtDQUFrQyxDQUN2QyxNQUFNLEVBQ04sTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDekMsYUFBYSxDQUNkLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcblxuVXRpbGl0aWVzIGZvciBtYXBwaW5nIGJhY2sgZnJvbSBQU0JUIGlucHV0cyB0byBkZXNjcmlwdG9ycy5cblxuVGhpcyBpcyBhIHNvbWV3aGF0IGJydXRlLWZvcmNlIGF0dGVtcHQgdGhhdCByZWxpZXMgb24gdGhlIGBiaXAzMkRlcml2YXRpb25gIGZpZWxkIHRvIGJlIHNldC5cblxuSXQgd2lsbCBwcm9iYWJseSBvbmx5IHdvcmsgY29ycmVjdGx5IGlmIGFsbCB4cHVicyBpbiB0aGUgZGVzY3JpcHRvciBhcmUgZGVyaXZhYmxlLlxuXG5XZSBzaG91bGQgdGFrZSBhIGxvb2sgYXQgYSBtb3JlIHJvYnVzdCBhbmQgc3RhbmRhcmQgYXBwcm9hY2ggbGlrZSB0aGlzOiBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzL3B1bGwvMTU0OFxuXG4gKi9cbmltcG9ydCB7IFBzYnRJbnB1dCwgUHNidE91dHB1dCB9IGZyb20gJ2JpcDE3NC9zcmMvbGliL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwIH0gZnJvbSAnLi4vRGVzY3JpcHRvck1hcCc7XG5cbnR5cGUgRGVzY3JpcHRvcldpdGhJbmRleCA9IHsgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjsgaW5kZXg6IG51bWJlciB9O1xuXG4vKipcbiAqIEZpbmQgYSBkZXNjcmlwdG9yIGluIHRoZSBkZXNjcmlwdG9yIG1hcCB0aGF0IG1hdGNoZXMgdGhlIGdpdmVuIHNjcmlwdCBhbmQgZGVyaXZhdGlvbiBpbmRleC5cbiAqIEBwYXJhbSBzY3JpcHRcbiAqIEBwYXJhbSBpbmRleFxuICogQHBhcmFtIGRlc2NyaXB0b3JNYXBcbiAqIEByZXR1cm5zIERlc2NyaXB0b3JXaXRoSW5kZXggaWYgZm91bmQsIHVuZGVmaW5lZCBvdGhlcndpc2VcbiAqL1xuZnVuY3Rpb24gZmluZERlc2NyaXB0b3JGb3JEZXJpdmF0aW9uSW5kZXgoXG4gIHNjcmlwdDogQnVmZmVyLFxuICBpbmRleDogbnVtYmVyLFxuICBkZXNjcmlwdG9yTWFwOiBEZXNjcmlwdG9yTWFwXG4pOiBEZXNjcmlwdG9yV2l0aEluZGV4IHwgdW5kZWZpbmVkIHtcbiAgZm9yIChjb25zdCBkZXNjcmlwdG9yIG9mIGRlc2NyaXB0b3JNYXAudmFsdWVzKCkpIHtcbiAgICBpZiAoQnVmZmVyLmZyb20oZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChpbmRleCkuc2NyaXB0UHVia2V5KCkpLmVxdWFscyhzY3JpcHQpKSB7XG4gICAgICByZXR1cm4geyBkZXNjcmlwdG9yLCBpbmRleCB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldERlcml2YXRpb25JbmRleEZyb21QYXRoKHBhdGg6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IGluZGV4U3RyID0gcGF0aC5zcGxpdCgnLycpLnBvcCgpO1xuICBpZiAoIWluZGV4U3RyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRlcml2YXRpb24gcGF0aCcpO1xuICB9XG4gIGNvbnN0IGluZGV4ID0gcGFyc2VJbnQoaW5kZXhTdHIsIDEwKTtcbiAgaWYgKGluZGV4LnRvU3RyaW5nKCkgIT09IGluZGV4U3RyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRlcml2YXRpb24gcGF0aCAke3BhdGh9YCk7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG4vKipcbiAqIFdyYXBwZXIgYXJvdW5kIGZpbmREZXNjcmlwdG9yRm9yRGVyaXZhdGlvblBhdGggdGhhdCB0cmllcyBtdWx0aXBsZSBkZXJpdmF0aW9uIHBhdGhzLlxuICogQHBhcmFtIHNjcmlwdFxuICogQHBhcmFtIGRlcml2YXRpb25QYXRoc1xuICogQHBhcmFtIGRlc2NyaXB0b3JNYXBcbiAqL1xuZnVuY3Rpb24gZmluZERlc2NyaXB0b3JGb3JBbnlEZXJpdmF0aW9uUGF0aChcbiAgc2NyaXB0OiBCdWZmZXIsXG4gIGRlcml2YXRpb25QYXRoczogc3RyaW5nW10sXG4gIGRlc2NyaXB0b3JNYXA6IERlc2NyaXB0b3JNYXBcbik6IERlc2NyaXB0b3JXaXRoSW5kZXggfCB1bmRlZmluZWQge1xuICBjb25zdCBkZXJpdmF0aW9uSW5kZXhTZXQgPSBuZXcgU2V0KGRlcml2YXRpb25QYXRocy5tYXAoKHApID0+IGdldERlcml2YXRpb25JbmRleEZyb21QYXRoKHApKSk7XG4gIGZvciAoY29uc3QgaW5kZXggb2YgWy4uLmRlcml2YXRpb25JbmRleFNldF0pIHtcbiAgICBjb25zdCBkZXNjID0gZmluZERlc2NyaXB0b3JGb3JEZXJpdmF0aW9uSW5kZXgoc2NyaXB0LCBpbmRleCwgZGVzY3JpcHRvck1hcCk7XG4gICAgaWYgKGRlc2MpIHtcbiAgICAgIHJldHVybiBkZXNjO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQHBhcmFtIGlucHV0XG4gKiBAcGFyYW0gZGVzY3JpcHRvck1hcFxuICogQHJldHVybnMgRGVzY3JpcHRvcldpdGhJbmRleCBmb3IgdGhlIGlucHV0IGlmIGZvdW5kLCB1bmRlZmluZWQgb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRGVzY3JpcHRvckZvcklucHV0KFxuICBpbnB1dDogUHNidElucHV0LFxuICBkZXNjcmlwdG9yTWFwOiBEZXNjcmlwdG9yTWFwXG4pOiBEZXNjcmlwdG9yV2l0aEluZGV4IHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc2NyaXB0ID0gaW5wdXQud2l0bmVzc1V0eG8/LnNjcmlwdDtcbiAgaWYgKCFzY3JpcHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmcgc2NyaXB0Jyk7XG4gIH1cbiAgaWYgKCFpbnB1dC5iaXAzMkRlcml2YXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgZGVyaXZhdGlvbiBwYXRocycpO1xuICB9XG4gIHJldHVybiBmaW5kRGVzY3JpcHRvckZvckFueURlcml2YXRpb25QYXRoKFxuICAgIHNjcmlwdCxcbiAgICBpbnB1dC5iaXAzMkRlcml2YXRpb24ubWFwKCh2KSA9PiB2LnBhdGgpLFxuICAgIGRlc2NyaXB0b3JNYXBcbiAgKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gc2NyaXB0IC0gdGhlIG91dHB1dCBzY3JpcHRcbiAqIEBwYXJhbSBvdXRwdXQgLSB0aGUgUFNCVCBvdXRwdXRcbiAqIEBwYXJhbSBkZXNjcmlwdG9yTWFwXG4gKiBAcmV0dXJucyBEZXNjcmlwdG9yV2l0aEluZGV4IGZvciB0aGUgb3V0cHV0IGlmIGZvdW5kLCB1bmRlZmluZWQgb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRGVzY3JpcHRvckZvck91dHB1dChcbiAgc2NyaXB0OiBCdWZmZXIsXG4gIG91dHB1dDogUHNidE91dHB1dCxcbiAgZGVzY3JpcHRvck1hcDogRGVzY3JpcHRvck1hcFxuKTogRGVzY3JpcHRvcldpdGhJbmRleCB8IHVuZGVmaW5lZCB7XG4gIGlmICghb3V0cHV0LmJpcDMyRGVyaXZhdGlvbikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGZpbmREZXNjcmlwdG9yRm9yQW55RGVyaXZhdGlvblBhdGgoXG4gICAgc2NyaXB0LFxuICAgIG91dHB1dC5iaXAzMkRlcml2YXRpb24ubWFwKChkKSA9PiBkLnBhdGgpLFxuICAgIGRlc2NyaXB0b3JNYXBcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../src/core/descriptor/psbt/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../src/core/descriptor/psbt/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,MAAM,MAAM,QAAQ,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAMF,wBAAgB,KAAK,CACnB,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,2BAA2B,CA0C7B"}
|
|
@@ -84,4 +84,4 @@ function parse(psbt, descriptorMap, network) {
|
|
|
84
84
|
virtualSize: (0, VirtualSize_1.getVirtualSize)({ inputs: inputs.map((i) => i.scriptId.descriptor), outputs }),
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9kZXNjcmlwdG9yL3BzYnQvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQ0Esc0JBOENDO0FBakZELDhEQUFnRDtBQUdoRCxnREFBZ0Q7QUFFaEQsdURBQW9GO0FBQ3BGLDJEQUF3RDtBQXlCeEQsU0FBUyxHQUFHLENBQUMsR0FBRyxNQUFnQjtJQUM5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxTQUFnQixLQUFLLENBQ25CLElBQWtCLEVBQ2xCLGFBQTRCLEVBQzVCLE9BQXdCO0lBRXhCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQWUsRUFBRTtRQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUFHLElBQUEsd0NBQXNCLEVBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFBQSxxQ0FBaUIsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BFLE9BQU87WUFDTCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7WUFDNUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSztZQUM5QixRQUFRLEVBQUUsbUJBQW1CO1NBQzlCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBZ0IsRUFBRTtRQUM3RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUFHLElBQUEseUNBQXVCLEVBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN4RyxPQUFPO1lBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtZQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRSxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoSCxNQUFNLFFBQVEsR0FBRyxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLE9BQU87UUFDTCxNQUFNO1FBQ04sT0FBTztRQUNQLFdBQVc7UUFDWCxRQUFRO1FBQ1IsV0FBVyxFQUFFLElBQUEsNEJBQWMsRUFBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO0tBQzNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JNYXAgfSBmcm9tICcuLi9EZXNjcmlwdG9yTWFwJztcbmltcG9ydCB7IGdldFZpcnR1YWxTaXplIH0gZnJvbSAnLi4vVmlydHVhbFNpemUnO1xuXG5pbXBvcnQgeyBmaW5kRGVzY3JpcHRvckZvcklucHV0LCBmaW5kRGVzY3JpcHRvckZvck91dHB1dCB9IGZyb20gJy4vZmluZERlc2NyaXB0b3JzJztcbmltcG9ydCB7IGFzc2VydFNhdGlzZmlhYmxlIH0gZnJvbSAnLi9hc3NlcnRTYXRpc2ZpYWJsZSc7XG5cbmV4cG9ydCB0eXBlIFNjcmlwdElkID0geyBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yOyBpbmRleDogbnVtYmVyIH07XG5cbmV4cG9ydCB0eXBlIFBhcnNlZElucHV0ID0ge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHZhbHVlOiBiaWdpbnQ7XG4gIHNjcmlwdElkOiBTY3JpcHRJZDtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcnNlZE91dHB1dCA9IHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgc2NyaXB0OiBCdWZmZXI7XG4gIHZhbHVlOiBiaWdpbnQ7XG4gIHNjcmlwdElkPzogU2NyaXB0SWQ7XG59O1xuXG5leHBvcnQgdHlwZSBQYXJzZWREZXNjcmlwdG9yVHJhbnNhY3Rpb24gPSB7XG4gIGlucHV0czogUGFyc2VkSW5wdXRbXTtcbiAgb3V0cHV0czogUGFyc2VkT3V0cHV0W107XG4gIHNwZW5kQW1vdW50OiBiaWdpbnQ7XG4gIG1pbmVyRmVlOiBiaWdpbnQ7XG4gIHZpcnR1YWxTaXplOiBudW1iZXI7XG59O1xuXG5mdW5jdGlvbiBzdW0oLi4udmFsdWVzOiBiaWdpbnRbXSk6IGJpZ2ludCB7XG4gIHJldHVybiB2YWx1ZXMucmVkdWNlKChhLCBiKSA9PiBhICsgYiwgQmlnSW50KDApKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlKFxuICBwc2J0OiB1dHhvbGliLlBzYnQsXG4gIGRlc2NyaXB0b3JNYXA6IERlc2NyaXB0b3JNYXAsXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTogUGFyc2VkRGVzY3JpcHRvclRyYW5zYWN0aW9uIHtcbiAgY29uc3QgaW5wdXRzID0gcHNidC5kYXRhLmlucHV0cy5tYXAoKGlucHV0LCBpbnB1dEluZGV4KTogUGFyc2VkSW5wdXQgPT4ge1xuICAgIGlmICghaW5wdXQud2l0bmVzc1V0eG8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBpbnB1dDogbm8gd2l0bmVzc1V0eG8nKTtcbiAgICB9XG4gICAgaWYgKCFpbnB1dC53aXRuZXNzVXR4by52YWx1ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGlucHV0OiBubyB2YWx1ZScpO1xuICAgIH1cbiAgICBjb25zdCBkZXNjcmlwdG9yV2l0aEluZGV4ID0gZmluZERlc2NyaXB0b3JGb3JJbnB1dChpbnB1dCwgZGVzY3JpcHRvck1hcCk7XG4gICAgaWYgKCFkZXNjcmlwdG9yV2l0aEluZGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgaW5wdXQ6IG5vIGRlc2NyaXB0b3IgZm91bmQnKTtcbiAgICB9XG4gICAgYXNzZXJ0U2F0aXNmaWFibGUocHNidCwgaW5wdXRJbmRleCwgZGVzY3JpcHRvcldpdGhJbmRleC5kZXNjcmlwdG9yKTtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoaW5wdXQud2l0bmVzc1V0eG8uc2NyaXB0LCBuZXR3b3JrKSxcbiAgICAgIHZhbHVlOiBpbnB1dC53aXRuZXNzVXR4by52YWx1ZSxcbiAgICAgIHNjcmlwdElkOiBkZXNjcmlwdG9yV2l0aEluZGV4LFxuICAgIH07XG4gIH0pO1xuICBjb25zdCBvdXRwdXRzID0gcHNidC50eE91dHB1dHMubWFwKChvdXRwdXQsIGkpOiBQYXJzZWRPdXRwdXQgPT4ge1xuICAgIGlmIChvdXRwdXQudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIG91dHB1dDogbm8gdmFsdWUnKTtcbiAgICB9XG4gICAgY29uc3QgZGVzY3JpcHRvcldpdGhJbmRleCA9IGZpbmREZXNjcmlwdG9yRm9yT3V0cHV0KG91dHB1dC5zY3JpcHQsIHBzYnQuZGF0YS5vdXRwdXRzW2ldLCBkZXNjcmlwdG9yTWFwKTtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogb3V0cHV0LmFkZHJlc3MsXG4gICAgICBzY3JpcHQ6IG91dHB1dC5zY3JpcHQsXG4gICAgICB2YWx1ZTogb3V0cHV0LnZhbHVlLFxuICAgICAgc2NyaXB0SWQ6IGRlc2NyaXB0b3JXaXRoSW5kZXgsXG4gICAgfTtcbiAgfSk7XG4gIGNvbnN0IGlucHV0QW1vdW50ID0gc3VtKC4uLmlucHV0cy5tYXAoKGlucHV0KSA9PiBpbnB1dC52YWx1ZSkpO1xuICBjb25zdCBvdXRwdXRTdW0gPSBzdW0oLi4ub3V0cHV0cy5tYXAoKG91dHB1dCkgPT4gb3V0cHV0LnZhbHVlKSk7XG4gIGNvbnN0IHNwZW5kQW1vdW50ID0gc3VtKC4uLm91dHB1dHMuZmlsdGVyKChvdXRwdXQpID0+ICEoJ2Rlc2NyaXB0b3InIGluIG91dHB1dCkpLm1hcCgob3V0cHV0KSA9PiBvdXRwdXQudmFsdWUpKTtcbiAgY29uc3QgbWluZXJGZWUgPSBpbnB1dEFtb3VudCAtIG91dHB1dFN1bTtcbiAgcmV0dXJuIHtcbiAgICBpbnB1dHMsXG4gICAgb3V0cHV0cyxcbiAgICBzcGVuZEFtb3VudCxcbiAgICBtaW5lckZlZSxcbiAgICB2aXJ0dWFsU2l6ZTogZ2V0VmlydHVhbFNpemUoeyBpbnB1dHM6IGlucHV0cy5tYXAoKGkpID0+IGkuc2NyaXB0SWQuZGVzY3JpcHRvciksIG91dHB1dHMgfSksXG4gIH07XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertDescriptorWalletAddress.d.ts","sourceRoot":"","sources":["../../../src/descriptor/assertDescriptorWalletAddress.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assertDescriptorWalletAddress.d.ts","sourceRoot":"","sources":["../../../src/descriptor/assertDescriptorWalletAddress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,MAAM,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAC9C,WAAW,EAAE,aAAa,GACzB,IAAI,CAoBN"}
|
|
@@ -63,4 +63,4 @@ function assertDescriptorWalletAddress(network, params, descriptors) {
|
|
|
63
63
|
throw new DescriptorAddressMismatchError(descriptor, params.index, derivedAddress, params.address);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0RGVzY3JpcHRvcldhbGxldEFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9hc3NlcnREZXNjcmlwdG9yV2FsbGV0QWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSxzRUF3QkM7QUF4Q0Qsb0RBQTRCO0FBRTVCLDhEQUFnRDtBQU1oRCxNQUFNLDhCQUErQixTQUFRLEtBQUs7SUFDaEQsWUFBWSxVQUFzQixFQUFFLEtBQWEsRUFBRSxjQUFzQixFQUFFLGVBQXVCO1FBQ2hHLEtBQUssQ0FDSCxtQ0FBbUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxhQUFhLEtBQUssS0FBSyxjQUFjLFFBQVEsZUFBZSxFQUFFLENBQ3ZILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxTQUFnQiw2QkFBNkIsQ0FDM0MsT0FBd0IsRUFDeEIsTUFBOEMsRUFDOUMsV0FBMEI7SUFFMUIsSUFBQSxnQkFBTSxFQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QixJQUFBLGdCQUFNLEVBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELElBQUEsZ0JBQU0sRUFBQyxvQkFBb0IsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsTUFBTSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDbkUsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsY0FBYyxZQUFZLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksUUFBUSxLQUFLLGtCQUFrQixFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FDYixvREFBb0QsY0FBYyxLQUFLLFFBQVEsUUFBUSxrQkFBa0IsRUFBRSxDQUM1RyxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUN0QyxNQUFNLElBQUksOEJBQThCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IFV0eG9Db2luU3BlY2lmaWMsIFZlcmlmeUFkZHJlc3NPcHRpb25zIH0gZnJvbSAnLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwIH0gZnJvbSAnLi4vY29yZS9kZXNjcmlwdG9yJztcblxuY2xhc3MgRGVzY3JpcHRvckFkZHJlc3NNaXNtYXRjaEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLCBpbmRleDogbnVtYmVyLCBkZXJpdmVkQWRkcmVzczogc3RyaW5nLCBleHBlY3RlZEFkZHJlc3M6IHN0cmluZykge1xuICAgIHN1cGVyKFxuICAgICAgYEFkZHJlc3MgbWlzbWF0Y2ggZm9yIGRlc2NyaXB0b3IgJHtkZXNjcmlwdG9yLnRvU3RyaW5nKCl9IGF0IGluZGV4ICR7aW5kZXh9OiAke2Rlcml2ZWRBZGRyZXNzfSAhPT0gJHtleHBlY3RlZEFkZHJlc3N9YFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydERlc2NyaXB0b3JXYWxsZXRBZGRyZXNzKFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIHBhcmFtczogVmVyaWZ5QWRkcmVzc09wdGlvbnM8VXR4b0NvaW5TcGVjaWZpYz4sXG4gIGRlc2NyaXB0b3JzOiBEZXNjcmlwdG9yTWFwXG4pOiB2b2lkIHtcbiAgYXNzZXJ0KHBhcmFtcy5jb2luU3BlY2lmaWMpO1xuICBhc3NlcnQoJ2Rlc2NyaXB0b3JOYW1lJyBpbiBwYXJhbXMuY29pblNwZWNpZmljKTtcbiAgYXNzZXJ0KCdkZXNjcmlwdG9yQ2hlY2tzdW0nIGluIHBhcmFtcy5jb2luU3BlY2lmaWMpO1xuICBjb25zdCB7IGRlc2NyaXB0b3JOYW1lLCBkZXNjcmlwdG9yQ2hlY2tzdW0gfSA9IHBhcmFtcy5jb2luU3BlY2lmaWM7XG4gIGNvbnN0IGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ycy5nZXQocGFyYW1zLmNvaW5TcGVjaWZpYy5kZXNjcmlwdG9yTmFtZSk7XG4gIGlmICghZGVzY3JpcHRvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihgRGVzY3JpcHRvciAke2Rlc2NyaXB0b3JOYW1lfSBub3QgZm91bmRgKTtcbiAgfVxuICBjb25zdCBjaGVja3N1bSA9IGRlc2NyaXB0b3IudG9TdHJpbmcoKS5zbGljZSgtOCk7XG4gIGlmIChjaGVja3N1bSAhPT0gZGVzY3JpcHRvckNoZWNrc3VtKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYERlc2NyaXB0b3IgY2hlY2tzdW0gbWlzbWF0Y2ggZm9yIGRlc2NyaXB0b3IgbmFtZT0ke2Rlc2NyaXB0b3JOYW1lfTogJHtjaGVja3N1bX0gIT09ICR7ZGVzY3JpcHRvckNoZWNrc3VtfWBcbiAgICApO1xuICB9XG4gIGNvbnN0IGRlcml2ZWRTY3JpcHQgPSBCdWZmZXIuZnJvbShkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KHBhcmFtcy5pbmRleCkuc2NyaXB0UHVia2V5KCkpO1xuICBjb25zdCBkZXJpdmVkQWRkcmVzcyA9IHV0eG9saWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KGRlcml2ZWRTY3JpcHQsIG5ldHdvcmspO1xuICBpZiAocGFyYW1zLmFkZHJlc3MgIT09IGRlcml2ZWRBZGRyZXNzKSB7XG4gICAgdGhyb3cgbmV3IERlc2NyaXB0b3JBZGRyZXNzTWlzbWF0Y2hFcnJvcihkZXNjcmlwdG9yLCBwYXJhbXMuaW5kZXgsIGRlcml2ZWRBZGRyZXNzLCBwYXJhbXMuYWRkcmVzcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,7 +5,7 @@ type DescriptorWithKeys<TName extends string> = {
|
|
|
5
5
|
keys: BIP32Interface[];
|
|
6
6
|
path: string;
|
|
7
7
|
};
|
|
8
|
-
export type DescriptorBuilder = DescriptorWithKeys<'Wsh2Of2'> | DescriptorWithKeys<'Wsh2Of3'> | (DescriptorWithKeys<'ShWsh2Of3CltvDrop'> & {
|
|
8
|
+
export type DescriptorBuilder = DescriptorWithKeys<'Wsh2Of2'> | DescriptorWithKeys<'Wsh2Of3'> | (DescriptorWithKeys<'ShWsh2Of3CltvDrop' | 'Wsh2Of3CltvDrop'> & {
|
|
9
9
|
locktime: number;
|
|
10
10
|
});
|
|
11
11
|
export declare function getDescriptorFromBuilder(builder: DescriptorBuilder): Descriptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/builder/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC9C,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,CAAC,SAAS,CAAC,GAC7B,kBAAkB,CAAC,SAAS,CAAC,GAM7B,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/builder/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,KAAK,kBAAkB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC9C,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,CAAC,SAAS,CAAC,GAC7B,kBAAkB,CAAC,SAAS,CAAC,GAM7B,CAAC,kBAAkB,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAkCzF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAE/E"}
|
|
@@ -24,12 +24,14 @@ function getDescriptorString(builder) {
|
|
|
24
24
|
return `wsh(${multi(2, 3, builder.keys, builder.path)})`;
|
|
25
25
|
case 'Wsh2Of2':
|
|
26
26
|
return `wsh(${multi(2, 2, builder.keys, builder.path)})`;
|
|
27
|
+
case 'Wsh2Of3CltvDrop':
|
|
28
|
+
return `wsh(and_v(r:after(${builder.locktime}),${multi(2, 3, builder.keys, builder.path)}))`;
|
|
27
29
|
case 'ShWsh2Of3CltvDrop':
|
|
28
|
-
return `sh(
|
|
30
|
+
return `sh(${getDescriptorString({ ...builder, name: 'Wsh2Of3CltvDrop' })})`;
|
|
29
31
|
}
|
|
30
32
|
throw new Error(`Unknown descriptor template: ${builder}`);
|
|
31
33
|
}
|
|
32
34
|
function getDescriptorFromBuilder(builder) {
|
|
33
35
|
return wasm_miniscript_1.Descriptor.fromString(getDescriptorString(builder), 'derivable');
|
|
34
36
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL2J1aWxkZXIvYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1EQSw0REFFQztBQXBERCw0REFBb0Q7QUFrQnBELFNBQVMsTUFBTSxDQUFDLENBQTBCO0lBQ3hDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDakMsQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsSUFBaUMsRUFBRSxJQUFZO0lBQ2xGLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQywwQkFBMEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QixPQUFPLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFDNUUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsT0FBMEI7SUFDckQsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsS0FBSyxTQUFTO1lBQ1osT0FBTyxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDM0QsS0FBSyxTQUFTO1lBQ1osT0FBTyxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDM0QsS0FBSyxpQkFBaUI7WUFDcEIsT0FBTyxxQkFBcUIsT0FBTyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9GLEtBQUssbUJBQW1CO1lBQ3RCLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQztJQUNqRixDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsT0FBMEI7SUFDakUsT0FBTyw0QkFBVSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbnR5cGUgRGVzY3JpcHRvcldpdGhLZXlzPFROYW1lIGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgbmFtZTogVE5hbWU7XG4gIGtleXM6IEJJUDMySW50ZXJmYWNlW107XG4gIHBhdGg6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIERlc2NyaXB0b3JCdWlsZGVyID1cbiAgfCBEZXNjcmlwdG9yV2l0aEtleXM8J1dzaDJPZjInPlxuICB8IERlc2NyaXB0b3JXaXRoS2V5czwnV3NoMk9mMyc+XG4gIC8qXG4gICAqIFRoaXMgaXMgYSBzZWd3aXQgKHdyYXBwZWQgb3IgbmF0aXZlKSAyb2YzIG11bHRpc2lnIHRoYXQgYWxzbyB1c2VzIGFcbiAgICogcmVsYXRpdmUgbG9ja3RpbWUgd2l0aCBhbiBPUF9EUk9QIChyZXF1aXJpbmcgYSBtaW5pc2NyaXB0IGV4dGVuc2lvbikuXG4gICAqIEl0IGlzIGJhc2ljYWxseSB3aGF0IGlzIHVzZWQgaW4gQ29yZURhbyBzdGFraW5nIHRyYW5zYWN0aW9ucy5cbiAgICovXG4gIHwgKERlc2NyaXB0b3JXaXRoS2V5czwnU2hXc2gyT2YzQ2x0dkRyb3AnIHwgJ1dzaDJPZjNDbHR2RHJvcCc+ICYgeyBsb2NrdGltZTogbnVtYmVyIH0pO1xuXG5mdW5jdGlvbiB0b1hQdWIoazogQklQMzJJbnRlcmZhY2UgfCBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIGsgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGs7XG4gIH1cbiAgcmV0dXJuIGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpO1xufVxuXG5mdW5jdGlvbiBtdWx0aShtOiBudW1iZXIsIG46IG51bWJlciwga2V5czogQklQMzJJbnRlcmZhY2VbXSB8IHN0cmluZ1tdLCBwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAobiA8IG0pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBjcmVhdGUgJHttfSBvZiAke259IG11bHRpc2lnYCk7XG4gIH1cbiAgaWYgKGtleXMubGVuZ3RoIDwgbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm90IGVub3VnaCBrZXlzIGZvciAke219IG9mICR7bn0gbXVsdGlzaWc6IGtleXMubGVuZ3RoPSR7a2V5cy5sZW5ndGh9YCk7XG4gIH1cbiAga2V5cyA9IGtleXMuc2xpY2UoMCwgbik7XG4gIHJldHVybiBgbXVsdGkoJHttfSwke2tleXMubWFwKChrKSA9PiBgJHt0b1hQdWIoayl9LyR7cGF0aH1gKS5qb2luKCcsJyl9KWA7XG59XG5cbmZ1bmN0aW9uIGdldERlc2NyaXB0b3JTdHJpbmcoYnVpbGRlcjogRGVzY3JpcHRvckJ1aWxkZXIpOiBzdHJpbmcge1xuICBzd2l0Y2ggKGJ1aWxkZXIubmFtZSkge1xuICAgIGNhc2UgJ1dzaDJPZjMnOlxuICAgICAgcmV0dXJuIGB3c2goJHttdWx0aSgyLCAzLCBidWlsZGVyLmtleXMsIGJ1aWxkZXIucGF0aCl9KWA7XG4gICAgY2FzZSAnV3NoMk9mMic6XG4gICAgICByZXR1cm4gYHdzaCgke211bHRpKDIsIDIsIGJ1aWxkZXIua2V5cywgYnVpbGRlci5wYXRoKX0pYDtcbiAgICBjYXNlICdXc2gyT2YzQ2x0dkRyb3AnOlxuICAgICAgcmV0dXJuIGB3c2goYW5kX3YocjphZnRlcigke2J1aWxkZXIubG9ja3RpbWV9KSwke211bHRpKDIsIDMsIGJ1aWxkZXIua2V5cywgYnVpbGRlci5wYXRoKX0pKWA7XG4gICAgY2FzZSAnU2hXc2gyT2YzQ2x0dkRyb3AnOlxuICAgICAgcmV0dXJuIGBzaCgke2dldERlc2NyaXB0b3JTdHJpbmcoeyAuLi5idWlsZGVyLCBuYW1lOiAnV3NoMk9mM0NsdHZEcm9wJyB9KX0pYDtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZGVzY3JpcHRvciB0ZW1wbGF0ZTogJHtidWlsZGVyfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvckZyb21CdWlsZGVyKGJ1aWxkZXI6IERlc2NyaXB0b3JCdWlsZGVyKTogRGVzY3JpcHRvciB7XG4gIHJldHVybiBEZXNjcmlwdG9yLmZyb21TdHJpbmcoZ2V0RGVzY3JpcHRvclN0cmluZyhidWlsZGVyKSwgJ2Rlcml2YWJsZScpO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/builder/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/builder/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,WAAW,CAAC;AA4GxE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CASpE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,iBAAiB,CAMzE"}
|
|
@@ -84,7 +84,7 @@ function parseMulti(node) {
|
|
|
84
84
|
path: paths[0],
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
|
-
function
|
|
87
|
+
function parseWshMulti(node) {
|
|
88
88
|
const wshMsMulti = unwrapNode(node, ['Wsh', 'Ms', 'Multi']);
|
|
89
89
|
if (wshMsMulti) {
|
|
90
90
|
const { threshold, keys, path } = parseMulti(wshMsMulti);
|
|
@@ -104,29 +104,40 @@ function parseDescriptorNode(node) {
|
|
|
104
104
|
path,
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
name: 'ShWsh2Of3CltvDrop',
|
|
122
|
-
locktime: dropAfterAbsLocktime,
|
|
123
|
-
keys: multi.keys,
|
|
124
|
-
path: multi.path,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
107
|
+
}
|
|
108
|
+
function parseCltvDrop(node, name, wrapping) {
|
|
109
|
+
const unwrapped = unwrapNode(node, wrapping);
|
|
110
|
+
if (!unwrapped) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (Array.isArray(unwrapped) && unwrapped.length === 2) {
|
|
114
|
+
const [a, b] = unwrapped;
|
|
115
|
+
const dropAfterAbsLocktime = unwrapNode(a, ['Drop', 'After', 'absLockTime']);
|
|
116
|
+
if (typeof dropAfterAbsLocktime !== 'number') {
|
|
117
|
+
throw new Error('Expected absLockTime number');
|
|
118
|
+
}
|
|
119
|
+
if (!isUnaryNode(b, 'Multi')) {
|
|
120
|
+
throw new Error('Expected Multi node');
|
|
127
121
|
}
|
|
122
|
+
const multi = parseMulti(b.Multi);
|
|
123
|
+
if (multi.threshold === 2 && multi.keys.length === 3) {
|
|
124
|
+
return {
|
|
125
|
+
name,
|
|
126
|
+
locktime: dropAfterAbsLocktime,
|
|
127
|
+
keys: multi.keys,
|
|
128
|
+
path: multi.path,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
function parseDescriptorNode(node) {
|
|
134
|
+
const parsed = parseWshMulti(node) ??
|
|
135
|
+
parseCltvDrop(node, 'ShWsh2Of3CltvDrop', ['Sh', 'Wsh', 'Ms', 'AndV']) ??
|
|
136
|
+
parseCltvDrop(node, 'Wsh2Of3CltvDrop', ['Wsh', 'Ms', 'AndV']);
|
|
137
|
+
if (!parsed) {
|
|
138
|
+
throw new Error('Failed to parse descriptor node');
|
|
128
139
|
}
|
|
129
|
-
|
|
140
|
+
return parsed;
|
|
130
141
|
}
|
|
131
142
|
function parseDescriptor(descriptor) {
|
|
132
143
|
const builder = parseDescriptorNode(descriptor.node());
|
|
@@ -135,4 +146,4 @@ function parseDescriptor(descriptor) {
|
|
|
135
146
|
}
|
|
136
147
|
return builder;
|
|
137
148
|
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9idWlsZGVyL3BhcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkRBLGtEQTJDQztBQUVELDBDQU1DO0FBL0dELDhEQUFnRDtBQUVoRCx1Q0FBd0U7QUFJeEUsU0FBUyxXQUFXLENBQXNCLElBQWEsRUFBRSxHQUFTO0lBQ2hFLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBYSxFQUFFLElBQWM7SUFDL0MsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ25CLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLElBQWE7SUFLL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNE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LElBQUEsa0NBQXdCLEVBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDM0UsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQklQMzJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCB7IERlc2NyaXB0b3JCdWlsZGVyLCBnZXREZXNjcmlwdG9yRnJvbUJ1aWxkZXIgfSBmcm9tICcuL2J1aWxkZXInO1xuXG50eXBlIE5vZGVVbmFyeTxLZXkgZXh0ZW5kcyBzdHJpbmc+ID0geyBbayBpbiBLZXldOiB1bmtub3duIH07XG5cbmZ1bmN0aW9uIGlzVW5hcnlOb2RlPFRLZXkgZXh0ZW5kcyBzdHJpbmc+KG5vZGU6IHVua25vd24sIGtleTogVEtleSk6IG5vZGUgaXMgTm9kZVVuYXJ5PFRLZXk+IHtcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0JyB8fCBub2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhub2RlKTtcbiAgcmV0dXJuIGtleXMubGVuZ3RoID09PSAxICYmIGtleXNbMF0gPT09IGtleTtcbn1cblxuZnVuY3Rpb24gdW53cmFwTm9kZShub2RlOiB1bmtub3duLCBwYXRoOiBzdHJpbmdbXSk6IHVua25vd24ge1xuICBsZXQgY3VycmVudCA9IG5vZGU7XG4gIGZvciAoY29uc3Qga2V5IG9mIHBhdGgpIHtcbiAgICBpZiAoIWlzVW5hcnlOb2RlKGN1cnJlbnQsIGtleSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50W2tleV07XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG5cbmZ1bmN0aW9uIHBhcnNlTXVsdGkobm9kZTogdW5rbm93bik6IHtcbiAgdGhyZXNob2xkOiBudW1iZXI7XG4gIGtleXM6IEJJUDMySW50ZXJmYWNlW107XG4gIHBhdGg6IHN0cmluZztcbn0ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkobm9kZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgbm9kZScpO1xuICB9XG4gIGNvbnN0IFt0aHJlc2hvbGQsIC4uLmtleU5vZGVzXSA9IG5vZGU7XG4gIGlmICh0eXBlb2YgdGhyZXNob2xkICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgdGhyZXNob2xkIG51bWJlcicpO1xuICB9XG4gIGNvbnN0IGtleVdpdGhQYXRoID0ga2V5Tm9kZXMubWFwKChrZXlOb2RlKSA9PiB7XG4gICAgaWYgKCFpc1VuYXJ5Tm9kZShrZXlOb2RlLCAnWFB1YicpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIFhQdWIgbm9kZScpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGtleU5vZGUuWFB1YiAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgWFB1YiBzdHJpbmcnKTtcbiAgICB9XG4gICAgY29uc3QgcGFydHMgPSBrZXlOb2RlLlhQdWIuc3BsaXQoJy8nKTtcbiAgICByZXR1cm4geyB4cHViOiBwYXJ0c1swXSwgcGF0aDogcGFydHMuc2xpY2UoMSkuam9pbignLycpIH07XG4gIH0pO1xuICBjb25zdCBwYXRocyA9IGtleVdpdGhQYXRoLm1hcCgoaykgPT4gay5wYXRoKTtcbiAgcGF0aHMuZm9yRWFjaCgocGF0aCwgaSkgPT4ge1xuICAgIGlmIChwYXRoICE9PSBwYXRoc1swXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhbGwgcGF0aHMgdG8gYmUgdGhlIHNhbWU6ICR7cGF0aH0gIT09ICR7cGF0aHNbMF19YCk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICB0aHJlc2hvbGQsXG4gICAga2V5czoga2V5V2l0aFBhdGgubWFwKChrKSA9PiB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoay54cHViKSksXG4gICAgcGF0aDogcGF0aHNbMF0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURlc2NyaXB0b3JOb2RlKG5vZGU6IHVua25vd24pOiBEZXNjcmlwdG9yQnVpbGRlciB7XG4gIGNvbnN0IHdzaE1zTXVsdGkgPSB1bndyYXBOb2RlKG5vZGUsIFsnV3NoJywgJ01zJywgJ011bHRpJ10pO1xuICBpZiAod3NoTXNNdWx0aSkge1xuICAgIGNvbnN0IHsgdGhyZXNob2xkLCBrZXlzLCBwYXRoIH0gPSBwYXJzZU11bHRpKHdzaE1zTXVsdGkpO1xuICAgIGxldCBuYW1lO1xuICAgIGlmICh0aHJlc2hvbGQgPT09IDIgJiYga2V5cy5sZW5ndGggPT09IDIpIHtcbiAgICAgIG5hbWUgPSAnV3NoMk9mMic7XG4gICAgfSBlbHNlIGlmICh0aHJlc2hvbGQgPT09IDIgJiYga2V5cy5sZW5ndGggPT09IDMpIHtcbiAgICAgIG5hbWUgPSAnV3NoMk9mMyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBtdWx0aXNpZycpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZSxcbiAgICAgIGtleXMsXG4gICAgICBwYXRoLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBzaFdzaE1zQW5kViA9IHVud3JhcE5vZGUobm9kZSwgWydTaCcsICdXc2gnLCAnTXMnLCAnQW5kViddKTtcbiAgaWYgKHNoV3NoTXNBbmRWKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc2hXc2hNc0FuZFYpICYmIHNoV3NoTXNBbmRWLmxlbmd0aCA9PT0gMikge1xuICAgICAgY29uc3QgW2EsIGJdID0gc2hXc2hNc0FuZFY7XG4gICAgICBjb25zdCBkcm9wQWZ0ZXJBYnNMb2NrdGltZSA9IHVud3JhcE5vZGUoYSwgWydEcm9wJywgJ0FmdGVyJywgJ2Fic0xvY2tUaW1lJ10pO1xuICAgICAgaWYgKHR5cGVvZiBkcm9wQWZ0ZXJBYnNMb2NrdGltZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBhYnNMb2NrVGltZSBudW1iZXInKTtcbiAgICAgIH1cbiAgICAgIGlmICghaXNVbmFyeU5vZGUoYiwgJ011bHRpJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBNdWx0aSBub2RlJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBtdWx0aSA9IHBhcnNlTXVsdGkoYi5NdWx0aSk7XG4gICAgICBpZiAobXVsdGkudGhyZXNob2xkID09PSAyICYmIG11bHRpLmtleXMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogJ1NoV3NoMk9mM0NsdHZEcm9wJyxcbiAgICAgICAgICBsb2NrdGltZTogZHJvcEFmdGVyQWJzTG9ja3RpbWUsXG4gICAgICAgICAga2V5czogbXVsdGkua2V5cyxcbiAgICAgICAgICBwYXRoOiBtdWx0aS5wYXRoLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURlc2NyaXB0b3IoZGVzY3JpcHRvcjogRGVzY3JpcHRvcik6IERlc2NyaXB0b3JCdWlsZGVyIHtcbiAgY29uc3QgYnVpbGRlciA9IHBhcnNlRGVzY3JpcHRvck5vZGUoZGVzY3JpcHRvci5ub2RlKCkpO1xuICBpZiAoZ2V0RGVzY3JpcHRvckZyb21CdWlsZGVyKGJ1aWxkZXIpLnRvU3RyaW5nKCkgIT09IGRlc2NyaXB0b3IudG9TdHJpbmcoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHBhcnNlIGRlc2NyaXB0b3InKTtcbiAgfVxuICByZXR1cm4gYnVpbGRlcjtcbn1cbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9idWlsZGVyL3BhcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0hBLGtEQVNDO0FBRUQsMENBTUM7QUFoSUQsOERBQWdEO0FBR2hELHVDQUF3RTtBQUl4RSxTQUFTLFdBQVcsQ0FBc0IsSUFBYSxFQUFFLEdBQVM7SUFDaEUsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxJQUFhLEVBQUUsSUFBYztJQUMvQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDbkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBYTtJQUsvQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0Qs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RSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckUsYUFBYSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFnQixlQUFlLENBQUMsVUFBc0I7SUFDcEQsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkQsSUFBSSxJQUFBLGtDQUF3QixFQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1FBQzNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IERlc2NyaXB0b3JCdWlsZGVyLCBnZXREZXNjcmlwdG9yRnJvbUJ1aWxkZXIgfSBmcm9tICcuL2J1aWxkZXInO1xuXG50eXBlIE5vZGVVbmFyeTxLZXkgZXh0ZW5kcyBzdHJpbmc+ID0geyBbayBpbiBLZXldOiB1bmtub3duIH07XG5cbmZ1bmN0aW9uIGlzVW5hcnlOb2RlPFRLZXkgZXh0ZW5kcyBzdHJpbmc+KG5vZGU6IHVua25vd24sIGtleTogVEtleSk6IG5vZGUgaXMgTm9kZVVuYXJ5PFRLZXk+IHtcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0JyB8fCBub2RlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhub2RlKTtcbiAgcmV0dXJuIGtleXMubGVuZ3RoID09PSAxICYmIGtleXNbMF0gPT09IGtleTtcbn1cblxuZnVuY3Rpb24gdW53cmFwTm9kZShub2RlOiB1bmtub3duLCBwYXRoOiBzdHJpbmdbXSk6IHVua25vd24ge1xuICBsZXQgY3VycmVudCA9IG5vZGU7XG4gIGZvciAoY29uc3Qga2V5IG9mIHBhdGgpIHtcbiAgICBpZiAoIWlzVW5hcnlOb2RlKGN1cnJlbnQsIGtleSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50W2tleV07XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG5cbmZ1bmN0aW9uIHBhcnNlTXVsdGkobm9kZTogdW5rbm93bik6IHtcbiAgdGhyZXNob2xkOiBudW1iZXI7XG4gIGtleXM6IEJJUDMySW50ZXJmYWNlW107XG4gIHBhdGg6IHN0cmluZztcbn0ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkobm9kZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgbm9kZScpO1xuICB9XG4gIGNvbnN0IFt0aHJlc2hvbGQsIC4uLmtleU5vZGVzXSA9IG5vZGU7XG4gIGlmICh0eXBlb2YgdGhyZXNob2xkICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgdGhyZXNob2xkIG51bWJlcicpO1xuICB9XG4gIGNvbnN0IGtleVdpdGhQYXRoID0ga2V5Tm9kZXMubWFwKChrZXlOb2RlKSA9PiB7XG4gICAgaWYgKCFpc1VuYXJ5Tm9kZShrZXlOb2RlLCAnWFB1YicpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIFhQdWIgbm9kZScpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGtleU5vZGUuWFB1YiAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgWFB1YiBzdHJpbmcnKTtcbiAgICB9XG4gICAgY29uc3QgcGFydHMgPSBrZXlOb2RlLlhQdWIuc3BsaXQoJy8nKTtcbiAgICByZXR1cm4geyB4cHViOiBwYXJ0c1swXSwgcGF0aDogcGFydHMuc2xpY2UoMSkuam9pbignLycpIH07XG4gIH0pO1xuICBjb25zdCBwYXRocyA9IGtleVdpdGhQYXRoLm1hcCgoaykgPT4gay5wYXRoKTtcbiAgcGF0aHMuZm9yRWFjaCgocGF0aCwgaSkgPT4ge1xuICAgIGlmIChwYXRoICE9PSBwYXRoc1swXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhbGwgcGF0aHMgdG8gYmUgdGhlIHNhbWU6ICR7cGF0aH0gIT09ICR7cGF0aHNbMF19YCk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICB0aHJlc2hvbGQsXG4gICAga2V5czoga2V5V2l0aFBhdGgubWFwKChrKSA9PiB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoay54cHViKSksXG4gICAgcGF0aDogcGF0aHNbMF0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlV3NoTXVsdGkobm9kZTogdW5rbm93bik6IERlc2NyaXB0b3JCdWlsZGVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgd3NoTXNNdWx0aSA9IHVud3JhcE5vZGUobm9kZSwgWydXc2gnLCAnTXMnLCAnTXVsdGknXSk7XG4gIGlmICh3c2hNc011bHRpKSB7XG4gICAgY29uc3QgeyB0aHJlc2hvbGQsIGtleXMsIHBhdGggfSA9IHBhcnNlTXVsdGkod3NoTXNNdWx0aSk7XG4gICAgbGV0IG5hbWU7XG4gICAgaWYgKHRocmVzaG9sZCA9PT0gMiAmJiBrZXlzLmxlbmd0aCA9PT0gMikge1xuICAgICAgbmFtZSA9ICdXc2gyT2YyJztcbiAgICB9IGVsc2UgaWYgKHRocmVzaG9sZCA9PT0gMiAmJiBrZXlzLmxlbmd0aCA9PT0gMykge1xuICAgICAgbmFtZSA9ICdXc2gyT2YzJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIG11bHRpc2lnJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAga2V5cyxcbiAgICAgIHBhdGgsXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZUNsdHZEcm9wKFxuICBub2RlOiB1bmtub3duLFxuICBuYW1lOiAnV3NoMk9mM0NsdHZEcm9wJyB8ICdTaFdzaDJPZjNDbHR2RHJvcCcsXG4gIHdyYXBwaW5nOiBzdHJpbmdbXVxuKTogRGVzY3JpcHRvckJ1aWxkZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCB1bndyYXBwZWQgPSB1bndyYXBOb2RlKG5vZGUsIHdyYXBwaW5nKTtcbiAgaWYgKCF1bndyYXBwZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodW53cmFwcGVkKSAmJiB1bndyYXBwZWQubGVuZ3RoID09PSAyKSB7XG4gICAgY29uc3QgW2EsIGJdID0gdW53cmFwcGVkO1xuICAgIGNvbnN0IGRyb3BBZnRlckFic0xvY2t0aW1lID0gdW53cmFwTm9kZShhLCBbJ0Ryb3AnLCAnQWZ0ZXInLCAnYWJzTG9ja1RpbWUnXSk7XG4gICAgaWYgKHR5cGVvZiBkcm9wQWZ0ZXJBYnNMb2NrdGltZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgYWJzTG9ja1RpbWUgbnVtYmVyJyk7XG4gICAgfVxuICAgIGlmICghaXNVbmFyeU5vZGUoYiwgJ011bHRpJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgTXVsdGkgbm9kZScpO1xuICAgIH1cbiAgICBjb25zdCBtdWx0aSA9IHBhcnNlTXVsdGkoYi5NdWx0aSk7XG4gICAgaWYgKG11bHRpLnRocmVzaG9sZCA9PT0gMiAmJiBtdWx0aS5rZXlzLmxlbmd0aCA9PT0gMykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgbG9ja3RpbWU6IGRyb3BBZnRlckFic0xvY2t0aW1lLFxuICAgICAgICBrZXlzOiBtdWx0aS5rZXlzLFxuICAgICAgICBwYXRoOiBtdWx0aS5wYXRoLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGVzY3JpcHRvck5vZGUobm9kZTogdW5rbm93bik6IERlc2NyaXB0b3JCdWlsZGVyIHtcbiAgY29uc3QgcGFyc2VkID1cbiAgICBwYXJzZVdzaE11bHRpKG5vZGUpID8/XG4gICAgcGFyc2VDbHR2RHJvcChub2RlLCAnU2hXc2gyT2YzQ2x0dkRyb3AnLCBbJ1NoJywgJ1dzaCcsICdNcycsICdBbmRWJ10pID8/XG4gICAgcGFyc2VDbHR2RHJvcChub2RlLCAnV3NoMk9mM0NsdHZEcm9wJywgWydXc2gnLCAnTXMnLCAnQW5kViddKTtcbiAgaWYgKCFwYXJzZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSBkZXNjcmlwdG9yIG5vZGUnKTtcbiAgfVxuICByZXR1cm4gcGFyc2VkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEZXNjcmlwdG9yKGRlc2NyaXB0b3I6IERlc2NyaXB0b3IpOiBEZXNjcmlwdG9yQnVpbGRlciB7XG4gIGNvbnN0IGJ1aWxkZXIgPSBwYXJzZURlc2NyaXB0b3JOb2RlKGRlc2NyaXB0b3Iubm9kZSgpKTtcbiAgaWYgKGdldERlc2NyaXB0b3JGcm9tQnVpbGRlcihidWlsZGVyKS50b1N0cmluZygpICE9PSBkZXNjcmlwdG9yLnRvU3RyaW5nKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSBkZXNjcmlwdG9yJyk7XG4gIH1cbiAgcmV0dXJuIGJ1aWxkZXI7XG59XG4iXX0=
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { NamedDescriptor } from './NamedDescriptor';
|
|
2
|
-
import { AbstractUtxoCoinWalletData } from '../abstractUtxoCoin';
|
|
3
|
-
import { DescriptorMap } from '../core/descriptor';
|
|
4
1
|
import { IWallet, WalletCoinSpecific } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { DescriptorMap } from '../core/descriptor';
|
|
3
|
+
import { UtxoWallet, UtxoWalletData } from '../wallet';
|
|
4
|
+
import { NamedDescriptor } from './NamedDescriptor';
|
|
5
|
+
import { DescriptorValidationPolicy, KeyTriple } from './validatePolicy';
|
|
5
6
|
type DescriptorWalletCoinSpecific = {
|
|
6
7
|
descriptors: NamedDescriptor[];
|
|
7
8
|
};
|
|
8
|
-
type DescriptorWalletData =
|
|
9
|
+
type DescriptorWalletData = UtxoWalletData & {
|
|
9
10
|
coinSpecific: DescriptorWalletCoinSpecific;
|
|
10
11
|
};
|
|
11
|
-
interface IDescriptorWallet extends
|
|
12
|
+
export interface IDescriptorWallet extends UtxoWallet {
|
|
12
13
|
coinSpecific(): WalletCoinSpecific & DescriptorWalletCoinSpecific;
|
|
13
14
|
}
|
|
14
|
-
export declare function isDescriptorWalletData(obj:
|
|
15
|
+
export declare function isDescriptorWalletData(obj: UtxoWalletData): obj is DescriptorWalletData;
|
|
15
16
|
export declare function isDescriptorWallet(obj: IWallet): obj is IDescriptorWallet;
|
|
16
|
-
export declare function
|
|
17
|
-
export declare function getDescriptorMapFromWallet(wallet: IDescriptorWallet): DescriptorMap;
|
|
17
|
+
export declare function getDescriptorMapFromWallet(wallet: IDescriptorWallet, walletKeys: KeyTriple, policy: DescriptorValidationPolicy): DescriptorMap;
|
|
18
18
|
export {};
|
|
19
19
|
//# sourceMappingURL=descriptorWallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptorWallet.d.ts","sourceRoot":"","sources":["../../../src/descriptor/descriptorWallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"descriptorWallet.d.ts","sourceRoot":"","sources":["../../../src/descriptor/descriptorWallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAA2B,MAAM,kBAAkB,CAAC;AAElG,KAAK,4BAA4B,GAAG;IAClC,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAQF,KAAK,oBAAoB,GAAG,cAAc,GAAG;IAC3C,YAAY,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,YAAY,IAAI,kBAAkB,GAAG,4BAA4B,CAAC;CACnE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI,oBAAoB,CAEvF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAEzE;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,0BAA0B,GACjC,aAAa,CAEf"}
|
|
@@ -35,11 +35,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.isDescriptorWalletData = isDescriptorWalletData;
|
|
37
37
|
exports.isDescriptorWallet = isDescriptorWallet;
|
|
38
|
-
exports.getDescriptorMapFromWalletData = getDescriptorMapFromWalletData;
|
|
39
38
|
exports.getDescriptorMapFromWallet = getDescriptorMapFromWallet;
|
|
40
39
|
const t = __importStar(require("io-ts"));
|
|
41
40
|
const NamedDescriptor_1 = require("./NamedDescriptor");
|
|
42
|
-
const
|
|
41
|
+
const validatePolicy_1 = require("./validatePolicy");
|
|
43
42
|
function isDescriptorWalletCoinSpecific(obj) {
|
|
44
43
|
return (obj !== null && typeof obj === 'object' && 'descriptors' in obj && t.array(NamedDescriptor_1.NamedDescriptor).is(obj.descriptors));
|
|
45
44
|
}
|
|
@@ -49,10 +48,7 @@ function isDescriptorWalletData(obj) {
|
|
|
49
48
|
function isDescriptorWallet(obj) {
|
|
50
49
|
return isDescriptorWalletCoinSpecific(obj.coinSpecific());
|
|
51
50
|
}
|
|
52
|
-
function
|
|
53
|
-
return (0,
|
|
51
|
+
function getDescriptorMapFromWallet(wallet, walletKeys, policy) {
|
|
52
|
+
return (0, validatePolicy_1.toDescriptorMapValidate)(wallet.coinSpecific().descriptors, walletKeys, policy);
|
|
54
53
|
}
|
|
55
|
-
|
|
56
|
-
return (0, descriptor_1.toDescriptorMap)(wallet.coinSpecific().descriptors);
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcldhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL2Rlc2NyaXB0b3JXYWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3QkEsd0RBRUM7QUFFRCxnREFFQztBQUVELHdFQUVDO0FBRUQsZ0VBRUM7QUF0Q0QseUNBQTJCO0FBQzNCLHVEQUFvRDtBQUVwRCxtREFBb0U7QUFPcEUsU0FBUyw4QkFBOEIsQ0FBQyxHQUFZO0lBQ2xELE9BQU8sQ0FDTCxHQUFHLEtBQUssSUFBSSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxhQUFhLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsaUNBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQ2hILENBQUM7QUFDSixDQUFDO0FBVUQsU0FBZ0Isc0JBQXNCLENBQUMsR0FBK0I7SUFDcEUsT0FBTyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLEdBQVk7SUFDN0MsT0FBTyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsU0FBZ0IsOEJBQThCLENBQUMsTUFBNEI7SUFDekUsT0FBTyxJQUFBLDRCQUFlLEVBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsTUFBeUI7SUFDbEUsT0FBTyxJQUFBLDRCQUFlLEVBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCB7IE5hbWVkRGVzY3JpcHRvciB9IGZyb20gJy4vTmFtZWREZXNjcmlwdG9yJztcbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW5XYWxsZXREYXRhIH0gZnJvbSAnLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwLCB0b0Rlc2NyaXB0b3JNYXAgfSBmcm9tICcuLi9jb3JlL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgSVdhbGxldCwgV2FsbGV0Q29pblNwZWNpZmljIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG50eXBlIERlc2NyaXB0b3JXYWxsZXRDb2luU3BlY2lmaWMgPSB7XG4gIGRlc2NyaXB0b3JzOiBOYW1lZERlc2NyaXB0b3JbXTtcbn07XG5cbmZ1bmN0aW9uIGlzRGVzY3JpcHRvcldhbGxldENvaW5TcGVjaWZpYyhvYmo6IHVua25vd24pOiBvYmogaXMgRGVzY3JpcHRvcldhbGxldENvaW5TcGVjaWZpYyB7XG4gIHJldHVybiAoXG4gICAgb2JqICE9PSBudWxsICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmICdkZXNjcmlwdG9ycycgaW4gb2JqICYmIHQuYXJyYXkoTmFtZWREZXNjcmlwdG9yKS5pcyhvYmouZGVzY3JpcHRvcnMpXG4gICk7XG59XG5cbnR5cGUgRGVzY3JpcHRvcldhbGxldERhdGEgPSBBYnN0cmFjdFV0eG9Db2luV2FsbGV0RGF0YSAmIHtcbiAgY29pblNwZWNpZmljOiBEZXNjcmlwdG9yV2FsbGV0Q29pblNwZWNpZmljO1xufTtcblxuaW50ZXJmYWNlIElEZXNjcmlwdG9yV2FsbGV0IGV4dGVuZHMgSVdhbGxldCB7XG4gIGNvaW5TcGVjaWZpYygpOiBXYWxsZXRDb2luU3BlY2lmaWMgJiBEZXNjcmlwdG9yV2FsbGV0Q29pblNwZWNpZmljO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZXNjcmlwdG9yV2FsbGV0RGF0YShvYmo6IEFic3RyYWN0VXR4b0NvaW5XYWxsZXREYXRhKTogb2JqIGlzIERlc2NyaXB0b3JXYWxsZXREYXRhIHtcbiAgcmV0dXJuIGlzRGVzY3JpcHRvcldhbGxldENvaW5TcGVjaWZpYyhvYmouY29pblNwZWNpZmljKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGVzY3JpcHRvcldhbGxldChvYmo6IElXYWxsZXQpOiBvYmogaXMgSURlc2NyaXB0b3JXYWxsZXQge1xuICByZXR1cm4gaXNEZXNjcmlwdG9yV2FsbGV0Q29pblNwZWNpZmljKG9iai5jb2luU3BlY2lmaWMoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldERhdGEod2FsbGV0OiBEZXNjcmlwdG9yV2FsbGV0RGF0YSk6IERlc2NyaXB0b3JNYXAge1xuICByZXR1cm4gdG9EZXNjcmlwdG9yTWFwKHdhbGxldC5jb2luU3BlY2lmaWMuZGVzY3JpcHRvcnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQod2FsbGV0OiBJRGVzY3JpcHRvcldhbGxldCk6IERlc2NyaXB0b3JNYXAge1xuICByZXR1cm4gdG9EZXNjcmlwdG9yTWFwKHdhbGxldC5jb2luU3BlY2lmaWMoKS5kZXNjcmlwdG9ycyk7XG59XG4iXX0=
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcldhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL2Rlc2NyaXB0b3JXYWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsd0RBRUM7QUFFRCxnREFFQztBQUVELGdFQU1DO0FBekNELHlDQUEyQjtBQU0zQix1REFBb0Q7QUFDcEQscURBQWtHO0FBTWxHLFNBQVMsOEJBQThCLENBQUMsR0FBWTtJQUNsRCxPQUFPLENBQ0wsR0FBRyxLQUFLLElBQUksSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksYUFBYSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLGlDQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUNoSCxDQUFDO0FBQ0osQ0FBQztBQVVELFNBQWdCLHNCQUFzQixDQUFDLEdBQW1CO0lBQ3hELE9BQU8sOEJBQThCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxHQUFZO0lBQzdDLE9BQU8sOEJBQThCLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVELFNBQWdCLDBCQUEwQixDQUN4QyxNQUF5QixFQUN6QixVQUFxQixFQUNyQixNQUFrQztJQUVsQyxPQUFPLElBQUEsd0NBQXVCLEVBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgSVdhbGxldCwgV2FsbGV0Q29pblNwZWNpZmljIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBEZXNjcmlwdG9yTWFwIH0gZnJvbSAnLi4vY29yZS9kZXNjcmlwdG9yJztcbmltcG9ydCB7IFV0eG9XYWxsZXQsIFV0eG9XYWxsZXREYXRhIH0gZnJvbSAnLi4vd2FsbGV0JztcblxuaW1wb3J0IHsgTmFtZWREZXNjcmlwdG9yIH0gZnJvbSAnLi9OYW1lZERlc2NyaXB0b3InO1xuaW1wb3J0IHsgRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3ksIEtleVRyaXBsZSwgdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUgfSBmcm9tICcuL3ZhbGlkYXRlUG9saWN5JztcblxudHlwZSBEZXNjcmlwdG9yV2FsbGV0Q29pblNwZWNpZmljID0ge1xuICBkZXNjcmlwdG9yczogTmFtZWREZXNjcmlwdG9yW107XG59O1xuXG5mdW5jdGlvbiBpc0Rlc2NyaXB0b3JXYWxsZXRDb2luU3BlY2lmaWMob2JqOiB1bmtub3duKTogb2JqIGlzIERlc2NyaXB0b3JXYWxsZXRDb2luU3BlY2lmaWMge1xuICByZXR1cm4gKFxuICAgIG9iaiAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiAnZGVzY3JpcHRvcnMnIGluIG9iaiAmJiB0LmFycmF5KE5hbWVkRGVzY3JpcHRvcikuaXMob2JqLmRlc2NyaXB0b3JzKVxuICApO1xufVxuXG50eXBlIERlc2NyaXB0b3JXYWxsZXREYXRhID0gVXR4b1dhbGxldERhdGEgJiB7XG4gIGNvaW5TcGVjaWZpYzogRGVzY3JpcHRvcldhbGxldENvaW5TcGVjaWZpYztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURlc2NyaXB0b3JXYWxsZXQgZXh0ZW5kcyBVdHhvV2FsbGV0IHtcbiAgY29pblNwZWNpZmljKCk6IFdhbGxldENvaW5TcGVjaWZpYyAmIERlc2NyaXB0b3JXYWxsZXRDb2luU3BlY2lmaWM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Rlc2NyaXB0b3JXYWxsZXREYXRhKG9iajogVXR4b1dhbGxldERhdGEpOiBvYmogaXMgRGVzY3JpcHRvcldhbGxldERhdGEge1xuICByZXR1cm4gaXNEZXNjcmlwdG9yV2FsbGV0Q29pblNwZWNpZmljKG9iai5jb2luU3BlY2lmaWMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEZXNjcmlwdG9yV2FsbGV0KG9iajogSVdhbGxldCk6IG9iaiBpcyBJRGVzY3JpcHRvcldhbGxldCB7XG4gIHJldHVybiBpc0Rlc2NyaXB0b3JXYWxsZXRDb2luU3BlY2lmaWMob2JqLmNvaW5TcGVjaWZpYygpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KFxuICB3YWxsZXQ6IElEZXNjcmlwdG9yV2FsbGV0LFxuICB3YWxsZXRLZXlzOiBLZXlUcmlwbGUsXG4gIHBvbGljeTogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3lcbik6IERlc2NyaXB0b3JNYXAge1xuICByZXR1cm4gdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUod2FsbGV0LmNvaW5TcGVjaWZpYygpLmRlc2NyaXB0b3JzLCB3YWxsZXRLZXlzLCBwb2xpY3kpO1xufVxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { Miniscript, Descriptor } from '@bitgo/wasm-miniscript';
|
|
2
2
|
export { assertDescriptorWalletAddress } from './assertDescriptorWalletAddress';
|
|
3
3
|
export { NamedDescriptor } from './NamedDescriptor';
|
|
4
|
-
export { isDescriptorWallet,
|
|
4
|
+
export { isDescriptorWallet, getDescriptorMapFromWallet } from './descriptorWallet';
|
|
5
|
+
export { getPolicyForEnv } from './validatePolicy';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/descriptor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/descriptor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getPolicyForEnv = exports.getDescriptorMapFromWallet = exports.isDescriptorWallet = exports.NamedDescriptor = exports.assertDescriptorWalletAddress = exports.Descriptor = exports.Miniscript = void 0;
|
|
4
4
|
var wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
|
|
5
5
|
Object.defineProperty(exports, "Miniscript", { enumerable: true, get: function () { return wasm_miniscript_1.Miniscript; } });
|
|
6
6
|
Object.defineProperty(exports, "Descriptor", { enumerable: true, get: function () { return wasm_miniscript_1.Descriptor; } });
|
|
@@ -10,7 +10,7 @@ var NamedDescriptor_1 = require("./NamedDescriptor");
|
|
|
10
10
|
Object.defineProperty(exports, "NamedDescriptor", { enumerable: true, get: function () { return NamedDescriptor_1.NamedDescriptor; } });
|
|
11
11
|
var descriptorWallet_1 = require("./descriptorWallet");
|
|
12
12
|
Object.defineProperty(exports, "isDescriptorWallet", { enumerable: true, get: function () { return descriptorWallet_1.isDescriptorWallet; } });
|
|
13
|
-
Object.defineProperty(exports, "isDescriptorWalletData", { enumerable: true, get: function () { return descriptorWallet_1.isDescriptorWalletData; } });
|
|
14
13
|
Object.defineProperty(exports, "getDescriptorMapFromWallet", { enumerable: true, get: function () { return descriptorWallet_1.getDescriptorMapFromWallet; } });
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
var validatePolicy_1 = require("./validatePolicy");
|
|
15
|
+
Object.defineProperty(exports, "getPolicyForEnv", { enumerable: true, get: function () { return validatePolicy_1.getPolicyForEnv; } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBZ0U7QUFBdkQsNkdBQUEsVUFBVSxPQUFBO0FBQUUsNkdBQUEsVUFBVSxPQUFBO0FBQy9CLGlGQUFnRjtBQUF2RSw4SUFBQSw2QkFBNkIsT0FBQTtBQUN0QyxxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHVEQUFvRjtBQUEzRSxzSEFBQSxrQkFBa0IsT0FBQTtBQUFFLDhIQUFBLDBCQUEwQixPQUFBO0FBQ3ZELG1EQUFtRDtBQUExQyxpSEFBQSxlQUFlLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNaW5pc2NyaXB0LCBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5leHBvcnQgeyBhc3NlcnREZXNjcmlwdG9yV2FsbGV0QWRkcmVzcyB9IGZyb20gJy4vYXNzZXJ0RGVzY3JpcHRvcldhbGxldEFkZHJlc3MnO1xuZXhwb3J0IHsgTmFtZWREZXNjcmlwdG9yIH0gZnJvbSAnLi9OYW1lZERlc2NyaXB0b3InO1xuZXhwb3J0IHsgaXNEZXNjcmlwdG9yV2FsbGV0LCBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCB9IGZyb20gJy4vZGVzY3JpcHRvcldhbGxldCc7XG5leHBvcnQgeyBnZXRQb2xpY3lGb3JFbnYgfSBmcm9tICcuL3ZhbGlkYXRlUG9saWN5JztcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Descriptor } from '@bitgo/wasm-miniscript';
|
|
2
|
+
import { EnvironmentName, Triple } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
4
|
+
import { DescriptorMap } from '../core/descriptor';
|
|
5
|
+
import { DescriptorBuilder } from './builder';
|
|
6
|
+
import { NamedDescriptor } from './NamedDescriptor';
|
|
7
|
+
export type DescriptorValidationPolicy = {
|
|
8
|
+
allowedTemplates: DescriptorBuilder['name'][];
|
|
9
|
+
} | 'allowAll';
|
|
10
|
+
export type KeyTriple = Triple<utxolib.BIP32Interface>;
|
|
11
|
+
export declare function assertDescriptorPolicy(descriptor: Descriptor, policy: DescriptorValidationPolicy, walletKeys: Triple<utxolib.BIP32Interface>): void;
|
|
12
|
+
export declare function toDescriptorMapValidate(descriptors: NamedDescriptor[], walletKeys: KeyTriple, policy: DescriptorValidationPolicy): DescriptorMap;
|
|
13
|
+
export declare function getPolicyForEnv(env: EnvironmentName): DescriptorValidationPolicy;
|
|
14
|
+
//# sourceMappingURL=validatePolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validatePolicy.d.ts","sourceRoot":"","sources":["../../../src/descriptor/validatePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,0BAA0B,GAAG;IAAE,gBAAgB,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAA;CAAE,GAAG,UAAU,CAAC;AAExG,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAiBvD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,0BAA0B,EAClC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GACzC,IAAI,CAaN;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,eAAe,EAAE,EAC9B,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,0BAA0B,GACjC,aAAa,CAMf;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,0BAA0B,CAUhF"}
|