mainnet-js 0.5.8 → 1.0.0-rc.1

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 (686) hide show
  1. package/dist/index.html +9 -1
  2. package/dist/mainnet-1.0.0-rc.1.js +2928 -0
  3. package/dist/module/chain.d.ts +1 -0
  4. package/dist/module/chain.d.ts.map +1 -0
  5. package/dist/module/cli.d.ts +1 -0
  6. package/dist/module/cli.d.ts.map +1 -0
  7. package/dist/module/cli.js +2 -2
  8. package/dist/module/cli.js.map +1 -1
  9. package/dist/module/constant.d.ts +1 -0
  10. package/dist/module/constant.d.ts.map +1 -0
  11. package/dist/module/db/ExchangeRateProvider.d.ts +2 -1
  12. package/dist/module/db/ExchangeRateProvider.d.ts.map +1 -0
  13. package/dist/module/db/IndexedDBProvider.d.ts +3 -2
  14. package/dist/module/db/IndexedDBProvider.d.ts.map +1 -0
  15. package/dist/module/db/SqlProvider.d.ts +7 -8
  16. package/dist/module/db/SqlProvider.d.ts.map +1 -0
  17. package/dist/module/db/SqlProvider.js +10 -8
  18. package/dist/module/db/SqlProvider.js.map +1 -1
  19. package/dist/module/db/StorageProvider.d.ts +2 -1
  20. package/dist/module/db/StorageProvider.d.ts.map +1 -0
  21. package/dist/module/db/getStorageProvider.d.ts +3 -0
  22. package/dist/module/db/getStorageProvider.d.ts.map +1 -0
  23. package/dist/module/db/getStorageProvider.js +19 -0
  24. package/dist/module/db/getStorageProvider.js.map +1 -0
  25. package/dist/module/db/index.d.ts +4 -3
  26. package/dist/module/db/index.d.ts.map +1 -0
  27. package/dist/module/db/index.js +2 -2
  28. package/dist/module/db/index.js.map +1 -1
  29. package/dist/module/db/interface.d.ts +1 -0
  30. package/dist/module/db/interface.d.ts.map +1 -0
  31. package/dist/module/db/util.d.ts +2 -3
  32. package/dist/module/db/util.d.ts.map +1 -0
  33. package/dist/module/db/util.js +0 -17
  34. package/dist/module/db/util.js.map +1 -1
  35. package/dist/module/enum.d.ts +1 -0
  36. package/dist/module/enum.d.ts.map +1 -0
  37. package/dist/module/history/electrumTransformer.d.ts +3 -2
  38. package/dist/module/history/electrumTransformer.d.ts.map +1 -0
  39. package/dist/module/history/electrumTransformer.js +16 -14
  40. package/dist/module/history/electrumTransformer.js.map +1 -1
  41. package/dist/module/history/interface.d.ts +2 -1
  42. package/dist/module/history/interface.d.ts.map +1 -0
  43. package/dist/module/index.d.ts +26 -21
  44. package/dist/module/index.d.ts.map +1 -0
  45. package/dist/module/index.js +25 -17
  46. package/dist/module/index.js.map +1 -1
  47. package/dist/module/interface.d.ts +14 -0
  48. package/dist/module/interface.d.ts.map +1 -0
  49. package/dist/module/interface.js +5 -0
  50. package/dist/module/interface.js.map +1 -1
  51. package/dist/module/message/index.d.ts +3 -2
  52. package/dist/module/message/index.d.ts.map +1 -0
  53. package/dist/module/message/index.js +2 -2
  54. package/dist/module/message/index.js.map +1 -1
  55. package/dist/module/message/interface.d.ts +1 -0
  56. package/dist/module/message/interface.d.ts.map +1 -0
  57. package/dist/module/message/signed.d.ts +2 -1
  58. package/dist/module/message/signed.d.ts.map +1 -0
  59. package/dist/module/message/signed.js +10 -4
  60. package/dist/module/message/signed.js.map +1 -1
  61. package/dist/module/mine/index.d.ts +2 -1
  62. package/dist/module/mine/index.d.ts.map +1 -0
  63. package/dist/module/mine/index.js +1 -1
  64. package/dist/module/mine/index.js.map +1 -1
  65. package/dist/module/mine/mine.d.ts +1 -0
  66. package/dist/module/mine/mine.d.ts.map +1 -0
  67. package/dist/module/mine/mine.js +3 -3
  68. package/dist/module/mine/mine.js.map +1 -1
  69. package/dist/module/network/Connection.d.ts +3 -2
  70. package/dist/module/network/Connection.d.ts.map +1 -0
  71. package/dist/module/network/Connection.js +3 -3
  72. package/dist/module/network/Connection.js.map +1 -1
  73. package/dist/module/network/ElectrumNetworkProvider.d.ts +8 -5
  74. package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -0
  75. package/dist/module/network/ElectrumNetworkProvider.js +59 -13
  76. package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
  77. package/dist/module/network/NetworkProvider.d.ts +2 -1
  78. package/dist/module/network/NetworkProvider.d.ts.map +1 -0
  79. package/dist/module/network/configuration.d.ts +8 -10
  80. package/dist/module/network/configuration.d.ts.map +1 -0
  81. package/dist/module/network/configuration.js +29 -17
  82. package/dist/module/network/configuration.js.map +1 -1
  83. package/dist/module/network/constant.d.ts +1 -0
  84. package/dist/module/network/constant.d.ts.map +1 -0
  85. package/dist/module/network/constant.js +8 -4
  86. package/dist/module/network/constant.js.map +1 -1
  87. package/dist/module/network/default.d.ts +4 -3
  88. package/dist/module/network/default.d.ts.map +1 -0
  89. package/dist/module/network/default.js +7 -7
  90. package/dist/module/network/default.js.map +1 -1
  91. package/dist/module/network/getRelayFeeCache.d.ts +2 -1
  92. package/dist/module/network/getRelayFeeCache.d.ts.map +1 -0
  93. package/dist/module/network/getRelayFeeCache.js +2 -2
  94. package/dist/module/network/getRelayFeeCache.js.map +1 -1
  95. package/dist/module/network/index.d.ts +3 -2
  96. package/dist/module/network/index.d.ts.map +1 -0
  97. package/dist/module/network/index.js +2 -2
  98. package/dist/module/network/index.js.map +1 -1
  99. package/dist/module/network/interface.d.ts +1 -0
  100. package/dist/module/network/interface.d.ts.map +1 -0
  101. package/dist/module/network/util.d.ts +2 -1
  102. package/dist/module/network/util.d.ts.map +1 -0
  103. package/dist/module/qr/Qr.d.ts +2 -1
  104. package/dist/module/qr/Qr.d.ts.map +1 -0
  105. package/dist/module/qr/Qr.js +2 -2
  106. package/dist/module/qr/Qr.js.map +1 -1
  107. package/dist/module/qr/interface.d.ts +1 -0
  108. package/dist/module/qr/interface.d.ts.map +1 -0
  109. package/dist/module/rate/ExchangeRate.d.ts +1 -0
  110. package/dist/module/rate/ExchangeRate.d.ts.map +1 -0
  111. package/dist/module/rate/ExchangeRate.js +5 -5
  112. package/dist/module/rate/ExchangeRate.js.map +1 -1
  113. package/dist/module/slp/GsppProvider.d.ts +4 -3
  114. package/dist/module/slp/GsppProvider.d.ts.map +1 -0
  115. package/dist/module/slp/GsppProvider.js +7 -7
  116. package/dist/module/slp/GsppProvider.js.map +1 -1
  117. package/dist/module/slp/SlpDbProvider.d.ts +4 -3
  118. package/dist/module/slp/SlpDbProvider.d.ts.map +1 -0
  119. package/dist/module/slp/SlpDbProvider.js +8 -8
  120. package/dist/module/slp/SlpDbProvider.js.map +1 -1
  121. package/dist/module/slp/SlpDbTemplates.d.ts +1 -0
  122. package/dist/module/slp/SlpDbTemplates.d.ts.map +1 -0
  123. package/dist/module/slp/SlpLibAuth.d.ts +7 -14
  124. package/dist/module/slp/SlpLibAuth.d.ts.map +1 -0
  125. package/dist/module/slp/SlpLibAuth.js +48 -39
  126. package/dist/module/slp/SlpLibAuth.js.map +1 -1
  127. package/dist/module/slp/SlpProvider.d.ts +2 -1
  128. package/dist/module/slp/SlpProvider.d.ts.map +1 -0
  129. package/dist/module/slp/SlpProvider.js.map +1 -1
  130. package/dist/module/slp/index.d.ts +5 -4
  131. package/dist/module/slp/index.d.ts.map +1 -0
  132. package/dist/module/slp/index.js +3 -3
  133. package/dist/module/slp/index.js.map +1 -1
  134. package/dist/module/slp/interface.d.ts +2 -1
  135. package/dist/module/slp/interface.d.ts.map +1 -0
  136. package/dist/module/test/axios.d.ts +3 -0
  137. package/dist/module/test/axios.d.ts.map +1 -0
  138. package/dist/module/test/axios.js +35 -0
  139. package/dist/module/test/axios.js.map +1 -0
  140. package/dist/module/test/expect.d.ts +6 -1
  141. package/dist/module/test/expect.d.ts.map +1 -0
  142. package/dist/module/test/expect.js +22 -1
  143. package/dist/module/test/expect.js.map +1 -1
  144. package/dist/module/transaction/Wif.d.ts +19 -16
  145. package/dist/module/transaction/Wif.d.ts.map +1 -0
  146. package/dist/module/transaction/Wif.js +152 -55
  147. package/dist/module/transaction/Wif.js.map +1 -1
  148. package/dist/module/transaction/allocateFee.d.ts +5 -4
  149. package/dist/module/transaction/allocateFee.d.ts.map +1 -0
  150. package/dist/module/transaction/allocateFee.js +11 -8
  151. package/dist/module/transaction/allocateFee.js.map +1 -1
  152. package/dist/module/util/amountInSatoshi.d.ts +1 -0
  153. package/dist/module/util/amountInSatoshi.d.ts.map +1 -0
  154. package/dist/module/util/amountInSatoshi.js +4 -4
  155. package/dist/module/util/amountInSatoshi.js.map +1 -1
  156. package/dist/module/util/asSendRequestObject.d.ts +3 -2
  157. package/dist/module/util/asSendRequestObject.d.ts.map +1 -0
  158. package/dist/module/util/asSendRequestObject.js +6 -3
  159. package/dist/module/util/asSendRequestObject.js.map +1 -1
  160. package/dist/module/util/balanceObjectFromSatoshi.d.ts +1 -0
  161. package/dist/module/util/balanceObjectFromSatoshi.d.ts.map +1 -0
  162. package/dist/module/util/balanceObjectFromSatoshi.js +5 -5
  163. package/dist/module/util/balanceObjectFromSatoshi.js.map +1 -1
  164. package/dist/module/util/base64.d.ts +2 -1
  165. package/dist/module/util/base64.d.ts.map +1 -0
  166. package/dist/module/util/base64.js +5 -25
  167. package/dist/module/util/base64.js.map +1 -1
  168. package/dist/module/util/bchaddr.d.ts +1 -0
  169. package/dist/module/util/bchaddr.d.ts.map +1 -0
  170. package/dist/module/util/browserNotSupported.d.ts +1 -0
  171. package/dist/module/util/browserNotSupported.d.ts.map +1 -0
  172. package/dist/module/util/browserNotSupported.js +1 -1
  173. package/dist/module/util/browserNotSupported.js.map +1 -1
  174. package/dist/module/util/checkForEmptySeed.d.ts +1 -0
  175. package/dist/module/util/checkForEmptySeed.d.ts.map +1 -0
  176. package/dist/module/util/checkWifNetwork.d.ts +2 -1
  177. package/dist/module/util/checkWifNetwork.d.ts.map +1 -0
  178. package/dist/module/util/checkWifNetwork.js +1 -1
  179. package/dist/module/util/checkWifNetwork.js.map +1 -1
  180. package/dist/module/util/convert.d.ts +1 -0
  181. package/dist/module/util/convert.d.ts.map +1 -0
  182. package/dist/module/util/convert.js +2 -2
  183. package/dist/module/util/convert.js.map +1 -1
  184. package/dist/module/util/delay.d.ts +1 -0
  185. package/dist/module/util/delay.d.ts.map +1 -0
  186. package/dist/module/util/deriveCashaddr.d.ts +6 -1
  187. package/dist/module/util/deriveCashaddr.d.ts.map +1 -0
  188. package/dist/module/util/deriveCashaddr.js +85 -6
  189. package/dist/module/util/deriveCashaddr.js.map +1 -1
  190. package/dist/module/util/deriveLockscript.d.ts +1 -0
  191. package/dist/module/util/deriveLockscript.d.ts.map +1 -0
  192. package/dist/module/util/deriveNetwork.d.ts +1 -0
  193. package/dist/module/util/deriveNetwork.d.ts.map +1 -0
  194. package/dist/module/util/deriveNetwork.js +2 -2
  195. package/dist/module/util/deriveNetwork.js.map +1 -1
  196. package/dist/module/util/derivePublicKeyHash.d.ts +3 -1
  197. package/dist/module/util/derivePublicKeyHash.d.ts.map +1 -0
  198. package/dist/module/util/derivePublicKeyHash.js +1 -1
  199. package/dist/module/util/derivePublicKeyHash.js.map +1 -1
  200. package/dist/module/util/eventsource.d.ts +1 -0
  201. package/dist/module/util/eventsource.d.ts.map +1 -0
  202. package/dist/module/util/eventsource.js +3 -2
  203. package/dist/module/util/eventsource.js.map +1 -1
  204. package/dist/module/util/floor.d.ts +1 -0
  205. package/dist/module/util/floor.d.ts.map +1 -0
  206. package/dist/module/util/getAddrsByXpubKey.d.ts +8 -8
  207. package/dist/module/util/getAddrsByXpubKey.d.ts.map +1 -0
  208. package/dist/module/util/getAddrsByXpubKey.js +17 -21
  209. package/dist/module/util/getAddrsByXpubKey.js.map +1 -1
  210. package/dist/module/util/getRuntimePlatform.d.ts +1 -0
  211. package/dist/module/util/getRuntimePlatform.d.ts.map +1 -0
  212. package/dist/module/util/getUsdRate.d.ts +1 -0
  213. package/dist/module/util/getUsdRate.d.ts.map +1 -0
  214. package/dist/module/util/getUsdRate.js +1 -1
  215. package/dist/module/util/getUsdRate.js.map +1 -1
  216. package/dist/module/util/getXPubKey.d.ts +2 -1
  217. package/dist/module/util/getXPubKey.d.ts.map +1 -0
  218. package/dist/module/util/getXPubKey.js +6 -7
  219. package/dist/module/util/getXPubKey.js.map +1 -1
  220. package/dist/module/util/hash160.d.ts +2 -1
  221. package/dist/module/util/hash160.d.ts.map +1 -0
  222. package/dist/module/util/hash160.js +2 -4
  223. package/dist/module/util/hash160.js.map +1 -1
  224. package/dist/module/util/index.d.ts +21 -20
  225. package/dist/module/util/index.d.ts.map +1 -0
  226. package/dist/module/util/index.js +20 -20
  227. package/dist/module/util/index.js.map +1 -1
  228. package/dist/module/util/randomBytes.d.ts +3 -1
  229. package/dist/module/util/randomBytes.d.ts.map +1 -0
  230. package/dist/module/util/randomBytes.js +2 -3
  231. package/dist/module/util/randomBytes.js.map +1 -1
  232. package/dist/module/util/randomInt.d.ts +1 -0
  233. package/dist/module/util/randomInt.d.ts.map +1 -0
  234. package/dist/module/util/randomValues.d.ts +1 -0
  235. package/dist/module/util/randomValues.d.ts.map +1 -0
  236. package/dist/module/util/randomValues.js +7 -7
  237. package/dist/module/util/randomValues.js.map +1 -1
  238. package/dist/module/util/sanitizeAddress.d.ts +1 -0
  239. package/dist/module/util/sanitizeAddress.d.ts.map +1 -0
  240. package/dist/module/util/sanitizeAddress.js +1 -1
  241. package/dist/module/util/sanitizeAddress.js.map +1 -1
  242. package/dist/module/util/sanitizeUnit.d.ts +2 -1
  243. package/dist/module/util/sanitizeUnit.d.ts.map +1 -0
  244. package/dist/module/util/satoshiToAmount.d.ts +1 -0
  245. package/dist/module/util/satoshiToAmount.d.ts.map +1 -0
  246. package/dist/module/util/satoshiToAmount.js +4 -4
  247. package/dist/module/util/satoshiToAmount.js.map +1 -1
  248. package/dist/module/util/sumSendRequestAmounts.d.ts +3 -2
  249. package/dist/module/util/sumSendRequestAmounts.d.ts.map +1 -0
  250. package/dist/module/util/sumSendRequestAmounts.js +5 -2
  251. package/dist/module/util/sumSendRequestAmounts.js.map +1 -1
  252. package/dist/module/util/sumUtxoValue.d.ts +4 -2
  253. package/dist/module/util/sumUtxoValue.d.ts.map +1 -0
  254. package/dist/module/util/sumUtxoValue.js +17 -3
  255. package/dist/module/util/sumUtxoValue.js.map +1 -1
  256. package/dist/module/util/transaction.d.ts +2 -0
  257. package/dist/module/util/transaction.d.ts.map +1 -0
  258. package/dist/module/util/transaction.js +7 -0
  259. package/dist/module/util/transaction.js.map +1 -0
  260. package/dist/module/wallet/Base.d.ts +8 -7
  261. package/dist/module/wallet/Base.d.ts.map +1 -0
  262. package/dist/module/wallet/Base.js +7 -7
  263. package/dist/module/wallet/Base.js.map +1 -1
  264. package/dist/module/wallet/Bcmr.d.ts +88 -0
  265. package/dist/module/wallet/Bcmr.d.ts.map +1 -0
  266. package/dist/module/wallet/Bcmr.js +281 -0
  267. package/dist/module/wallet/Bcmr.js.map +1 -0
  268. package/dist/module/wallet/Slp.d.ts +6 -5
  269. package/dist/module/wallet/Slp.d.ts.map +1 -0
  270. package/dist/module/wallet/Slp.js +15 -15
  271. package/dist/module/wallet/Slp.js.map +1 -1
  272. package/dist/module/wallet/Util.d.ts +3 -2
  273. package/dist/module/wallet/Util.d.ts.map +1 -0
  274. package/dist/module/wallet/Util.js +9 -14
  275. package/dist/module/wallet/Util.js.map +1 -1
  276. package/dist/module/wallet/Wif.d.ts +124 -20
  277. package/dist/module/wallet/Wif.d.ts.map +1 -0
  278. package/dist/module/wallet/Wif.js +406 -74
  279. package/dist/module/wallet/Wif.js.map +1 -1
  280. package/dist/module/wallet/bcmr-v1.schema.d.ts +623 -0
  281. package/dist/module/wallet/bcmr-v1.schema.d.ts.map +1 -0
  282. package/dist/module/wallet/bcmr-v1.schema.js +2 -0
  283. package/dist/module/wallet/bcmr-v1.schema.js.map +1 -0
  284. package/dist/module/wallet/createWallet.d.ts +3 -2
  285. package/dist/module/wallet/createWallet.d.ts.map +1 -0
  286. package/dist/module/wallet/createWallet.js +3 -3
  287. package/dist/module/wallet/createWallet.js.map +1 -1
  288. package/dist/module/wallet/enum.d.ts +1 -0
  289. package/dist/module/wallet/enum.d.ts.map +1 -0
  290. package/dist/module/wallet/interface.d.ts +10 -6
  291. package/dist/module/wallet/interface.d.ts.map +1 -0
  292. package/dist/module/wallet/model.d.ts +81 -5
  293. package/dist/module/wallet/model.d.ts.map +1 -0
  294. package/dist/module/wallet/model.js +102 -17
  295. package/dist/module/wallet/model.js.map +1 -1
  296. package/dist/module/webhook/Webhook.d.ts +3 -2
  297. package/dist/module/webhook/Webhook.d.ts.map +1 -0
  298. package/dist/module/webhook/Webhook.js +4 -1
  299. package/dist/module/webhook/Webhook.js.map +1 -1
  300. package/dist/module/webhook/WebhookBch.d.ts +4 -3
  301. package/dist/module/webhook/WebhookBch.d.ts.map +1 -0
  302. package/dist/module/webhook/WebhookBch.js +4 -4
  303. package/dist/module/webhook/WebhookBch.js.map +1 -1
  304. package/dist/module/webhook/WebhookSlp.d.ts +5 -4
  305. package/dist/module/webhook/WebhookSlp.d.ts.map +1 -0
  306. package/dist/module/webhook/WebhookSlp.js +4 -4
  307. package/dist/module/webhook/WebhookSlp.js.map +1 -1
  308. package/dist/module/webhook/WebhookWorker.d.ts +3 -2
  309. package/dist/module/webhook/WebhookWorker.d.ts.map +1 -0
  310. package/dist/module/webhook/WebhookWorker.js +1 -1
  311. package/dist/module/webhook/WebhookWorker.js.map +1 -1
  312. package/dist/module/webhook/index.d.ts +6 -5
  313. package/dist/module/webhook/index.d.ts.map +1 -0
  314. package/dist/module/webhook/index.js +5 -5
  315. package/dist/module/webhook/index.js.map +1 -1
  316. package/dist/module/webhook/interface.d.ts +1 -0
  317. package/dist/module/webhook/interface.d.ts.map +1 -0
  318. package/dist/tsconfig.tsbuildinfo +1 -1
  319. package/package.json +9 -9
  320. package/polyfill/{bip39.browser.js → bip39.browser.cjs} +1 -0
  321. package/polyfill/{util.js → util.cjs} +0 -0
  322. package/src/Wallet.test.headless.js +6 -6
  323. package/src/Wallet.test.ts +69 -1
  324. package/src/cli.ts +3 -3
  325. package/src/db/ExchangeRateProvider.ts +1 -1
  326. package/src/db/IndexedDBProvider.test.ts +0 -1
  327. package/src/db/IndexedDBProvider.ts +2 -2
  328. package/src/db/SqlProvider.ts +14 -12
  329. package/src/db/StorageProvider.ts +1 -1
  330. package/src/db/getStorageProvider.ts +20 -0
  331. package/src/db/index.ts +3 -3
  332. package/src/db/util.ts +1 -20
  333. package/src/history/electrumTransformer.test.ts +1 -2
  334. package/src/history/electrumTransformer.ts +19 -18
  335. package/src/history/interface.ts +1 -1
  336. package/src/index.ts +29 -21
  337. package/src/interface.ts +15 -0
  338. package/src/message/index.ts +2 -2
  339. package/src/message/signed.test.ts +4 -4
  340. package/src/message/signed.ts +23 -6
  341. package/src/mine/index.ts +1 -1
  342. package/src/mine/mine.ts +3 -3
  343. package/src/network/Connection.ts +5 -5
  344. package/src/network/ElectrumNetworkProvider.ts +85 -20
  345. package/src/network/NetworkProvider.ts +1 -1
  346. package/src/network/configuration.test.ts +33 -8
  347. package/src/network/configuration.ts +33 -18
  348. package/src/network/constant.ts +9 -4
  349. package/src/network/default.ts +13 -10
  350. package/src/network/getRelayFeeCache.ts +3 -3
  351. package/src/network/index.ts +6 -2
  352. package/src/network/util.ts +1 -1
  353. package/src/qr/Qr.ts +3 -3
  354. package/src/rate/ExchangeRate.ts +14 -15
  355. package/src/slp/GsppProvider.test.ts +2 -2
  356. package/src/slp/GsppProvider.ts +11 -8
  357. package/src/slp/SlpDbProvider.test.ts +1 -1
  358. package/src/slp/SlpDbProvider.ts +12 -9
  359. package/src/slp/SlpLibAuth.test.ts +1 -1
  360. package/src/slp/SlpLibAuth.ts +52 -42
  361. package/src/slp/SlpProvider.ts +6 -1
  362. package/src/slp/index.ts +4 -4
  363. package/src/slp/interface.ts +1 -1
  364. package/src/test/axios.ts +47 -0
  365. package/src/test/expect.ts +27 -2
  366. package/src/transaction/Wif.ts +203 -77
  367. package/src/transaction/allocateFee.ts +32 -14
  368. package/src/util/amountInSatoshi.ts +4 -4
  369. package/src/util/asSendRequestObject.ts +42 -30
  370. package/src/util/balanceObjectFromSatoshi.ts +5 -5
  371. package/src/util/base64.ts +5 -24
  372. package/src/util/browserNotSupported.ts +1 -1
  373. package/src/util/checkWifNetwork.ts +1 -1
  374. package/src/util/convert.ts +2 -2
  375. package/src/util/deriveCashaddr.test.ts +43 -0
  376. package/src/util/deriveCashaddr.ts +123 -7
  377. package/src/util/deriveNetwork.ts +2 -2
  378. package/src/util/derivePublicKeyHash.test.ts +3 -0
  379. package/src/util/derivePublicKeyHash.ts +18 -5
  380. package/src/util/eventsource.ts +4 -2
  381. package/src/util/getAddrsByXpubKey.test.ts +5 -5
  382. package/src/util/getAddrsByXpubKey.ts +23 -28
  383. package/src/util/getUsdRate.ts +1 -1
  384. package/src/util/getXPubKey.ts +5 -7
  385. package/src/util/hash160.test.ts +2 -2
  386. package/src/util/hash160.ts +2 -4
  387. package/src/util/index.ts +26 -20
  388. package/src/util/randomBytes.ts +2 -3
  389. package/src/util/randomValues.ts +8 -8
  390. package/src/util/sanitizeAddress.ts +1 -1
  391. package/src/util/sanitizeUnit.ts +1 -1
  392. package/src/util/satoshiToAmount.ts +4 -4
  393. package/src/util/sumSendRequestAmounts.ts +10 -4
  394. package/src/util/sumUtxoValue.ts +19 -7
  395. package/src/util/transaction.ts +10 -0
  396. package/src/wallet/Base.ts +11 -11
  397. package/src/wallet/Bcmr.test.headless.js +353 -0
  398. package/src/wallet/Bcmr.test.ts +610 -0
  399. package/src/wallet/Bcmr.ts +390 -0
  400. package/src/wallet/Cashtokens.test.headless.js +467 -0
  401. package/src/wallet/Cashtokens.test.ts +475 -0
  402. package/src/wallet/Slp.test.headless.js +6 -8
  403. package/src/wallet/Slp.test.ts +2 -2
  404. package/src/wallet/Slp.ts +26 -22
  405. package/src/wallet/Util.ts +9 -20
  406. package/src/wallet/Wif.test.ts +20 -21
  407. package/src/wallet/Wif.ts +534 -99
  408. package/src/wallet/bcmr-v1.schema.ts +639 -0
  409. package/src/wallet/createWallet.test.ts +1 -0
  410. package/src/wallet/createWallet.ts +4 -4
  411. package/src/wallet/interface.ts +9 -6
  412. package/src/wallet/model.ts +190 -19
  413. package/src/webhook/Webhook.ts +7 -3
  414. package/src/webhook/WebhookBch.ts +7 -7
  415. package/src/webhook/WebhookSlp.test.ts +2 -2
  416. package/src/webhook/WebhookSlp.ts +6 -6
  417. package/src/webhook/WebhookWorker.ts +2 -2
  418. package/src/webhook/index.ts +5 -5
  419. package/tsconfig.browser.json +0 -3
  420. package/tsconfig.json +17 -5
  421. package/{webpack.config.js → webpack.config.cjs} +46 -14
  422. package/dist/main/chain.d.ts +0 -3
  423. package/dist/main/chain.js +0 -7
  424. package/dist/main/chain.js.map +0 -1
  425. package/dist/main/cli.d.ts +0 -1
  426. package/dist/main/cli.js +0 -35
  427. package/dist/main/cli.js.map +0 -1
  428. package/dist/main/constant.d.ts +0 -5
  429. package/dist/main/constant.js +0 -27
  430. package/dist/main/constant.js.map +0 -1
  431. package/dist/main/db/ExchangeRateProvider.d.ts +0 -11
  432. package/dist/main/db/ExchangeRateProvider.js +0 -47
  433. package/dist/main/db/ExchangeRateProvider.js.map +0 -1
  434. package/dist/main/db/IndexedDBProvider.d.ts +0 -15
  435. package/dist/main/db/IndexedDBProvider.js +0 -86
  436. package/dist/main/db/IndexedDBProvider.js.map +0 -1
  437. package/dist/main/db/SqlProvider.d.ts +0 -41
  438. package/dist/main/db/SqlProvider.js +0 -217
  439. package/dist/main/db/SqlProvider.js.map +0 -1
  440. package/dist/main/db/StorageProvider.d.ts +0 -52
  441. package/dist/main/db/StorageProvider.js +0 -3
  442. package/dist/main/db/StorageProvider.js.map +0 -1
  443. package/dist/main/db/index.d.ts +0 -3
  444. package/dist/main/db/index.js +0 -11
  445. package/dist/main/db/index.js.map +0 -1
  446. package/dist/main/db/interface.d.ts +0 -22
  447. package/dist/main/db/interface.js +0 -3
  448. package/dist/main/db/interface.js.map +0 -1
  449. package/dist/main/db/util.d.ts +0 -5
  450. package/dist/main/db/util.js +0 -53
  451. package/dist/main/db/util.js.map +0 -1
  452. package/dist/main/enum.d.ts +0 -33
  453. package/dist/main/enum.js +0 -39
  454. package/dist/main/enum.js.map +0 -1
  455. package/dist/main/history/electrumTransformer.d.ts +0 -4
  456. package/dist/main/history/electrumTransformer.js +0 -214
  457. package/dist/main/history/electrumTransformer.js.map +0 -1
  458. package/dist/main/history/interface.d.ts +0 -16
  459. package/dist/main/history/interface.js +0 -3
  460. package/dist/main/history/interface.js.map +0 -1
  461. package/dist/main/index.d.ts +0 -24
  462. package/dist/main/index.js +0 -62
  463. package/dist/main/index.js.map +0 -1
  464. package/dist/main/interface.d.ts +0 -31
  465. package/dist/main/interface.js +0 -12
  466. package/dist/main/interface.js.map +0 -1
  467. package/dist/main/message/index.d.ts +0 -2
  468. package/dist/main/message/index.js +0 -15
  469. package/dist/main/message/index.js.map +0 -1
  470. package/dist/main/message/interface.d.ts +0 -29
  471. package/dist/main/message/interface.js +0 -6
  472. package/dist/main/message/interface.js.map +0 -1
  473. package/dist/main/message/signed.d.ts +0 -33
  474. package/dist/main/message/signed.js +0 -141
  475. package/dist/main/message/signed.js.map +0 -1
  476. package/dist/main/mine/index.d.ts +0 -1
  477. package/dist/main/mine/index.js +0 -14
  478. package/dist/main/mine/index.js.map +0 -1
  479. package/dist/main/mine/mine.d.ts +0 -13
  480. package/dist/main/mine/mine.js +0 -37
  481. package/dist/main/mine/mine.js.map +0 -1
  482. package/dist/main/network/Connection.d.ts +0 -14
  483. package/dist/main/network/Connection.js +0 -71
  484. package/dist/main/network/Connection.js.map +0 -1
  485. package/dist/main/network/ElectrumNetworkProvider.d.ts +0 -49
  486. package/dist/main/network/ElectrumNetworkProvider.js +0 -338
  487. package/dist/main/network/ElectrumNetworkProvider.js.map +0 -1
  488. package/dist/main/network/NetworkProvider.d.ts +0 -107
  489. package/dist/main/network/NetworkProvider.js +0 -3
  490. package/dist/main/network/NetworkProvider.js.map +0 -1
  491. package/dist/main/network/configuration.d.ts +0 -12
  492. package/dist/main/network/configuration.js +0 -79
  493. package/dist/main/network/configuration.js.map +0 -1
  494. package/dist/main/network/constant.d.ts +0 -35
  495. package/dist/main/network/constant.js +0 -55
  496. package/dist/main/network/constant.js.map +0 -1
  497. package/dist/main/network/default.d.ts +0 -7
  498. package/dist/main/network/default.js +0 -107
  499. package/dist/main/network/default.js.map +0 -1
  500. package/dist/main/network/getRelayFeeCache.d.ts +0 -2
  501. package/dist/main/network/getRelayFeeCache.js +0 -27
  502. package/dist/main/network/getRelayFeeCache.js.map +0 -1
  503. package/dist/main/network/index.d.ts +0 -2
  504. package/dist/main/network/index.js +0 -10
  505. package/dist/main/network/index.js.map +0 -1
  506. package/dist/main/network/interface.d.ts +0 -60
  507. package/dist/main/network/interface.js +0 -3
  508. package/dist/main/network/interface.js.map +0 -1
  509. package/dist/main/network/util.d.ts +0 -2
  510. package/dist/main/network/util.js +0 -32
  511. package/dist/main/network/util.js.map +0 -1
  512. package/dist/main/qr/Qr.d.ts +0 -8
  513. package/dist/main/qr/Qr.js +0 -26
  514. package/dist/main/qr/Qr.js.map +0 -1
  515. package/dist/main/qr/interface.d.ts +0 -5
  516. package/dist/main/qr/interface.js +0 -3
  517. package/dist/main/qr/interface.js.map +0 -1
  518. package/dist/main/rate/ExchangeRate.d.ts +0 -19
  519. package/dist/main/rate/ExchangeRate.js +0 -147
  520. package/dist/main/rate/ExchangeRate.js.map +0 -1
  521. package/dist/main/slp/GsppProvider.d.ts +0 -54
  522. package/dist/main/slp/GsppProvider.js +0 -214
  523. package/dist/main/slp/GsppProvider.js.map +0 -1
  524. package/dist/main/slp/SlpDbProvider.d.ts +0 -51
  525. package/dist/main/slp/SlpDbProvider.js +0 -182
  526. package/dist/main/slp/SlpDbProvider.js.map +0 -1
  527. package/dist/main/slp/SlpDbTemplates.d.ts +0 -312
  528. package/dist/main/slp/SlpDbTemplates.js +0 -387
  529. package/dist/main/slp/SlpDbTemplates.js.map +0 -1
  530. package/dist/main/slp/SlpLibAuth.d.ts +0 -217
  531. package/dist/main/slp/SlpLibAuth.js +0 -452
  532. package/dist/main/slp/SlpLibAuth.js.map +0 -1
  533. package/dist/main/slp/SlpProvider.d.ts +0 -23
  534. package/dist/main/slp/SlpProvider.js +0 -39
  535. package/dist/main/slp/SlpProvider.js.map +0 -1
  536. package/dist/main/slp/index.d.ts +0 -5
  537. package/dist/main/slp/index.js +0 -24
  538. package/dist/main/slp/index.js.map +0 -1
  539. package/dist/main/slp/interface.d.ts +0 -113
  540. package/dist/main/slp/interface.js +0 -10
  541. package/dist/main/slp/interface.js.map +0 -1
  542. package/dist/main/test/expect.d.ts +0 -7
  543. package/dist/main/test/expect.js +0 -31
  544. package/dist/main/test/expect.js.map +0 -1
  545. package/dist/main/transaction/Wif.d.ts +0 -42
  546. package/dist/main/transaction/Wif.js +0 -214
  547. package/dist/main/transaction/Wif.js.map +0 -1
  548. package/dist/main/transaction/allocateFee.d.ts +0 -7
  549. package/dist/main/transaction/allocateFee.js +0 -118
  550. package/dist/main/transaction/allocateFee.js.map +0 -1
  551. package/dist/main/util/amountInSatoshi.d.ts +0 -9
  552. package/dist/main/util/amountInSatoshi.js +0 -38
  553. package/dist/main/util/amountInSatoshi.js.map +0 -1
  554. package/dist/main/util/asSendRequestObject.d.ts +0 -2
  555. package/dist/main/util/asSendRequestObject.js +0 -57
  556. package/dist/main/util/asSendRequestObject.js.map +0 -1
  557. package/dist/main/util/balanceObjectFromSatoshi.d.ts +0 -8
  558. package/dist/main/util/balanceObjectFromSatoshi.js +0 -62
  559. package/dist/main/util/balanceObjectFromSatoshi.js.map +0 -1
  560. package/dist/main/util/base64.d.ts +0 -2
  561. package/dist/main/util/base64.js +0 -36
  562. package/dist/main/util/base64.js.map +0 -1
  563. package/dist/main/util/bchaddr.d.ts +0 -1
  564. package/dist/main/util/bchaddr.js +0 -24
  565. package/dist/main/util/bchaddr.js.map +0 -1
  566. package/dist/main/util/browserNotSupported.d.ts +0 -1
  567. package/dist/main/util/browserNotSupported.js +0 -11
  568. package/dist/main/util/browserNotSupported.js.map +0 -1
  569. package/dist/main/util/checkForEmptySeed.d.ts +0 -2
  570. package/dist/main/util/checkForEmptySeed.js +0 -12
  571. package/dist/main/util/checkForEmptySeed.js.map +0 -1
  572. package/dist/main/util/checkWifNetwork.d.ts +0 -2
  573. package/dist/main/util/checkWifNetwork.js +0 -16
  574. package/dist/main/util/checkWifNetwork.js.map +0 -1
  575. package/dist/main/util/convert.d.ts +0 -15
  576. package/dist/main/util/convert.js +0 -24
  577. package/dist/main/util/convert.js.map +0 -1
  578. package/dist/main/util/delay.d.ts +0 -1
  579. package/dist/main/util/delay.js +0 -8
  580. package/dist/main/util/delay.js.map +0 -1
  581. package/dist/main/util/deriveCashaddr.d.ts +0 -2
  582. package/dist/main/util/deriveCashaddr.js +0 -13
  583. package/dist/main/util/deriveCashaddr.js.map +0 -1
  584. package/dist/main/util/deriveLockscript.d.ts +0 -8
  585. package/dist/main/util/deriveLockscript.js +0 -19
  586. package/dist/main/util/deriveLockscript.js.map +0 -1
  587. package/dist/main/util/deriveNetwork.d.ts +0 -1
  588. package/dist/main/util/deriveNetwork.js +0 -23
  589. package/dist/main/util/deriveNetwork.js.map +0 -1
  590. package/dist/main/util/derivePublicKeyHash.d.ts +0 -16
  591. package/dist/main/util/derivePublicKeyHash.js +0 -49
  592. package/dist/main/util/derivePublicKeyHash.js.map +0 -1
  593. package/dist/main/util/eventsource.d.ts +0 -2
  594. package/dist/main/util/eventsource.js +0 -12
  595. package/dist/main/util/eventsource.js.map +0 -1
  596. package/dist/main/util/floor.d.ts +0 -1
  597. package/dist/main/util/floor.js +0 -9
  598. package/dist/main/util/floor.js.map +0 -1
  599. package/dist/main/util/getAddrsByXpubKey.d.ts +0 -22
  600. package/dist/main/util/getAddrsByXpubKey.js +0 -79
  601. package/dist/main/util/getAddrsByXpubKey.js.map +0 -1
  602. package/dist/main/util/getRuntimePlatform.d.ts +0 -6
  603. package/dist/main/util/getRuntimePlatform.js +0 -34
  604. package/dist/main/util/getRuntimePlatform.js.map +0 -1
  605. package/dist/main/util/getUsdRate.d.ts +0 -1
  606. package/dist/main/util/getUsdRate.js +0 -9
  607. package/dist/main/util/getUsdRate.js.map +0 -1
  608. package/dist/main/util/getXPubKey.d.ts +0 -1
  609. package/dist/main/util/getXPubKey.js +0 -26
  610. package/dist/main/util/getXPubKey.js.map +0 -1
  611. package/dist/main/util/hash160.d.ts +0 -8
  612. package/dist/main/util/hash160.js +0 -18
  613. package/dist/main/util/hash160.js.map +0 -1
  614. package/dist/main/util/index.d.ts +0 -21
  615. package/dist/main/util/index.js +0 -72
  616. package/dist/main/util/index.js.map +0 -1
  617. package/dist/main/util/randomBytes.d.ts +0 -1
  618. package/dist/main/util/randomBytes.js +0 -18
  619. package/dist/main/util/randomBytes.js.map +0 -1
  620. package/dist/main/util/randomInt.d.ts +0 -1
  621. package/dist/main/util/randomInt.js +0 -9
  622. package/dist/main/util/randomInt.js.map +0 -1
  623. package/dist/main/util/randomValues.d.ts +0 -1
  624. package/dist/main/util/randomValues.js +0 -15
  625. package/dist/main/util/randomValues.js.map +0 -1
  626. package/dist/main/util/sanitizeAddress.d.ts +0 -1
  627. package/dist/main/util/sanitizeAddress.js +0 -15
  628. package/dist/main/util/sanitizeAddress.js.map +0 -1
  629. package/dist/main/util/sanitizeUnit.d.ts +0 -2
  630. package/dist/main/util/sanitizeUnit.js +0 -13
  631. package/dist/main/util/sanitizeUnit.js.map +0 -1
  632. package/dist/main/util/satoshiToAmount.d.ts +0 -9
  633. package/dist/main/util/satoshiToAmount.js +0 -41
  634. package/dist/main/util/satoshiToAmount.js.map +0 -1
  635. package/dist/main/util/sumSendRequestAmounts.d.ts +0 -2
  636. package/dist/main/util/sumSendRequestAmounts.js +0 -31
  637. package/dist/main/util/sumSendRequestAmounts.js.map +0 -1
  638. package/dist/main/util/sumUtxoValue.d.ts +0 -2
  639. package/dist/main/util/sumUtxoValue.js +0 -17
  640. package/dist/main/util/sumUtxoValue.js.map +0 -1
  641. package/dist/main/wallet/Base.d.ts +0 -202
  642. package/dist/main/wallet/Base.js +0 -438
  643. package/dist/main/wallet/Base.js.map +0 -1
  644. package/dist/main/wallet/Slp.d.ts +0 -430
  645. package/dist/main/wallet/Slp.js +0 -775
  646. package/dist/main/wallet/Slp.js.map +0 -1
  647. package/dist/main/wallet/Util.d.ts +0 -69
  648. package/dist/main/wallet/Util.js +0 -182
  649. package/dist/main/wallet/Util.js.map +0 -1
  650. package/dist/main/wallet/Wif.d.ts +0 -255
  651. package/dist/main/wallet/Wif.js +0 -1067
  652. package/dist/main/wallet/Wif.js.map +0 -1
  653. package/dist/main/wallet/createWallet.d.ts +0 -69
  654. package/dist/main/wallet/createWallet.js +0 -244
  655. package/dist/main/wallet/createWallet.js.map +0 -1
  656. package/dist/main/wallet/enum.d.ts +0 -16
  657. package/dist/main/wallet/enum.js +0 -22
  658. package/dist/main/wallet/enum.js.map +0 -1
  659. package/dist/main/wallet/interface.d.ts +0 -76
  660. package/dist/main/wallet/interface.js +0 -3
  661. package/dist/main/wallet/interface.js.map +0 -1
  662. package/dist/main/wallet/model.d.ts +0 -88
  663. package/dist/main/wallet/model.js +0 -129
  664. package/dist/main/wallet/model.js.map +0 -1
  665. package/dist/main/webhook/Webhook.d.ts +0 -40
  666. package/dist/main/webhook/Webhook.js +0 -82
  667. package/dist/main/webhook/Webhook.js.map +0 -1
  668. package/dist/main/webhook/WebhookBch.d.ts +0 -13
  669. package/dist/main/webhook/WebhookBch.js +0 -148
  670. package/dist/main/webhook/WebhookBch.js.map +0 -1
  671. package/dist/main/webhook/WebhookSlp.d.ts +0 -14
  672. package/dist/main/webhook/WebhookSlp.js +0 -107
  673. package/dist/main/webhook/WebhookSlp.js.map +0 -1
  674. package/dist/main/webhook/WebhookWorker.d.ts +0 -22
  675. package/dist/main/webhook/WebhookWorker.js +0 -100
  676. package/dist/main/webhook/WebhookWorker.js.map +0 -1
  677. package/dist/main/webhook/index.d.ts +0 -5
  678. package/dist/main/webhook/index.js +0 -23
  679. package/dist/main/webhook/index.js.map +0 -1
  680. package/dist/main/webhook/interface.d.ts +0 -8
  681. package/dist/main/webhook/interface.js +0 -3
  682. package/dist/main/webhook/interface.js.map +0 -1
  683. package/dist/mainnet-0.5.8.js +0 -2
  684. package/dist/mainnet-0.5.8.js.LICENSE.txt +0 -48
  685. package/dist/tsconfig.browser.tsbuildinfo +0 -1
  686. package/jest.config.js +0 -23
@@ -0,0 +1,281 @@
1
+ import { binToHex, binToNumberUint16LE, binToUtf8, decodeTransaction, hexToBin, sha256, utf8ToBin, } from "@bitauth/libauth";
2
+ import axios from "axios";
3
+ import { Network } from "../interface.js";
4
+ import { getGlobalProvider } from "../network/default.js";
5
+ // Implementation of CHIP-BCMR v1.0.0, refer to https://github.com/bitjson/chip-bcmr
6
+ export class BCMR {
7
+ static getRegistries() {
8
+ return this.metadataRegistries;
9
+ }
10
+ static resetRegistries() {
11
+ this.metadataRegistries = [];
12
+ }
13
+ /**
14
+ * fetchMetadataRegistry Fetch the BCMR registry JSON file from a remote URI, optionally verifying its content hash
15
+ *
16
+ * @param {string} uri URI of the registry to fetch from
17
+ * @param {string?} contentHash SHA256 hash of the resource the `uri` parameter points at.
18
+ * If specified, calculates the hash of the data fetched from `uri` and matches it with provided one.
19
+ * Yields an error upon mismatch.
20
+ *
21
+ * @returns {Registry} resolved registry
22
+ */
23
+ static async fetchMetadataRegistry(uri, contentHash) {
24
+ // content hashes HTTPS Publication Outputs per spec
25
+ if (contentHash) {
26
+ // request as text and verify hash
27
+ const response = await axios.get(uri, {
28
+ responseType: "text",
29
+ transformResponse: (val) => {
30
+ return val;
31
+ },
32
+ });
33
+ const hash = binToHex(sha256.hash(utf8ToBin(response.data)));
34
+ if (contentHash != hash) {
35
+ throw new Error(`Content hash mismatch for URI: ${uri}\nreceived: ${hash}\nrequired: ${contentHash}`);
36
+ }
37
+ return JSON.parse(response.data);
38
+ }
39
+ // request as JSON
40
+ const response = await axios.get(uri);
41
+ return response.data;
42
+ }
43
+ /**
44
+ * addMetadataRegistry Add the metadata registry to the list of tracked registries
45
+ *
46
+ * @param {Registry} registry Registry object per schema specification, see https://raw.githubusercontent.com/bitjson/chip-bcmr/master/bcmr-v1.schema.json
47
+ *
48
+ */
49
+ static addMetadataRegistry(registry) {
50
+ if (this.metadataRegistries.some((val) => JSON.stringify(val) === JSON.stringify(registry))) {
51
+ return;
52
+ }
53
+ this.metadataRegistries.push(registry);
54
+ }
55
+ /**
56
+ * addMetadataRegistryFromUri Add the metadata registry by fetching a JSON file from a remote URI, optionally verifying its content hash
57
+ *
58
+ * @param {string} uri URI of the registry to fetch from
59
+ * @param {string?} contentHash SHA256 hash of the resource the `uri` parameter points at.
60
+ * If specified, calculates the hash of the data fetched from `uri` and matches it with provided one.
61
+ * Yields an error upon mismatch.
62
+ *
63
+ */
64
+ static async addMetadataRegistryFromUri(uri, contentHash) {
65
+ const registry = await this.fetchMetadataRegistry(uri, contentHash);
66
+ this.addMetadataRegistry(registry);
67
+ }
68
+ /**
69
+ * buildAuthChain Build an authchain - Zeroth-Descendant Transaction Chain, refer to https://github.com/bitjson/chip-bcmr#zeroth-descendant-transaction-chains
70
+ * The authchain in this implementation is specific to resolve to a valid metadata registy
71
+ *
72
+ * @param {string} options.transactionHash (required) transaction hash from which to build the auth chain
73
+ * @param {Network?} options.network (default=mainnet) network to query the data from
74
+ * @param {boolean?} options.resolveBase (default=false) boolean flag to indicate that autchain building should resolve and verify elements back to base or be stopped at this exact chain element
75
+ * @param {boolean?} options.followToHead (default=true) boolean flag to indicate that autchain building should progress to head or be stopped at this exact chain element
76
+ * @param {ElectrumRawTransaction?} options.rawTx cached raw transaction obtained previously, spares a Fulcrum call
77
+ * @param {TxI[]?} options.historyCache cached address history to be reused if authchain building proceeds with the same address, spares a flurry of Fulcrum calls
78
+ *
79
+ * @returns {AuthChain} returns the resolved authchain
80
+ */
81
+ static async buildAuthChain(options) {
82
+ if (options.network === undefined) {
83
+ options.network = Network.MAINNET;
84
+ }
85
+ if (options.followToHead === undefined) {
86
+ options.followToHead = true;
87
+ }
88
+ if (options.resolveBase === undefined) {
89
+ options.resolveBase = false;
90
+ }
91
+ const provider = getGlobalProvider(options.network);
92
+ if (!options.rawTx) {
93
+ options.rawTx = await provider.getRawTransactionObject(options.transactionHash);
94
+ }
95
+ // helper function to enforce the constraints on the 0th output, decode the BCMR's OP_RETURN data
96
+ // returns resolved AuthChainElement
97
+ const makeAuthChainElement = (rawTx, hash) => {
98
+ let opReturns;
99
+ let spends0thOutput = false;
100
+ if (rawTx.hasOwnProperty("vout")) {
101
+ const electrumTransaction = rawTx;
102
+ opReturns = electrumTransaction.vout
103
+ .filter((val) => val.scriptPubKey.type === "nulldata")
104
+ .map((val) => val.scriptPubKey.hex);
105
+ spends0thOutput = electrumTransaction.vin[0].vout === 0;
106
+ }
107
+ else {
108
+ const libauthTransaction = rawTx;
109
+ opReturns = libauthTransaction.outputs
110
+ .map((val) => binToHex(val.lockingBytecode))
111
+ .filter((val) => val.indexOf("6a") === 0);
112
+ spends0thOutput = libauthTransaction.inputs[0].outpointIndex === 0;
113
+ }
114
+ const bcmrOpReturns = opReturns.filter((val) => val.indexOf("6a0442434d52") === 0 ||
115
+ val.indexOf("6a4c0442434d52") === 0 ||
116
+ val.indexOf("6a4d040042434d52") === 0 ||
117
+ val.indexOf("6ade0400000042434d52") === 0);
118
+ if (bcmrOpReturns.length === 0) {
119
+ throw new Error("No BCMR OP_RETURN outputs found in the transaction");
120
+ }
121
+ if (!spends0thOutput) {
122
+ throw new Error("Invalid authchain transaction (does not spend 0th output of previous transaction)");
123
+ }
124
+ const opReturnHex = opReturns[0];
125
+ const opReturn = hexToBin(opReturnHex);
126
+ const chunks = [];
127
+ let position = 1;
128
+ // handle direct push, OP_PUSHDATA1, OP_PUSHDATA2;
129
+ // OP_PUSHDATA4 is not supported in OP_RETURNs by consensus
130
+ while (opReturn[position]) {
131
+ let length = 0;
132
+ if (opReturn[position] === 0x4c) {
133
+ length = opReturn[position + 1];
134
+ position += 2;
135
+ }
136
+ else if (opReturn[position] === 0x4d) {
137
+ length = binToNumberUint16LE(opReturn.slice(position + 1, position + 3));
138
+ position += 3;
139
+ }
140
+ else {
141
+ length = opReturn[position];
142
+ position += 1;
143
+ }
144
+ chunks.push(opReturn.slice(position, position + length));
145
+ position += length;
146
+ }
147
+ if (chunks.length < 2 || chunks.length > 3) {
148
+ throw new Error(`Malformed BCMR output: ${opReturnHex}`);
149
+ }
150
+ const result = {
151
+ txHash: hash,
152
+ contentHash: "",
153
+ uri: "",
154
+ };
155
+ if (chunks.length === 2) {
156
+ // IPFS Publication Output
157
+ result.contentHash = binToHex(chunks[1]);
158
+ const ipfsCid = binToUtf8(chunks[1]);
159
+ result.uri = `https://dweb.link/ipfs/${ipfsCid}`;
160
+ }
161
+ else {
162
+ // HTTPS Publication Output
163
+ // content hash is in OP_SHA256 byte order per spec
164
+ result.contentHash = binToHex(chunks[1].slice().reverse());
165
+ result.uri = binToUtf8(chunks[2]);
166
+ }
167
+ return result;
168
+ };
169
+ // make authchain element and combine with the rest obtained
170
+ const element = makeAuthChainElement(options.rawTx, options.rawTx.hash);
171
+ let chainBase = [];
172
+ if (options.resolveBase) {
173
+ // check for accelerated path if "authchain" extension is in registry
174
+ const registry = await this.fetchMetadataRegistry(element.uri, element.contentHash);
175
+ if (registry.extensions &&
176
+ registry.extensions["authchain"] &&
177
+ registry.extensions["authchain"].length) {
178
+ const chainTxArray = registry.extensions["authchain"];
179
+ chainBase = chainTxArray
180
+ .map((tx) => {
181
+ const transactionBin = hexToBin(tx);
182
+ const decoded = decodeTransaction(transactionBin);
183
+ if (typeof decoded === "string") {
184
+ throw new Error(`Error decoding transaction ${JSON.stringify(tx)}, ${decoded}`);
185
+ }
186
+ const hash = binToHex(sha256.hash(sha256.hash(transactionBin)).reverse());
187
+ return { decoded, hash };
188
+ })
189
+ .map(({ decoded, hash }) => makeAuthChainElement(decoded, hash));
190
+ }
191
+ else {
192
+ // simply go back in history towards authhead
193
+ let stop = false;
194
+ let tx = { ...options.rawTx };
195
+ while (stop == false) {
196
+ tx = await provider.getRawTransactionObject(tx.vin[0].txid);
197
+ try {
198
+ const pastElement = makeAuthChainElement(tx, tx.hash);
199
+ chainBase.unshift(pastElement);
200
+ }
201
+ catch {
202
+ stop = true;
203
+ }
204
+ }
205
+ }
206
+ }
207
+ // if we follow to head, we need to locate the next transaction spending our 0th output
208
+ // and repeat the building process recursively
209
+ if (options.followToHead) {
210
+ // let's figure out the autchain by moving towards authhead
211
+ const history = options.historyCache ||
212
+ (await provider.getHistory(options.rawTx.vout[0].scriptPubKey.addresses[0]));
213
+ const thisTx = history.find((val) => val.tx_hash === options.transactionHash);
214
+ let filteredHistory = history.filter((val) => val.height > 0
215
+ ? val.height >= thisTx.height || val.height <= 0
216
+ : val.height <= 0 && val.tx_hash !== thisTx.tx_hash);
217
+ for (const historyTx of filteredHistory) {
218
+ const historyRawTx = await provider.getRawTransactionObject(historyTx.tx_hash);
219
+ const authChainVin = historyRawTx.vin.find((val) => val.txid === options.transactionHash && val.vout === 0);
220
+ // if we've found continuation of authchain, we shall recurse into it
221
+ if (authChainVin) {
222
+ // reuse queried address history if the next element in chain is the same address
223
+ const historyCache = options.rawTx.vout[0].scriptPubKey.addresses[0] ===
224
+ historyRawTx.vout[0].scriptPubKey.addresses[0]
225
+ ? filteredHistory
226
+ : undefined;
227
+ // query next chain element
228
+ const chainHead = await BCMR.buildAuthChain({
229
+ transactionHash: historyRawTx.hash,
230
+ network: options.network,
231
+ rawTx: historyRawTx,
232
+ historyCache: historyCache,
233
+ followToHead: options.followToHead,
234
+ resolveBase: false,
235
+ });
236
+ // combine the authchain element with the rest obtained
237
+ return [...chainBase, element, ...chainHead];
238
+ }
239
+ }
240
+ }
241
+ // return the last chain element (or the only found in an edge case)
242
+ return [...chainBase, element];
243
+ }
244
+ /**
245
+ * addMetadataRegistryAuthChain Add BCMR metadata registry by resolving an authchain
246
+ *
247
+ * @param {string} options.transactionHash (required) transaction hash from which to build the auth chain
248
+ * @param {Network?} options.network (default=mainnet) network to query the data from
249
+ * @param {boolean?} options.followToHead (default=true) boolean flag to indicate that autchain building should progress to head (most recent registry version) or be stopped at this exact chain element
250
+ * @param {ElectrumRawTransaction?} options.rawTx cached raw transaction obtained previously, spares a Fulcrum call
251
+ *
252
+ * @returns {AuthChain} returns the resolved authchain
253
+ */
254
+ static async addMetadataRegistryAuthChain(options) {
255
+ const authChain = await this.buildAuthChain({
256
+ ...options,
257
+ resolveBase: false,
258
+ });
259
+ const registry = await this.fetchMetadataRegistry(authChain.reverse()[0].uri);
260
+ this.addMetadataRegistry(registry);
261
+ return authChain;
262
+ }
263
+ /**
264
+ * getTokenInfo Return the token info (or the identity snapshot as per spec)
265
+ *
266
+ * @param {string} tokenId token id to look up
267
+ *
268
+ * @returns {IdentitySnapshot?} return the info for the token found, otherwise undefined
269
+ */
270
+ static getTokenInfo(tokenId) {
271
+ return this.metadataRegistries
272
+ .slice(0)
273
+ .reverse()
274
+ .filter((val) => typeof val.registryIdentity !== "string")
275
+ .map((val) => val.registryIdentity)
276
+ .filter((val) => val.token?.category === tokenId)?.[0];
277
+ }
278
+ }
279
+ // List of tracked registries
280
+ BCMR.metadataRegistries = [];
281
+ //# sourceMappingURL=Bcmr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bcmr.js","sourceRoot":"","sources":["../../../src/wallet/Bcmr.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Wallet, RegTestWallet, TestNetWallet, WifWallet, TestNetWifWallet, RegTestWifWallet, WatchWallet, TestNetWatchWallet, RegTestWatchWallet } from "../wallet/Wif";
2
- import { SlpFormattedUtxo, SlpGenesisOptions, SlpGenesisResult, SlpMintOptions, SlpMintResult, SlpSendRequest, SlpSendResponse, SlpTokenBalance, SlpTokenInfo, SlpTxI, SlpUtxoI } from "../slp/interface";
3
- import { ImageI } from "../qr/interface";
4
- import { ElectrumRawTransaction } from "../network/interface";
1
+ import { Wallet, RegTestWallet, TestNetWallet, WifWallet, TestNetWifWallet, RegTestWifWallet, WatchWallet, TestNetWatchWallet, RegTestWatchWallet } from "../wallet/Wif.js";
2
+ import { SlpFormattedUtxo, SlpGenesisOptions, SlpGenesisResult, SlpMintOptions, SlpMintResult, SlpSendRequest, SlpSendResponse, SlpTokenBalance, SlpTokenInfo, SlpTxI, SlpUtxoI } from "../slp/interface.js";
3
+ import { ImageI } from "../qr/interface.js";
4
+ import { ElectrumRawTransaction } from "../network/interface.js";
5
5
  import BigNumber from "bignumber.js";
6
- import { SlpCancelWatchFn, SlpProvider, SlpWatchBalanceCallback, SlpWatchTransactionCallback } from "../slp/SlpProvider";
6
+ import { SlpCancelWatchFn, SlpProvider, SlpWatchBalanceCallback, SlpWatchTransactionCallback } from "../slp/SlpProvider.js";
7
7
  /**
8
8
  * Class to manage an slp enabled wallet.
9
9
  */
@@ -428,3 +428,4 @@ export declare class TestNetWatchSlp extends Slp {
428
428
  export declare class RegTestWatchSlp extends Slp {
429
429
  static get walletType(): typeof RegTestWatchWallet;
430
430
  }
431
+ //# sourceMappingURL=Slp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slp.d.ts","sourceRoot":"","sources":["../../../src/wallet/Slp.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import { Wallet, RegTestWallet, TestNetWallet, WifWallet, TestNetWifWallet, RegTestWifWallet, WatchWallet, TestNetWatchWallet, RegTestWatchWallet, } from "../wallet/Wif";
2
- import { SlpTokenType, } from "../slp/interface";
3
- import { SlpDbProvider } from "../slp/SlpDbProvider";
4
- import { qrAddress } from "../qr/Qr";
1
+ import { Wallet, RegTestWallet, TestNetWallet, WifWallet, TestNetWifWallet, RegTestWifWallet, WatchWallet, TestNetWatchWallet, RegTestWatchWallet, } from "../wallet/Wif.js";
2
+ import { SlpTokenType, } from "../slp/interface.js";
3
+ import { SlpDbProvider } from "../slp/SlpDbProvider.js";
4
+ import { qrAddress } from "../qr/Qr.js";
5
5
  import BigNumber from "bignumber.js";
6
- import { getRelayFeeCache } from "../network/getRelayFeeCache";
7
- import { buildEncodedTransaction, getFeeAmount, getSuitableUtxos, } from "../transaction/Wif";
8
- import { SlpGetGenesisOutputs, SlpGetMintOutputs, SlpGetSendOutputs, } from "../slp/SlpLibAuth";
6
+ import { getRelayFeeCache } from "../network/getRelayFeeCache.js";
7
+ import { buildEncodedTransaction, getFeeAmount, getSuitableUtxos, } from "../transaction/Wif.js";
8
+ import { SlpGetGenesisOutputs, SlpGetMintOutputs, SlpGetSendOutputs, } from "../slp/SlpLibAuth.js";
9
9
  import { binToHex } from "@bitauth/libauth";
10
- import { toCashAddress, toSlpAddress } from "../util/bchaddr";
11
- import { GsppProvider } from "../slp/GsppProvider";
12
- import { delay } from "../util/delay";
13
- import { Util } from "./Util";
14
- import { Mainnet } from "../index";
15
- import { FeePaidByEnum } from "./enum";
10
+ import { toCashAddress, toSlpAddress } from "../util/bchaddr.js";
11
+ import { GsppProvider } from "../slp/GsppProvider.js";
12
+ import { delay } from "../util/delay.js";
13
+ import { Util } from "./Util.js";
14
+ import { FeePaidByEnum } from "./enum.js";
15
+ import { getRuntimePlatform, RuntimePlatform, } from "../util/getRuntimePlatform.js";
16
16
  /**
17
17
  * Class to manage an slp enabled wallet.
18
18
  */
@@ -28,7 +28,7 @@ export class Slp {
28
28
  this.slpaddr = toSlpAddress(wallet.cashaddr);
29
29
  this.wallet = wallet;
30
30
  let provider = Slp.defaultProvider;
31
- if (Mainnet.getRuntimePlatform() === Mainnet.RuntimePlatform.node &&
31
+ if (getRuntimePlatform() === RuntimePlatform.node &&
32
32
  process.env.SLP_PROVIDER)
33
33
  provider = process.env.SLP_PROVIDER;
34
34
  if (provider === "gspp") {
@@ -504,7 +504,7 @@ export class Slp {
504
504
  feePaidBy: FeePaidByEnum.change,
505
505
  });
506
506
  const bchSpendAmount = slpOutputsResult.BchSendRequests.map((val) => val.value).reduce((a, b) => a + b, 0);
507
- let fundingUtxos = await getSuitableUtxos(fundingBchUtxos, BigInt(bchSpendAmount) + BigInt(feeEstimate), bestHeight, FeePaidByEnum.change);
507
+ let fundingUtxos = await getSuitableUtxos(fundingBchUtxos, BigInt(bchSpendAmount) + BigInt(feeEstimate), bestHeight, FeePaidByEnum.change, slpOutputsResult.BchSendRequests);
508
508
  if (fundingUtxos.length === 0) {
509
509
  throw Error("The available inputs couldn't satisfy the request with fees");
510
510
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Slp.js","sourceRoot":"","sources":["../../../src/wallet/Slp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Slp.js","sourceRoot":"","sources":["../../../src/wallet/Slp.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { RegTestWallet, RegTestWatchWallet, RegTestWifWallet, TestNetWallet, TestNetWatchWallet, TestNetWifWallet, Wallet, WatchWallet, WifWallet } from "../wallet/Wif";
1
+ import { RegTestWallet, RegTestWatchWallet, RegTestWifWallet, TestNetWallet, TestNetWatchWallet, TestNetWifWallet, Wallet, WatchWallet, WifWallet } from "../wallet/Wif.js";
2
2
  import { Transaction as LibAuthTransaction } from "@bitauth/libauth";
3
- import { ElectrumRawTransaction } from "../network/interface";
3
+ import { ElectrumRawTransaction } from "../network/interface.js";
4
4
  /**
5
5
  * Class with various wallet utilities.
6
6
  */
@@ -67,3 +67,4 @@ export declare class TestNetWatchUtil extends Util {
67
67
  export declare class RegTestWatchUtil extends Util {
68
68
  static get walletType(): typeof RegTestWatchWallet;
69
69
  }
70
+ //# sourceMappingURL=Util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/wallet/Util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,SAAS,EACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAKL,WAAW,IAAI,kBAAkB,EAClC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EAKvB,MAAM,yBAAyB,CAAC;AAIjC;;GAEG;AACH,qBAAa,IAAI;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,MAAM,KAAK,UAAU,kBAEpB;IAED;;;;OAIG;gBACS,MAAM,EAAE,MAAM;IAIb,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAIvD,kBAAkB,CACpC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC;IAIL,iBAAiB,CAC5B,oBAAoB,EAAE,MAAM,EAC5B,eAAe,GAAE,OAAe,GAC/B,OAAO,CAAC,sBAAsB,CAAC;IAiD3B,2BAA2B,CAChC,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,sBAAsB;WA0CL,iBAAiB,CACnC,oBAAoB,EAAE,MAAM,EAC5B,eAAe,GAAE,OAAe,GAC/B,OAAO,CAAC,sBAAsB,CAAC;CAMnC;AAGD;;GAEG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACnC,MAAM,KAAK,UAAU,yBAEpB;CACF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACnC,MAAM,KAAK,UAAU,yBAEpB;CACF;AAED;;GAEG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,MAAM,KAAK,UAAU,qBAEpB;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,IAAI;IACtC,MAAM,KAAK,UAAU,4BAEpB;CACF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,IAAI;IACtC,MAAM,KAAK,UAAU,4BAEpB;CACF;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,IAAI;IACjC,MAAM,KAAK,UAAU,uBAEpB;CACF;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,IAAI;IACxC,MAAM,KAAK,UAAU,8BAEpB;CACF;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,IAAI;IACxC,MAAM,KAAK,UAAU,8BAEpB;CACF"}
@@ -1,7 +1,7 @@
1
- import { RegTestWallet, RegTestWatchWallet, RegTestWifWallet, TestNetWallet, TestNetWatchWallet, TestNetWifWallet, Wallet, WatchWallet, WifWallet, } from "../wallet/Wif";
2
- import { binToBigIntUint64LE, binToHex, decodeTransaction as decodeTransactionLibAuth, hexToBin, instantiateSha256, lockingBytecodeToCashAddress, TransactionDecodingError, } from "@bitauth/libauth";
3
- import { bchParam } from "../chain";
4
- let sha256;
1
+ import { RegTestWallet, RegTestWatchWallet, RegTestWifWallet, TestNetWallet, TestNetWatchWallet, TestNetWifWallet, Wallet, WatchWallet, WifWallet, } from "../wallet/Wif.js";
2
+ import { binToHex, decodeTransaction as decodeTransactionLibAuth, hexToBin, lockingBytecodeToCashAddress, } from "@bitauth/libauth";
3
+ import { bchParam } from "../chain.js";
4
+ import { getTransactionHash } from "../util/transaction.js";
5
5
  /**
6
6
  * Class with various wallet utilities.
7
7
  */
@@ -18,15 +18,10 @@ export class Util {
18
18
  return Wallet;
19
19
  }
20
20
  async getTransactionHash(rawTransactionHex) {
21
- const transactionBin = hexToBin(rawTransactionHex);
22
- if (!sha256) {
23
- sha256 = await instantiateSha256();
24
- }
25
- // transaction hash is a double sha256 of a raw transaction data, reversed byte order
26
- return binToHex(sha256.hash(sha256.hash(transactionBin)).reverse());
21
+ return getTransactionHash(rawTransactionHex);
27
22
  }
28
23
  static async getTransactionHash(rawTransactionHex) {
29
- return new this.walletType().util.getTransactionHash(rawTransactionHex);
24
+ return getTransactionHash(rawTransactionHex);
30
25
  }
31
26
  async decodeTransaction(transactionHashOrHex, loadInputValues = false) {
32
27
  let transactionHex;
@@ -45,8 +40,8 @@ export class Util {
45
40
  transactionBin = hexToBin(transactionHex);
46
41
  }
47
42
  const result = decodeTransactionLibAuth(transactionBin);
48
- if (result === TransactionDecodingError.invalidFormat) {
49
- throw Error(TransactionDecodingError.invalidFormat);
43
+ if (typeof result === "string") {
44
+ throw Error(result);
50
45
  }
51
46
  const transaction = this.mapToElectrumRawTransaction(result, txHash, transactionHex);
52
47
  if (loadInputValues) {
@@ -86,7 +81,7 @@ export class Util {
86
81
  ],
87
82
  hex: binToHex(output.lockingBytecode),
88
83
  },
89
- value: Number(binToBigIntUint64LE(output.satoshis)) / bchParam.subUnits,
84
+ value: Number(output.valueSatoshis) / bchParam.subUnits,
90
85
  };
91
86
  });
92
87
  result.locktime = transaction.locktime;
@@ -1 +1 @@
1
- {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/wallet/Util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,IAAI,wBAAwB,EAC7C,QAAQ,EACR,iBAAiB,EACjB,4BAA4B,EAE5B,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,IAAI,MAAM,CAAC;AAEX;;GAEG;AACH,MAAM,OAAO,IAAI;IAMf;;;;OAIG;IACH,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAXD,MAAM,KAAK,UAAU;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAWM,KAAK,CAAC,kBAAkB,CAAC,iBAAyB;QACvD,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAEnD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;SACpC;QACD,qFAAqF;QACrF,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,kBAAkB,CACpC,iBAAyB;QAEzB,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC5B,oBAA4B,EAC5B,kBAA2B,KAAK;QAEhC,IAAI,cAAsB,CAAC;QAC3B,IAAI,cAA0B,CAAC;QAC/B,IAAI,MAAc,CAAC;QAEnB,kBAAkB;QAClB,IAAI,oBAAoB,CAAC,MAAM,GAAG,EAAE,EAAE;YACpC,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YAC7D,cAAc,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAChD,cAAc,GAAG,oBAAoB,CAAC;SACvC;aAAM;YACL,uCAAuC;YACvC,MAAM,GAAG,oBAAoB,CAAC;YAC9B,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvE,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;SAC3C;QAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,wBAAwB,CAAC,aAAa,EAAE;YACrD,MAAM,KAAK,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;SACrD;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAClD,MAAM,EACN,MAAM,EACN,cAAc,CACf,CAAC;QAEF,IAAI,eAAe,EAAE;YACnB,gCAAgC;YAChC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;YACjE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAEjE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChC,MAAM,MAAM,GAAG,cAAc;qBAC1B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE;qBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAE,CAAC;gBAC7C,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjD,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,2BAA2B,CAChC,WAA+B,EAC/B,MAAc,EACd,KAAa;QAEb,IAAI,MAAM,GAA2B,EAAS,CAAC;QAE/C,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAA6B,EAAE;YACvE,OAAO;gBACL,SAAS,EAAE;oBACT,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;iBACD;gBACvC,QAAQ,EAAE,KAAK,CAAC,cAAc;gBAC9B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC;gBAC7C,IAAI,EAAE,KAAK,CAAC,aAAa;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CACnC,CAAC,MAAM,EAAE,KAAK,EAA8B,EAAE;YAC5C,OAAO;gBACL,CAAC,EAAE,KAAK;gBACR,YAAY,EAAE;oBACZ,SAAS,EAAE;wBACT,4BAA4B,CAC1B,MAAM,CAAC,eAAe,EACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B,CAAC,QAAQ,EAAE;qBACb;oBACD,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;iBACI;gBAC3C,KAAK,EACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ;aACnE,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAE/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CACnC,oBAA4B,EAC5B,kBAA2B,KAAK;QAEhC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,iBAAiB,CACjD,oBAAoB,EACpB,eAAe,CAChB,CAAC;IACJ,CAAC;CACF;AAED,iCAAiC;AACjC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI;IACnC,MAAM,KAAK,UAAU;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI;IACnC,MAAM,KAAK,UAAU;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,IAAI;IAC/B,MAAM,KAAK,UAAU;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,IAAI;IACtC,MAAM,KAAK,UAAU;QACnB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,IAAI;IACtC,MAAM,KAAK,UAAU;QACnB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,IAAI;IACjC,MAAM,KAAK,UAAU;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IACxC,MAAM,KAAK,UAAU;QACnB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IACxC,MAAM,KAAK,UAAU;QACnB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AACD,YAAY"}
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/wallet/Util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,QAAQ,EACR,iBAAiB,IAAI,wBAAwB,EAC7C,QAAQ,EACR,4BAA4B,GAE7B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,IAAI;IAMf;;;;OAIG;IACH,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAXD,MAAM,KAAK,UAAU;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAWM,KAAK,CAAC,kBAAkB,CAAC,iBAAyB;QACvD,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,kBAAkB,CACpC,iBAAyB;QAEzB,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC5B,oBAA4B,EAC5B,kBAA2B,KAAK;QAEhC,IAAI,cAAsB,CAAC;QAC3B,IAAI,cAA0B,CAAC;QAC/B,IAAI,MAAc,CAAC;QAEnB,kBAAkB;QAClB,IAAI,oBAAoB,CAAC,MAAM,GAAG,EAAE,EAAE;YACpC,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YAC7D,cAAc,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAChD,cAAc,GAAG,oBAAoB,CAAC;SACvC;aAAM;YACL,uCAAuC;YACvC,MAAM,GAAG,oBAAoB,CAAC;YAC9B,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvE,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;SAC3C;QAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;SACrB;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAClD,MAAM,EACN,MAAM,EACN,cAAc,CACf,CAAC;QAEF,IAAI,eAAe,EAAE;YACnB,gCAAgC;YAChC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAC1D,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;YACjE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAEjE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChC,MAAM,MAAM,GAAG,cAAc;qBAC1B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE;qBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAE,CAAC;gBAC7C,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjD,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,2BAA2B,CAChC,WAA+B,EAC/B,MAAc,EACd,KAAa;QAEb,IAAI,MAAM,GAA2B,EAAS,CAAC;QAE/C,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAA6B,EAAE;YACvE,OAAO;gBACL,SAAS,EAAE;oBACT,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;iBACD;gBACvC,QAAQ,EAAE,KAAK,CAAC,cAAc;gBAC9B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC;gBAC7C,IAAI,EAAE,KAAK,CAAC,aAAa;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CACnC,CAAC,MAAM,EAAE,KAAK,EAA8B,EAAE;YAC5C,OAAO;gBACL,CAAC,EAAE,KAAK;gBACR,YAAY,EAAE;oBACZ,SAAS,EAAE;wBACT,4BAA4B,CAC1B,MAAM,CAAC,eAAe,EACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B,CAAC,QAAQ,EAAE;qBACb;oBACD,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;iBACI;gBAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,QAAQ;aACxD,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACvC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAE/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CACnC,oBAA4B,EAC5B,kBAA2B,KAAK;QAEhC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,iBAAiB,CACjD,oBAAoB,EACpB,eAAe,CAChB,CAAC;IACJ,CAAC;CACF;AAED,iCAAiC;AACjC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI;IACnC,MAAM,KAAK,UAAU;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI;IACnC,MAAM,KAAK,UAAU;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,IAAI;IAC/B,MAAM,KAAK,UAAU;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,IAAI;IACtC,MAAM,KAAK,UAAU;QACnB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,IAAI;IACtC,MAAM,KAAK,UAAU;QACnB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,IAAI;IACjC,MAAM,KAAK,UAAU;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IACxC,MAAM,KAAK,UAAU;QACnB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAI;IACxC,MAAM,KAAK,UAAU;QACnB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AACD,YAAY"}