@bitgo/abstract-utxo 12.6.0 → 12.7.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 (180) hide show
  1. package/dist/cjs/src/abstractUtxoCoin.d.ts +7 -2
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
  3. package/dist/cjs/src/abstractUtxoCoin.js +19 -34
  4. package/dist/cjs/src/address/fixedScript.d.ts +4 -4
  5. package/dist/cjs/src/address/fixedScript.d.ts.map +1 -1
  6. package/dist/cjs/src/address/fixedScript.js +4 -3
  7. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
  8. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  9. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +3 -4
  10. package/dist/cjs/src/impl/bch/bch.d.ts +15 -1
  11. package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -1
  12. package/dist/cjs/src/impl/bch/bch.js +29 -5
  13. package/dist/cjs/src/impl/btc/index.d.ts +2 -0
  14. package/dist/cjs/src/impl/btc/index.d.ts.map +1 -1
  15. package/dist/cjs/src/impl/btc/index.js +3 -1
  16. package/dist/cjs/src/impl/btc/inscriptionBuilder.js +4 -4
  17. package/dist/cjs/src/impl/btc/tbtcstx.d.ts +10 -0
  18. package/dist/cjs/src/impl/btc/tbtcstx.d.ts.map +1 -0
  19. package/dist/cjs/src/impl/btc/tbtcstx.js +18 -0
  20. package/dist/cjs/src/impl/btc/tbtcstxprivate1.d.ts +9 -0
  21. package/dist/cjs/src/impl/btc/tbtcstxprivate1.d.ts.map +1 -0
  22. package/dist/cjs/src/impl/btc/tbtcstxprivate1.js +15 -0
  23. package/dist/cjs/src/impl/zec/address.d.ts +45 -0
  24. package/dist/cjs/src/impl/zec/address.d.ts.map +1 -1
  25. package/dist/cjs/src/impl/zec/address.js +66 -1
  26. package/dist/cjs/src/impl/zec/recipients.d.ts +2 -1
  27. package/dist/cjs/src/impl/zec/recipients.d.ts.map +1 -1
  28. package/dist/cjs/src/impl/zec/recipients.js +1 -1
  29. package/dist/cjs/src/impl/zec/types.d.ts +0 -2
  30. package/dist/cjs/src/impl/zec/types.d.ts.map +1 -1
  31. package/dist/cjs/src/impl/zec/types.js +1 -1
  32. package/dist/cjs/src/impl/zec/zec.d.ts +2 -0
  33. package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -1
  34. package/dist/cjs/src/impl/zec/zec.js +6 -3
  35. package/dist/cjs/src/names.d.ts +5 -2
  36. package/dist/cjs/src/names.d.ts.map +1 -1
  37. package/dist/cjs/src/names.js +19 -1
  38. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +2 -2
  39. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  40. package/dist/cjs/src/recovery/backupKeyRecovery.js +5 -5
  41. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
  42. package/dist/cjs/src/recovery/crossChainRecovery.js +4 -4
  43. package/dist/cjs/src/transaction/decode.d.ts +2 -2
  44. package/dist/cjs/src/transaction/decode.d.ts.map +1 -1
  45. package/dist/cjs/src/transaction/decode.js +3 -2
  46. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +2 -2
  47. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  48. package/dist/cjs/src/transaction/descriptor/explainPsbt.js +6 -5
  49. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
  50. package/dist/cjs/src/transaction/descriptor/parse.js +3 -4
  51. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
  52. package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +2 -3
  53. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  54. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +2 -3
  55. package/dist/cjs/src/transaction/explainTransaction.d.ts +2 -2
  56. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -1
  57. package/dist/cjs/src/transaction/explainTransaction.js +1 -1
  58. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
  59. package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +3 -3
  60. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts +4 -4
  61. package/dist/cjs/src/transaction/fixedScript/replayProtection.d.ts.map +1 -1
  62. package/dist/cjs/src/transaction/fixedScript/replayProtection.js +1 -1
  63. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +2 -2
  64. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
  65. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +1 -1
  66. package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -1
  67. package/dist/cjs/src/transaction/parseTransaction.js +2 -3
  68. package/dist/cjs/src/transaction/recipient.d.ts +6 -3
  69. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
  70. package/dist/cjs/src/transaction/recipient.js +18 -7
  71. package/dist/cjs/src/transaction/signTransaction.js +2 -2
  72. package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -1
  73. package/dist/cjs/src/transaction/verifyTransaction.js +2 -3
  74. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -1
  75. package/dist/cjs/test/unit/descriptorAddress.js +24 -4
  76. package/dist/cjs/test/unit/impl/bch/unit/bch.js +9 -1
  77. package/dist/cjs/test/unit/impl/zec/unit/address.js +140 -1
  78. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +2 -2
  79. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +2 -2
  80. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +2 -2
  81. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -1
  82. package/dist/cjs/test/unit/recovery/mock.js +5 -3
  83. package/dist/cjs/test/unit/tbtcstx.d.ts +2 -0
  84. package/dist/cjs/test/unit/tbtcstx.d.ts.map +1 -0
  85. package/dist/cjs/test/unit/tbtcstx.js +60 -0
  86. package/dist/cjs/test/unit/tbtcstxprivate1.d.ts +2 -0
  87. package/dist/cjs/test/unit/tbtcstxprivate1.d.ts.map +1 -0
  88. package/dist/cjs/test/unit/tbtcstxprivate1.js +61 -0
  89. package/dist/cjs/test/unit/transaction/addressCodec.d.ts +2 -0
  90. package/dist/cjs/test/unit/transaction/addressCodec.d.ts.map +1 -0
  91. package/dist/cjs/test/unit/transaction/addressCodec.js +30 -0
  92. package/dist/cjs/test/unit/transaction.js +2 -2
  93. package/dist/cjs/test/unit/util/address.d.ts +2 -1
  94. package/dist/cjs/test/unit/util/address.d.ts.map +1 -1
  95. package/dist/cjs/test/unit/util/address.js +3 -2
  96. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -1
  97. package/dist/cjs/test/unit/util/nockIndexerAPI.js +3 -4
  98. package/dist/cjs/test/unit/util/transaction.d.ts +1 -1
  99. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -1
  100. package/dist/cjs/test/unit/util/transaction.js +5 -4
  101. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -1
  102. package/dist/cjs/test/unit/util/unspents.js +3 -3
  103. package/dist/cjs/test/unit/util/utxoCoins.d.ts +2 -2
  104. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -1
  105. package/dist/cjs/test/unit/util/utxoCoins.js +17 -33
  106. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  107. package/dist/esm/abstractUtxoCoin.d.ts +7 -2
  108. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
  109. package/dist/esm/abstractUtxoCoin.js +21 -36
  110. package/dist/esm/address/fixedScript.d.ts +4 -4
  111. package/dist/esm/address/fixedScript.d.ts.map +1 -1
  112. package/dist/esm/address/fixedScript.js +4 -3
  113. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
  114. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  115. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +3 -4
  116. package/dist/esm/impl/bch/bch.d.ts +15 -1
  117. package/dist/esm/impl/bch/bch.d.ts.map +1 -1
  118. package/dist/esm/impl/bch/bch.js +29 -5
  119. package/dist/esm/impl/btc/index.d.ts +2 -0
  120. package/dist/esm/impl/btc/index.d.ts.map +1 -1
  121. package/dist/esm/impl/btc/index.js +3 -1
  122. package/dist/esm/impl/btc/inscriptionBuilder.js +4 -4
  123. package/dist/esm/impl/btc/tbtcstx.d.ts +10 -0
  124. package/dist/esm/impl/btc/tbtcstx.d.ts.map +1 -0
  125. package/dist/esm/impl/btc/tbtcstx.js +14 -0
  126. package/dist/esm/impl/btc/tbtcstxprivate1.d.ts +9 -0
  127. package/dist/esm/impl/btc/tbtcstxprivate1.d.ts.map +1 -0
  128. package/dist/esm/impl/btc/tbtcstxprivate1.js +11 -0
  129. package/dist/esm/impl/zec/address.d.ts +45 -0
  130. package/dist/esm/impl/zec/address.d.ts.map +1 -1
  131. package/dist/esm/impl/zec/address.js +65 -2
  132. package/dist/esm/impl/zec/recipients.d.ts +2 -1
  133. package/dist/esm/impl/zec/recipients.d.ts.map +1 -1
  134. package/dist/esm/impl/zec/recipients.js +1 -1
  135. package/dist/esm/impl/zec/types.d.ts +0 -2
  136. package/dist/esm/impl/zec/types.d.ts.map +1 -1
  137. package/dist/esm/impl/zec/types.js +1 -1
  138. package/dist/esm/impl/zec/zec.d.ts +2 -0
  139. package/dist/esm/impl/zec/zec.d.ts.map +1 -1
  140. package/dist/esm/impl/zec/zec.js +6 -3
  141. package/dist/esm/names.d.ts +5 -2
  142. package/dist/esm/names.d.ts.map +1 -1
  143. package/dist/esm/names.js +18 -1
  144. package/dist/esm/recovery/backupKeyRecovery.d.ts +2 -2
  145. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
  146. package/dist/esm/recovery/backupKeyRecovery.js +6 -6
  147. package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
  148. package/dist/esm/recovery/crossChainRecovery.js +4 -4
  149. package/dist/esm/transaction/decode.d.ts +2 -2
  150. package/dist/esm/transaction/decode.d.ts.map +1 -1
  151. package/dist/esm/transaction/decode.js +3 -2
  152. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +2 -2
  153. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  154. package/dist/esm/transaction/descriptor/explainPsbt.js +6 -5
  155. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
  156. package/dist/esm/transaction/descriptor/parse.js +3 -4
  157. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -1
  158. package/dist/esm/transaction/descriptor/parseToAmountType.js +2 -3
  159. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  160. package/dist/esm/transaction/descriptor/verifyTransaction.js +2 -3
  161. package/dist/esm/transaction/explainTransaction.d.ts +2 -2
  162. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
  163. package/dist/esm/transaction/explainTransaction.js +1 -1
  164. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
  165. package/dist/esm/transaction/fixedScript/parseTransaction.js +3 -3
  166. package/dist/esm/transaction/fixedScript/replayProtection.d.ts +4 -4
  167. package/dist/esm/transaction/fixedScript/replayProtection.d.ts.map +1 -1
  168. package/dist/esm/transaction/fixedScript/replayProtection.js +1 -1
  169. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +2 -2
  170. package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
  171. package/dist/esm/transaction/fixedScript/signTransaction.js +1 -1
  172. package/dist/esm/transaction/parseTransaction.d.ts.map +1 -1
  173. package/dist/esm/transaction/parseTransaction.js +2 -3
  174. package/dist/esm/transaction/recipient.d.ts +6 -3
  175. package/dist/esm/transaction/recipient.d.ts.map +1 -1
  176. package/dist/esm/transaction/recipient.js +18 -7
  177. package/dist/esm/transaction/signTransaction.js +2 -2
  178. package/dist/esm/transaction/verifyTransaction.d.ts.map +1 -1
  179. package/dist/esm/transaction/verifyTransaction.js +2 -3
  180. package/package.json +6 -5
@@ -1,8 +1,9 @@
1
- import { UtxoCoinName } from '../names';
2
- /** Address/network-aware recipient conversion with overridable address decoding. */
1
+ import { UtxoCoinName, WasmUtxoCoinName } from '../names';
2
+ /** Address/network-aware recipient conversion. */
3
3
  export declare class AddressCodec {
4
4
  readonly coinName: UtxoCoinName;
5
- constructor(coinName: UtxoCoinName);
5
+ readonly wasmName: WasmUtxoCoinName;
6
+ constructor(coinName: UtxoCoinName, wasmName?: WasmUtxoCoinName);
6
7
  /** Check if the address is a script recipient (starts with `scriptPubKey:`). */
7
8
  static isScriptRecipient(address: string): boolean;
8
9
  /** Convert an extended address to either a regular address or a raw script. */
@@ -16,6 +17,8 @@ export declare class AddressCodec {
16
17
  address?: string;
17
18
  }): void;
18
19
  decode(address: string): Uint8Array;
20
+ encode(script: Uint8Array): string;
21
+ isValidAddress(address: string): boolean;
19
22
  fromExtendedAddressFormatToScript(extendedAddress: string): Buffer;
20
23
  toOutputScript(v: string | {
21
24
  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;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
+ {"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../../src/transaction/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK9E,kDAAkD;AAClD,qBAAa,YAAY;aAEL,QAAQ,EAAE,YAAY;aACtB,QAAQ,EAAE,gBAAgB;gBAD1B,QAAQ,EAAE,YAAY,EACtB,QAAQ,GAAE,gBAA+C;IAG3E,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,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIlC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQxC,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;CAGhD;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"}
@@ -8,12 +8,14 @@ exports.toOutputScript = toOutputScript;
8
8
  exports.toExtendedAddressFormat = toExtendedAddressFormat;
9
9
  exports.assertValidTransactionRecipient = assertValidTransactionRecipient;
10
10
  const wasm_utxo_1 = require("@bitgo/wasm-utxo");
11
+ const names_1 = require("../names");
11
12
  const ScriptRecipientPrefix = 'scriptPubKey:';
12
13
  const OP_RETURN = 0x6a;
13
- /** Address/network-aware recipient conversion with overridable address decoding. */
14
+ /** Address/network-aware recipient conversion. */
14
15
  class AddressCodec {
15
- constructor(coinName) {
16
+ constructor(coinName, wasmName = (0, names_1.toWasmUtxoCoinName)(coinName)) {
16
17
  this.coinName = coinName;
18
+ this.wasmName = wasmName;
17
19
  }
18
20
  /** Check if the address is a script recipient (starts with `scriptPubKey:`). */
19
21
  static isScriptRecipient(address) {
@@ -36,7 +38,18 @@ class AddressCodec {
36
38
  }
37
39
  }
38
40
  decode(address) {
39
- return wasm_utxo_1.address.toOutputScriptWithCoin(address, this.coinName);
41
+ return wasm_utxo_1.address.toOutputScriptWithCoin(address, this.wasmName);
42
+ }
43
+ encode(script) {
44
+ return wasm_utxo_1.address.fromOutputScriptWithCoin(script, this.wasmName);
45
+ }
46
+ isValidAddress(address) {
47
+ try {
48
+ return this.encode(this.decode(address)) === address;
49
+ }
50
+ catch {
51
+ return false;
52
+ }
40
53
  }
41
54
  fromExtendedAddressFormatToScript(extendedAddress) {
42
55
  const result = AddressCodec.fromExtendedAddressFormat(extendedAddress);
@@ -58,9 +71,7 @@ class AddressCodec {
58
71
  throw new Error('invalid input');
59
72
  }
60
73
  toExtendedAddressFormat(script) {
61
- return script[0] === OP_RETURN
62
- ? `${ScriptRecipientPrefix}${script.toString('hex')}`
63
- : wasm_utxo_1.address.fromOutputScriptWithCoin(script, this.coinName);
74
+ return script[0] === OP_RETURN ? `${ScriptRecipientPrefix}${script.toString('hex')}` : this.encode(script);
64
75
  }
65
76
  }
66
77
  exports.AddressCodec = AddressCodec;
@@ -88,4 +99,4 @@ function toExtendedAddressFormat(script, coinName) {
88
99
  function assertValidTransactionRecipient(output) {
89
100
  AddressCodec.assertValidTransactionRecipient(output);
90
101
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxRUEsOENBRUM7QUFHRCw4REFFQztBQUdELDhFQUVDO0FBR0Qsd0NBRUM7QUFHRCwwREFFQztBQUdELDBFQUVDO0FBaEdELGdEQUEwRDtBQUkxRCxNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztBQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUM7QUFFdkIsb0ZBQW9GO0FBQ3BGLE1BQWEsWUFBWTtJQUN2QixZQUE0QixRQUFzQjtRQUF0QixhQUFRLEdBQVIsUUFBUSxDQUFjO0lBQUcsQ0FBQztJQUV0RCxnRkFBZ0Y7SUFDaEYsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQWU7UUFDdEMsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELCtFQUErRTtJQUMvRSxNQUFNLENBQUMseUJBQXlCLENBQUMsZUFBdUI7UUFDdEQsSUFBSSxZQUFZLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTSxDQUFDLCtCQUErQixDQUFDLE1BQThEO1FBQ25HLCtHQUErRztRQUMvRyxzRkFBc0Y7UUFDdEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3RFLElBQUksTUFBTSxDQUFD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NUcsWUFBWSxDQUFDLCtCQUErQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRyZXNzIGFzIHdhc21BZGRyZXNzIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uL25hbWVzJztcblxuY29uc3QgU2NyaXB0UmVjaXBpZW50UHJlZml4ID0gJ3NjcmlwdFB1YktleTonO1xuY29uc3QgT1BfUkVUVVJOID0gMHg2YTtcblxuLyoqIEFkZHJlc3MvbmV0d29yay1hd2FyZSByZWNpcGllbnQgY29udmVyc2lvbiB3aXRoIG92ZXJyaWRhYmxlIGFkZHJlc3MgZGVjb2RpbmcuICovXG5leHBvcnQgY2xhc3MgQWRkcmVzc0NvZGVjIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpIHt9XG5cbiAgLyoqIENoZWNrIGlmIHRoZSBhZGRyZXNzIGlzIGEgc2NyaXB0IHJlY2lwaWVudCAoc3RhcnRzIHdpdGggYHNjcmlwdFB1YktleTpgKS4gKi9cbiAgc3RhdGljIGlzU2NyaXB0UmVjaXBpZW50KGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhZGRyZXNzLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChTY3JpcHRSZWNpcGllbnRQcmVmaXgudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICAvKiogQ29udmVydCBhbiBleHRlbmRlZCBhZGRyZXNzIHRvIGVpdGhlciBhIHJlZ3VsYXIgYWRkcmVzcyBvciBhIHJhdyBzY3JpcHQuICovXG4gIHN0YXRpYyBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KGV4dGVuZGVkQWRkcmVzczogc3RyaW5nKTogeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSB7XG4gICAgaWYgKEFkZHJlc3NDb2RlYy5pc1NjcmlwdFJlY2lwaWVudChleHRlbmRlZEFkZHJlc3MpKSB7XG4gICAgICByZXR1cm4geyBzY3JpcHQ6IGV4dGVuZGVkQWRkcmVzcy5zbGljZShTY3JpcHRSZWNpcGllbnRQcmVmaXgubGVuZ3RoKSB9O1xuICAgIH1cbiAgICByZXR1cm4geyBhZGRyZXNzOiBleHRlbmRlZEFkZHJlc3MgfTtcbiAgfVxuXG4gIHN0YXRpYyBhc3NlcnRWYWxpZFRyYW5zYWN0aW9uUmVjaXBpZW50KG91dHB1dDogeyBhbW91bnQ6IGJpZ2ludCB8IG51bWJlciB8IHN0cmluZzsgYWRkcmVzcz86IHN0cmluZyB9KTogdm9pZCB7XG4gICAgLy8gSW4gdGhlIGNhc2UgdGhhdCB0aGlzIGlzIGFuIE9QX1JFVFVSTiBvdXRwdXQgb3IgYW5vdGhlciBub24tZW5jb2RhYmxlIHNjcmlwdFB1YmtleSwgd2UgZG9udCBoYXZlIGFuIGFkZHJlc3MuXG4gICAgLy8gV2Ugd2lsbCB2ZXJpZnkgdGhhdCB0aGUgYW1vdW50IGlzIHplcm8sIGFuZCBpZiBpdCBpc250IHRoZW4gd2Ugd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICBpZiAoIW91dHB1dC5hZGRyZXNzIHx8IEFkZHJlc3NDb2RlYy5pc1NjcmlwdFJlY2lwaWVudChvdXRwdXQuYWRkcmVzcykpIHtcbiAgICAgIGlmIChvdXRwdXQuYW1vdW50LnRvU3RyaW5nKCkgIT09ICcwJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYE9ubHkgemVybyBhbW91bnRzIGFsbG93ZWQgZm9yIG5vbi1lbmNvZGVhYmxlIHNjcmlwdFB1YmtleXM6IGFtb3VudDogJHtvdXRwdXQuYW1vdW50fSwgYWRkcmVzczogJHtvdXRwdXQuYWRkcmVzc31gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGVjb2RlKGFkZHJlc3M6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICAgIHJldHVybiB3YXNtQWRkcmVzcy50b091dHB1dFNjcmlwdFdpdGhDb2luKGFkZHJlc3MsIHRoaXMuY29pbk5hbWUpO1xuICB9XG5cbiAgZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KGV4dGVuZGVkQWRkcmVzczogc3RyaW5nKTogQnVmZmVyIHtcbiAgICBjb25zdCByZXN1bHQgPSBBZGRyZXNzQ29kZWMuZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdChleHRlbmRlZEFkZHJlc3MpO1xuICAgIGlmICgnc2NyaXB0JyBpbiByZXN1bHQpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShyZXN1bHQuc2NyaXB0LCAnaGV4Jyk7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLmRlY29kZShyZXN1bHQuYWRkcmVzcykpO1xuICB9XG5cbiAgdG9PdXRwdXRTY3JpcHQodjogc3RyaW5nIHwgeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSk6IEJ1ZmZlciB7XG4gICAgaWYgKHR5cGVvZiB2ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KHYpO1xuICAgIH1cbiAgICBpZiAoJ3NjcmlwdCcgaW4gdikge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHYuc2NyaXB0LCAnaGV4Jyk7XG4gICAgfVxuICAgIGlmICgnYWRkcmVzcycgaW4gdikge1xuICAgICAgcmV0dXJuIHRoaXMuZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KHYuYWRkcmVzcyk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBpbnB1dCcpO1xuICB9XG5cbiAgdG9FeHRlbmRlZEFkZHJlc3NGb3JtYXQoc2NyaXB0OiBCdWZmZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBzY3JpcHRbMF0gPT09IE9QX1JFVFVSTlxuICAgICAgPyBgJHtTY3JpcHRSZWNpcGllbnRQcmVmaXh9JHtzY3JpcHQudG9TdHJpbmcoJ2hleCcpfWBcbiAgICAgIDogd2FzbUFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdFdpdGhDb2luKHNjcmlwdCwgdGhpcy5jb2luTmFtZSk7XG4gIH1cbn1cblxuLyoqIExlZ2FjeSBoZWxwZXIgcmV0YWluZWQgZm9yIGNvbnN1bWVycyB0aGF0IHVzZSB0aGUgbW9kdWxlLWxldmVsIHJlY2lwaWVudCBBUEkuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTY3JpcHRSZWNpcGllbnQoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBBZGRyZXNzQ29kZWMuaXNTY3JpcHRSZWNpcGllbnQoYWRkcmVzcyk7XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXQoZXh0ZW5kZWRBZGRyZXNzOiBzdHJpbmcpOiB7IGFkZHJlc3M6IHN0cmluZyB9IHwgeyBzY3JpcHQ6IHN0cmluZyB9IHtcbiAgcmV0dXJuIEFkZHJlc3NDb2RlYy5mcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KGV4dGVuZGVkQWRkcmVzcyk7XG59XG5cbi8qKiBMZWdhY3kgaGVscGVyIHJldGFpbmVkIGZvciBjb25zdW1lcnMgdGhhdCB1c2UgdGhlIG1vZHVsZS1sZXZlbCByZWNpcGllbnQgQVBJLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdChleHRlbmRlZEFkZHJlc3M6IHN0cmluZywgY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IEJ1ZmZlciB7XG4gIHJldHVybiBuZXcgQWRkcmVzc0NvZGVjKGNvaW5OYW1lKS5mcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0VG9TY3JpcHQoZXh0ZW5kZWRBZGRyZXNzKTtcbn1cblxuLyoqIExlZ2FjeSBoZWxwZXIgcmV0YWluZWQgZm9yIGNvbnN1bWVycyB0aGF0IHVzZSB0aGUgbW9kdWxlLWxldmVsIHJlY2lwaWVudCBBUEkuICovXG5leHBvcnQgZnVuY3Rpb24gdG9PdXRwdXRTY3JpcHQodjogc3RyaW5nIHwgeyBhZGRyZXNzOiBzdHJpbmcgfSB8IHsgc2NyaXB0OiBzdHJpbmcgfSwgY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IEJ1ZmZlciB7XG4gIHJldHVybiBuZXcgQWRkcmVzc0NvZGVjKGNvaW5OYW1lKS50b091dHB1dFNjcmlwdCh2KTtcbn1cblxuLyoqIExlZ2FjeSBoZWxwZXIgcmV0YWluZWQgZm9yIGNvbnN1bWVycyB0aGF0IHVzZSB0aGUgbW9kdWxlLWxldmVsIHJlY2lwaWVudCBBUEkuICovXG5leHBvcnQgZnVuY3Rpb24gdG9FeHRlbmRlZEFkZHJlc3NGb3JtYXQoc2NyaXB0OiBCdWZmZXIsIGNvaW5OYW1lOiBVdHhvQ29pbk5hbWUpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IEFkZHJlc3NDb2RlYyhjb2luTmFtZSkudG9FeHRlbmRlZEFkZHJlc3NGb3JtYXQoc2NyaXB0KTtcbn1cblxuLyoqIExlZ2FjeSBoZWxwZXIgcmV0YWluZWQgZm9yIGNvbnN1bWVycyB0aGF0IHVzZSB0aGUgbW9kdWxlLWxldmVsIHJlY2lwaWVudCBBUEkuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRUcmFuc2FjdGlvblJlY2lwaWVudChvdXRwdXQ6IHsgYW1vdW50OiBiaWdpbnQgfCBudW1iZXIgfCBzdHJpbmc7IGFkZHJlc3M/OiBzdHJpbmcgfSk6IHZvaWQge1xuICBBZGRyZXNzQ29kZWMuYXNzZXJ0VmFsaWRUcmFuc2FjdGlvblJlY2lwaWVudChvdXRwdXQpO1xufVxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrRkEsOENBRUM7QUFHRCw4REFFQztBQUdELDhFQUVDO0FBR0Qsd0NBRUM7QUFHRCwwREFFQztBQUdELDBFQUVDO0FBN0dELGdEQUEwRDtBQUUxRCxvQ0FBOEU7QUFFOUUsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUM7QUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBRXZCLGtEQUFrRDtBQUNsRCxNQUFhLFlBQVk7SUFDdkIsWUFDa0IsUUFBc0IsRUFDdEIsV0FBNkIsSUFBQSwwQkFBa0IsRUFBQyxRQUFRLENBQUM7UUFEekQsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFpRDtJQUN4RSxDQUFDO0lBRUosZ0ZBQWdGO0lBQ2hGLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFlO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsTUFBTSxDQUFDLHlCQUF5QixDQUFDLGVBQXVCO1FBQ3RELElBQUksWUFBWSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxNQUE4RDtRQUNuRywrR0FBK0c7UUFDL0csc0ZBQXNGO1FBQ3RGLElBQUksQ0FBQyxNQUFNLENBQUMsT0FB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QyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFFRCxvRkFBb0Y7QUFDcEYsU0FBZ0IsY0FBYyxDQUFDLENBQW9ELEVBQUUsUUFBc0I7SUFDekcsT0FBTyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELG9GQUFvRjtBQUNwRixTQUFnQix1QkFBdUIsQ0FBQyxNQUFjLEVBQUUsUUFBc0I7SUFDNUUsT0FBTyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLFNBQWdCLCtCQUErQixDQUFDLE1BQThEO0lBQzVHLFlBQVksQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkcmVzcyBhcyB3YXNtQWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgeyB0b1dhc21VdHhvQ29pbk5hbWUsIFV0eG9Db2luTmFtZSwgV2FzbVV0eG9Db2luTmFtZSB9IGZyb20gJy4uL25hbWVzJztcblxuY29uc3QgU2NyaXB0UmVjaXBpZW50UHJlZml4ID0gJ3NjcmlwdFB1YktleTonO1xuY29uc3QgT1BfUkVUVVJOID0gMHg2YTtcblxuLyoqIEFkZHJlc3MvbmV0d29yay1hd2FyZSByZWNpcGllbnQgY29udmVyc2lvbi4gKi9cbmV4cG9ydCBjbGFzcyBBZGRyZXNzQ29kZWMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgd2FzbU5hbWU6IFdhc21VdHhvQ29pbk5hbWUgPSB0b1dhc21VdHhvQ29pbk5hbWUoY29pbk5hbWUpXG4gICkge31cblxuICAvKiogQ2hlY2sgaWYgdGhlIGFkZHJlc3MgaXMgYSBzY3JpcHQgcmVjaXBpZW50IChzdGFydHMgd2l0aCBgc2NyaXB0UHViS2V5OmApLiAqL1xuICBzdGF0aWMgaXNTY3JpcHRSZWNpcGllbnQoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFkZHJlc3MudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKFNjcmlwdFJlY2lwaWVudFByZWZpeC50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIC8qKiBDb252ZXJ0IGFuIGV4dGVuZGVkIGFkZHJlc3MgdG8gZWl0aGVyIGEgcmVndWxhciBhZGRyZXNzIG9yIGEgcmF3IHNjcmlwdC4gKi9cbiAgc3RhdGljIGZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXQoZXh0ZW5kZWRBZGRyZXNzOiBzdHJpbmcpOiB7IGFkZHJlc3M6IHN0cmluZyB9IHwgeyBzY3JpcHQ6IHN0cmluZyB9IHtcbiAgICBpZiAoQWRkcmVzc0NvZGVjLmlzU2NyaXB0UmVjaXBpZW50KGV4dGVuZGVkQWRkcmVzcykpIHtcbiAgICAgIHJldHVybiB7IHNjcmlwdDogZXh0ZW5kZWRBZGRyZXNzLnNsaWNlKFNjcmlwdFJlY2lwaWVudFByZWZpeC5sZW5ndGgpIH07XG4gICAgfVxuICAgIHJldHVybiB7IGFkZHJlc3M6IGV4dGVuZGVkQWRkcmVzcyB9O1xuICB9XG5cbiAgc3RhdGljIGFzc2VydFZhbGlkVHJhbnNhY3Rpb25SZWNpcGllbnQob3V0cHV0OiB7IGFtb3VudDogYmlnaW50IHwgbnVtYmVyIHwgc3RyaW5nOyBhZGRyZXNzPzogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICAvLyBJbiB0aGUgY2FzZSB0aGF0IHRoaXMgaXMgYW4gT1BfUkVUVVJOIG91dHB1dCBvciBhbm90aGVyIG5vbi1lbmNvZGFibGUgc2NyaXB0UHVia2V5LCB3ZSBkb250IGhhdmUgYW4gYWRkcmVzcy5cbiAgICAvLyBXZSB3aWxsIHZlcmlmeSB0aGF0IHRoZSBhbW91bnQgaXMgemVybywgYW5kIGlmIGl0IGlzbnQgdGhlbiB3ZSB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgIGlmICghb3V0cHV0LmFkZHJlc3MgfHwgQWRkcmVzc0NvZGVjLmlzU2NyaXB0UmVjaXBpZW50KG91dHB1dC5hZGRyZXNzKSkge1xuICAgICAgaWYgKG91dHB1dC5hbW91bnQudG9TdHJpbmcoKSAhPT0gJzAnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgT25seSB6ZXJvIGFtb3VudHMgYWxsb3dlZCBmb3Igbm9uLWVuY29kZWFibGUgc2NyaXB0UHVia2V5czogYW1vdW50OiAke291dHB1dC5hbW91bnR9LCBhZGRyZXNzOiAke291dHB1dC5hZGRyZXNzfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkZWNvZGUoYWRkcmVzczogc3RyaW5nKTogVWludDhBcnJheSB7XG4gICAgcmV0dXJuIHdhc21BZGRyZXNzLnRvT3V0cHV0U2NyaXB0V2l0aENvaW4oYWRkcmVzcywgdGhpcy53YXNtTmFtZSk7XG4gIH1cblxuICBlbmNvZGUoc2NyaXB0OiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICByZXR1cm4gd2FzbUFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdFdpdGhDb2luKHNjcmlwdCwgdGhpcy53YXNtTmFtZSk7XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlKHRoaXMuZGVjb2RlKGFkZHJlc3MpKSA9PT0gYWRkcmVzcztcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBmcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0VG9TY3JpcHQoZXh0ZW5kZWRBZGRyZXNzOiBzdHJpbmcpOiBCdWZmZXIge1xuICAgIGNvbnN0IHJlc3VsdCA9IEFkZHJlc3NDb2RlYy5mcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0KGV4dGVuZGVkQWRkcmVzcyk7XG4gICAgaWYgKCdzY3JpcHQnIGluIHJlc3VsdCkge1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHJlc3VsdC5zY3JpcHQsICdoZXgnKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRoaXMuZGVjb2RlKHJlc3VsdC5hZGRyZXNzKSk7XG4gIH1cblxuICB0b091dHB1dFNjcmlwdCh2OiBzdHJpbmcgfCB7IGFkZHJlc3M6IHN0cmluZyB9IHwgeyBzY3JpcHQ6IHN0cmluZyB9KTogQnVmZmVyIHtcbiAgICBpZiAodHlwZW9mIHYgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdGhpcy5mcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0VG9TY3JpcHQodik7XG4gICAgfVxuICAgIGlmICgnc2NyaXB0JyBpbiB2KSB7XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20odi5zY3JpcHQsICdoZXgnKTtcbiAgICB9XG4gICAgaWYgKCdhZGRyZXNzJyBpbiB2KSB7XG4gICAgICByZXR1cm4gdGhpcy5mcm9tRXh0ZW5kZWRBZGRyZXNzRm9ybWF0VG9TY3JpcHQodi5hZGRyZXNzKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGlucHV0Jyk7XG4gIH1cblxuICB0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdChzY3JpcHQ6IEJ1ZmZlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNjcmlwdFswXSA9PT0gT1BfUkVUVVJOID8gYCR7U2NyaXB0UmVjaXBpZW50UHJlZml4fSR7c2NyaXB0LnRvU3RyaW5nKCdoZXgnKX1gIDogdGhpcy5lbmNvZGUoc2NyaXB0KTtcbiAgfVxufVxuXG4vKiogTGVnYWN5IGhlbHBlciByZXRhaW5lZCBmb3IgY29uc3VtZXJzIHRoYXQgdXNlIHRoZSBtb2R1bGUtbGV2ZWwgcmVjaXBpZW50IEFQSS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NjcmlwdFJlY2lwaWVudChhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEFkZHJlc3NDb2RlYy5pc1NjcmlwdFJlY2lwaWVudChhZGRyZXNzKTtcbn1cblxuLyoqIExlZ2FjeSBoZWxwZXIgcmV0YWluZWQgZm9yIGNvbnN1bWVycyB0aGF0IHVzZSB0aGUgbW9kdWxlLWxldmVsIHJlY2lwaWVudCBBUEkuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdChleHRlbmRlZEFkZHJlc3M6IHN0cmluZyk6IHsgYWRkcmVzczogc3RyaW5nIH0gfCB7IHNjcmlwdDogc3RyaW5nIH0ge1xuICByZXR1cm4gQWRkcmVzc0NvZGVjLmZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXQoZXh0ZW5kZWRBZGRyZXNzKTtcbn1cblxuLyoqIExlZ2FjeSBoZWxwZXIgcmV0YWluZWQgZm9yIGNvbnN1bWVycyB0aGF0IHVzZSB0aGUgbW9kdWxlLWxldmVsIHJlY2lwaWVudCBBUEkuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUV4dGVuZGVkQWRkcmVzc0Zvcm1hdFRvU2NyaXB0KGV4dGVuZGVkQWRkcmVzczogc3RyaW5nLCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogQnVmZmVyIHtcbiAgcmV0dXJuIG5ldyBBZGRyZXNzQ29kZWMoY29pbk5hbWUpLmZyb21FeHRlbmRlZEFkZHJlc3NGb3JtYXRUb1NjcmlwdChleHRlbmRlZEFkZHJlc3MpO1xufVxuXG4vKiogTGVnYWN5IGhlbHBlciByZXRhaW5lZCBmb3IgY29uc3VtZXJzIHRoYXQgdXNlIHRoZSBtb2R1bGUtbGV2ZWwgcmVjaXBpZW50IEFQSS4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b091dHB1dFNjcmlwdCh2OiBzdHJpbmcgfCB7IGFkZHJlc3M6IHN0cmluZyB9IHwgeyBzY3JpcHQ6IHN0cmluZyB9LCBjb2luTmFtZTogVXR4b0NvaW5OYW1lKTogQnVmZmVyIHtcbiAgcmV0dXJuIG5ldyBBZGRyZXNzQ29kZWMoY29pbk5hbWUpLnRvT3V0cHV0U2NyaXB0KHYpO1xufVxuXG4vKiogTGVnYWN5IGhlbHBlciByZXRhaW5lZCBmb3IgY29uc3VtZXJzIHRoYXQgdXNlIHRoZSBtb2R1bGUtbGV2ZWwgcmVjaXBpZW50IEFQSS4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdChzY3JpcHQ6IEJ1ZmZlciwgY29pbk5hbWU6IFV0eG9Db2luTmFtZSk6IHN0cmluZyB7XG4gIHJldHVybiBuZXcgQWRkcmVzc0NvZGVjKGNvaW5OYW1lKS50b0V4dGVuZGVkQWRkcmVzc0Zvcm1hdChzY3JpcHQpO1xufVxuXG4vKiogTGVnYWN5IGhlbHBlciByZXRhaW5lZCBmb3IgY29uc3VtZXJzIHRoYXQgdXNlIHRoZSBtb2R1bGUtbGV2ZWwgcmVjaXBpZW50IEFQSS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRWYWxpZFRyYW5zYWN0aW9uUmVjaXBpZW50KG91dHB1dDogeyBhbW91bnQ6IGJpZ2ludCB8IG51bWJlciB8IHN0cmluZzsgYWRkcmVzcz86IHN0cmluZyB9KTogdm9pZCB7XG4gIEFkZHJlc3NDb2RlYy5hc3NlcnRWYWxpZFRyYW5zYWN0aW9uUmVjaXBpZW50KG91dHB1dCk7XG59XG4iXX0=
@@ -84,7 +84,7 @@ async function signTransaction(coin, bitgo, params) {
84
84
  }
85
85
  else {
86
86
  const tx = coin.decodeTransactionFromPrebuild(params.txPrebuild);
87
- const signedTx = await fixedScript.signTransaction(coin, tx, getSignerKeychain(params.prv), coin.name, {
87
+ const signedTx = await fixedScript.signTransaction(coin, tx, getSignerKeychain(params.prv), coin.wasmName, {
88
88
  walletId: params.txPrebuild.walletId,
89
89
  txInfo: params.txPrebuild.txInfo,
90
90
  isLastSignature: params.isLastSignature ?? false,
@@ -102,4 +102,4 @@ async function signTransaction(coin, bitgo, params) {
102
102
  return { txHex: buffer.toString('hex') };
103
103
  }
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSwwQ0FtREM7QUFqRkQsb0RBQXVCO0FBRXZCLGdEQUE0RDtBQUM1RCxrREFBK0I7QUFHL0IsOENBQWdHO0FBQ2hHLDRDQUE2RDtBQUU3RCwyREFBNkM7QUFDN0MseURBQTJDO0FBQzNDLHFDQUFtRTtBQUVuRSxNQUFNLEtBQUssR0FBRyxJQUFBLGVBQVUsRUFBQyxpREFBaUQsQ0FBQyxDQUFDO0FBRTVFLFNBQVMsaUJBQWlCLENBQUMsT0FBZ0I7SUFDekMsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxpQkFBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsS0FBSyxDQUFDLHdEQUF3RCxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFTSxLQUFLLFVBQVUsZUFBZSxDQUNuQyxJQUFzQixFQUN0QixLQUFnQixFQUNoQixNQUF1QztJQUV2QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBRXJDLElB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QUFpQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCSVAzMiwgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBmZXRjaEtleWNoYWlucywgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uL2tleWNoYWlucyc7XG5cbmltcG9ydCAqIGFzIGZpeGVkU2NyaXB0IGZyb20gJy4vZml4ZWRTY3JpcHQnO1xuaW1wb3J0ICogYXMgZGVzY3JpcHRvciBmcm9tICcuL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgZGVjb2RlRGVzY3JpcHRvclBzYnQsIGVuY29kZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9kZWNvZGUnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ2JpdGdvOmFic3RyYWN0LXV0eG86dHJhbnNhY3Rpb246c2lnblRyYW5zYWN0aW9uJyk7XG5cbmZ1bmN0aW9uIGdldFNpZ25lcktleWNoYWluKHVzZXJQcnY6IHVua25vd24pOiBCSVAzMiB8IHVuZGVmaW5lZCB7XG4gIGlmICh1c2VyUHJ2ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmICh0eXBlb2YgdXNlclBydiAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHVzZXIgcHJpdmF0ZSBrZXkgdG8gYmUgYSBzdHJpbmcnKTtcbiAgfVxuICBjb25zdCBzaWduZXJLZXljaGFpbiA9IEJJUDMyLmZyb21CYXNlNTgodXNlclBydik7XG4gIGlmIChzaWduZXJLZXljaGFpbi5pc05ldXRlcmVkKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHVzZXIgcHJpdmF0ZSBrZXkgYnV0IHJlY2VpdmVkIHB1YmxpYyBrZXknKTtcbiAgfVxuICBkZWJ1ZyhgSGVyZSBpcyB0aGUgcHVibGljIGtleSBvZiB0aGUgeHBydiB5b3UgdXNlZCB0byBzaWduOiAke3NpZ25lcktleWNoYWluLm5ldXRlcmVkKCkudG9CYXNlNTgoKX1gKTtcbiAgcmV0dXJuIHNpZ25lcktleWNoYWluO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICBiaXRnbzogQml0R29CYXNlLFxuICBwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj5cbik6IFByb21pc2U8eyB0eEhleDogc3RyaW5nIH0+IHtcbiAgY29uc3QgdHhQcmVidWlsZCA9IHBhcmFtcy50eFByZWJ1aWxkO1xuXG4gIGlmIChfLmlzVW5kZWZpbmVkKHR4UHJlYnVpbGQpIHx8ICFfLmlzT2JqZWN0KHR4UHJlYnVpbGQpKSB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHR4UHJlYnVpbGQpICYmICFfLmlzT2JqZWN0KHR4UHJlYnVpbGQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHR4UHJlYnVpbGQgbXVzdCBiZSBhbiBvYmplY3QsIGdvdCB0eXBlICR7dHlwZW9mIHR4UHJlYnVpbGR9YCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyB0eFByZWJ1aWxkIHBhcmFtZXRlcicpO1xuICB9XG5cbiAgY29uc3Qgc2lnbmVyS2V5Y2hhaW4gPSBnZXRTaWduZXJLZXljaGFpbihwYXJhbXMucHJ2KTtcblxuICBjb25zdCB7IHdhbGxldCB9ID0gcGFyYW1zO1xuXG4gIGlmICh3YWxsZXQgJiYgaXNEZXNjcmlwdG9yV2FsbGV0KHdhbGxldCkpIHtcbiAgICBpZiAoIXNpZ25lcktleWNoYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3Npbmcgc2lnbmVyJyk7XG4gICAgfVxuICAgIGNvbnN0IHBzYnQgPSBkZWNvZGVEZXNjcmlwdG9yUHNidChwYXJhbXMudHhQcmVidWlsZCk7XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgd2FsbGV0KSk7XG4gICAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KGJpdGdvLmVudikpO1xuICAgIGRlc2NyaXB0b3Iuc2lnblBzYnQocHNidCwgZGVzY3JpcHRvck1hcCwgc2lnbmVyS2V5Y2hhaW4sIHtcbiAgICAgIG9uVW5rbm93bklucHV0OiAndGhyb3cnLFxuICAgIH0pO1xuICAgIHJldHVybiB7IHR4SGV4OiBCdWZmZXIuZnJvbShwc2J0LnNlcmlhbGl6ZSgpKS50b1N0cmluZygnaGV4JykgfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0eCA9IGNvaW4uZGVjb2RlVHJhbnNhY3Rpb25Gcm9tUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpO1xuXG4gICAgY29uc3Qgc2lnbmVkVHggPSBhd2FpdCBmaXhlZFNjcmlwdC5zaWduVHJhbnNhY3Rpb24oY29pbiwgdHgsIGdldFNpZ25lcktleWNoYWluKHBhcmFtcy5wcnYpLCBjb2luLm5hbWUsIHtcbiAgICAgIHdhbGxldElkOiBwYXJhbXMudHhQcmVidWlsZC53YWxsZXRJZCxcbiAgICAgIHR4SW5mbzogcGFyYW1zLnR4UHJlYnVpbGQudHhJbmZvLFxuICAgICAgaXNMYXN0U2lnbmF0dXJlOiBwYXJhbXMuaXNMYXN0U2lnbmF0dXJlID8/IGZhbHNlLFxuICAgICAgc2lnbmluZ1N0ZXA6IHBhcmFtcy5zaWduaW5nU3RlcCxcbiAgICAgIHB1YnM6IHBhcmFtcy5wdWJzLFxuICAgICAgY29zaWduZXJQdWI6IHBhcmFtcy5jb3NpZ25lclB1YixcbiAgICAgIGV4dHJhY3RUcmFuc2FjdGlvbjogcGFyYW1zLmV4dHJhY3RUcmFuc2FjdGlvbixcbiAgICAgIHdyaXRlU2lnbmVkV2l0aDogcGFyYW1zLndyaXRlU2lnbmVkV2l0aCxcbiAgICB9KTtcblxuICAgIC8vIENvbnZlcnQgaGFsZi1zaWduZWQgUFNCVCB0byBsZWdhY3kgZm9ybWF0IHdoZW4gdGhlIGNhbGxlciBleHBsaWNpdGx5IHJlcXVlc3RlZCB0eEZvcm1hdDogJ2xlZ2FjeSdcbiAgICBpZiAocGFyYW1zLnJldHVybkxlZ2FjeUZvcm1hdCAmJiBzaWduZWRUeCBpbnN0YW5jZW9mIGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidCkge1xuICAgICAgcmV0dXJuIHsgdHhIZXg6IEJ1ZmZlci5mcm9tKHNpZ25lZFR4LmdldEhhbGZTaWduZWRMZWdhY3lGb3JtYXQoKSkudG9TdHJpbmcoJ2hleCcpIH07XG4gICAgfVxuXG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmlzQnVmZmVyKHNpZ25lZFR4KSA/IHNpZ25lZFR4IDogZW5jb2RlVHJhbnNhY3Rpb24oc2lnbmVkVHgpO1xuICAgIHJldHVybiB7IHR4SGV4OiBidWZmZXIudG9TdHJpbmcoJ2hleCcpIH07XG4gIH1cbn1cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnblRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL3NpZ25UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSwwQ0FtREM7QUFqRkQsb0RBQXVCO0FBRXZCLGdEQUE0RDtBQUM1RCxrREFBK0I7QUFHL0IsOENBQWdHO0FBQ2hHLDRDQUE2RDtBQUU3RCwyREFBNkM7QUFDN0MseURBQTJDO0FBQzNDLHFDQUFtRTtBQUVuRSxNQUFNLEtBQUssR0FBRyxJQUFBLGVBQVUsRUFBQyxpREFBaUQsQ0FBQyxDQUFDO0FBRTVFLFNBQVMsaUJBQWlCLENBQUMsT0FBZ0I7SUFDekMsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBRyxpQkFBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsS0FBSyxDQUFDLHdEQUF3RCxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RHLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFTSxLQUFLLFVBQVUsZUFBZSxDQUNuQyxJQUFzQixFQUN0QixLQUFnQixFQUNoQixNQUF1QztJQUV2QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBRXJDLElB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QUFpQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzNDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCSVAzMiwgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGdldFBvbGljeUZvckVudiwgaXNEZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBmZXRjaEtleWNoYWlucywgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uL2tleWNoYWlucyc7XG5cbmltcG9ydCAqIGFzIGZpeGVkU2NyaXB0IGZyb20gJy4vZml4ZWRTY3JpcHQnO1xuaW1wb3J0ICogYXMgZGVzY3JpcHRvciBmcm9tICcuL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHsgZGVjb2RlRGVzY3JpcHRvclBzYnQsIGVuY29kZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9kZWNvZGUnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ2JpdGdvOmFic3RyYWN0LXV0eG86dHJhbnNhY3Rpb246c2lnblRyYW5zYWN0aW9uJyk7XG5cbmZ1bmN0aW9uIGdldFNpZ25lcktleWNoYWluKHVzZXJQcnY6IHVua25vd24pOiBCSVAzMiB8IHVuZGVmaW5lZCB7XG4gIGlmICh1c2VyUHJ2ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmICh0eXBlb2YgdXNlclBydiAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHVzZXIgcHJpdmF0ZSBrZXkgdG8gYmUgYSBzdHJpbmcnKTtcbiAgfVxuICBjb25zdCBzaWduZXJLZXljaGFpbiA9IEJJUDMyLmZyb21CYXNlNTgodXNlclBydik7XG4gIGlmIChzaWduZXJLZXljaGFpbi5pc05ldXRlcmVkKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIHVzZXIgcHJpdmF0ZSBrZXkgYnV0IHJlY2VpdmVkIHB1YmxpYyBrZXknKTtcbiAgfVxuICBkZWJ1ZyhgSGVyZSBpcyB0aGUgcHVibGljIGtleSBvZiB0aGUgeHBydiB5b3UgdXNlZCB0byBzaWduOiAke3NpZ25lcktleWNoYWluLm5ldXRlcmVkKCkudG9CYXNlNTgoKX1gKTtcbiAgcmV0dXJuIHNpZ25lcktleWNoYWluO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBjb2luOiBBYnN0cmFjdFV0eG9Db2luLFxuICBiaXRnbzogQml0R29CYXNlLFxuICBwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj5cbik6IFByb21pc2U8eyB0eEhleDogc3RyaW5nIH0+IHtcbiAgY29uc3QgdHhQcmVidWlsZCA9IHBhcmFtcy50eFByZWJ1aWxkO1xuXG4gIGlmIChfLmlzVW5kZWZpbmVkKHR4UHJlYnVpbGQpIHx8ICFfLmlzT2JqZWN0KHR4UHJlYnVpbGQpKSB7XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHR4UHJlYnVpbGQpICYmICFfLmlzT2JqZWN0KHR4UHJlYnVpbGQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHR4UHJlYnVpbGQgbXVzdCBiZSBhbiBvYmplY3QsIGdvdCB0eXBlICR7dHlwZW9mIHR4UHJlYnVpbGR9YCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyB0eFByZWJ1aWxkIHBhcmFtZXRlcicpO1xuICB9XG5cbiAgY29uc3Qgc2lnbmVyS2V5Y2hhaW4gPSBnZXRTaWduZXJLZXljaGFpbihwYXJhbXMucHJ2KTtcblxuICBjb25zdCB7IHdhbGxldCB9ID0gcGFyYW1zO1xuXG4gIGlmICh3YWxsZXQgJiYgaXNEZXNjcmlwdG9yV2FsbGV0KHdhbGxldCkpIHtcbiAgICBpZiAoIXNpZ25lcktleWNoYWluKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3Npbmcgc2lnbmVyJyk7XG4gICAgfVxuICAgIGNvbnN0IHBzYnQgPSBkZWNvZGVEZXNjcmlwdG9yUHNidChwYXJhbXMudHhQcmVidWlsZCk7XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgd2FsbGV0KSk7XG4gICAgY29uc3QgZGVzY3JpcHRvck1hcCA9IGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHdhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KGJpdGdvLmVudikpO1xuICAgIGRlc2NyaXB0b3Iuc2lnblBzYnQocHNidCwgZGVzY3JpcHRvck1hcCwgc2lnbmVyS2V5Y2hhaW4sIHtcbiAgICAgIG9uVW5rbm93bklucHV0OiAndGhyb3cnLFxuICAgIH0pO1xuICAgIHJldHVybiB7IHR4SGV4OiBCdWZmZXIuZnJvbShwc2J0LnNlcmlhbGl6ZSgpKS50b1N0cmluZygnaGV4JykgfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB0eCA9IGNvaW4uZGVjb2RlVHJhbnNhY3Rpb25Gcm9tUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpO1xuXG4gICAgY29uc3Qgc2lnbmVkVHggPSBhd2FpdCBmaXhlZFNjcmlwdC5zaWduVHJhbnNhY3Rpb24oY29pbiwgdHgsIGdldFNpZ25lcktleWNoYWluKHBhcmFtcy5wcnYpLCBjb2luLndhc21OYW1lLCB7XG4gICAgICB3YWxsZXRJZDogcGFyYW1zLnR4UHJlYnVpbGQud2FsbGV0SWQsXG4gICAgICB0eEluZm86IHBhcmFtcy50eFByZWJ1aWxkLnR4SW5mbyxcbiAgICAgIGlzTGFzdFNpZ25hdHVyZTogcGFyYW1zLmlzTGFzdFNpZ25hdHVyZSA/PyBmYWxzZSxcbiAgICAgIHNpZ25pbmdTdGVwOiBwYXJhbXMuc2lnbmluZ1N0ZXAsXG4gICAgICBwdWJzOiBwYXJhbXMucHVicyxcbiAgICAgIGNvc2lnbmVyUHViOiBwYXJhbXMuY29zaWduZXJQdWIsXG4gICAgICBleHRyYWN0VHJhbnNhY3Rpb246IHBhcmFtcy5leHRyYWN0VHJhbnNhY3Rpb24sXG4gICAgICB3cml0ZVNpZ25lZFdpdGg6IHBhcmFtcy53cml0ZVNpZ25lZFdpdGgsXG4gICAgfSk7XG5cbiAgICAvLyBDb252ZXJ0IGhhbGYtc2lnbmVkIFBTQlQgdG8gbGVnYWN5IGZvcm1hdCB3aGVuIHRoZSBjYWxsZXIgZXhwbGljaXRseSByZXF1ZXN0ZWQgdHhGb3JtYXQ6ICdsZWdhY3knXG4gICAgaWYgKHBhcmFtcy5yZXR1cm5MZWdhY3lGb3JtYXQgJiYgc2lnbmVkVHggaW5zdGFuY2VvZiBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQpIHtcbiAgICAgIHJldHVybiB7IHR4SGV4OiBCdWZmZXIuZnJvbShzaWduZWRUeC5nZXRIYWxmU2lnbmVkTGVnYWN5Rm9ybWF0KCkpLnRvU3RyaW5nKCdoZXgnKSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5pc0J1ZmZlcihzaWduZWRUeCkgPyBzaWduZWRUeCA6IGVuY29kZVRyYW5zYWN0aW9uKHNpZ25lZFR4KTtcbiAgICByZXR1cm4geyB0eEhleDogYnVmZmVyLnRvU3RyaW5nKCdoZXgnKSB9O1xuICB9XG59XG4iXX0=
@@ -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;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
+ {"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,YAAgC,GAC7C,OAAO,CAAC,OAAO,CAAC,CAYlB"}
@@ -36,10 +36,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.verifyTransaction = verifyTransaction;
37
37
  const descriptor_1 = require("../descriptor");
38
38
  const keychains_1 = require("../keychains");
39
- const recipient_1 = require("./recipient");
40
39
  const fixedScript = __importStar(require("./fixedScript"));
41
40
  const descriptor = __importStar(require("./descriptor"));
42
- async function verifyTransaction(coin, bitgo, params, addressCodec = new recipient_1.AddressCodec(coin.name)) {
41
+ async function verifyTransaction(coin, bitgo, params, addressCodec = coin.addressCodec) {
43
42
  if ((0, descriptor_1.isDescriptorWallet)(params.wallet)) {
44
43
  const walletKeys = (0, keychains_1.toBip32Triple)(await (0, keychains_1.fetchKeychains)(coin, params.wallet));
45
44
  return descriptor.verifyTransaction(coin, params, (0, descriptor_1.getDescriptorMapFromWallet)(params.wallet, walletKeys, (0, descriptor_1.getPolicyForEnv)(bitgo.env)), addressCodec);
@@ -48,4 +47,4 @@ async function verifyTransaction(coin, bitgo, params, addressCodec = new recipie
48
47
  return fixedScript.verifyTransaction(coin, bitgo, params);
49
48
  }
50
49
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5VHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vdmVyaWZ5VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSw4Q0FpQkM7QUF4QkQsOENBQWdHO0FBQ2hHLDRDQUE2RDtBQUU3RCwyQ0FBMkM7QUFDM0MsMkRBQTZDO0FBQzdDLHlEQUEyQztBQUVwQyxLQUFLLFVBQVUsaUJBQWlCLENBQ3JDLElBQXNCLEVBQ3RCLEtBQWdCLEVBQ2hCLE1BQXlDLEVBQ3pDLGVBQTZCLElBQUksd0JBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBRXhELElBQUksSUFBQSwrQkFBa0IsRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxJQUFBLHlCQUFhLEVBQUMsTUFBTSxJQUFBLDBCQUFjLEVBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sVUFBVSxDQUFDLGlCQUFpQixDQUNqQyxJQUFJLEVBQ0osTUFBTSxFQUNOLElBQUEsdUNBQTBCLEVBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBQSw0QkFBZSxFQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNqRixZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1RCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQsIGlzRGVzY3JpcHRvcldhbGxldCwgZ2V0UG9saWN5Rm9yRW52IH0gZnJvbSAnLi4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBmZXRjaEtleWNoYWlucywgdG9CaXAzMlRyaXBsZSB9IGZyb20gJy4uL2tleWNoYWlucyc7XG5cbmltcG9ydCB7IEFkZHJlc3NDb2RlYyB9IGZyb20gJy4vcmVjaXBpZW50JztcbmltcG9ydCAqIGFzIGZpeGVkU2NyaXB0IGZyb20gJy4vZml4ZWRTY3JpcHQnO1xuaW1wb3J0ICogYXMgZGVzY3JpcHRvciBmcm9tICcuL2Rlc2NyaXB0b3InO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5VHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIGJpZ2ludCB8IG51bWJlcj4oXG4gIGNvaW46IEFic3RyYWN0VXR4b0NvaW4sXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+LFxuICBhZGRyZXNzQ29kZWM6IEFkZHJlc3NDb2RlYyA9IG5ldyBBZGRyZXNzQ29kZWMoY29pbi5uYW1lKVxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGlmIChpc0Rlc2NyaXB0b3JXYWxsZXQocGFyYW1zLndhbGxldCkpIHtcbiAgICBjb25zdCB3YWxsZXRLZXlzID0gdG9CaXAzMlRyaXBsZShhd2FpdCBmZXRjaEtleWNoYWlucyhjb2luLCBwYXJhbXMud2FsbGV0KSk7XG4gICAgcmV0dXJuIGRlc2NyaXB0b3IudmVyaWZ5VHJhbnNhY3Rpb24oXG4gICAgICBjb2luLFxuICAgICAgcGFyYW1zLFxuICAgICAgZ2V0RGVzY3JpcHRvck1hcEZyb21XYWxsZXQocGFyYW1zLndhbGxldCwgd2FsbGV0S2V5cywgZ2V0UG9saWN5Rm9yRW52KGJpdGdvLmVudikpLFxuICAgICAgYWRkcmVzc0NvZGVjXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZml4ZWRTY3JpcHQudmVyaWZ5VHJhbnNhY3Rpb24oY29pbiwgYml0Z28sIHBhcmFtcyk7XG4gIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5VHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vdmVyaWZ5VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSw4Q0FpQkM7QUF4QkQsOENBQWdHO0FBQ2hHLDRDQUE2RDtBQUc3RCwyREFBNkM7QUFDN0MseURBQTJDO0FBRXBDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsSUFBc0IsRUFDdEIsS0FBZ0IsRUFDaEIsTUFBeUMsRUFDekMsZUFBNkIsSUFBSSxDQUFDLFlBQVk7SUFFOUMsSUFBSSxJQUFBLCtCQUFrQixFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sVUFBVSxHQUFHLElBQUEseUJBQWEsRUFBQyxNQUFNLElBQUEsMEJBQWMsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDNUUsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQ2pDLElBQUksRUFDSixNQUFNLEVBQ04sSUFBQSx1Q0FBMEIsRUFBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFBLDRCQUFlLEVBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ2pGLFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBnZXREZXNjcmlwdG9yTWFwRnJvbVdhbGxldCwgaXNEZXNjcmlwdG9yV2FsbGV0LCBnZXRQb2xpY3lGb3JFbnYgfSBmcm9tICcuLi9kZXNjcmlwdG9yJztcbmltcG9ydCB7IGZldGNoS2V5Y2hhaW5zLCB0b0JpcDMyVHJpcGxlIH0gZnJvbSAnLi4va2V5Y2hhaW5zJztcblxuaW1wb3J0IHsgQWRkcmVzc0NvZGVjIH0gZnJvbSAnLi9yZWNpcGllbnQnO1xuaW1wb3J0ICogYXMgZml4ZWRTY3JpcHQgZnJvbSAnLi9maXhlZFNjcmlwdCc7XG5pbXBvcnQgKiBhcyBkZXNjcmlwdG9yIGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgYmlnaW50IHwgbnVtYmVyPihcbiAgY29pbjogQWJzdHJhY3RVdHhvQ29pbixcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgcGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj4sXG4gIGFkZHJlc3NDb2RlYzogQWRkcmVzc0NvZGVjID0gY29pbi5hZGRyZXNzQ29kZWNcbik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoaXNEZXNjcmlwdG9yV2FsbGV0KHBhcmFtcy53YWxsZXQpKSB7XG4gICAgY29uc3Qgd2FsbGV0S2V5cyA9IHRvQmlwMzJUcmlwbGUoYXdhaXQgZmV0Y2hLZXljaGFpbnMoY29pbiwgcGFyYW1zLndhbGxldCkpO1xuICAgIHJldHVybiBkZXNjcmlwdG9yLnZlcmlmeVRyYW5zYWN0aW9uKFxuICAgICAgY29pbixcbiAgICAgIHBhcmFtcyxcbiAgICAgIGdldERlc2NyaXB0b3JNYXBGcm9tV2FsbGV0KHBhcmFtcy53YWxsZXQsIHdhbGxldEtleXMsIGdldFBvbGljeUZvckVudihiaXRnby5lbnYpKSxcbiAgICAgIGFkZHJlc3NDb2RlY1xuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZpeGVkU2NyaXB0LnZlcmlmeVRyYW5zYWN0aW9uKGNvaW4sIGJpdGdvLCBwYXJhbXMpO1xuICB9XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"descriptorAddress.d.ts","sourceRoot":"","sources":["../../../../test/unit/descriptorAddress.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQpE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGzF"}
1
+ {"version":3,"file":"descriptorAddress.d.ts","sourceRoot":"","sources":["../../../../test/unit/descriptorAddress.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAUpE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAGzF"}
@@ -38,11 +38,20 @@ const assert = __importStar(require("node:assert"));
38
38
  const wasm_utxo_1 = require("@bitgo/wasm-utxo");
39
39
  const testutils = __importStar(require("@bitgo/wasm-utxo/testutils"));
40
40
  const src_1 = require("../../src");
41
+ const btc_1 = require("../../src/impl/btc");
41
42
  const util_1 = require("./util");
42
43
  function getDescriptorAddress(d, index, coinName) {
43
44
  const derivedScript = src_1.descriptor.Descriptor.fromString(d, 'derivable').atDerivationIndex(index).scriptPubkey();
44
45
  return wasm_utxo_1.address.fromOutputScriptWithCoin(derivedScript, coinName);
45
46
  }
47
+ class RegtestTbtc extends btc_1.Tbtc {
48
+ constructor() {
49
+ super(util_1.defaultBitGo);
50
+ }
51
+ get wasmName() {
52
+ return 'tbtcreg';
53
+ }
54
+ }
46
55
  describe('descriptor wallets', function () {
47
56
  const coin = (0, util_1.getUtxoCoin)('tbtc');
48
57
  const xpubs = testutils.getKeyTriple('setec astronomy').map((k) => k.neutered().toBase58());
@@ -65,9 +74,9 @@ describe('descriptor wallets', function () {
65
74
  }
66
75
  const descFoo = getNamedDescriptor2Of2('foo', xpubs[0], xpubs[1]);
67
76
  const descBar = getNamedDescriptor2Of2('bar', xpubs[1], xpubs[0]);
68
- const addressFoo0 = getDescriptorAddress(descFoo.value, 0, coin.name);
69
- const addressFoo1 = getDescriptorAddress(descFoo.value, 1, coin.name);
70
- const addressBar0 = getDescriptorAddress(descBar.value, 0, coin.name);
77
+ const addressFoo0 = getDescriptorAddress(descFoo.value, 0, coin.wasmName);
78
+ const addressFoo1 = getDescriptorAddress(descFoo.value, 1, coin.wasmName);
79
+ const addressBar0 = getDescriptorAddress(descBar.value, 0, coin.wasmName);
71
80
  it('has expected values', function () {
72
81
  assert.deepStrictEqual([addressFoo0, addressFoo1, addressBar0], [
73
82
  '2N9b1trWxMJN16mTzGJypFn6pEWfXtgh689',
@@ -99,5 +108,16 @@ describe('descriptor wallets', function () {
99
108
  runTestIsAddress(addressFoo1, 0, 'foo', descFoo.value.slice(-8), /Address mismatch for descriptor/);
100
109
  runTestIsAddress(addressBar0, 0, 'bar', descFoo.value.slice(-8), /Descriptor checksum mismatch/);
101
110
  runTestIsAddress(addressFoo0, 0, 'bar', descBar.value.slice(-8), /Address mismatch for descriptor/);
111
+ it('uses the coin address codec for descriptor wallet addresses', async function () {
112
+ const regtestCoin = new RegtestTbtc();
113
+ const address = getDescriptorAddress(descFoo.value, 0, regtestCoin.wasmName);
114
+ const wallet = getIWalletWithDescriptors([descFoo, descBar]);
115
+ assert.strictEqual(await regtestCoin.isWalletAddress({
116
+ address,
117
+ index: 0,
118
+ coinSpecific: { descriptorName: 'foo', descriptorChecksum: descFoo.value.slice(-8) },
119
+ keychains: xpubs.map((pub) => ({ pub })),
120
+ }, wallet), true);
121
+ });
102
122
  });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvckFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvZGVzY3JpcHRvckFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSxvREFHQztBQWJELG9EQUFzQztBQUV0QyxnREFBb0U7QUFDcEUsc0VBQXdEO0FBR3hELG1DQUFnRDtBQUVoRCxpQ0FBcUM7QUFFckMsU0FBZ0Isb0JBQW9CLENBQUMsQ0FBUyxFQUFFLEtBQWEsRUFBRSxRQUFrQjtJQUMvRSxNQUFNLGFBQWEsR0FBRyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFHLE9BQU8sbUJBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtJQUM3QixNQUFNLElBQUksR0FBRyxJQUFBLGtCQUFXLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFNUYsU0FBUyxZQUFZLENBQUMsVUFBa0I7UUFDdEMsT0FBTyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxTQUFTLHNCQUFzQixDQUFDLElBQVksRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUNoRSxPQUFPO1lBQ0wsSUFBSTtZQUNKLEtB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RUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO0lBQ2pHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztBQUN0RyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdub2RlOmFzc2VydCc7XG5cbmltcG9ydCB7IGFkZHJlc3MgYXMgd2FzbUFkZHJlc3MsIENvaW5OYW1lIH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5pbXBvcnQgKiBhcyB0ZXN0dXRpbHMgZnJvbSAnQGJpdGdvL3dhc20tdXR4by90ZXN0dXRpbHMnO1xuaW1wb3J0IHsgSVdhbGxldCwgV2FsbGV0Q29pblNwZWNpZmljIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcblxuaW1wb3J0IHsgZGVzY3JpcHRvciBhcyB1dHhvZCB9IGZyb20gJy4uLy4uL3NyYyc7XG5cbmltcG9ydCB7IGdldFV0eG9Db2luIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlc2NyaXB0b3JBZGRyZXNzKGQ6IHN0cmluZywgaW5kZXg6IG51bWJlciwgY29pbk5hbWU6IENvaW5OYW1lKTogc3RyaW5nIHtcbiAgY29uc3QgZGVyaXZlZFNjcmlwdCA9IHV0eG9kLkRlc2NyaXB0b3IuZnJvbVN0cmluZyhkLCAnZGVyaXZhYmxlJykuYXREZXJpdmF0aW9uSW5kZXgoaW5kZXgpLnNjcmlwdFB1YmtleSgpO1xuICByZXR1cm4gd2FzbUFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdFdpdGhDb2luKGRlcml2ZWRTY3JpcHQsIGNvaW5OYW1lKTtcbn1cblxuZGVzY3JpYmUoJ2Rlc2NyaXB0b3Igd2FsbGV0cycsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgY29pbiA9IGdldFV0eG9Db2luKCd0YnRjJyk7XG4gIGNvbnN0IHhwdWJzID0gdGVzdHV0aWxzLmdldEtleVRyaXBsZSgnc2V0ZWMgYXN0cm9ub215JykubWFwKChrKSA9PiBrLm5ldXRlcmVkKCkudG9CYXNlNTgoKSk7XG5cbiAgZnVuY3Rpb24gd2l0aENoZWNrc3VtKGRlc2NyaXB0b3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHV0eG9kLkRlc2NyaXB0b3IuZnJvbVN0cmluZyhkZXNjcmlwdG9yLCAnZGVyaXZhYmxlJykudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldE5hbWVkRGVzY3JpcHRvcjJPZjIobmFtZTogc3RyaW5nLCBhOiBzdHJpbmcsIGI6IHN0cmluZyk6IHV0eG9kLk5hbWVkRGVzY3JpcHRvciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZTogd2l0aENoZWNrc3VtKGBzaChtdWx0aSgyLCR7YX0vKiwke2J9LyopKWApLFxuICAgICAgc2lnbmF0dXJlczogW10sXG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldElXYWxsZXRXaXRoRGVzY3JpcHRvcnMoZGVzY3JpcHRvcnM6IHV0eG9kLk5hbWVkRGVzY3JpcHRvcltdKTogSVdhbGxldCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvaW5TcGVjaWZpYygpIHtcbiAgICAgICAgcmV0dXJuIHsgZGVzY3JpcHRvcnMgfSBhcyB1bmtub3duIGFzIFdhbGxldENvaW5TcGVjaWZpYztcbiAgICAgIH0sXG4gICAgfSBhcyBJV2FsbGV0O1xuICB9XG5cbiAgY29uc3QgZGVzY0ZvbyA9IGdldE5hbWVkRGVzY3JpcHRvcjJPZjIoJ2ZvbycsIHhwdWJzWzBdLCB4cHVic1sxXSk7XG4gIGNvbnN0IGRlc2NCYXIgPSBnZXROYW1lZERlc2NyaXB0b3IyT2YyKCdiYXInLCB4cHVic1sxXSwgeHB1YnNbMF0pO1xuICBjb25zdCBhZGRyZXNzRm9vMCA9IGdldERlc2NyaXB0b3JBZGRyZXNzKGRlc2NGb28udmFsdWUsIDAsIGNvaW4ubmFtZSk7XG4gIGNvbnN0IGFkZHJlc3NGb28xID0gZ2V0RGVzY3JpcHRvckFkZHJlc3MoZGVzY0Zvby52YWx1ZSwgMSwgY29pbi5uYW1lKTtcbiAgY29uc3QgYWRkcmVzc0JhcjAgPSBnZXREZXNjcmlwdG9yQWRkcmVzcyhkZXNjQmFyLnZhbHVlLCAwLCBjb2luLm5hbWUpO1xuXG4gIGl0KCdoYXMgZXhwZWN0ZWQgdmFsdWVzJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoXG4gICAgICBbYWRkcmVzc0ZvbzAsIGFkZHJlc3NGb28xLCBhZGRyZXNzQmFyMF0sXG4gICAgICBbXG4gICAgICAgICcyTjliMXRyV3hNSk4xNm1UekdKeXBGbjZwRVdmWHRnaDY4OScsXG4gICAgICAgICcyTjFZRnpqNEVDemNqdXJ1YUV2U3pHYUdHSDF0b3BNWE1YWicsXG4gICAgICAgICcyTjlvTjVLYzJmTHQyTXJ4RWt1UVBzeThGZzJLZHJGZmVLSCcsXG4gICAgICBdXG4gICAgKTtcbiAgfSk7XG5cbiAgZnVuY3Rpb24gcnVuVGVzdElzQWRkcmVzcyhcbiAgICBhZGRyZXNzOiBzdHJpbmcsXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBkZXNjcmlwdG9yTmFtZTogc3RyaW5nLFxuICAgIGRlc2NyaXB0b3JDaGVja3N1bTogc3RyaW5nLFxuICAgIGV4cGVjdGVkOiB0cnVlIHwgRXJyb3IgfCBSZWdFeHBcbiAgKSB7XG4gICAgaXQoYHNob3VsZCByZXR1cm4gJHtleHBlY3RlZH0gZm9yIGFkZHJlc3MgJHthZGRyZXNzfSB3aXRoIGluZGV4ICR7aW5kZXh9IGFuZCBkZXNjcmlwdG9yICR7ZGVzY3JpcHRvck5hbWV9IHdpdGggY2hlY2tzdW0gJHtkZXNjcmlwdG9yQ2hlY2tzdW19YCwgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgd2FsbGV0ID0gZ2V0SVdhbGxldFdpdGhEZXNjcmlwdG9ycyhbZGVzY0ZvbywgZGVzY0Jhcl0pO1xuICAgICAgYXN5bmMgZnVuY3Rpb24gZigpIHtcbiAgICAgICAgcmV0dXJuIGNvaW4uaXNXYWxsZXRBZGRyZXNzKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3MsXG4gICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIGNvaW5TcGVjaWZpYzogeyBkZXNjcmlwdG9yTmFtZSwgZGVzY3JpcHRvckNoZWNrc3VtIH0sXG4gICAgICAgICAgICBrZXljaGFpbnM6IHhwdWJzLm1hcCgocHViKSA9PiAoeyBwdWIgfSkpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgd2FsbGV0XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoZXhwZWN0ZWQgPT09IHRydWUpIHtcbiAgICAgICAgYXNzZXJ0LmVxdWFsKGF3YWl0IGYoKSwgZXhwZWN0ZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gYmVjYXVzZSBpc1dhbGxldEFkZHJlc3MgaXMgc3R1cGlkIGl0IGFjdHVhbGx5IHRocm93cyBpbnN0ZWFkIG9mIHJldHVybmluZyBmYWxzZVxuICAgICAgICBhd2FpdCBhc3NlcnQucmVqZWN0cyhmLCBleHBlY3RlZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBydW5UZXN0SXNBZGRyZXNzKGFkZHJlc3NGb28wLCAwLCAnZm9vJywgZGVzY0Zvby52YWx1ZS5zbGljZSgtOCksIHRydWUpO1xuICBydW5UZXN0SXNBZGRyZXNzKGFkZHJlc3NGb28xLCAwLCAnZm9vJywgZGVzY0Zvby52YWx1ZS5zbGljZSgtOCksIC9BZGRyZXNzIG1pc21hdGNoIGZvciBkZXNjcmlwdG9yLyk7XG4gIHJ1blRlc3RJc0FkZHJlc3MoYWRkcmVzc0JhcjAsIDAsICdiYXInLCBkZXNjRm9vLnZhbHVlLnNsaWNlKC04KSwgL0Rlc2NyaXB0b3IgY2hlY2tzdW0gbWlzbWF0Y2gvKTtcbiAgcnVuVGVzdElzQWRkcmVzcyhhZGRyZXNzRm9vMCwgMCwgJ2JhcicsIGRlc2NCYXIudmFsdWUuc2xpY2UoLTgpLCAvQWRkcmVzcyBtaXNtYXRjaCBmb3IgZGVzY3JpcHRvci8pO1xufSk7XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvckFkZHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvZGVzY3JpcHRvckFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFZQSxvREFHQztBQWZELG9EQUFzQztBQUV0QyxnREFBb0U7QUFDcEUsc0VBQXdEO0FBR3hELG1DQUFnRDtBQUNoRCw0Q0FBMEM7QUFHMUMsaUNBQW1EO0FBRW5ELFNBQWdCLG9CQUFvQixDQUFDLENBQVMsRUFBRSxLQUFhLEVBQUUsUUFBa0I7SUFDL0UsTUFBTSxhQUFhLEdBQUcsZ0JBQUssQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxRyxPQUFPLG1CQUFXLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxNQUFNLFdBQVksU0FBUSxVQUFJO0lBQzVCO1FBQ0UsS0FBSyxDQUFDLG1CQUFZLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBYSxRQUFRO1FBQ25CLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUVELFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtJQUM3QixNQUFNLElBQUksR0FBRyxJQUFBLGtCQUFXLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFNUYsU0FBUyxZQUFZLENBQUMsVUFBa0I7UUFDdEMsT0FBTyxnQkFBSyxDQUFDLFVBQVUsQ0FB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QztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ25vZGU6YXNzZXJ0JztcblxuaW1wb3J0IHsgYWRkcmVzcyBhcyB3YXNtQWRkcmVzcywgQ29pbk5hbWUgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcbmltcG9ydCAqIGFzIHRlc3R1dGlscyBmcm9tICdAYml0Z28vd2FzbS11dHhvL3Rlc3R1dGlscyc7XG5pbXBvcnQgeyBJV2FsbGV0LCBXYWxsZXRDb2luU3BlY2lmaWMgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBkZXNjcmlwdG9yIGFzIHV0eG9kIH0gZnJvbSAnLi4vLi4vc3JjJztcbmltcG9ydCB7IFRidGMgfSBmcm9tICcuLi8uLi9zcmMvaW1wbC9idGMnO1xuaW1wb3J0IHR5cGUgeyBXYXNtVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vc3JjL25hbWVzJztcblxuaW1wb3J0IHsgZGVmYXVsdEJpdEdvLCBnZXRVdHhvQ29pbiB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXNjcmlwdG9yQWRkcmVzcyhkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIsIGNvaW5OYW1lOiBDb2luTmFtZSk6IHN0cmluZyB7XG4gIGNvbnN0IGRlcml2ZWRTY3JpcHQgPSB1dHhvZC5EZXNjcmlwdG9yLmZyb21TdHJpbmcoZCwgJ2Rlcml2YWJsZScpLmF0RGVyaXZhdGlvbkluZGV4KGluZGV4KS5zY3JpcHRQdWJrZXkoKTtcbiAgcmV0dXJuIHdhc21BZGRyZXNzLmZyb21PdXRwdXRTY3JpcHRXaXRoQ29pbihkZXJpdmVkU2NyaXB0LCBjb2luTmFtZSk7XG59XG5cbmNsYXNzIFJlZ3Rlc3RUYnRjIGV4dGVuZHMgVGJ0YyB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGRlZmF1bHRCaXRHbyk7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgd2FzbU5hbWUoKTogV2FzbVV0eG9Db2luTmFtZSB7XG4gICAgcmV0dXJuICd0YnRjcmVnJztcbiAgfVxufVxuXG5kZXNjcmliZSgnZGVzY3JpcHRvciB3YWxsZXRzJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBjb2luID0gZ2V0VXR4b0NvaW4oJ3RidGMnKTtcbiAgY29uc3QgeHB1YnMgPSB0ZXN0dXRpbHMuZ2V0S2V5VHJpcGxlKCdzZXRlYyBhc3Ryb25vbXknKS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKTtcblxuICBmdW5jdGlvbiB3aXRoQ2hlY2tzdW0oZGVzY3JpcHRvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXR4b2QuRGVzY3JpcHRvci5mcm9tU3RyaW5nKGRlc2NyaXB0b3IsICdkZXJpdmFibGUnKS50b1N0cmluZygpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TmFtZWREZXNjcmlwdG9yMk9mMihuYW1lOiBzdHJpbmcsIGE6IHN0cmluZywgYjogc3RyaW5nKTogdXR4b2QuTmFtZWREZXNjcmlwdG9yIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZSxcbiAgICAgIHZhbHVlOiB3aXRoQ2hlY2tzdW0oYHNoKG11bHRpKDIsJHthfS8qLCR7Yn0vKikpYCksXG4gICAgICBzaWduYXR1cmVzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0SVdhbGxldFdpdGhEZXNjcmlwdG9ycyhkZXNjcmlwdG9yczogdXR4b2QuTmFtZWREZXNjcmlwdG9yW10pOiBJV2FsbGV0IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29pblNwZWNpZmljKCkge1xuICAgICAgICByZXR1cm4geyBkZXNjcmlwdG9ycyB9IGFzIHVua25vd24gYXMgV2FsbGV0Q29pblNwZWNpZmljO1xuICAgICAgfSxcbiAgICB9IGFzIElXYWxsZXQ7XG4gIH1cblxuICBjb25zdCBkZXNjRm9vID0gZ2V0TmFtZWREZXNjcmlwdG9yMk9mMignZm9vJywgeHB1YnNbMF0sIHhwdWJzWzFdKTtcbiAgY29uc3QgZGVzY0JhciA9IGdldE5hbWVkRGVzY3JpcHRvcjJPZjIoJ2JhcicsIHhwdWJzWzFdLCB4cHVic1swXSk7XG4gIGNvbnN0IGFkZHJlc3NGb28wID0gZ2V0RGVzY3JpcHRvckFkZHJlc3MoZGVzY0Zvby52YWx1ZSwgMCwgY29pbi53YXNtTmFtZSk7XG4gIGNvbnN0IGFkZHJlc3NGb28xID0gZ2V0RGVzY3JpcHRvckFkZHJlc3MoZGVzY0Zvby52YWx1ZSwgMSwgY29pbi53YXNtTmFtZSk7XG4gIGNvbnN0IGFkZHJlc3NCYXIwID0gZ2V0RGVzY3JpcHRvckFkZHJlc3MoZGVzY0Jhci52YWx1ZSwgMCwgY29pbi53YXNtTmFtZSk7XG5cbiAgaXQoJ2hhcyBleHBlY3RlZCB2YWx1ZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIFthZGRyZXNzRm9vMCwgYWRkcmVzc0ZvbzEsIGFkZHJlc3NCYXIwXSxcbiAgICAgIFtcbiAgICAgICAgJzJOOWIxdHJXeE1KTjE2bVR6R0p5cEZuNnBFV2ZYdGdoNjg5JyxcbiAgICAgICAgJzJOMVlGemo0RUN6Y2p1cnVhRXZTekdhR0dIMXRvcE1YTVhaJyxcbiAgICAgICAgJzJOOW9ONUtjMmZMdDJNcnhFa3VRUHN5OEZnMktkckZmZUtIJyxcbiAgICAgIF1cbiAgICApO1xuICB9KTtcblxuICBmdW5jdGlvbiBydW5UZXN0SXNBZGRyZXNzKFxuICAgIGFkZHJlc3M6IHN0cmluZyxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIGRlc2NyaXB0b3JOYW1lOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRvckNoZWNrc3VtOiBzdHJpbmcsXG4gICAgZXhwZWN0ZWQ6IHRydWUgfCBFcnJvciB8IFJlZ0V4cFxuICApIHtcbiAgICBpdChgc2hvdWxkIHJldHVybiAke2V4cGVjdGVkfSBmb3IgYWRkcmVzcyAke2FkZHJlc3N9IHdpdGggaW5kZXggJHtpbmRleH0gYW5kIGRlc2NyaXB0b3IgJHtkZXNjcmlwdG9yTmFtZX0gd2l0aCBjaGVja3N1bSAke2Rlc2NyaXB0b3JDaGVja3N1bX1gLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB3YWxsZXQgPSBnZXRJV2FsbGV0V2l0aERlc2NyaXB0b3JzKFtkZXNjRm9vLCBkZXNjQmFyXSk7XG4gICAgICBhc3luYyBmdW5jdGlvbiBmKCkge1xuICAgICAgICByZXR1cm4gY29pbi5pc1dhbGxldEFkZHJlc3MoXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzcyxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgY29pblNwZWNpZmljOiB7IGRlc2NyaXB0b3JOYW1lLCBkZXNjcmlwdG9yQ2hlY2tzdW0gfSxcbiAgICAgICAgICAgIGtleWNoYWluczogeHB1YnMubWFwKChwdWIpID0+ICh7IHB1YiB9KSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB3YWxsZXRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChleHBlY3RlZCA9PT0gdHJ1ZSkge1xuICAgICAgICBhc3NlcnQuZXF1YWwoYXdhaXQgZigpLCBleHBlY3RlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBiZWNhdXNlIGlzV2FsbGV0QWRkcmVzcyBpcyBzdHVwaWQgaXQgYWN0dWFsbHkgdGhyb3dzIGluc3RlYWQgb2YgcmV0dXJuaW5nIGZhbHNlXG4gICAgICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKGYsIGV4cGVjdGVkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJ1blRlc3RJc0FkZHJlc3MoYWRkcmVzc0ZvbzAsIDAsICdmb28nLCBkZXNjRm9vLnZhbHVlLnNsaWNlKC04KSwgdHJ1ZSk7XG4gIHJ1blRlc3RJc0FkZHJlc3MoYWRkcmVzc0ZvbzEsIDAsICdmb28nLCBkZXNjRm9vLnZhbHVlLnNsaWNlKC04KSwgL0FkZHJlc3MgbWlzbWF0Y2ggZm9yIGRlc2NyaXB0b3IvKTtcbiAgcnVuVGVzdElzQWRkcmVzcyhhZGRyZXNzQmFyMCwgMCwgJ2JhcicsIGRlc2NGb28udmFsdWUuc2xpY2UoLTgpLCAvRGVzY3JpcHRvciBjaGVja3N1bSBtaXNtYXRjaC8pO1xuICBydW5UZXN0SXNBZGRyZXNzKGFkZHJlc3NGb28wLCAwLCAnYmFyJywgZGVzY0Jhci52YWx1ZS5zbGljZSgtOCksIC9BZGRyZXNzIG1pc21hdGNoIGZvciBkZXNjcmlwdG9yLyk7XG5cbiAgaXQoJ3VzZXMgdGhlIGNvaW4gYWRkcmVzcyBjb2RlYyBmb3IgZGVzY3JpcHRvciB3YWxsZXQgYWRkcmVzc2VzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IHJlZ3Rlc3RDb2luID0gbmV3IFJlZ3Rlc3RUYnRjKCk7XG4gICAgY29uc3QgYWRkcmVzcyA9IGdldERlc2NyaXB0b3JBZGRyZXNzKGRlc2NGb28udmFsdWUsIDAsIHJlZ3Rlc3RDb2luLndhc21OYW1lKTtcbiAgICBjb25zdCB3YWxsZXQgPSBnZXRJV2FsbGV0V2l0aERlc2NyaXB0b3JzKFtkZXNjRm9vLCBkZXNjQmFyXSk7XG5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICBhd2FpdCByZWd0ZXN0Q29pbi5pc1dhbGxldEFkZHJlc3MoXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgIGluZGV4OiAwLFxuICAgICAgICAgIGNvaW5TcGVjaWZpYzogeyBkZXNjcmlwdG9yTmFtZTogJ2ZvbycsIGRlc2NyaXB0b3JDaGVja3N1bTogZGVzY0Zvby52YWx1ZS5zbGljZSgtOCkgfSxcbiAgICAgICAgICBrZXljaGFpbnM6IHhwdWJzLm1hcCgocHViKSA9PiAoeyBwdWIgfSkpLFxuICAgICAgICB9LFxuICAgICAgICB3YWxsZXRcbiAgICAgICksXG4gICAgICB0cnVlXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -67,5 +67,13 @@ describe('Custom BCH Tests', function () {
67
67
  strict_1.default.throws(() => bch.canonicalAddress('bitcoincash:qqq3728yw0y47sqn6l2na30mcw6zm78dzqre909m2r', 'blah'));
68
68
  strict_1.default.throws(() => bch.canonicalAddress(undefined, 'blah'));
69
69
  });
70
+ it('should validate BCH address formats through format-specific codecs', function () {
71
+ const base58Address = '1BpEi6DfDAUFd7GtittLSdBeYJvcoaVggu';
72
+ const cashaddr = 'bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a';
73
+ strict_1.default.strictEqual(bch.isValidAddress(base58Address), true);
74
+ strict_1.default.strictEqual(bch.isValidAddress(cashaddr), true);
75
+ strict_1.default.strictEqual(bch.isValidAddress(cashaddr, { anyFormat: false }), false);
76
+ strict_1.default.strictEqual(bch.isValidAddress('bitcoincash:not-an-address'), false);
77
+ });
70
78
  });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2ltcGwvYmNoL3VuaXQvYmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0VBQXdDO0FBRXhDLDRDQUEwQztBQUMxQyw4Q0FBMEQ7QUFFMUQscURBQXdEO0FBRXhELFNBQVMsRUFBRSxDQUFDLE1BQWMsRUFBRSxRQUFnQjtJQUMxQyxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUMzQixNQUFNLEtBQUssR0FBaUIsb0JBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzNCLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5QyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQVEsQ0FBQztJQUNyQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBUyxDQUFDO0lBRXhDLGtFQUFrRTtJQUNsRSxFQUFFLENBQUMsb0NBQW9DLEVBQUU7UUFDdkMsNkJBQTZCO1FBQzdCLEVBQUUsQ0FDQSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsd0RBQXdELEVBQUUsVUFBVSxDQUFDLEVBQzFGLHdEQUF3RCxDQUN6RCxDQUFDO1FBQ0YsRUFBRSxDQUNBLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyw0Q0FBNEMsRUFBRSxVQUFVLENBQUMsRUFDOUUsd0RBQXdELENBQ3pELENBQUM7UUFDRiwyQkFBMkI7UUFDM0IsRUFBRSxDQUNBLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxvQ0FBb0MsRUFBRSxVQUFVLENBQUMsRUFDdEUsd0RBQXdELENBQ3pELENBQUM7UUFDRiw0QkFBNEI7UUFDNUIsRUFBRSxDQUNBLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyx3REFBd0QsRUFBRSxVQUFVLENBQUMsRUFDMUYsd0RBQXdELENBQ3pELENBQUM7UUFDRixFQUFFLENBQ0EsR0FBRyxDQUFDLGdCQUFnQixDQUFDLDRDQUE0QyxFQUFFLFVBQVUsQ0FBQyxFQUM5RSx3REFBd0QsQ0FDekQsQ0FBQztRQUNGLDBCQUEwQjtRQUMxQixFQUFFLENBQ0EsR0FBRyxDQUFDLGdCQUFnQixDQUFDLG9DQUFvQyxFQUFFLFVBQVUsQ0FBQyxFQUN0RSx3REFBd0QsQ0FDekQsQ0FBQztRQUNGLDJCQUEyQjtRQUMzQixFQUFFLENBQ0EsR0FBRyxDQUFDLGdCQUFnQixDQUFDLDRDQUE0QyxFQUFFLFVBQVUsQ0FBQyxFQUM5RSx3REFBd0QsQ0FDekQsQ0FBQztRQUNGLDJCQUEyQjtRQUMzQixFQUFFLENBQ0EsR0FBRyxDQUFDLGdCQUFnQixDQUFDLHdEQUF3RCxFQUFFLFFBQVEsQ0FBQyxFQUN4RixtQ0FBbUMsQ0FDcEMsQ0FBQztRQUNGLEVBQUUsQ0FDQSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsNENBQTRDLEVBQUUsUUFBUSxDQUFDLEVBQzVFLG1DQUFtQyxDQUNwQyxDQUFDO1FBQ0YseUJBQXlCO1FBQ3pCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsbUNBQW1DLEVBQUUsUUFBUSxDQUFDLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztRQUM3RywwQkFBMEI7UUFDMUIsRUFBRSxDQUNBLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyx3REFBd0QsRUFBRSxRQUFRLENBQUMsRUFDeEYsb0NBQW9DLENBQ3JDLENBQUM7UUFDRixFQUFFLENBQ0EsR0FBRyxDQUFDLGdCQUFnQixDQUFDLDRDQUE0QyxFQUFFLFFBQVEsQ0FBQyxFQUM1RSxvQ0FBb0MsQ0FDckMsQ0FBQztRQUNGLHdCQUF3QjtRQUN4QixFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLG9DQUFvQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLG9DQUFvQyxDQUFDLENBQUM7UUFDL0csdUNBQXVDO1FBQ3ZDLEVBQUUsQ0FDQSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsd0RBQXdELENBQUMsRUFDOUUsb0NBQW9DLENBQ3JDLENBQUM7UUFDRixFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLDRDQUE0QyxDQUFDLEVBQUUsb0NBQW9DLENBQUMsQ0FBQztRQUM3RyxrQkFBa0I7UUFDbEIsRUFBRSxDQUNBLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyx3REFBd0QsRUFBRSxRQUFRLENBQUMsRUFDeEYsbUNBQW1DLENBQ3BDLENBQUM7UUFDRixFQUFFLENBQ0EsR0FBRyxDQUFDLGdCQUFnQixDQUFDLDRDQUE0QyxFQUFFLFFBQVEsQ0FBQyxFQUM1RSxtQ0FBbUMsQ0FDcEMsQ0FBQztRQUNGLG9CQUFvQjtRQUNwQixFQUFFLENBQ0EsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFDQUFxQyxFQUFFLFVBQVUsQ0FBQyxFQUN4RSxvREFBb0QsQ0FDckQsQ0FBQztRQUNGLEVBQUUsQ0FDQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLEVBQUUsVUFBVSxDQUFDLEVBQ3ZFLG9EQUFvRCxDQUNyRCxDQUFDO1FBQ0YsRUFBRSxDQUNBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvREFBb0QsRUFBRSxVQUFVLENBQUMsRUFDdkYsb0RBQW9ELENBQ3JELENBQUM7UUFDRixFQUFFLENBQ0EsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9EQUFvRCxFQUFFLFVBQVUsQ0FBQyxFQUN2RixvREFBb0QsQ0FDckQsQ0FBQztRQUNGLEVBQUUsQ0FDQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsNENBQTRDLEVBQUUsUUFBUSxDQUFDLEVBQzdFLHFDQUFxQyxDQUN0QyxDQUFDO1FBQ0YsRUFBRSxDQUNBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw0Q0FBNEMsRUFBRSxRQUFRLENBQUMsRUFDN0UscUNBQXFDLENBQ3RDLENBQUM7UUFDRixFQUFFLENBQ0EsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDRDQUE0QyxFQUFFLFVBQVUsQ0FBQyxFQUMvRSxvREFBb0QsQ0FDckQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFO1FBQ3BDLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxvREFBb0QsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzFHLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyx3REFBd0QsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzlHLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUNqQixHQUFHLENBQUMsZ0JBQWdCLENBQUMsb0VBQW9FLEVBQUUsUUFBUSxDQUFDLENBQ3JHLENBQUM7UUFDRixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsNkNBQTZDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNuRyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsb0RBQW9ELEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsd0RBQXdELEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNoSCxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsd0RBQXdELEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM1RyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ25vZGU6YXNzZXJ0L3N0cmljdCc7XG5cbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay1hcGknO1xuaW1wb3J0IHsgVGVzdEJpdEdvLCBUZXN0Qml0R29BUEkgfSBmcm9tICdAYml0Z28vc2RrLXRlc3QnO1xuXG5pbXBvcnQgeyBCY2gsIFRiY2ggfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zcmMvaW1wbC9iY2gnO1xuXG5mdW5jdGlvbiBlcShhY3R1YWw6IHN0cmluZywgZXhwZWN0ZWQ6IHN0cmluZykge1xuICBhc3NlcnQuc3RyaWN0RXF1YWwoYWN0dWFsLCBleHBlY3RlZCk7XG59XG5cbmRlc2NyaWJlKCdDdXN0b20gQkNIIFRlc3RzJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBiaXRnbzogVGVzdEJpdEdvQVBJID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ3Rlc3QnIH0pO1xuICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgYml0Z28uc2FmZVJlZ2lzdGVyKCdiY2gnLCBCY2guY3JlYXRlSW5zdGFuY2UpO1xuICBiaXRnby5zYWZlUmVnaXN0ZXIoJ3RiY2gnLCBUYmNoLmNyZWF0ZUluc3RhbmNlKTtcblxuICBjb25zdCBiY2ggPSBiaXRnby5jb2luKCdiY2gnKSBhcyBCY2g7XG4gIGNvbnN0IHRiY2ggPSBiaXRnby5jb2luKCd0YmNoJykgYXMgVGJjaDtcblxuICAvLyB3ZSB1c2UgbWFpbm5ldCBiY2ggc28gd2UgY2FuIHJldXNlIHRoZSBtYWlubmV0IGFkZHJlc3MgZXhhbXBsZXNcbiAgaXQoJ3Nob3VsZCBjb3JyZWN0bHkgY29udmVydCBhZGRyZXNzZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gUDJQS0ggY2FzaGFkZHIgLT4gY2FzaGFkZHJcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpxcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiaXRjb2luY2FzaDpxcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnXG4gICAgKTtcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdxcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiaXRjb2luY2FzaDpxcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnXG4gICAgKTtcbiAgICAvLyBQMlBLSCBiYXNlNTggLT4gY2FzaGFkZHJcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCcxQnBFaTZEZkRBVUZkN0d0aXR0TFNkQmVZSnZjb2FWZ2d1JywgJ2Nhc2hhZGRyJyksXG4gICAgICAnYml0Y29pbmNhc2g6cXBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dnkyMmdkeDZhJ1xuICAgICk7XG4gICAgLy8gUDJTSCBjYXNoYWRkciAtPiBjYXNoYWRkclxuICAgIGVxKFxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOnBwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcScsICdjYXNoYWRkcicpLFxuICAgICAgJ2JpdGNvaW5jYXNoOnBwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcSdcbiAgICApO1xuICAgIGVxKFxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ3BwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcScsICdjYXNoYWRkcicpLFxuICAgICAgJ2JpdGNvaW5jYXNoOnBwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcSdcbiAgICApO1xuICAgIC8vIFAyU0ggYmFzZTU4IC0+IGNhc2hhZGRyXG4gICAgZXEoXG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnM0NXRmRkaTZtNG5kaUd5S3F6WXZzRllhZ3FETFBWTVR6QycsICdjYXNoYWRkcicpLFxuICAgICAgJ2JpdGNvaW5jYXNoOnBwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcSdcbiAgICApO1xuICAgIC8vIG5vICdiaXRjb2luY2FzaDonIHByZWZpeFxuICAgIGVxKFxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ3BwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcScsICdjYXNoYWRkcicpLFxuICAgICAgJ2JpdGNvaW5jYXNoOnBwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcSdcbiAgICApO1xuICAgIC8vIFAyUEtIIGNhc2hhZGRyIC0+IGJhc2U1OFxuICAgIGVxKFxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOnFxcTM3Mjh5dzB5NDdzcW42bDJuYTMwbWN3NnptNzhkenFyZTkwOW0ycicsICdiYXNlNTgnKSxcbiAgICAgICcxNncxRDVXUlZLSnVaVXNTUnpkTHA5dzNZR2Nnb3hEWGInXG4gICAgKTtcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdxcXEzNzI4eXcweTQ3c3FuNmwybmEzMG1jdzZ6bTc4ZHpxcmU5MDltMnInLCAnYmFzZTU4JyksXG4gICAgICAnMTZ3MUQ1V1JWS0p1WlVzU1J6ZExwOXczWUdjZ294RFhiJ1xuICAgICk7XG4gICAgLy8gUDJQS0ggYmFzZTU4IC0+IGJhc2U1OFxuICAgIGVxKGJjaC5jYW5vbmljYWxBZGRyZXNzKCcxNncxRDVXUlZLSnVaVXNTUnpkTHA5dzNZR2Nnb3hEWGInLCAnYmFzZTU4JyksICcxNncxRDVXUlZLSnVaVXNTUnpkTHA5dzNZR2Nnb3hEWGInKTtcbiAgICAvLyBQMlNIIGNhc2hhZGRyIC0+IGJhc2U1OFxuICAgIGVxKFxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOnByOTVzeTNqOXh3ZDJhcDMyeGt5a3R0cjRjdmN1N2FzNHljOTNreTI4ZScsICdiYXNlNTgnKSxcbiAgICAgICczTERzUzU3OXk3c3J1YWRxdTExYmVFSm9UamRGaUZDZFg0J1xuICAgICk7XG4gICAgZXEoXG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygncHI5NXN5M2o5eHdkMmFwMzJ4a3lrdHRyNGN2Y3U3YXM0eWM5M2t5MjhlJywgJ2Jhc2U1OCcpLFxuICAgICAgJzNMRHNTNTc5eTdzcnVhZHF1MTFiZUVKb1RqZEZpRkNkWDQnXG4gICAgKTtcbiAgICAvLyBQMlNIIGJhc2U1OCAtPiBiYXNlNThcbiAgICBlcShiY2guY2Fub25pY2FsQWRkcmVzcygnM0xEc1M1Nzl5N3NydWFkcXUxMWJlRUpvVGpkRmlGQ2RYNCcsICdiYXNlNTgnKSwgJzNMRHNTNTc5eTdzcnVhZHF1MTFiZUVKb1RqZEZpRkNkWDQnKTtcbiAgICAvLyB1bmRlZmluZWQgdmVyc2lvbiBkZWZhdWx0cyB0byBiYXNlNThcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnKSxcbiAgICAgICczQ1dGZGRpNm00bmRpR3lLcXpZdnNGWWFncURMUFZNVHpDJ1xuICAgICk7XG4gICAgZXEoYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ3BwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3ZuMGg4MjlwcScpLCAnM0NXRmRkaTZtNG5kaUd5S3F6WXZzRllhZ3FETFBWTVR6QycpO1xuICAgIC8vIGFsbCBjYXBpdGFsaXplZFxuICAgIGVxKFxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ0JJVENPSU5DQVNIOlFRUTM3MjhZVzBZNDdTUU42TDJOQTMwTUNXNlpNNzhEWlFSRTkwOU0yUicsICdiYXNlNTgnKSxcbiAgICAgICcxNncxRDVXUlZLSnVaVXNTUnpkTHA5dzNZR2Nnb3hEWGInXG4gICAgKTtcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdRUVEzNzI4WVcwWTQ3U1FONkwyTkEzME1DVzZaTTc4RFpRUkU5MDlNMlInLCAnYmFzZTU4JyksXG4gICAgICAnMTZ3MUQ1V1JWS0p1WlVzU1J6ZExwOXczWUdjZ294RFhiJ1xuICAgICk7XG4gICAgLy8gdGVzdG5ldCBhZGRyZXNzZXNcbiAgICBlcShcbiAgICAgIHRiY2guY2Fub25pY2FsQWRkcmVzcygnMk5DRURtbUtOTm5xS3ZuV3c3cEUzUkx6dUZlNWFISFZ5MVgnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiY2h0ZXN0OnByZ3JuamVuZ3M1NTVrM2NmZjJzM2dxeGczeHl5cjl1enloOWpzNW04ZidcbiAgICApO1xuICAgIGVxKFxuICAgICAgdGJjaC5jYW5vbmljYWxBZGRyZXNzKCduM2pZQmpDemdHTnlkUXdmODNIejZHQnpHQmhNa0tmZ0wxJywgJ2Nhc2hhZGRyJyksXG4gICAgICAnYmNodGVzdDpxcmVtZ3I5ZHI5eDVzd3Y4Mms2OXFkanpydmR4Z2thYWVzZnRkcDV4bGEnXG4gICAgKTtcbiAgICBlcShcbiAgICAgIHRiY2guY2Fub25pY2FsQWRkcmVzcygnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiY2h0ZXN0OnByZ3JuamVuZ3M1NTVrM2NmZjJzM2dxeGczeHl5cjl1enloOWpzNW04ZidcbiAgICApO1xuICAgIGVxKFxuICAgICAgdGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiY2h0ZXN0OnByZ3JuamVuZ3M1NTVrM2NmZjJzM2dxeGczeHl5cjl1enloOWpzNW04ZicsICdjYXNoYWRkcicpLFxuICAgICAgJ2JjaHRlc3Q6cHJncm5qZW5nczU1NWszY2ZmMnMzZ3F4ZzN4eXlyOXV6eWg5anM1bThmJ1xuICAgICk7XG4gICAgZXEoXG4gICAgICB0YmNoLmNhbm9uaWNhbEFkZHJlc3MoJ3ByZ3JuamVuZ3M1NTVrM2NmZjJzM2dxeGczeHl5cjl1enloOWpzNW04ZicsICdiYXNlNTgnKSxcbiAgICAgICcyTkNFRG1tS05ObnFLdm5XdzdwRTNSTHp1RmU1YUhIVnkxWCdcbiAgICApO1xuICAgIGVxKFxuICAgICAgdGJjaC5jYW5vbmljYWxBZGRyZXNzKCdwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnLCAnYmFzZTU4JyksXG4gICAgICAnMk5DRURtbUtOTm5xS3ZuV3c3cEUzUkx6dUZlNWFISFZ5MVgnXG4gICAgKTtcbiAgICBlcShcbiAgICAgIHRiY2guY2Fub25pY2FsQWRkcmVzcygncHJncm5qZW5nczU1NWszY2ZmMnMzZ3F4ZzN4eXlyOXV6eWg5anM1bThmJywgJ2Nhc2hhZGRyJyksXG4gICAgICAnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZWplY3QgaW52YWxpZCBhZGRyZXNzZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBiY2guY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbmNhc2g6c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4JykpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOnlyOTVzeTNqOXh3ZDJhcDMyeGt5a3R0cjRjdmN1N2FzNHljOTNreTI4ZScsICdiYXNlNTgnKSk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PlxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOmJpdGNvaW5jYXNoOnByOTVzeTNqOXh3ZDJhcDMyeGt5a3R0cjRjdmN1N2FzNHljOTNreTI4ZScsICdiYXNlNTgnKVxuICAgICk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBiY2guY2Fub25pY2FsQWRkcmVzcygnM0REc1M1Nzl5N3NydWFkcXUxMWJlRUpvVGpkRmlGQ2RYNCcsICdiYXNlNTgnKSk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBiY2guY2Fub25pY2FsQWRkcmVzcygnOnFwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3Z5MjJnZHg2YScsICdiYXNlNTgnKSk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBiY2guY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbjpxcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnLCAnYmFzZTU4JykpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOlFQTTJRc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3Z5MjJnZHg2YScsICdjYXNoYWRkcicpKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpxcXEzNzI4eXcweTQ3c3FuNmwybmEzMG1jdzZ6bTc4ZHpxcmU5MDltMnInLCAnYmxhaCcpKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJjaC5jYW5vbmljYWxBZGRyZXNzKHVuZGVmaW5lZCBhcyBhbnksICdibGFoJykpO1xuICB9KTtcbn0pO1xuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2ltcGwvYmNoL3VuaXQvYmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0VBQXdDO0FBRXhDLDRDQUEwQztBQUMxQyw4Q0FBMEQ7QUFFMUQscURBQXdEO0FBRXhELFNBQVMsRUFBRSxDQUFDLE1BQWMsRUFBRSxRQUFnQjtJQUMxQyxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUMzQixNQUFNLEtBQUssR0FBaUIsb0JBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzNCLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5QyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFaEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQVEsQ0FBQztJQUNyQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBUyxDQUFDO0lBRXhDLGtFQUFrRTtJQUNsRSxFQUFFLENBQUMsb0NBQW9DLEVBQUU7UUFDdkMsNkJBQTZCO1FBQzdCLEVBQUUsQ0FDQSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsd0RBQXdELEVBQUUsVUFBVSxDQUFDLEVBQzFGLHdEQUF3RCxDQUN6RCxDQUFDO1FBQ0YsRUFBRSxDQUNBLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyw0Q0FBNEMsRUFBRSxVQUFVLENBQUMsRUFDOUUsd0RBQXdELENBQ3pELENBQUM7UUFDRiwy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QyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsd0RBQXdELEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM1RyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG9FQUFvRSxFQUFFO1FBQ3ZFLE1BQU0sYUFBYSxHQUFHLG9DQUFvQyxDQUFDO1FBQzNELE1BQU0sUUFBUSxHQUFHLHdEQUF3RCxDQUFDO1FBRTFFLGdCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUQsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RCxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlFLGdCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsNEJBQTRCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdub2RlOmFzc2VydC9zdHJpY3QnO1xuXG5pbXBvcnQgeyBCaXRHb0FQSSB9IGZyb20gJ0BiaXRnby9zZGstYXBpJztcbmltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcblxuaW1wb3J0IHsgQmNoLCBUYmNoIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGwvYmNoJztcblxuZnVuY3Rpb24gZXEoYWN0dWFsOiBzdHJpbmcsIGV4cGVjdGVkOiBzdHJpbmcpIHtcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGFjdHVhbCwgZXhwZWN0ZWQpO1xufVxuXG5kZXNjcmliZSgnQ3VzdG9tIEJDSCBUZXN0cycsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgYml0Z286IFRlc3RCaXRHb0FQSSA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gIGJpdGdvLnNhZmVSZWdpc3RlcignYmNoJywgQmNoLmNyZWF0ZUluc3RhbmNlKTtcbiAgYml0Z28uc2FmZVJlZ2lzdGVyKCd0YmNoJywgVGJjaC5jcmVhdGVJbnN0YW5jZSk7XG5cbiAgY29uc3QgYmNoID0gYml0Z28uY29pbignYmNoJykgYXMgQmNoO1xuICBjb25zdCB0YmNoID0gYml0Z28uY29pbigndGJjaCcpIGFzIFRiY2g7XG5cbiAgLy8gd2UgdXNlIG1haW5uZXQgYmNoIHNvIHdlIGNhbiByZXVzZSB0aGUgbWFpbm5ldCBhZGRyZXNzIGV4YW1wbGVzXG4gIGl0KCdzaG91bGQgY29ycmVjdGx5IGNvbnZlcnQgYWRkcmVzc2VzJywgZnVuY3Rpb24gKCkge1xuICAgIC8vIFAyUEtIIGNhc2hhZGRyIC0+IGNhc2hhZGRyXG4gICAgZXEoXG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbmNhc2g6cXBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dnkyMmdkeDZhJywgJ2Nhc2hhZGRyJyksXG4gICAgICAnYml0Y29pbmNhc2g6cXBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dnkyMmdkeDZhJ1xuICAgICk7XG4gICAgZXEoXG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygncXBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dnkyMmdkeDZhJywgJ2Nhc2hhZGRyJyksXG4gICAgICAnYml0Y29pbmNhc2g6cXBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dnkyMmdkeDZhJ1xuICAgICk7XG4gICAgLy8gUDJQS0ggYmFzZTU4IC0+IGNhc2hhZGRyXG4gICAgZXEoXG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnMUJwRWk2RGZEQVVGZDdHdGl0dExTZEJlWUp2Y29hVmdndScsICdjYXNoYWRkcicpLFxuICAgICAgJ2JpdGNvaW5jYXNoOnFwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3Z5MjJnZHg2YSdcbiAgICApO1xuICAgIC8vIFAyU0ggY2FzaGFkZHIgLT4gY2FzaGFkZHJcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnXG4gICAgKTtcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnXG4gICAgKTtcbiAgICAvLyBQMlNIIGJhc2U1OCAtPiBjYXNoYWRkclxuICAgIGVxKFxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJzNDV0ZkZGk2bTRuZGlHeUtxell2c0ZZYWdxRExQVk1UekMnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnXG4gICAgKTtcbiAgICAvLyBubyAnYml0Y29pbmNhc2g6JyBwcmVmaXhcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiaXRjb2luY2FzaDpwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnXG4gICAgKTtcbiAgICAvLyBQMlBLSCBjYXNoYWRkciAtPiBiYXNlNThcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpxcXEzNzI4eXcweTQ3c3FuNmwybmEzMG1jdzZ6bTc4ZHpxcmU5MDltMnInLCAnYmFzZTU4JyksXG4gICAgICAnMTZ3MUQ1V1JWS0p1WlVzU1J6ZExwOXczWUdjZ294RFhiJ1xuICAgICk7XG4gICAgZXEoXG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygncXFxMzcyOHl3MHk0N3NxbjZsMm5hMzBtY3c2em03OGR6cXJlOTA5bTJyJywgJ2Jhc2U1OCcpLFxuICAgICAgJzE2dzFENVdSVktKdVpVc1NSemRMcDl3M1lHY2dveERYYidcbiAgICApO1xuICAgIC8vIFAyUEtIIGJhc2U1OCAtPiBiYXNlNThcbiAgICBlcShiY2guY2Fub25pY2FsQWRkcmVzcygnMTZ3MUQ1V1JWS0p1WlVzU1J6ZExwOXczWUdjZ294RFhiJywgJ2Jhc2U1OCcpLCAnMTZ3MUQ1V1JWS0p1WlVzU1J6ZExwOXczWUdjZ294RFhiJyk7XG4gICAgLy8gUDJTSCBjYXNoYWRkciAtPiBiYXNlNThcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpwcjk1c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4JyksXG4gICAgICAnM0xEc1M1Nzl5N3NydWFkcXUxMWJlRUpvVGpkRmlGQ2RYNCdcbiAgICApO1xuICAgIGVxKFxuICAgICAgYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ3ByOTVzeTNqOXh3ZDJhcDMyeGt5a3R0cjRjdmN1N2FzNHljOTNreTI4ZScsICdiYXNlNTgnKSxcbiAgICAgICczTERzUzU3OXk3c3J1YWRxdTExYmVFSm9UamRGaUZDZFg0J1xuICAgICk7XG4gICAgLy8gUDJTSCBiYXNlNTggLT4gYmFzZTU4XG4gICAgZXEoYmNoLmNhbm9uaWNhbEFkZHJlc3MoJzNMRHNTNTc5eTdzcnVhZHF1MTFiZUVKb1RqZEZpRkNkWDQnLCAnYmFzZTU4JyksICczTERzUzU3OXk3c3J1YWRxdTExYmVFSm9UamRGaUZDZFg0Jyk7XG4gICAgLy8gdW5kZWZpbmVkIHZlcnNpb24gZGVmYXVsdHMgdG8gYmFzZTU4XG4gICAgZXEoXG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbmNhc2g6cHBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dm4waDgyOXBxJyksXG4gICAgICAnM0NXRmRkaTZtNG5kaUd5S3F6WXZzRllhZ3FETFBWTVR6QydcbiAgICApO1xuICAgIGVxKGJjaC5jYW5vbmljYWxBZGRyZXNzKCdwcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2bjBoODI5cHEnKSwgJzNDV0ZkZGk2bTRuZGlHeUtxell2c0ZZYWdxRExQVk1UekMnKTtcbiAgICAvLyBhbGwgY2FwaXRhbGl6ZWRcbiAgICBlcShcbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdCSVRDT0lOQ0FTSDpRUVEzNzI4WVcwWTQ3U1FONkwyTkEzME1DVzZaTTc4RFpRUkU5MDlNMlInLCAnYmFzZTU4JyksXG4gICAgICAnMTZ3MUQ1V1JWS0p1WlVzU1J6ZExwOXczWUdjZ294RFhiJ1xuICAgICk7XG4gICAgZXEoXG4gICAgICBiY2guY2Fub25pY2FsQWRkcmVzcygnUVFRMzcyOFlXMFk0N1NRTjZMMk5BMzBNQ1c2Wk03OERaUVJFOTA5TTJSJywgJ2Jhc2U1OCcpLFxuICAgICAgJzE2dzFENVdSVktKdVpVc1NSemRMcDl3M1lHY2dveERYYidcbiAgICApO1xuICAgIC8vIHRlc3RuZXQgYWRkcmVzc2VzXG4gICAgZXEoXG4gICAgICB0YmNoLmNhbm9uaWNhbEFkZHJlc3MoJzJOQ0VEbW1LTk5ucUt2bld3N3BFM1JMenVGZTVhSEhWeTFYJywgJ2Nhc2hhZGRyJyksXG4gICAgICAnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnXG4gICAgKTtcbiAgICBlcShcbiAgICAgIHRiY2guY2Fub25pY2FsQWRkcmVzcygnbjNqWUJqQ3pnR055ZFF3ZjgzSHo2R0J6R0JoTWtLZmdMMScsICdjYXNoYWRkcicpLFxuICAgICAgJ2JjaHRlc3Q6cXJlbWdyOWRyOXg1c3d2ODJrNjlxZGp6cnZkeGdrYWFlc2Z0ZHA1eGxhJ1xuICAgICk7XG4gICAgZXEoXG4gICAgICB0YmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JjaHRlc3Q6cHJncm5qZW5nczU1NWszY2ZmMnMzZ3F4ZzN4eXlyOXV6eWg5anM1bThmJywgJ2Nhc2hhZGRyJyksXG4gICAgICAnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnXG4gICAgKTtcbiAgICBlcShcbiAgICAgIHRiY2guY2Fub25pY2FsQWRkcmVzcygnYmNodGVzdDpwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnLCAnY2FzaGFkZHInKSxcbiAgICAgICdiY2h0ZXN0OnByZ3JuamVuZ3M1NTVrM2NmZjJzM2dxeGczeHl5cjl1enloOWpzNW04ZidcbiAgICApO1xuICAgIGVxKFxuICAgICAgdGJjaC5jYW5vbmljYWxBZGRyZXNzKCdwcmdybmplbmdzNTU1azNjZmYyczNncXhnM3h5eXI5dXp5aDlqczVtOGYnLCAnYmFzZTU4JyksXG4gICAgICAnMk5DRURtbUtOTm5xS3ZuV3c3cEUzUkx6dUZlNWFISFZ5MVgnXG4gICAgKTtcbiAgICBlcShcbiAgICAgIHRiY2guY2Fub25pY2FsQWRkcmVzcygncHJncm5qZW5nczU1NWszY2ZmMnMzZ3F4ZzN4eXlyOXV6eWg5anM1bThmJywgJ2Jhc2U1OCcpLFxuICAgICAgJzJOQ0VEbW1LTk5ucUt2bld3N3BFM1JMenVGZTVhSEhWeTFYJ1xuICAgICk7XG4gICAgZXEoXG4gICAgICB0YmNoLmNhbm9uaWNhbEFkZHJlc3MoJ3ByZ3JuamVuZ3M1NTVrM2NmZjJzM2dxeGczeHl5cjl1enloOWpzNW04ZicsICdjYXNoYWRkcicpLFxuICAgICAgJ2JjaHRlc3Q6cHJncm5qZW5nczU1NWszY2ZmMnMzZ3F4ZzN4eXlyOXV6eWg5anM1bThmJ1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmVqZWN0IGludmFsaWQgYWRkcmVzc2VzJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW5jYXNoOnN5M2o5eHdkMmFwMzJ4a3lrdHRyNGN2Y3U3YXM0eWM5M2t5MjhlJywgJ2Jhc2U1OCcpKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDp5cjk1c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4JykpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT5cbiAgICAgIGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpiaXRjb2luY2FzaDpwcjk1c3kzajl4d2QyYXAzMnhreWt0dHI0Y3ZjdTdhczR5Yzkza3kyOGUnLCAnYmFzZTU4JylcbiAgICApO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYmNoLmNhbm9uaWNhbEFkZHJlc3MoJzNERHNTNTc5eTdzcnVhZHF1MTFiZUVKb1RqZEZpRkNkWDQnLCAnYmFzZTU4JykpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYmNoLmNhbm9uaWNhbEFkZHJlc3MoJzpxcG0ycXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnLCAnYmFzZTU4JykpO1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYmNoLmNhbm9uaWNhbEFkZHJlc3MoJ2JpdGNvaW46cXBtMnFzem5oa3MyM3o3NjI5bW1zNnM0Y3dlZjc0dmN3dnkyMmdkeDZhJywgJ2Jhc2U1OCcpKTtcbiAgICBhc3NlcnQudGhyb3dzKCgpID0+IGJjaC5jYW5vbmljYWxBZGRyZXNzKCdiaXRjb2luY2FzaDpRUE0yUXN6bmhrczIzejc2MjltbXM2czRjd2VmNzR2Y3d2eTIyZ2R4NmEnLCAnY2FzaGFkZHInKSk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBiY2guY2Fub25pY2FsQWRkcmVzcygnYml0Y29pbmNhc2g6cXFxMzcyOHl3MHk0N3NxbjZsMm5hMzBtY3c2em03OGR6cXJlOTA5bTJyJywgJ2JsYWgnKSk7XG4gICAgYXNzZXJ0LnRocm93cygoKSA9PiBiY2guY2Fub25pY2FsQWRkcmVzcyh1bmRlZmluZWQgYXMgYW55LCAnYmxhaCcpKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBCQ0ggYWRkcmVzcyBmb3JtYXRzIHRocm91Z2ggZm9ybWF0LXNwZWNpZmljIGNvZGVjcycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBiYXNlNThBZGRyZXNzID0gJzFCcEVpNkRmREFVRmQ3R3RpdHRMU2RCZVlKdmNvYVZnZ3UnO1xuICAgIGNvbnN0IGNhc2hhZGRyID0gJ2JpdGNvaW5jYXNoOnFwbTJxc3puaGtzMjN6NzYyOW1tczZzNGN3ZWY3NHZjd3Z5MjJnZHg2YSc7XG5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYmNoLmlzVmFsaWRBZGRyZXNzKGJhc2U1OEFkZHJlc3MpLCB0cnVlKTtcbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYmNoLmlzVmFsaWRBZGRyZXNzKGNhc2hhZGRyKSwgdHJ1ZSk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJjaC5pc1ZhbGlkQWRkcmVzcyhjYXNoYWRkciwgeyBhbnlGb3JtYXQ6IGZhbHNlIH0pLCBmYWxzZSk7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJjaC5pc1ZhbGlkQWRkcmVzcygnYml0Y29pbmNhc2g6bm90LWFuLWFkZHJlc3MnKSwgZmFsc2UpO1xuICB9KTtcbn0pO1xuIl19