@bitgo/abstract-utxo 10.6.0 → 10.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/dist/{src → cjs/src}/abstractUtxoCoin.d.ts +18 -68
  2. package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -0
  3. package/dist/cjs/src/abstractUtxoCoin.js +645 -0
  4. package/dist/cjs/src/address/fixedScript.d.ts.map +1 -0
  5. package/dist/cjs/src/address/fixedScript.js +150 -0
  6. package/dist/cjs/src/address/index.d.ts.map +1 -0
  7. package/dist/{src → cjs/src}/address/index.js +1 -1
  8. package/dist/cjs/src/config.d.ts.map +1 -0
  9. package/dist/cjs/src/config.js +14 -0
  10. package/dist/cjs/src/descriptor/NamedDescriptor.d.ts.map +1 -0
  11. package/dist/cjs/src/descriptor/NamedDescriptor.js +79 -0
  12. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.d.ts.map +1 -0
  13. package/dist/cjs/src/descriptor/assertDescriptorWalletAddress.js +66 -0
  14. package/dist/cjs/src/descriptor/builder/builder.d.ts.map +1 -0
  15. package/dist/cjs/src/descriptor/builder/builder.js +37 -0
  16. package/dist/cjs/src/descriptor/builder/index.d.ts.map +1 -0
  17. package/dist/{src → cjs/src}/descriptor/builder/index.js +1 -1
  18. package/dist/cjs/src/descriptor/builder/parse.d.ts.map +1 -0
  19. package/dist/cjs/src/descriptor/builder/parse.js +116 -0
  20. package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.d.ts.map +1 -0
  21. package/dist/cjs/src/descriptor/createWallet/createDescriptorWallet.js +41 -0
  22. package/dist/cjs/src/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  23. package/dist/cjs/src/descriptor/createWallet/createDescriptors.js +33 -0
  24. package/dist/cjs/src/descriptor/createWallet/index.d.ts.map +1 -0
  25. package/dist/{src → cjs/src}/descriptor/createWallet/index.js +1 -1
  26. package/dist/cjs/src/descriptor/descriptorWallet.d.ts.map +1 -0
  27. package/dist/cjs/src/descriptor/descriptorWallet.js +54 -0
  28. package/dist/cjs/src/descriptor/index.d.ts.map +1 -0
  29. package/dist/{src → cjs/src}/descriptor/index.js +1 -1
  30. package/dist/cjs/src/descriptor/validatePolicy.d.ts.map +1 -0
  31. package/dist/cjs/src/descriptor/validatePolicy.js +92 -0
  32. package/dist/cjs/src/impl/bch/bch.d.ts.map +1 -0
  33. package/dist/cjs/src/impl/bch/bch.js +74 -0
  34. package/dist/cjs/src/impl/bch/index.d.ts.map +1 -0
  35. package/dist/{src → cjs/src}/impl/bch/index.js +1 -1
  36. package/dist/cjs/src/impl/bch/tbch.d.ts.map +1 -0
  37. package/dist/{src → cjs/src}/impl/bch/tbch.js +1 -1
  38. package/dist/{src → cjs/src}/impl/bcha/bcha.d.ts +0 -1
  39. package/dist/cjs/src/impl/bcha/bcha.d.ts.map +1 -0
  40. package/dist/cjs/src/impl/bcha/bcha.js +48 -0
  41. package/dist/cjs/src/impl/bcha/index.d.ts.map +1 -0
  42. package/dist/{src → cjs/src}/impl/bcha/index.js +1 -1
  43. package/dist/cjs/src/impl/bcha/tbcha.d.ts.map +1 -0
  44. package/dist/{src → cjs/src}/impl/bcha/tbcha.js +1 -1
  45. package/dist/cjs/src/impl/bsv/bsv.d.ts.map +1 -0
  46. package/dist/{src → cjs/src}/impl/bsv/bsv.js +1 -1
  47. package/dist/cjs/src/impl/bsv/index.d.ts.map +1 -0
  48. package/dist/{src → cjs/src}/impl/bsv/index.js +1 -1
  49. package/dist/cjs/src/impl/bsv/tbsv.d.ts.map +1 -0
  50. package/dist/{src → cjs/src}/impl/bsv/tbsv.js +1 -1
  51. package/dist/cjs/src/impl/btc/btc.d.ts.map +1 -0
  52. package/dist/{src → cjs/src}/impl/btc/btc.js +1 -1
  53. package/dist/cjs/src/impl/btc/index.d.ts.map +1 -0
  54. package/dist/{src → cjs/src}/impl/btc/index.js +1 -1
  55. package/dist/cjs/src/impl/btc/inscriptionBuilder.d.ts.map +1 -0
  56. package/dist/cjs/src/impl/btc/inscriptionBuilder.js +183 -0
  57. package/dist/cjs/src/impl/btc/tbtc.d.ts.map +1 -0
  58. package/dist/{src → cjs/src}/impl/btc/tbtc.js +1 -1
  59. package/dist/cjs/src/impl/btc/tbtc4.d.ts.map +1 -0
  60. package/dist/{src → cjs/src}/impl/btc/tbtc4.js +1 -1
  61. package/dist/cjs/src/impl/btc/tbtcbgsig.d.ts.map +1 -0
  62. package/dist/{src → cjs/src}/impl/btc/tbtcbgsig.js +1 -1
  63. package/dist/cjs/src/impl/btc/tbtcsig.d.ts.map +1 -0
  64. package/dist/{src → cjs/src}/impl/btc/tbtcsig.js +1 -1
  65. package/dist/cjs/src/impl/btg/btg.d.ts.map +1 -0
  66. package/dist/{src → cjs/src}/impl/btg/btg.js +1 -1
  67. package/dist/cjs/src/impl/btg/index.d.ts.map +1 -0
  68. package/dist/{src → cjs/src}/impl/btg/index.js +1 -1
  69. package/dist/cjs/src/impl/dash/dash.d.ts.map +1 -0
  70. package/dist/{src → cjs/src}/impl/dash/dash.js +1 -1
  71. package/dist/cjs/src/impl/dash/index.d.ts.map +1 -0
  72. package/dist/{src → cjs/src}/impl/dash/index.js +1 -1
  73. package/dist/cjs/src/impl/dash/tdash.d.ts.map +1 -0
  74. package/dist/{src → cjs/src}/impl/dash/tdash.js +1 -1
  75. package/dist/{src → cjs/src}/impl/doge/doge.d.ts +4 -2
  76. package/dist/cjs/src/impl/doge/doge.d.ts.map +1 -0
  77. package/dist/cjs/src/impl/doge/doge.js +79 -0
  78. package/dist/cjs/src/impl/doge/index.d.ts.map +1 -0
  79. package/dist/{src → cjs/src}/impl/doge/index.js +1 -1
  80. package/dist/cjs/src/impl/doge/tdoge.d.ts.map +1 -0
  81. package/dist/{src → cjs/src}/impl/doge/tdoge.js +1 -1
  82. package/dist/cjs/src/impl/index.d.ts.map +1 -0
  83. package/dist/{src → cjs/src}/impl/index.js +1 -1
  84. package/dist/cjs/src/impl/ltc/index.d.ts.map +1 -0
  85. package/dist/{src → cjs/src}/impl/ltc/index.js +1 -1
  86. package/dist/cjs/src/impl/ltc/ltc.d.ts.map +1 -0
  87. package/dist/{src → cjs/src}/impl/ltc/ltc.js +1 -1
  88. package/dist/cjs/src/impl/ltc/tltc.d.ts.map +1 -0
  89. package/dist/{src → cjs/src}/impl/ltc/tltc.js +1 -1
  90. package/dist/cjs/src/impl/zec/index.d.ts.map +1 -0
  91. package/dist/{src → cjs/src}/impl/zec/index.js +1 -1
  92. package/dist/cjs/src/impl/zec/tzec.d.ts.map +1 -0
  93. package/dist/{src → cjs/src}/impl/zec/tzec.js +1 -1
  94. package/dist/cjs/src/impl/zec/zec.d.ts.map +1 -0
  95. package/dist/{src → cjs/src}/impl/zec/zec.js +1 -1
  96. package/dist/cjs/src/index.d.ts.map +1 -0
  97. package/dist/{src → cjs/src}/index.js +1 -1
  98. package/dist/cjs/src/keychains.d.ts.map +1 -0
  99. package/dist/cjs/src/keychains.js +104 -0
  100. package/dist/cjs/src/names.d.ts.map +1 -0
  101. package/dist/cjs/src/names.js +214 -0
  102. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.d.ts.map +1 -0
  103. package/dist/cjs/src/offlineVault/OfflineVaultHalfSigned.js +26 -0
  104. package/dist/cjs/src/offlineVault/OfflineVaultSignable.d.ts.map +1 -0
  105. package/dist/cjs/src/offlineVault/OfflineVaultSignable.js +55 -0
  106. package/dist/cjs/src/offlineVault/TransactionExplanation.d.ts.map +1 -0
  107. package/dist/cjs/src/offlineVault/TransactionExplanation.js +16 -0
  108. package/dist/cjs/src/offlineVault/descriptor/index.d.ts.map +1 -0
  109. package/dist/{src → cjs/src}/offlineVault/descriptor/index.js +1 -1
  110. package/dist/cjs/src/offlineVault/descriptor/transaction.d.ts.map +1 -0
  111. package/dist/cjs/src/offlineVault/descriptor/transaction.js +80 -0
  112. package/dist/cjs/src/offlineVault/index.d.ts.map +1 -0
  113. package/dist/{src → cjs/src}/offlineVault/index.js +1 -1
  114. package/dist/cjs/src/recovery/RecoveryProvider.d.ts.map +1 -0
  115. package/dist/cjs/src/recovery/RecoveryProvider.js +22 -0
  116. package/dist/cjs/src/recovery/backupKeyRecovery.d.ts.map +1 -0
  117. package/dist/cjs/src/recovery/backupKeyRecovery.js +370 -0
  118. package/dist/cjs/src/recovery/baseApi.d.ts.map +1 -0
  119. package/dist/cjs/src/recovery/baseApi.js +73 -0
  120. package/dist/cjs/src/recovery/coingeckoApi.d.ts.map +1 -0
  121. package/dist/cjs/src/recovery/coingeckoApi.js +44 -0
  122. package/dist/cjs/src/recovery/crossChainRecovery.d.ts.map +1 -0
  123. package/dist/cjs/src/recovery/crossChainRecovery.js +364 -0
  124. package/dist/cjs/src/recovery/index.d.ts.map +1 -0
  125. package/dist/{src → cjs/src}/recovery/index.js +1 -1
  126. package/dist/cjs/src/recovery/mempoolApi.d.ts.map +1 -0
  127. package/dist/cjs/src/recovery/mempoolApi.js +36 -0
  128. package/dist/{src → cjs/src}/replayProtection.d.ts +1 -0
  129. package/dist/cjs/src/replayProtection.d.ts.map +1 -0
  130. package/dist/cjs/src/replayProtection.js +58 -0
  131. package/dist/cjs/src/sign.d.ts.map +1 -0
  132. package/dist/cjs/src/sign.js +205 -0
  133. package/dist/cjs/src/transaction/bip322.d.ts.map +1 -0
  134. package/dist/cjs/src/transaction/bip322.js +125 -0
  135. package/dist/cjs/src/transaction/common/verifyPayGoAmount.d.ts.map +1 -0
  136. package/dist/cjs/src/transaction/common/verifyPayGoAmount.js +3 -0
  137. package/dist/{src → cjs/src}/transaction/descriptor/explainPsbt.d.ts +2 -2
  138. package/dist/cjs/src/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  139. package/dist/cjs/src/transaction/descriptor/explainPsbt.js +80 -0
  140. package/dist/cjs/src/transaction/descriptor/index.d.ts.map +1 -0
  141. package/dist/{src → cjs/src}/transaction/descriptor/index.js +1 -1
  142. package/dist/{src → cjs/src}/transaction/descriptor/parse.d.ts +2 -1
  143. package/dist/cjs/src/transaction/descriptor/parse.d.ts.map +1 -0
  144. package/dist/cjs/src/transaction/descriptor/parse.js +116 -0
  145. package/dist/{src → cjs/src}/transaction/descriptor/parseToAmountType.d.ts +2 -1
  146. package/dist/cjs/src/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  147. package/dist/cjs/src/transaction/descriptor/parseToAmountType.js +60 -0
  148. package/dist/cjs/src/transaction/descriptor/recipient.d.ts.map +1 -0
  149. package/dist/cjs/src/transaction/descriptor/recipient.js +3 -0
  150. package/dist/cjs/src/transaction/descriptor/signPsbt.d.ts.map +1 -0
  151. package/dist/cjs/src/transaction/descriptor/signPsbt.js +43 -0
  152. package/dist/{src → cjs/src}/transaction/descriptor/verifyTransaction.d.ts +2 -1
  153. package/dist/cjs/src/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  154. package/dist/cjs/src/transaction/descriptor/verifyTransaction.js +108 -0
  155. package/dist/{src → cjs/src}/transaction/explainTransaction.d.ts +4 -3
  156. package/dist/cjs/src/transaction/explainTransaction.d.ts.map +1 -0
  157. package/dist/cjs/src/transaction/explainTransaction.js +88 -0
  158. package/dist/cjs/src/transaction/fetchInputs.d.ts.map +1 -0
  159. package/dist/cjs/src/transaction/fetchInputs.js +109 -0
  160. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +10 -0
  161. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  162. package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +43 -0
  163. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +64 -0
  164. package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  165. package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +321 -0
  166. package/dist/{src → cjs/src}/transaction/fixedScript/index.d.ts +1 -0
  167. package/dist/cjs/src/transaction/fixedScript/index.d.ts.map +1 -0
  168. package/dist/{src → cjs/src}/transaction/fixedScript/index.js +4 -2
  169. package/dist/{src → cjs/src}/transaction/fixedScript/parseOutput.d.ts +3 -1
  170. package/dist/cjs/src/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  171. package/dist/cjs/src/transaction/fixedScript/parseOutput.js +217 -0
  172. package/dist/{src → cjs/src}/transaction/fixedScript/parseTransaction.d.ts +2 -1
  173. package/dist/cjs/src/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  174. package/dist/cjs/src/transaction/fixedScript/parseTransaction.js +215 -0
  175. package/dist/cjs/src/transaction/fixedScript/signTransaction.d.ts.map +1 -0
  176. package/dist/cjs/src/transaction/fixedScript/signTransaction.js +101 -0
  177. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  178. package/dist/cjs/src/transaction/fixedScript/verifyTransaction.js +198 -0
  179. package/dist/cjs/src/transaction/getPayGoVerificationPubkey.d.ts.map +1 -0
  180. package/dist/{src → cjs/src}/transaction/getPayGoVerificationPubkey.js +1 -1
  181. package/dist/{src → cjs/src}/transaction/index.d.ts +1 -0
  182. package/dist/cjs/src/transaction/index.d.ts.map +1 -0
  183. package/dist/{src → cjs/src}/transaction/index.js +2 -1
  184. package/dist/cjs/src/transaction/outputDifference.d.ts.map +1 -0
  185. package/dist/cjs/src/transaction/outputDifference.js +47 -0
  186. package/dist/{src → cjs/src}/transaction/parseTransaction.d.ts +2 -1
  187. package/dist/cjs/src/transaction/parseTransaction.d.ts.map +1 -0
  188. package/dist/{src → cjs/src}/transaction/parseTransaction.js +1 -1
  189. package/dist/cjs/src/transaction/recipient.d.ts.map +1 -0
  190. package/dist/cjs/src/transaction/recipient.js +88 -0
  191. package/dist/cjs/src/transaction/signTransaction.d.ts.map +1 -0
  192. package/dist/cjs/src/transaction/signTransaction.js +102 -0
  193. package/dist/cjs/src/transaction/types.d.ts +44 -0
  194. package/dist/cjs/src/transaction/types.d.ts.map +1 -0
  195. package/dist/cjs/src/transaction/types.js +3 -0
  196. package/dist/cjs/src/transaction/verifyTransaction.d.ts.map +1 -0
  197. package/dist/{src → cjs/src}/transaction/verifyTransaction.js +1 -1
  198. package/dist/{src → cjs/src}/verifyKey.d.ts +2 -1
  199. package/dist/cjs/src/verifyKey.d.ts.map +1 -0
  200. package/dist/cjs/src/verifyKey.js +164 -0
  201. package/dist/cjs/src/wallet.d.ts.map +1 -0
  202. package/dist/cjs/src/wallet.js +8 -0
  203. package/dist/cjs/test/integration/impl/bch/bch.d.ts +2 -0
  204. package/dist/cjs/test/integration/impl/bch/bch.d.ts.map +1 -0
  205. package/dist/cjs/test/integration/impl/bch/bch.js +74 -0
  206. package/dist/cjs/test/unit/address.d.ts +2 -0
  207. package/dist/cjs/test/unit/address.d.ts.map +1 -0
  208. package/dist/cjs/test/unit/address.js +182 -0
  209. package/dist/cjs/test/unit/bip322.d.ts +2 -0
  210. package/dist/cjs/test/unit/bip322.d.ts.map +1 -0
  211. package/dist/cjs/test/unit/bip322.js +45 -0
  212. package/dist/cjs/test/unit/coins.d.ts +2 -0
  213. package/dist/cjs/test/unit/coins.d.ts.map +1 -0
  214. package/dist/cjs/test/unit/coins.js +97 -0
  215. package/dist/cjs/test/unit/customChangeWallet.d.ts +2 -0
  216. package/dist/cjs/test/unit/customChangeWallet.d.ts.map +1 -0
  217. package/dist/cjs/test/unit/customChangeWallet.js +154 -0
  218. package/dist/cjs/test/unit/customSigner.d.ts +3 -0
  219. package/dist/cjs/test/unit/customSigner.d.ts.map +1 -0
  220. package/dist/cjs/test/unit/customSigner.js +108 -0
  221. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts +2 -0
  222. package/dist/cjs/test/unit/descriptor/NamedDescriptor.d.ts.map +1 -0
  223. package/dist/cjs/test/unit/descriptor/NamedDescriptor.js +18 -0
  224. package/dist/cjs/test/unit/descriptor/builder.d.ts +2 -0
  225. package/dist/cjs/test/unit/descriptor/builder.d.ts.map +1 -0
  226. package/dist/cjs/test/unit/descriptor/builder.js +72 -0
  227. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts +2 -0
  228. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.d.ts.map +1 -0
  229. package/dist/cjs/test/unit/descriptor/createWallet/createDescriptors.js +20 -0
  230. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts +2 -0
  231. package/dist/cjs/test/unit/descriptor/descriptorWallet.d.ts.map +1 -0
  232. package/dist/cjs/test/unit/descriptor/descriptorWallet.js +28 -0
  233. package/dist/cjs/test/unit/descriptorAddress.d.ts +3 -0
  234. package/dist/cjs/test/unit/descriptorAddress.d.ts.map +1 -0
  235. package/dist/cjs/test/unit/descriptorAddress.js +102 -0
  236. package/dist/cjs/test/unit/explainTransaction.d.ts +2 -0
  237. package/dist/cjs/test/unit/explainTransaction.d.ts.map +1 -0
  238. package/dist/cjs/test/unit/explainTransaction.js +74 -0
  239. package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts +15 -0
  240. package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts.map +1 -0
  241. package/dist/cjs/test/unit/fixtures/bip322/fixtures.js +51 -0
  242. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts +4 -0
  243. package/dist/cjs/test/unit/fixtures/psbtHexProof.d.ts.map +1 -0
  244. package/dist/cjs/test/unit/fixtures/psbtHexProof.js +9 -0
  245. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts +2 -0
  246. package/dist/cjs/test/unit/impl/bch/unit/bch.d.ts.map +1 -0
  247. package/dist/cjs/test/unit/impl/bch/unit/bch.js +138 -0
  248. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts +2 -0
  249. package/dist/cjs/test/unit/impl/bcha/unit/index.d.ts.map +1 -0
  250. package/dist/cjs/test/unit/impl/bcha/unit/index.js +47 -0
  251. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts +2 -0
  252. package/dist/cjs/test/unit/impl/bsv/unit/index.d.ts.map +1 -0
  253. package/dist/cjs/test/unit/impl/bsv/unit/index.js +32 -0
  254. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts +2 -0
  255. package/dist/cjs/test/unit/impl/btc/unit/btc.d.ts.map +1 -0
  256. package/dist/cjs/test/unit/impl/btc/unit/btc.js +220 -0
  257. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts +4 -0
  258. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.d.ts.map +1 -0
  259. package/dist/cjs/test/unit/impl/btc/unit/fixtures/btcBackupKey.js +10 -0
  260. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts +2 -0
  261. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.d.ts.map +1 -0
  262. package/dist/cjs/test/unit/impl/btc/unit/fixtures/index.js +18 -0
  263. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts +2 -0
  264. package/dist/cjs/test/unit/impl/btg/unit/index.d.ts.map +1 -0
  265. package/dist/cjs/test/unit/impl/btg/unit/index.js +29 -0
  266. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts +2 -0
  267. package/dist/cjs/test/unit/impl/dash/unit/index.d.ts.map +1 -0
  268. package/dist/cjs/test/unit/impl/dash/unit/index.js +32 -0
  269. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts +2 -0
  270. package/dist/cjs/test/unit/impl/doge/unit/index.d.ts.map +1 -0
  271. package/dist/cjs/test/unit/impl/doge/unit/index.js +32 -0
  272. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts +2 -0
  273. package/dist/cjs/test/unit/impl/ltc/unit/index.d.ts.map +1 -0
  274. package/dist/cjs/test/unit/impl/ltc/unit/index.js +39 -0
  275. package/dist/cjs/test/unit/impl/zec/unit/index.d.ts +2 -0
  276. package/dist/cjs/test/unit/impl/zec/unit/index.d.ts.map +1 -0
  277. package/dist/cjs/test/unit/impl/zec/unit/index.js +29 -0
  278. package/dist/cjs/test/unit/keySignatures.d.ts +2 -0
  279. package/dist/cjs/test/unit/keySignatures.d.ts.map +1 -0
  280. package/dist/cjs/test/unit/keySignatures.js +54 -0
  281. package/dist/cjs/test/unit/keychains.d.ts +2 -0
  282. package/dist/cjs/test/unit/keychains.d.ts.map +1 -0
  283. package/dist/cjs/test/unit/keychains.js +49 -0
  284. package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts +2 -0
  285. package/dist/cjs/test/unit/offlineVault/halfSigned.d.ts.map +1 -0
  286. package/dist/cjs/test/unit/offlineVault/halfSigned.js +124 -0
  287. package/dist/cjs/test/unit/parseTransaction.d.ts +2 -0
  288. package/dist/cjs/test/unit/parseTransaction.d.ts.map +1 -0
  289. package/dist/cjs/test/unit/parseTransaction.js +125 -0
  290. package/dist/cjs/test/unit/prebuildAndSign.d.ts +6 -0
  291. package/dist/cjs/test/unit/prebuildAndSign.d.ts.map +1 -0
  292. package/dist/cjs/test/unit/prebuildAndSign.js +270 -0
  293. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts +2 -0
  294. package/dist/cjs/test/unit/recovery/backupKeyRecovery.d.ts.map +1 -0
  295. package/dist/cjs/test/unit/recovery/backupKeyRecovery.js +285 -0
  296. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts +2 -0
  297. package/dist/cjs/test/unit/recovery/crossChainRecovery.d.ts.map +1 -0
  298. package/dist/cjs/test/unit/recovery/crossChainRecovery.js +283 -0
  299. package/dist/cjs/test/unit/recovery/mock.d.ts +30 -0
  300. package/dist/cjs/test/unit/recovery/mock.d.ts.map +1 -0
  301. package/dist/cjs/test/unit/recovery/mock.js +138 -0
  302. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts +2 -0
  303. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  304. package/dist/cjs/test/unit/transaction/descriptor/explainPsbt.js +30 -0
  305. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts +6 -0
  306. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.d.ts.map +1 -0
  307. package/dist/cjs/test/unit/transaction/descriptor/fixtures.utils.js +17 -0
  308. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts +2 -0
  309. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.d.ts.map +1 -0
  310. package/dist/cjs/test/unit/transaction/descriptor/outputDifference.js +76 -0
  311. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts +2 -0
  312. package/dist/cjs/test/unit/transaction/descriptor/parse.d.ts.map +1 -0
  313. package/dist/cjs/test/unit/transaction/descriptor/parse.js +135 -0
  314. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts +2 -0
  315. package/dist/cjs/test/unit/transaction/descriptor/sign.d.ts.map +1 -0
  316. package/dist/cjs/test/unit/transaction/descriptor/sign.js +32 -0
  317. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts +2 -0
  318. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.d.ts.map +1 -0
  319. package/dist/cjs/test/unit/transaction/descriptor/validatePolicy.js +48 -0
  320. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts +2 -0
  321. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.d.ts.map +1 -0
  322. package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +101 -0
  323. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts +2 -0
  324. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.d.ts.map +1 -0
  325. package/dist/cjs/test/unit/transaction/fixedScript/parsePsbt.js +288 -0
  326. package/dist/cjs/test/unit/transaction/fixedScript/util.d.ts +3 -0
  327. package/dist/cjs/test/unit/transaction/fixedScript/util.d.ts.map +1 -0
  328. package/dist/cjs/test/unit/transaction/fixedScript/util.js +46 -0
  329. package/dist/cjs/test/unit/transaction.d.ts +2 -0
  330. package/dist/cjs/test/unit/transaction.d.ts.map +1 -0
  331. package/dist/cjs/test/unit/transaction.js +501 -0
  332. package/dist/cjs/test/unit/txFormat.d.ts +30 -0
  333. package/dist/cjs/test/unit/txFormat.d.ts.map +1 -0
  334. package/dist/cjs/test/unit/txFormat.js +174 -0
  335. package/dist/cjs/test/unit/util/fixtures.d.ts +14 -0
  336. package/dist/cjs/test/unit/util/fixtures.d.ts.map +1 -0
  337. package/dist/cjs/test/unit/util/fixtures.js +102 -0
  338. package/dist/cjs/test/unit/util/index.d.ts +7 -0
  339. package/dist/cjs/test/unit/util/index.d.ts.map +1 -0
  340. package/dist/cjs/test/unit/util/index.js +23 -0
  341. package/dist/cjs/test/unit/util/keychains.d.ts +26 -0
  342. package/dist/cjs/test/unit/util/keychains.d.ts.map +1 -0
  343. package/dist/cjs/test/unit/util/keychains.js +72 -0
  344. package/dist/cjs/test/unit/util/nockBitGo.d.ts +3 -0
  345. package/dist/cjs/test/unit/util/nockBitGo.d.ts.map +1 -0
  346. package/dist/cjs/test/unit/util/nockBitGo.js +11 -0
  347. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts +8 -0
  348. package/dist/cjs/test/unit/util/nockIndexerAPI.d.ts.map +1 -0
  349. package/dist/cjs/test/unit/util/nockIndexerAPI.js +56 -0
  350. package/dist/cjs/test/unit/util/transaction.d.ts +24 -0
  351. package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -0
  352. package/dist/cjs/test/unit/util/transaction.js +107 -0
  353. package/dist/cjs/test/unit/util/unspents.d.ts +13 -0
  354. package/dist/cjs/test/unit/util/unspents.d.ts.map +1 -0
  355. package/dist/cjs/test/unit/util/unspents.js +106 -0
  356. package/dist/cjs/test/unit/util/utxoCoins.d.ts +8 -0
  357. package/dist/cjs/test/unit/util/utxoCoins.d.ts.map +1 -0
  358. package/dist/cjs/test/unit/util/utxoCoins.js +95 -0
  359. package/dist/cjs/test/unit/util/wallet.d.ts +4 -0
  360. package/dist/cjs/test/unit/util/wallet.d.ts.map +1 -0
  361. package/dist/cjs/test/unit/util/wallet.js +9 -0
  362. package/dist/cjs/test/unit/verifyTransaction.d.ts +2 -0
  363. package/dist/cjs/test/unit/verifyTransaction.d.ts.map +1 -0
  364. package/dist/cjs/test/unit/verifyTransaction.js +327 -0
  365. package/dist/cjs/test/unit/wallet.d.ts +2 -0
  366. package/dist/cjs/test/unit/wallet.d.ts.map +1 -0
  367. package/dist/cjs/test/unit/wallet.js +248 -0
  368. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  369. package/dist/esm/abstractUtxoCoin.d.ts +425 -0
  370. package/dist/esm/abstractUtxoCoin.d.ts.map +1 -0
  371. package/dist/esm/abstractUtxoCoin.js +604 -0
  372. package/dist/esm/address/fixedScript.d.ts +51 -0
  373. package/dist/esm/address/fixedScript.js +109 -0
  374. package/dist/esm/address/index.d.ts +2 -0
  375. package/dist/esm/address/index.js +2 -0
  376. package/dist/esm/config.d.ts +9 -0
  377. package/dist/esm/config.js +11 -0
  378. package/dist/esm/descriptor/NamedDescriptor.d.ts +20 -0
  379. package/dist/esm/descriptor/NamedDescriptor.js +39 -0
  380. package/dist/esm/descriptor/assertDescriptorWalletAddress.d.ts +5 -0
  381. package/dist/esm/descriptor/assertDescriptorWalletAddress.js +27 -0
  382. package/dist/esm/descriptor/builder/builder.d.ts +13 -0
  383. package/dist/esm/descriptor/builder/builder.js +34 -0
  384. package/dist/esm/descriptor/builder/index.d.ts +3 -0
  385. package/dist/esm/descriptor/builder/index.js +3 -0
  386. package/dist/esm/descriptor/builder/parse.d.ts +5 -0
  387. package/dist/esm/descriptor/builder/parse.js +112 -0
  388. package/dist/esm/descriptor/createWallet/createDescriptorWallet.d.ts +20 -0
  389. package/dist/esm/descriptor/createWallet/createDescriptorWallet.js +37 -0
  390. package/dist/esm/descriptor/createWallet/createDescriptors.d.ts +12 -0
  391. package/dist/esm/descriptor/createWallet/createDescriptors.js +29 -0
  392. package/dist/esm/descriptor/createWallet/index.d.ts +3 -0
  393. package/dist/esm/descriptor/createWallet/index.js +3 -0
  394. package/dist/esm/descriptor/descriptorWallet.d.ts +19 -0
  395. package/dist/esm/descriptor/descriptorWallet.js +16 -0
  396. package/dist/esm/descriptor/index.d.ts +8 -0
  397. package/dist/esm/descriptor/index.js +7 -0
  398. package/dist/esm/descriptor/validatePolicy.d.ts +22 -0
  399. package/dist/esm/descriptor/validatePolicy.js +80 -0
  400. package/dist/esm/impl/bch/bch.d.ts +20 -0
  401. package/dist/{src → esm}/impl/bch/bch.d.ts.map +1 -1
  402. package/dist/esm/impl/bch/bch.js +37 -0
  403. package/dist/esm/impl/bch/index.d.ts +3 -0
  404. package/dist/esm/impl/bch/index.js +3 -0
  405. package/dist/esm/impl/bch/tbch.d.ts +10 -0
  406. package/dist/esm/impl/bch/tbch.js +11 -0
  407. package/dist/esm/impl/bcha/bcha.d.ts +8 -0
  408. package/dist/{src → esm}/impl/bcha/bcha.d.ts.map +1 -1
  409. package/dist/esm/impl/bcha/bcha.js +11 -0
  410. package/dist/esm/impl/bcha/index.d.ts +3 -0
  411. package/dist/esm/impl/bcha/index.js +3 -0
  412. package/dist/esm/impl/bcha/tbcha.d.ts +10 -0
  413. package/dist/esm/impl/bcha/tbcha.js +11 -0
  414. package/dist/esm/impl/bsv/bsv.d.ts +8 -0
  415. package/dist/esm/impl/bsv/bsv.js +11 -0
  416. package/dist/esm/impl/bsv/index.d.ts +3 -0
  417. package/dist/esm/impl/bsv/index.js +3 -0
  418. package/dist/esm/impl/bsv/tbsv.d.ts +10 -0
  419. package/dist/esm/impl/bsv/tbsv.js +11 -0
  420. package/dist/esm/impl/btc/btc.d.ts +13 -0
  421. package/dist/esm/impl/btc/btc.js +18 -0
  422. package/dist/esm/impl/btc/index.d.ts +7 -0
  423. package/dist/esm/impl/btc/index.js +7 -0
  424. package/dist/esm/impl/btc/inscriptionBuilder.d.ts +51 -0
  425. package/dist/esm/impl/btc/inscriptionBuilder.js +143 -0
  426. package/dist/esm/impl/btc/tbtc.d.ts +10 -0
  427. package/dist/esm/impl/btc/tbtc.js +11 -0
  428. package/dist/esm/impl/btc/tbtc4.d.ts +10 -0
  429. package/dist/esm/impl/btc/tbtc4.js +11 -0
  430. package/dist/esm/impl/btc/tbtcbgsig.d.ts +10 -0
  431. package/dist/esm/impl/btc/tbtcbgsig.js +11 -0
  432. package/dist/esm/impl/btc/tbtcsig.d.ts +10 -0
  433. package/dist/esm/impl/btc/tbtcsig.js +11 -0
  434. package/dist/esm/impl/btg/btg.d.ts +7 -0
  435. package/dist/esm/impl/btg/btg.js +11 -0
  436. package/dist/esm/impl/btg/index.d.ts +2 -0
  437. package/dist/esm/impl/btg/index.js +2 -0
  438. package/dist/esm/impl/dash/dash.d.ts +7 -0
  439. package/dist/esm/impl/dash/dash.js +11 -0
  440. package/dist/esm/impl/dash/index.d.ts +3 -0
  441. package/dist/esm/impl/dash/index.js +3 -0
  442. package/dist/esm/impl/dash/tdash.d.ts +10 -0
  443. package/dist/esm/impl/dash/tdash.js +11 -0
  444. package/dist/esm/impl/doge/doge.d.ts +32 -0
  445. package/dist/esm/impl/doge/doge.d.ts.map +1 -0
  446. package/dist/esm/impl/doge/doge.js +75 -0
  447. package/dist/esm/impl/doge/index.d.ts +3 -0
  448. package/dist/esm/impl/doge/index.js +3 -0
  449. package/dist/esm/impl/doge/tdoge.d.ts +10 -0
  450. package/dist/esm/impl/doge/tdoge.js +11 -0
  451. package/dist/esm/impl/index.d.ts +10 -0
  452. package/dist/esm/impl/index.js +10 -0
  453. package/dist/esm/impl/ltc/index.d.ts +3 -0
  454. package/dist/esm/impl/ltc/index.js +3 -0
  455. package/dist/esm/impl/ltc/ltc.d.ts +7 -0
  456. package/dist/esm/impl/ltc/ltc.js +15 -0
  457. package/dist/esm/impl/ltc/tltc.d.ts +7 -0
  458. package/dist/esm/impl/ltc/tltc.js +14 -0
  459. package/dist/esm/impl/zec/index.d.ts +3 -0
  460. package/dist/esm/impl/zec/index.js +3 -0
  461. package/dist/esm/impl/zec/tzec.d.ts +7 -0
  462. package/dist/esm/impl/zec/tzec.js +11 -0
  463. package/dist/esm/impl/zec/zec.d.ts +10 -0
  464. package/dist/esm/impl/zec/zec.js +11 -0
  465. package/dist/esm/index.d.ts +21 -0
  466. package/dist/esm/index.js +21 -0
  467. package/dist/esm/keychains.d.ts +48 -0
  468. package/dist/esm/keychains.js +61 -0
  469. package/dist/esm/names.d.ts +26 -0
  470. package/dist/esm/names.js +171 -0
  471. package/dist/esm/offlineVault/OfflineVaultHalfSigned.d.ts +8 -0
  472. package/dist/esm/offlineVault/OfflineVaultHalfSigned.js +23 -0
  473. package/dist/esm/offlineVault/OfflineVaultSignable.d.ts +46 -0
  474. package/dist/esm/offlineVault/OfflineVaultSignable.js +18 -0
  475. package/dist/esm/offlineVault/TransactionExplanation.d.ts +15 -0
  476. package/dist/esm/offlineVault/TransactionExplanation.js +13 -0
  477. package/dist/esm/offlineVault/descriptor/index.d.ts +2 -0
  478. package/dist/esm/offlineVault/descriptor/index.js +2 -0
  479. package/dist/esm/offlineVault/descriptor/transaction.d.ts +38 -0
  480. package/dist/esm/offlineVault/descriptor/transaction.js +41 -0
  481. package/dist/esm/offlineVault/index.d.ts +6 -0
  482. package/dist/esm/offlineVault/index.js +4 -0
  483. package/dist/esm/recovery/RecoveryProvider.d.ts +22 -0
  484. package/dist/{src → esm}/recovery/RecoveryProvider.js +6 -9
  485. package/dist/esm/recovery/backupKeyRecovery.d.ts +88 -0
  486. package/dist/esm/recovery/backupKeyRecovery.js +329 -0
  487. package/dist/esm/recovery/baseApi.d.ts +24 -0
  488. package/dist/esm/recovery/baseApi.js +64 -0
  489. package/dist/esm/recovery/coingeckoApi.d.ts +6 -0
  490. package/dist/esm/recovery/coingeckoApi.js +40 -0
  491. package/dist/esm/recovery/crossChainRecovery.d.ts +86 -0
  492. package/dist/esm/recovery/crossChainRecovery.js +325 -0
  493. package/dist/esm/recovery/index.d.ts +7 -0
  494. package/dist/esm/recovery/index.js +7 -0
  495. package/dist/esm/recovery/mempoolApi.d.ts +7 -0
  496. package/dist/esm/recovery/mempoolApi.js +29 -0
  497. package/dist/esm/replayProtection.d.ts +5 -0
  498. package/dist/esm/replayProtection.d.ts.map +1 -0
  499. package/dist/esm/replayProtection.js +20 -0
  500. package/dist/esm/sign.d.ts +54 -0
  501. package/dist/esm/sign.js +162 -0
  502. package/dist/esm/transaction/bip322.d.ts +27 -0
  503. package/dist/esm/transaction/bip322.js +86 -0
  504. package/dist/esm/transaction/common/verifyPayGoAmount.d.ts +1 -0
  505. package/dist/{src → esm}/transaction/common/verifyPayGoAmount.js +0 -2
  506. package/dist/esm/transaction/descriptor/explainPsbt.d.ts +5 -0
  507. package/dist/esm/transaction/descriptor/explainPsbt.d.ts.map +1 -0
  508. package/dist/esm/transaction/descriptor/explainPsbt.js +44 -0
  509. package/dist/esm/transaction/descriptor/index.d.ts +7 -0
  510. package/dist/esm/transaction/descriptor/index.js +6 -0
  511. package/dist/esm/transaction/descriptor/parse.d.ts +16 -0
  512. package/dist/esm/transaction/descriptor/parse.d.ts.map +1 -0
  513. package/dist/esm/transaction/descriptor/parse.js +79 -0
  514. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts +14 -0
  515. package/dist/esm/transaction/descriptor/parseToAmountType.d.ts.map +1 -0
  516. package/dist/esm/transaction/descriptor/parseToAmountType.js +55 -0
  517. package/dist/esm/transaction/descriptor/recipient.d.ts +5 -0
  518. package/dist/{src → esm}/transaction/descriptor/recipient.js +1 -2
  519. package/dist/esm/transaction/descriptor/signPsbt.d.ts +25 -0
  520. package/dist/esm/transaction/descriptor/signPsbt.js +38 -0
  521. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts +36 -0
  522. package/dist/esm/transaction/descriptor/verifyTransaction.d.ts.map +1 -0
  523. package/dist/esm/transaction/descriptor/verifyTransaction.js +65 -0
  524. package/dist/esm/transaction/explainTransaction.d.ts +18 -0
  525. package/dist/esm/transaction/explainTransaction.d.ts.map +1 -0
  526. package/dist/esm/transaction/explainTransaction.js +52 -0
  527. package/dist/esm/transaction/fetchInputs.d.ts +26 -0
  528. package/dist/esm/transaction/fetchInputs.js +72 -0
  529. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +10 -0
  530. package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -0
  531. package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +40 -0
  532. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +64 -0
  533. package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -0
  534. package/dist/esm/transaction/fixedScript/explainTransaction.js +284 -0
  535. package/dist/esm/transaction/fixedScript/index.d.ts +7 -0
  536. package/dist/esm/transaction/fixedScript/index.d.ts.map +1 -0
  537. package/dist/esm/transaction/fixedScript/index.js +6 -0
  538. package/dist/esm/transaction/fixedScript/parseOutput.d.ts +28 -0
  539. package/dist/esm/transaction/fixedScript/parseOutput.d.ts.map +1 -0
  540. package/dist/esm/transaction/fixedScript/parseOutput.js +210 -0
  541. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts +8 -0
  542. package/dist/esm/transaction/fixedScript/parseTransaction.d.ts.map +1 -0
  543. package/dist/esm/transaction/fixedScript/parseTransaction.js +176 -0
  544. package/dist/esm/transaction/fixedScript/signTransaction.d.ts +18 -0
  545. package/dist/esm/transaction/fixedScript/signTransaction.js +95 -0
  546. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts +21 -0
  547. package/dist/esm/transaction/fixedScript/verifyTransaction.d.ts.map +1 -0
  548. package/dist/esm/transaction/fixedScript/verifyTransaction.js +159 -0
  549. package/dist/esm/transaction/getPayGoVerificationPubkey.d.ts +9 -0
  550. package/dist/esm/transaction/getPayGoVerificationPubkey.js +17 -0
  551. package/dist/esm/transaction/index.d.ts +8 -0
  552. package/dist/esm/transaction/index.d.ts.map +1 -0
  553. package/dist/esm/transaction/index.js +8 -0
  554. package/dist/esm/transaction/outputDifference.d.ts +40 -0
  555. package/dist/esm/transaction/outputDifference.js +42 -0
  556. package/dist/esm/transaction/parseTransaction.d.ts +4 -0
  557. package/dist/esm/transaction/parseTransaction.d.ts.map +1 -0
  558. package/dist/esm/transaction/parseTransaction.js +12 -0
  559. package/dist/esm/transaction/recipient.d.ts +29 -0
  560. package/dist/{src → esm}/transaction/recipient.d.ts.map +1 -1
  561. package/dist/esm/transaction/recipient.js +48 -0
  562. package/dist/esm/transaction/signTransaction.d.ts +6 -0
  563. package/dist/esm/transaction/signTransaction.js +63 -0
  564. package/dist/esm/transaction/types.d.ts +44 -0
  565. package/dist/esm/transaction/types.d.ts.map +1 -0
  566. package/dist/esm/transaction/types.js +2 -0
  567. package/dist/esm/transaction/verifyTransaction.d.ts +4 -0
  568. package/dist/esm/transaction/verifyTransaction.js +14 -0
  569. package/dist/esm/verifyKey.d.ts +29 -0
  570. package/dist/esm/verifyKey.d.ts.map +1 -0
  571. package/dist/esm/verifyKey.js +123 -0
  572. package/dist/esm/wallet.d.ts +15 -0
  573. package/dist/esm/wallet.js +5 -0
  574. package/package.json +32 -15
  575. package/dist/src/abstractUtxoCoin.d.ts.map +0 -1
  576. package/dist/src/abstractUtxoCoin.js +0 -634
  577. package/dist/src/address/fixedScript.js +0 -150
  578. package/dist/src/config.js +0 -14
  579. package/dist/src/descriptor/NamedDescriptor.js +0 -79
  580. package/dist/src/descriptor/assertDescriptorWalletAddress.js +0 -66
  581. package/dist/src/descriptor/builder/builder.js +0 -37
  582. package/dist/src/descriptor/builder/parse.js +0 -116
  583. package/dist/src/descriptor/createWallet/createDescriptorWallet.js +0 -41
  584. package/dist/src/descriptor/createWallet/createDescriptors.js +0 -33
  585. package/dist/src/descriptor/descriptorWallet.js +0 -54
  586. package/dist/src/descriptor/validatePolicy.js +0 -92
  587. package/dist/src/impl/bch/bch.js +0 -70
  588. package/dist/src/impl/bcha/bcha.js +0 -58
  589. package/dist/src/impl/btc/inscriptionBuilder.js +0 -183
  590. package/dist/src/impl/doge/doge.d.ts.map +0 -1
  591. package/dist/src/impl/doge/doge.js +0 -79
  592. package/dist/src/keychains.js +0 -104
  593. package/dist/src/names.js +0 -214
  594. package/dist/src/offlineVault/OfflineVaultHalfSigned.js +0 -26
  595. package/dist/src/offlineVault/OfflineVaultSignable.js +0 -55
  596. package/dist/src/offlineVault/TransactionExplanation.js +0 -16
  597. package/dist/src/offlineVault/descriptor/transaction.js +0 -80
  598. package/dist/src/recovery/backupKeyRecovery.js +0 -370
  599. package/dist/src/recovery/baseApi.js +0 -73
  600. package/dist/src/recovery/coingeckoApi.js +0 -44
  601. package/dist/src/recovery/crossChainRecovery.js +0 -364
  602. package/dist/src/recovery/mempoolApi.js +0 -36
  603. package/dist/src/replayProtection.d.ts.map +0 -1
  604. package/dist/src/replayProtection.js +0 -53
  605. package/dist/src/sign.js +0 -205
  606. package/dist/src/transaction/bip322.js +0 -125
  607. package/dist/src/transaction/descriptor/explainPsbt.d.ts.map +0 -1
  608. package/dist/src/transaction/descriptor/explainPsbt.js +0 -80
  609. package/dist/src/transaction/descriptor/parse.d.ts.map +0 -1
  610. package/dist/src/transaction/descriptor/parse.js +0 -116
  611. package/dist/src/transaction/descriptor/parseToAmountType.d.ts.map +0 -1
  612. package/dist/src/transaction/descriptor/parseToAmountType.js +0 -60
  613. package/dist/src/transaction/descriptor/signPsbt.js +0 -43
  614. package/dist/src/transaction/descriptor/verifyTransaction.d.ts.map +0 -1
  615. package/dist/src/transaction/descriptor/verifyTransaction.js +0 -108
  616. package/dist/src/transaction/explainTransaction.d.ts.map +0 -1
  617. package/dist/src/transaction/explainTransaction.js +0 -67
  618. package/dist/src/transaction/fetchInputs.js +0 -109
  619. package/dist/src/transaction/fixedScript/explainTransaction.d.ts +0 -29
  620. package/dist/src/transaction/fixedScript/explainTransaction.d.ts.map +0 -1
  621. package/dist/src/transaction/fixedScript/explainTransaction.js +0 -321
  622. package/dist/src/transaction/fixedScript/index.d.ts.map +0 -1
  623. package/dist/src/transaction/fixedScript/parseOutput.d.ts.map +0 -1
  624. package/dist/src/transaction/fixedScript/parseOutput.js +0 -213
  625. package/dist/src/transaction/fixedScript/parseTransaction.d.ts.map +0 -1
  626. package/dist/src/transaction/fixedScript/parseTransaction.js +0 -203
  627. package/dist/src/transaction/fixedScript/signTransaction.js +0 -101
  628. package/dist/src/transaction/fixedScript/verifyTransaction.d.ts.map +0 -1
  629. package/dist/src/transaction/fixedScript/verifyTransaction.js +0 -198
  630. package/dist/src/transaction/index.d.ts.map +0 -1
  631. package/dist/src/transaction/outputDifference.js +0 -47
  632. package/dist/src/transaction/parseTransaction.d.ts.map +0 -1
  633. package/dist/src/transaction/recipient.js +0 -88
  634. package/dist/src/transaction/signTransaction.js +0 -102
  635. package/dist/src/verifyKey.d.ts.map +0 -1
  636. package/dist/src/verifyKey.js +0 -164
  637. package/dist/src/wallet.js +0 -8
  638. /package/dist/{src → cjs/src}/address/fixedScript.d.ts +0 -0
  639. /package/dist/{src → cjs/src}/address/index.d.ts +0 -0
  640. /package/dist/{src → cjs/src}/config.d.ts +0 -0
  641. /package/dist/{src → cjs/src}/descriptor/NamedDescriptor.d.ts +0 -0
  642. /package/dist/{src → cjs/src}/descriptor/assertDescriptorWalletAddress.d.ts +0 -0
  643. /package/dist/{src → cjs/src}/descriptor/builder/builder.d.ts +0 -0
  644. /package/dist/{src → cjs/src}/descriptor/builder/index.d.ts +0 -0
  645. /package/dist/{src → cjs/src}/descriptor/builder/parse.d.ts +0 -0
  646. /package/dist/{src → cjs/src}/descriptor/createWallet/createDescriptorWallet.d.ts +0 -0
  647. /package/dist/{src → cjs/src}/descriptor/createWallet/createDescriptors.d.ts +0 -0
  648. /package/dist/{src → cjs/src}/descriptor/createWallet/index.d.ts +0 -0
  649. /package/dist/{src → cjs/src}/descriptor/descriptorWallet.d.ts +0 -0
  650. /package/dist/{src → cjs/src}/descriptor/index.d.ts +0 -0
  651. /package/dist/{src → cjs/src}/descriptor/validatePolicy.d.ts +0 -0
  652. /package/dist/{src → cjs/src}/impl/bch/bch.d.ts +0 -0
  653. /package/dist/{src → cjs/src}/impl/bch/index.d.ts +0 -0
  654. /package/dist/{src → cjs/src}/impl/bch/tbch.d.ts +0 -0
  655. /package/dist/{src → cjs/src}/impl/bcha/index.d.ts +0 -0
  656. /package/dist/{src → cjs/src}/impl/bcha/tbcha.d.ts +0 -0
  657. /package/dist/{src → cjs/src}/impl/bsv/bsv.d.ts +0 -0
  658. /package/dist/{src → cjs/src}/impl/bsv/index.d.ts +0 -0
  659. /package/dist/{src → cjs/src}/impl/bsv/tbsv.d.ts +0 -0
  660. /package/dist/{src → cjs/src}/impl/btc/btc.d.ts +0 -0
  661. /package/dist/{src → cjs/src}/impl/btc/index.d.ts +0 -0
  662. /package/dist/{src → cjs/src}/impl/btc/inscriptionBuilder.d.ts +0 -0
  663. /package/dist/{src → cjs/src}/impl/btc/tbtc.d.ts +0 -0
  664. /package/dist/{src → cjs/src}/impl/btc/tbtc4.d.ts +0 -0
  665. /package/dist/{src → cjs/src}/impl/btc/tbtcbgsig.d.ts +0 -0
  666. /package/dist/{src → cjs/src}/impl/btc/tbtcsig.d.ts +0 -0
  667. /package/dist/{src → cjs/src}/impl/btg/btg.d.ts +0 -0
  668. /package/dist/{src → cjs/src}/impl/btg/index.d.ts +0 -0
  669. /package/dist/{src → cjs/src}/impl/dash/dash.d.ts +0 -0
  670. /package/dist/{src → cjs/src}/impl/dash/index.d.ts +0 -0
  671. /package/dist/{src → cjs/src}/impl/dash/tdash.d.ts +0 -0
  672. /package/dist/{src → cjs/src}/impl/doge/index.d.ts +0 -0
  673. /package/dist/{src → cjs/src}/impl/doge/tdoge.d.ts +0 -0
  674. /package/dist/{src → cjs/src}/impl/index.d.ts +0 -0
  675. /package/dist/{src → cjs/src}/impl/ltc/index.d.ts +0 -0
  676. /package/dist/{src → cjs/src}/impl/ltc/ltc.d.ts +0 -0
  677. /package/dist/{src → cjs/src}/impl/ltc/tltc.d.ts +0 -0
  678. /package/dist/{src → cjs/src}/impl/zec/index.d.ts +0 -0
  679. /package/dist/{src → cjs/src}/impl/zec/tzec.d.ts +0 -0
  680. /package/dist/{src → cjs/src}/impl/zec/zec.d.ts +0 -0
  681. /package/dist/{src → cjs/src}/index.d.ts +0 -0
  682. /package/dist/{src → cjs/src}/keychains.d.ts +0 -0
  683. /package/dist/{src → cjs/src}/names.d.ts +0 -0
  684. /package/dist/{src → cjs/src}/offlineVault/OfflineVaultHalfSigned.d.ts +0 -0
  685. /package/dist/{src → cjs/src}/offlineVault/OfflineVaultSignable.d.ts +0 -0
  686. /package/dist/{src → cjs/src}/offlineVault/TransactionExplanation.d.ts +0 -0
  687. /package/dist/{src → cjs/src}/offlineVault/descriptor/index.d.ts +0 -0
  688. /package/dist/{src → cjs/src}/offlineVault/descriptor/transaction.d.ts +0 -0
  689. /package/dist/{src → cjs/src}/offlineVault/index.d.ts +0 -0
  690. /package/dist/{src → cjs/src}/recovery/RecoveryProvider.d.ts +0 -0
  691. /package/dist/{src → cjs/src}/recovery/backupKeyRecovery.d.ts +0 -0
  692. /package/dist/{src → cjs/src}/recovery/baseApi.d.ts +0 -0
  693. /package/dist/{src → cjs/src}/recovery/coingeckoApi.d.ts +0 -0
  694. /package/dist/{src → cjs/src}/recovery/crossChainRecovery.d.ts +0 -0
  695. /package/dist/{src → cjs/src}/recovery/index.d.ts +0 -0
  696. /package/dist/{src → cjs/src}/recovery/mempoolApi.d.ts +0 -0
  697. /package/dist/{src → cjs/src}/sign.d.ts +0 -0
  698. /package/dist/{src → cjs/src}/transaction/bip322.d.ts +0 -0
  699. /package/dist/{src → cjs/src}/transaction/common/verifyPayGoAmount.d.ts +0 -0
  700. /package/dist/{src → cjs/src}/transaction/descriptor/index.d.ts +0 -0
  701. /package/dist/{src → cjs/src}/transaction/descriptor/recipient.d.ts +0 -0
  702. /package/dist/{src → cjs/src}/transaction/descriptor/signPsbt.d.ts +0 -0
  703. /package/dist/{src → cjs/src}/transaction/fetchInputs.d.ts +0 -0
  704. /package/dist/{src → cjs/src}/transaction/fixedScript/signTransaction.d.ts +0 -0
  705. /package/dist/{src → cjs/src}/transaction/fixedScript/verifyTransaction.d.ts +0 -0
  706. /package/dist/{src → cjs/src}/transaction/getPayGoVerificationPubkey.d.ts +0 -0
  707. /package/dist/{src → cjs/src}/transaction/outputDifference.d.ts +0 -0
  708. /package/dist/{src → cjs/src}/transaction/recipient.d.ts +0 -0
  709. /package/dist/{src → cjs/src}/transaction/signTransaction.d.ts +0 -0
  710. /package/dist/{src → cjs/src}/transaction/verifyTransaction.d.ts +0 -0
  711. /package/dist/{src → cjs/src}/wallet.d.ts +0 -0
  712. /package/dist/{src → esm}/address/fixedScript.d.ts.map +0 -0
  713. /package/dist/{src → esm}/address/index.d.ts.map +0 -0
  714. /package/dist/{src → esm}/config.d.ts.map +0 -0
  715. /package/dist/{src → esm}/descriptor/NamedDescriptor.d.ts.map +0 -0
  716. /package/dist/{src → esm}/descriptor/assertDescriptorWalletAddress.d.ts.map +0 -0
  717. /package/dist/{src → esm}/descriptor/builder/builder.d.ts.map +0 -0
  718. /package/dist/{src → esm}/descriptor/builder/index.d.ts.map +0 -0
  719. /package/dist/{src → esm}/descriptor/builder/parse.d.ts.map +0 -0
  720. /package/dist/{src → esm}/descriptor/createWallet/createDescriptorWallet.d.ts.map +0 -0
  721. /package/dist/{src → esm}/descriptor/createWallet/createDescriptors.d.ts.map +0 -0
  722. /package/dist/{src → esm}/descriptor/createWallet/index.d.ts.map +0 -0
  723. /package/dist/{src → esm}/descriptor/descriptorWallet.d.ts.map +0 -0
  724. /package/dist/{src → esm}/descriptor/index.d.ts.map +0 -0
  725. /package/dist/{src → esm}/descriptor/validatePolicy.d.ts.map +0 -0
  726. /package/dist/{src → esm}/impl/bch/index.d.ts.map +0 -0
  727. /package/dist/{src → esm}/impl/bch/tbch.d.ts.map +0 -0
  728. /package/dist/{src → esm}/impl/bcha/index.d.ts.map +0 -0
  729. /package/dist/{src → esm}/impl/bcha/tbcha.d.ts.map +0 -0
  730. /package/dist/{src → esm}/impl/bsv/bsv.d.ts.map +0 -0
  731. /package/dist/{src → esm}/impl/bsv/index.d.ts.map +0 -0
  732. /package/dist/{src → esm}/impl/bsv/tbsv.d.ts.map +0 -0
  733. /package/dist/{src → esm}/impl/btc/btc.d.ts.map +0 -0
  734. /package/dist/{src → esm}/impl/btc/index.d.ts.map +0 -0
  735. /package/dist/{src → esm}/impl/btc/inscriptionBuilder.d.ts.map +0 -0
  736. /package/dist/{src → esm}/impl/btc/tbtc.d.ts.map +0 -0
  737. /package/dist/{src → esm}/impl/btc/tbtc4.d.ts.map +0 -0
  738. /package/dist/{src → esm}/impl/btc/tbtcbgsig.d.ts.map +0 -0
  739. /package/dist/{src → esm}/impl/btc/tbtcsig.d.ts.map +0 -0
  740. /package/dist/{src → esm}/impl/btg/btg.d.ts.map +0 -0
  741. /package/dist/{src → esm}/impl/btg/index.d.ts.map +0 -0
  742. /package/dist/{src → esm}/impl/dash/dash.d.ts.map +0 -0
  743. /package/dist/{src → esm}/impl/dash/index.d.ts.map +0 -0
  744. /package/dist/{src → esm}/impl/dash/tdash.d.ts.map +0 -0
  745. /package/dist/{src → esm}/impl/doge/index.d.ts.map +0 -0
  746. /package/dist/{src → esm}/impl/doge/tdoge.d.ts.map +0 -0
  747. /package/dist/{src → esm}/impl/index.d.ts.map +0 -0
  748. /package/dist/{src → esm}/impl/ltc/index.d.ts.map +0 -0
  749. /package/dist/{src → esm}/impl/ltc/ltc.d.ts.map +0 -0
  750. /package/dist/{src → esm}/impl/ltc/tltc.d.ts.map +0 -0
  751. /package/dist/{src → esm}/impl/zec/index.d.ts.map +0 -0
  752. /package/dist/{src → esm}/impl/zec/tzec.d.ts.map +0 -0
  753. /package/dist/{src → esm}/impl/zec/zec.d.ts.map +0 -0
  754. /package/dist/{src → esm}/index.d.ts.map +0 -0
  755. /package/dist/{src → esm}/keychains.d.ts.map +0 -0
  756. /package/dist/{src → esm}/names.d.ts.map +0 -0
  757. /package/dist/{src → esm}/offlineVault/OfflineVaultHalfSigned.d.ts.map +0 -0
  758. /package/dist/{src → esm}/offlineVault/OfflineVaultSignable.d.ts.map +0 -0
  759. /package/dist/{src → esm}/offlineVault/TransactionExplanation.d.ts.map +0 -0
  760. /package/dist/{src → esm}/offlineVault/descriptor/index.d.ts.map +0 -0
  761. /package/dist/{src → esm}/offlineVault/descriptor/transaction.d.ts.map +0 -0
  762. /package/dist/{src → esm}/offlineVault/index.d.ts.map +0 -0
  763. /package/dist/{src → esm}/recovery/RecoveryProvider.d.ts.map +0 -0
  764. /package/dist/{src → esm}/recovery/backupKeyRecovery.d.ts.map +0 -0
  765. /package/dist/{src → esm}/recovery/baseApi.d.ts.map +0 -0
  766. /package/dist/{src → esm}/recovery/coingeckoApi.d.ts.map +0 -0
  767. /package/dist/{src → esm}/recovery/crossChainRecovery.d.ts.map +0 -0
  768. /package/dist/{src → esm}/recovery/index.d.ts.map +0 -0
  769. /package/dist/{src → esm}/recovery/mempoolApi.d.ts.map +0 -0
  770. /package/dist/{src → esm}/sign.d.ts.map +0 -0
  771. /package/dist/{src → esm}/transaction/bip322.d.ts.map +0 -0
  772. /package/dist/{src → esm}/transaction/common/verifyPayGoAmount.d.ts.map +0 -0
  773. /package/dist/{src → esm}/transaction/descriptor/index.d.ts.map +0 -0
  774. /package/dist/{src → esm}/transaction/descriptor/recipient.d.ts.map +0 -0
  775. /package/dist/{src → esm}/transaction/descriptor/signPsbt.d.ts.map +0 -0
  776. /package/dist/{src → esm}/transaction/fetchInputs.d.ts.map +0 -0
  777. /package/dist/{src → esm}/transaction/fixedScript/signTransaction.d.ts.map +0 -0
  778. /package/dist/{src → esm}/transaction/getPayGoVerificationPubkey.d.ts.map +0 -0
  779. /package/dist/{src → esm}/transaction/outputDifference.d.ts.map +0 -0
  780. /package/dist/{src → esm}/transaction/signTransaction.d.ts.map +0 -0
  781. /package/dist/{src → esm}/transaction/verifyTransaction.d.ts.map +0 -0
  782. /package/dist/{src → esm}/wallet.d.ts.map +0 -0
@@ -0,0 +1,182 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ require("should");
37
+ const assert = __importStar(require("assert"));
38
+ const utxolib = __importStar(require("@bitgo/utxo-lib"));
39
+ const { chainCodes } = utxolib.bitgo;
40
+ const src_1 = require("../../src");
41
+ const util_1 = require("./util");
42
+ // TODO (@rushilbg): Delete these tests because they are redundant (similar tests are in utxo-lib)
43
+ function isCompatibleAddress(a, b) {
44
+ if (a === b) {
45
+ return true;
46
+ }
47
+ switch (a.getChain()) {
48
+ case 'btc':
49
+ case 'bsv':
50
+ case 'bch':
51
+ case 'bcha':
52
+ return ['btc', 'bsv', 'bch', 'bcha'].includes(b.getChain());
53
+ case 'tbtc':
54
+ case 'tbtcsig':
55
+ case 'tbtc4':
56
+ case 'tbtcbgsig':
57
+ case 'tbsv':
58
+ case 'tbch':
59
+ case 'tdoge':
60
+ case 'tbcha':
61
+ return ['tbtc', 'tbtcsig', 'tbtc4', 'tbtcbgsig', 'tbsv', 'tbch', 'tbcha', 'tdoge'].includes(b.getChain());
62
+ default:
63
+ return false;
64
+ }
65
+ }
66
+ function run(coin) {
67
+ const keychains = util_1.keychains.map((k) => ({ pub: k.neutered().toBase58() }));
68
+ function getParameters() {
69
+ return [undefined, ...chainCodes].map((chain) => ({ keychains, chain }));
70
+ }
71
+ describe(`UTXO Addresses ${coin.getChain()}`, function () {
72
+ it('address support', function () {
73
+ const supportedAddressTypes = utxolib.bitgo.outputScripts.scriptTypes2Of3.filter((t) => coin.supportsAddressType(t));
74
+ switch (coin.getChain()) {
75
+ case 'btc':
76
+ case 'tbtc':
77
+ case 'tbtcsig':
78
+ case 'tbtc4':
79
+ case 'tbtcbgsig':
80
+ supportedAddressTypes.should.eql(['p2sh', 'p2shP2wsh', 'p2wsh', 'p2tr', 'p2trMusig2']);
81
+ break;
82
+ case 'btg':
83
+ case 'tbtg':
84
+ case 'ltc':
85
+ case 'tltc':
86
+ supportedAddressTypes.should.eql(['p2sh', 'p2shP2wsh', 'p2wsh']);
87
+ break;
88
+ case 'bch':
89
+ case 'tbch':
90
+ case 'bcha':
91
+ case 'tbcha':
92
+ case 'bsv':
93
+ case 'tbsv':
94
+ case 'dash':
95
+ case 'tdash':
96
+ case 'doge':
97
+ case 'tdoge':
98
+ case 'zec':
99
+ case 'tzec':
100
+ supportedAddressTypes.should.eql(['p2sh']);
101
+ break;
102
+ default:
103
+ throw new Error(`unexpected coin ${coin.getChain()}`);
104
+ }
105
+ });
106
+ it('generates address matching the fixtures', async function () {
107
+ const addresses = getParameters().map((p) => {
108
+ const label = { chain: p.chain === undefined ? 'default' : p.chain };
109
+ try {
110
+ return [label, (0, src_1.generateAddress)(coin.network, p)];
111
+ }
112
+ catch (e) {
113
+ return [label, { error: e.message }];
114
+ }
115
+ });
116
+ (0, util_1.shouldEqualJSON)(addresses, await (0, util_1.getFixture)(coin, 'addresses-by-chain', addresses));
117
+ });
118
+ it('validates and verifies generated addresses', function () {
119
+ getParameters().forEach((p) => {
120
+ if (p.chain && !coin.supportsAddressChain(p.chain)) {
121
+ assert.throws(() => (0, src_1.generateAddress)(coin.network, p));
122
+ return;
123
+ }
124
+ const address = (0, src_1.generateAddress)(coin.network, p);
125
+ coin.isValidAddress(address).should.eql(true);
126
+ if (address !== address.toUpperCase()) {
127
+ coin.isValidAddress(address.toUpperCase()).should.eql(false);
128
+ }
129
+ coin.verifyAddress({ address, keychains });
130
+ });
131
+ });
132
+ it('defaults to canonical address', function () {
133
+ getParameters().forEach((p) => {
134
+ if (!p.chain || coin.supportsAddressChain(p.chain)) {
135
+ const address = (0, src_1.generateAddress)(coin.network, p);
136
+ coin.canonicalAddress(address).should.eql(address);
137
+ }
138
+ });
139
+ });
140
+ it('respects format parameter', function () {
141
+ // Only test coins that actually support multiple address formats (BCH/BCHA)
142
+ // These are the only coins where the format parameter matters
143
+ const cashaddrPrefixes = {
144
+ bch: 'bitcoincash:',
145
+ tbch: 'bchtest:',
146
+ bcha: 'ecash:',
147
+ tbcha: 'ectest:',
148
+ };
149
+ const expectedPrefix = cashaddrPrefixes[coin.getChain()];
150
+ if (!expectedPrefix) {
151
+ this.skip();
152
+ }
153
+ const chain = chainCodes[0];
154
+ const params = { keychains, chain };
155
+ // Generate with cashaddr format
156
+ const addressCashaddr = (0, src_1.generateAddress)(coin.network, { ...params, format: 'cashaddr' });
157
+ coin.isValidAddress(addressCashaddr).should.eql(true);
158
+ addressCashaddr.should.startWith(expectedPrefix, `cashaddr should start with ${expectedPrefix}`);
159
+ // Generate with base58 format explicitly
160
+ const addressBase58 = (0, src_1.generateAddress)(coin.network, { ...params, format: 'base58' });
161
+ coin.isValidAddress(addressBase58).should.eql(true);
162
+ addressBase58.should.not.match(/.*:.*/, 'base58 should not contain colon separator');
163
+ // Verify formats produce different strings
164
+ addressCashaddr.should.not.equal(addressBase58, 'cashaddr and base58 should produce different address strings');
165
+ });
166
+ util_1.utxoCoins.forEach((otherCoin) => {
167
+ it(`has expected address compatability with ${otherCoin.getChain()}`, async function () {
168
+ getParameters().forEach((p) => {
169
+ if (p.chain && (!coin.supportsAddressChain(p.chain) || !otherCoin.supportsAddressChain(p.chain))) {
170
+ return;
171
+ }
172
+ const address = (0, src_1.generateAddress)(coin.network, p);
173
+ const otherAddress = (0, src_1.generateAddress)(otherCoin.network, p);
174
+ (address === otherAddress).should.eql(isCompatibleAddress(coin, otherCoin));
175
+ coin.isValidAddress(otherAddress).should.eql(isCompatibleAddress(coin, otherCoin));
176
+ });
177
+ });
178
+ });
179
+ });
180
+ }
181
+ util_1.utxoCoins.forEach((c) => run(c));
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9hZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0JBQWdCO0FBQ2hCLCtDQUFpQztBQUVqQyx5REFBMkM7QUFDM0MsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFFckMsbUNBQWlHO0FBRWpHLGlDQUE2RjtBQUU3RixrR0FBa0c7QUFDbEcsU0FBUyxtQkFBbUIsQ0FBQyxDQUFtQixFQUFFLENBQW1CO0lBQ25FLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUNyQixLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE1BQU07WUFDVCxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzlELEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssT0FBTztZQUNWLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFD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ZSxFQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2pELE1BQU0sWUFBWSxHQUFHLElBQUEscUJBQWUsRUFBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMzRCxDQUFDLE9BQU8sS0FBSyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUM1RSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JGLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELGdCQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc2hvdWxkJztcbmltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5jb25zdCB7IGNoYWluQ29kZXMgfSA9IHV0eG9saWIuYml0Z287XG5cbmltcG9ydCB7IEFic3RyYWN0VXR4b0NvaW4sIEdlbmVyYXRlRml4ZWRTY3JpcHRBZGRyZXNzT3B0aW9ucywgZ2VuZXJhdGVBZGRyZXNzIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuaW1wb3J0IHsgdXR4b0NvaW5zLCBrZXljaGFpbnMgYXMga2V5Y2hhaW5zQmlwMzIsIGdldEZpeHR1cmUsIHNob3VsZEVxdWFsSlNPTiB9IGZyb20gJy4vdXRpbCc7XG5cbi8vIFRPRE8gKEBydXNoaWxiZyk6IERlbGV0ZSB0aGVzZSB0ZXN0cyBiZWNhdXNlIHRoZXkgYXJlIHJlZHVuZGFudCAoc2ltaWxhciB0ZXN0cyBhcmUgaW4gdXR4by1saWIpXG5mdW5jdGlvbiBpc0NvbXBhdGlibGVBZGRyZXNzKGE6IEFic3RyYWN0VXR4b0NvaW4sIGI6IEFic3RyYWN0VXR4b0NvaW4pOiBib29sZWFuIHtcbiAgaWYgKGEgPT09IGIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBzd2l0Y2ggKGEuZ2V0Q2hhaW4oKSkge1xuICAgIGNhc2UgJ2J0Yyc6XG4gICAgY2FzZSAnYnN2JzpcbiAgICBjYXNlICdiY2gnOlxuICAgIGNhc2UgJ2JjaGEnOlxuICAgICAgcmV0dXJuIFsnYnRjJywgJ2JzdicsICdiY2gnLCAnYmNoYSddLmluY2x1ZGVzKGIuZ2V0Q2hhaW4oKSk7XG4gICAgY2FzZSAndGJ0Yyc6XG4gICAgY2FzZSAndGJ0Y3NpZyc6XG4gICAgY2FzZSAndGJ0YzQnOlxuICAgIGNhc2UgJ3RidGNiZ3NpZyc6XG4gICAgY2FzZSAndGJzdic6XG4gICAgY2FzZSAndGJjaCc6XG4gICAgY2FzZSAndGRvZ2UnOlxuICAgIGNhc2UgJ3RiY2hhJzpcbiAgICAgIHJldHVybiBbJ3RidGMnLCAndGJ0Y3NpZycsICd0YnRjNCcsICd0YnRjYmdzaWcnLCAndGJzdicsICd0YmNoJywgJ3RiY2hhJywgJ3Rkb2dlJ10uaW5jbHVkZXMoYi5nZXRDaGFpbigpKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJ1bihjb2luOiBBYnN0cmFjdFV0eG9Db2luKSB7XG4gIGNvbnN0IGtleWNoYWlucyA9IGtleWNoYWluc0JpcDMyLm1hcCgoaykgPT4gKHsgcHViOiBrLm5ldXRlcmVkKCkudG9CYXNlNTgoKSB9KSk7XG5cbiAgZnVuY3Rpb24gZ2V0UGFyYW1ldGVycygpOiBHZW5lcmF0ZUZpeGVkU2NyaXB0QWRkcmVzc09wdGlvbnNbXSB7XG4gICAgcmV0dXJuIFt1bmRlZmluZWQsIC4uLmNoYWluQ29kZXNdLm1hcCgoY2hhaW4pID0+ICh7IGtleWNoYWlucywgY2hhaW4gfSkpO1xuICB9XG5cbiAgZGVzY3JpYmUoYFVUWE8gQWRkcmVzc2VzICR7Y29pbi5nZXRDaGFpbigpfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnYWRkcmVzcyBzdXBwb3J0JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgc3VwcG9ydGVkQWRkcmVzc1R5cGVzID0gdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLnNjcmlwdFR5cGVzMk9mMy5maWx0ZXIoKHQpID0+XG4gICAgICAgIGNvaW4uc3VwcG9ydHNBZGRyZXNzVHlwZSh0KVxuICAgICAgKTtcbiAgICAgIHN3aXRjaCAoY29pbi5nZXRDaGFpbigpKSB7XG4gICAgICAgIGNhc2UgJ2J0Yyc6XG4gICAgICAgIGNhc2UgJ3RidGMnOlxuICAgICAgICBjYXNlICd0YnRjc2lnJzpcbiAgICAgICAgY2FzZSAndGJ0YzQnOlxuICAgICAgICBjYXNlICd0YnRjYmdzaWcnOlxuICAgICAgICAgIHN1cHBvcnRlZEFkZHJlc3NUeXBlcy5zaG91bGQuZXFsKFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJ3c2gnLCAncDJ0cicsICdwMnRyTXVzaWcyJ10pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdidGcnOlxuICAgICAgICBjYXNlICd0YnRnJzpcbiAgICAgICAgY2FzZSAnbHRjJzpcbiAgICAgICAgY2FzZSAndGx0Yyc6XG4gICAgICAgICAgc3VwcG9ydGVkQWRkcmVzc1R5cGVzLnNob3VsZC5lcWwoWydwMnNoJywgJ3Ayc2hQMndzaCcsICdwMndzaCddKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYmNoJzpcbiAgICAgICAgY2FzZSAndGJjaCc6XG4gICAgICAgIGNhc2UgJ2JjaGEnOlxuICAgICAgICBjYXNlICd0YmNoYSc6XG4gICAgICAgIGNhc2UgJ2Jzdic6XG4gICAgICAgIGNhc2UgJ3Ric3YnOlxuICAgICAgICBjYXNlICdkYXNoJzpcbiAgICAgICAgY2FzZSAndGRhc2gnOlxuICAgICAgICBjYXNlICdkb2dlJzpcbiAgICAgICAgY2FzZSAndGRvZ2UnOlxuICAgICAgICBjYXNlICd6ZWMnOlxuICAgICAgICBjYXNlICd0emVjJzpcbiAgICAgICAgICBzdXBwb3J0ZWRBZGRyZXNzVHlwZXMuc2hvdWxkLmVxbChbJ3Ayc2gnXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmV4cGVjdGVkIGNvaW4gJHtjb2luLmdldENoYWluKCl9YCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnZ2VuZXJhdGVzIGFkZHJlc3MgbWF0Y2hpbmcgdGhlIGZpeHR1cmVzJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYWRkcmVzc2VzID0gZ2V0UGFyYW1ldGVycygpLm1hcCgocCkgPT4ge1xuICAgICAgICBjb25zdCBsYWJlbCA9IHsgY2hhaW46IHAuY2hhaW4gPT09IHVuZGVmaW5lZCA/ICdkZWZhdWx0JyA6IHAuY2hhaW4gfTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gW2xhYmVsLCBnZW5lcmF0ZUFkZHJlc3MoY29pbi5uZXR3b3JrLCBwKV07XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXR1cm4gW2xhYmVsLCB7IGVycm9yOiBlLm1lc3NhZ2UgfV07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBzaG91bGRFcXVhbEpTT04oYWRkcmVzc2VzLCBhd2FpdCBnZXRGaXh0dXJlKGNvaW4sICdhZGRyZXNzZXMtYnktY2hhaW4nLCBhZGRyZXNzZXMpKTtcbiAgICB9KTtcblxuICAgIGl0KCd2YWxpZGF0ZXMgYW5kIHZlcmlmaWVzIGdlbmVyYXRlZCBhZGRyZXNzZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBnZXRQYXJhbWV0ZXJzKCkuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgICBpZiAocC5jaGFpbiAmJiAhY29pbi5zdXBwb3J0c0FkZHJlc3NDaGFpbihwLmNoYWluKSkge1xuICAgICAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gZ2VuZXJhdGVBZGRyZXNzKGNvaW4ubmV0d29yaywgcCkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkZHJlc3MgPSBnZW5lcmF0ZUFkZHJlc3MoY29pbi5uZXR3b3JrLCBwKTtcbiAgICAgICAgY29pbi5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzKS5zaG91bGQuZXFsKHRydWUpO1xuICAgICAgICBpZiAoYWRkcmVzcyAhPT0gYWRkcmVzcy50b1VwcGVyQ2FzZSgpKSB7XG4gICAgICAgICAgY29pbi5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLnRvVXBwZXJDYXNlKCkpLnNob3VsZC5lcWwoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIGNvaW4udmVyaWZ5QWRkcmVzcyh7IGFkZHJlc3MsIGtleWNoYWlucyB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RlZmF1bHRzIHRvIGNhbm9uaWNhbCBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgZ2V0UGFyYW1ldGVycygpLmZvckVhY2goKHApID0+IHtcbiAgICAgICAgaWYgKCFwLmNoYWluIHx8IGNvaW4uc3VwcG9ydHNBZGRyZXNzQ2hhaW4ocC5jaGFpbikpIHtcbiAgICAgICAgICBjb25zdCBhZGRyZXNzID0gZ2VuZXJhdGVBZGRyZXNzKGNvaW4ubmV0d29yaywgcCk7XG4gICAgICAgICAgY29pbi5jYW5vbmljYWxBZGRyZXNzKGFkZHJlc3MpLnNob3VsZC5lcWwoYWRkcmVzcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Jlc3BlY3RzIGZvcm1hdCBwYXJhbWV0ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBPbmx5IHRlc3QgY29pbnMgdGhhdCBhY3R1YWxseSBzdXBwb3J0IG11bHRpcGxlIGFkZHJlc3MgZm9ybWF0cyAoQkNIL0JDSEEpXG4gICAgICAvLyBUaGVzZSBhcmUgdGhlIG9ubHkgY29pbnMgd2hlcmUgdGhlIGZvcm1hdCBwYXJhbWV0ZXIgbWF0dGVyc1xuICAgICAgY29uc3QgY2FzaGFkZHJQcmVmaXhlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgYmNoOiAnYml0Y29pbmNhc2g6JyxcbiAgICAgICAgdGJjaDogJ2JjaHRlc3Q6JyxcbiAgICAgICAgYmNoYTogJ2VjYXNoOicsXG4gICAgICAgIHRiY2hhOiAnZWN0ZXN0OicsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBleHBlY3RlZFByZWZpeCA9IGNhc2hhZGRyUHJlZml4ZXNbY29pbi5nZXRDaGFpbigpXTtcbiAgICAgIGlmICghZXhwZWN0ZWRQcmVmaXgpIHtcbiAgICAgICAgdGhpcy5za2lwKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNoYWluID0gY2hhaW5Db2Rlc1swXTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHsga2V5Y2hhaW5zLCBjaGFpbiB9O1xuXG4gICAgICAvLyBHZW5lcmF0ZSB3aXRoIGNhc2hhZGRyIGZvcm1hdFxuICAgICAgY29uc3QgYWRkcmVzc0Nhc2hhZGRyID0gZ2VuZXJhdGVBZGRyZXNzKGNvaW4ubmV0d29yaywgeyAuLi5wYXJhbXMsIGZvcm1hdDogJ2Nhc2hhZGRyJyB9KTtcbiAgICAgIGNvaW4uaXNWYWxpZEFkZHJlc3MoYWRkcmVzc0Nhc2hhZGRyKS5zaG91bGQuZXFsKHRydWUpO1xuICAgICAgYWRkcmVzc0Nhc2hhZGRyLnNob3VsZC5zdGFydFdpdGgoZXhwZWN0ZWRQcmVmaXgsIGBjYXNoYWRkciBzaG91bGQgc3RhcnQgd2l0aCAke2V4cGVjdGVkUHJlZml4fWApO1xuXG4gICAgICAvLyBHZW5lcmF0ZSB3aXRoIGJhc2U1OCBmb3JtYXQgZXhwbGljaXRseVxuICAgICAgY29uc3QgYWRkcmVzc0Jhc2U1OCA9IGdlbmVyYXRlQWRkcmVzcyhjb2luLm5ldHdvcmssIHsgLi4ucGFyYW1zLCBmb3JtYXQ6ICdiYXNlNTgnIH0pO1xuICAgICAgY29pbi5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzQmFzZTU4KS5zaG91bGQuZXFsKHRydWUpO1xuICAgICAgYWRkcmVzc0Jhc2U1OC5zaG91bGQubm90Lm1hdGNoKC8uKjouKi8sICdiYXNlNTggc2hvdWxkIG5vdCBjb250YWluIGNvbG9uIHNlcGFyYXRvcicpO1xuXG4gICAgICAvLyBWZXJpZnkgZm9ybWF0cyBwcm9kdWNlIGRpZmZlcmVudCBzdHJpbmdzXG4gICAgICBhZGRyZXNzQ2FzaGFkZHIuc2hvdWxkLm5vdC5lcXVhbChhZGRyZXNzQmFzZTU4LCAnY2FzaGFkZHIgYW5kIGJhc2U1OCBzaG91bGQgcHJvZHVjZSBkaWZmZXJlbnQgYWRkcmVzcyBzdHJpbmdzJyk7XG4gICAgfSk7XG5cbiAgICB1dHhvQ29pbnMuZm9yRWFjaCgob3RoZXJDb2luKSA9PiB7XG4gICAgICBpdChgaGFzIGV4cGVjdGVkIGFkZHJlc3MgY29tcGF0YWJpbGl0eSB3aXRoICR7b3RoZXJDb2luLmdldENoYWluKCl9YCwgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgICBnZXRQYXJhbWV0ZXJzKCkuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgICAgIGlmIChwLmNoYWluICYmICghY29pbi5zdXBwb3J0c0FkZHJlc3NDaGFpbihwLmNoYWluKSB8fCAhb3RoZXJDb2luLnN1cHBvcnRzQWRkcmVzc0NoYWluKHAuY2hhaW4pKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhZGRyZXNzID0gZ2VuZXJhdGVBZGRyZXNzKGNvaW4ubmV0d29yaywgcCk7XG4gICAgICAgICAgY29uc3Qgb3RoZXJBZGRyZXNzID0gZ2VuZXJhdGVBZGRyZXNzKG90aGVyQ29pbi5uZXR3b3JrLCBwKTtcbiAgICAgICAgICAoYWRkcmVzcyA9PT0gb3RoZXJBZGRyZXNzKS5zaG91bGQuZXFsKGlzQ29tcGF0aWJsZUFkZHJlc3MoY29pbiwgb3RoZXJDb2luKSk7XG4gICAgICAgICAgY29pbi5pc1ZhbGlkQWRkcmVzcyhvdGhlckFkZHJlc3MpLnNob3VsZC5lcWwoaXNDb21wYXRpYmxlQWRkcmVzcyhjb2luLCBvdGhlckNvaW4pKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbnV0eG9Db2lucy5mb3JFYWNoKChjKSA9PiBydW4oYykpO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bip322.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bip322.d.ts","sourceRoot":"","sources":["../../../../test/unit/bip322.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const bip322_1 = require("../../src/transaction/bip322");
8
+ describe('BIP322', function () {
9
+ describe('BIP322MessageBroadcastable', () => {
10
+ it('should serialize and deserialize correctly', () => {
11
+ const message = {
12
+ txHex: '010203',
13
+ messageInfo: [
14
+ {
15
+ address: 'someAddress',
16
+ message: 'someMessage',
17
+ pubkeys: ['pubkey1', 'pubkey2'],
18
+ scriptType: 'p2sh',
19
+ },
20
+ ],
21
+ };
22
+ const serialized = (0, bip322_1.serializeBIP322BroadcastableMessage)(message);
23
+ const deserialized = (0, bip322_1.deserializeBIP322BroadcastableMessage)(serialized);
24
+ assert_1.default.deepStrictEqual(deserialized, message);
25
+ });
26
+ it('should fail if there is an unsupported script type', function () {
27
+ const message = {
28
+ txHex: '010203',
29
+ messageInfo: [
30
+ {
31
+ address: 'someAddress',
32
+ message: 'someMessage',
33
+ pubkeys: ['pubkey1', 'pubkey2'],
34
+ scriptType: 'unsupported',
35
+ },
36
+ ],
37
+ };
38
+ const serialized = (0, bip322_1.serializeBIP322BroadcastableMessage)(message);
39
+ assert_1.default.throws(() => {
40
+ (0, bip322_1.deserializeBIP322BroadcastableMessage)(serialized);
41
+ });
42
+ });
43
+ });
44
+ });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2JpcDMyMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUU1Qix5REFJc0M7QUFFdEMsUUFBUSxDQUFDLFFBQVEsRUFBRTtJQUNqQixRQUFRLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO1FBQzFDLEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxHQUFHLEVBQUU7WUFDcEQsTUFBTSxPQUFPLEdBQStCO2dCQUMxQyxLQUFLLEVBQUUsUUFBUTtnQkFDZixXQUFXLEVBQUU7b0JBQ1g7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3dCQUMvQixVQUFVLEVBQUUsTUFBTTtxQkFDbkI7aUJBQ0Y7YUFDRixDQUFDO1lBRUYsTUFBTSxVQUFVLEdBQUcsSUFBQSw0Q0FBbUMsRUFBQyxPQUFPLENBQUMsQ0FBQztZQUNoRSxNQUFNLFlBQVksR0FBRyxJQUFBLDhDQUFxQyxFQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZFLGdCQUFNLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRTtZQUN2RCxNQUFNLE9BQU8sR0FBRztnQkFDZCxLQUFLLEVBQUUsUUFBUTtnQkFDZixXQUFXLEVBQUU7b0JBQ1g7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3dCQUMvQixVQUFVLEVBQUUsYUFBYTtxQkFDMUI7aUJBQ0Y7YUFDdUMsQ0FBQztZQUUzQyxNQUFNLFVBQVUsR0FBRyxJQUFBLDRDQUFtQyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQkFDakIsSUFBQSw4Q0FBcUMsRUFBQyxVQUFVLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHtcbiAgQklQMzIyTWVzc2FnZUJyb2FkY2FzdGFibGUsXG4gIGRlc2VyaWFsaXplQklQMzIyQnJvYWRjYXN0YWJsZU1lc3NhZ2UsXG4gIHNlcmlhbGl6ZUJJUDMyMkJyb2FkY2FzdGFibGVNZXNzYWdlLFxufSBmcm9tICcuLi8uLi9zcmMvdHJhbnNhY3Rpb24vYmlwMzIyJztcblxuZGVzY3JpYmUoJ0JJUDMyMicsIGZ1bmN0aW9uICgpIHtcbiAgZGVzY3JpYmUoJ0JJUDMyMk1lc3NhZ2VCcm9hZGNhc3RhYmxlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgc2VyaWFsaXplIGFuZCBkZXNlcmlhbGl6ZSBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlOiBCSVAzMjJNZXNzYWdlQnJvYWRjYXN0YWJsZSA9IHtcbiAgICAgICAgdHhIZXg6ICcwMTAyMDMnLFxuICAgICAgICBtZXNzYWdlSW5mbzogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6ICdzb21lQWRkcmVzcycsXG4gICAgICAgICAgICBtZXNzYWdlOiAnc29tZU1lc3NhZ2UnLFxuICAgICAgICAgICAgcHVia2V5czogWydwdWJrZXkxJywgJ3B1YmtleTInXSxcbiAgICAgICAgICAgIHNjcmlwdFR5cGU6ICdwMnNoJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfTtcblxuICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZUJJUDMyMkJyb2FkY2FzdGFibGVNZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgY29uc3QgZGVzZXJpYWxpemVkID0gZGVzZXJpYWxpemVCSVAzMjJCcm9hZGNhc3RhYmxlTWVzc2FnZShzZXJpYWxpemVkKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoZGVzZXJpYWxpemVkLCBtZXNzYWdlKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiB0aGVyZSBpcyBhbiB1bnN1cHBvcnRlZCBzY3JpcHQgdHlwZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIHR4SGV4OiAnMDEwMjAzJyxcbiAgICAgICAgbWVzc2FnZUluZm86IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiAnc29tZUFkZHJlc3MnLFxuICAgICAgICAgICAgbWVzc2FnZTogJ3NvbWVNZXNzYWdlJyxcbiAgICAgICAgICAgIHB1YmtleXM6IFsncHVia2V5MScsICdwdWJrZXkyJ10sXG4gICAgICAgICAgICBzY3JpcHRUeXBlOiAndW5zdXBwb3J0ZWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9IGFzIHVua25vd24gYXMgQklQMzIyTWVzc2FnZUJyb2FkY2FzdGFibGU7XG5cbiAgICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzZXJpYWxpemVCSVAzMjJCcm9hZGNhc3RhYmxlTWVzc2FnZShtZXNzYWdlKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgICBkZXNlcmlhbGl6ZUJJUDMyMkJyb2FkY2FzdGFibGVNZXNzYWdlKHNlcmlhbGl6ZWQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=coins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coins.d.ts","sourceRoot":"","sources":["../../../../test/unit/coins.ts"],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const assert = __importStar(require("assert"));
37
+ const utxolib = __importStar(require("@bitgo/utxo-lib"));
38
+ const util_1 = require("./util");
39
+ describe('utxoCoins', function () {
40
+ it('has expected chain/network values for items', function () {
41
+ assert.deepStrictEqual(util_1.utxoCoins.map((c) => [c.getChain(), c.getFamily(), c.getFullName(), utxolib.getNetworkName(c.network)]), [
42
+ ['btc', 'btc', 'Bitcoin', 'bitcoin'],
43
+ ['tbtc', 'btc', 'Testnet Bitcoin', 'testnet'],
44
+ ['tbtcsig', 'btc', 'Public Signet Bitcoin', 'bitcoinPublicSignet'],
45
+ ['tbtc4', 'btc', 'Testnet4 Bitcoin', 'bitcoinTestnet4'],
46
+ ['tbtcbgsig', 'btc', 'BitGo Signet Bitcoin', 'bitcoinBitGoSignet'],
47
+ ['bch', 'bch', 'Bitcoin Cash', 'bitcoincash'],
48
+ ['tbch', 'bch', 'Testnet Bitcoin Cash', 'bitcoincashTestnet'],
49
+ ['btg', 'btg', 'Bitcoin Gold', 'bitcoingold'],
50
+ ['bsv', 'bsv', 'Bitcoin SV', 'bitcoinsv'],
51
+ ['tbsv', 'bsv', 'Testnet Bitcoin SV', 'bitcoinsvTestnet'],
52
+ ['dash', 'dash', 'Dash', 'dash'],
53
+ ['tdash', 'dash', 'Testnet Dash', 'dashTest'],
54
+ ['doge', 'doge', 'Dogecoin', 'dogecoin'],
55
+ ['tdoge', 'doge', 'Testnet Dogecoin', 'dogecoinTest'],
56
+ ['bcha', 'bcha', 'Bitcoin ABC', 'ecash'],
57
+ ['tbcha', 'bcha', 'Testnet Bitcoin ABC', 'ecashTest'],
58
+ ['ltc', 'ltc', 'Litecoin', 'litecoin'],
59
+ ['tltc', 'ltc', 'Testnet Litecoin', 'litecoinTest'],
60
+ ['zec', 'zec', 'ZCash', 'zcash'],
61
+ ['tzec', 'zec', 'Testnet ZCash', 'zcashTest'],
62
+ ]);
63
+ assert.deepStrictEqual(utxolib.getNetworkList().map((network) => {
64
+ let coin;
65
+ try {
66
+ coin = (0, util_1.getUtxoCoinForNetwork)(network);
67
+ }
68
+ catch (e) {
69
+ // ignore
70
+ }
71
+ return [utxolib.getNetworkName(network), coin?.getChain()];
72
+ }), [
73
+ ['bitcoin', 'btc'],
74
+ ['testnet', 'tbtc'],
75
+ ['bitcoinPublicSignet', 'tbtcsig'],
76
+ ['bitcoinTestnet4', 'tbtc4'],
77
+ ['bitcoinBitGoSignet', 'tbtcbgsig'],
78
+ ['bitcoincash', 'bch'],
79
+ ['bitcoincashTestnet', 'tbch'],
80
+ ['bitcoingold', 'btg'],
81
+ ['bitcoingoldTestnet', undefined],
82
+ ['bitcoinsv', 'bsv'],
83
+ ['bitcoinsvTestnet', 'tbsv'],
84
+ ['dash', 'dash'],
85
+ ['dashTest', 'tdash'],
86
+ ['dogecoin', 'doge'],
87
+ ['dogecoinTest', 'tdoge'],
88
+ ['ecash', 'bcha'],
89
+ ['ecashTest', 'tbcha'],
90
+ ['litecoin', 'ltc'],
91
+ ['litecoinTest', 'tltc'],
92
+ ['zcash', 'zec'],
93
+ ['zcashTest', 'tzec'],
94
+ ]);
95
+ });
96
+ });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvY29pbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMseURBQTJDO0FBRTNDLGlDQUEwRDtBQUUxRCxRQUFRLENBQUMsV0FBVyxFQUFFO0lBQ3BCLEVBQUUsQ0FBQyw2Q0FBNkMsRUFBRTtRQUNoRCxNQUFNLENBQUMsZUFBZSxDQUNwQixnQkFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ3ZHO1lBQ0UsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7WUFDcEMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsQ0FBQztZQUM3QyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUM7WUFDbEUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDO1lBQ3ZELENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQztZQUNsRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQztZQUM3QyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUM7WUFDN0QsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7WUFDN0MsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUM7WUFDekMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDO1lBQ3pELENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ2hDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO1lBQzdDLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO1lBQ3hDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUM7WUFDckQsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7WUFDeEMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLFdBQVcsQ0FBQztZQUNyRCxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztZQUN0QyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxDQUFDO1lBQ25ELENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQ2hDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDO1NBQzlDLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQTRDLEVBQUU7WUFDakYsSUFBSSxJQUFJLENBQUM7WUFDVCxJQUFJLENBQUM7Z0JBQ0gsSUFBSSxHQUFHLElBQUEsNEJBQXFCLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1gsU0FBUztZQUNYLENBQUM7WUFFRCxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsRUFDRjtZQUNFLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztZQUNsQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7WUFDbkIsQ0FBQyxxQkFBcUIsRUFBRSxTQUFTLENBQUM7WUFDbEMsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUM7WUFDNUIsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLENBQUM7WUFDbkMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO1lBQ3RCLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO1lBQzlCLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQztZQUN0QixDQUFDLG9CQUFvQixFQUFFLFNBQVMsQ0FBQztZQUNqQyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7WUFDcEIsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7WUFDNUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ2hCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQztZQUNyQixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUM7WUFDcEIsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDO1lBQ3pCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztZQUNqQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUM7WUFDdEIsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDO1lBQ25CLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQztZQUN4QixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDaEIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO1NBQ3RCLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5pbXBvcnQgeyBnZXRVdHhvQ29pbkZvck5ldHdvcmssIHV0eG9Db2lucyB9IGZyb20gJy4vdXRpbCc7XG5cbmRlc2NyaWJlKCd1dHhvQ29pbnMnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdoYXMgZXhwZWN0ZWQgY2hhaW4vbmV0d29yayB2YWx1ZXMgZm9yIGl0ZW1zJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoXG4gICAgICB1dHhvQ29pbnMubWFwKChjKSA9PiBbYy5nZXRDaGFpbigpLCBjLmdldEZhbWlseSgpLCBjLmdldEZ1bGxOYW1lKCksIHV0eG9saWIuZ2V0TmV0d29ya05hbWUoYy5uZXR3b3JrKV0pLFxuICAgICAgW1xuICAgICAgICBbJ2J0YycsICdidGMnLCAnQml0Y29pbicsICdiaXRjb2luJ10sXG4gICAgICAgIFsndGJ0YycsICdidGMnLCAnVGVzdG5ldCBCaXRjb2luJywgJ3Rlc3RuZXQnXSxcbiAgICAgICAgWyd0YnRjc2lnJywgJ2J0YycsICdQdWJsaWMgU2lnbmV0IEJpdGNvaW4nLCAnYml0Y29pblB1YmxpY1NpZ25ldCddLFxuICAgICAgICBbJ3RidGM0JywgJ2J0YycsICdUZXN0bmV0NCBCaXRjb2luJywgJ2JpdGNvaW5UZXN0bmV0NCddLFxuICAgICAgICBbJ3RidGNiZ3NpZycsICdidGMnLCAnQml0R28gU2lnbmV0IEJpdGNvaW4nLCAnYml0Y29pbkJpdEdvU2lnbmV0J10sXG4gICAgICAgIFsnYmNoJywgJ2JjaCcsICdCaXRjb2luIENhc2gnLCAnYml0Y29pbmNhc2gnXSxcbiAgICAgICAgWyd0YmNoJywgJ2JjaCcsICdUZXN0bmV0IEJpdGNvaW4gQ2FzaCcsICdiaXRjb2luY2FzaFRlc3RuZXQnXSxcbiAgICAgICAgWydidGcnLCAnYnRnJywgJ0JpdGNvaW4gR29sZCcsICdiaXRjb2luZ29sZCddLFxuICAgICAgICBbJ2JzdicsICdic3YnLCAnQml0Y29pbiBTVicsICdiaXRjb2luc3YnXSxcbiAgICAgICAgWyd0YnN2JywgJ2JzdicsICdUZXN0bmV0IEJpdGNvaW4gU1YnLCAnYml0Y29pbnN2VGVzdG5ldCddLFxuICAgICAgICBbJ2Rhc2gnLCAnZGFzaCcsICdEYXNoJywgJ2Rhc2gnXSxcbiAgICAgICAgWyd0ZGFzaCcsICdkYXNoJywgJ1Rlc3RuZXQgRGFzaCcsICdkYXNoVGVzdCddLFxuICAgICAgICBbJ2RvZ2UnLCAnZG9nZScsICdEb2dlY29pbicsICdkb2dlY29pbiddLFxuICAgICAgICBbJ3Rkb2dlJywgJ2RvZ2UnLCAnVGVzdG5ldCBEb2dlY29pbicsICdkb2dlY29pblRlc3QnXSxcbiAgICAgICAgWydiY2hhJywgJ2JjaGEnLCAnQml0Y29pbiBBQkMnLCAnZWNhc2gnXSxcbiAgICAgICAgWyd0YmNoYScsICdiY2hhJywgJ1Rlc3RuZXQgQml0Y29pbiBBQkMnLCAnZWNhc2hUZXN0J10sXG4gICAgICAgIFsnbHRjJywgJ2x0YycsICdMaXRlY29pbicsICdsaXRlY29pbiddLFxuICAgICAgICBbJ3RsdGMnLCAnbHRjJywgJ1Rlc3RuZXQgTGl0ZWNvaW4nLCAnbGl0ZWNvaW5UZXN0J10sXG4gICAgICAgIFsnemVjJywgJ3plYycsICdaQ2FzaCcsICd6Y2FzaCddLFxuICAgICAgICBbJ3R6ZWMnLCAnemVjJywgJ1Rlc3RuZXQgWkNhc2gnLCAnemNhc2hUZXN0J10sXG4gICAgICBdXG4gICAgKTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoXG4gICAgICB1dHhvbGliLmdldE5ldHdvcmtMaXN0KCkubWFwKChuZXR3b3JrKTogW3N0cmluZyB8IHVuZGVmaW5lZCwgc3RyaW5nIHwgdW5kZWZpbmVkXSA9PiB7XG4gICAgICAgIGxldCBjb2luO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvaW4gPSBnZXRVdHhvQ29pbkZvck5ldHdvcmsobmV0d29yayk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBpZ25vcmVcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbdXR4b2xpYi5nZXROZXR3b3JrTmFtZShuZXR3b3JrKSwgY29pbj8uZ2V0Q2hhaW4oKV07XG4gICAgICB9KSxcbiAgICAgIFtcbiAgICAgICAgWydiaXRjb2luJywgJ2J0YyddLFxuICAgICAgICBbJ3Rlc3RuZXQnLCAndGJ0YyddLFxuICAgICAgICBbJ2JpdGNvaW5QdWJsaWNTaWduZXQnLCAndGJ0Y3NpZyddLFxuICAgICAgICBbJ2JpdGNvaW5UZXN0bmV0NCcsICd0YnRjNCddLFxuICAgICAgICBbJ2JpdGNvaW5CaXRHb1NpZ25ldCcsICd0YnRjYmdzaWcnXSxcbiAgICAgICAgWydiaXRjb2luY2FzaCcsICdiY2gnXSxcbiAgICAgICAgWydiaXRjb2luY2FzaFRlc3RuZXQnLCAndGJjaCddLFxuICAgICAgICBbJ2JpdGNvaW5nb2xkJywgJ2J0ZyddLFxuICAgICAgICBbJ2JpdGNvaW5nb2xkVGVzdG5ldCcsIHVuZGVmaW5lZF0sXG4gICAgICAgIFsnYml0Y29pbnN2JywgJ2JzdiddLFxuICAgICAgICBbJ2JpdGNvaW5zdlRlc3RuZXQnLCAndGJzdiddLFxuICAgICAgICBbJ2Rhc2gnLCAnZGFzaCddLFxuICAgICAgICBbJ2Rhc2hUZXN0JywgJ3RkYXNoJ10sXG4gICAgICAgIFsnZG9nZWNvaW4nLCAnZG9nZSddLFxuICAgICAgICBbJ2RvZ2Vjb2luVGVzdCcsICd0ZG9nZSddLFxuICAgICAgICBbJ2VjYXNoJywgJ2JjaGEnXSxcbiAgICAgICAgWydlY2FzaFRlc3QnLCAndGJjaGEnXSxcbiAgICAgICAgWydsaXRlY29pbicsICdsdGMnXSxcbiAgICAgICAgWydsaXRlY29pblRlc3QnLCAndGx0YyddLFxuICAgICAgICBbJ3pjYXNoJywgJ3plYyddLFxuICAgICAgICBbJ3pjYXNoVGVzdCcsICd0emVjJ10sXG4gICAgICBdXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=customChangeWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customChangeWallet.d.ts","sourceRoot":"","sources":["../../../../test/unit/customChangeWallet.ts"],"names":[],"mappings":""}
@@ -0,0 +1,154 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const should = require("should");
37
+ const sinon = __importStar(require("sinon"));
38
+ const sdk_core_1 = require("@bitgo/sdk-core");
39
+ const src_1 = require("../../src");
40
+ const util_1 = require("./util");
41
+ describe('Custom Change Wallets', () => {
42
+ const coin = (0, util_1.getUtxoCoin)('tbtc');
43
+ const keys = {
44
+ send: {
45
+ user: { id: '0', key: coin.keychains().create() },
46
+ backup: { id: '1', key: coin.keychains().create() },
47
+ bitgo: { id: '2', key: coin.keychains().create() },
48
+ },
49
+ change: {
50
+ user: { id: '3', key: coin.keychains().create() },
51
+ backup: { id: '4', key: coin.keychains().create() },
52
+ bitgo: { id: '5', key: coin.keychains().create() },
53
+ },
54
+ };
55
+ const customChangeKeySignatures = {
56
+ user: '',
57
+ backup: '',
58
+ bitgo: '',
59
+ };
60
+ const addressData = {
61
+ chain: 11,
62
+ index: 1,
63
+ addressType: 'p2shP2wsh',
64
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
65
+ keychains: [
66
+ { pub: keys.change.user.key.pub },
67
+ { pub: keys.change.backup.key.pub },
68
+ { pub: keys.change.bitgo.key.pub },
69
+ ],
70
+ threshold: 2,
71
+ };
72
+ const changeAddress = (0, src_1.generateAddress)(coin.network, addressData);
73
+ const changeWalletId = 'changeWalletId';
74
+ const stubData = {
75
+ signedSendingWallet: {
76
+ keyIds: sinon.stub().returns([keys.send.user.id, keys.send.backup.id, keys.send.bitgo.id]),
77
+ coinSpecific: sinon.stub().returns({ customChangeWalletId: changeWalletId }),
78
+ },
79
+ changeWallet: {
80
+ keyIds: sinon.stub().returns([keys.change.user.id, keys.change.backup.id, keys.change.bitgo.id]),
81
+ createAddress: sinon.stub().resolves(changeAddress),
82
+ },
83
+ };
84
+ before(async () => {
85
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
86
+ const sign = async ({ key }) => (await coin.signMessage({ prv: keys.send.user.key.prv }, key.pub)).toString('hex');
87
+ customChangeKeySignatures.user = await sign(keys.change.user);
88
+ customChangeKeySignatures.backup = await sign(keys.change.backup);
89
+ customChangeKeySignatures.bitgo = await sign(keys.change.bitgo);
90
+ });
91
+ it('should consider addresses derived from the custom change keys as internal spends', async () => {
92
+ const signedSendingWallet = sinon.createStubInstance(sdk_core_1.Wallet, stubData.signedSendingWallet);
93
+ const changeWallet = sinon.createStubInstance(sdk_core_1.Wallet, stubData.changeWallet);
94
+ sinon.stub(coin, 'keychains').returns({
95
+ get: sinon.stub().callsFake(({ id }) => {
96
+ switch (id) {
97
+ case keys.send.user.id:
98
+ return Promise.resolve({ id, ...keys.send.user.key });
99
+ case keys.send.backup.id:
100
+ return Promise.resolve({ id, ...keys.send.backup.key });
101
+ case keys.send.bitgo.id:
102
+ return Promise.resolve({ id, ...keys.send.bitgo.key });
103
+ case keys.change.user.id:
104
+ return Promise.resolve({ id, ...keys.change.user.key });
105
+ case keys.change.backup.id:
106
+ return Promise.resolve({ id, ...keys.change.backup.key });
107
+ case keys.change.bitgo.id:
108
+ return Promise.resolve({ id, ...keys.change.bitgo.key });
109
+ }
110
+ }),
111
+ });
112
+ sinon.stub(coin, 'wallets').returns({
113
+ get: sinon.stub().callsFake(() => Promise.resolve(changeWallet)),
114
+ });
115
+ const outputAmount = 10000;
116
+ const recipients = [];
117
+ sinon.stub(coin, 'explainTransaction').resolves({
118
+ outputs: [],
119
+ changeOutputs: [
120
+ {
121
+ address: changeAddress,
122
+ amount: outputAmount,
123
+ },
124
+ ],
125
+ });
126
+ signedSendingWallet._wallet = signedSendingWallet._wallet || {
127
+ customChangeKeySignatures,
128
+ };
129
+ const parsedTransaction = await coin.parseTransaction({
130
+ txParams: { changeAddress, recipients },
131
+ txPrebuild: { txHex: '' },
132
+ wallet: signedSendingWallet,
133
+ verification: {
134
+ addresses: {
135
+ [changeAddress]: {
136
+ chain: addressData.chain,
137
+ index: addressData.index,
138
+ },
139
+ },
140
+ },
141
+ });
142
+ should.exist(parsedTransaction.outputs[0]);
143
+ parsedTransaction.outputs[0].should.deepEqual({
144
+ address: changeAddress,
145
+ amount: outputAmount,
146
+ external: false,
147
+ needsCustomChangeKeySignatureVerification: true,
148
+ });
149
+ coin.explainTransaction.restore();
150
+ coin.wallets.restore();
151
+ coin.keychains.restore();
152
+ });
153
+ });
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tQ2hhbmdlV2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2N1c3RvbUNoYW5nZVdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFrQztBQUNsQyw2Q0FBK0I7QUFDL0IsOENBQXlDO0FBRXpDLG1DQUE0QztBQUU1QyxpQ0FBcUM7QUFFckMsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtJQUNyQyxNQUFNLElBQUksR0FBRyxJQUFBLGtCQUFXLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFFakMsTUFBTSxJQUFJLEdBQUc7UUFDWCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDakQsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ25ELEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtTQUNuRDtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNqRCxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkQsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFD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QUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUN6QixNQUFNLEVBQUUsbUJBQTBCO1lBQ2xDLFlBQVksRUFBRTtnQkFDWixTQUFTLEVBQUU7b0JBQ1QsQ0FBQyxhQUFhLENBQUMsRUFBRTt3QkFDZixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7d0JBQ3hCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztxQkFDekI7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDNUMsT0FBTyxFQUFFLGFBQWE7WUFDdEIsTUFBTSxFQUFFLFlBQVk7WUFDcEIsUUFBUSxFQUFFLEtBQUs7WUFDZix5Q0FBeUMsRUFBRSxJQUFJO1NBQ2hELENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBMEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hvdWxkID0gcmVxdWlyZSgnc2hvdWxkJyk7XG5pbXBvcnQgKiBhcyBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgeyBXYWxsZXQgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZUFkZHJlc3MgfSBmcm9tICcuLi8uLi9zcmMnO1xuXG5pbXBvcnQgeyBnZXRVdHhvQ29pbiB9IGZyb20gJy4vdXRpbCc7XG5cbmRlc2NyaWJlKCdDdXN0b20gQ2hhbmdlIFdhbGxldHMnLCAoKSA9PiB7XG4gIGNvbnN0IGNvaW4gPSBnZXRVdHhvQ29pbigndGJ0YycpO1xuXG4gIGNvbnN0IGtleXMgPSB7XG4gICAgc2VuZDoge1xuICAgICAgdXNlcjogeyBpZDogJzAnLCBrZXk6IGNvaW4ua2V5Y2hhaW5zKCkuY3JlYXRlKCkgfSxcbiAgICAgIGJhY2t1cDogeyBpZDogJzEnLCBrZXk6IGNvaW4ua2V5Y2hhaW5zKCkuY3JlYXRlKCkgfSxcbiAgICAgIGJpdGdvOiB7IGlkOiAnMicsIGtleTogY29pbi5rZXljaGFpbnMoKS5jcmVhdGUoKSB9LFxuICAgIH0sXG4gICAgY2hhbmdlOiB7XG4gICAgICB1c2VyOiB7IGlkOiAnMycsIGtleTogY29pbi5rZXljaGFpbnMoKS5jcmVhdGUoKSB9LFxuICAgICAgYmFja3VwOiB7IGlkOiAnNCcsIGtleTogY29pbi5rZXljaGFpbnMoKS5jcmVhdGUoKSB9LFxuICAgICAgYml0Z286IHsgaWQ6ICc1Jywga2V5OiBjb2luLmtleWNoYWlucygpLmNyZWF0ZSgpIH0sXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBjdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVzID0ge1xuICAgIHVzZXI6ICcnLFxuICAgIGJhY2t1cDogJycsXG4gICAgYml0Z286ICcnLFxuICB9O1xuXG4gIGNvbnN0IGFkZHJlc3NEYXRhID0ge1xuICAgIGNoYWluOiAxMSxcbiAgICBpbmRleDogMSxcbiAgICBhZGRyZXNzVHlwZTogJ3Ayc2hQMndzaCcgYXMgY29uc3QsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICBrZXljaGFpbnM6IFtcbiAgICAgIHsgcHViOiBrZXlzLmNoYW5nZS51c2VyLmtleS5wdWIhIH0sXG4gICAgICB7IHB1Yjoga2V5cy5jaGFuZ2UuYmFja3VwLmtleS5wdWIhIH0sXG4gICAgICB7IHB1Yjoga2V5cy5jaGFuZ2UuYml0Z28ua2V5LnB1YiEgfSxcbiAgICBdLFxuICAgIHRocmVzaG9sZDogMixcbiAgfTtcblxuICBjb25zdCBjaGFuZ2VBZGRyZXNzID0gZ2VuZXJhdGVBZGRyZXNzKGNvaW4ubmV0d29yaywgYWRkcmVzc0RhdGEpO1xuXG4gIGNvbnN0IGNoYW5nZVdhbGxldElkID0gJ2NoYW5nZVdhbGxldElkJztcbiAgY29uc3Qgc3R1YkRhdGEgPSB7XG4gICAgc2lnbmVkU2VuZGluZ1dhbGxldDoge1xuICAgICAga2V5SWRzOiBzaW5vbi5zdHViKCkucmV0dXJucyhba2V5cy5zZW5kLnVzZXIuaWQsIGtleXMuc2VuZC5iYWNrdXAuaWQsIGtleXMuc2VuZC5iaXRnby5pZF0pLFxuICAgICAgY29pblNwZWNpZmljOiBzaW5vbi5zdHViKCkucmV0dXJucyh7IGN1c3RvbUNoYW5nZVdhbGxldElkOiBjaGFuZ2VXYWxsZXRJZCB9KSxcbiAgICB9LFxuICAgIGNoYW5nZVdhbGxldDoge1xuICAgICAga2V5SWRzOiBzaW5vbi5zdHViKCkucmV0dXJucyhba2V5cy5jaGFuZ2UudXNlci5pZCwga2V5cy5jaGFuZ2UuYmFja3VwLmlkLCBrZXlzLmNoYW5nZS5iaXRnby5pZF0pLFxuICAgICAgY3JlYXRlQWRkcmVzczogc2lub24uc3R1YigpLnJlc29sdmVzKGNoYW5nZUFkZHJlc3MpLFxuICAgIH0sXG4gIH07XG5cbiAgYmVmb3JlKGFzeW5jICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgIGNvbnN0IHNpZ24gPSBhc3luYyAoeyBrZXkgfSkgPT4gKGF3YWl0IGNvaW4uc2lnbk1lc3NhZ2UoeyBwcnY6IGtleXMuc2VuZC51c2VyLmtleS5wcnYgfSwga2V5LnB1YiEpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcy51c2VyID0gYXdhaXQgc2lnbihrZXlzLmNoYW5nZS51c2VyKTtcbiAgICBjdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVzLmJhY2t1cCA9IGF3YWl0IHNpZ24oa2V5cy5jaGFuZ2UuYmFja3VwKTtcbiAgICBjdXN0b21DaGFuZ2VLZXlTaWduYXR1cmVzLmJpdGdvID0gYXdhaXQgc2lnbihrZXlzLmNoYW5nZS5iaXRnbyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29uc2lkZXIgYWRkcmVzc2VzIGRlcml2ZWQgZnJvbSB0aGUgY3VzdG9tIGNoYW5nZSBrZXlzIGFzIGludGVybmFsIHNwZW5kcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzaWduZWRTZW5kaW5nV2FsbGV0ID0gc2lub24uY3JlYXRlU3R1Ykluc3RhbmNlKFdhbGxldCwgc3R1YkRhdGEuc2lnbmVkU2VuZGluZ1dhbGxldCBhcyBhbnkpO1xuICAgIGNvbnN0IGNoYW5nZVdhbGxldCA9IHNpbm9uLmNyZWF0ZVN0dWJJbnN0YW5jZShXYWxsZXQsIHN0dWJEYXRhLmNoYW5nZVdhbGxldCBhcyBhbnkpO1xuXG4gICAgc2lub24uc3R1Yihjb2luLCAna2V5Y2hhaW5zJykucmV0dXJucyh7XG4gICAgICBnZXQ6IHNpbm9uLnN0dWIoKS5jYWxsc0Zha2UoKHsgaWQgfSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGlkKSB7XG4gICAgICAgICAgY2FzZSBrZXlzLnNlbmQudXNlci5pZDpcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBpZCwgLi4ua2V5cy5zZW5kLnVzZXIua2V5IH0pO1xuICAgICAgICAgIGNhc2Uga2V5cy5zZW5kLmJhY2t1cC5pZDpcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBpZCwgLi4ua2V5cy5zZW5kLmJhY2t1cC5rZXkgfSk7XG4gICAgICAgICAgY2FzZSBrZXlzLnNlbmQuYml0Z28uaWQ6XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgaWQsIC4uLmtleXMuc2VuZC5iaXRnby5rZXkgfSk7XG4gICAgICAgICAgY2FzZSBrZXlzLmNoYW5nZS51c2VyLmlkOlxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGlkLCAuLi5rZXlzLmNoYW5nZS51c2VyLmtleSB9KTtcbiAgICAgICAgICBjYXNlIGtleXMuY2hhbmdlLmJhY2t1cC5pZDpcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBpZCwgLi4ua2V5cy5jaGFuZ2UuYmFja3VwLmtleSB9KTtcbiAgICAgICAgICBjYXNlIGtleXMuY2hhbmdlLmJpdGdvLmlkOlxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGlkLCAuLi5rZXlzLmNoYW5nZS5iaXRnby5rZXkgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIH0gYXMgYW55KTtcblxuICAgIHNpbm9uLnN0dWIoY29pbiwgJ3dhbGxldHMnKS5yZXR1cm5zKHtcbiAgICAgIGdldDogc2lub24uc3R1YigpLmNhbGxzRmFrZSgoKSA9PiBQcm9taXNlLnJlc29sdmUoY2hhbmdlV2FsbGV0KSksXG4gICAgfSBhcyBhbnkpO1xuXG4gICAgY29uc3Qgb3V0cHV0QW1vdW50ID0gMTAwMDA7XG4gICAgY29uc3QgcmVjaXBpZW50cyA9IFtdO1xuXG4gICAgc2lub24uc3R1Yihjb2luLCAnZXhwbGFpblRyYW5zYWN0aW9uJykucmVzb2x2ZXMoe1xuICAgICAgb3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiBjaGFuZ2VBZGRyZXNzLFxuICAgICAgICAgIGFtb3VudDogb3V0cHV0QW1vdW50LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9IGFzIGFueSk7XG5cbiAgICBzaWduZWRTZW5kaW5nV2FsbGV0Ll93YWxsZXQgPSBzaWduZWRTZW5kaW5nV2FsbGV0Ll93YWxsZXQgfHwge1xuICAgICAgY3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlcyxcbiAgICB9O1xuXG4gICAgY29uc3QgcGFyc2VkVHJhbnNhY3Rpb24gPSBhd2FpdCBjb2luLnBhcnNlVHJhbnNhY3Rpb24oe1xuICAgICAgdHhQYXJhbXM6IHsgY2hhbmdlQWRkcmVzcywgcmVjaXBpZW50cyB9LFxuICAgICAgdHhQcmVidWlsZDogeyB0eEhleDogJycgfSxcbiAgICAgIHdhbGxldDogc2lnbmVkU2VuZGluZ1dhbGxldCBhcyBhbnksXG4gICAgICB2ZXJpZmljYXRpb246IHtcbiAgICAgICAgYWRkcmVzc2VzOiB7XG4gICAgICAgICAgW2NoYW5nZUFkZHJlc3NdOiB7XG4gICAgICAgICAgICBjaGFpbjogYWRkcmVzc0RhdGEuY2hhaW4sXG4gICAgICAgICAgICBpbmRleDogYWRkcmVzc0RhdGEuaW5kZXgsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBzaG91bGQuZXhpc3QocGFyc2VkVHJhbnNhY3Rpb24ub3V0cHV0c1swXSk7XG4gICAgcGFyc2VkVHJhbnNhY3Rpb24ub3V0cHV0c1swXS5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgIGFkZHJlc3M6IGNoYW5nZUFkZHJlc3MsXG4gICAgICBhbW91bnQ6IG91dHB1dEFtb3VudCxcbiAgICAgIGV4dGVybmFsOiBmYWxzZSxcbiAgICAgIG5lZWRzQ3VzdG9tQ2hhbmdlS2V5U2lnbmF0dXJlVmVyaWZpY2F0aW9uOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgKGNvaW4uZXhwbGFpblRyYW5zYWN0aW9uIGFzIGFueSkucmVzdG9yZSgpO1xuICAgIChjb2luLndhbGxldHMgYXMgYW55KS5yZXN0b3JlKCk7XG4gICAgKGNvaW4ua2V5Y2hhaW5zIGFzIGFueSkucmVzdG9yZSgpO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,3 @@
1
+ import 'should';
2
+ import 'should-sinon';
3
+ //# sourceMappingURL=customSigner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customSigner.d.ts","sourceRoot":"","sources":["../../../../test/unit/customSigner.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,CAAC;AAChB,OAAO,cAAc,CAAC"}