@bitgo-beta/abstract-utxo 1.6.1-alpha.244 → 1.6.1-alpha.245

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/src/core/descriptor/DescriptorMap.d.ts +1 -1
  3. package/dist/src/core/descriptor/DescriptorMap.d.ts.map +1 -1
  4. package/dist/src/core/descriptor/DescriptorMap.js +5 -2
  5. package/dist/src/descriptor/NamedDescriptor.d.ts +14 -3
  6. package/dist/src/descriptor/NamedDescriptor.d.ts.map +1 -1
  7. package/dist/src/descriptor/NamedDescriptor.js +35 -5
  8. package/dist/src/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  9. package/dist/src/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  10. package/dist/src/descriptor/createWallet/createDescriptorWallet.js +74 -0
  11. package/dist/src/descriptor/createWallet/createDescriptors.d.ts +12 -0
  12. package/dist/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  13. package/dist/src/descriptor/createWallet/createDescriptors.js +31 -0
  14. package/dist/src/descriptor/createWallet/index.d.ts +3 -0
  15. package/dist/src/descriptor/createWallet/index.d.ts.map +1 -0
  16. package/dist/src/descriptor/createWallet/index.js +19 -0
  17. package/dist/src/descriptor/index.d.ts +1 -0
  18. package/dist/src/descriptor/index.d.ts.map +1 -1
  19. package/dist/src/descriptor/index.js +36 -2
  20. package/dist/src/descriptor/validatePolicy.d.ts +14 -5
  21. package/dist/src/descriptor/validatePolicy.d.ts.map +1 -1
  22. package/dist/src/descriptor/validatePolicy.js +71 -28
  23. package/dist/test/descriptor/NamedDescriptor.d.ts +2 -0
  24. package/dist/test/descriptor/NamedDescriptor.d.ts.map +1 -0
  25. package/dist/test/descriptor/NamedDescriptor.js +19 -0
  26. package/dist/test/descriptor/createWallet/createDescriptors.d.ts +2 -0
  27. package/dist/test/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  28. package/dist/test/descriptor/createWallet/createDescriptors.js +21 -0
  29. package/dist/test/descriptor/descriptorWallet.js +3 -2
  30. package/dist/test/transaction/descriptor/validatePolicy.d.ts +2 -0
  31. package/dist/test/transaction/descriptor/validatePolicy.d.ts.map +1 -0
  32. package/dist/test/transaction/descriptor/validatePolicy.js +40 -0
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +7 -7
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createDescriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDescriptors.d.ts","sourceRoot":"","sources":["../../../../test/descriptor/createWallet/createDescriptors.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const key_utils_1 = require("../../core/key.utils");
8
+ const NamedDescriptor_1 = require("../../../src/descriptor/NamedDescriptor");
9
+ const createWallet_1 = require("../../../src/descriptor/createWallet");
10
+ const fixtures_utils_1 = require("../../core/fixtures.utils");
11
+ describe('createDescriptors', function () {
12
+ it('should create standard named descriptors', async function () {
13
+ const keys = (0, key_utils_1.getKeyTriple)();
14
+ const namedDescriptors = (0, createWallet_1.DefaultWsh2Of3)(keys[0], keys.slice(1));
15
+ assert_1.default.deepStrictEqual(namedDescriptors, await (0, fixtures_utils_1.getFixture)(__dirname + '/fixtures/DefaultWsh2Of3.json', namedDescriptors));
16
+ for (const namedDescriptor of namedDescriptors) {
17
+ (0, NamedDescriptor_1.assertHasValidSignature)(namedDescriptor, keys[0]);
18
+ }
19
+ });
20
+ });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRGVzY3JpcHRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L2Rlc2NyaXB0b3IvY3JlYXRlV2FsbGV0L2NyZWF0ZURlc2NyaXB0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLG9EQUFvRDtBQUNwRCw2RUFBa0Y7QUFDbEYsdUVBQXNFO0FBQ3RFLDhEQUF1RDtBQUV2RCxRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFDNUIsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEtBQUs7UUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBQSx3QkFBWSxHQUFFLENBQUM7UUFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDZCQUFjLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxnQkFBTSxDQUFDLGVBQWUsQ0FDcEIsZ0JBQWdCLEVBQ2hCLE1BQU0sSUFBQSwyQkFBVSxFQUFDLFNBQVMsR0FBRywrQkFBK0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUNoRixDQUFDO1FBQ0YsS0FBSyxNQUFNLGVBQWUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQy9DLElBQUEseUNBQXVCLEVBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBnZXRLZXlUcmlwbGUgfSBmcm9tICcuLi8uLi9jb3JlL2tleS51dGlscyc7XG5pbXBvcnQgeyBhc3NlcnRIYXNWYWxpZFNpZ25hdHVyZSB9IGZyb20gJy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL05hbWVkRGVzY3JpcHRvcic7XG5pbXBvcnQgeyBEZWZhdWx0V3NoMk9mMyB9IGZyb20gJy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL2NyZWF0ZVdhbGxldCc7XG5pbXBvcnQgeyBnZXRGaXh0dXJlIH0gZnJvbSAnLi4vLi4vY29yZS9maXh0dXJlcy51dGlscyc7XG5cbmRlc2NyaWJlKCdjcmVhdGVEZXNjcmlwdG9ycycsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCBjcmVhdGUgc3RhbmRhcmQgbmFtZWQgZGVzY3JpcHRvcnMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3Qga2V5cyA9IGdldEtleVRyaXBsZSgpO1xuICAgIGNvbnN0IG5hbWVkRGVzY3JpcHRvcnMgPSBEZWZhdWx0V3NoMk9mMyhrZXlzWzBdLCBrZXlzLnNsaWNlKDEpKTtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFxuICAgICAgbmFtZWREZXNjcmlwdG9ycyxcbiAgICAgIGF3YWl0IGdldEZpeHR1cmUoX19kaXJuYW1lICsgJy9maXh0dXJlcy9EZWZhdWx0V3NoMk9mMy5qc29uJywgbmFtZWREZXNjcmlwdG9ycylcbiAgICApO1xuICAgIGZvciAoY29uc3QgbmFtZWREZXNjcmlwdG9yIG9mIG5hbWVkRGVzY3JpcHRvcnMpIHtcbiAgICAgIGFzc2VydEhhc1ZhbGlkU2lnbmF0dXJlKG5hbWVkRGVzY3JpcHRvciwga2V5c1swXSk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
@@ -7,6 +7,7 @@ const assert_1 = __importDefault(require("assert"));
7
7
  const descriptor_1 = require("../../src/descriptor");
8
8
  const descriptor_utils_1 = require("../core/descriptor/descriptor.utils");
9
9
  const keychains_1 = require("../../src/keychains");
10
+ const validatePolicy_1 = require("../../src/descriptor/validatePolicy");
10
11
  describe('isDescriptorWalletData', function () {
11
12
  const descriptorMap = (0, descriptor_utils_1.getDescriptorMap)('Wsh2Of3');
12
13
  it('should return true for valid DescriptorWalletData', function () {
@@ -21,7 +22,7 @@ describe('isDescriptorWalletData', function () {
21
22
  },
22
23
  };
23
24
  (0, assert_1.default)((0, descriptor_1.isDescriptorWallet)(wallet));
24
- assert_1.default.strictEqual((0, descriptor_1.getDescriptorMapFromWallet)(wallet, (0, keychains_1.toBip32Triple)((0, descriptor_utils_1.getDefaultXPubs)()), 'allowAll').size, descriptorMap.size);
25
+ assert_1.default.strictEqual((0, descriptor_1.getDescriptorMapFromWallet)(wallet, (0, keychains_1.toBip32Triple)((0, descriptor_utils_1.getDefaultXPubs)()), validatePolicy_1.policyAllowAll).size, descriptorMap.size);
25
26
  });
26
27
  });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcldhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvZGVzY3JpcHRvci9kZXNjcmlwdG9yV2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLHFEQUFzRjtBQUV0RiwwRUFBd0Y7QUFDeEYsbURBQW9EO0FBRXBELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxNQUFNLGFBQWEsR0FBRyxJQUFBLG1DQUFnQixFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELEVBQUUsQ0FBQyxtREFBbUQsRUFBRTtRQUN0RCxNQUFNLE1BQU0sR0FBZTtZQUN6QixZQUFZO2dCQUNWLE9BQU87b0JBQ0wsV0FBVyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDckUsSUFBSTt3QkFDSixLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRTtxQkFDN0IsQ0FBQyxDQUFDO2lCQUNKLENBQUM7WUFDSixDQUFDO1NBQ3VCLENBQUM7UUFFM0IsSUFBQSxnQkFBTSxFQUFDLElBQUEsK0JBQWtCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNuQyxnQkFBTSxDQUFDLFdBQVcsQ0FDaEIsSUFBQSx1Q0FBMEIsRUFBQyxNQUFNLEVBQUUsSUFBQSx5QkFBYSxFQUFDLElBQUEsa0NBQWUsR0FBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUNyRixhQUFhLENBQUMsSUFBSSxDQUNuQixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGlzRGVzY3JpcHRvcldhbGxldCB9IGZyb20gJy4uLy4uL3NyYy9kZXNjcmlwdG9yJztcbmltcG9ydCB7IFV0eG9XYWxsZXQgfSBmcm9tICcuLi8uLi9zcmMvd2FsbGV0JztcbmltcG9ydCB7IGdldERlZmF1bHRYUHVicywgZ2V0RGVzY3JpcHRvck1hcCB9IGZyb20gJy4uL2NvcmUvZGVzY3JpcHRvci9kZXNjcmlwdG9yLnV0aWxzJztcbmltcG9ydCB7IHRvQmlwMzJUcmlwbGUgfSBmcm9tICcuLi8uLi9zcmMva2V5Y2hhaW5zJztcblxuZGVzY3JpYmUoJ2lzRGVzY3JpcHRvcldhbGxldERhdGEnLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGRlc2NyaXB0b3JNYXAgPSBnZXREZXNjcmlwdG9yTWFwKCdXc2gyT2YzJyk7XG4gIGl0KCdzaG91bGQgcmV0dXJuIHRydWUgZm9yIHZhbGlkIERlc2NyaXB0b3JXYWxsZXREYXRhJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHdhbGxldDogVXR4b1dhbGxldCA9IHtcbiAgICAgIGNvaW5TcGVjaWZpYygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkZXNjcmlwdG9yczogWy4uLmRlc2NyaXB0b3JNYXAuZW50cmllcygpXS5tYXAoKFtuYW1lLCBkZXNjcmlwdG9yXSkgPT4gKHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogZGVzY3JpcHRvci50b1N0cmluZygpLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSBhcyB1bmtub3duIGFzIFV0eG9XYWxsZXQ7XG5cbiAgICBhc3NlcnQoaXNEZXNjcmlwdG9yV2FsbGV0KHdhbGxldCkpO1xuICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgIGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgdG9CaXAzMlRyaXBsZShnZXREZWZhdWx0WFB1YnMoKSksICdhbGxvd0FsbCcpLnNpemUsXG4gICAgICBkZXNjcmlwdG9yTWFwLnNpemVcbiAgICApO1xuICB9KTtcbn0pO1xuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvcldhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvZGVzY3JpcHRvci9kZXNjcmlwdG9yV2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLHFEQUFzRjtBQUV0RiwwRUFBd0Y7QUFDeEYsbURBQW9EO0FBQ3BELHdFQUFxRTtBQUVyRSxRQUFRLENBQUMsd0JBQXdCLEVBQUU7SUFDakMsTUFBTSxhQUFhLEdBQUcsSUFBQSxtQ0FBZ0IsRUFBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxFQUFFLENBQUMsbURBQW1ELEVBQUU7UUFDdEQsTUFBTSxNQUFNLEdBQWU7WUFDekIsWUFBWTtnQkFDVixPQUFPO29CQUNMLFdBQVcsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ3JFLElBQUk7d0JBQ0osS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7cUJBQzdCLENBQUMsQ0FBQztpQkFDSixDQUFDO1lBQ0osQ0FBQztTQUN1QixDQUFDO1FBRTNCLElBQUEsZ0JBQU0sRUFBQyxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkMsZ0JBQU0sQ0FBQyxXQUFXLENBQ2hCLElBQUEsdUNBQTBCLEVBQUMsTUFBTSxFQUFFLElBQUEseUJBQWEsRUFBQyxJQUFBLGtDQUFlLEdBQUUsQ0FBQyxFQUFFLCtCQUFjLENBQUMsQ0FBQyxJQUFJLEVBQ3pGLGFBQWEsQ0FBQyxJQUFJLENBQ25CLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vLi4vc3JjL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgVXR4b1dhbGxldCB9IGZyb20gJy4uLy4uL3NyYy93YWxsZXQnO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdFhQdWJzLCBnZXREZXNjcmlwdG9yTWFwIH0gZnJvbSAnLi4vY29yZS9kZXNjcmlwdG9yL2Rlc2NyaXB0b3IudXRpbHMnO1xuaW1wb3J0IHsgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uLy4uL3NyYy9rZXljaGFpbnMnO1xuaW1wb3J0IHsgcG9saWN5QWxsb3dBbGwgfSBmcm9tICcuLi8uLi9zcmMvZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeSc7XG5cbmRlc2NyaWJlKCdpc0Rlc2NyaXB0b3JXYWxsZXREYXRhJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBkZXNjcmlwdG9yTWFwID0gZ2V0RGVzY3JpcHRvck1hcCgnV3NoMk9mMycpO1xuICBpdCgnc2hvdWxkIHJldHVybiB0cnVlIGZvciB2YWxpZCBEZXNjcmlwdG9yV2FsbGV0RGF0YScsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB3YWxsZXQ6IFV0eG9XYWxsZXQgPSB7XG4gICAgICBjb2luU3BlY2lmaWMoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGVzY3JpcHRvcnM6IFsuLi5kZXNjcmlwdG9yTWFwLmVudHJpZXMoKV0ubWFwKChbbmFtZSwgZGVzY3JpcHRvcl0pID0+ICh7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdmFsdWU6IGRlc2NyaXB0b3IudG9TdHJpbmcoKSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0gYXMgdW5rbm93biBhcyBVdHhvV2FsbGV0O1xuXG4gICAgYXNzZXJ0KGlzRGVzY3JpcHRvcldhbGxldCh3YWxsZXQpKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCh3YWxsZXQsIHRvQmlwMzJUcmlwbGUoZ2V0RGVmYXVsdFhQdWJzKCkpLCBwb2xpY3lBbGxvd0FsbCkuc2l6ZSxcbiAgICAgIGRlc2NyaXB0b3JNYXAuc2l6ZVxuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validatePolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatePolicy.d.ts","sourceRoot":"","sources":["../../../../test/transaction/descriptor/validatePolicy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
8
+ const validatePolicy_1 = require("../../../src/descriptor/validatePolicy");
9
+ const descriptor_utils_1 = require("../../core/descriptor/descriptor.utils");
10
+ const key_utils_1 = require("../../core/key.utils");
11
+ const NamedDescriptor_1 = require("../../../src/descriptor/NamedDescriptor");
12
+ function testAssertDescriptorPolicy(d, p, k, expectedError) {
13
+ const f = () => (0, validatePolicy_1.assertDescriptorPolicy)(wasm_miniscript_1.Descriptor.fromString(d.value, 'derivable'), p, k, d.signatures ?? []);
14
+ if (expectedError) {
15
+ assert_1.default.throws(f);
16
+ }
17
+ else {
18
+ assert_1.default.doesNotThrow(f);
19
+ }
20
+ }
21
+ describe('assertDescriptorPolicy', function () {
22
+ const keys = (0, key_utils_1.getKeyTriple)();
23
+ function getNamedDescriptor(name) {
24
+ return (0, NamedDescriptor_1.createNamedDescriptorWithSignature)(name, (0, descriptor_utils_1.getDescriptor)(name), keys[0]);
25
+ }
26
+ function stripSignature(d) {
27
+ return { ...d, signatures: undefined };
28
+ }
29
+ it('has expected result', function () {
30
+ testAssertDescriptorPolicy(getNamedDescriptor('Wsh2Of3'), (0, validatePolicy_1.getValidatorDescriptorTemplate)('Wsh2Of3'), keys, null);
31
+ // prod does only allow Wsh2Of3-ish descriptors
32
+ testAssertDescriptorPolicy(getNamedDescriptor('Wsh2Of3'), (0, validatePolicy_1.getPolicyForEnv)('prod'), keys, null);
33
+ // prod only allows other descriptors if they are signed by the user key
34
+ testAssertDescriptorPolicy(getNamedDescriptor('Wsh2Of2'), (0, validatePolicy_1.getPolicyForEnv)('prod'), keys, null);
35
+ testAssertDescriptorPolicy(stripSignature(getNamedDescriptor('Wsh2Of2')), (0, validatePolicy_1.getPolicyForEnv)('prod'), keys, new validatePolicy_1.DescriptorPolicyValidationError((0, descriptor_utils_1.getDescriptor)('Wsh2Of2'), (0, validatePolicy_1.getPolicyForEnv)('prod')));
36
+ // test is very permissive by default
37
+ testAssertDescriptorPolicy(stripSignature(getNamedDescriptor('Wsh2Of2')), (0, validatePolicy_1.getPolicyForEnv)('test'), keys, null);
38
+ });
39
+ });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3RyYW5zYWN0aW9uL2Rlc2NyaXB0b3IvdmFsaWRhdGVQb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsNERBQW9EO0FBSXBELDJFQU1nRDtBQUNoRCw2RUFBMkY7QUFDM0Ysb0RBQW9EO0FBRXBELDZFQUE2RjtBQUU3RixTQUFTLDBCQUEwQixDQUNqQyxDQUEwQixFQUMxQixDQUE2QixFQUM3QixDQUF5QixFQUN6QixhQUFxRDtJQUVyRCxNQUFNLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFBLHVDQUFzQixFQUFDLDRCQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztTQUFNLENBQUM7UUFDTixnQkFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0FBQ0gsQ0FBQztBQUVELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxNQUFNLElBQUksR0FBRyxJQUFBLHdCQUFZLEdBQUUsQ0FBQztJQUM1QixTQUFTLGtCQUFrQixDQUFDLElBQXdCO1FBQ2xELE9BQU8sSUFBQSxvREFBa0MsRUFBQyxJQUFJLEVBQUUsSUFBQSxnQ0FBYSxFQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFDRCxTQUFTLGNBQWMsQ0FBQyxDQUFrQjtRQUN4QyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxFQUFFLENBQUMscUJBQXFCLEVBQUU7UUFDeEIsMEJBQTBCLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBQSwrQ0FBOEIsRUFBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFakgsK0NBQStDO1FBQy9DLDBCQUEwQixDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUEsZ0NBQWUsRUFBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFL0Ysd0VBQXdFO1FBQ3hFLDBCQUEwQixDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUEsZ0NBQWUsRUFBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDL0YsMEJBQTBCLENBQ3hCLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUM3QyxJQUFBLGdDQUFlLEVBQUMsTUFBTSxDQUFDLEVBQ3ZCLElBQUksRUFDSixJQUFJLGdEQUErQixDQUFDLElBQUEsZ0NBQWEsRUFBQyxTQUFTLENBQUMsRUFBRSxJQUFBLGdDQUFlLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FDdkYsQ0FBQztRQUVGLHFDQUFxQztRQUNyQywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFBLGdDQUFlLEVBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCB7IFRyaXBsZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQge1xuICBhc3NlcnREZXNjcmlwdG9yUG9saWN5LFxuICBEZXNjcmlwdG9yUG9saWN5VmFsaWRhdGlvbkVycm9yLFxuICBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSxcbiAgZ2V0UG9saWN5Rm9yRW52LFxuICBnZXRWYWxpZGF0b3JEZXNjcmlwdG9yVGVtcGxhdGUsXG59IGZyb20gJy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yL3ZhbGlkYXRlUG9saWN5JztcbmltcG9ydCB7IERlc2NyaXB0b3JUZW1wbGF0ZSwgZ2V0RGVzY3JpcHRvciB9IGZyb20gJy4uLy4uL2NvcmUvZGVzY3JpcHRvci9kZXNjcmlwdG9yLnV0aWxzJztcbmltcG9ydCB7IGdldEtleVRyaXBsZSB9IGZyb20gJy4uLy4uL2NvcmUva2V5LnV0aWxzJztcbmltcG9ydCB7IE5hbWVkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uLy4uL3NyYy9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGNyZWF0ZU5hbWVkRGVzY3JpcHRvcldpdGhTaWduYXR1cmUgfSBmcm9tICcuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9OYW1lZERlc2NyaXB0b3InO1xuXG5mdW5jdGlvbiB0ZXN0QXNzZXJ0RGVzY3JpcHRvclBvbGljeShcbiAgZDogTmFtZWREZXNjcmlwdG9yPHN0cmluZz4sXG4gIHA6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5LFxuICBrOiBUcmlwbGU8QklQMzJJbnRlcmZhY2U+LFxuICBleHBlY3RlZEVycm9yOiBEZXNjcmlwdG9yUG9saWN5VmFsaWRhdGlvbkVycm9yIHwgbnVsbFxuKSB7XG4gIGNvbnN0IGYgPSAoKSA9PiBhc3NlcnREZXNjcmlwdG9yUG9saWN5KERlc2NyaXB0b3IuZnJvbVN0cmluZyhkLnZhbHVlLCAnZGVyaXZhYmxlJyksIHAsIGssIGQuc2lnbmF0dXJlcyA/PyBbXSk7XG4gIGlmIChleHBlY3RlZEVycm9yKSB7XG4gICAgYXNzZXJ0LnRocm93cyhmKTtcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQuZG9lc05vdFRocm93KGYpO1xuICB9XG59XG5cbmRlc2NyaWJlKCdhc3NlcnREZXNjcmlwdG9yUG9saWN5JywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBrZXlzID0gZ2V0S2V5VHJpcGxlKCk7XG4gIGZ1bmN0aW9uIGdldE5hbWVkRGVzY3JpcHRvcihuYW1lOiBEZXNjcmlwdG9yVGVtcGxhdGUpOiBOYW1lZERlc2NyaXB0b3Ige1xuICAgIHJldHVybiBjcmVhdGVOYW1lZERlc2NyaXB0b3JXaXRoU2lnbmF0dXJlKG5hbWUsIGdldERlc2NyaXB0b3IobmFtZSksIGtleXNbMF0pO1xuICB9XG4gIGZ1bmN0aW9uIHN0cmlwU2lnbmF0dXJlKGQ6IE5hbWVkRGVzY3JpcHRvcik6IE5hbWVkRGVzY3JpcHRvciB7XG4gICAgcmV0dXJuIHsgLi4uZCwgc2lnbmF0dXJlczogdW5kZWZpbmVkIH07XG4gIH1cblxuICBpdCgnaGFzIGV4cGVjdGVkIHJlc3VsdCcsIGZ1bmN0aW9uICgpIHtcbiAgICB0ZXN0QXNzZXJ0RGVzY3JpcHRvclBvbGljeShnZXROYW1lZERlc2NyaXB0b3IoJ1dzaDJPZjMnKSwgZ2V0VmFsaWRhdG9yRGVzY3JpcHRvclRlbXBsYXRlKCdXc2gyT2YzJyksIGtleXMsIG51bGwpO1xuXG4gICAgLy8gcHJvZCBkb2VzIG9ubHkgYWxsb3cgV3NoMk9mMy1pc2ggZGVzY3JpcHRvcnNcbiAgICB0ZXN0QXNzZXJ0RGVzY3JpcHRvclBvbGljeShnZXROYW1lZERlc2NyaXB0b3IoJ1dzaDJPZjMnKSwgZ2V0UG9saWN5Rm9yRW52KCdwcm9kJyksIGtleXMsIG51bGwpO1xuXG4gICAgLy8gcHJvZCBvbmx5IGFsbG93cyBvdGhlciBkZXNjcmlwdG9ycyBpZiB0aGV5IGFyZSBzaWduZWQgYnkgdGhlIHVzZXIga2V5XG4gICAgdGVzdEFzc2VydERlc2NyaXB0b3JQb2xpY3koZ2V0TmFtZWREZXNjcmlwdG9yKCdXc2gyT2YyJyksIGdldFBvbGljeUZvckVudigncHJvZCcpLCBrZXlzLCBudWxsKTtcbiAgICB0ZXN0QXNzZXJ0RGVzY3JpcHRvclBvbGljeShcbiAgICAgIHN0cmlwU2lnbmF0dXJlKGdldE5hbWVkRGVzY3JpcHRvcignV3NoMk9mMicpKSxcbiAgICAgIGdldFBvbGljeUZvckVudigncHJvZCcpLFxuICAgICAga2V5cyxcbiAgICAgIG5ldyBEZXNjcmlwdG9yUG9saWN5VmFsaWRhdGlvbkVycm9yKGdldERlc2NyaXB0b3IoJ1dzaDJPZjInKSwgZ2V0UG9saWN5Rm9yRW52KCdwcm9kJykpXG4gICAgKTtcblxuICAgIC8vIHRlc3QgaXMgdmVyeSBwZXJtaXNzaXZlIGJ5IGRlZmF1bHRcbiAgICB0ZXN0QXNzZXJ0RGVzY3JpcHRvclBvbGljeShzdHJpcFNpZ25hdHVyZShnZXROYW1lZERlc2NyaXB0b3IoJ1dzaDJPZjInKSksIGdldFBvbGljeUZvckVudigndGVzdCcpLCBrZXlzLCBudWxsKTtcbiAgfSk7XG59KTtcbiJdfQ==