@bitgo-beta/utxo-core 1.0.1-alpha.78 → 1.0.1-alpha.79

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.
@@ -5,6 +5,7 @@ export * from './derive';
5
5
  export * from './Output';
6
6
  export * from './VirtualSize';
7
7
  export * from './fromFixedScriptWallet';
8
+ export * from './parse/PatternMatcher';
8
9
  /** @deprecated - import from @bitgo-beta/utxo-core directly instead */
9
10
  export * from '../Output';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/descriptor/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AAExC,uEAAuE;AACvE,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/descriptor/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AAEvC,uEAAuE;AACvE,cAAc,WAAW,CAAC"}
@@ -21,6 +21,7 @@ __exportStar(require("./derive"), exports);
21
21
  __exportStar(require("./Output"), exports);
22
22
  __exportStar(require("./VirtualSize"), exports);
23
23
  __exportStar(require("./fromFixedScriptWallet"), exports);
24
+ __exportStar(require("./parse/PatternMatcher"), exports);
24
25
  /** @deprecated - import from @bitgo-beta/utxo-core directly instead */
25
26
  __exportStar(require("../Output"), exports);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXVCO0FBQ3ZCLDRDQUEwQjtBQUMxQixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIsMERBQXdDO0FBRXhDLHVFQUF1RTtBQUN2RSw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BzYnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vRGVzY3JpcHRvck1hcCc7XG5leHBvcnQgKiBmcm9tICcuL2Rlcml2ZSc7XG5leHBvcnQgKiBmcm9tICcuL091dHB1dCc7XG5leHBvcnQgKiBmcm9tICcuL1ZpcnR1YWxTaXplJztcbmV4cG9ydCAqIGZyb20gJy4vZnJvbUZpeGVkU2NyaXB0V2FsbGV0JztcblxuLyoqIEBkZXByZWNhdGVkIC0gaW1wb3J0IGZyb20gQGJpdGdvLWJldGEvdXR4by1jb3JlIGRpcmVjdGx5IGluc3RlYWQgKi9cbmV4cG9ydCAqIGZyb20gJy4uL091dHB1dCc7XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXVCO0FBQ3ZCLDRDQUEwQjtBQUMxQixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIsMERBQXdDO0FBQ3hDLHlEQUF1QztBQUV2Qyx1RUFBdUU7QUFDdkUsNENBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wc2J0JztcbmV4cG9ydCAqIGZyb20gJy4vYWRkcmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL0Rlc2NyaXB0b3JNYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXJpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9PdXRwdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9WaXJ0dWFsU2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zyb21GaXhlZFNjcmlwdFdhbGxldCc7XG5leHBvcnQgKiBmcm9tICcuL3BhcnNlL1BhdHRlcm5NYXRjaGVyJztcblxuLyoqIEBkZXByZWNhdGVkIC0gaW1wb3J0IGZyb20gQGJpdGdvLWJldGEvdXR4by1jb3JlIGRpcmVjdGx5IGluc3RlYWQgKi9cbmV4cG9ydCAqIGZyb20gJy4uL091dHB1dCc7XG4iXX0=
@@ -0,0 +1,14 @@
1
+ export type PatternVar = {
2
+ $var: string;
3
+ };
4
+ export type Pattern = PatternVar | string | number | {
5
+ [key: string]: Pattern | Pattern[];
6
+ } | Pattern[];
7
+ export type ExtractedVars = Record<string, unknown>;
8
+ export declare class PatternMatcher {
9
+ match(node: unknown, pattern: Pattern): ExtractedVars | null;
10
+ private matchNode;
11
+ private isPatternVar;
12
+ private deepEqual;
13
+ }
14
+ //# sourceMappingURL=PatternMatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternMatcher.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/parse/PatternMatcher.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1C,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,CAAA;CAAE,GAAG,OAAO,EAAE,CAAC;AAExG,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,qBAAa,cAAc;IACzB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI;IAK5D,OAAO,CAAC,SAAS;IAwCjB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,SAAS;CAgBlB"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PatternMatcher = void 0;
4
+ class PatternMatcher {
5
+ match(node, pattern) {
6
+ const vars = {};
7
+ return this.matchNode(node, pattern, vars) ? vars : null;
8
+ }
9
+ matchNode(node, pattern, vars) {
10
+ // Variable placeholder
11
+ if (this.isPatternVar(pattern)) {
12
+ const varName = pattern.$var;
13
+ if (varName in vars) {
14
+ return this.deepEqual(vars[varName], node);
15
+ }
16
+ vars[varName] = node;
17
+ return true;
18
+ }
19
+ // Primitive values
20
+ if (typeof node !== typeof pattern)
21
+ return false;
22
+ if (typeof node === 'string' || typeof node === 'number') {
23
+ return node === pattern;
24
+ }
25
+ // Arrays
26
+ if (Array.isArray(node) && Array.isArray(pattern)) {
27
+ return node.length === pattern.length && node.every((item, i) => this.matchNode(item, pattern[i], vars));
28
+ }
29
+ // Objects
30
+ if (typeof node === 'object' && typeof pattern === 'object' && node !== null && pattern !== null) {
31
+ const nodeKeys = Object.keys(node);
32
+ const patternKeys = Object.keys(pattern);
33
+ return (nodeKeys.length === patternKeys.length &&
34
+ nodeKeys.every((key) => patternKeys.includes(key) &&
35
+ this.matchNode(node[key], pattern[key], vars)));
36
+ }
37
+ return false;
38
+ }
39
+ isPatternVar(value) {
40
+ return value !== null && typeof value === 'object' && '$var' in value;
41
+ }
42
+ deepEqual(a, b) {
43
+ if (a === b)
44
+ return true;
45
+ if (typeof a !== typeof b)
46
+ return false;
47
+ if (Array.isArray(a) && Array.isArray(b)) {
48
+ return a.length === b.length && a.every((item, i) => this.deepEqual(item, b[i]));
49
+ }
50
+ if (typeof a === 'object' && a !== null && typeof b === 'object' && b !== null) {
51
+ const keysA = Object.keys(a);
52
+ const keysB = Object.keys(b);
53
+ return (keysA.length === keysB.length &&
54
+ keysA.every((key) => this.deepEqual(a[key], b[key])));
55
+ }
56
+ return false;
57
+ }
58
+ }
59
+ exports.PatternMatcher = PatternMatcher;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGF0dGVybk1hdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci9wYXJzZS9QYXR0ZXJuTWF0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFhLGNBQWM7SUFDekIsS0FBSyxDQUFDLElBQWEsRUFBRSxPQUFnQjtRQUNuQyxNQUFNLElBQUksR0FBa0IsRUFBRSxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRCxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQWEsRUFBRSxPQUFnQixFQUFFLElBQW1CO1FBQ3BFLHVCQUF1QjtRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMvQixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELG1CQUFtQjtRQUNuQixJQUFJLE9BQU8sSUFBSSxLQUFLLE9BQU8sT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3pELE9BQU8sSUFBSSxLQUFLLE9BQU8sQ0FBQztRQUMxQixDQUFDO1FBRUQsU0FBUztRQUNULElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFFRCxVQUFVO1FBQ1YsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pHLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV6QyxPQUFPLENBQ0wsUUFBUSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsTUFBTTtnQkFDdEMsUUFBUSxDQUFDLEtBQUssQ0FDWixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ04sV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUUsSUFBZ0MsQ0FBQyxHQUFHLENBQUMsRUFBRyxPQUFtQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUMxRyxDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWM7UUFDakMsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDO0lBQ3hFLENBQUM7SUFFTyxTQUFTLENBQUMsQ0FBVSxFQUFFLENBQVU7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3pCLElBQUksT0FBTyxDQUFDLEtBQUssT0FBTyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDeEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQy9FLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQ0wsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTTtnQkFDN0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBRSxDQUE2QixDQUFDLEdBQUcsQ0FBQyxFQUFHLENBQTZCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUMvRyxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBbEVELHdDQWtFQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFBhdHRlcm4gbWF0Y2hpbmcgdHlwZXNcbmV4cG9ydCB0eXBlIFBhdHRlcm5WYXIgPSB7ICR2YXI6IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgUGF0dGVybiA9IFBhdHRlcm5WYXIgfCBzdHJpbmcgfCBudW1iZXIgfCB7IFtrZXk6IHN0cmluZ106IFBhdHRlcm4gfCBQYXR0ZXJuW10gfSB8IFBhdHRlcm5bXTtcblxuZXhwb3J0IHR5cGUgRXh0cmFjdGVkVmFycyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5leHBvcnQgY2xhc3MgUGF0dGVybk1hdGNoZXIge1xuICBtYXRjaChub2RlOiB1bmtub3duLCBwYXR0ZXJuOiBQYXR0ZXJuKTogRXh0cmFjdGVkVmFycyB8IG51bGwge1xuICAgIGNvbnN0IHZhcnM6IEV4dHJhY3RlZFZhcnMgPSB7fTtcbiAgICByZXR1cm4gdGhpcy5tYXRjaE5vZGUobm9kZSwgcGF0dGVybiwgdmFycykgPyB2YXJzIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgbWF0Y2hOb2RlKG5vZGU6IHVua25vd24sIHBhdHRlcm46IFBhdHRlcm4sIHZhcnM6IEV4dHJhY3RlZFZhcnMpOiBib29sZWFuIHtcbiAgICAvLyBWYXJpYWJsZSBwbGFjZWhvbGRlclxuICAgIGlmICh0aGlzLmlzUGF0dGVyblZhcihwYXR0ZXJuKSkge1xuICAgICAgY29uc3QgdmFyTmFtZSA9IHBhdHRlcm4uJHZhcjtcbiAgICAgIGlmICh2YXJOYW1lIGluIHZhcnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVlcEVxdWFsKHZhcnNbdmFyTmFtZV0sIG5vZGUpO1xuICAgICAgfVxuICAgICAgdmFyc1t2YXJOYW1lXSA9IG5vZGU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBQcmltaXRpdmUgdmFsdWVzXG4gICAgaWYgKHR5cGVvZiBub2RlICE9PSB0eXBlb2YgcGF0dGVybikgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0eXBlb2Ygbm9kZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gbm9kZSA9PT0gcGF0dGVybjtcbiAgICB9XG5cbiAgICAvLyBBcnJheXNcbiAgICBpZiAoQXJyYXkuaXNBcnJheShub2RlKSAmJiBBcnJheS5pc0FycmF5KHBhdHRlcm4pKSB7XG4gICAgICByZXR1cm4gbm9kZS5sZW5ndGggPT09IHBhdHRlcm4ubGVuZ3RoICYmIG5vZGUuZXZlcnkoKGl0ZW0sIGkpID0+IHRoaXMubWF0Y2hOb2RlKGl0ZW0sIHBhdHRlcm5baV0sIHZhcnMpKTtcbiAgICB9XG5cbiAgICAvLyBPYmplY3RzXG4gICAgaWYgKHR5cGVvZiBub2RlID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcGF0dGVybiA9PT0gJ29iamVjdCcgJiYgbm9kZSAhPT0gbnVsbCAmJiBwYXR0ZXJuICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlS2V5cyA9IE9iamVjdC5rZXlzKG5vZGUpO1xuICAgICAgY29uc3QgcGF0dGVybktleXMgPSBPYmplY3Qua2V5cyhwYXR0ZXJuKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgbm9kZUtleXMubGVuZ3RoID09PSBwYXR0ZXJuS2V5cy5sZW5ndGggJiZcbiAgICAgICAgbm9kZUtleXMuZXZlcnkoXG4gICAgICAgICAgKGtleSkgPT5cbiAgICAgICAgICAgIHBhdHRlcm5LZXlzLmluY2x1ZGVzKGtleSkgJiZcbiAgICAgICAgICAgIHRoaXMubWF0Y2hOb2RlKChub2RlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtrZXldLCAocGF0dGVybiBhcyBSZWNvcmQ8c3RyaW5nLCBQYXR0ZXJuPilba2V5XSwgdmFycylcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGlzUGF0dGVyblZhcih2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFBhdHRlcm5WYXIge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICckdmFyJyBpbiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZGVlcEVxdWFsKGE6IHVua25vd24sIGI6IHVua25vd24pOiBib29sZWFuIHtcbiAgICBpZiAoYSA9PT0gYikgcmV0dXJuIHRydWU7XG4gICAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGEpICYmIEFycmF5LmlzQXJyYXkoYikpIHtcbiAgICAgIHJldHVybiBhLmxlbmd0aCA9PT0gYi5sZW5ndGggJiYgYS5ldmVyeSgoaXRlbSwgaSkgPT4gdGhpcy5kZWVwRXF1YWwoaXRlbSwgYltpXSkpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGEgPT09ICdvYmplY3QnICYmIGEgIT09IG51bGwgJiYgdHlwZW9mIGIgPT09ICdvYmplY3QnICYmIGIgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGtleXNBID0gT2JqZWN0LmtleXMoYSk7XG4gICAgICBjb25zdCBrZXlzQiA9IE9iamVjdC5rZXlzKGIpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAga2V5c0EubGVuZ3RoID09PSBrZXlzQi5sZW5ndGggJiZcbiAgICAgICAga2V5c0EuZXZlcnkoKGtleSkgPT4gdGhpcy5kZWVwRXF1YWwoKGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2tleV0sIChiIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtrZXldKSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"psbt.utils.d.ts","sourceRoot":"","sources":["../../../../src/testutil/descriptor/psbt.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAIhD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAgB9D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAEnE"}
1
+ {"version":3,"file":"psbt.utils.d.ts","sourceRoot":"","sources":["../../../../src/testutil/descriptor/psbt.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAIhD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAiB9D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAEnE"}
@@ -10,6 +10,7 @@ function toPlainObjectFromPsbt(v) {
10
10
  return ((0, testutil_1.matchPath)(path, ['__CACHE']) ||
11
11
  (0, testutil_1.matchPath)(path, ['opts', 'network']) ||
12
12
  (0, testutil_1.matchPath)(path, ['data', 'globalMap', 'unsignedTx', 'tx', 'network']) ||
13
+ (0, testutil_1.matchPath)(path, ['tx', 'network']) ||
13
14
  (0, testutil_1.matchPath)(path, ['network']));
14
15
  },
15
16
  }, []);
@@ -17,4 +18,4 @@ function toPlainObjectFromPsbt(v) {
17
18
  function toPlainObjectFromTx(v) {
18
19
  return (0, testutil_1.toPlainObject)(v, {}, []);
19
20
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHNidC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL3BzYnQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzREFnQkM7QUFFRCxrREFFQztBQXRCRCxvREFBOEU7QUFFOUUsU0FBZ0IscUJBQXFCLENBQUMsQ0FBZTtJQUNuRCxPQUFPLElBQUEsd0JBQWEsRUFDbEIsQ0FBQyxFQUNEO1FBQ0UsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixXQUFXLENBQUMsSUFBbUI7WUFDN0IsT0FBTyxDQUNMLElBQUEsb0JBQVMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDcEMsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckUsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzdCLENBQUM7UUFDSixDQUFDO0tBQ0YsRUFDRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FBQyxDQUFzQjtJQUN4RCxPQUFPLElBQUEsd0JBQWEsRUFBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgbWF0Y2hQYXRoLCBQYXRoRWxlbWVudCwgdG9QbGFpbk9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3NyYy90ZXN0dXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1BsYWluT2JqZWN0RnJvbVBzYnQodjogdXR4b2xpYi5Qc2J0KTogdW5rbm93biB7XG4gIHJldHVybiB0b1BsYWluT2JqZWN0KFxuICAgIHYsXG4gICAge1xuICAgICAgcHJvcGVydHlEZXNjcmlwdG9yczogdHJ1ZSxcbiAgICAgIGlnbm9yZVBhdGhzKHBhdGg6IFBhdGhFbGVtZW50W10pIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBtYXRjaFBhdGgocGF0aCwgWydfX0NBQ0hFJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsnb3B0cycsICduZXR3b3JrJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsnZGF0YScsICdnbG9iYWxNYXAnLCAndW5zaWduZWRUeCcsICd0eCcsICduZXR3b3JrJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsnbmV0d29yayddKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9LFxuICAgIFtdXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1BsYWluT2JqZWN0RnJvbVR4KHY6IHV0eG9saWIuVHJhbnNhY3Rpb24pOiB1bmtub3duIHtcbiAgcmV0dXJuIHRvUGxhaW5PYmplY3Qodiwge30sIFtdKTtcbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHNidC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90ZXN0dXRpbC9kZXNjcmlwdG9yL3BzYnQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxzREFpQkM7QUFFRCxrREFFQztBQXZCRCxvREFBOEU7QUFFOUUsU0FBZ0IscUJBQXFCLENBQUMsQ0FBZTtJQUNuRCxPQUFPLElBQUEsd0JBQWEsRUFDbEIsQ0FBQyxFQUNEO1FBQ0UsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixXQUFXLENBQUMsSUFBbUI7WUFDN0IsT0FBTyxDQUNMLElBQUEsb0JBQVMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDcEMsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDckUsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDbEMsSUFBQSxvQkFBUyxFQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzdCLENBQUM7UUFDSixDQUFDO0tBQ0YsRUFDRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixtQkFBbUIsQ0FBQyxDQUFzQjtJQUN4RCxPQUFPLElBQUEsd0JBQWEsRUFBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgbWF0Y2hQYXRoLCBQYXRoRWxlbWVudCwgdG9QbGFpbk9iamVjdCB9IGZyb20gJy4uLy4uLy4uL3NyYy90ZXN0dXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1BsYWluT2JqZWN0RnJvbVBzYnQodjogdXR4b2xpYi5Qc2J0KTogdW5rbm93biB7XG4gIHJldHVybiB0b1BsYWluT2JqZWN0KFxuICAgIHYsXG4gICAge1xuICAgICAgcHJvcGVydHlEZXNjcmlwdG9yczogdHJ1ZSxcbiAgICAgIGlnbm9yZVBhdGhzKHBhdGg6IFBhdGhFbGVtZW50W10pIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBtYXRjaFBhdGgocGF0aCwgWydfX0NBQ0hFJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsnb3B0cycsICduZXR3b3JrJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsnZGF0YScsICdnbG9iYWxNYXAnLCAndW5zaWduZWRUeCcsICd0eCcsICduZXR3b3JrJ10pIHx8XG4gICAgICAgICAgbWF0Y2hQYXRoKHBhdGgsIFsndHgnLCAnbmV0d29yayddKSB8fFxuICAgICAgICAgIG1hdGNoUGF0aChwYXRoLCBbJ25ldHdvcmsnXSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICBbXVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9QbGFpbk9iamVjdEZyb21UeCh2OiB1dHhvbGliLlRyYW5zYWN0aW9uKTogdW5rbm93biB7XG4gIHJldHVybiB0b1BsYWluT2JqZWN0KHYsIHt9LCBbXSk7XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"toPlainObject.utils.d.ts","sourceRoot":"","sources":["../../../src/testutil/toPlainObject.utils.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAErE;AA0CD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAE,iBAAsB,EAAE,IAAI,GAAE,WAAW,EAAO,GAAG,OAAO,CAyCzG"}
1
+ {"version":3,"file":"toPlainObject.utils.d.ts","sourceRoot":"","sources":["../../../src/testutil/toPlainObject.utils.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAErE;AAyDD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,GAAE,iBAAsB,EAAE,IAAI,GAAE,WAAW,EAAO,GAAG,OAAO,CAyCzG"}
@@ -23,9 +23,23 @@ function toPlainEntries(key, value, opts, path) {
23
23
  }
24
24
  return [[key, toPlainObject(value, opts, [...path, key])]];
25
25
  }
26
- function toPlainObjectFromPropertyDescriptors(v, opts, path) {
26
+ function getAllDescriptors(v) {
27
+ if (v === null || typeof v !== 'object') {
28
+ return {};
29
+ }
27
30
  const descriptors = Object.getOwnPropertyDescriptors(v);
31
+ const proto = Object.getPrototypeOf(v);
32
+ if (proto) {
33
+ Object.assign(descriptors, getAllDescriptors(proto));
34
+ }
35
+ return descriptors;
36
+ }
37
+ function toPlainObjectFromPropertyDescriptors(v, opts, path) {
38
+ const descriptors = getAllDescriptors(v);
28
39
  return Object.fromEntries(Object.entries(descriptors).flatMap(([key, descriptor]) => {
40
+ if (typeof descriptor.value === 'function') {
41
+ return [];
42
+ }
29
43
  if (descriptor.value !== undefined) {
30
44
  return toPlainEntries(key, descriptor.value, opts, path);
31
45
  }
@@ -72,4 +86,4 @@ function toPlainObject(v, opts = {}, path = []) {
72
86
  }
73
87
  throw new Error(`unknown v ${typeof v}`);
74
88
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9QbGFpbk9iamVjdC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0dXRpbC90b1BsYWluT2JqZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsOEJBRUM7QUEwQ0Qsc0NBeUNDO0FBckZELFNBQWdCLFNBQVMsQ0FBQyxDQUFnQixFQUFFLENBQWdCO0lBQzFELE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLElBQXVCLEVBQUUsSUFBbUI7SUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FDckIsR0FBVyxFQUNYLEtBQWEsRUFDYixJQUF1QixFQUN2QixJQUFtQjtJQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENB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QUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQ3BGLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLG9DQUFvQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgVG9QbGFpbk9iamVjdE9wdHMgPSB7XG4gIHByb3BlcnR5RGVzY3JpcHRvcnM/OiBib29sZWFuO1xuICBza2lwVW5kZWZpbmVkVmFsdWVzPzogYm9vbGVhbjtcbiAgaWdub3JlUGF0aHM/OiBzdHJpbmdbXSB8ICgocGF0aDogUGF0aEVsZW1lbnRbXSkgPT4gYm9vbGVhbik7XG4gIGFwcGx5PzogKHY6IHVua25vd24sIHBhdGg6IFBhdGhFbGVtZW50W10pID0+IHVua25vd247XG59O1xuZXhwb3J0IHR5cGUgUGF0aEVsZW1lbnQgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFBhdGgoYTogUGF0aEVsZW1lbnRbXSwgYjogUGF0aEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoKGUsIGkpID0+IGUgPT09IGJbaV0pO1xufVxuXG5mdW5jdGlvbiBpbmNsdWRlUGF0aChvcHRzOiBUb1BsYWluT2JqZWN0T3B0cywgcGF0aDogUGF0aEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICBpZiAoIW9wdHMuaWdub3JlUGF0aHMpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdHMuaWdub3JlUGF0aHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gIW9wdHMuaWdub3JlUGF0aHMocGF0aCk7XG4gIH1cbiAgcmV0dXJuICFvcHRzLmlnbm9yZVBhdGhzLnNvbWUoKGlnbm9yZVBhdGgpID0+IG1hdGNoUGF0aChwYXRoLCBpZ25vcmVQYXRoLnNwbGl0KCcuJykpKTtcbn1cblxuZnVuY3Rpb24gdG9QbGFpbkVudHJpZXMoXG4gIGtleTogc3RyaW5nLFxuICB2YWx1ZTogc3RyaW5nLFxuICBvcHRzOiBUb1BsYWluT2JqZWN0T3B0cyxcbiAgcGF0aDogUGF0aEVsZW1lbnRbXVxuKTogW10gfCBbW3N0cmluZywgdW5rbm93bl1dIHtcbiAgaWYgKCFpbmNsdWRlUGF0aChvcHRzLCBbLi4ucGF0aCwga2V5XSkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgJiYgKG9wdHMuc2tpcFVuZGVmaW5lZFZhbHVlcyA/PyB0cnVlKSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gW1trZXksIHRvUGxhaW5PYmplY3QodmFsdWUsIG9wdHMsIFsuLi5wYXRoLCBrZXldKV1dO1xufVxuXG5mdW5jdGlvbiB0b1BsYWluT2JqZWN0RnJvbVByb3BlcnR5RGVzY3JpcHRvcnModjogdW5rbm93biwgb3B0czogVG9QbGFpbk9iamVjdE9wdHMsIHBhdGg6IFBhdGhFbGVtZW50W10pIHtcbiAgY29uc3QgZGVzY3JpcHRvcnMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh2KTtcbiAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhkZXNjcmlwdG9ycykuZmxhdE1hcCgoW2tleSwgZGVzY3JpcHRvcl0pID0+IHtcbiAgICAgIGlmIChkZXNjcmlwdG9yLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHRvUGxhaW5FbnRyaWVzKGtleSwgZGVzY3JpcHRvci52YWx1ZSwgb3B0cywgcGF0aCk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGRlc2NyaXB0b3IuZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB0b1BsYWluRW50cmllcyhrZXksIGRlc2NyaXB0b3IuZ2V0LmNhbGwodiksIG9wdHMsIHBhdGgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtdO1xuICAgIH0pXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1BsYWluT2JqZWN0KHY6IHVua25vd24sIG9wdHM6IFRvUGxhaW5PYmplY3RPcHRzID0ge30sIHBhdGg6IFBhdGhFbGVtZW50W10gPSBbXSk6IHVua25vd24ge1xuICBpZiAob3B0cy5hcHBseSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IG9wdHMuYXBwbHkodiwgcGF0aCk7XG4gICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAodHlwZW9mIHYpIHtcbiAgICBjYXNlICdzdHJpbmcnOlxuICAgIGNhc2UgJ251bWJlcic6XG4gICAgY2FzZSAnYm9vbGVhbic6XG4gICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgIHJldHVybiB2O1xuICAgIGNhc2UgJ2JpZ2ludCc6XG4gICAgICByZXR1cm4gdi50b1N0cmluZygpO1xuICAgIGNhc2UgJ2Z1bmN0aW9uJzpcbiAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmICh2ID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHYpKSB7XG4gICAgcmV0dXJuIHYudG9TdHJpbmcoJ2hleCcpO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHYpKSB7XG4gICAgcmV0dXJuIHYubWFwKChlLCBpKSA9PiB0b1BsYWluT2JqZWN0KGUsIG9wdHMsIFsuLi5wYXRoLCBpXSkpO1xuICB9XG4gIGlmICh0eXBlb2YgdiA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCByZXN1bHQgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh2KS5mbGF0TWFwKChba2V5LCB2YWx1ZV0pID0+IHRvUGxhaW5FbnRyaWVzKGtleSwgdmFsdWUsIG9wdHMsIHBhdGgpKVxuICAgICk7XG4gICAgaWYgKG9wdHMucHJvcGVydHlEZXNjcmlwdG9ycykge1xuICAgICAgT2JqZWN0LmFzc2lnbihyZXN1bHQsIHRvUGxhaW5PYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9ycyh2LCBvcHRzLCBwYXRoKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIHYgJHt0eXBlb2Ygdn1gKTtcbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9QbGFpbk9iamVjdC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0dXRpbC90b1BsYWluT2JqZWN0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsOEJBRUM7QUF5REQsc0NBeUNDO0FBcEdELFNBQWdCLFNBQVMsQ0FBQyxDQUFnQixFQUFFLENBQWdCO0lBQzFELE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLElBQXVCLEVBQUUsSUFBbUI7SUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FDckIsR0FBVyxFQUNYLEtBQWEsRUFDYixJQUF1QixFQUN2QixJQUFtQjtJQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENB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LE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUNwRixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFRvUGxhaW5PYmplY3RPcHRzID0ge1xuICBwcm9wZXJ0eURlc2NyaXB0b3JzPzogYm9vbGVhbjtcbiAgc2tpcFVuZGVmaW5lZFZhbHVlcz86IGJvb2xlYW47XG4gIGlnbm9yZVBhdGhzPzogc3RyaW5nW10gfCAoKHBhdGg6IFBhdGhFbGVtZW50W10pID0+IGJvb2xlYW4pO1xuICBhcHBseT86ICh2OiB1bmtub3duLCBwYXRoOiBQYXRoRWxlbWVudFtdKSA9PiB1bmtub3duO1xufTtcbmV4cG9ydCB0eXBlIFBhdGhFbGVtZW50ID0gc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hQYXRoKGE6IFBhdGhFbGVtZW50W10sIGI6IFBhdGhFbGVtZW50W10pOiBib29sZWFuIHtcbiAgcmV0dXJuIGEubGVuZ3RoID09PSBiLmxlbmd0aCAmJiBhLmV2ZXJ5KChlLCBpKSA9PiBlID09PSBiW2ldKTtcbn1cblxuZnVuY3Rpb24gaW5jbHVkZVBhdGgob3B0czogVG9QbGFpbk9iamVjdE9wdHMsIHBhdGg6IFBhdGhFbGVtZW50W10pOiBib29sZWFuIHtcbiAgaWYgKCFvcHRzLmlnbm9yZVBhdGhzKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKHR5cGVvZiBvcHRzLmlnbm9yZVBhdGhzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuICFvcHRzLmlnbm9yZVBhdGhzKHBhdGgpO1xuICB9XG4gIHJldHVybiAhb3B0cy5pZ25vcmVQYXRocy5zb21lKChpZ25vcmVQYXRoKSA9PiBtYXRjaFBhdGgocGF0aCwgaWdub3JlUGF0aC5zcGxpdCgnLicpKSk7XG59XG5cbmZ1bmN0aW9uIHRvUGxhaW5FbnRyaWVzKFxuICBrZXk6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyxcbiAgb3B0czogVG9QbGFpbk9iamVjdE9wdHMsXG4gIHBhdGg6IFBhdGhFbGVtZW50W11cbik6IFtdIHwgW1tzdHJpbmcsIHVua25vd25dXSB7XG4gIGlmICghaW5jbHVkZVBhdGgob3B0cywgWy4uLnBhdGgsIGtleV0pKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkICYmIChvcHRzLnNraXBVbmRlZmluZWRWYWx1ZXMgPz8gdHJ1ZSkpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgcmV0dXJuIFtba2V5LCB0b1BsYWluT2JqZWN0KHZhbHVlLCBvcHRzLCBbLi4ucGF0aCwga2V5XSldXTtcbn1cblxuZnVuY3Rpb24gZ2V0QWxsRGVzY3JpcHRvcnModjogdW5rbm93bik6IFByb3BlcnR5RGVzY3JpcHRvck1hcCB7XG4gIGlmICh2ID09PSBudWxsIHx8IHR5cGVvZiB2ICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiB7fTtcbiAgfVxuICBjb25zdCBkZXNjcmlwdG9yczogUHJvcGVydHlEZXNjcmlwdG9yTWFwID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModik7XG4gIGNvbnN0IHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHYpO1xuICBpZiAocHJvdG8pIHtcbiAgICBPYmplY3QuYXNzaWduKGRlc2NyaXB0b3JzLCBnZXRBbGxEZXNjcmlwdG9ycyhwcm90bykpO1xuICB9XG4gIHJldHVybiBkZXNjcmlwdG9ycztcbn1cblxuZnVuY3Rpb24gdG9QbGFpbk9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3JzKHY6IHVua25vd24sIG9wdHM6IFRvUGxhaW5PYmplY3RPcHRzLCBwYXRoOiBQYXRoRWxlbWVudFtdKSB7XG4gIGNvbnN0IGRlc2NyaXB0b3JzID0gZ2V0QWxsRGVzY3JpcHRvcnModik7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoZGVzY3JpcHRvcnMpLmZsYXRNYXAoKFtrZXksIGRlc2NyaXB0b3JdKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGRlc2NyaXB0b3IudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdG9QbGFpbkVudHJpZXMoa2V5LCBkZXNjcmlwdG9yLnZhbHVlLCBvcHRzLCBwYXRoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci5nZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIHRvUGxhaW5FbnRyaWVzKGtleSwgZGVzY3JpcHRvci5nZXQuY2FsbCh2KSwgb3B0cywgcGF0aCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGxhaW5PYmplY3QodjogdW5rbm93biwgb3B0czogVG9QbGFpbk9iamVjdE9wdHMgPSB7fSwgcGF0aDogUGF0aEVsZW1lbnRbXSA9IFtdKTogdW5rbm93biB7XG4gIGlmIChvcHRzLmFwcGx5KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gb3B0cy5hcHBseSh2LCBwYXRoKTtcbiAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoICh0eXBlb2Ygdikge1xuICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgY2FzZSAnbnVtYmVyJzpcbiAgICBjYXNlICdib29sZWFuJzpcbiAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgcmV0dXJuIHY7XG4gICAgY2FzZSAnYmlnaW50JzpcbiAgICAgIHJldHVybiB2LnRvU3RyaW5nKCk7XG4gICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKHYgPT09IG51bGwpIHtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIGlmIChCdWZmZXIuaXNCdWZmZXIodikpIHtcbiAgICByZXR1cm4gdi50b1N0cmluZygnaGV4Jyk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkodikpIHtcbiAgICByZXR1cm4gdi5tYXAoKGUsIGkpID0+IHRvUGxhaW5PYmplY3QoZSwgb3B0cywgWy4uLnBhdGgsIGldKSk7XG4gIH1cbiAgaWYgKHR5cGVvZiB2ID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHYpLmZsYXRNYXAoKFtrZXksIHZhbHVlXSkgPT4gdG9QbGFpbkVudHJpZXMoa2V5LCB2YWx1ZSwgb3B0cywgcGF0aCkpXG4gICAgKTtcbiAgICBpZiAob3B0cy5wcm9wZXJ0eURlc2NyaXB0b3JzKSB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgdG9QbGFpbk9iamVjdEZyb21Qcm9wZXJ0eURlc2NyaXB0b3JzKHYsIG9wdHMsIHBhdGgpKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gdiAke3R5cGVvZiB2fWApO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/utxo-core",
3
- "version": "1.0.1-alpha.78",
3
+ "version": "1.0.1-alpha.79",
4
4
  "description": "BitGo UTXO Core types",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -51,11 +51,11 @@
51
51
  ]
52
52
  },
53
53
  "dependencies": {
54
- "@bitgo-beta/unspents": "0.11.3-alpha.348",
55
- "@bitgo-beta/utxo-lib": "4.0.1-alpha.348",
54
+ "@bitgo-beta/unspents": "0.11.3-alpha.349",
55
+ "@bitgo-beta/utxo-lib": "4.0.1-alpha.349",
56
56
  "@bitgo/wasm-miniscript": "2.0.0-beta.7",
57
57
  "bip174": "npm:@bitgo-forks/bip174@3.1.0-master.4",
58
58
  "bitcoinjs-message": "npm:@bitgo-forks/bitcoinjs-message@1.0.0-master.3"
59
59
  },
60
- "gitHead": "ee50752b4b9656b4ee0415431f4c0fbe91074ade"
60
+ "gitHead": "fbb61c9a5c6f8517ed9458feeba48a0236f673e5"
61
61
  }