@bitgo/abstract-utxo 10.16.0 → 10.18.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 (334) hide show
  1. package/dist/cjs/src/abstractUtxoCoin.d.ts +9 -13
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
  3. package/dist/cjs/src/abstractUtxoCoin.js +28 -14
  4. package/dist/cjs/src/address/fixedScript.d.ts +4 -9
  5. package/dist/cjs/src/address/fixedScript.d.ts.map +1 -1
  6. package/dist/cjs/src/address/fixedScript.js +18 -50
  7. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts +4 -5
  8. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -1
  9. package/dist/cjs/src/descriptor/NamedDescriptor.js +4 -6
  10. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
  11. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  12. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +3 -38
  13. package/dist/cjs/src/descriptor/builder/builder.d.ts +2 -3
  14. package/dist/cjs/src/descriptor/builder/builder.d.ts.map +1 -1
  15. package/dist/cjs/src/descriptor/builder/builder.js +1 -1
  16. package/dist/cjs/src/descriptor/builder/parse.d.ts.map +1 -1
  17. package/dist/cjs/src/descriptor/builder/parse.js +3 -3
  18. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts +2 -2
  19. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -1
  20. package/dist/cjs/src/descriptor/createWallet/createDescriptors.js +1 -1
  21. package/dist/cjs/src/descriptor/descriptorWallet.d.ts +1 -1
  22. package/dist/cjs/src/descriptor/descriptorWallet.d.ts.map +1 -1
  23. package/dist/cjs/src/descriptor/descriptorWallet.js +1 -1
  24. package/dist/cjs/src/descriptor/index.d.ts +1 -1
  25. package/dist/cjs/src/descriptor/index.d.ts.map +1 -1
  26. package/dist/cjs/src/descriptor/index.js +1 -1
  27. package/dist/cjs/src/descriptor/validatePolicy.d.ts +3 -3
  28. package/dist/cjs/src/descriptor/validatePolicy.d.ts.map +1 -1
  29. package/dist/cjs/src/descriptor/validatePolicy.js +3 -3
  30. package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -1
  31. package/dist/cjs/src/impl/bch/bch.js +6 -38
  32. package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts +15 -5
  33. package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -1
  34. package/dist/cjs/src/impl/btc/inscriptionBuilder.js +43 -55
  35. package/dist/cjs/src/impl/doge/doge.d.ts +2 -1
  36. package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -1
  37. package/dist/cjs/src/impl/doge/doge.js +1 -1
  38. package/dist/cjs/src/impl/ltc/ltc.d.ts +0 -1
  39. package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -1
  40. package/dist/cjs/src/impl/ltc/ltc.js +3 -41
  41. package/dist/cjs/src/impl/ltc/tltc.d.ts +0 -1
  42. package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -1
  43. package/dist/cjs/src/impl/ltc/tltc.js +3 -40
  44. package/dist/cjs/src/index.d.ts +2 -0
  45. package/dist/cjs/src/index.d.ts.map +1 -1
  46. package/dist/cjs/src/index.js +3 -1
  47. package/dist/cjs/src/keychains.d.ts +5 -0
  48. package/dist/cjs/src/keychains.d.ts.map +1 -1
  49. package/dist/cjs/src/keychains.js +10 -1
  50. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +2 -2
  51. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts +3 -2
  52. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -1
  53. package/dist/cjs/src/offlineVault/descriptor/transaction.js +5 -8
  54. package/dist/cjs/src/recovery/RecoveryProvider.d.ts +1 -3
  55. package/dist/cjs/src/recovery/RecoveryProvider.d.ts.map +1 -1
  56. package/dist/cjs/src/recovery/RecoveryProvider.js +1 -1
  57. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts +73 -4
  58. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -1
  59. package/dist/cjs/src/recovery/backupKeyRecovery.js +163 -129
  60. package/dist/cjs/src/recovery/crossChainRecovery.d.ts +5 -5
  61. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -1
  62. package/dist/cjs/src/recovery/crossChainRecovery.js +22 -121
  63. package/dist/cjs/src/recovery/psbt.d.ts +8 -31
  64. package/dist/cjs/src/recovery/psbt.d.ts.map +1 -1
  65. package/dist/cjs/src/recovery/psbt.js +14 -126
  66. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts +3 -3
  67. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  68. package/dist/cjs/src/transaction/descriptor/explainPsbt.js +17 -54
  69. package/dist/cjs/src/transaction/descriptor/index.d.ts +1 -1
  70. package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -1
  71. package/dist/cjs/src/transaction/descriptor/index.js +1 -1
  72. package/dist/cjs/src/transaction/descriptor/parse.d.ts +6 -4
  73. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -1
  74. package/dist/cjs/src/transaction/descriptor/parse.js +24 -50
  75. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts +6 -7
  76. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -1
  77. package/dist/cjs/src/transaction/descriptor/signPsbt.js +19 -18
  78. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts +4 -4
  79. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  80. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +10 -38
  81. package/dist/cjs/src/transaction/explainTransaction.d.ts +2 -1
  82. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -1
  83. package/dist/cjs/src/transaction/explainTransaction.js +3 -2
  84. package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts +5 -3
  85. package/dist/cjs/src/transaction/fixedScript/SigningError.d.ts.map +1 -1
  86. package/dist/cjs/src/transaction/fixedScript/SigningError.js +10 -2
  87. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +2 -1
  88. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
  89. package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +1 -8
  90. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -1
  91. package/dist/cjs/src/transaction/fixedScript/parseOutput.js +8 -12
  92. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts +2 -2
  93. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
  94. package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +36 -11
  95. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +2 -2
  96. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
  97. package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +4 -2
  98. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts +1 -1
  99. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -1
  100. package/dist/cjs/src/transaction/fixedScript/signPsbtUtxolib.js +1 -1
  101. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts +3 -2
  102. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
  103. package/dist/cjs/src/transaction/fixedScript/signPsbtWasm.js +15 -25
  104. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts +6 -5
  105. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -1
  106. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +42 -7
  107. package/dist/cjs/src/transaction/outputDifference.d.ts +5 -1
  108. package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -1
  109. package/dist/cjs/src/transaction/outputDifference.js +6 -2
  110. package/dist/cjs/src/transaction/recipient.d.ts +5 -0
  111. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -1
  112. package/dist/cjs/src/transaction/recipient.js +14 -1
  113. package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -1
  114. package/dist/cjs/src/transaction/signTransaction.js +10 -10
  115. package/dist/cjs/src/unspent.d.ts +55 -0
  116. package/dist/cjs/src/unspent.d.ts.map +1 -0
  117. package/dist/cjs/src/unspent.js +12 -0
  118. package/dist/cjs/src/wasmUtil.d.ts +29 -0
  119. package/dist/cjs/src/wasmUtil.d.ts.map +1 -0
  120. package/dist/cjs/src/wasmUtil.js +87 -0
  121. package/dist/cjs/test/unit/address.d.ts +1 -1
  122. package/dist/cjs/test/unit/address.d.ts.map +1 -1
  123. package/dist/cjs/test/unit/address.js +107 -137
  124. package/dist/cjs/test/unit/bip322.js +50 -1
  125. package/dist/cjs/test/unit/coins.js +7 -2
  126. package/dist/cjs/test/unit/customSigner.js +5 -4
  127. package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +37 -4
  128. package/dist/cjs/test/unit/descriptor/builder.js +10 -4
  129. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +37 -4
  130. package/dist/cjs/test/unit/descriptor/descriptorWallet.js +40 -6
  131. package/dist/cjs/test/unit/descriptorAddress.d.ts +2 -2
  132. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -1
  133. package/dist/cjs/test/unit/descriptorAddress.js +10 -9
  134. package/dist/cjs/test/unit/explainTransaction.js +26 -3
  135. package/dist/cjs/test/unit/keychains.js +40 -1
  136. package/dist/cjs/test/unit/postProcessPrebuild.d.ts +2 -0
  137. package/dist/cjs/test/unit/postProcessPrebuild.d.ts.map +1 -0
  138. package/dist/cjs/test/unit/postProcessPrebuild.js +62 -0
  139. package/dist/cjs/test/unit/prebuildAndSign.d.ts +0 -4
  140. package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -1
  141. package/dist/cjs/test/unit/prebuildAndSign.js +12 -31
  142. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +82 -258
  143. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts +2 -0
  144. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.d.ts.map +1 -0
  145. package/dist/cjs/test/unit/recovery/backupKeyRecoveryUnspentGathering.js +144 -0
  146. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +41 -37
  147. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts +2 -0
  148. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.d.ts.map +1 -0
  149. package/dist/cjs/test/unit/recovery/formatBackupKeyRecoveryResult.js +186 -0
  150. package/dist/cjs/test/unit/recovery/mock.d.ts +15 -8
  151. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -1
  152. package/dist/cjs/test/unit/recovery/mock.js +50 -77
  153. package/dist/cjs/test/unit/signTransaction.d.ts +2 -0
  154. package/dist/cjs/test/unit/signTransaction.d.ts.map +1 -0
  155. package/dist/cjs/test/unit/signTransaction.js +244 -0
  156. package/dist/cjs/test/unit/testSpoofTransaction.d.ts +2 -0
  157. package/dist/cjs/test/unit/testSpoofTransaction.d.ts.map +1 -0
  158. package/dist/cjs/test/unit/testSpoofTransaction.js +114 -0
  159. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +46 -12
  160. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -1
  161. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +38 -4
  162. package/dist/cjs/test/unit/transaction/descriptor/parse.js +22 -19
  163. package/dist/cjs/test/unit/transaction/descriptor/sign.js +60 -16
  164. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +43 -10
  165. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +2 -2
  166. package/dist/cjs/test/unit/transaction/outputDifference.d.ts.map +1 -0
  167. package/dist/cjs/test/unit/transaction/outputDifference.js +117 -0
  168. package/dist/cjs/test/unit/transaction.js +8 -226
  169. package/dist/cjs/test/unit/txFormat.d.ts.map +1 -1
  170. package/dist/cjs/test/unit/txFormat.js +9 -9
  171. package/dist/cjs/test/unit/util/address.d.ts +13 -0
  172. package/dist/cjs/test/unit/util/address.d.ts.map +1 -0
  173. package/dist/cjs/test/unit/util/address.js +15 -0
  174. package/dist/cjs/test/unit/util/index.d.ts +3 -0
  175. package/dist/cjs/test/unit/util/index.d.ts.map +1 -1
  176. package/dist/cjs/test/unit/util/index.js +4 -1
  177. package/dist/cjs/test/unit/util/keychains.d.ts +29 -0
  178. package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -1
  179. package/dist/cjs/test/unit/util/keychains.js +51 -1
  180. package/dist/cjs/test/unit/util/nockBitGo.d.ts +8 -1
  181. package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -1
  182. package/dist/cjs/test/unit/util/nockBitGo.js +17 -1
  183. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -1
  184. package/dist/cjs/test/unit/util/nockIndexerAPI.js +4 -37
  185. package/dist/cjs/test/unit/util/psbt.d.ts +19 -0
  186. package/dist/cjs/test/unit/util/psbt.d.ts.map +1 -0
  187. package/dist/cjs/test/unit/util/psbt.js +21 -0
  188. package/dist/cjs/test/unit/util/transaction.d.ts +8 -4
  189. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -1
  190. package/dist/cjs/test/unit/util/transaction.js +22 -2
  191. package/dist/cjs/test/unit/util/unspents.d.ts +66 -8
  192. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -1
  193. package/dist/cjs/test/unit/util/unspents.js +130 -15
  194. package/dist/cjs/test/unit/util/utxoCoins.d.ts +13 -0
  195. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -1
  196. package/dist/cjs/test/unit/util/utxoCoins.js +33 -2
  197. package/dist/cjs/test/unit/wallet.js +4 -4
  198. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  199. package/dist/esm/abstractUtxoCoin.d.ts +9 -13
  200. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
  201. package/dist/esm/abstractUtxoCoin.js +30 -16
  202. package/dist/esm/address/fixedScript.d.ts +4 -9
  203. package/dist/esm/address/fixedScript.d.ts.map +1 -1
  204. package/dist/esm/address/fixedScript.js +18 -17
  205. package/dist/esm/descriptor/NamedDescriptor.d.ts +4 -5
  206. package/dist/esm/descriptor/NamedDescriptor.d.ts.map +1 -1
  207. package/dist/esm/descriptor/NamedDescriptor.js +5 -7
  208. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +2 -2
  209. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -1
  210. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +3 -5
  211. package/dist/esm/descriptor/builder/builder.d.ts +2 -3
  212. package/dist/esm/descriptor/builder/builder.d.ts.map +1 -1
  213. package/dist/esm/descriptor/builder/builder.js +1 -1
  214. package/dist/esm/descriptor/builder/parse.d.ts.map +1 -1
  215. package/dist/esm/descriptor/builder/parse.js +3 -3
  216. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +2 -2
  217. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts.map +1 -1
  218. package/dist/esm/descriptor/createWallet/createDescriptors.js +1 -1
  219. package/dist/esm/descriptor/descriptorWallet.d.ts +1 -1
  220. package/dist/esm/descriptor/descriptorWallet.d.ts.map +1 -1
  221. package/dist/esm/descriptor/descriptorWallet.js +1 -1
  222. package/dist/esm/descriptor/index.d.ts +1 -1
  223. package/dist/esm/descriptor/index.d.ts.map +1 -1
  224. package/dist/esm/descriptor/index.js +1 -1
  225. package/dist/esm/descriptor/validatePolicy.d.ts +3 -3
  226. package/dist/esm/descriptor/validatePolicy.d.ts.map +1 -1
  227. package/dist/esm/descriptor/validatePolicy.js +3 -3
  228. package/dist/esm/impl/bch/bch.d.ts.map +1 -1
  229. package/dist/esm/impl/bch/bch.js +6 -5
  230. package/dist/esm/impl/btc/inscriptionBuilder.d.ts +15 -5
  231. package/dist/esm/impl/btc/inscriptionBuilder.d.ts.map +1 -1
  232. package/dist/esm/impl/btc/inscriptionBuilder.js +44 -23
  233. package/dist/esm/impl/doge/doge.d.ts +2 -1
  234. package/dist/esm/impl/doge/doge.d.ts.map +1 -1
  235. package/dist/esm/impl/doge/doge.js +1 -1
  236. package/dist/esm/impl/ltc/ltc.d.ts +0 -1
  237. package/dist/esm/impl/ltc/ltc.d.ts.map +1 -1
  238. package/dist/esm/impl/ltc/ltc.js +3 -8
  239. package/dist/esm/impl/ltc/tltc.d.ts +0 -1
  240. package/dist/esm/impl/ltc/tltc.d.ts.map +1 -1
  241. package/dist/esm/impl/ltc/tltc.js +3 -7
  242. package/dist/esm/index.d.ts +2 -0
  243. package/dist/esm/index.d.ts.map +1 -1
  244. package/dist/esm/index.js +3 -1
  245. package/dist/esm/keychains.d.ts +5 -0
  246. package/dist/esm/keychains.d.ts.map +1 -1
  247. package/dist/esm/keychains.js +9 -1
  248. package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +2 -2
  249. package/dist/esm/offlineVault/descriptor/transaction.d.ts +3 -2
  250. package/dist/esm/offlineVault/descriptor/transaction.d.ts.map +1 -1
  251. package/dist/esm/offlineVault/descriptor/transaction.js +5 -8
  252. package/dist/esm/recovery/RecoveryProvider.d.ts +1 -3
  253. package/dist/esm/recovery/RecoveryProvider.d.ts.map +1 -1
  254. package/dist/esm/recovery/RecoveryProvider.js +1 -1
  255. package/dist/esm/recovery/backupKeyRecovery.d.ts +73 -4
  256. package/dist/esm/recovery/backupKeyRecovery.d.ts.map +1 -1
  257. package/dist/esm/recovery/backupKeyRecovery.js +165 -100
  258. package/dist/esm/recovery/crossChainRecovery.d.ts +5 -5
  259. package/dist/esm/recovery/crossChainRecovery.d.ts.map +1 -1
  260. package/dist/esm/recovery/crossChainRecovery.js +24 -90
  261. package/dist/esm/recovery/psbt.d.ts +8 -31
  262. package/dist/esm/recovery/psbt.d.ts.map +1 -1
  263. package/dist/esm/recovery/psbt.js +14 -91
  264. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +3 -3
  265. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -1
  266. package/dist/esm/transaction/descriptor/explainPsbt.js +14 -18
  267. package/dist/esm/transaction/descriptor/index.d.ts +1 -1
  268. package/dist/esm/transaction/descriptor/index.d.ts.map +1 -1
  269. package/dist/esm/transaction/descriptor/index.js +1 -1
  270. package/dist/esm/transaction/descriptor/parse.d.ts +6 -4
  271. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -1
  272. package/dist/esm/transaction/descriptor/parse.js +22 -15
  273. package/dist/esm/transaction/descriptor/signPsbt.d.ts +6 -7
  274. package/dist/esm/transaction/descriptor/signPsbt.d.ts.map +1 -1
  275. package/dist/esm/transaction/descriptor/signPsbt.js +19 -18
  276. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +4 -4
  277. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -1
  278. package/dist/esm/transaction/descriptor/verifyTransaction.js +10 -5
  279. package/dist/esm/transaction/explainTransaction.d.ts +2 -1
  280. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -1
  281. package/dist/esm/transaction/explainTransaction.js +3 -2
  282. package/dist/esm/transaction/fixedScript/SigningError.d.ts +5 -3
  283. package/dist/esm/transaction/fixedScript/SigningError.d.ts.map +1 -1
  284. package/dist/esm/transaction/fixedScript/SigningError.js +8 -1
  285. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +2 -1
  286. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
  287. package/dist/esm/transaction/fixedScript/explainTransaction.js +1 -8
  288. package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -1
  289. package/dist/esm/transaction/fixedScript/parseOutput.js +8 -12
  290. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +2 -2
  291. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -1
  292. package/dist/esm/transaction/fixedScript/parseTransaction.js +36 -11
  293. package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +2 -2
  294. package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
  295. package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +4 -2
  296. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts +1 -1
  297. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.d.ts.map +1 -1
  298. package/dist/esm/transaction/fixedScript/signPsbtUtxolib.js +1 -1
  299. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts +3 -2
  300. package/dist/esm/transaction/fixedScript/signPsbtWasm.d.ts.map +1 -1
  301. package/dist/esm/transaction/fixedScript/signPsbtWasm.js +14 -24
  302. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +6 -5
  303. package/dist/esm/transaction/fixedScript/signTransaction.d.ts.map +1 -1
  304. package/dist/esm/transaction/fixedScript/signTransaction.js +10 -8
  305. package/dist/esm/transaction/outputDifference.d.ts +5 -1
  306. package/dist/esm/transaction/outputDifference.d.ts.map +1 -1
  307. package/dist/esm/transaction/outputDifference.js +5 -2
  308. package/dist/esm/transaction/recipient.d.ts +5 -0
  309. package/dist/esm/transaction/recipient.d.ts.map +1 -1
  310. package/dist/esm/transaction/recipient.js +13 -1
  311. package/dist/esm/transaction/signTransaction.d.ts.map +1 -1
  312. package/dist/esm/transaction/signTransaction.js +10 -10
  313. package/dist/esm/unspent.d.ts +55 -0
  314. package/dist/esm/unspent.d.ts.map +1 -0
  315. package/dist/esm/unspent.js +8 -0
  316. package/dist/esm/wasmUtil.d.ts +29 -0
  317. package/dist/esm/wasmUtil.d.ts.map +1 -0
  318. package/dist/esm/wasmUtil.js +47 -0
  319. package/package.json +13 -14
  320. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts +0 -2
  321. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts.map +0 -1
  322. package/dist/cjs/test/unit/impl/btc/unit/btc.js +0 -220
  323. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts +0 -4
  324. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts.map +0 -1
  325. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.js +0 -10
  326. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts +0 -2
  327. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts.map +0 -1
  328. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.js +0 -18
  329. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts +0 -2
  330. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts.map +0 -1
  331. package/dist/cjs/test/unit/impl/ltc/unit/index.js +0 -39
  332. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts.map +0 -1
  333. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.js +0 -76
  334. /package/dist/cjs/test/unit/transaction/{descriptor/outputDifference.d.ts → outputDifference.d.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { EnvironmentName, Triple } from '@bitgo/sdk-core';
2
- import * as utxolib from '@bitgo/utxo-lib';
3
- import { DescriptorMap } from '@bitgo/utxo-core/descriptor';
2
+ import { bip32 } from '@bitgo/wasm-utxo';
3
+ import type { DescriptorMap } from '../wasmUtil';
4
4
  import { NamedDescriptor, NamedDescriptorNative } from './NamedDescriptor';
5
- export type KeyTriple = Triple<utxolib.BIP32Interface>;
5
+ export type KeyTriple = Triple<bip32.BIP32Interface>;
6
6
  export interface DescriptorValidationPolicy {
7
7
  name: string;
8
8
  validate(arr: NamedDescriptorNative[], walletKeys: KeyTriple): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"validatePolicy.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/validatePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAmB,MAAM,6BAA6B,CAAC;AAG7E,OAAO,EAAqB,eAAe,EAAE,qBAAqB,EAA2B,MAAM,mBAAmB,CAAC;AAEvH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAEvD,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,GAAG,EAAE,qBAAqB,EAAE,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC;CACxE;AAED,eAAO,MAAM,cAAc,EAAE,0BAG5B,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,0BAA0B,CAcvF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,CAOtG;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,CAOrG;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAEtF;AAED,wBAAgB,2BAA2B,IAAI,0BAA0B,CAQxE;AAED,qBAAa,+BAAgC,SAAQ,KAAK;gBAC5C,EAAE,EAAE,qBAAqB,EAAE,EAAE,MAAM,EAAE,0BAA0B;CAG5E;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,qBAAqB,EAAE,EACpC,MAAM,EAAE,0BAA0B,EAClC,UAAU,EAAE,SAAS,GACpB,IAAI,CAIN;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,eAAe,EAAE,EAC9B,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,0BAA0B,GACjC,aAAa,CAMf;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,0BAA0B,CAehF"}
1
+ {"version":3,"file":"validatePolicy.d.ts","sourceRoot":"","sources":["../../../../src/descriptor/validatePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAoB,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAqB,eAAe,EAAE,qBAAqB,EAA2B,MAAM,mBAAmB,CAAC;AAEvH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAErD,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,GAAG,EAAE,qBAAqB,EAAE,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC;CACxE;AAED,eAAO,MAAM,cAAc,EAAE,0BAG5B,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,0BAA0B,CAcvF;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,CAOtG;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,CAOrG;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAEtF;AAED,wBAAgB,2BAA2B,IAAI,0BAA0B,CAQxE;AAED,qBAAa,+BAAgC,SAAQ,KAAK;gBAC5C,EAAE,EAAE,qBAAqB,EAAE,EAAE,MAAM,EAAE,0BAA0B;CAG5E;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,qBAAqB,EAAE,EACpC,MAAM,EAAE,0BAA0B,EAClC,UAAU,EAAE,SAAS,GACpB,IAAI,CAIN;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,eAAe,EAAE,EAC9B,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,0BAA0B,GACjC,aAAa,CAMf;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,0BAA0B,CAehF"}
@@ -9,7 +9,7 @@ exports.getValidatorSignedByUserKey = getValidatorSignedByUserKey;
9
9
  exports.assertDescriptorPolicy = assertDescriptorPolicy;
10
10
  exports.toDescriptorMapValidate = toDescriptorMapValidate;
11
11
  exports.getPolicyForEnv = getPolicyForEnv;
12
- const descriptor_1 = require("@bitgo/utxo-core/descriptor");
12
+ const wasm_utxo_1 = require("@bitgo/wasm-utxo");
13
13
  const builder_1 = require("./builder");
14
14
  const NamedDescriptor_1 = require("./NamedDescriptor");
15
15
  exports.policyAllowAll = {
@@ -71,7 +71,7 @@ function assertDescriptorPolicy(descriptors, policy, walletKeys) {
71
71
  function toDescriptorMapValidate(descriptors, walletKeys, policy) {
72
72
  const namedDescriptorsNative = descriptors.map((v) => (0, NamedDescriptor_1.toNamedDescriptorNative)(v, 'derivable'));
73
73
  assertDescriptorPolicy(namedDescriptorsNative, policy, walletKeys);
74
- return (0, descriptor_1.toDescriptorMap)(namedDescriptorsNative);
74
+ return wasm_utxo_1.descriptorWallet.toDescriptorMap(namedDescriptorsNative);
75
75
  }
76
76
  function getPolicyForEnv(env) {
77
77
  switch (env) {
@@ -89,4 +89,4 @@ function getPolicyForEnv(env) {
89
89
  return exports.policyAllowAll;
90
90
  }
91
91
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvQkEsd0VBY0M7QUFFRCw4Q0FPQztBQUVELDRDQU9DO0FBRUQsZ0VBRUM7QUFFRCxrRUFRQztBQVFELHdEQVFDO0FBRUQsMERBVUM7QUFFRCwwQ0FlQztBQTdHRCw0REFBNkU7QUFFN0UsdUNBQTRDO0FBQzVDLHVEQUF1SDtBQVUxRyxRQUFBLGNBQWMsR0FBK0I7SUFDeEQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7Q0FDckIsQ0FBQztBQUVGLFNBQWdCLDhCQUE4QixDQUFDLElBQVk7SUFDekQsT0FBTztRQUNMLElBQUksRUFBRSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsR0FBRztRQUN4QyxRQUFRLENBQUMsR0FBNEIsRUFBRSxVQUFxQjtZQUMxRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBZSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsT0FBTyxDQUNMLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSTtvQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLE1BQU07b0JBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUNsRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxT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UUFDWixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLE1BQU07WUFDVCxPQUFPLGdCQUFnQixDQUFDO2dCQUN0QiwwRUFBMEU7Z0JBQzFFLDhCQUE4QixDQUFDLFNBQVMsQ0FBQztnQkFDekMsOEZBQThGO2dCQUM5Riw4QkFBOEIsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDakQsK0NBQStDO2dCQUMvQywyQkFBMkIsRUFBRTthQUM5QixDQUFDLENBQUM7UUFDTDtZQUNFLE9BQU8sc0JBQWMsQ0FBQztJQUMxQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50TmFtZSwgVHJpcGxlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IERlc2NyaXB0b3JNYXAsIHRvRGVzY3JpcHRvck1hcCB9IGZyb20gJ0BiaXRnby91dHhvLWNvcmUvZGVzY3JpcHRvcic7XG5cbmltcG9ydCB7IHBhcnNlRGVzY3JpcHRvciB9IGZyb20gJy4vYnVpbGRlcic7XG5pbXBvcnQgeyBoYXNWYWxpZFNpZ25hdHVyZSwgTmFtZWREZXNjcmlwdG9yLCBOYW1lZERlc2NyaXB0b3JOYXRpdmUsIHRvTmFtZWREZXNjcmlwdG9yTmF0aXZlIH0gZnJvbSAnLi9OYW1lZERlc2NyaXB0b3InO1xuXG5leHBvcnQgdHlwZSBLZXlUcmlwbGUgPSBUcmlwbGU8dXR4b2xpYi5CSVAzMkludGVyZmFjZT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3kge1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgdmFsaWRhdGUoYXJyOiBOYW1lZERlc2NyaXB0b3JOYXRpdmVbXSwgd2FsbGV0S2V5czogS2V5VHJpcGxlKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IHBvbGljeUFsbG93QWxsOiBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSA9IHtcbiAgbmFtZTogJ2FsbG93QWxsJyxcbiAgdmFsaWRhdGU6ICgpID0+IHRydWUsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yRGVzY3JpcHRvclRlbXBsYXRlKG5hbWU6IHN0cmluZyk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZGVzY3JpcHRvclRlbXBsYXRlKCcgKyBuYW1lICsgJyknLFxuICAgIHZhbGlkYXRlKGFycjogTmFtZWREZXNjcmlwdG9yTmF0aXZlW10sIHdhbGxldEtleXM6IEtleVRyaXBsZSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGFyci5ldmVyeSgoZCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZURlc2NyaXB0b3IoZC52YWx1ZSk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcGFyc2VkLm5hbWUgPT09IG5hbWUgJiZcbiAgICAgICAgICBwYXJzZWQua2V5cy5sZW5ndGggPT09IHdhbGxldEtleXMubGVuZ3RoICYmXG4gICAgICAgICAgcGFyc2VkLmtleXMuZXZlcnkoKGssIGkpID0+IGsudG9CYXNlNTgoKSA9PT0gd2FsbGV0S2V5c1tpXS5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yRXZlcnkodmFsaWRhdG9yczogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3lbXSk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZXZlcnkoJyArIHZhbGlkYXRvcnMubWFwKCh2KSA9PiB2Lm5hbWUpLmpvaW4oJywnKSArICcpJyxcbiAgICB2YWxpZGF0ZShhcnI6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLCB3YWxsZXRLZXlzOiBLZXlUcmlwbGUpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB2YWxpZGF0b3JzLmV2ZXJ5KCh2KSA9PiB2LnZhbGlkYXRlKGFyciwgd2FsbGV0S2V5cykpO1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZGF0b3JTb21lKHZhbGlkYXRvcnM6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5W10pOiBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3NvbWUoJyArIHZhbGlkYXRvcnMubWFwKCh2KSA9PiB2Lm5hbWUpLmpvaW4oJywnKSArICcpJyxcbiAgICB2YWxpZGF0ZShhcnI6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLCB3YWxsZXRLZXlzOiBLZXlUcmlwbGUpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB2YWxpZGF0b3JzLnNvbWUoKHYpID0+IHYudmFsaWRhdGUoYXJyLCB3YWxsZXRLZXlzKSk7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRvck9uZU9mVGVtcGxhdGVzKG5hbWVzOiBzdHJpbmdbXSk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIGdldFZhbGlkYXRvclNvbWUobmFtZXMubWFwKGdldFZhbGlkYXRvckRlc2NyaXB0b3JUZW1wbGF0ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yU2lnbmVkQnlVc2VyS2V5KCk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnc2lnbmVkQnlVc2VyJyxcbiAgICB2YWxpZGF0ZShhcnI6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLCB3YWxsZXRLZXlzOiBLZXlUcmlwbGUpOiBib29sZWFuIHtcbiAgICAgIC8vIHRoZSBmaXJzdCBrZXkgaXMgdGhlIHVzZXIga2V5LCBieSBjb252ZW50aW9uXG4gICAgICByZXR1cm4gYXJyLmV2ZXJ5KChkKSA9PiBoYXNWYWxpZFNpZ25hdHVyZShkLnZhbHVlLCB3YWxsZXRLZXlzWzBdLCBkLnNpZ25hdHVyZXMgPz8gW10pKTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgRGVzY3JpcHRvclBvbGljeVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoZHM6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLCBwb2xpY3k6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5KSB7XG4gICAgc3VwZXIoYERlc2NyaXB0b3JzICR7ZHMubWFwKChkKSA9PiBkLnZhbHVlLnRvU3RyaW5nKCkpfSBkb2VzIG5vdCBtYXRjaCBwb2xpY3kgJHtwb2xpY3kubmFtZX1gKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RGVzY3JpcHRvclBvbGljeShcbiAgZGVzY3JpcHRvcnM6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLFxuICBwb2xpY3k6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5LFxuICB3YWxsZXRLZXlzOiBLZXlUcmlwbGVcbik6IHZvaWQge1xuICBpZiAoIXBvbGljeS52YWxpZGF0ZShkZXNjcmlwdG9ycywgd2FsbGV0S2V5cykpIHtcbiAgICB0aHJvdyBuZXcgRGVzY3JpcHRvclBvbGljeVZhbGlkYXRpb25FcnJvcihkZXNjcmlwdG9ycywgcG9saWN5KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUoXG4gIGRlc2NyaXB0b3JzOiBOYW1lZERlc2NyaXB0b3JbXSxcbiAgd2FsbGV0S2V5czogS2V5VHJpcGxlLFxuICBwb2xpY3k6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5XG4pOiBEZXNjcmlwdG9yTWFwIHtcbiAgY29uc3QgbmFtZWREZXNjcmlwdG9yc05hdGl2ZTogTmFtZWREZXNjcmlwdG9yTmF0aXZlW10gPSBkZXNjcmlwdG9ycy5tYXAoKHYpID0+XG4gICAgdG9OYW1lZERlc2NyaXB0b3JOYXRpdmUodiwgJ2Rlcml2YWJsZScpXG4gICk7XG4gIGFzc2VydERlc2NyaXB0b3JQb2xpY3kobmFtZWREZXNjcmlwdG9yc05hdGl2ZSwgcG9saWN5LCB3YWxsZXRLZXlzKTtcbiAgcmV0dXJuIHRvRGVzY3JpcHRvck1hcChuYW1lZERlc2NyaXB0b3JzTmF0aXZlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvbGljeUZvckVudihlbnY6IEVudmlyb25tZW50TmFtZSk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgc3dpdGNoIChlbnYpIHtcbiAgICBjYXNlICdhZG1pblByb2QnOlxuICAgIGNhc2UgJ3Byb2QnOlxuICAgICAgcmV0dXJuIGdldFZhbGlkYXRvclNvbWUoW1xuICAgICAgICAvLyBhbGxvdyAyLW9mLTMtaXNoIGRlc2NyaXB0b3IgZ3JvdXBzIHdoZXJlIHRoZSBrZXlzIG1hdGNoIHRoZSB3YWxsZXQga2V5c1xuICAgICAgICBnZXRWYWxpZGF0b3JEZXNjcmlwdG9yVGVtcGxhdGUoJ1dzaDJPZjMnKSxcbiAgICAgICAgLy8gYWxsb3cgZGVzY3JpcHRvciBncm91cHMgd2hlcmUgYWxsIGtleXMgbWF0Y2ggdGhlIHdhbGxldCBrZXlzIHBsdXMgT1BfRFJPUCAoY29yZWRhbyBzdGFraW5nKVxuICAgICAgICBnZXRWYWxpZGF0b3JEZXNjcmlwdG9yVGVtcGxhdGUoJ1dzaDJPZjNDbHR2RHJvcCcpLFxuICAgICAgICAvLyBhbGxvdyBhbGwgZGVzY3JpcHRvcnMgc2lnbmVkIGJ5IHRoZSB1c2VyIGtleVxuICAgICAgICBnZXRWYWxpZGF0b3JTaWduZWRCeVVzZXJLZXkoKSxcbiAgICAgIF0pO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gcG9saWN5QWxsb3dBbGw7XG4gIH1cbn1cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVzY3JpcHRvci92YWxpZGF0ZVBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxQkEsd0VBY0M7QUFFRCw4Q0FPQztBQUVELDRDQU9DO0FBRUQsZ0VBRUM7QUFFRCxrRUFRQztBQVFELHdEQVFDO0FBRUQsMERBVUM7QUFFRCwwQ0FlQztBQS9HRCxnREFBMkQ7QUFJM0QsdUNBQTRDO0FBQzVDLHVEQUF1SDtBQVUxRyxRQUFBLGNBQWMsR0FBK0I7SUFDeEQsSUFBSSxFQUFFLFVBQVU7SUFDaEIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7Q0FDckIsQ0FBQztBQUVGLFNBQWdCLDhCQUE4QixDQUFDLElBQVk7SUFDekQsT0FBTztRQUNMLElBQUksRUFBRSxxQkFBcUIsR0FBRyxJQUFJLEdBQUcsR0FBRztRQUN4QyxRQUFRLENBQUMsR0FBNEIsRUFBRSxVQUFxQjtZQUMxRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBZSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsT0FBTyxDQUNMLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSTtvQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLE1BQU07b0JBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUNsRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxT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LENBQUM7UUFDWixLQUFLLFdBQVcsQ0FBQztRQUNqQixLQUFLLE1BQU07WUFDVCxPQUFPLGdCQUFnQixDQUFDO2dCQUN0QiwwRUFBMEU7Z0JBQzFFLDhCQUE4QixDQUFDLFNBQVMsQ0FBQztnQkFDekMsOEZBQThGO2dCQUM5Riw4QkFBOEIsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDakQsK0NBQStDO2dCQUMvQywyQkFBMkIsRUFBRTthQUM5QixDQUFDLENBQUM7UUFDTDtZQUNFLE9BQU8sc0JBQWMsQ0FBQztJQUMxQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50TmFtZSwgVHJpcGxlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGJpcDMyLCBkZXNjcmlwdG9yV2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB0eXBlIHsgRGVzY3JpcHRvck1hcCB9IGZyb20gJy4uL3dhc21VdGlsJztcblxuaW1wb3J0IHsgcGFyc2VEZXNjcmlwdG9yIH0gZnJvbSAnLi9idWlsZGVyJztcbmltcG9ydCB7IGhhc1ZhbGlkU2lnbmF0dXJlLCBOYW1lZERlc2NyaXB0b3IsIE5hbWVkRGVzY3JpcHRvck5hdGl2ZSwgdG9OYW1lZERlc2NyaXB0b3JOYXRpdmUgfSBmcm9tICcuL05hbWVkRGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIEtleVRyaXBsZSA9IFRyaXBsZTxiaXAzMi5CSVAzMkludGVyZmFjZT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3kge1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgdmFsaWRhdGUoYXJyOiBOYW1lZERlc2NyaXB0b3JOYXRpdmVbXSwgd2FsbGV0S2V5czogS2V5VHJpcGxlKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IHBvbGljeUFsbG93QWxsOiBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSA9IHtcbiAgbmFtZTogJ2FsbG93QWxsJyxcbiAgdmFsaWRhdGU6ICgpID0+IHRydWUsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yRGVzY3JpcHRvclRlbXBsYXRlKG5hbWU6IHN0cmluZyk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZGVzY3JpcHRvclRlbXBsYXRlKCcgKyBuYW1lICsgJyknLFxuICAgIHZhbGlkYXRlKGFycjogTmFtZWREZXNjcmlwdG9yTmF0aXZlW10sIHdhbGxldEtleXM6IEtleVRyaXBsZSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGFyci5ldmVyeSgoZCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZURlc2NyaXB0b3IoZC52YWx1ZSk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcGFyc2VkLm5hbWUgPT09IG5hbWUgJiZcbiAgICAgICAgICBwYXJzZWQua2V5cy5sZW5ndGggPT09IHdhbGxldEtleXMubGVuZ3RoICYmXG4gICAgICAgICAgcGFyc2VkLmtleXMuZXZlcnkoKGssIGkpID0+IGsudG9CYXNlNTgoKSA9PT0gd2FsbGV0S2V5c1tpXS5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yRXZlcnkodmFsaWRhdG9yczogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3lbXSk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnZXZlcnkoJyArIHZhbGlkYXRvcnMubWFwKCh2KSA9PiB2Lm5hbWUpLmpvaW4oJywnKSArICcpJyxcbiAgICB2YWxpZGF0ZShhcnI6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLCB3YWxsZXRLZXlzOiBLZXlUcmlwbGUpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB2YWxpZGF0b3JzLmV2ZXJ5KCh2KSA9PiB2LnZhbGlkYXRlKGFyciwgd2FsbGV0S2V5cykpO1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZGF0b3JTb21lKHZhbGlkYXRvcnM6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5W10pOiBEZXNjcmlwdG9yVmFsaWRhdGlvblBvbGljeSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3NvbWUoJyArIHZhbGlkYXRvcnMubWFwKCh2KSA9PiB2Lm5hbWUpLmpvaW4oJywnKSArICcpJyxcbiAgICB2YWxpZGF0ZShhcnI6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLCB3YWxsZXRLZXlzOiBLZXlUcmlwbGUpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB2YWxpZGF0b3JzLnNvbWUoKHYpID0+IHYudmFsaWRhdGUoYXJyLCB3YWxsZXRLZXlzKSk7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkYXRvck9uZU9mVGVtcGxhdGVzKG5hbWVzOiBzdHJpbmdbXSk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIGdldFZhbGlkYXRvclNvbWUobmFtZXMubWFwKGdldFZhbGlkYXRvckRlc2NyaXB0b3JUZW1wbGF0ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yU2lnbmVkQnlVc2VyS2V5KCk6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiAnc2lnbmVkQnlVc2VyJyxcbiAgICB2YWxpZGF0ZShhcnI6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLCB3YWxsZXRLZXlzOiBLZXlUcmlwbGUpOiBib29sZWFuIHtcbiAgICAgIC8vIHRoZSBmaXJzdCBrZXkgaXMgdGhlIHVzZXIga2V5LCBieSBjb252ZW50aW9uXG4gICAgICByZXR1cm4gYXJyLmV2ZXJ5KChkKSA9PiBoYXNWYWxpZFNpZ25hdHVyZShkLnZhbHVlLCB3YWxsZXRLZXlzWzBdLCBkLnNpZ25hdHVyZXMgPz8gW10pKTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgRGVzY3JpcHRvclBvbGljeVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoZHM6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLCBwb2xpY3k6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5KSB7XG4gICAgc3VwZXIoYERlc2NyaXB0b3JzICR7ZHMubWFwKChkKSA9PiBkLnZhbHVlLnRvU3RyaW5nKCkpfSBkb2VzIG5vdCBtYXRjaCBwb2xpY3kgJHtwb2xpY3kubmFtZX1gKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RGVzY3JpcHRvclBvbGljeShcbiAgZGVzY3JpcHRvcnM6IE5hbWVkRGVzY3JpcHRvck5hdGl2ZVtdLFxuICBwb2xpY3k6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5LFxuICB3YWxsZXRLZXlzOiBLZXlUcmlwbGVcbik6IHZvaWQge1xuICBpZiAoIXBvbGljeS52YWxpZGF0ZShkZXNjcmlwdG9ycywgd2FsbGV0S2V5cykpIHtcbiAgICB0aHJvdyBuZXcgRGVzY3JpcHRvclBvbGljeVZhbGlkYXRpb25FcnJvcihkZXNjcmlwdG9ycywgcG9saWN5KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9EZXNjcmlwdG9yTWFwVmFsaWRhdGUoXG4gIGRlc2NyaXB0b3JzOiBOYW1lZERlc2NyaXB0b3JbXSxcbiAgd2FsbGV0S2V5czogS2V5VHJpcGxlLFxuICBwb2xpY3k6IERlc2NyaXB0b3JWYWxpZGF0aW9uUG9saWN5XG4pOiBEZXNjcmlwdG9yTWFwIHtcbiAgY29uc3QgbmFtZWREZXNjcmlwdG9yc05hdGl2ZTogTmFtZWREZXNjcmlwdG9yTmF0aXZlW10gPSBkZXNjcmlwdG9ycy5tYXAoKHYpID0+XG4gICAgdG9OYW1lZERlc2NyaXB0b3JOYXRpdmUodiwgJ2Rlcml2YWJsZScpXG4gICk7XG4gIGFzc2VydERlc2NyaXB0b3JQb2xpY3kobmFtZWREZXNjcmlwdG9yc05hdGl2ZSwgcG9saWN5LCB3YWxsZXRLZXlzKTtcbiAgcmV0dXJuIGRlc2NyaXB0b3JXYWxsZXQudG9EZXNjcmlwdG9yTWFwKG5hbWVkRGVzY3JpcHRvcnNOYXRpdmUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9saWN5Rm9yRW52KGVudjogRW52aXJvbm1lbnROYW1lKTogRGVzY3JpcHRvclZhbGlkYXRpb25Qb2xpY3kge1xuICBzd2l0Y2ggKGVudikge1xuICAgIGNhc2UgJ2FkbWluUHJvZCc6XG4gICAgY2FzZSAncHJvZCc6XG4gICAgICByZXR1cm4gZ2V0VmFsaWRhdG9yU29tZShbXG4gICAgICAgIC8vIGFsbG93IDItb2YtMy1pc2ggZGVzY3JpcHRvciBncm91cHMgd2hlcmUgdGhlIGtleXMgbWF0Y2ggdGhlIHdhbGxldCBrZXlzXG4gICAgICAgIGdldFZhbGlkYXRvckRlc2NyaXB0b3JUZW1wbGF0ZSgnV3NoMk9mMycpLFxuICAgICAgICAvLyBhbGxvdyBkZXNjcmlwdG9yIGdyb3VwcyB3aGVyZSBhbGwga2V5cyBtYXRjaCB0aGUgd2FsbGV0IGtleXMgcGx1cyBPUF9EUk9QIChjb3JlZGFvIHN0YWtpbmcpXG4gICAgICAgIGdldFZhbGlkYXRvckRlc2NyaXB0b3JUZW1wbGF0ZSgnV3NoMk9mM0NsdHZEcm9wJyksXG4gICAgICAgIC8vIGFsbG93IGFsbCBkZXNjcmlwdG9ycyBzaWduZWQgYnkgdGhlIHVzZXIga2V5XG4gICAgICAgIGdldFZhbGlkYXRvclNpZ25lZEJ5VXNlcktleSgpLFxuICAgICAgXSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBwb2xpY3lBbGxvd0FsbDtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"bch.d.ts","sourceRoot":"","sources":["../../../../../src/impl/bch/bch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,qBAAa,GAAI,SAAQ,gBAAgB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;IAEpC,SAAS,aAAa,KAAK,EAAE,SAAS;IAItC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG;IAI5C;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAkB,GAAG,MAAM;CAgBvE"}
1
+ {"version":3,"file":"bch.d.ts","sourceRoot":"","sources":["../../../../../src/impl/bch/bch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,qBAAa,GAAI,SAAQ,gBAAgB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;IAEpC,SAAS,aAAa,KAAK,EAAE,SAAS;IAItC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG;IAI5C;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAkB,GAAG,MAAM;CAiBvE"}
@@ -1,40 +1,7 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.Bch = void 0;
37
- const utxolib = __importStar(require("@bitgo/utxo-lib"));
4
+ const wasm_utxo_1 = require("@bitgo/wasm-utxo");
38
5
  const abstractUtxoCoin_1 = require("../../abstractUtxoCoin");
39
6
  const transaction_1 = require("../../transaction");
40
7
  class Bch extends abstractUtxoCoin_1.AbstractUtxoCoin {
@@ -62,14 +29,15 @@ class Bch extends abstractUtxoCoin_1.AbstractUtxoCoin {
62
29
  return address;
63
30
  }
64
31
  if (version === 'base58') {
65
- return utxolib.addressFormat.toCanonicalFormat(address, this.network);
32
+ const script = wasm_utxo_1.address.toOutputScriptWithCoin(address, this.name);
33
+ return wasm_utxo_1.address.fromOutputScriptWithCoin(script, this.name, 'default');
66
34
  }
67
35
  if (version === 'cashaddr') {
68
- const script = utxolib.addressFormat.toOutputScriptTryFormats(address, this.network);
69
- return utxolib.addressFormat.fromOutputScriptWithFormat(script, version, this.network);
36
+ const script = wasm_utxo_1.address.toOutputScriptWithCoin(address, this.name);
37
+ return wasm_utxo_1.address.fromOutputScriptWithCoin(script, this.name, 'cashaddr');
70
38
  }
71
39
  throw new Error(`invalid version ${version}`);
72
40
  }
73
41
  }
74
42
  exports.Bch = Bch;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGwvYmNoL2JjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx5REFBMkM7QUFFM0MsNkRBQTBEO0FBRTFELG1EQUFzRDtBQUV0RCxNQUFhLEdBQUksU0FBUSxtQ0FBZ0I7SUFHdkMsWUFBc0IsS0FBZ0I7UUFDcEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSE4sU0FBSSxHQUFpQixLQUFLLENBQUM7SUFJcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxnQkFBZ0IsQ0FBQyxPQUFlLEVBQUUsVUFBbUIsUUFBUTtRQUMzRCxJQUFJLElBQUEsK0JBQWlCLEVBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDekIsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELElBQUksT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRixPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekYsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBdkNELGtCQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4gfSBmcm9tICcuLi8uLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uL25hbWVzJztcbmltcG9ydCB7IGlzU2NyaXB0UmVjaXBpZW50IH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgQmNoIGV4dGVuZHMgQWJzdHJhY3RVdHhvQ29pbiB7XG4gIHJlYWRvbmx5IG5hbWU6IFV0eG9Db2luTmFtZSA9ICdiY2gnO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlKSB7XG4gICAgc3VwZXIoYml0Z28pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBCY2gge1xuICAgIHJldHVybiBuZXcgQmNoKGJpdGdvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5vbmljYWxpemUgYSBCaXRjb2luIENhc2ggYWRkcmVzcyBmb3IgYSBzcGVjaWZpYyB2ZXJzaW9uXG4gICAqXG4gICAqIFN0YXJ0aW5nIG9uIEphbnVhcnkgMTR0aCwgMjAxOCBCaXRjb2luIENhc2gncyBiaXRjb2luLWFiYyBub2RlIHN3aXRjaGVkIG92ZXIgdG8gdXNpbmcgY2FzaGFkZHJcbiAgICogZW5jb2RpbmcgZm9yIGFsbCBvZiB0aGVpciBhZGRyZXNzZXMgaW4gb3JkZXIgdG8gZGlzdGluZ3Vpc2ggdGhlbSBmcm9tIEJpdGNvaW4gQ29yZSdzLlxuICAgKiBodHRwczovL3d3dy5iaXRjb2luYWJjLm9yZy9jYXNoYWRkci4gV2UncmUgc3RpY2tpbmcgd2l0aCB0aGUgb2xkIGJhc2U1OCBmb3JtYXQgYmVjYXVzZVxuICAgKiBtaWdyYXRpbmcgb3ZlciB0byB0aGUgbmV3IGZvcm1hdCB3aWxsIGJlIGxhYm9yaW91cywgYW5kIHdlIHdhbnQgdG8gc2VlIGhvdyB0aGUgc3BhY2UgZXZvbHZlc1xuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyBtYXkgb3IgbWF5IG5vdCBiZSBwcmVmaXhlZCB3aXRoIHRoZSBuZXR3b3JrLCBleGFtcGxlIGJpdGNvaW5jYXNoOnBwcGt0N3EyYXhwc20yY2FqeWp0dTZ4OGZzaDZ5d2F1emd4bXNydTk2MiBvciBwcHBrdDdxMmF4cHNtMmNhanlqdHU2eDhmc2g2eXdhdXpneG1zcnU5NjJcbiAgICogQHBhcmFtIHZlcnNpb24gdGhlIHZlcnNpb24gb2YgdGhlIGRlc2lyZWQgYWRkcmVzcywgJ2Jhc2U1OCcgb3IgJ2Nhc2hhZGRyJywgZGVmYXVsdGluZyB0byAnYmFzZTU4J1xuICAgKiBAcmV0dXJucyB7Kn0gYWRkcmVzcyBzdHJpbmdcbiAgICovXG4gIGNhbm9uaWNhbEFkZHJlc3MoYWRkcmVzczogc3RyaW5nLCB2ZXJzaW9uOiB1bmtub3duID0gJ2Jhc2U1OCcpOiBzdHJpbmcge1xuICAgIGlmIChpc1NjcmlwdFJlY2lwaWVudChhZGRyZXNzKSkge1xuICAgICAgcmV0dXJuIGFkZHJlc3M7XG4gICAgfVxuXG4gICAgaWYgKHZlcnNpb24gPT09ICdiYXNlNTgnKSB7XG4gICAgICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzRm9ybWF0LnRvQ2Fub25pY2FsRm9ybWF0KGFkZHJlc3MsIHRoaXMubmV0d29yayk7XG4gICAgfVxuXG4gICAgaWYgKHZlcnNpb24gPT09ICdjYXNoYWRkcicpIHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IHV0eG9saWIuYWRkcmVzc0Zvcm1hdC50b091dHB1dFNjcmlwdFRyeUZvcm1hdHMoYWRkcmVzcywgdGhpcy5uZXR3b3JrKTtcbiAgICAgIHJldHVybiB1dHhvbGliLmFkZHJlc3NGb3JtYXQuZnJvbU91dHB1dFNjcmlwdFdpdGhGb3JtYXQoc2NyaXB0LCB2ZXJzaW9uLCB0aGlzLm5ldHdvcmspO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCB2ZXJzaW9uICR7dmVyc2lvbn1gKTtcbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGwvYmNoL2JjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxnREFBMEQ7QUFFMUQsNkRBQTBEO0FBRTFELG1EQUFzRDtBQUV0RCxNQUFhLEdBQUksU0FBUSxtQ0FBZ0I7SUFHdkMsWUFBc0IsS0FBZ0I7UUFDcEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSE4sU0FBSSxHQUFpQixLQUFLLENBQUM7SUFJcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxnQkFBZ0IsQ0FBQyxPQUFlLEVBQUUsVUFBbUIsUUFBUTtRQUMzRCxJQUFJLElBQUEsK0JBQWlCLEVBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDekIsTUFBTSxNQUFNLEdBQUcsbUJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sbUJBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDM0IsTUFBTSxNQUFNLEdBQUcsbUJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sbUJBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUF4Q0Qsa0JBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGFkZHJlc3MgYXMgd2FzbUFkZHJlc3MgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiB9IGZyb20gJy4uLy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgVXR4b0NvaW5OYW1lIH0gZnJvbSAnLi4vLi4vbmFtZXMnO1xuaW1wb3J0IHsgaXNTY3JpcHRSZWNpcGllbnQgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBCY2ggZXh0ZW5kcyBBYnN0cmFjdFV0eG9Db2luIHtcbiAgcmVhZG9ubHkgbmFtZTogVXR4b0NvaW5OYW1lID0gJ2JjaCc7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UpIHtcbiAgICBzdXBlcihiaXRnbyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IEJjaCB7XG4gICAgcmV0dXJuIG5ldyBCY2goYml0Z28pO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbm9uaWNhbGl6ZSBhIEJpdGNvaW4gQ2FzaCBhZGRyZXNzIGZvciBhIHNwZWNpZmljIHZlcnNpb25cbiAgICpcbiAgICogU3RhcnRpbmcgb24gSmFudWFyeSAxNHRoLCAyMDE4IEJpdGNvaW4gQ2FzaCdzIGJpdGNvaW4tYWJjIG5vZGUgc3dpdGNoZWQgb3ZlciB0byB1c2luZyBjYXNoYWRkclxuICAgKiBlbmNvZGluZyBmb3IgYWxsIG9mIHRoZWlyIGFkZHJlc3NlcyBpbiBvcmRlciB0byBkaXN0aW5ndWlzaCB0aGVtIGZyb20gQml0Y29pbiBDb3JlJ3MuXG4gICAqIGh0dHBzOi8vd3d3LmJpdGNvaW5hYmMub3JnL2Nhc2hhZGRyLiBXZSdyZSBzdGlja2luZyB3aXRoIHRoZSBvbGQgYmFzZTU4IGZvcm1hdCBiZWNhdXNlXG4gICAqIG1pZ3JhdGluZyBvdmVyIHRvIHRoZSBuZXcgZm9ybWF0IHdpbGwgYmUgbGFib3Jpb3VzLCBhbmQgd2Ugd2FudCB0byBzZWUgaG93IHRoZSBzcGFjZSBldm9sdmVzXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIG1heSBvciBtYXkgbm90IGJlIHByZWZpeGVkIHdpdGggdGhlIG5ldHdvcmssIGV4YW1wbGUgYml0Y29pbmNhc2g6cHBwa3Q3cTJheHBzbTJjYWp5anR1Nng4ZnNoNnl3YXV6Z3htc3J1OTYyIG9yIHBwcGt0N3EyYXhwc20yY2FqeWp0dTZ4OGZzaDZ5d2F1emd4bXNydTk2MlxuICAgKiBAcGFyYW0gdmVyc2lvbiB0aGUgdmVyc2lvbiBvZiB0aGUgZGVzaXJlZCBhZGRyZXNzLCAnYmFzZTU4JyBvciAnY2FzaGFkZHInLCBkZWZhdWx0aW5nIHRvICdiYXNlNTgnXG4gICAqIEByZXR1cm5zIHsqfSBhZGRyZXNzIHN0cmluZ1xuICAgKi9cbiAgY2Fub25pY2FsQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcsIHZlcnNpb246IHVua25vd24gPSAnYmFzZTU4Jyk6IHN0cmluZyB7XG4gICAgaWYgKGlzU2NyaXB0UmVjaXBpZW50KGFkZHJlc3MpKSB7XG4gICAgICByZXR1cm4gYWRkcmVzcztcbiAgICB9XG5cbiAgICBpZiAodmVyc2lvbiA9PT0gJ2Jhc2U1OCcpIHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IHdhc21BZGRyZXNzLnRvT3V0cHV0U2NyaXB0V2l0aENvaW4oYWRkcmVzcywgdGhpcy5uYW1lKTtcbiAgICAgIHJldHVybiB3YXNtQWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0V2l0aENvaW4oc2NyaXB0LCB0aGlzLm5hbWUsICdkZWZhdWx0Jyk7XG4gICAgfVxuXG4gICAgaWYgKHZlcnNpb24gPT09ICdjYXNoYWRkcicpIHtcbiAgICAgIGNvbnN0IHNjcmlwdCA9IHdhc21BZGRyZXNzLnRvT3V0cHV0U2NyaXB0V2l0aENvaW4oYWRkcmVzcywgdGhpcy5uYW1lKTtcbiAgICAgIHJldHVybiB3YXNtQWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0V2l0aENvaW4oc2NyaXB0LCB0aGlzLm5hbWUsICdjYXNoYWRkcicpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCB2ZXJzaW9uICR7dmVyc2lvbn1gKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,15 @@
1
1
  import { IInscriptionBuilder, IWallet, PrebuildTransactionResult, PreparedInscriptionRevealData, SubmitTransactionResponse } from '@bitgo/sdk-core';
2
- import * as utxolib from '@bitgo/utxo-lib';
2
+ import { type TapLeafScript } from '@bitgo/utxo-ord';
3
3
  import { AbstractUtxoCoin } from '../../abstractUtxoCoin';
4
+ /** Key identifier for signing */
5
+ type SignerKey = 'user' | 'backup' | 'bitgo';
6
+ /** Unspent from wallet API (value may be number or bigint) */
7
+ type WalletUnspentLike = {
8
+ id: string;
9
+ value: number | bigint;
10
+ chain: number;
11
+ index: number;
12
+ };
4
13
  export declare class InscriptionBuilder implements IInscriptionBuilder {
5
14
  private readonly wallet;
6
15
  private readonly coin;
@@ -20,14 +29,14 @@ export declare class InscriptionBuilder implements IInscriptionBuilder {
20
29
  * @param changeAddressType Address type of the change address
21
30
  */
22
31
  prepareTransfer(satPoint: string, recipient: string, feeRateSatKB: number, { signer, cosigner, inscriptionConstraints, changeAddressType, txFormat, }: {
23
- signer?: utxolib.bitgo.KeyName;
24
- cosigner?: utxolib.bitgo.KeyName;
32
+ signer?: SignerKey;
33
+ cosigner?: SignerKey;
25
34
  inscriptionConstraints?: {
26
35
  minChangeOutput?: bigint;
27
36
  minInscriptionOutput?: bigint;
28
37
  maxInscriptionOutput?: bigint;
29
38
  };
30
- changeAddressType?: utxolib.bitgo.outputScripts.ScriptType2Of3;
39
+ changeAddressType?: 'p2sh' | 'p2shP2wsh' | 'p2wsh' | 'p2tr' | 'p2trMusig2';
31
40
  txFormat?: 'psbt' | 'legacy';
32
41
  }): Promise<PrebuildTransactionResult>;
33
42
  /**
@@ -40,7 +49,7 @@ export declare class InscriptionBuilder implements IInscriptionBuilder {
40
49
  * @param recipientAddress
41
50
  * @param inscriptionData
42
51
  */
43
- signAndSendReveal(walletPassphrase: string, tapLeafScript: utxolib.bitgo.TapLeafScript, commitAddress: string, unsignedCommitTx: Buffer, commitTransactionUnspents: utxolib.bitgo.WalletUnspent[], recipientAddress: string, inscriptionData: Buffer): Promise<SubmitTransactionResponse>;
52
+ signAndSendReveal(walletPassphrase: string, tapLeafScript: TapLeafScript, commitAddress: string, unsignedCommitTx: Buffer, commitTransactionUnspents: WalletUnspentLike[], recipientAddress: string, inscriptionData: Buffer): Promise<SubmitTransactionResponse>;
44
53
  /**
45
54
  * Sign and send a transaction that transfers an inscription
46
55
  * @param walletPassphrase passphrase to unlock your keys
@@ -48,4 +57,5 @@ export declare class InscriptionBuilder implements IInscriptionBuilder {
48
57
  */
49
58
  signAndSendTransfer(walletPassphrase: string, txPrebuild: PrebuildTransactionResult): Promise<SubmitTransactionResponse>;
50
59
  }
60
+ export {};
51
61
  //# sourceMappingURL=inscriptionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inscriptionBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/impl/btc/inscriptionBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,mBAAmB,EACnB,OAAO,EAEP,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAG1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAc3C,OAAO,EAAE,gBAAgB,EAAkB,MAAM,wBAAwB,CAAC;AAK1E,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB;IAK7C,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;YAW3F,8BAA8B;IAyE5C;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,EACE,MAAe,EACf,QAAkB,EAClB,sBAAsD,EACtD,iBAA2B,EAC3B,QAAiB,GAClB,EAAE;QACD,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,sBAAsB,CAAC,EAAE;YACvB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;SAC/B,CAAC;QACF,iBAAiB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;QAC/D,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC9B,GACA,OAAO,CAAC,yBAAyB,CAAC;IAyCrC;;;;;;;;;OASG;IACG,iBAAiB,CACrB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAC1C,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,yBAAyB,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,EACxD,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,yBAAyB,CAAC;IAgCrC;;;;OAIG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,yBAAyB,CAAC;CAOtC"}
1
+ {"version":3,"file":"inscriptionBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/impl/btc/inscriptionBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,mBAAmB,EACnB,OAAO,EAEP,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EAG1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAYL,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,iCAAiC;AACjC,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C,8DAA8D;AAC9D,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAIF,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;gBAE5B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB;IAK7C,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;YA0B3F,8BAA8B;IA8E5C;;;;;;;;;;;OAWG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,EACE,MAAe,EACf,QAAkB,EAClB,sBAAsD,EACtD,iBAA2B,EAC3B,QAAiB,GAClB,EAAE;QACD,MAAM,CAAC,EAAE,SAAS,CAAC;QACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,sBAAsB,CAAC,EAAE;YACvB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;SAC/B,CAAC;QACF,iBAAiB,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC;QAC3E,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC9B,GACA,OAAO,CAAC,yBAAyB,CAAC;IAmDrC;;;;;;;;;OASG;IACG,iBAAiB,CACrB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,yBAAyB,EAAE,iBAAiB,EAAE,EAC9C,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,yBAAyB,CAAC;IAgCrC;;;;OAIG;IACG,mBAAmB,CACvB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,yBAAyB,CAAC;CAOtC"}
@@ -1,37 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
@@ -39,9 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
6
  exports.InscriptionBuilder = void 0;
40
7
  const assert_1 = __importDefault(require("assert"));
41
8
  const sdk_core_1 = require("@bitgo/sdk-core");
42
- const utxolib = __importStar(require("@bitgo/utxo-lib"));
9
+ const secp256k1_1 = require("@bitgo/secp256k1");
43
10
  const utxo_ord_1 = require("@bitgo/utxo-ord");
44
- const crossChainRecovery_1 = require("../../recovery/crossChainRecovery");
11
+ const wasm_utxo_1 = require("@bitgo/wasm-utxo");
12
+ const keychains_1 = require("../../keychains");
45
13
  const SUPPLEMENTARY_UNSPENTS_MIN_VALUE_SATS = [0, 20000, 200000];
46
14
  class InscriptionBuilder {
47
15
  constructor(wallet, coin) {
@@ -51,12 +19,21 @@ class InscriptionBuilder {
51
19
  async prepareReveal(inscriptionData, contentType) {
52
20
  const user = await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[sdk_core_1.KeyIndices.USER] });
53
21
  (0, assert_1.default)(user.pub);
54
- const derived = this.coin.deriveKeyWithSeed({ key: user.pub, seed: inscriptionData.toString() });
55
- const compressedPublicKey = (0, sdk_core_1.xpubToCompressedPub)(derived.key);
56
- const xOnlyPublicKey = utxolib.bitgo.outputScripts.toXOnlyPublicKey(Buffer.from(compressedPublicKey, 'hex'));
57
- return utxo_ord_1.inscriptions.createInscriptionRevealData(xOnlyPublicKey, contentType, inscriptionData, this.coin.network);
22
+ const userKey = secp256k1_1.bip32.fromBase58(user.pub);
23
+ const { key: derivedKey } = sdk_core_1.BaseCoin.deriveKeyWithSeedBip32(userKey, inscriptionData.toString());
24
+ const result = utxo_ord_1.inscriptions.createInscriptionRevealData(derivedKey.publicKey, contentType, inscriptionData, this.coin.name);
25
+ // Convert TapLeafScript to utxolib format for backwards compatibility
26
+ return {
27
+ address: result.address,
28
+ revealTransactionVSize: result.revealTransactionVSize,
29
+ tapLeafScript: {
30
+ controlBlock: Buffer.from(result.tapLeafScript.controlBlock),
31
+ script: Buffer.from(result.tapLeafScript.script),
32
+ leafVersion: result.tapLeafScript.leafVersion,
33
+ },
34
+ };
58
35
  }
59
- async prepareTransferWithExtraInputs(satPoint, feeRateSatKB, { signer, cosigner, inscriptionConstraints, txFormat, }, rootWalletKeys, outputs, inscriptionUnspents, supplementaryUnspentsMinValue) {
36
+ async prepareTransferWithExtraInputs(satPoint, feeRateSatKB, { signer, cosigner, inscriptionConstraints, txFormat, }, walletXpubs, outputs, inscriptionUnspents, supplementaryUnspentsMinValue) {
60
37
  let supplementaryUnspents = [];
61
38
  if (supplementaryUnspentsMinValue > 0) {
62
39
  const response = await this.wallet.unspents({
@@ -66,13 +43,15 @@ class InscriptionBuilder {
66
43
  supplementaryUnspents = response.unspents
67
44
  .filter((unspent) => unspent.id !== inscriptionUnspents[0].id)
68
45
  .slice(0, utxo_ord_1.MAX_UNSPENTS_FOR_OUTPUT_LAYOUT - 1)
69
- .map((unspent) => {
70
- unspent.value = BigInt(unspent.value);
71
- return unspent;
72
- });
46
+ .map((unspent) => ({
47
+ id: unspent.id,
48
+ value: BigInt(unspent.value),
49
+ chain: unspent.chain,
50
+ index: unspent.index,
51
+ }));
73
52
  }
74
- const psbt = (0, utxo_ord_1.createPsbtForSingleInscriptionPassingTransaction)(this.coin.network, {
75
- walletKeys: rootWalletKeys,
53
+ const psbt = (0, utxo_ord_1.createPsbtForSingleInscriptionPassingTransaction)(this.coin.name, {
54
+ walletKeys: walletXpubs,
76
55
  signer,
77
56
  cosigner,
78
57
  }, inscriptionUnspents, satPoint, outputs, { feeRateSatKB, ...inscriptionConstraints }, { supplementaryUnspents });
@@ -91,7 +70,7 @@ class InscriptionBuilder {
91
70
  }
92
71
  return {
93
72
  walletId: this.wallet.id(),
94
- txHex: txFormat === 'psbt' ? psbt.toHex() : psbt.getUnsignedTx().toHex(),
73
+ txHex: Buffer.from(psbt.serialize()).toString('hex'),
95
74
  txInfo: { unspents: allUnspents },
96
75
  feeInfo: { fee: Number(outputLayout.layout.feeOutput), feeString: outputLayout.layout.feeOutput.toString() },
97
76
  };
@@ -110,13 +89,22 @@ class InscriptionBuilder {
110
89
  */
111
90
  async prepareTransfer(satPoint, recipient, feeRateSatKB, { signer = 'user', cosigner = 'bitgo', inscriptionConstraints = utxo_ord_1.DefaultInscriptionConstraints, changeAddressType = 'p2wsh', txFormat = 'psbt', }) {
112
91
  (0, assert_1.default)((0, utxo_ord_1.isSatPoint)(satPoint));
113
- const rootWalletKeys = await (0, crossChainRecovery_1.getWalletKeys)(this.coin, this.wallet);
92
+ const keychains = await (0, keychains_1.fetchKeychains)(this.coin, this.wallet);
93
+ const walletXpubs = [keychains.user.pub, keychains.backup.pub, keychains.bitgo.pub];
114
94
  const parsedSatPoint = (0, utxo_ord_1.parseSatPoint)(satPoint);
115
95
  const transaction = await this.wallet.getTransaction({ txHash: parsedSatPoint.txid });
116
- const unspents = [transaction.outputs[parsedSatPoint.vout]];
117
- unspents[0].value = BigInt(unspents[0].value);
96
+ const output = transaction.outputs[parsedSatPoint.vout];
97
+ const unspents = [
98
+ {
99
+ id: `${parsedSatPoint.txid}:${parsedSatPoint.vout}`,
100
+ value: BigInt(output.value),
101
+ chain: output.chain,
102
+ index: output.index,
103
+ },
104
+ ];
105
+ const changeChain = wasm_utxo_1.fixedScriptWallet.ChainCode.value(changeAddressType, 'internal');
118
106
  const changeAddress = await this.wallet.createAddress({
119
- chain: utxolib.bitgo.getInternalChainCode(changeAddressType),
107
+ chain: changeChain,
120
108
  });
121
109
  const outputs = {
122
110
  inscriptionRecipient: recipient,
@@ -127,7 +115,7 @@ class InscriptionBuilder {
127
115
  };
128
116
  for (const supplementaryUnspentsMinValue of SUPPLEMENTARY_UNSPENTS_MIN_VALUE_SATS) {
129
117
  try {
130
- return await this.prepareTransferWithExtraInputs(satPoint, feeRateSatKB, { signer, cosigner, inscriptionConstraints, txFormat }, rootWalletKeys, outputs, unspents, supplementaryUnspentsMinValue);
118
+ return await this.prepareTransferWithExtraInputs(satPoint, feeRateSatKB, { signer, cosigner, inscriptionConstraints, txFormat }, walletXpubs, outputs, unspents, supplementaryUnspentsMinValue);
131
119
  }
132
120
  catch (error) {
133
121
  if (!(error instanceof utxo_ord_1.ErrorNoLayout)) {
@@ -159,11 +147,11 @@ class InscriptionBuilder {
159
147
  }));
160
148
  const derived = this.coin.deriveKeyWithSeed({ key: xprv, seed: inscriptionData.toString() });
161
149
  const prv = (0, sdk_core_1.xprvToRawPrv)(derived.key);
162
- const fullySignedRevealTransaction = await utxo_ord_1.inscriptions.signRevealTransaction(Buffer.from(prv, 'hex'), tapLeafScript, commitAddress, recipientAddress, Buffer.from(halfSignedCommitTransaction.txHex, 'hex'), this.coin.network);
150
+ const fullySignedRevealTransaction = utxo_ord_1.inscriptions.signRevealTransaction(Buffer.from(prv, 'hex'), tapLeafScript, commitAddress, recipientAddress, Buffer.from(halfSignedCommitTransaction.txHex, 'hex'), this.coin.name);
163
151
  return this.wallet.submitTransaction({
164
152
  halfSigned: {
165
153
  txHex: halfSignedCommitTransaction.txHex,
166
- signedChildPsbt: fullySignedRevealTransaction.toHex(),
154
+ signedChildPsbt: Buffer.from(fullySignedRevealTransaction).toString('hex'),
167
155
  },
168
156
  });
169
157
  }
@@ -180,4 +168,4 @@ class InscriptionBuilder {
180
168
  }
181
169
  }
182
170
  exports.InscriptionBuilder = InscriptionBuilder;
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGwvYnRjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsOENBVXlCO0FBQ3pCLHlEQUEyQztBQUMzQyw4Q0FXeUI7QUFHekIsMEVBQWtFO0FBRWxFLE1BQU0scUNBQXFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBTSxFQUFFLE1BQU8sQ0FBQyxDQUFDO0FBRW5FLE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksTUFBZSxFQUFFLElBQXNCO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQXVCLEVBQUUsV0FBbUI7UUFDOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RyxJQUFBLGdCQUFNLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRyxNQUFNLG1CQUFtQixHQUFHLElBQUEsOEJBQW1CLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU3RyxPQUFPLHVCQUFZLENBQUMsMkJBQTJCLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuSCxDQUFDO0lBRU8sS0FBSyxDQUFDLDhCQUE4QixDQUMxQyxRQUFrQixFQUNsQixZQUFvQixFQUNwQixFQUNFLE1BQU0sRUFDTixRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLFFBQVEsR0FVVCxFQUNELGNBQThCLEVBQzlCLE9BQTJCLEVBQzNCLG1CQUEwRCxFQUMxRCw2QkFBcUM7UUFFckMsSUFBSSxxQkFBcUIsR0FBMEMsRUFBRSxDQUFDO1FBQ3RFLElBQUksNkJBQTZCLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDMUMsUUFBUSxFQUFFLDZCQUE2QjthQUN4QyxDQUFDLENBQUM7WUFDSCxxRUFBcUU7WUFDckUscUJBQXFCLEdBQUcsUUFBUSxDQUFDLFFBQVE7aUJBQ3RDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQzdELEtBQUssQ0FBQyxDQUFDLEVBQUUseUNBQThCLEdBQUcsQ0FBQyxDQUFDO2lCQUM1QyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUEsMkRBQWdELEVBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUNqQjtZQUNFLFVBQVUsRUFBRSxjQUFjO1lBQzFCLE1BQU07WUFDTixRQUFRO1NBQ1QsRUFDRCxtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLE9BQU8sRUFDUCxFQUFFLFlBQVksRUFBRSxHQUFHLHNCQUFzQixFQUFFLEVBQzNDLEVBQUUscUJBQXFCLEVBQUUsQ0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLG1CQUFtQixFQUFFLEdBQUcscUJBQXFCLENBQUMsQ0FBQztRQUV2RSwyR0FBMkc7UUFDM0csb0hBQW9IO1FBQ3BILE1BQU0sWUFBWSxHQUFHLElBQUEsNENBQWlDLEVBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDckYsWUFBWTtZQUNaLEdBQUcsc0JBQXNCO1NBQzFCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUNELE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDMUIsS0FBSyxFQUFFLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRTtZQUN4RSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFO1lBQ2pDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUU7U0FDN0csQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQ25CLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLFlBQW9CLEVBQ3BCLEVBQ0UsTUFBTSxHQUFHLE1BQU0sRUFDZixRQUFRLEdBQUcsT0FBTyxFQUNsQixzQkFBc0IsR0FBRyx3Q0FBNkIsRUFDdEQsaUJBQWlCLEdBQUcsT0FBTyxFQUMzQixRQUFRLEdBQUcsTUFBTSxHQVdsQjtRQUVELElBQUEsZ0JBQU0sRUFBQyxJQUFBLHFCQUFVLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUU3QixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUEsa0NBQWEsRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRSxNQUFNLGNBQWMsR0FBRyxJQUFBLHdCQUFhLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0RixNQUFNLFFBQVEsR0FBMEMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25HLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QyxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ3BELEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDO1NBQzdELENBQUMsQ0FBQztRQUNILE1BQU0sT0FBTyxHQUF1QjtZQUNsQyxvQkFBb0IsRUFBRSxTQUFTO1lBQy9CLGFBQWEsRUFBRTtnQkFDYixFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFO2dCQUMxRCxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFO2FBQzNEO1NBQ0YsQ0FBQztRQUVGLEtBQUssTUFBTSw2QkFBNkIsSUFBSSxxQ0FBcUMsRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQztnQkFDSCxPQUFPLE1BQU0sSUFBSSxDQUFDLDhCQUE4QixDQUM5QyxRQUFRLEVBQ1IsWUFBWSxFQUNaLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsRUFDdEQsY0FBYyxFQUNkLE9BQU8sRUFDUCxRQUFRLEVBQ1IsNkJBQTZCLENBQzlCLENBQUM7WUFDSixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksd0JBQWEsQ0FBQyxFQUFFLENBQUM7b0JBQ3RDLE1BQU0sS0FBSyxDQUFDLENBQUMsK0NBQStDO2dCQUM5RCxDQUFDLENBQUMsNEVBQTRFO1lBQ2hGLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDLENBQUMsb0NBQW9DO0lBQ25ILENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsaUJBQWlCLENBQ3JCLGdCQUF3QixFQUN4QixhQUEwQyxFQUMxQyxhQUFxQixFQUNyQixnQkFBd0IsRUFDeEIseUJBQXdELEVBQ3hELGdCQUF3QixFQUN4QixlQUF1QjtRQUV2QixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUV4RixNQUFNLDJCQUEyQixHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztZQUNyRSxHQUFHLEVBQUUsSUFBSTtZQUNULFVBQVUsRUFBRTtnQkFDVixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDdkMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFO2FBQ2hEO1NBQ0YsQ0FBQyxDQUE4QixDQUFDO1FBRWpDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLE1BQU0sR0FBRyxHQUFHLElBQUEsdUJBQVksRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdEMsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLHVCQUFZLENBQUMscUJBQXFCLENBQzNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUN2QixhQUFhLEVBQ2IsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQ2xCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7WUFDbkMsVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSwyQkFBMkIsQ0FBQyxLQUFLO2dCQUN4QyxlQUFlLEVBQUUsNEJBQTRCLENBQUMsS0FBSyxFQUFFO2FBQ3REO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsbUJBQW1CLENBQ3ZCLGdCQUF3QixFQUN4QixVQUFxQztRQUVyQyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFakYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQThCLENBQUM7UUFDekcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0Y7QUF4T0QsZ0RBd09DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQge1xuICBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uLFxuICBJSW5zY3JpcHRpb25CdWlsZGVyLFxuICBJV2FsbGV0LFxuICBLZXlJbmRpY2VzLFxuICBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0LFxuICBQcmVwYXJlZEluc2NyaXB0aW9uUmV2ZWFsRGF0YSxcbiAgU3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZSxcbiAgeHBydlRvUmF3UHJ2LFxuICB4cHViVG9Db21wcmVzc2VkUHViLFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHNidEZvclNpbmdsZUluc2NyaXB0aW9uUGFzc2luZ1RyYW5zYWN0aW9uLFxuICBEZWZhdWx0SW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgSW5zY3JpcHRpb25PdXRwdXRzLFxuICBpbnNjcmlwdGlvbnMsXG4gIHBhcnNlU2F0UG9pbnQsXG4gIGlzU2F0UG9pbnQsXG4gIEVycm9yTm9MYXlvdXQsXG4gIGZpbmRPdXRwdXRMYXlvdXRGb3JXYWxsZXRVbnNwZW50cyxcbiAgTUFYX1VOU1BFTlRTX0ZPUl9PVVRQVVRfTEFZT1VULFxuICBTYXRQb2ludCxcbn0gZnJvbSAnQGJpdGdvL3V0eG8tb3JkJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiwgUm9vdFdhbGxldEtleXMgfSBmcm9tICcuLi8uLi9hYnN0cmFjdFV0eG9Db2luJztcbmltcG9ydCB7IGdldFdhbGxldEtleXMgfSBmcm9tICcuLi8uLi9yZWNvdmVyeS9jcm9zc0NoYWluUmVjb3ZlcnknO1xuXG5jb25zdCBTVVBQTEVNRU5UQVJZX1VOU1BFTlRTX01JTl9WQUxVRV9TQVRTID0gWzAsIDIwXzAwMCwgMjAwXzAwMF07XG5cbmV4cG9ydCBjbGFzcyBJbnNjcmlwdGlvbkJ1aWxkZXIgaW1wbGVtZW50cyBJSW5zY3JpcHRpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB3YWxsZXQ6IElXYWxsZXQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29pbjogQWJzdHJhY3RVdHhvQ29pbjtcblxuICBjb25zdHJ1Y3Rvcih3YWxsZXQ6IElXYWxsZXQsIGNvaW46IEFic3RyYWN0VXR4b0NvaW4pIHtcbiAgICB0aGlzLndhbGxldCA9IHdhbGxldDtcbiAgICB0aGlzLmNvaW4gPSBjb2luO1xuICB9XG5cbiAgYXN5bmMgcHJlcGFyZVJldmVhbChpbnNjcmlwdGlvbkRhdGE6IEJ1ZmZlciwgY29udGVudFR5cGU6IHN0cmluZyk6IFByb21pc2U8UHJlcGFyZWRJbnNjcmlwdGlvblJldmVhbERhdGE+IHtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHRoaXMud2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0gfSk7XG4gICAgYXNzZXJ0KHVzZXIucHViKTtcblxuICAgIGNvbnN0IGRlcml2ZWQgPSB0aGlzLmNvaW4uZGVyaXZlS2V5V2l0aFNlZWQoeyBrZXk6IHVzZXIucHViLCBzZWVkOiBpbnNjcmlwdGlvbkRhdGEudG9TdHJpbmcoKSB9KTtcbiAgICBjb25zdCBjb21wcmVzc2VkUHVibGljS2V5ID0geHB1YlRvQ29tcHJlc3NlZFB1YihkZXJpdmVkLmtleSk7XG4gICAgY29uc3QgeE9ubHlQdWJsaWNLZXkgPSB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMudG9YT25seVB1YmxpY0tleShCdWZmZXIuZnJvbShjb21wcmVzc2VkUHVibGljS2V5LCAnaGV4JykpO1xuXG4gICAgcmV0dXJuIGluc2NyaXB0aW9ucy5jcmVhdGVJbnNjcmlwdGlvblJldmVhbERhdGEoeE9ubHlQdWJsaWNLZXksIGNvbnRlbnRUeXBlLCBpbnNjcmlwdGlvbkRhdGEsIHRoaXMuY29pbi5uZXR3b3JrKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJlcGFyZVRyYW5zZmVyV2l0aEV4dHJhSW5wdXRzKFxuICAgIHNhdFBvaW50OiBTYXRQb2ludCxcbiAgICBmZWVSYXRlU2F0S0I6IG51bWJlcixcbiAgICB7XG4gICAgICBzaWduZXIsXG4gICAgICBjb3NpZ25lcixcbiAgICAgIGluc2NyaXB0aW9uQ29uc3RyYWludHMsXG4gICAgICB0eEZvcm1hdCxcbiAgICB9OiB7XG4gICAgICBzaWduZXI6IHV0eG9saWIuYml0Z28uS2V5TmFtZTtcbiAgICAgIGNvc2lnbmVyOiB1dHhvbGliLmJpdGdvLktleU5hbWU7XG4gICAgICBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzOiB7XG4gICAgICAgIG1pbkNoYW5nZU91dHB1dD86IGJpZ2ludDtcbiAgICAgICAgbWluSW5zY3JpcHRpb25PdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1heEluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgfTtcbiAgICAgIHR4Rm9ybWF0PzogJ3BzYnQnIHwgJ2xlZ2FjeSc7XG4gICAgfSxcbiAgICByb290V2FsbGV0S2V5czogUm9vdFdhbGxldEtleXMsXG4gICAgb3V0cHV0czogSW5zY3JpcHRpb25PdXRwdXRzLFxuICAgIGluc2NyaXB0aW9uVW5zcGVudHM6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudDxiaWdpbnQ+W10sXG4gICAgc3VwcGxlbWVudGFyeVVuc3BlbnRzTWluVmFsdWU6IG51bWJlclxuICApOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ+IHtcbiAgICBsZXQgc3VwcGxlbWVudGFyeVVuc3BlbnRzOiB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnQ8YmlnaW50PltdID0gW107XG4gICAgaWYgKHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlID4gMCkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLndhbGxldC51bnNwZW50cyh7XG4gICAgICAgIG1pblZhbHVlOiBzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZSxcbiAgICAgIH0pO1xuICAgICAgLy8gRmlsdGVyIG91dCB0aGUgaW5zY3JpcHRpb24gdW5zcGVudCBmcm9tIHRoZSBzdXBwbGVtZW50YXJ5IHVuc3BlbnRzXG4gICAgICBzdXBwbGVtZW50YXJ5VW5zcGVudHMgPSByZXNwb25zZS51bnNwZW50c1xuICAgICAgICAuZmlsdGVyKCh1bnNwZW50KSA9PiB1bnNwZW50LmlkICE9PSBpbnNjcmlwdGlvblVuc3BlbnRzWzBdLmlkKVxuICAgICAgICAuc2xpY2UoMCwgTUFYX1VOU1BFTlRTX0ZPUl9PVVRQVVRfTEFZT1VUIC0gMSlcbiAgICAgICAgLm1hcCgodW5zcGVudCkgPT4ge1xuICAgICAgICAgIHVuc3BlbnQudmFsdWUgPSBCaWdJbnQodW5zcGVudC52YWx1ZSk7XG4gICAgICAgICAgcmV0dXJuIHVuc3BlbnQ7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBwc2J0ID0gY3JlYXRlUHNidEZvclNpbmdsZUluc2NyaXB0aW9uUGFzc2luZ1RyYW5zYWN0aW9uKFxuICAgICAgdGhpcy5jb2luLm5ldHdvcmssXG4gICAgICB7XG4gICAgICAgIHdhbGxldEtleXM6IHJvb3RXYWxsZXRLZXlzLFxuICAgICAgICBzaWduZXIsXG4gICAgICAgIGNvc2lnbmVyLFxuICAgICAgfSxcbiAgICAgIGluc2NyaXB0aW9uVW5zcGVudHMsXG4gICAgICBzYXRQb2ludCxcbiAgICAgIG91dHB1dHMsXG4gICAgICB7IGZlZVJhdGVTYXRLQiwgLi4uaW5zY3JpcHRpb25Db25zdHJhaW50cyB9LFxuICAgICAgeyBzdXBwbGVtZW50YXJ5VW5zcGVudHMgfVxuICAgICk7XG4gICAgaWYgKCFwc2J0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZlZSB0b28gaGlnaCBmb3IgdGhlIHNlbGVjdGVkIHVuc3BlbnQgd2l0aCB0aGlzIGZlZSByYXRlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYWxsVW5zcGVudHMgPSBbLi4uaW5zY3JpcHRpb25VbnNwZW50cywgLi4uc3VwcGxlbWVudGFyeVVuc3BlbnRzXTtcblxuICAgIC8vIFRPRE86IFJlbW92ZSB0aGUgY2FsbCB0byB0aGlzIGZ1bmN0aW9uIGJlY2F1c2UgaXQncyBhbHJlYWR5IGNhbGxlZCBpbnNpZGUgdGhlIGNyZWF0ZVBzYnQgZnVuY3Rpb24gYWJvdmUuXG4gICAgLy8gQ3JlYXRlICYgdXNlIGEgZ2V0RmVlIGZ1bmN0aW9uIGluc2lkZSB0aGUgY3JlYXRlZCBQU0JUIGluc3RlYWQsIGxhY2sgb2Ygd2hpY2ggbmVjZXNzaXRhdGVzIGEgZHVwbGljYXRlIGNhbGwgaGVyZS5cbiAgICBjb25zdCBvdXRwdXRMYXlvdXQgPSBmaW5kT3V0cHV0TGF5b3V0Rm9yV2FsbGV0VW5zcGVudHMoYWxsVW5zcGVudHMsIHNhdFBvaW50LCBvdXRwdXRzLCB7XG4gICAgICBmZWVSYXRlU2F0S0IsXG4gICAgICAuLi5pbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICAgIH0pO1xuICAgIGlmICghb3V0cHV0TGF5b3V0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZlZSB0b28gaGlnaCBmb3IgdGhlIHNlbGVjdGVkIHVuc3BlbnQgd2l0aCB0aGlzIGZlZSByYXRlJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB3YWxsZXRJZDogdGhpcy53YWxsZXQuaWQoKSxcbiAgICAgIHR4SGV4OiB0eEZvcm1hdCA9PT0gJ3BzYnQnID8gcHNidC50b0hleCgpIDogcHNidC5nZXRVbnNpZ25lZFR4KCkudG9IZXgoKSxcbiAgICAgIHR4SW5mbzogeyB1bnNwZW50czogYWxsVW5zcGVudHMgfSxcbiAgICAgIGZlZUluZm86IHsgZmVlOiBOdW1iZXIob3V0cHV0TGF5b3V0LmxheW91dC5mZWVPdXRwdXQpLCBmZWVTdHJpbmc6IG91dHB1dExheW91dC5sYXlvdXQuZmVlT3V0cHV0LnRvU3RyaW5nKCkgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgdHJhbnNhY3Rpb24gdG8gc2VuZCBhbiBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gc2F0UG9pbnQgU2F0cG9pbnQgeW91IHdhbnQgdG8gc2VuZFxuICAgKiBAcGFyYW0gcmVjaXBpZW50IEFkZHJlc3MgeW91IHdhbnQgdG8gc2VuZCB0b1xuICAgKiBAcGFyYW0gZmVlUmF0ZVNhdEtCIEZlZSByYXRlIGZvciB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gc2lnbmVyIGZpcnN0IHNpZ25lciBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIGNvc2lnbmVyIHNlY29uZCBzaWduZXIgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1pbkNoYW5nZU91dHB1dCAob3B0aW9uYWwpIHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIGNoYW5nZSBvdXRwdXRcbiAgICogQHBhcmFtIGluc2NyaXB0aW9uQ29uc3RyYWludHMubWluSW5zY3JpcHRpb25PdXRwdXQgKG9wdGlvbmFsKSB0aGUgbWluaW11bSBudW1iZXIgb2Ygc2F0cyBvZiB0aGUgb3V0cHV0IGNvbnRhaW5pbmcgdGhlIGluc2NyaXB0aW9uXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1heEluc2NyaXB0aW9uT3V0cHV0IChvcHRpb25hbCkgdGhlIG1heGltdW0gbnVtYmVyIG9mIHNhdHMgb2YgdGhlIG91dHB1dCBjb250YWluaW5nIHRoZSBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gY2hhbmdlQWRkcmVzc1R5cGUgQWRkcmVzcyB0eXBlIG9mIHRoZSBjaGFuZ2UgYWRkcmVzc1xuICAgKi9cbiAgYXN5bmMgcHJlcGFyZVRyYW5zZmVyKFxuICAgIHNhdFBvaW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcsXG4gICAgZmVlUmF0ZVNhdEtCOiBudW1iZXIsXG4gICAge1xuICAgICAgc2lnbmVyID0gJ3VzZXInLFxuICAgICAgY29zaWduZXIgPSAnYml0Z28nLFxuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cyA9IERlZmF1bHRJbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICAgICAgY2hhbmdlQWRkcmVzc1R5cGUgPSAncDJ3c2gnLFxuICAgICAgdHhGb3JtYXQgPSAncHNidCcsXG4gICAgfToge1xuICAgICAgc2lnbmVyPzogdXR4b2xpYi5iaXRnby5LZXlOYW1lO1xuICAgICAgY29zaWduZXI/OiB1dHhvbGliLmJpdGdvLktleU5hbWU7XG4gICAgICBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzPzoge1xuICAgICAgICBtaW5DaGFuZ2VPdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1pbkluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtYXhJbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgIH07XG4gICAgICBjaGFuZ2VBZGRyZXNzVHlwZT86IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMztcbiAgICAgIHR4Rm9ybWF0PzogJ3BzYnQnIHwgJ2xlZ2FjeSc7XG4gICAgfVxuICApOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ+IHtcbiAgICBhc3NlcnQoaXNTYXRQb2ludChzYXRQb2ludCkpO1xuXG4gICAgY29uc3Qgcm9vdFdhbGxldEtleXMgPSBhd2FpdCBnZXRXYWxsZXRLZXlzKHRoaXMuY29pbiwgdGhpcy53YWxsZXQpO1xuICAgIGNvbnN0IHBhcnNlZFNhdFBvaW50ID0gcGFyc2VTYXRQb2ludChzYXRQb2ludCk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBhd2FpdCB0aGlzLndhbGxldC5nZXRUcmFuc2FjdGlvbih7IHR4SGFzaDogcGFyc2VkU2F0UG9pbnQudHhpZCB9KTtcbiAgICBjb25zdCB1bnNwZW50czogdXR4b2xpYi5iaXRnby5XYWxsZXRVbnNwZW50PGJpZ2ludD5bXSA9IFt0cmFuc2FjdGlvbi5vdXRwdXRzW3BhcnNlZFNhdFBvaW50LnZvdXRdXTtcbiAgICB1bnNwZW50c1swXS52YWx1ZSA9IEJpZ0ludCh1bnNwZW50c1swXS52YWx1ZSk7XG5cbiAgICBjb25zdCBjaGFuZ2VBZGRyZXNzID0gYXdhaXQgdGhpcy53YWxsZXQuY3JlYXRlQWRkcmVzcyh7XG4gICAgICBjaGFpbjogdXR4b2xpYi5iaXRnby5nZXRJbnRlcm5hbENoYWluQ29kZShjaGFuZ2VBZGRyZXNzVHlwZSksXG4gICAgfSk7XG4gICAgY29uc3Qgb3V0cHV0czogSW5zY3JpcHRpb25PdXRwdXRzID0ge1xuICAgICAgaW5zY3JpcHRpb25SZWNpcGllbnQ6IHJlY2lwaWVudCxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtcbiAgICAgICAgeyBjaGFpbjogY2hhbmdlQWRkcmVzcy5jaGFpbiwgaW5kZXg6IGNoYW5nZUFkZHJlc3MuaW5kZXggfSxcbiAgICAgICAgeyBjaGFpbjogY2hhbmdlQWRkcmVzcy5jaGFpbiwgaW5kZXg6IGNoYW5nZUFkZHJlc3MuaW5kZXggfSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGZvciAoY29uc3Qgc3VwcGxlbWVudGFyeVVuc3BlbnRzTWluVmFsdWUgb2YgU1VQUExFTUVOVEFSWV9VTlNQRU5UU19NSU5fVkFMVUVfU0FUUykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJlcGFyZVRyYW5zZmVyV2l0aEV4dHJhSW5wdXRzKFxuICAgICAgICAgIHNhdFBvaW50LFxuICAgICAgICAgIGZlZVJhdGVTYXRLQixcbiAgICAgICAgICB7IHNpZ25lciwgY29zaWduZXIsIGluc2NyaXB0aW9uQ29uc3RyYWludHMsIHR4Rm9ybWF0IH0sXG4gICAgICAgICAgcm9vdFdhbGxldEtleXMsXG4gICAgICAgICAgb3V0cHV0cyxcbiAgICAgICAgICB1bnNwZW50cyxcbiAgICAgICAgICBzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvck5vTGF5b3V0KSkge1xuICAgICAgICAgIHRocm93IGVycm9yOyAvLyBQcm9wYWdhdGUgZXJyb3IgaWYgaXQncyBub3QgYW4gRXJyb3JOb0xheW91dFxuICAgICAgICB9IC8vIE90aGVyd2lzZSBjb250aW51ZSB0cnlpbmcgd2l0aCBoaWdoZXIgbWluVmFsdWUgZm9yIHN1cHBsZW1lbnRhcnkgdW5zcGVudHNcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZlZSB0b28gaGlnaCBmb3IgdGhlIHNlbGVjdGVkIHVuc3BlbnQgd2l0aCB0aGlzIGZlZSByYXRlJyk7IC8vIEV4aGF1c3RlZCBhbGwgdHJpZXMgdG8gc3VwcGxlbWVudFxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB3YWxsZXRQYXNzcGhyYXNlXG4gICAqIEBwYXJhbSB0YXBMZWFmU2NyaXB0XG4gICAqIEBwYXJhbSBjb21taXRBZGRyZXNzXG4gICAqIEBwYXJhbSB1bnNpZ25lZENvbW1pdFR4XG4gICAqIEBwYXJhbSBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzXG4gICAqIEBwYXJhbSByZWNpcGllbnRBZGRyZXNzXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkRhdGFcbiAgICovXG4gIGFzeW5jIHNpZ25BbmRTZW5kUmV2ZWFsKFxuICAgIHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICB0YXBMZWFmU2NyaXB0OiB1dHhvbGliLmJpdGdvLlRhcExlYWZTY3JpcHQsXG4gICAgY29tbWl0QWRkcmVzczogc3RyaW5nLFxuICAgIHVuc2lnbmVkQ29tbWl0VHg6IEJ1ZmZlcixcbiAgICBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzOiB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnRbXSxcbiAgICByZWNpcGllbnRBZGRyZXNzOiBzdHJpbmcsXG4gICAgaW5zY3JpcHRpb25EYXRhOiBCdWZmZXJcbiAgKTogUHJvbWlzZTxTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXNlcktleWNoYWluID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHRoaXMud2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0gfSk7XG4gICAgY29uc3QgeHBydiA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFVzZXJQcnYoeyBrZXljaGFpbjogdXNlcktleWNoYWluLCB3YWxsZXRQYXNzcGhyYXNlIH0pO1xuXG4gICAgY29uc3QgaGFsZlNpZ25lZENvbW1pdFRyYW5zYWN0aW9uID0gKGF3YWl0IHRoaXMud2FsbGV0LnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICBwcnY6IHhwcnYsXG4gICAgICB0eFByZWJ1aWxkOiB7XG4gICAgICAgIHR4SGV4OiB1bnNpZ25lZENvbW1pdFR4LnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgICAgdHhJbmZvOiB7IHVuc3BlbnRzOiBjb21taXRUcmFuc2FjdGlvblVuc3BlbnRzIH0sXG4gICAgICB9LFxuICAgIH0pKSBhcyBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uO1xuXG4gICAgY29uc3QgZGVyaXZlZCA9IHRoaXMuY29pbi5kZXJpdmVLZXlXaXRoU2VlZCh7IGtleTogeHBydiwgc2VlZDogaW5zY3JpcHRpb25EYXRhLnRvU3RyaW5nKCkgfSk7XG4gICAgY29uc3QgcHJ2ID0geHBydlRvUmF3UHJ2KGRlcml2ZWQua2V5KTtcblxuICAgIGNvbnN0IGZ1bGx5U2lnbmVkUmV2ZWFsVHJhbnNhY3Rpb24gPSBhd2FpdCBpbnNjcmlwdGlvbnMuc2lnblJldmVhbFRyYW5zYWN0aW9uKFxuICAgICAgQnVmZmVyLmZyb20ocHJ2LCAnaGV4JyksXG4gICAgICB0YXBMZWFmU2NyaXB0LFxuICAgICAgY29tbWl0QWRkcmVzcyxcbiAgICAgIHJlY2lwaWVudEFkZHJlc3MsXG4gICAgICBCdWZmZXIuZnJvbShoYWxmU2lnbmVkQ29tbWl0VHJhbnNhY3Rpb24udHhIZXgsICdoZXgnKSxcbiAgICAgIHRoaXMuY29pbi5uZXR3b3JrXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLndhbGxldC5zdWJtaXRUcmFuc2FjdGlvbih7XG4gICAgICBoYWxmU2lnbmVkOiB7XG4gICAgICAgIHR4SGV4OiBoYWxmU2lnbmVkQ29tbWl0VHJhbnNhY3Rpb24udHhIZXgsXG4gICAgICAgIHNpZ25lZENoaWxkUHNidDogZnVsbHlTaWduZWRSZXZlYWxUcmFuc2FjdGlvbi50b0hleCgpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIGFuZCBzZW5kIGEgdHJhbnNhY3Rpb24gdGhhdCB0cmFuc2ZlcnMgYW4gaW5zY3JpcHRpb25cbiAgICogQHBhcmFtIHdhbGxldFBhc3NwaHJhc2UgcGFzc3BocmFzZSB0byB1bmxvY2sgeW91ciBrZXlzXG4gICAqIEBwYXJhbSB0eFByZWJ1aWxkIHRoaXMgaXMgdGhlIG91dHB1dCBvZiBgaW5zY3JpcHRpb24ucHJlcGFyZVRyYW5zZmVyYFxuICAgKi9cbiAgYXN5bmMgc2lnbkFuZFNlbmRUcmFuc2ZlcihcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgdHhQcmVidWlsZDogUHJlYnVpbGRUcmFuc2FjdGlvblJlc3VsdFxuICApOiBQcm9taXNlPFN1Ym1pdFRyYW5zYWN0aW9uUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW4gPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBjb25zdCBwcnYgPSB0aGlzLndhbGxldC5nZXRVc2VyUHJ2KHsga2V5Y2hhaW46IHVzZXJLZXljaGFpbiwgd2FsbGV0UGFzc3BocmFzZSB9KTtcblxuICAgIGNvbnN0IGhhbGZTaWduZWQgPSAoYXdhaXQgdGhpcy53YWxsZXQuc2lnblRyYW5zYWN0aW9uKHsgcHJ2LCB0eFByZWJ1aWxkIH0pKSBhcyBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uO1xuICAgIHJldHVybiB0aGlzLndhbGxldC5zdWJtaXRUcmFuc2FjdGlvbih7IGhhbGZTaWduZWQgfSk7XG4gIH1cbn1cbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zY3JpcHRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGwvYnRjL2luc2NyaXB0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsOENBV3lCO0FBQ3pCLGdEQUF5QztBQUN6Qyw4Q0FheUI7QUFDekIsZ0RBQXFEO0FBR3JELCtDQUFpRDtBQWFqRCxNQUFNLHFDQUFxQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQU0sRUFBRSxNQUFPLENBQUMsQ0FBQztBQUVuRSxNQUFhLGtCQUFrQjtJQUk3QixZQUFZLE1BQWUsRUFBRSxJQUFzQjtRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxlQUF1QixFQUFFLFdBQW1CO1FBQzlELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMscUJBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkcsSUFBQSxnQkFBTSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQixNQUFNLE9BQU8sR0FBRyxpQkFBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxtQkFBUSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVqRyxNQUFNLE1BQU0sR0FBRyx1QkFBWSxDQUFDLDJCQUEyQixDQUNyRCxVQUFVLENB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Q0FBOEIsQ0FBQztRQUN6RyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQXRRRCxnREFzUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7XG4gIEJhc2VDb2luLFxuICBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uLFxuICBJSW5zY3JpcHRpb25CdWlsZGVyLFxuICBJV2FsbGV0LFxuICBLZXlJbmRpY2VzLFxuICBQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0LFxuICBQcmVwYXJlZEluc2NyaXB0aW9uUmV2ZWFsRGF0YSxcbiAgU3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZSxcbiAgVHJpcGxlLFxuICB4cHJ2VG9SYXdQcnYsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBiaXAzMiB9IGZyb20gJ0BiaXRnby9zZWNwMjU2azEnO1xuaW1wb3J0IHtcbiAgY3JlYXRlUHNidEZvclNpbmdsZUluc2NyaXB0aW9uUGFzc2luZ1RyYW5zYWN0aW9uLFxuICBEZWZhdWx0SW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgSW5zY3JpcHRpb25PdXRwdXRzLFxuICBpbnNjcmlwdGlvbnMsXG4gIHBhcnNlU2F0UG9pbnQsXG4gIGlzU2F0UG9pbnQsXG4gIEVycm9yTm9MYXlvdXQsXG4gIGZpbmRPdXRwdXRMYXlvdXRGb3JXYWxsZXRVbnNwZW50cyxcbiAgTUFYX1VOU1BFTlRTX0ZPUl9PVVRQVVRfTEFZT1VULFxuICBTYXRQb2ludCxcbiAgV2FsbGV0VW5zcGVudCxcbiAgdHlwZSBUYXBMZWFmU2NyaXB0LFxufSBmcm9tICdAYml0Z28vdXR4by1vcmQnO1xuaW1wb3J0IHsgZml4ZWRTY3JpcHRXYWxsZXQgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHsgQWJzdHJhY3RVdHhvQ29pbiB9IGZyb20gJy4uLy4uL2Fic3RyYWN0VXR4b0NvaW4nO1xuaW1wb3J0IHsgZmV0Y2hLZXljaGFpbnMgfSBmcm9tICcuLi8uLi9rZXljaGFpbnMnO1xuXG4vKiogS2V5IGlkZW50aWZpZXIgZm9yIHNpZ25pbmcgKi9cbnR5cGUgU2lnbmVyS2V5ID0gJ3VzZXInIHwgJ2JhY2t1cCcgfCAnYml0Z28nO1xuXG4vKiogVW5zcGVudCBmcm9tIHdhbGxldCBBUEkgKHZhbHVlIG1heSBiZSBudW1iZXIgb3IgYmlnaW50KSAqL1xudHlwZSBXYWxsZXRVbnNwZW50TGlrZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IG51bWJlciB8IGJpZ2ludDtcbiAgY2hhaW46IG51bWJlcjtcbiAgaW5kZXg6IG51bWJlcjtcbn07XG5cbmNvbnN0IFNVUFBMRU1FTlRBUllfVU5TUEVOVFNfTUlOX1ZBTFVFX1NBVFMgPSBbMCwgMjBfMDAwLCAyMDBfMDAwXTtcblxuZXhwb3J0IGNsYXNzIEluc2NyaXB0aW9uQnVpbGRlciBpbXBsZW1lbnRzIElJbnNjcmlwdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHdhbGxldDogSVdhbGxldDtcbiAgcHJpdmF0ZSByZWFkb25seSBjb2luOiBBYnN0cmFjdFV0eG9Db2luO1xuXG4gIGNvbnN0cnVjdG9yKHdhbGxldDogSVdhbGxldCwgY29pbjogQWJzdHJhY3RVdHhvQ29pbikge1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuY29pbiA9IGNvaW47XG4gIH1cblxuICBhc3luYyBwcmVwYXJlUmV2ZWFsKGluc2NyaXB0aW9uRGF0YTogQnVmZmVyLCBjb250ZW50VHlwZTogc3RyaW5nKTogUHJvbWlzZTxQcmVwYXJlZEluc2NyaXB0aW9uUmV2ZWFsRGF0YT4ge1xuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5rZXljaGFpbnMoKS5nZXQoeyBpZDogdGhpcy53YWxsZXQua2V5SWRzKClbS2V5SW5kaWNlcy5VU0VSXSB9KTtcbiAgICBhc3NlcnQodXNlci5wdWIpO1xuXG4gICAgY29uc3QgdXNlcktleSA9IGJpcDMyLmZyb21CYXNlNTgodXNlci5wdWIpO1xuICAgIGNvbnN0IHsga2V5OiBkZXJpdmVkS2V5IH0gPSBCYXNlQ29pbi5kZXJpdmVLZXlXaXRoU2VlZEJpcDMyKHVzZXJLZXksIGluc2NyaXB0aW9uRGF0YS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGluc2NyaXB0aW9ucy5jcmVhdGVJbnNjcmlwdGlvblJldmVhbERhdGEoXG4gICAgICBkZXJpdmVkS2V5LnB1YmxpY0tleSxcbiAgICAgIGNvbnRlbnRUeXBlLFxuICAgICAgaW5zY3JpcHRpb25EYXRhLFxuICAgICAgdGhpcy5jb2luLm5hbWVcbiAgICApO1xuXG4gICAgLy8gQ29udmVydCBUYXBMZWFmU2NyaXB0IHRvIHV0eG9saWIgZm9ybWF0IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIHJldHVybiB7XG4gICAgICBhZGRyZXNzOiByZXN1bHQuYWRkcmVzcyxcbiAgICAgIHJldmVhbFRyYW5zYWN0aW9uVlNpemU6IHJlc3VsdC5yZXZlYWxUcmFuc2FjdGlvblZTaXplLFxuICAgICAgdGFwTGVhZlNjcmlwdDoge1xuICAgICAgICBjb250cm9sQmxvY2s6IEJ1ZmZlci5mcm9tKHJlc3VsdC50YXBMZWFmU2NyaXB0LmNvbnRyb2xCbG9jayksXG4gICAgICAgIHNjcmlwdDogQnVmZmVyLmZyb20ocmVzdWx0LnRhcExlYWZTY3JpcHQuc2NyaXB0KSxcbiAgICAgICAgbGVhZlZlcnNpb246IHJlc3VsdC50YXBMZWFmU2NyaXB0LmxlYWZWZXJzaW9uLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlVHJhbnNmZXJXaXRoRXh0cmFJbnB1dHMoXG4gICAgc2F0UG9pbnQ6IFNhdFBvaW50LFxuICAgIGZlZVJhdGVTYXRLQjogbnVtYmVyLFxuICAgIHtcbiAgICAgIHNpZ25lcixcbiAgICAgIGNvc2lnbmVyLFxuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cyxcbiAgICAgIHR4Rm9ybWF0LFxuICAgIH06IHtcbiAgICAgIHNpZ25lcjogU2lnbmVyS2V5O1xuICAgICAgY29zaWduZXI6IFNpZ25lcktleTtcbiAgICAgIGluc2NyaXB0aW9uQ29uc3RyYWludHM6IHtcbiAgICAgICAgbWluQ2hhbmdlT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtaW5JbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgICAgbWF4SW5zY3JpcHRpb25PdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICB9O1xuICAgICAgdHhGb3JtYXQ/OiAncHNidCcgfCAnbGVnYWN5JztcbiAgICB9LFxuICAgIHdhbGxldFhwdWJzOiBUcmlwbGU8c3RyaW5nPixcbiAgICBvdXRwdXRzOiBJbnNjcmlwdGlvbk91dHB1dHMsXG4gICAgaW5zY3JpcHRpb25VbnNwZW50czogV2FsbGV0VW5zcGVudFtdLFxuICAgIHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlOiBudW1iZXJcbiAgKTogUHJvbWlzZTxQcmVidWlsZFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgbGV0IHN1cHBsZW1lbnRhcnlVbnNwZW50czogV2FsbGV0VW5zcGVudFtdID0gW107XG4gICAgaWYgKHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlID4gMCkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLndhbGxldC51bnNwZW50cyh7XG4gICAgICAgIG1pblZhbHVlOiBzdXBwbGVtZW50YXJ5VW5zcGVudHNNaW5WYWx1ZSxcbiAgICAgIH0pO1xuICAgICAgLy8gRmlsdGVyIG91dCB0aGUgaW5zY3JpcHRpb24gdW5zcGVudCBmcm9tIHRoZSBzdXBwbGVtZW50YXJ5IHVuc3BlbnRzXG4gICAgICBzdXBwbGVtZW50YXJ5VW5zcGVudHMgPSByZXNwb25zZS51bnNwZW50c1xuICAgICAgICAuZmlsdGVyKCh1bnNwZW50OiB7IGlkOiBzdHJpbmcgfSkgPT4gdW5zcGVudC5pZCAhPT0gaW5zY3JpcHRpb25VbnNwZW50c1swXS5pZClcbiAgICAgICAgLnNsaWNlKDAsIE1BWF9VTlNQRU5UU19GT1JfT1VUUFVUX0xBWU9VVCAtIDEpXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgKHVuc3BlbnQ6IFdhbGxldFVuc3BlbnRMaWtlKTogV2FsbGV0VW5zcGVudCA9PiAoe1xuICAgICAgICAgICAgaWQ6IHVuc3BlbnQuaWQsXG4gICAgICAgICAgICB2YWx1ZTogQmlnSW50KHVuc3BlbnQudmFsdWUpLFxuICAgICAgICAgICAgY2hhaW46IHVuc3BlbnQuY2hhaW4sXG4gICAgICAgICAgICBpbmRleDogdW5zcGVudC5pbmRleCxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBzYnQgPSBjcmVhdGVQc2J0Rm9yU2luZ2xlSW5zY3JpcHRpb25QYXNzaW5nVHJhbnNhY3Rpb24oXG4gICAgICB0aGlzLmNvaW4ubmFtZSxcbiAgICAgIHtcbiAgICAgICAgd2FsbGV0S2V5czogd2FsbGV0WHB1YnMsXG4gICAgICAgIHNpZ25lcixcbiAgICAgICAgY29zaWduZXIsXG4gICAgICB9LFxuICAgICAgaW5zY3JpcHRpb25VbnNwZW50cyxcbiAgICAgIHNhdFBvaW50LFxuICAgICAgb3V0cHV0cyxcbiAgICAgIHsgZmVlUmF0ZVNhdEtCLCAuLi5pbnNjcmlwdGlvbkNvbnN0cmFpbnRzIH0sXG4gICAgICB7IHN1cHBsZW1lbnRhcnlVbnNwZW50cyB9XG4gICAgKTtcbiAgICBpZiAoIXBzYnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmVlIHRvbyBoaWdoIGZvciB0aGUgc2VsZWN0ZWQgdW5zcGVudCB3aXRoIHRoaXMgZmVlIHJhdGUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGxVbnNwZW50cyA9IFsuLi5pbnNjcmlwdGlvblVuc3BlbnRzLCAuLi5zdXBwbGVtZW50YXJ5VW5zcGVudHNdO1xuXG4gICAgLy8gVE9ETzogUmVtb3ZlIHRoZSBjYWxsIHRvIHRoaXMgZnVuY3Rpb24gYmVjYXVzZSBpdCdzIGFscmVhZHkgY2FsbGVkIGluc2lkZSB0aGUgY3JlYXRlUHNidCBmdW5jdGlvbiBhYm92ZS5cbiAgICAvLyBDcmVhdGUgJiB1c2UgYSBnZXRGZWUgZnVuY3Rpb24gaW5zaWRlIHRoZSBjcmVhdGVkIFBTQlQgaW5zdGVhZCwgbGFjayBvZiB3aGljaCBuZWNlc3NpdGF0ZXMgYSBkdXBsaWNhdGUgY2FsbCBoZXJlLlxuICAgIGNvbnN0IG91dHB1dExheW91dCA9IGZpbmRPdXRwdXRMYXlvdXRGb3JXYWxsZXRVbnNwZW50cyhhbGxVbnNwZW50cywgc2F0UG9pbnQsIG91dHB1dHMsIHtcbiAgICAgIGZlZVJhdGVTYXRLQixcbiAgICAgIC4uLmluc2NyaXB0aW9uQ29uc3RyYWludHMsXG4gICAgfSk7XG4gICAgaWYgKCFvdXRwdXRMYXlvdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmVlIHRvbyBoaWdoIGZvciB0aGUgc2VsZWN0ZWQgdW5zcGVudCB3aXRoIHRoaXMgZmVlIHJhdGUnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHdhbGxldElkOiB0aGlzLndhbGxldC5pZCgpLFxuICAgICAgdHhIZXg6IEJ1ZmZlci5mcm9tKHBzYnQuc2VyaWFsaXplKCkpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHR4SW5mbzogeyB1bnNwZW50czogYWxsVW5zcGVudHMgfSxcbiAgICAgIGZlZUluZm86IHsgZmVlOiBOdW1iZXIob3V0cHV0TGF5b3V0LmxheW91dC5mZWVPdXRwdXQpLCBmZWVTdHJpbmc6IG91dHB1dExheW91dC5sYXlvdXQuZmVlT3V0cHV0LnRvU3RyaW5nKCkgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgdHJhbnNhY3Rpb24gdG8gc2VuZCBhbiBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gc2F0UG9pbnQgU2F0cG9pbnQgeW91IHdhbnQgdG8gc2VuZFxuICAgKiBAcGFyYW0gcmVjaXBpZW50IEFkZHJlc3MgeW91IHdhbnQgdG8gc2VuZCB0b1xuICAgKiBAcGFyYW0gZmVlUmF0ZVNhdEtCIEZlZSByYXRlIGZvciB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gc2lnbmVyIGZpcnN0IHNpZ25lciBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIGNvc2lnbmVyIHNlY29uZCBzaWduZXIgb2YgdGhlIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1pbkNoYW5nZU91dHB1dCAob3B0aW9uYWwpIHRoZSBtaW5pbXVtIHNpemUgb2YgdGhlIGNoYW5nZSBvdXRwdXRcbiAgICogQHBhcmFtIGluc2NyaXB0aW9uQ29uc3RyYWludHMubWluSW5zY3JpcHRpb25PdXRwdXQgKG9wdGlvbmFsKSB0aGUgbWluaW11bSBudW1iZXIgb2Ygc2F0cyBvZiB0aGUgb3V0cHV0IGNvbnRhaW5pbmcgdGhlIGluc2NyaXB0aW9uXG4gICAqIEBwYXJhbSBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLm1heEluc2NyaXB0aW9uT3V0cHV0IChvcHRpb25hbCkgdGhlIG1heGltdW0gbnVtYmVyIG9mIHNhdHMgb2YgdGhlIG91dHB1dCBjb250YWluaW5nIHRoZSBpbnNjcmlwdGlvblxuICAgKiBAcGFyYW0gY2hhbmdlQWRkcmVzc1R5cGUgQWRkcmVzcyB0eXBlIG9mIHRoZSBjaGFuZ2UgYWRkcmVzc1xuICAgKi9cbiAgYXN5bmMgcHJlcGFyZVRyYW5zZmVyKFxuICAgIHNhdFBvaW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcsXG4gICAgZmVlUmF0ZVNhdEtCOiBudW1iZXIsXG4gICAge1xuICAgICAgc2lnbmVyID0gJ3VzZXInLFxuICAgICAgY29zaWduZXIgPSAnYml0Z28nLFxuICAgICAgaW5zY3JpcHRpb25Db25zdHJhaW50cyA9IERlZmF1bHRJbnNjcmlwdGlvbkNvbnN0cmFpbnRzLFxuICAgICAgY2hhbmdlQWRkcmVzc1R5cGUgPSAncDJ3c2gnLFxuICAgICAgdHhGb3JtYXQgPSAncHNidCcsXG4gICAgfToge1xuICAgICAgc2lnbmVyPzogU2lnbmVyS2V5O1xuICAgICAgY29zaWduZXI/OiBTaWduZXJLZXk7XG4gICAgICBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzPzoge1xuICAgICAgICBtaW5DaGFuZ2VPdXRwdXQ/OiBiaWdpbnQ7XG4gICAgICAgIG1pbkluc2NyaXB0aW9uT3V0cHV0PzogYmlnaW50O1xuICAgICAgICBtYXhJbnNjcmlwdGlvbk91dHB1dD86IGJpZ2ludDtcbiAgICAgIH07XG4gICAgICBjaGFuZ2VBZGRyZXNzVHlwZT86ICdwMnNoJyB8ICdwMnNoUDJ3c2gnIHwgJ3Ayd3NoJyB8ICdwMnRyJyB8ICdwMnRyTXVzaWcyJztcbiAgICAgIHR4Rm9ybWF0PzogJ3BzYnQnIHwgJ2xlZ2FjeSc7XG4gICAgfVxuICApOiBQcm9taXNlPFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHQ+IHtcbiAgICBhc3NlcnQoaXNTYXRQb2ludChzYXRQb2ludCkpO1xuXG4gICAgY29uc3Qga2V5Y2hhaW5zID0gYXdhaXQgZmV0Y2hLZXljaGFpbnModGhpcy5jb2luLCB0aGlzLndhbGxldCk7XG4gICAgY29uc3Qgd2FsbGV0WHB1YnM6IFRyaXBsZTxzdHJpbmc+ID0gW2tleWNoYWlucy51c2VyLnB1Yiwga2V5Y2hhaW5zLmJhY2t1cC5wdWIsIGtleWNoYWlucy5iaXRnby5wdWJdO1xuICAgIGNvbnN0IHBhcnNlZFNhdFBvaW50ID0gcGFyc2VTYXRQb2ludChzYXRQb2ludCk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBhd2FpdCB0aGlzLndhbGxldC5nZXRUcmFuc2FjdGlvbih7IHR4SGFzaDogcGFyc2VkU2F0UG9pbnQudHhpZCB9KTtcbiAgICBjb25zdCBvdXRwdXQgPSB0cmFuc2FjdGlvbi5vdXRwdXRzW3BhcnNlZFNhdFBvaW50LnZvdXRdO1xuICAgIGNvbnN0IHVuc3BlbnRzOiBXYWxsZXRVbnNwZW50W10gPSBbXG4gICAgICB7XG4gICAgICAgIGlkOiBgJHtwYXJzZWRTYXRQb2ludC50eGlkfToke3BhcnNlZFNhdFBvaW50LnZvdXR9YCxcbiAgICAgICAgdmFsdWU6IEJpZ0ludChvdXRwdXQudmFsdWUpLFxuICAgICAgICBjaGFpbjogb3V0cHV0LmNoYWluLFxuICAgICAgICBpbmRleDogb3V0cHV0LmluZGV4LFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgY2hhbmdlQ2hhaW4gPSBmaXhlZFNjcmlwdFdhbGxldC5DaGFpbkNvZGUudmFsdWUoY2hhbmdlQWRkcmVzc1R5cGUsICdpbnRlcm5hbCcpO1xuXG4gICAgY29uc3QgY2hhbmdlQWRkcmVzcyA9IGF3YWl0IHRoaXMud2FsbGV0LmNyZWF0ZUFkZHJlc3Moe1xuICAgICAgY2hhaW46IGNoYW5nZUNoYWluLFxuICAgIH0pO1xuICAgIGNvbnN0IG91dHB1dHM6IEluc2NyaXB0aW9uT3V0cHV0cyA9IHtcbiAgICAgIGluc2NyaXB0aW9uUmVjaXBpZW50OiByZWNpcGllbnQsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXG4gICAgICAgIHsgY2hhaW46IGNoYW5nZUFkZHJlc3MuY2hhaW4sIGluZGV4OiBjaGFuZ2VBZGRyZXNzLmluZGV4IH0sXG4gICAgICAgIHsgY2hhaW46IGNoYW5nZUFkZHJlc3MuY2hhaW4sIGluZGV4OiBjaGFuZ2VBZGRyZXNzLmluZGV4IH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IHN1cHBsZW1lbnRhcnlVbnNwZW50c01pblZhbHVlIG9mIFNVUFBMRU1FTlRBUllfVU5TUEVOVFNfTUlOX1ZBTFVFX1NBVFMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnByZXBhcmVUcmFuc2ZlcldpdGhFeHRyYUlucHV0cyhcbiAgICAgICAgICBzYXRQb2ludCxcbiAgICAgICAgICBmZWVSYXRlU2F0S0IsXG4gICAgICAgICAgeyBzaWduZXIsIGNvc2lnbmVyLCBpbnNjcmlwdGlvbkNvbnN0cmFpbnRzLCB0eEZvcm1hdCB9LFxuICAgICAgICAgIHdhbGxldFhwdWJzLFxuICAgICAgICAgIG91dHB1dHMsXG4gICAgICAgICAgdW5zcGVudHMsXG4gICAgICAgICAgc3VwcGxlbWVudGFyeVVuc3BlbnRzTWluVmFsdWVcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgRXJyb3JOb0xheW91dCkpIHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjsgLy8gUHJvcGFnYXRlIGVycm9yIGlmIGl0J3Mgbm90IGFuIEVycm9yTm9MYXlvdXRcbiAgICAgICAgfSAvLyBPdGhlcndpc2UgY29udGludWUgdHJ5aW5nIHdpdGggaGlnaGVyIG1pblZhbHVlIGZvciBzdXBwbGVtZW50YXJ5IHVuc3BlbnRzXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdGZWUgdG9vIGhpZ2ggZm9yIHRoZSBzZWxlY3RlZCB1bnNwZW50IHdpdGggdGhpcyBmZWUgcmF0ZScpOyAvLyBFeGhhdXN0ZWQgYWxsIHRyaWVzIHRvIHN1cHBsZW1lbnRcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gd2FsbGV0UGFzc3BocmFzZVxuICAgKiBAcGFyYW0gdGFwTGVhZlNjcmlwdFxuICAgKiBAcGFyYW0gY29tbWl0QWRkcmVzc1xuICAgKiBAcGFyYW0gdW5zaWduZWRDb21taXRUeFxuICAgKiBAcGFyYW0gY29tbWl0VHJhbnNhY3Rpb25VbnNwZW50c1xuICAgKiBAcGFyYW0gcmVjaXBpZW50QWRkcmVzc1xuICAgKiBAcGFyYW0gaW5zY3JpcHRpb25EYXRhXG4gICAqL1xuICBhc3luYyBzaWduQW5kU2VuZFJldmVhbChcbiAgICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgdGFwTGVhZlNjcmlwdDogVGFwTGVhZlNjcmlwdCxcbiAgICBjb21taXRBZGRyZXNzOiBzdHJpbmcsXG4gICAgdW5zaWduZWRDb21taXRUeDogQnVmZmVyLFxuICAgIGNvbW1pdFRyYW5zYWN0aW9uVW5zcGVudHM6IFdhbGxldFVuc3BlbnRMaWtlW10sXG4gICAgcmVjaXBpZW50QWRkcmVzczogc3RyaW5nLFxuICAgIGluc2NyaXB0aW9uRGF0YTogQnVmZmVyXG4gICk6IFByb21pc2U8U3VibWl0VHJhbnNhY3Rpb25SZXNwb25zZT4ge1xuICAgIGNvbnN0IHVzZXJLZXljaGFpbiA9IGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVtLZXlJbmRpY2VzLlVTRVJdIH0pO1xuICAgIGNvbnN0IHhwcnYgPSBhd2FpdCB0aGlzLndhbGxldC5nZXRVc2VyUHJ2KHsga2V5Y2hhaW46IHVzZXJLZXljaGFpbiwgd2FsbGV0UGFzc3BocmFzZSB9KTtcblxuICAgIGNvbnN0IGhhbGZTaWduZWRDb21taXRUcmFuc2FjdGlvbiA9IChhd2FpdCB0aGlzLndhbGxldC5zaWduVHJhbnNhY3Rpb24oe1xuICAgICAgcHJ2OiB4cHJ2LFxuICAgICAgdHhQcmVidWlsZDoge1xuICAgICAgICB0eEhleDogdW5zaWduZWRDb21taXRUeC50b1N0cmluZygnaGV4JyksXG4gICAgICAgIHR4SW5mbzogeyB1bnNwZW50czogY29tbWl0VHJhbnNhY3Rpb25VbnNwZW50cyB9LFxuICAgICAgfSxcbiAgICB9KSkgYXMgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbjtcblxuICAgIGNvbnN0IGRlcml2ZWQgPSB0aGlzLmNvaW4uZGVyaXZlS2V5V2l0aFNlZWQoeyBrZXk6IHhwcnYsIHNlZWQ6IGluc2NyaXB0aW9uRGF0YS50b1N0cmluZygpIH0pO1xuICAgIGNvbnN0IHBydiA9IHhwcnZUb1Jhd1BydihkZXJpdmVkLmtleSk7XG5cbiAgICBjb25zdCBmdWxseVNpZ25lZFJldmVhbFRyYW5zYWN0aW9uID0gaW5zY3JpcHRpb25zLnNpZ25SZXZlYWxUcmFuc2FjdGlvbihcbiAgICAgIEJ1ZmZlci5mcm9tKHBydiwgJ2hleCcpLFxuICAgICAgdGFwTGVhZlNjcmlwdCxcbiAgICAgIGNvbW1pdEFkZHJlc3MsXG4gICAgICByZWNpcGllbnRBZGRyZXNzLFxuICAgICAgQnVmZmVyLmZyb20oaGFsZlNpZ25lZENvbW1pdFRyYW5zYWN0aW9uLnR4SGV4LCAnaGV4JyksXG4gICAgICB0aGlzLmNvaW4ubmFtZVxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy53YWxsZXQuc3VibWl0VHJhbnNhY3Rpb24oe1xuICAgICAgaGFsZlNpZ25lZDoge1xuICAgICAgICB0eEhleDogaGFsZlNpZ25lZENvbW1pdFRyYW5zYWN0aW9uLnR4SGV4LFxuICAgICAgICBzaWduZWRDaGlsZFBzYnQ6IEJ1ZmZlci5mcm9tKGZ1bGx5U2lnbmVkUmV2ZWFsVHJhbnNhY3Rpb24pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2lnbiBhbmQgc2VuZCBhIHRyYW5zYWN0aW9uIHRoYXQgdHJhbnNmZXJzIGFuIGluc2NyaXB0aW9uXG4gICAqIEBwYXJhbSB3YWxsZXRQYXNzcGhyYXNlIHBhc3NwaHJhc2UgdG8gdW5sb2NrIHlvdXIga2V5c1xuICAgKiBAcGFyYW0gdHhQcmVidWlsZCB0aGlzIGlzIHRoZSBvdXRwdXQgb2YgYGluc2NyaXB0aW9uLnByZXBhcmVUcmFuc2ZlcmBcbiAgICovXG4gIGFzeW5jIHNpZ25BbmRTZW5kVHJhbnNmZXIoXG4gICAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nLFxuICAgIHR4UHJlYnVpbGQ6IFByZWJ1aWxkVHJhbnNhY3Rpb25SZXN1bHRcbiAgKTogUHJvbWlzZTxTdWJtaXRUcmFuc2FjdGlvblJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXNlcktleWNoYWluID0gYXdhaXQgdGhpcy53YWxsZXQuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuZ2V0KHsgaWQ6IHRoaXMud2FsbGV0LmtleUlkcygpW0tleUluZGljZXMuVVNFUl0gfSk7XG4gICAgY29uc3QgcHJ2ID0gdGhpcy53YWxsZXQuZ2V0VXNlclBydih7IGtleWNoYWluOiB1c2VyS2V5Y2hhaW4sIHdhbGxldFBhc3NwaHJhc2UgfSk7XG5cbiAgICBjb25zdCBoYWxmU2lnbmVkID0gKGF3YWl0IHRoaXMud2FsbGV0LnNpZ25UcmFuc2FjdGlvbih7IHBydiwgdHhQcmVidWlsZCB9KSkgYXMgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbjtcbiAgICByZXR1cm4gdGhpcy53YWxsZXQuc3VibWl0VHJhbnNhY3Rpb24oeyBoYWxmU2lnbmVkIH0pO1xuICB9XG59XG4iXX0=
@@ -5,7 +5,8 @@ import { UtxoCoinName } from '../../names';
5
5
  import { ParsedTransaction } from '../../transaction/types';
6
6
  import type { TransactionExplanation } from '../../transaction/fixedScript/explainTransaction';
7
7
  import type { CrossChainRecoverySigned, CrossChainRecoveryUnsigned } from '../../recovery/crossChainRecovery';
8
- type UnspentJSON = bitgo.Unspent<number> & {
8
+ import type { Unspent } from '../../unspent';
9
+ type UnspentJSON = Unspent<number> & {
9
10
  valueString: string;
10
11
  };
11
12
  type TransactionInfoJSON = TransactionInfo<number> & {
@@ -1 +1 @@
1
- {"version":3,"file":"doge.d.ts","sourceRoot":"","sources":["../../../../../src/impl/doge/doge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE9G,KAAK,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AACnE,KAAK,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AACjF,KAAK,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAqC7F,qBAAa,IAAK,SAAQ,gBAAgB;IACxC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAU;gBAEzB,KAAK,EAAE,SAAS;IAI5B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAI7C,mBAAmB,IAAI,OAAO;IAQ9B,wBAAwB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC;IAIzG,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7D,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAK1C,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAO7B,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9D,MAAM,EACF,wBAAwB,CAAC,OAAO,CAAC,GACjC,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG;QAAE,UAAU,EAAE,uBAAuB,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,OAAO,CAAC;IAOb,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC5D,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC,iBAAiB,GAAG,yBAAyB,CAAC;IAUnD,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC/D,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC,GAClH,OAAO,CAAC,sBAAsB,CAAC;IAO5B,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAClE,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;CAGpF"}
1
+ {"version":3,"file":"doge.d.ts","sourceRoot":"","sources":["../../../../../src/impl/doge/doge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC9G,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,KAAK,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC;AACjF,KAAK,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAqC7F,qBAAa,IAAK,SAAQ,gBAAgB;IACxC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAU;gBAEzB,KAAK,EAAE,SAAS;IAI5B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAI7C,mBAAmB,IAAI,OAAO;IAQ9B,wBAAwB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC;IAIzG,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC7D,MAAM,EAAE,uBAAuB,CAAC,OAAO,CAAC,GAK1C,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAO7B,iBAAiB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9D,MAAM,EACF,wBAAwB,CAAC,OAAO,CAAC,GACjC,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG;QAAE,UAAU,EAAE,uBAAuB,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,OAAO,CAAC;IAOb,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC5D,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC,iBAAiB,GAAG,yBAAyB,CAAC;IAUnD,kBAAkB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAC/D,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC,GAClH,OAAO,CAAC,sBAAsB,CAAC;IAO5B,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAClE,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;CAGpF"}
@@ -76,4 +76,4 @@ class Doge extends abstractUtxoCoin_1.AbstractUtxoCoin {
76
76
  }
77
77
  }
78
78
  exports.Doge = Doge;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsL2RvZ2UvZG9nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSw2REFTZ0M7QUFVaEMsU0FBUyxhQUFhLENBQ3BCLFFBQWtEO0lBRWxELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQTZDLEVBQXlCLEVBQUU7UUFDM0YsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsT0FBTyxPQUFnQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FDM0IsTUFBc0Q7SUFFdEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLFVBQWtFO0lBRWxFLElBQUksVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxHQUFHLFVBQVUsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUNELE9BQU8sVUFBeUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBYSxJQUFLLFNBQVEsbUNBQWdCO0lBR3hDLFlBQVksS0FBZ0I7UUFDMUIsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhoQixTQUFJLEdBQWlCLE1BQU0sQ0FBQztJQUlyQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0hBQWtIO0lBRWxILG1JQUFtSTtJQUVuSSx3QkFBd0IsQ0FBMkMsR0FBVztRQUM1RSxPQUFPLEtBQUssQ0FBQyx3QkFBd0IsQ0FBVSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUNwQixNQUF3QztRQU14QyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7U0FDeEQsQ0FBQyxDQUErQixDQUFDLDBDQUEwQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQ3JCLE1BRWlGO1FBRWpGLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDO1lBQzdCLEdBQUcsTUFBTTtZQUNULFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixNQUF1QztRQUV2QyxPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFDM0IsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFO2dCQUNWLEdBQUcsTUFBTSxDQUFDLFVBQVU7Z0JBQ3BCLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDNUc7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixNQUFtSDtRQUVuSCxPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztZQUM5QixHQUFHLE1BQU07WUFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE1BQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMvRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixNQUFvQztRQUVwQyxPQUFPLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUF6RUQsb0JBeUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlLCBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uLCBTaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBiaXRnbyB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7XG4gIEFic3RyYWN0VXR4b0NvaW4sXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFJlY292ZXJGcm9tV3JvbmdDaGFpbk9wdGlvbnMsXG4gIFRyYW5zYWN0aW9uSW5mbyxcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbn0gZnJvbSAnLi4vLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5pbXBvcnQgeyBQYXJzZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL2ZpeGVkU2NyaXB0L2V4cGxhaW5UcmFuc2FjdGlvbic7XG5pbXBvcnQgdHlwZSB7IENyb3NzQ2hhaW5SZWNvdmVyeVNpZ25lZCwgQ3Jvc3NDaGFpblJlY292ZXJ5VW5zaWduZWQgfSBmcm9tICcuLi8uLi9yZWNvdmVyeS9jcm9zc0NoYWluUmVjb3ZlcnknO1xuXG50eXBlIFVuc3BlbnRKU09OID0gYml0Z28uVW5zcGVudDxudW1iZXI+ICYgeyB2YWx1ZVN0cmluZzogc3RyaW5nIH07XG50eXBlIFRyYW5zYWN0aW9uSW5mb0pTT04gPSBUcmFuc2FjdGlvbkluZm88bnVtYmVyPiAmIHsgdW5zcGVudHM6IFVuc3BlbnRKU09OW10gfTtcbnR5cGUgVHJhbnNhY3Rpb25QcmVidWlsZEpTT04gPSBUcmFuc2FjdGlvblByZWJ1aWxkPG51bWJlcj4gJiB7IHR4SW5mbzogVHJhbnNhY3Rpb25JbmZvSlNPTiB9O1xuXG5mdW5jdGlvbiBwYXJzZVVuc3BlbnRzPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB1bnNwZW50czogVW5zcGVudEpTT05bXSB8IGJpdGdvLlVuc3BlbnQ8VE51bWJlcj5bXVxuKTogYml0Z28uVW5zcGVudDxiaWdpbnQ+W10ge1xuICByZXR1cm4gdW5zcGVudHMubWFwKCh1bnNwZW50OiBiaXRnby5VbnNwZW50PFROdW1iZXI+IHwgVW5zcGVudEpTT04pOiBiaXRnby5VbnNwZW50PGJpZ2ludD4gPT4ge1xuICAgIGlmICh0eXBlb2YgdW5zcGVudC52YWx1ZSA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgIHJldHVybiB1bnNwZW50IGFzIGJpdGdvLlVuc3BlbnQ8YmlnaW50PjtcbiAgICB9XG4gICAgaWYgKCd2YWx1ZVN0cmluZycgaW4gdW5zcGVudCkge1xuICAgICAgcmV0dXJuIHsgLi4udW5zcGVudCwgdmFsdWU6IEJpZ0ludCh1bnNwZW50LnZhbHVlU3RyaW5nKSB9O1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHVuc3BlbnQudmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHJlY2VpdmVkIFVuc3BlbnQ8bnVtYmVyPiB3aGVyZSBVbnNwZW50PGJpZ2ludD4gb3IgVW5zcGVudEpTT04gd2FzIGV4cGVjdGVkYCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB1bnNwZW50Jyk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwYXJzZVRyYW5zYWN0aW9uSW5mbzxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgdHhJbmZvOiBUcmFuc2FjdGlvbkluZm88VE51bWJlcj4gfCBUcmFuc2FjdGlvbkluZm9KU09OXG4pOiBUcmFuc2FjdGlvbkluZm88YmlnaW50PiB7XG4gIGlmICh0eEluZm8udW5zcGVudHMpIHtcbiAgICByZXR1cm4geyAuLi50eEluZm8sIHVuc3BlbnRzOiBwYXJzZVVuc3BlbnRzKHR4SW5mby51bnNwZW50cykgfTtcbiAgfVxuICByZXR1cm4geyAuLi50eEluZm8sIHVuc3BlbnRzOiB1bmRlZmluZWQgfTtcbn1cblxuZnVuY3Rpb24gcGFyc2VUcmFuc2FjdGlvblByZWJ1aWxkPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkPFROdW1iZXI+IHwgVHJhbnNhY3Rpb25QcmVidWlsZEpTT05cbik6IFRyYW5zYWN0aW9uUHJlYnVpbGQ8YmlnaW50PiB7XG4gIGlmICh0eFByZWJ1aWxkPy50eEluZm8pIHtcbiAgICByZXR1cm4geyAuLi50eFByZWJ1aWxkLCB0eEluZm86IHBhcnNlVHJhbnNhY3Rpb25JbmZvKHR4UHJlYnVpbGQudHhJbmZvKSB9O1xuICB9XG4gIHJldHVybiB0eFByZWJ1aWxkIGFzIFRyYW5zYWN0aW9uUHJlYnVpbGQ8YmlnaW50Pjtcbn1cblxuZXhwb3J0IGNsYXNzIERvZ2UgZXh0ZW5kcyBBYnN0cmFjdFV0eG9Db2luIHtcbiAgcmVhZG9ubHkgbmFtZTogVXR4b0NvaW5OYW1lID0gJ2RvZ2UnO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UpIHtcbiAgICBzdXBlcihiaXRnbywgJ2JpZ2ludCcpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBEb2dlIHtcbiAgICByZXR1cm4gbmV3IERvZ2UoYml0Z28pO1xuICB9XG5cbiAgc3VwcG9ydHNCbG9ja1RhcmdldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qIGFtb3VudFR5cGUgaXMgc2V0IGluIGNvbnN0cnVjdG9yLiBGdW5jdGlvbnMgYmVsb3cgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgVE51bWJlciBvZiBBYnN0cmFjdFV0eG9Db2luIHRvIGJpZ2ludCAqL1xuXG4gIC8qIHBvc3RQcm9jZXNzUHJlYnVpbGQsIGlzQml0R29UYWludGVkVW5zcGVudCwgdmVyaWZ5Q3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcyBkbyBub3QgY2FyZSB3aGV0aGVyIHRoZXkgcmVjZWl2ZSBudW1iZXIgb3IgYmlnaW50ICovXG5cbiAgY3JlYXRlVHJhbnNhY3Rpb25Gcm9tSGV4PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBiaWdpbnQ+KGhleDogc3RyaW5nKTogYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+IHtcbiAgICByZXR1cm4gc3VwZXIuY3JlYXRlVHJhbnNhY3Rpb25Gcm9tSGV4PFROdW1iZXI+KGhleCk7XG4gIH1cblxuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBiaWdpbnQ+KFxuICAgIHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj5cbiAgKTogLypcbiAgICB0aGUgYWN0dWFsIHJldHVybiB0eXBlIGlzIFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb248YmlnaW50Pj4sXG4gICAgYnV0IHRoZSBzdXBlcmNsYXNzIHNpZ25hdHVyZSBjdXJyZW50bHkgcmVxdWlyZXMgVE51bWJlclxuICAgICAqL1xuICBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPFROdW1iZXI+PiB7XG4gICAgcmV0dXJuIChhd2FpdCBzdXBlci5wYXJzZVRyYW5zYWN0aW9uKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHR4UHJlYnVpbGQ6IHBhcnNlVHJhbnNhY3Rpb25QcmVidWlsZChwYXJhbXMudHhQcmVidWlsZCksXG4gICAgfSkpIGFzIFBhcnNlZFRyYW5zYWN0aW9uPFROdW1iZXI+IC8qIGNhc3QgdG8gc2F0aXNmeSBzdXBlcmNsYXNzIHNpZ25hdHVyZSAqLztcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBiaWdpbnQ+KFxuICAgIHBhcmFtczpcbiAgICAgIHwgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+XG4gICAgICB8IChWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj4gJiB7IHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGRKU09OIH0pXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBzdXBlci52ZXJpZnlUcmFuc2FjdGlvbih7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICB0eFByZWJ1aWxkOiBwYXJzZVRyYW5zYWN0aW9uUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2lnblRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBiaWdpbnQ+KFxuICAgIHBhcmFtczogU2lnblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuICApOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uIHwgSGFsZlNpZ25lZFV0eG9UcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiBzdXBlci5zaWduVHJhbnNhY3Rpb24oe1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgdHhQcmVidWlsZDoge1xuICAgICAgICAuLi5wYXJhbXMudHhQcmVidWlsZCxcbiAgICAgICAgdHhJbmZvOiBwYXJhbXMudHhQcmVidWlsZC50eEluZm8gPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHBhcnNlVHJhbnNhY3Rpb25JbmZvKHBhcmFtcy50eFByZWJ1aWxkLnR4SW5mbyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZXhwbGFpblRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBiaWdpbnQ+KFxuICAgIHBhcmFtczogRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPiB8IChFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+ICYgeyB0eEluZm86IFRyYW5zYWN0aW9uSW5mb0pTT04gfSlcbiAgKTogUHJvbWlzZTxUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPiB7XG4gICAgcmV0dXJuIHN1cGVyLmV4cGxhaW5UcmFuc2FjdGlvbih7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICB0eEluZm86IHBhcmFtcy50eEluZm8gPyBwYXJzZVRyYW5zYWN0aW9uSW5mbyhwYXJhbXMudHhJbmZvIGFzIFRyYW5zYWN0aW9uSW5mb0pTT04pIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcmVjb3ZlckZyb21Xcm9uZ0NoYWluPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBiaWdpbnQ+KFxuICAgIHBhcmFtczogUmVjb3ZlckZyb21Xcm9uZ0NoYWluT3B0aW9uc1xuICApOiBQcm9taXNlPENyb3NzQ2hhaW5SZWNvdmVyeVNpZ25lZDxUTnVtYmVyPiB8IENyb3NzQ2hhaW5SZWNvdmVyeVVuc2lnbmVkPFROdW1iZXI+PiB7XG4gICAgcmV0dXJuIHN1cGVyLnJlY292ZXJGcm9tV3JvbmdDaGFpbihwYXJhbXMpO1xuICB9XG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbXBsL2RvZ2UvZG9nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSw2REFTZ0M7QUFXaEMsU0FBUyxhQUFhLENBQ3BCLFFBQTRDO0lBRTVDLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQXVDLEVBQW1CLEVBQUU7UUFDL0UsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsT0FBTyxPQUEwQixDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FDM0IsTUFBc0Q7SUFFdEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLFVBQWtFO0lBRWxFLElBQUksVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxHQUFHLFVBQVUsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUNELE9BQU8sVUFBeUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBYSxJQUFLLFNBQVEsbUNBQWdCO0lBR3hDLFlBQVksS0FBZ0I7UUFDMUIsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhoQixTQUFJLEdBQWlCLE1BQU0sQ0FBQztJQUlyQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0hBQWtIO0lBRWxILG1JQUFtSTtJQUVuSSx3QkFBd0IsQ0FBMkMsR0FBVztRQUM1RSxPQUFPLEtBQUssQ0FBQyx3QkFBd0IsQ0FBVSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUNwQixNQUF3QztRQU14QyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7U0FDeEQsQ0FBQyxDQUErQixDQUFDLDBDQUEwQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQ3JCLE1BRWlGO1FBRWpGLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDO1lBQzdCLEdBQUcsTUFBTTtZQUNULFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixNQUF1QztRQUV2QyxPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFDM0IsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFO2dCQUNWLEdBQUcsTUFBTSxDQUFDLFVBQVU7Z0JBQ3BCLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDNUc7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixNQUFtSDtRQUVuSCxPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztZQUM5QixHQUFHLE1BQU07WUFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE1BQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMvRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixNQUFvQztRQUVwQyxPQUFPLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUF6RUQsb0JBeUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlLCBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uLCBTaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBiaXRnbyB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmltcG9ydCB7XG4gIEFic3RyYWN0VXR4b0NvaW4sXG4gIFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFJlY292ZXJGcm9tV3JvbmdDaGFpbk9wdGlvbnMsXG4gIFRyYW5zYWN0aW9uSW5mbyxcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCxcbn0gZnJvbSAnLi4vLi4vYWJzdHJhY3RVdHhvQ29pbic7XG5pbXBvcnQgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi9uYW1lcyc7XG5pbXBvcnQgeyBQYXJzZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uL2ZpeGVkU2NyaXB0L2V4cGxhaW5UcmFuc2FjdGlvbic7XG5pbXBvcnQgdHlwZSB7IENyb3NzQ2hhaW5SZWNvdmVyeVNpZ25lZCwgQ3Jvc3NDaGFpblJlY292ZXJ5VW5zaWduZWQgfSBmcm9tICcuLi8uLi9yZWNvdmVyeS9jcm9zc0NoYWluUmVjb3ZlcnknO1xuaW1wb3J0IHR5cGUgeyBVbnNwZW50IH0gZnJvbSAnLi4vLi4vdW5zcGVudCc7XG5cbnR5cGUgVW5zcGVudEpTT04gPSBVbnNwZW50PG51bWJlcj4gJiB7IHZhbHVlU3RyaW5nOiBzdHJpbmcgfTtcbnR5cGUgVHJhbnNhY3Rpb25JbmZvSlNPTiA9IFRyYW5zYWN0aW9uSW5mbzxudW1iZXI+ICYgeyB1bnNwZW50czogVW5zcGVudEpTT05bXSB9O1xudHlwZSBUcmFuc2FjdGlvblByZWJ1aWxkSlNPTiA9IFRyYW5zYWN0aW9uUHJlYnVpbGQ8bnVtYmVyPiAmIHsgdHhJbmZvOiBUcmFuc2FjdGlvbkluZm9KU09OIH07XG5cbmZ1bmN0aW9uIHBhcnNlVW5zcGVudHM8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHVuc3BlbnRzOiBVbnNwZW50SlNPTltdIHwgVW5zcGVudDxUTnVtYmVyPltdXG4pOiBVbnNwZW50PGJpZ2ludD5bXSB7XG4gIHJldHVybiB1bnNwZW50cy5tYXAoKHVuc3BlbnQ6IFVuc3BlbnQ8VE51bWJlcj4gfCBVbnNwZW50SlNPTik6IFVuc3BlbnQ8YmlnaW50PiA9PiB7XG4gICAgaWYgKHR5cGVvZiB1bnNwZW50LnZhbHVlID09PSAnYmlnaW50Jykge1xuICAgICAgcmV0dXJuIHVuc3BlbnQgYXMgVW5zcGVudDxiaWdpbnQ+O1xuICAgIH1cbiAgICBpZiAoJ3ZhbHVlU3RyaW5nJyBpbiB1bnNwZW50KSB7XG4gICAgICByZXR1cm4geyAuLi51bnNwZW50LCB2YWx1ZTogQmlnSW50KHVuc3BlbnQudmFsdWVTdHJpbmcpIH07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdW5zcGVudC52YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcmVjZWl2ZWQgVW5zcGVudDxudW1iZXI+IHdoZXJlIFVuc3BlbnQ8YmlnaW50PiBvciBVbnNwZW50SlNPTiB3YXMgZXhwZWN0ZWRgKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHVuc3BlbnQnKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVHJhbnNhY3Rpb25JbmZvPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eEluZm86IFRyYW5zYWN0aW9uSW5mbzxUTnVtYmVyPiB8IFRyYW5zYWN0aW9uSW5mb0pTT05cbik6IFRyYW5zYWN0aW9uSW5mbzxiaWdpbnQ+IHtcbiAgaWYgKHR4SW5mby51bnNwZW50cykge1xuICAgIHJldHVybiB7IC4uLnR4SW5mbywgdW5zcGVudHM6IHBhcnNlVW5zcGVudHModHhJbmZvLnVuc3BlbnRzKSB9O1xuICB9XG4gIHJldHVybiB7IC4uLnR4SW5mbywgdW5zcGVudHM6IHVuZGVmaW5lZCB9O1xufVxuXG5mdW5jdGlvbiBwYXJzZVRyYW5zYWN0aW9uUHJlYnVpbGQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ8VE51bWJlcj4gfCBUcmFuc2FjdGlvblByZWJ1aWxkSlNPTlxuKTogVHJhbnNhY3Rpb25QcmVidWlsZDxiaWdpbnQ+IHtcbiAgaWYgKHR4UHJlYnVpbGQ/LnR4SW5mbykge1xuICAgIHJldHVybiB7IC4uLnR4UHJlYnVpbGQsIHR4SW5mbzogcGFyc2VUcmFuc2FjdGlvbkluZm8odHhQcmVidWlsZC50eEluZm8pIH07XG4gIH1cbiAgcmV0dXJuIHR4UHJlYnVpbGQgYXMgVHJhbnNhY3Rpb25QcmVidWlsZDxiaWdpbnQ+O1xufVxuXG5leHBvcnQgY2xhc3MgRG9nZSBleHRlbmRzIEFic3RyYWN0VXR4b0NvaW4ge1xuICByZWFkb25seSBuYW1lOiBVdHhvQ29pbk5hbWUgPSAnZG9nZSc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSkge1xuICAgIHN1cGVyKGJpdGdvLCAnYmlnaW50Jyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSk6IERvZ2Uge1xuICAgIHJldHVybiBuZXcgRG9nZShiaXRnbyk7XG4gIH1cblxuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyogYW1vdW50VHlwZSBpcyBzZXQgaW4gY29uc3RydWN0b3IuIEZ1bmN0aW9ucyBiZWxvdyBvdmVycmlkZSB0aGUgZGVmYXVsdCBUTnVtYmVyIG9mIEFic3RyYWN0VXR4b0NvaW4gdG8gYmlnaW50ICovXG5cbiAgLyogcG9zdFByb2Nlc3NQcmVidWlsZCwgaXNCaXRHb1RhaW50ZWRVbnNwZW50LCB2ZXJpZnlDdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVzIGRvIG5vdCBjYXJlIHdoZXRoZXIgdGhleSByZWNlaXZlIG51bWJlciBvciBiaWdpbnQgKi9cblxuICBjcmVhdGVUcmFuc2FjdGlvbkZyb21IZXg8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IGJpZ2ludD4oaGV4OiBzdHJpbmcpOiBiaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj4ge1xuICAgIHJldHVybiBzdXBlci5jcmVhdGVUcmFuc2FjdGlvbkZyb21IZXg8VE51bWJlcj4oaGV4KTtcbiAgfVxuXG4gIGFzeW5jIHBhcnNlVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IGJpZ2ludD4oXG4gICAgcGFyYW1zOiBQYXJzZVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuICApOiAvKlxuICAgIHRoZSBhY3R1YWwgcmV0dXJuIHR5cGUgaXMgUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbjxiaWdpbnQ+PixcbiAgICBidXQgdGhlIHN1cGVyY2xhc3Mgc2lnbmF0dXJlIGN1cnJlbnRseSByZXF1aXJlcyBUTnVtYmVyXG4gICAgICovXG4gIFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb248VE51bWJlcj4+IHtcbiAgICByZXR1cm4gKGF3YWl0IHN1cGVyLnBhcnNlVHJhbnNhY3Rpb24oe1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgdHhQcmVidWlsZDogcGFyc2VUcmFuc2FjdGlvblByZWJ1aWxkKHBhcmFtcy50eFByZWJ1aWxkKSxcbiAgICB9KSkgYXMgUGFyc2VkVHJhbnNhY3Rpb248VE51bWJlcj4gLyogY2FzdCB0byBzYXRpc2Z5IHN1cGVyY2xhc3Mgc2lnbmF0dXJlICovO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IGJpZ2ludD4oXG4gICAgcGFyYW1zOlxuICAgICAgfCBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj5cbiAgICAgIHwgKFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPiAmIHsgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZEpTT04gfSlcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHN1cGVyLnZlcmlmeVRyYW5zYWN0aW9uKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHR4UHJlYnVpbGQ6IHBhcnNlVHJhbnNhY3Rpb25QcmVidWlsZChwYXJhbXMudHhQcmVidWlsZCksXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzaWduVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IGJpZ2ludD4oXG4gICAgcGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+XG4gICk6IFByb21pc2U8U2lnbmVkVHJhbnNhY3Rpb24gfCBIYWxmU2lnbmVkVXR4b1RyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHN1cGVyLnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICB0eFByZWJ1aWxkOiB7XG4gICAgICAgIC4uLnBhcmFtcy50eFByZWJ1aWxkLFxuICAgICAgICB0eEluZm86IHBhcmFtcy50eFByZWJ1aWxkLnR4SW5mbyA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogcGFyc2VUcmFuc2FjdGlvbkluZm8ocGFyYW1zLnR4UHJlYnVpbGQudHhJbmZvKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBleHBsYWluVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IGJpZ2ludD4oXG4gICAgcGFyYW1zOiBFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+IHwgKEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj4gJiB7IHR4SW5mbzogVHJhbnNhY3Rpb25JbmZvSlNPTiB9KVxuICApOiBQcm9taXNlPFRyYW5zYWN0aW9uRXhwbGFuYXRpb24+IHtcbiAgICByZXR1cm4gc3VwZXIuZXhwbGFpblRyYW5zYWN0aW9uKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHR4SW5mbzogcGFyYW1zLnR4SW5mbyA/IHBhcnNlVHJhbnNhY3Rpb25JbmZvKHBhcmFtcy50eEluZm8gYXMgVHJhbnNhY3Rpb25JbmZvSlNPTikgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZWNvdmVyRnJvbVdyb25nQ2hhaW48VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IGJpZ2ludD4oXG4gICAgcGFyYW1zOiBSZWNvdmVyRnJvbVdyb25nQ2hhaW5PcHRpb25zXG4gICk6IFByb21pc2U8Q3Jvc3NDaGFpblJlY292ZXJ5U2lnbmVkPFROdW1iZXI+IHwgQ3Jvc3NDaGFpblJlY292ZXJ5VW5zaWduZWQ8VE51bWJlcj4+IHtcbiAgICByZXR1cm4gc3VwZXIucmVjb3ZlckZyb21Xcm9uZ0NoYWluKHBhcmFtcyk7XG4gIH1cbn1cbiJdfQ==
@@ -3,7 +3,6 @@ import { AbstractUtxoCoin } from '../../abstractUtxoCoin';
3
3
  import { UtxoCoinName } from '../../names';
4
4
  export declare class Ltc extends AbstractUtxoCoin {
5
5
  readonly name: UtxoCoinName;
6
- constructor(bitgo: BitGoBase);
7
6
  static createInstance(bitgo: BitGoBase): Ltc;
8
7
  }
9
8
  //# sourceMappingURL=ltc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ltc.d.ts","sourceRoot":"","sources":["../../../../../src/impl/ltc/ltc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qBAAa,GAAI,SAAQ,gBAAgB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;gBAExB,KAAK,EAAE,SAAS;IAQ5B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG;CAG7C"}
1
+ {"version":3,"file":"ltc.d.ts","sourceRoot":"","sources":["../../../../../src/impl/ltc/ltc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qBAAa,GAAI,SAAQ,gBAAgB;IACvC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAS;IAEpC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG;CAG7C"}