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
@@ -1,338 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const electrum_cash_1 = require("electrum-cash");
4
- const interface_1 = require("../interface");
5
- const delay_1 = require("../util/delay");
6
- const async_mutex_1 = require("async-mutex");
7
- const Util_1 = require("../wallet/Util");
8
- class ElectrumNetworkProvider {
9
- constructor(electrum, network = interface_1.Network.MAINNET, manualConnectionManagement) {
10
- this.network = network;
11
- this.manualConnectionManagement = manualConnectionManagement;
12
- this.subscriptions = 0;
13
- this.mutex = new async_mutex_1.Mutex();
14
- this.blockHeight = 0;
15
- if (electrum) {
16
- this.electrum = electrum;
17
- this.connectPromise = this.getConnectPromise();
18
- }
19
- else {
20
- throw new Error(`A electrum-cash cluster or client is required.`);
21
- }
22
- }
23
- async getConnectPromise(_timeout = 3000) {
24
- // connects to the electrum cash and waits until the connection is ready to accept requests
25
- let timeoutHandle;
26
- await Promise.race([
27
- new Promise(async (resolve) => {
28
- this.connectPromise = undefined;
29
- if (this.electrum instanceof electrum_cash_1.ElectrumCluster) {
30
- try {
31
- await this.connectCluster();
32
- }
33
- catch (e) {
34
- console.warn(`Unable to connect to one or more electrum-cash hosts: ${e}`);
35
- }
36
- resolve(await this.readyCluster());
37
- }
38
- else {
39
- resolve(await this.connectClient());
40
- }
41
- }),
42
- // new Promise(
43
- // (_resolve, reject) =>
44
- // (timeoutHandle = setTimeout(() => {
45
- // reject(
46
- // new Error(`Timeout connecting to electrum network: ${this.network}`)
47
- // );
48
- // }, _timeout))
49
- // ),
50
- ]);
51
- clearTimeout(timeoutHandle);
52
- }
53
- async getUtxos(cashaddr) {
54
- const result = (await this.performRequest("blockchain.address.listunspent", cashaddr));
55
- const utxos = result.map((utxo) => ({
56
- txid: utxo.tx_hash,
57
- vout: utxo.tx_pos,
58
- satoshis: utxo.value,
59
- height: utxo.height,
60
- }));
61
- return utxos;
62
- }
63
- async getBalance(cashaddr) {
64
- const result = (await this.performRequest("blockchain.address.get_balance", cashaddr));
65
- return result.confirmed + result.unconfirmed;
66
- }
67
- async getBlockHeight() {
68
- if (!this.blockHeight) {
69
- return new Promise(async (resolve) => {
70
- await this.subscribeToHeaders((header) => {
71
- this.blockHeight = header.height;
72
- });
73
- resolve(this.blockHeight);
74
- });
75
- }
76
- return this.blockHeight;
77
- }
78
- async getRawTransaction(txHash, verbose = false) {
79
- try {
80
- return (await this.performRequest("blockchain.transaction.get", txHash, verbose));
81
- }
82
- catch (error) {
83
- if (error.message.indexOf("No such mempool or blockchain transaction.") > -1)
84
- throw Error(`Could not decode transaction ${txHash}. It might not exist on the current blockchain (${this.network}).`);
85
- else
86
- throw error;
87
- }
88
- }
89
- // gets the decoded transaction in human readable form
90
- async getRawTransactionObject(txHash) {
91
- return (await this.getRawTransaction(txHash, true));
92
- }
93
- async sendRawTransaction(txHex, awaitPropagation = true) {
94
- return new Promise(async (resolve, reject) => {
95
- let txHash = await Util_1.Util.getTransactionHash(txHex);
96
- if (!awaitPropagation) {
97
- this.performRequest("blockchain.transaction.broadcast", txHex);
98
- resolve(txHash);
99
- }
100
- else {
101
- const waitForTransactionCallback = async (data) => {
102
- if (data && data[0] === txHash) {
103
- this.unsubscribeFromTransaction(txHash, waitForTransactionCallback);
104
- resolve(txHash);
105
- }
106
- };
107
- this.subscribeToTransaction(txHash, waitForTransactionCallback);
108
- this.performRequest("blockchain.transaction.broadcast", txHex).catch((error) => {
109
- this.unsubscribeFromTransaction(txHash, waitForTransactionCallback);
110
- reject(error);
111
- });
112
- }
113
- });
114
- }
115
- // Get transaction history of a given cashaddr
116
- async getHistory(cashaddr) {
117
- const result = (await this.performRequest("blockchain.address.get_history", cashaddr));
118
- return result;
119
- }
120
- // Get the minimum fee a low-priority transaction must pay in order to be accepted to the daemon's memory pool.
121
- async getRelayFee() {
122
- const result = (await this.performRequest("blockchain.relayfee"));
123
- return result;
124
- }
125
- watchAddressStatus(cashaddr, callback) {
126
- const watchAddressStatusCallback = async (data) => {
127
- // subscription acknowledgement is the latest known status or null if no status is known
128
- // status is an array: [ cashaddr, statusHash ]
129
- if (data instanceof Array) {
130
- const addr = data[0];
131
- if (addr !== cashaddr) {
132
- return;
133
- }
134
- const status = data[1];
135
- callback(status);
136
- }
137
- };
138
- this.subscribeToAddress(cashaddr, watchAddressStatusCallback);
139
- return async () => {
140
- await this.unsubscribeFromAddress(cashaddr, watchAddressStatusCallback);
141
- };
142
- }
143
- // public watchAddress(
144
- // cashaddr: string,
145
- // callback: (txHash: string) => void
146
- // ): CancelWatchFn {
147
- // const watchAddressCallback = async (data) => {
148
- // // subscription acknowledgement is the latest known status or null if no status is known
149
- // // status is an array: [ cashaddr, [tx_hashes] ]
150
- // if (data instanceof Array) {
151
- // let addr = data[0] as string;
152
- // if (addr !== cashaddr) {
153
- // return;
154
- // }
155
- // for (const txHash of data[1]) {
156
- // if (!txHash) {
157
- // // data[1] can be null eventually if there are no tx for this address
158
- // continue;
159
- // }
160
- // callback(txHash);
161
- // }
162
- // }
163
- // };
164
- // this.subscribeToAddressTransactions(cashaddr, watchAddressCallback);
165
- // return async () => {
166
- // await this.unsubscribeFromAddressTransactions(
167
- // cashaddr,
168
- // watchAddressCallback
169
- // );
170
- // };
171
- // }
172
- // public watchAddressTransactions(
173
- // cashaddr: string,
174
- // callback: (tx: ElectrumRawTransaction) => void
175
- // ): CancelWatchFn {
176
- // return this.watchAddress(cashaddr, async (txHash: string) => {
177
- // const tx = await this.getRawTransactionObject(txHash);
178
- // callback(tx);
179
- // });
180
- // }
181
- // Wait for the next block or a block at given blockchain height.
182
- watchBlocks(callback) {
183
- let acknowledged = false;
184
- const waitForBlockCallback = (_header) => {
185
- if (!acknowledged) {
186
- acknowledged = true;
187
- return;
188
- }
189
- _header = _header instanceof Array ? _header[0] : _header;
190
- callback(_header);
191
- };
192
- this.subscribeToHeaders(waitForBlockCallback);
193
- return async () => {
194
- this.unsubscribeFromHeaders(waitForBlockCallback);
195
- };
196
- }
197
- // Wait for the next block or a block at given blockchain height.
198
- async waitForBlock(height) {
199
- return new Promise(async (resolve) => {
200
- const cancelWatch = this.watchBlocks(async (header) => {
201
- if (height === undefined || header.height >= height) {
202
- await cancelWatch();
203
- resolve(header);
204
- }
205
- });
206
- });
207
- }
208
- // subscribe to notifications sent when new block is found, the block header is sent to callback
209
- async subscribeToHeaders(callback) {
210
- await this.subscribeRequest("blockchain.headers.subscribe", callback);
211
- }
212
- // unsubscribe to notifications sent when new block is found
213
- async unsubscribeFromHeaders(callback) {
214
- await this.unsubscribeRequest("blockchain.headers.subscribe", callback);
215
- }
216
- async subscribeToAddress(cashaddr, callback) {
217
- await this.subscribeRequest("blockchain.address.subscribe", callback, cashaddr);
218
- }
219
- async unsubscribeFromAddress(cashaddr, callback) {
220
- await this.unsubscribeRequest("blockchain.address.subscribe", callback, cashaddr);
221
- }
222
- async subscribeToAddressTransactions(cashaddr, callback) {
223
- await this.subscribeRequest("blockchain.address.transactions.subscribe", callback, cashaddr);
224
- }
225
- async unsubscribeFromAddressTransactions(cashaddr, callback) {
226
- await this.unsubscribeRequest("blockchain.address.transactions.subscribe", callback, cashaddr);
227
- }
228
- async subscribeToTransaction(txHash, callback) {
229
- await this.subscribeRequest("blockchain.transaction.subscribe", callback, txHash);
230
- }
231
- async unsubscribeFromTransaction(txHash, callback) {
232
- await this.unsubscribeRequest("blockchain.transaction.subscribe", callback, txHash);
233
- }
234
- async performRequest(name, ...parameters) {
235
- await this.ready();
236
- const requestTimeout = new Promise(function (_resolve, reject) {
237
- setTimeout(function () {
238
- reject("electrum-cash request timed out, retrying");
239
- }, 30000);
240
- }).catch(function (e) {
241
- throw e;
242
- });
243
- const request = this.electrum.request(name, ...parameters);
244
- return await Promise.race([request, requestTimeout])
245
- .then((value) => {
246
- if (value instanceof Error)
247
- throw value;
248
- let result = value;
249
- return result;
250
- })
251
- .catch(async () => {
252
- // console.warn(
253
- // "initial electrum-cash request attempt timed out, retrying..."
254
- // );
255
- return await Promise.race([request, requestTimeout])
256
- .then((value) => {
257
- if (value instanceof Error)
258
- throw value;
259
- let result = value;
260
- return result;
261
- })
262
- .catch(function (e) {
263
- throw e;
264
- });
265
- });
266
- }
267
- async subscribeRequest(methodName, callback, ...parameters) {
268
- await this.ready();
269
- const result = await this.electrum.subscribe(callback, methodName, ...parameters);
270
- this.subscriptions++;
271
- return result;
272
- }
273
- async unsubscribeRequest(methodName, callback, ...parameters) {
274
- await this.ready();
275
- const result = this.electrum.unsubscribe(callback, methodName, ...parameters);
276
- this.subscriptions--;
277
- return result;
278
- }
279
- async ready() {
280
- return (await this.connect());
281
- }
282
- async connect() {
283
- return await this.mutex.runExclusive(async () => {
284
- return await this.connectPromise;
285
- });
286
- }
287
- disconnect() {
288
- if (this.subscriptions > 0) {
289
- // console.warn(
290
- // `Trying to disconnect a network provider with ${this.subscriptions} active subscriptions. This is in most cases a bad idea.`
291
- // );
292
- }
293
- return this.isElectrumClient()
294
- ? this.disconnectClient()
295
- : this.disconnectCluster();
296
- }
297
- isElectrumClient() {
298
- return this.electrum.hasOwnProperty("connection");
299
- }
300
- async readyClient(timeout) {
301
- timeout = typeof timeout !== "undefined" ? timeout : 3000;
302
- let connectPromise = async () => {
303
- while (this.electrum.connection.status !==
304
- electrum_cash_1.ConnectionStatus.CONNECTED) {
305
- await (0, delay_1.delay)(100);
306
- }
307
- return true;
308
- };
309
- return connectPromise;
310
- }
311
- async readyCluster(timeout) {
312
- timeout;
313
- return this.electrum.ready();
314
- }
315
- async connectCluster() {
316
- return this.electrum.startup();
317
- }
318
- async connectClient() {
319
- let connectionPromise = async () => {
320
- try {
321
- return await this.electrum.connect();
322
- }
323
- catch (e) {
324
- console.warn(`Warning: Failed to connect to client on ${this.network}.`);
325
- return;
326
- }
327
- };
328
- return [await connectionPromise()];
329
- }
330
- async disconnectCluster() {
331
- return this.electrum.shutdown();
332
- }
333
- async disconnectClient() {
334
- return [await this.electrum.disconnect(true)];
335
- }
336
- }
337
- exports.default = ElectrumNetworkProvider;
338
- //# sourceMappingURL=ElectrumNetworkProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ElectrumNetworkProvider.js","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"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"}
@@ -1,107 +0,0 @@
1
- import { TxI, UtxoI, Network, HeaderI } from "../interface";
2
- export default interface NetworkProvider {
3
- /**
4
- * Variable indicating the network that this provider connects to.
5
- */
6
- network: Network;
7
- /**
8
- * Retrieve all UTXOs (confirmed and unconfirmed) for a given address.
9
- * @param cashaddr The CashAddress for which we wish to retrieve UTXOs.
10
- * @returns List of UTXOs spendable by the provided address.
11
- */
12
- getUtxos(cashaddr: string): Promise<UtxoI[]>;
13
- /**
14
- * Retrieve all balance of an address in satoshi
15
- * @param cashaddr The CashAddress for which we wish to retrieve UTXOs.
16
- * @returns the balance.
17
- */
18
- getBalance(cashaddr: string): Promise<number>;
19
- /**
20
- * @returns The current block height.
21
- */
22
- getBlockHeight(): Promise<number>;
23
- /**
24
- * @returns The current minimum relay fee per kb
25
- */
26
- getRelayFee(): Promise<number>;
27
- /**
28
- * Retrieve the Hex transaction details for a given transaction ID.
29
- * @param txHash Hex of transaction hash.
30
- * @param verbose Whether a verbose coin-specific response is required.
31
- * @throws {Error} If the transaction does not exist
32
- * @returns The full hex transaction for the provided transaction ID.
33
- */
34
- getRawTransaction(txHash: string): Promise<string>;
35
- /**
36
- * Retrieve a verbose coin-specific response transaction details for a given transaction ID.
37
- * @param txHash Hex of transaction hash.
38
- * @throws {Error} If the transaction does not exist
39
- * @returns The full hex transaction for the provided transaction ID.
40
- */
41
- getRawTransactionObject(txHash: string): Promise<any>;
42
- /**
43
- * Broadcast a raw hex transaction to the Bitcoin Cash network.
44
- * @param txHex The raw transaction hex to be broadcast.
45
- * @param awaitPropagation Wait for transaction to be registered in the bitcoind or indexer. If set to false, function returns computed transaction hash immediately.
46
- * @throws {Error} If the transaction was not accepted by the network.
47
- * @returns The transaction ID (hash) corresponding to the broadcast transaction.
48
- */
49
- sendRawTransaction(txHex: string, awaitPropagation?: boolean): Promise<string>;
50
- /**
51
- * Return the confirmed and unconfirmed history of a Bitcoin Cash address.
52
- * @param cashaddr The CashAddress for which we wish to retrieve history.
53
- * @throws {Error} When failing to get history.
54
- * @returns Array of transactions.
55
- */
56
- getHistory(cashaddr: string): Promise<TxI[]>;
57
- /**
58
- * Wait for the next block or a block at given blockchain height.
59
- * @param height If specified, waits for blockchain to reach this height.
60
- * @returns Block header.
61
- */
62
- waitForBlock(height?: number): Promise<HeaderI>;
63
- /**
64
- * Subscribe to the address change events
65
- * @param cashaddr The CashAddress for which we wish to retrieve history.
66
- * @throws {Error} If the subscription failed.
67
- * @returns nothing.
68
- */
69
- subscribeToAddress(cashaddr: string, callback: (data: any) => void): Promise<void>;
70
- /**
71
- * Unsubscribe from the address change events
72
- * @param cashaddr The CashAddress for which we wish to retrieve history.
73
- * @throws {Error} If the unsubscription failed.
74
- * @returns nothing.
75
- */
76
- unsubscribeFromAddress(cashaddr: string, callback: (data: any) => void): Promise<void>;
77
- /**
78
- * Subscribe to a transaction in order to receive future notifications if its confirmation status changes.
79
- * @param txHash The transaction hash as a hexadecimal string.
80
- * @throws {Error} If the subscription failed.
81
- * @returns nothing.
82
- */
83
- subscribeToTransaction(txHash: string, callback: (data: any) => void): Promise<void>;
84
- /**
85
- * Unsubscribe from a transaction, preventing future notifications if its confirmation status changes.
86
- * @param txHash The transaction hash as a hexadecimal string.
87
- * @throws {Error} If the subscription failed.
88
- * @returns nothing.
89
- */
90
- unsubscribeFromTransaction(txHash: string, callback: (data: any) => void): Promise<void>;
91
- /**
92
- * Function to wait for connection to be ready
93
- * @param timeout number of milliseconds to wait before throwing error
94
- * @returns true when ready, or an error
95
- */
96
- ready(timeout?: number): Promise<boolean | unknown>;
97
- /**
98
- * Function to connect manually if using persistent connections
99
- * @returns array of connection boolean successes, or throws error
100
- */
101
- connect(): Promise<void[]>;
102
- /**
103
- * Function to disconnect manually if using persistent connections
104
- * @returns array of connection boolean successes, or throws error
105
- */
106
- disconnect(): Promise<boolean[]>;
107
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=NetworkProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NetworkProvider.js","sourceRoot":"","sources":["../../../src/network/NetworkProvider.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- export declare function getDefaultServers(): {
2
- mainnet: string[];
3
- testnet: string[];
4
- regtest: string[];
5
- };
6
- export declare function getUserAgent(): any;
7
- export declare function getConfidence(): any;
8
- export declare const defaultServers: {
9
- mainnet: string[];
10
- testnet: string[];
11
- regtest: string[];
12
- };
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.defaultServers = exports.getConfidence = exports.getUserAgent = exports.getDefaultServers = void 0;
23
- const index_1 = require("../util/index");
24
- const primary = __importStar(require("./constant"));
25
- let mainnetServers, testnetServers, regtestServers;
26
- function getDefaultServers() {
27
- if ((0, index_1.getRuntimePlatform)() == "node") {
28
- mainnetServers = process.env.ELECTRUM
29
- ? process.env.ELECTRUM.split(",")
30
- : primary.mainnetServers;
31
- testnetServers = process.env.ELECTRUM_TESTNET
32
- ? process.env.ELECTRUM_TESTNET.split(",")
33
- : primary.testnetServers;
34
- regtestServers = process.env.ELECTRUM_REGTEST
35
- ? process.env.ELECTRUM_REGTEST.split(",")
36
- : primary.regtestServers;
37
- }
38
- else {
39
- mainnetServers = primary.mainnetServers;
40
- testnetServers = primary.testnetServers;
41
- regtestServers = primary.regtestServers;
42
- }
43
- return {
44
- mainnet: mainnetServers,
45
- testnet: testnetServers,
46
- regtest: regtestServers,
47
- };
48
- }
49
- exports.getDefaultServers = getDefaultServers;
50
- function getUserAgent() {
51
- // Allow users to configure the cluster confidence
52
- let ua;
53
- if ((0, index_1.getRuntimePlatform)() === "node") {
54
- ua = process.env.ELECTRUM_USER_AGENT
55
- ? process.env.ELECTRUM_USER_AGENT
56
- : "mainnet-js-" + (0, index_1.getRuntimePlatform)();
57
- }
58
- else {
59
- ua = "mainnet-js-" + (0, index_1.getRuntimePlatform)();
60
- }
61
- return ua;
62
- }
63
- exports.getUserAgent = getUserAgent;
64
- function getConfidence() {
65
- // Allow users to configure the cluster confidence
66
- let confidence;
67
- if ((0, index_1.getRuntimePlatform)() === "node") {
68
- confidence = process.env.ELECTRUM_CONFIDENCE
69
- ? parseInt(process.env.ELECTRUM_CONFIDENCE)
70
- : 1;
71
- }
72
- else {
73
- confidence = 1;
74
- }
75
- return confidence;
76
- }
77
- exports.getConfidence = getConfidence;
78
- exports.defaultServers = getDefaultServers();
79
- //# sourceMappingURL=configuration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../src/network/configuration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAmD;AACnD,oDAAsC;AAEtC,IAAI,cAAwB,EAC1B,cAAwB,EACxB,cAAwB,CAAC;AAE3B,SAAgB,iBAAiB;IAC/B,IAAI,IAAA,0BAAkB,GAAE,IAAI,MAAM,EAAE;QAClC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ;YACnC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC3B,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC3C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YACzC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC3B,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC3C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;YACzC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;KAC5B;SAAM;QACL,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACxC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACxC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;KACzC;IACD,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;KACxB,CAAC;AACJ,CAAC;AArBD,8CAqBC;AAED,SAAgB,YAAY;IAC1B,kDAAkD;IAClD,IAAI,EAAE,CAAC;IACP,IAAI,IAAA,0BAAkB,GAAE,KAAK,MAAM,EAAE;QACnC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACjC,CAAC,CAAC,aAAa,GAAG,IAAA,0BAAkB,GAAE,CAAC;KAC1C;SAAM;QACL,EAAE,GAAG,aAAa,GAAG,IAAA,0BAAkB,GAAE,CAAC;KAC3C;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAXD,oCAWC;AAED,SAAgB,aAAa;IAC3B,kDAAkD;IAClD,IAAI,UAAU,CAAC;IACf,IAAI,IAAA,0BAAkB,GAAE,KAAK,MAAM,EAAE;QACnC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC1C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,CAAC,CAAC;KACP;SAAM;QACL,UAAU,GAAG,CAAC,CAAC;KAChB;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAXD,sCAWC;AAEY,QAAA,cAAc,GAAG,iBAAiB,EAAE,CAAC"}
@@ -1,35 +0,0 @@
1
- import { ClusterOrder } from "electrum-cash";
2
- export declare const ELECTRUM_CASH_PROTOCOL_VERSION = "1.4.1";
3
- export declare const networkTickerMap: {
4
- mainnet: string;
5
- testnet: string;
6
- regtest: string;
7
- };
8
- export declare const mainnetServers: string[];
9
- export declare const testnetServers: string[];
10
- export declare const regtestServers: string[];
11
- export declare const defaultServers: {
12
- mainnet: string[];
13
- testnet: string[];
14
- regtest: string[];
15
- };
16
- export declare const clusterParams: {
17
- mainnet: {
18
- confidence: number;
19
- distribution: number;
20
- order: ClusterOrder;
21
- timeout: number;
22
- };
23
- testnet: {
24
- confidence: number;
25
- distribution: number;
26
- order: ClusterOrder;
27
- timeout: number;
28
- };
29
- regtest: {
30
- confidence: number;
31
- distribution: number;
32
- order: ClusterOrder;
33
- timeout: number;
34
- };
35
- };
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clusterParams = exports.defaultServers = exports.regtestServers = exports.testnetServers = exports.mainnetServers = exports.networkTickerMap = exports.ELECTRUM_CASH_PROTOCOL_VERSION = void 0;
4
- const electrum_cash_1 = require("electrum-cash");
5
- exports.ELECTRUM_CASH_PROTOCOL_VERSION = "1.4.1";
6
- exports.networkTickerMap = {
7
- mainnet: "BCH",
8
- testnet: "tBCH",
9
- regtest: "rBCH",
10
- };
11
- exports.mainnetServers = [
12
- "wss://bch.imaginary.cash:50004",
13
- //"wss://blackie.c3-soft.com:50004",
14
- "wss://electrum.imaginary.cash:50004",
15
- "wss://fulcrum.fountainhead.cash",
16
- ];
17
- exports.testnetServers = [
18
- "wss://tbch.loping.net:60004",
19
- //"wss://blackie.c3-soft.com:60004",
20
- //"wss://testnet.bitcoincash.network:60004",
21
- //,"wss://unavailable.invalid:50004"
22
- ];
23
- // testnet4
24
- // export const testnetServers = [
25
- // //"wss://t4fork.c3-soft.com:61004",
26
- // "wss://testnet4.imaginary.cash:50004",
27
- // //,"wss://unavailable.invalid:50004"
28
- // ];
29
- exports.regtestServers = ["ws://127.0.0.1:60003"];
30
- exports.defaultServers = {
31
- mainnet: exports.mainnetServers,
32
- testnet: exports.testnetServers,
33
- regtest: exports.regtestServers,
34
- };
35
- exports.clusterParams = {
36
- mainnet: {
37
- confidence: 1,
38
- distribution: 1,
39
- order: electrum_cash_1.ClusterOrder.RANDOM,
40
- timeout: 45000,
41
- },
42
- testnet: {
43
- confidence: 1,
44
- distribution: 1,
45
- order: electrum_cash_1.ClusterOrder.RANDOM,
46
- timeout: 30000,
47
- },
48
- regtest: {
49
- confidence: 1,
50
- distribution: 1,
51
- order: electrum_cash_1.ClusterOrder.PRIORITY,
52
- timeout: 3000,
53
- },
54
- };
55
- //# sourceMappingURL=constant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../src/network/constant.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAEhC,QAAA,8BAA8B,GAAG,OAAO,CAAC;AAEzC,QAAA,gBAAgB,GAAG;IAC9B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;CAChB,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,gCAAgC;IAChC,oCAAoC;IACpC,qCAAqC;IACrC,iCAAiC;CAClC,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,6BAA6B;IAC7B,oCAAoC;IACpC,4CAA4C;IAC5C,oCAAoC;CACrC,CAAC;AAEF,WAAW;AACX,kCAAkC;AAClC,wCAAwC;AACxC,2CAA2C;AAC3C,yCAAyC;AACzC,KAAK;AAEQ,QAAA,cAAc,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAE1C,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,sBAAc;IACvB,OAAO,EAAE,sBAAc;IACvB,OAAO,EAAE,sBAAc;CACxB,CAAC;AAEW,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE;QACP,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,4BAAY,CAAC,MAAM;QAC1B,OAAO,EAAE,KAAK;KACf;IACD,OAAO,EAAE;QACP,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,4BAAY,CAAC,MAAM;QAC1B,OAAO,EAAE,KAAK;KACf;IACD,OAAO,EAAE;QACP,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,CAAC;QACf,KAAK,EAAE,4BAAY,CAAC,QAAQ;QAC5B,OAAO,EAAE,IAAI;KACd;CACF,CAAC"}