@bitgo/abstract-utxo 12.4.4 → 12.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/cjs/src/abstractUtxoCoin.d.ts +3 -0
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
  3. package/dist/cjs/src/abstractUtxoCoin.js +13 -6
  4. package/dist/cjs/src/impl/bch/bch.js +2 -2
  5. package/dist/cjs/src/impl/zec/address.d.ts +28 -0
  6. package/dist/cjs/src/impl/zec/address.d.ts.map +1 -0
  7. package/dist/cjs/src/impl/zec/address.js +55 -0
  8. package/dist/cjs/src/impl/zec/index.d.ts +3 -0
  9. package/dist/cjs/src/impl/zec/index.d.ts.map +1 -1
  10. package/dist/cjs/src/impl/zec/index.js +4 -1
  11. package/dist/cjs/src/impl/zec/recipients.d.ts +84 -0
  12. package/dist/cjs/src/impl/zec/recipients.d.ts.map +1 -0
  13. package/dist/cjs/src/impl/zec/recipients.js +94 -0
  14. package/dist/cjs/src/impl/zec/types.d.ts +5 -0
  15. package/dist/cjs/src/impl/zec/types.d.ts.map +1 -0
  16. package/dist/cjs/src/impl/zec/types.js +3 -0
  17. package/dist/cjs/src/impl/zec/zec.d.ts +12 -1
  18. package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -1
  19. package/dist/cjs/src/impl/zec/zec.js +14 -1
  20. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +4 -0
  21. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  22. package/dist/cjs/src/recovery/backupKeyRecovery.js +3 -1
  23. package/dist/cjs/src/transaction/descriptor/parse.d.ts +3 -3
  24. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
  25. package/dist/cjs/src/transaction/descriptor/parse.js +17 -17
  26. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts +2 -1
  27. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
  28. package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +4 -3
  29. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +3 -3
  30. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  31. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +7 -6
  32. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts +3 -1
  33. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -1
  34. package/dist/cjs/src/transaction/fixedScript/parseOutput.js +5 -4
  35. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +2 -1
  36. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
  37. package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +15 -14
  38. package/dist/cjs/src/transaction/parseTransaction.d.ts +2 -1
  39. package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -1
  40. package/dist/cjs/src/transaction/parseTransaction.js +5 -4
  41. package/dist/cjs/src/transaction/recipient.d.ts +31 -15
  42. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
  43. package/dist/cjs/src/transaction/recipient.js +69 -47
  44. package/dist/cjs/src/transaction/verifyTransaction.d.ts +2 -1
  45. package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -1
  46. package/dist/cjs/src/transaction/verifyTransaction.js +4 -3
  47. package/dist/cjs/test/unit/impl/zec/unit/address.d.ts +2 -0
  48. package/dist/cjs/test/unit/impl/zec/unit/address.d.ts.map +1 -0
  49. package/dist/cjs/test/unit/impl/zec/unit/address.js +66 -0
  50. package/dist/cjs/test/unit/impl/zec/unit/resolvePsbtRecipients.d.ts +2 -0
  51. package/dist/cjs/test/unit/impl/zec/unit/resolvePsbtRecipients.d.ts.map +1 -0
  52. package/dist/cjs/test/unit/impl/zec/unit/resolvePsbtRecipients.js +89 -0
  53. package/dist/cjs/test/unit/impl/zec/unit/unifiedRecipientPreference.d.ts +2 -0
  54. package/dist/cjs/test/unit/impl/zec/unit/unifiedRecipientPreference.d.ts.map +1 -0
  55. package/dist/cjs/test/unit/impl/zec/unit/unifiedRecipientPreference.js +57 -0
  56. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +14 -1
  57. package/dist/cjs/test/unit/transaction/descriptor/parse.js +4 -2
  58. package/dist/cjs/test/unit/transaction/descriptor/verifyTransactionQr.js +6 -5
  59. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  60. package/dist/esm/abstractUtxoCoin.d.ts +3 -0
  61. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
  62. package/dist/esm/abstractUtxoCoin.js +14 -7
  63. package/dist/esm/impl/bch/bch.js +3 -3
  64. package/dist/esm/impl/zec/address.d.ts +28 -0
  65. package/dist/esm/impl/zec/address.d.ts.map +1 -0
  66. package/dist/esm/impl/zec/address.js +50 -0
  67. package/dist/esm/impl/zec/index.d.ts +3 -0
  68. package/dist/esm/impl/zec/index.d.ts.map +1 -1
  69. package/dist/esm/impl/zec/index.js +4 -1
  70. package/dist/esm/impl/zec/recipients.d.ts +84 -0
  71. package/dist/esm/impl/zec/recipients.d.ts.map +1 -0
  72. package/dist/esm/impl/zec/recipients.js +90 -0
  73. package/dist/esm/impl/zec/types.d.ts +5 -0
  74. package/dist/esm/impl/zec/types.d.ts.map +1 -0
  75. package/dist/esm/impl/zec/types.js +2 -0
  76. package/dist/esm/impl/zec/zec.d.ts +12 -1
  77. package/dist/esm/impl/zec/zec.d.ts.map +1 -1
  78. package/dist/esm/impl/zec/zec.js +14 -1
  79. package/dist/esm/recovery/backupKeyRecovery.d.ts +4 -0
  80. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
  81. package/dist/esm/recovery/backupKeyRecovery.js +3 -1
  82. package/dist/esm/transaction/descriptor/parse.d.ts +3 -3
  83. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
  84. package/dist/esm/transaction/descriptor/parse.js +18 -18
  85. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +2 -1
  86. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
  87. package/dist/esm/transaction/descriptor/parseToAmountType.js +4 -3
  88. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +3 -3
  89. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  90. package/dist/esm/transaction/descriptor/verifyTransaction.js +7 -6
  91. package/dist/esm/transaction/fixedScript/parseOutput.d.ts +3 -1
  92. package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -1
  93. package/dist/esm/transaction/fixedScript/parseOutput.js +5 -4
  94. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +2 -1
  95. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
  96. package/dist/esm/transaction/fixedScript/parseTransaction.js +16 -15
  97. package/dist/esm/transaction/parseTransaction.d.ts +2 -1
  98. package/dist/esm/transaction/parseTransaction.d.ts.map +1 -1
  99. package/dist/esm/transaction/parseTransaction.js +5 -4
  100. package/dist/esm/transaction/recipient.d.ts +31 -15
  101. package/dist/esm/transaction/recipient.d.ts.map +1 -1
  102. package/dist/esm/transaction/recipient.js +68 -48
  103. package/dist/esm/transaction/verifyTransaction.d.ts +2 -1
  104. package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -1
  105. package/dist/esm/transaction/verifyTransaction.js +4 -3
  106. package/package.json +9 -9
@@ -1,32 +1,48 @@
1
1
  import { UtxoCoinName } from '../names';
2
- /**
3
- * Check if the address is a script recipient (starts with `scriptPubKey:`).
4
- * @param address
5
- */
2
+ /** Address/network-aware recipient conversion with overridable address decoding. */
3
+ export declare class AddressCodec {
4
+ readonly coinName: UtxoCoinName;
5
+ constructor(coinName: UtxoCoinName);
6
+ /** Check if the address is a script recipient (starts with `scriptPubKey:`). */
7
+ static isScriptRecipient(address: string): boolean;
8
+ /** Convert an extended address to either a regular address or a raw script. */
9
+ static fromExtendedAddressFormat(extendedAddress: string): {
10
+ address: string;
11
+ } | {
12
+ script: string;
13
+ };
14
+ static assertValidTransactionRecipient(output: {
15
+ amount: bigint | number | string;
16
+ address?: string;
17
+ }): void;
18
+ decode(address: string): Uint8Array;
19
+ fromExtendedAddressFormatToScript(extendedAddress: string): Buffer;
20
+ toOutputScript(v: string | {
21
+ address: string;
22
+ } | {
23
+ script: string;
24
+ }): Buffer;
25
+ toExtendedAddressFormat(script: Buffer): string;
26
+ }
27
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
6
28
  export declare function isScriptRecipient(address: string): boolean;
7
- /**
8
- * An extended address is one that encodes either a regular address or a hex encoded script with the prefix `scriptPubKey:`.
9
- * This function converts the extended address format to either a script or an address.
10
- * @param extendedAddress
11
- */
29
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
12
30
  export declare function fromExtendedAddressFormat(extendedAddress: string): {
13
31
  address: string;
14
32
  } | {
15
33
  script: string;
16
34
  };
35
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
17
36
  export declare function fromExtendedAddressFormatToScript(extendedAddress: string, coinName: UtxoCoinName): Buffer;
37
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
18
38
  export declare function toOutputScript(v: string | {
19
39
  address: string;
20
40
  } | {
21
41
  script: string;
22
42
  }, coinName: UtxoCoinName): Buffer;
23
- /**
24
- * Convert a script or address to the extended address format.
25
- * @param script
26
- * @param coinName
27
- * @returns if the script is an OP_RETURN script, then it will be prefixed with `scriptPubKey:`, otherwise it will be converted to an address.
28
- */
43
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
29
44
  export declare function toExtendedAddressFormat(script: Buffer, coinName: UtxoCoinName): string;
45
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
30
46
  export declare function assertValidTransactionRecipient(output: {
31
47
  amount: bigint | number | string;
32
48
  address?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../src/transaction/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAK3G;AAED,wBAAgB,iCAAiC,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAMzG;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAWnH;AAID;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAItF;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUpH"}
1
+ {"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../src/transaction/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,oFAAoF;AACpF,qBAAa,YAAY;aACK,QAAQ,EAAE,YAAY;gBAAtB,QAAQ,EAAE,YAAY;IAElD,gFAAgF;IAChF,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIlD,+EAA+E;IAC/E,MAAM,CAAC,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAOnG,MAAM,CAAC,+BAA+B,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAY5G,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAInC,iCAAiC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAQlE,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAa5E,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAKhD;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,oFAAoF;AACpF,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAE3G;AAED,oFAAoF;AACpF,wBAAgB,iCAAiC,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEzG;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEnH;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEtF;AAED,oFAAoF;AACpF,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAEpH"}
@@ -1,61 +1,81 @@
1
- import { address } from '@bitgo/wasm-utxo';
1
+ import { address as wasmAddress } from '@bitgo/wasm-utxo';
2
2
  const ScriptRecipientPrefix = 'scriptPubKey:';
3
- /**
4
- * Check if the address is a script recipient (starts with `scriptPubKey:`).
5
- * @param address
6
- */
3
+ const OP_RETURN = 0x6a;
4
+ /** Address/network-aware recipient conversion with overridable address decoding. */
5
+ export class AddressCodec {
6
+ constructor(coinName) {
7
+ this.coinName = coinName;
8
+ }
9
+ /** Check if the address is a script recipient (starts with `scriptPubKey:`). */
10
+ static isScriptRecipient(address) {
11
+ return address.toLowerCase().startsWith(ScriptRecipientPrefix.toLowerCase());
12
+ }
13
+ /** Convert an extended address to either a regular address or a raw script. */
14
+ static fromExtendedAddressFormat(extendedAddress) {
15
+ if (AddressCodec.isScriptRecipient(extendedAddress)) {
16
+ return { script: extendedAddress.slice(ScriptRecipientPrefix.length) };
17
+ }
18
+ return { address: extendedAddress };
19
+ }
20
+ static assertValidTransactionRecipient(output) {
21
+ // In the case that this is an OP_RETURN output or another non-encodable scriptPubkey, we dont have an address.
22
+ // We will verify that the amount is zero, and if it isnt then we will throw an error.
23
+ if (!output.address || AddressCodec.isScriptRecipient(output.address)) {
24
+ if (output.amount.toString() !== '0') {
25
+ throw new Error(`Only zero amounts allowed for non-encodeable scriptPubkeys: amount: ${output.amount}, address: ${output.address}`);
26
+ }
27
+ }
28
+ }
29
+ decode(address) {
30
+ return wasmAddress.toOutputScriptWithCoin(address, this.coinName);
31
+ }
32
+ fromExtendedAddressFormatToScript(extendedAddress) {
33
+ const result = AddressCodec.fromExtendedAddressFormat(extendedAddress);
34
+ if ('script' in result) {
35
+ return Buffer.from(result.script, 'hex');
36
+ }
37
+ return Buffer.from(this.decode(result.address));
38
+ }
39
+ toOutputScript(v) {
40
+ if (typeof v === 'string') {
41
+ return this.fromExtendedAddressFormatToScript(v);
42
+ }
43
+ if ('script' in v) {
44
+ return Buffer.from(v.script, 'hex');
45
+ }
46
+ if ('address' in v) {
47
+ return this.fromExtendedAddressFormatToScript(v.address);
48
+ }
49
+ throw new Error('invalid input');
50
+ }
51
+ toExtendedAddressFormat(script) {
52
+ return script[0] === OP_RETURN
53
+ ? `${ScriptRecipientPrefix}${script.toString('hex')}`
54
+ : wasmAddress.fromOutputScriptWithCoin(script, this.coinName);
55
+ }
56
+ }
57
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
7
58
  export function isScriptRecipient(address) {
8
- return address.toLowerCase().startsWith(ScriptRecipientPrefix.toLowerCase());
59
+ return AddressCodec.isScriptRecipient(address);
9
60
  }
10
- /**
11
- * An extended address is one that encodes either a regular address or a hex encoded script with the prefix `scriptPubKey:`.
12
- * This function converts the extended address format to either a script or an address.
13
- * @param extendedAddress
14
- */
61
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
15
62
  export function fromExtendedAddressFormat(extendedAddress) {
16
- if (isScriptRecipient(extendedAddress)) {
17
- return { script: extendedAddress.slice(ScriptRecipientPrefix.length) };
18
- }
19
- return { address: extendedAddress };
63
+ return AddressCodec.fromExtendedAddressFormat(extendedAddress);
20
64
  }
65
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
21
66
  export function fromExtendedAddressFormatToScript(extendedAddress, coinName) {
22
- const result = fromExtendedAddressFormat(extendedAddress);
23
- if ('script' in result) {
24
- return Buffer.from(result.script, 'hex');
25
- }
26
- return Buffer.from(address.toOutputScriptWithCoin(result.address, coinName));
67
+ return new AddressCodec(coinName).fromExtendedAddressFormatToScript(extendedAddress);
27
68
  }
69
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
28
70
  export function toOutputScript(v, coinName) {
29
- if (typeof v === 'string') {
30
- return fromExtendedAddressFormatToScript(v, coinName);
31
- }
32
- if ('script' in v) {
33
- return Buffer.from(v.script, 'hex');
34
- }
35
- if ('address' in v) {
36
- return fromExtendedAddressFormatToScript(v.address, coinName);
37
- }
38
- throw new Error('invalid input');
71
+ return new AddressCodec(coinName).toOutputScript(v);
39
72
  }
40
- const OP_RETURN = 0x6a;
41
- /**
42
- * Convert a script or address to the extended address format.
43
- * @param script
44
- * @param coinName
45
- * @returns if the script is an OP_RETURN script, then it will be prefixed with `scriptPubKey:`, otherwise it will be converted to an address.
46
- */
73
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
47
74
  export function toExtendedAddressFormat(script, coinName) {
48
- return script[0] === OP_RETURN
49
- ? `${ScriptRecipientPrefix}${script.toString('hex')}`
50
- : address.fromOutputScriptWithCoin(script, coinName);
75
+ return new AddressCodec(coinName).toExtendedAddressFormat(script);
51
76
  }
77
+ /** Legacy helper retained for consumers that use the module-level recipient API. */
52
78
  export function assertValidTransactionRecipient(output) {
53
- // In the case that this is an OP_RETURN output or another non-encodable scriptPubkey, we dont have an address.
54
- // We will verify that the amount is zero, and if it isnt then we will throw an error.
55
- if (!output.address || isScriptRecipient(output.address)) {
56
- if (output.amount.toString() !== '0') {
57
- throw new Error(`Only zero amounts allowed for non-encodeable scriptPubkeys: amount: ${output.amount}, address: ${output.address}`);
58
- }
59
- }
79
+ AddressCodec.assertValidTransactionRecipient(output);
60
80
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJM0MsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUM7QUFFOUM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQWU7SUFDL0MsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDL0UsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsZUFBdUI7SUFDL0QsSUFBSSxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsZUFBdUIsRUFBRSxRQUFzQjtJQUMvRixNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRCxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsQ0FBb0QsRUFBRSxRQUFzQjtJQUN6RyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLE9BQU8saUNBQWlDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBSSxTQUFTLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkIsT0FBTyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFFdkI7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBYyxFQUFFLFFBQXNCO0lBQzVFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVM7UUFDNUIsQ0FBQyxDQUFDLEdBQUcscUJBQXFCLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNyRCxDQUFDLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUFDLE1BQThEO0lBQzVHLCtHQUErRztJQUMvRyxzRkFBc0Y7SUFDdEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDekQsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUVBQXVFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUNuSCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5cbmNvbnN0IFNjcmlwdFJlY2lwaWVudFByZWZpeCA9ICdzY3JpcHRQdWJLZXk6JztcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgYWRkcmVzcyBpcyBhIHNjcmlwdCByZWNpcGllbnQgKHN0YXJ0cyB3aXRoIGBzY3JpcHRQdWJLZXk6YCkuXG4gKiBAcGFyYW0gYWRkcmVzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTY3JpcHRSZWNpcGllbnQoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBhZGRyZXNzLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChTY3JpcHRSZWNpcGllbnRQcmVmaXgudG9Mb3dlckNhc2UoKSk7XG59XG5cbi8qKlxuICogQW4gZXh0ZW5kZWQgYWRkcmVzcyBpcyBvbmUgdGhhdCBlbmNvZGVzIGVpdGhlciBhIHJlZ3VsYXIgYWRkcmVzcyBvciBhIGhleCBlbmNvZGVkIHNjcmlwdCB3aXRoIHRoZSBwcmVmaXggYHNjcmlwdFB1YktleTpgLlxuICogVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgZXh0ZW5kZWQgYWRkcmVzcyBmb3JtYXQgdG8gZWl0aGVyIGEgc2NyaXB0IG9yIGFuIGFkZHJlc3MuXG4gKiBAcGFyYW0gZXh0ZW5kZWRBZGRyZXNzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KGV4dGVuZGVkQWRkcmVzczogc3RyaW5nKTogeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSB7XG4gIGlmIChpc1NjcmlwdFJlY2lwaWVudChleHRlbmRlZEFkZHJlc3MpKSB7XG4gICAgcmV0dXJuIHsgc2NyaXB0OiBleHRlbmRlZEFkZHJlc3Muc2xpY2UoU2NyaXB0UmVjaXBpZW50UHJlZml4Lmxlbmd0aCkgfTtcbiAgfVxuICByZXR1cm4geyBhZGRyZXNzOiBleHRlbmRlZEFkZHJlc3MgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdChleHRlbmRlZEFkZHJlc3M6IHN0cmluZywgY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IEJ1ZmZlciB7XG4gIGNvbnN0IHJlc3VsdCA9IGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXQoZXh0ZW5kZWRBZGRyZXNzKTtcbiAgaWYgKCdzY3JpcHQnIGluIHJlc3VsdCkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShyZXN1bHQuc2NyaXB0LCAnaGV4Jyk7XG4gIH1cbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGFkZHJlc3MudG9PdXRwdXRTY3JpcHRXaXRoQ29pbihyZXN1bHQuYWRkcmVzcywgY29pbk5hbWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvT3V0cHV0U2NyaXB0KHY6IHN0cmluZyB8IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCdWZmZXIge1xuICBpZiAodHlwZW9mIHYgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdCh2LCBjb2luTmFtZSk7XG4gIH1cbiAgaWYgKCdzY3JpcHQnIGluIHYpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20odi5zY3JpcHQsICdoZXgnKTtcbiAgfVxuICBpZiAoJ2FkZHJlc3MnIGluIHYpIHtcbiAgICByZXR1cm4gZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KHYuYWRkcmVzcywgY29pbk5hbWUpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBpbnB1dCcpO1xufVxuXG5jb25zdCBPUF9SRVRVUk4gPSAweDZhO1xuXG4vKipcbiAqIENvbnZlcnQgYSBzY3JpcHQgb3IgYWRkcmVzcyB0byB0aGUgZXh0ZW5kZWQgYWRkcmVzcyBmb3JtYXQuXG4gKiBAcGFyYW0gc2NyaXB0XG4gKiBAcGFyYW0gY29pbk5hbWVcbiAqIEByZXR1cm5zIGlmIHRoZSBzY3JpcHQgaXMgYW4gT1BfUkVUVVJOIHNjcmlwdCwgdGhlbiBpdCB3aWxsIGJlIHByZWZpeGVkIHdpdGggYHNjcmlwdFB1YktleTpgLCBvdGhlcndpc2UgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gYWRkcmVzcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdDogQnVmZmVyLCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogc3RyaW5nIHtcbiAgcmV0dXJuIHNjcmlwdFswXSA9PT0gT1BfUkVUVVJOXG4gICAgPyBgJHtTY3JpcHRSZWNpcGllbnRQcmVmaXh9JHtzY3JpcHQudG9TdHJpbmcoJ2hleCcpfWBcbiAgICA6IGFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdFdpdGhDb2luKHNjcmlwdCwgY29pbk5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRUcmFuc2FjdGlvblJlY2lwaWVudChvdXRwdXQ6IHsgYW1vdW50OiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmc7IGFkZHJlc3M/OiBzdHJpbmcgfSk6IHZvaWQge1xuICAvLyBJbiB0aGUgY2FzZSB0aGF0IHRoaXMgaXMgYW4gT1BfUkVUVVJOIG91dHB1dCBvciBhbm90aGVyIG5vbi1lbmNvZGFibGUgc2NyaXB0UHVia2V5LCB3ZSBkb250IGhhdmUgYW4gYWRkcmVzcy5cbiAgLy8gV2Ugd2lsbCB2ZXJpZnkgdGhhdCB0aGUgYW1vdW50IGlzIHplcm8sIGFuZCBpZiBpdCBpc250IHRoZW4gd2Ugd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgaWYgKCFvdXRwdXQuYWRkcmVzcyB8fCBpc1NjcmlwdFJlY2lwaWVudChvdXRwdXQuYWRkcmVzcykpIHtcbiAgICBpZiAob3V0cHV0LmFtb3VudC50b1N0cmluZygpICE9PSAnMCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE9ubHkgemVybyBhbW91bnRzIGFsbG93ZWQgZm9yIG5vbi1lbmNvZGVhYmxlIHNjcmlwdFB1YmtleXM6IGFtb3VudDogJHtvdXRwdXQuYW1vdW50fSwgYWRkcmVzczogJHtvdXRwdXQuYWRkcmVzc31gXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTFELE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBQzlDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQztBQUV2QixvRkFBb0Y7QUFDcEYsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBNEIsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztJQUFHLENBQUM7SUFFdEQsZ0ZBQWdGO0lBQ2hGLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFlO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsTUFBTSxDQUFDLHlCQUF5QixDQUFDLGVBQXVCO1FBQ3RELElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxNQUE4RDtRQUNuRywrR0FBK0c7UUFDL0csc0ZBQXNGO1FBQ3RGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN0RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssR0FB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Q0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyBhcyB3YXNtQWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi9uYW1lcyc7XG5cbmNvbnN0IFNjcmlwdFJlY2lwaWVudFByZWZpeCA9ICdzY3JpcHRQdWJLZXk6JztcbmNvbnN0IE9QX1JFVFVSTiA9IDB4NmE7XG5cbi8qKiBBZGRyZXNzL25ldHdvcmstYXdhcmUgcmVjaXBpZW50IGNvbnZlcnNpb24gd2l0aCBvdmVycmlkYWJsZSBhZGRyZXNzIGRlY29kaW5nLiAqL1xuZXhwb3J0IGNsYXNzIEFkZHJlc3NDb2RlYyB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjb2luTmFtZTogVXR4b0NvaW5OYW1lKSB7fVxuXG4gIC8qKiBDaGVjayBpZiB0aGUgYWRkcmVzcyBpcyBhIHNjcmlwdCByZWNpcGllbnQgKHN0YXJ0cyB3aXRoIGBzY3JpcHRQdWJLZXk6YCkuICovXG4gIHN0YXRpYyBpc1NjcmlwdFJlY2lwaWVudChhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYWRkcmVzcy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoU2NyaXB0UmVjaXBpZW50UHJlZml4LnRvTG93ZXJDYXNlKCkpO1xuICB9XG5cbiAgLyoqIENvbnZlcnQgYW4gZXh0ZW5kZWQgYWRkcmVzcyB0byBlaXRoZXIgYSByZWd1bGFyIGFkZHJlc3Mgb3IgYSByYXcgc2NyaXB0LiAqL1xuICBzdGF0aWMgZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdChleHRlbmRlZEFkZHJlc3M6IHN0cmluZyk6IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0ge1xuICAgIGlmIChBZGRyZXNzQ29kZWMuaXNTY3JpcHRSZWNpcGllbnQoZXh0ZW5kZWRBZGRyZXNzKSkge1xuICAgICAgcmV0dXJuIHsgc2NyaXB0OiBleHRlbmRlZEFkZHJlc3Muc2xpY2UoU2NyaXB0UmVjaXBpZW50UHJlZml4Lmxlbmd0aCkgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYWRkcmVzczogZXh0ZW5kZWRBZGRyZXNzIH07XG4gIH1cblxuICBzdGF0aWMgYXNzZXJ0VmFsaWRUcmFuc2FjdGlvblJlY2lwaWVudChvdXRwdXQ6IHsgYW1vdW50OiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmc7IGFkZHJlc3M/OiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIC8vIEluIHRoZSBjYXNlIHRoYXQgdGhpcyBpcyBhbiBPUF9SRVRVUk4gb3V0cHV0IG9yIGFub3RoZXIgbm9uLWVuY29kYWJsZSBzY3JpcHRQdWJrZXksIHdlIGRvbnQgaGF2ZSBhbiBhZGRyZXNzLlxuICAgIC8vIFdlIHdpbGwgdmVyaWZ5IHRoYXQgdGhlIGFtb3VudCBpcyB6ZXJvLCBhbmQgaWYgaXQgaXNudCB0aGVuIHdlIHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gICAgaWYgKCFvdXRwdXQuYWRkcmVzcyB8fCBBZGRyZXNzQ29kZWMuaXNTY3JpcHRSZWNpcGllbnQob3V0cHV0LmFkZHJlc3MpKSB7XG4gICAgICBpZiAob3V0cHV0LmFtb3VudC50b1N0cmluZygpICE9PSAnMCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBPbmx5IHplcm8gYW1vdW50cyBhbGxvd2VkIGZvciBub24tZW5jb2RlYWJsZSBzY3JpcHRQdWJrZXlzOiBhbW91bnQ6ICR7b3V0cHV0LmFtb3VudH0sIGFkZHJlc3M6ICR7b3V0cHV0LmFkZHJlc3N9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRlY29kZShhZGRyZXNzOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gd2FzbUFkZHJlc3MudG9PdXRwdXRTY3JpcHRXaXRoQ29pbihhZGRyZXNzLCB0aGlzLmNvaW5OYW1lKTtcbiAgfVxuXG4gIGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdChleHRlbmRlZEFkZHJlc3M6IHN0cmluZyk6IEJ1ZmZlciB7XG4gICAgY29uc3QgcmVzdWx0ID0gQWRkcmVzc0NvZGVjLmZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXQoZXh0ZW5kZWRBZGRyZXNzKTtcbiAgICBpZiAoJ3NjcmlwdCcgaW4gcmVzdWx0KSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20ocmVzdWx0LnNjcmlwdCwgJ2hleCcpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5kZWNvZGUocmVzdWx0LmFkZHJlc3MpKTtcbiAgfVxuXG4gIHRvT3V0cHV0U2NyaXB0KHY6IHN0cmluZyB8IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0pOiBCdWZmZXIge1xuICAgIGlmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLmZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdCh2KTtcbiAgICB9XG4gICAgaWYgKCdzY3JpcHQnIGluIHYpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbSh2LnNjcmlwdCwgJ2hleCcpO1xuICAgIH1cbiAgICBpZiAoJ2FkZHJlc3MnIGluIHYpIHtcbiAgICAgIHJldHVybiB0aGlzLmZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdCh2LmFkZHJlc3MpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgaW5wdXQnKTtcbiAgfVxuXG4gIHRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdDogQnVmZmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc2NyaXB0WzBdID09PSBPUF9SRVRVUk5cbiAgICAgID8gYCR7U2NyaXB0UmVjaXBpZW50UHJlZml4fSR7c2NyaXB0LnRvU3RyaW5nKCdoZXgnKX1gXG4gICAgICA6IHdhc21BZGRyZXNzLmZyb21PdXRwdXRTY3JpcHRXaXRoQ29pbihzY3JpcHQsIHRoaXMuY29pbk5hbWUpO1xuICB9XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2NyaXB0UmVjaXBpZW50KGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQWRkcmVzc0NvZGVjLmlzU2NyaXB0UmVjaXBpZW50KGFkZHJlc3MpO1xufVxuXG4vKiogTGVnYWN5IGhlbHBlciByZXRhaW5lZCBmb3IgY29uc3VtZXJzIHRoYXQgdXNlIHRoZSBtb2R1bGUtbGV2ZWwgcmVjaXBpZW50IEFQSS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KGV4dGVuZGVkQWRkcmVzczogc3RyaW5nKTogeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSB7XG4gIHJldHVybiBBZGRyZXNzQ29kZWMuZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdChleHRlbmRlZEFkZHJlc3MpO1xufVxuXG4vKiogTGVnYWN5IGhlbHBlciByZXRhaW5lZCBmb3IgY29uc3VtZXJzIHRoYXQgdXNlIHRoZSBtb2R1bGUtbGV2ZWwgcmVjaXBpZW50IEFQSS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0VG9TY3JpcHQoZXh0ZW5kZWRBZGRyZXNzOiBzdHJpbmcsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCdWZmZXIge1xuICByZXR1cm4gbmV3IEFkZHJlc3NDb2RlYyhjb2luTmFtZSkuZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KGV4dGVuZGVkQWRkcmVzcyk7XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvT3V0cHV0U2NyaXB0KHY6IHN0cmluZyB8IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0sIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBCdWZmZXIge1xuICByZXR1cm4gbmV3IEFkZHJlc3NDb2RlYyhjb2luTmFtZSkudG9PdXRwdXRTY3JpcHQodik7XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdDogQnVmZmVyLCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5ldyBBZGRyZXNzQ29kZWMoY29pbk5hbWUpLnRvRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KHNjcmlwdCk7XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkVHJhbnNhY3Rpb25SZWNpcGllbnQob3V0cHV0OiB7IGFtb3VudDogYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nOyBhZGRyZXNzPzogc3RyaW5nIH0pOiB2b2lkIHtcbiAgQWRkcmVzc0NvZGVjLmFzc2VydFZhbGlkVHJhbnNhY3Rpb25SZWNpcGllbnQob3V0cHV0KTtcbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { BitGoBase } from '@bitgo/sdk-core';
2
2
  import { AbstractUtxoCoin, VerifyTransactionOptions } from '../abstractUtxoCoin';
3
- export declare function verifyTransaction<TNumber extends bigint | number>(coin: AbstractUtxoCoin, bitgo: BitGoBase, params: VerifyTransactionOptions<TNumber>): Promise<boolean>;
3
+ import { AddressCodec } from './recipient';
4
+ export declare function verifyTransaction<TNumber extends bigint | number>(coin: AbstractUtxoCoin, bitgo: BitGoBase, params: VerifyTransactionOptions<TNumber>, addressCodec?: AddressCodec): Promise<boolean>;
4
5
  //# sourceMappingURL=verifyTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifyTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/verifyTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAOjF,wBAAsB,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACrE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC,GACxC,OAAO,CAAC,OAAO,CAAC,CAWlB"}
1
+ {"version":3,"file":"verifyTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/verifyTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAIjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,wBAAsB,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACrE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC,EACzC,YAAY,GAAE,YAA0C,GACvD,OAAO,CAAC,OAAO,CAAC,CAYlB"}
@@ -1,14 +1,15 @@
1
1
  import { getDescriptorMapFromWallet, isDescriptorWallet, getPolicyForEnv } from '../descriptor';
2
2
  import { fetchKeychains, toBip32Triple } from '../keychains';
3
+ import { AddressCodec } from './recipient';
3
4
  import * as fixedScript from './fixedScript';
4
5
  import * as descriptor from './descriptor';
5
- export async function verifyTransaction(coin, bitgo, params) {
6
+ export async function verifyTransaction(coin, bitgo, params, addressCodec = new AddressCodec(coin.name)) {
6
7
  if (isDescriptorWallet(params.wallet)) {
7
8
  const walletKeys = toBip32Triple(await fetchKeychains(coin, params.wallet));
8
- return descriptor.verifyTransaction(coin, params, getDescriptorMapFromWallet(params.wallet, walletKeys, getPolicyForEnv(bitgo.env)));
9
+ return descriptor.verifyTransaction(coin, params, getDescriptorMapFromWallet(params.wallet, walletKeys, getPolicyForEnv(bitgo.env)), addressCodec);
9
10
  }
10
11
  else {
11
12
  return fixedScript.verifyTransaction(coin, bitgo, params);
12
13
  }
13
14
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5VHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vdmVyaWZ5VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLEtBQUssV0FBVyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEtBQUssVUFBVSxNQUFNLGNBQWMsQ0FBQztBQUUzQyxNQUFNLENBQUMsS0FBSyxVQUFVLGlCQUFpQixDQUNyQyxJQUFzQixFQUN0QixLQUFnQixFQUNoQixNQUF5QztJQUV6QyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDNUUsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQ2pDLElBQUksRUFDSixNQUFNLEVBQ04sMEJBQTBCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNsRixDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCwgaXNEZXNjcmlwdG9yV2FsbGV0LCBnZXRQb2xpY3lGb3JFbnYgfSBmcm9tICcuLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGZldGNoS2V5Y2hhaW5zLCB0b0JpcDMyVHJpcGxlIH0gZnJvbSAnLi4va2V5Y2hhaW5zJztcblxuaW1wb3J0ICogYXMgZml4ZWRTY3JpcHQgZnJvbSAnLi9maXhlZFNjcmlwdCc7XG5pbXBvcnQgKiBhcyBkZXNjcmlwdG9yIGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgYmlnaW50IHwgbnVtYmVyPihcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgcGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj5cbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoaXNEZXNjcmlwdG9yV2FsbGV0KHBhcmFtcy53YWxsZXQpKSB7XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgcGFyYW1zLndhbGxldCkpO1xuICAgIHJldHVybiBkZXNjcmlwdG9yLnZlcmlmeVRyYW5zYWN0aW9uKFxuICAgICAgY29pbixcbiAgICAgIHBhcmFtcyxcbiAgICAgIGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHBhcmFtcy53YWxsZXQsIHdhbGxldEtleXMsIGdldFBvbGljeUZvckVudihiaXRnby5lbnYpKVxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZpeGVkU2NyaXB0LnZlcmlmeVRyYW5zYWN0aW9uKGNvaW4sIGJpdGdvLCBwYXJhbXMpO1xuICB9XG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5VHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vdmVyaWZ5VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxXQUFXLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLElBQXNCLEVBQ3RCLEtBQWdCLEVBQ2hCLE1BQXlDLEVBQ3pDLGVBQTZCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFFeEQsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sVUFBVSxDQUFDLGlCQUFpQixDQUNqQyxJQUFJLEVBQ0osTUFBTSxFQUNOLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDakYsWUFBWSxDQUNiLENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFV0eG9Db2luLCBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0LCBpc0Rlc2NyaXB0b3JXYWxsZXQsIGdldFBvbGljeUZvckVudiB9IGZyb20gJy4uL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgZmV0Y2hLZXljaGFpbnMsIHRvQmlwMzJUcmlwbGUgfSBmcm9tICcuLi9rZXljaGFpbnMnO1xuXG5pbXBvcnQgeyBBZGRyZXNzQ29kZWMgfSBmcm9tICcuL3JlY2lwaWVudCc7XG5pbXBvcnQgKiBhcyBmaXhlZFNjcmlwdCBmcm9tICcuL2ZpeGVkU2NyaXB0JztcbmltcG9ydCAqIGFzIGRlc2NyaXB0b3IgZnJvbSAnLi9kZXNjcmlwdG9yJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeVRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBiaWdpbnQgfCBudW1iZXI+KFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICBiaXRnbzogQml0R29CYXNlLFxuICBwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPixcbiAgYWRkcmVzc0NvZGVjOiBBZGRyZXNzQ29kZWMgPSBuZXcgQWRkcmVzc0NvZGVjKGNvaW4ubmFtZSlcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoaXNEZXNjcmlwdG9yV2FsbGV0KHBhcmFtcy53YWxsZXQpKSB7XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgcGFyYW1zLndhbGxldCkpO1xuICAgIHJldHVybiBkZXNjcmlwdG9yLnZlcmlmeVRyYW5zYWN0aW9uKFxuICAgICAgY29pbixcbiAgICAgIHBhcmFtcyxcbiAgICAgIGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHBhcmFtcy53YWxsZXQsIHdhbGxldEtleXMsIGdldFBvbGljeUZvckVudihiaXRnby5lbnYpKSxcbiAgICAgIGFkZHJlc3NDb2RlY1xuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZpeGVkU2NyaXB0LnZlcmlmeVRyYW5zYWN0aW9uKGNvaW4sIGJpdGdvLCBwYXJhbXMpO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/abstract-utxo",
3
- "version": "12.4.4",
3
+ "version": "12.6.0",
4
4
  "description": "BitGo SDK coin library for UTXO base implementation",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -61,12 +61,12 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@bitgo/blockapis": "^1.13.11",
64
- "@bitgo/sdk-api": "^2.5.2",
65
- "@bitgo/sdk-core": "^38.13.0",
66
- "@bitgo/utxo-core": "^1.41.3",
67
- "@bitgo/utxo-descriptors": "^1.5.3",
68
- "@bitgo/utxo-ord": "^1.34.3",
69
- "@bitgo/wasm-utxo": "^5.0.0",
64
+ "@bitgo/sdk-api": "^2.5.4",
65
+ "@bitgo/sdk-core": "^38.15.0",
66
+ "@bitgo/utxo-core": "^1.41.4",
67
+ "@bitgo/utxo-descriptors": "^2.0.0",
68
+ "@bitgo/utxo-ord": "^1.34.4",
69
+ "@bitgo/wasm-utxo": "^5.3.0",
70
70
  "@types/lodash": "^4.14.121",
71
71
  "@types/superagent": "4.1.15",
72
72
  "bignumber.js": "^9.0.2",
@@ -76,9 +76,9 @@
76
76
  "superagent": "^9.0.1"
77
77
  },
78
78
  "devDependencies": {
79
- "@bitgo/sdk-test": "^9.1.74",
79
+ "@bitgo/sdk-test": "^9.1.76",
80
80
  "@bitgo/utxo-lib": "^11.24.4",
81
81
  "mocha": "^10.2.0"
82
82
  },
83
- "gitHead": "6b1a590620a63937b655db6429f80dac18cca985"
83
+ "gitHead": "0a38a19ddc449663b88ec691a44679457a9b37a9"
84
84
  }