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,129 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XPubKey = exports.SendResponse = exports.UtxoResponse = exports.UtxoItem = exports.OpReturnData = exports.SendRequest = void 0;
4
- const balanceObjectFromSatoshi_1 = require("../util/balanceObjectFromSatoshi");
5
- const sanitizeUnit_1 = require("../util/sanitizeUnit");
6
- const constant_1 = require("../constant");
7
- const libauth_1 = require("@bitauth/libauth");
8
- // These are the minimal models used to provide types for the express server
9
- //
10
- // This file will be deprecated auto-generated file in the future
11
- // Any business logic contained here should be moved elsewhere in src/
12
- class SendRequest {
13
- constructor({ cashaddr, value, unit, }) {
14
- this.cashaddr = cashaddr;
15
- this.value = value;
16
- this.unit = (0, sanitizeUnit_1.sanitizeUnit)(unit);
17
- }
18
- }
19
- exports.SendRequest = SendRequest;
20
- class OpReturnData {
21
- constructor(buffer) {
22
- this.buffer = Buffer.from(buffer);
23
- }
24
- /**
25
- * from - Construct OP_RETURN data from arbitrary data type
26
- *
27
- * @param string UTF-8 encoded string message to be converted to OP_RETURN data
28
- *
29
- * @returns class instance
30
- */
31
- static from(data) {
32
- if (data instanceof Buffer) {
33
- return this.fromBuffer(data);
34
- }
35
- else if (typeof data === "string") {
36
- return this.fromString(data);
37
- }
38
- throw new Error(`Unsupported data type ${typeof data}`);
39
- }
40
- /**
41
- * fromString - Accept data as a simple UTF-8 string message and append an OP_RETURN and PUSH_DATA1 opcodes to it
42
- *
43
- * @param string UTF-8 encoded string message to be converted to OP_RETURN data
44
- *
45
- * @returns class instance
46
- */
47
- static fromString(string) {
48
- const length = new TextEncoder().encode(string).length;
49
- return new this(Buffer.from([...[0x6a, 0x4c, length], ...(0, libauth_1.utf8ToBin)(string)]));
50
- }
51
- /**
52
- * buffer - Accept OP_RETURN data as a binary buffer.
53
- * If buffer lacks the OP_RETURN and OP_PUSHDATA opcodes, they will be prepended.
54
- *
55
- * @param buffer Data buffer to be assigned to the OP_RETURN outpit
56
- *
57
- * @returns class instance
58
- */
59
- static fromBuffer(buffer) {
60
- if (buffer[0] !== 0x6a) {
61
- return new this(Buffer.from([...[0x6a, 0x4c, buffer.length], ...buffer]));
62
- }
63
- return new this(buffer);
64
- }
65
- }
66
- exports.OpReturnData = OpReturnData;
67
- class UtxoItem {
68
- constructor({ index, value, txId, }) {
69
- this.value = value;
70
- this.txId = txId;
71
- this.index = index;
72
- this.utxoId = this.toString();
73
- }
74
- toString() {
75
- return [this.txId, this.index, this.value].join(constant_1.DELIMITER);
76
- }
77
- static fromId(utxoId) {
78
- let [txid, vout, satoshis] = utxoId.split(constant_1.DELIMITER);
79
- return new this({
80
- txId: txid,
81
- index: parseInt(vout),
82
- value: parseInt(satoshis),
83
- });
84
- }
85
- static fromElectrum(u) {
86
- return new this({
87
- txId: u.txid,
88
- index: u.vout,
89
- value: u.satoshis,
90
- });
91
- }
92
- asElectrum() {
93
- return {
94
- txid: this.txId,
95
- vout: this.index,
96
- satoshis: this.value,
97
- };
98
- }
99
- }
100
- exports.UtxoItem = UtxoItem;
101
- class UtxoResponse {
102
- }
103
- exports.UtxoResponse = UtxoResponse;
104
- class SendResponse {
105
- constructor({ txId, balance, explorerUrl, }) {
106
- this.txId = txId;
107
- this.balance = new balanceObjectFromSatoshi_1.BalanceResponse(balance);
108
- this.explorerUrl = explorerUrl;
109
- }
110
- }
111
- exports.SendResponse = SendResponse;
112
- class XPubKey {
113
- constructor({ path, xPubKey }) {
114
- this.path = path;
115
- this.xPubKey = xPubKey;
116
- }
117
- async ready() {
118
- await this.xPubKey;
119
- return this.asObject();
120
- }
121
- asObject() {
122
- return {
123
- path: this.path,
124
- xPubKey: this.xPubKey,
125
- };
126
- }
127
- }
128
- exports.XPubKey = XPubKey;
129
- //# sourceMappingURL=model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/wallet/model.ts"],"names":[],"mappings":";;;AAAA,+EAAmE;AACnE,uDAAoD;AAGpD,0CAAwC;AACxC,8CAA6C;AAE7C,4EAA4E;AAC5E,EAAE;AACF,iEAAiE;AACjE,sEAAsE;AAEtE,MAAa,WAAW;IAKtB,YAAY,EACV,QAAQ,EACR,KAAK,EACL,IAAI,GAKL;QACC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAA,2BAAY,EAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAlBD,kCAkBC;AAED,MAAa,YAAY;IAGvB,YAAoB,MAAc;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,CAAC,IAAqB;QACtC,IAAI,IAAI,YAAY,MAAM,EAAE;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAc,CAAC,CAAC;SACxC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAc,CAAC,CAAC;SACxC;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,UAAU,CAAC,MAAc;QACrC,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QACvD,OAAO,IAAI,IAAI,CACb,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,IAAA,mBAAS,EAAC,MAAM,CAAC,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,UAAU,CAAC,MAAc;QACrC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;YACtB,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC3E;QACD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF;AApDD,oCAoDC;AAID,MAAa,QAAQ;IAMnB,YAAY,EACV,KAAK,EACL,KAAK,EACL,IAAI,GAKL;QACC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAEM,QAAQ;QACb,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,MAAc;QACjC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAS,CAAC,CAAC;QACrD,OAAO,IAAI,IAAI,CAAC;YACd,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC;YACrB,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACM,MAAM,CAAC,YAAY,CAAC,CAAQ;QACjC,OAAO,IAAI,IAAI,CAAC;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,KAAK,EAAE,CAAC,CAAC,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;IAEM,UAAU;QACf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,QAAQ,EAAE,IAAI,CAAC,KAAK;SACZ,CAAC;IACb,CAAC;CACF;AAhDD,4BAgDC;AAED,MAAa,YAAY;CAExB;AAFD,oCAEC;AAED,MAAa,YAAY;IAKvB,YAAY,EACV,IAAI,EACJ,OAAO,EACP,WAAW,GAKZ;QACC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,0CAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAlBD,oCAkBC;AAED,MAAa,OAAO;IAIlB,YAAY,EAAE,IAAI,EAAE,OAAO,EAAqC;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,OAAO,CAAC;QACnB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAEM,QAAQ;QACb,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;CACF;AApBD,0BAoBC"}
@@ -1,40 +0,0 @@
1
- import SqlProvider from "../db/SqlProvider";
2
- import { TxI } from "../interface";
3
- export declare enum WebhookType {
4
- transactionIn = "transaction:in",
5
- transactionOut = "transaction:out",
6
- transactionInOut = "transaction:in,out",
7
- balance = "balance",
8
- slpTransactionIn = "slptransaction:in",
9
- slpTransactionOut = "slptransaction:out",
10
- slpTransactionInOut = "slptransaction:in,out",
11
- slpBalance = "slpbalance"
12
- }
13
- export declare enum WebhookRecurrence {
14
- once = "once",
15
- recurrent = "recurrent"
16
- }
17
- export declare class Webhook {
18
- id?: number;
19
- cashaddr: string;
20
- type: string;
21
- recurrence: string;
22
- url: string;
23
- status: string;
24
- last_height: number;
25
- tx_seen: TxI[];
26
- tokenId?: string;
27
- expires_at: Date;
28
- db: SqlProvider;
29
- constructor(hook: Webhook | Object);
30
- start(): Promise<void>;
31
- stop(): Promise<void>;
32
- destroy(): Promise<void>;
33
- post(data: any): Promise<boolean>;
34
- static debug: {
35
- new (): {};
36
- setupAxiosMocks(): void;
37
- reset(): void;
38
- responses: any;
39
- };
40
- }
@@ -1,82 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Webhook = exports.WebhookRecurrence = exports.WebhookType = void 0;
5
- const axios = require("axios").default;
6
- var WebhookType;
7
- (function (WebhookType) {
8
- WebhookType["transactionIn"] = "transaction:in";
9
- WebhookType["transactionOut"] = "transaction:out";
10
- WebhookType["transactionInOut"] = "transaction:in,out";
11
- WebhookType["balance"] = "balance";
12
- WebhookType["slpTransactionIn"] = "slptransaction:in";
13
- WebhookType["slpTransactionOut"] = "slptransaction:out";
14
- WebhookType["slpTransactionInOut"] = "slptransaction:in,out";
15
- WebhookType["slpBalance"] = "slpbalance";
16
- })(WebhookType = exports.WebhookType || (exports.WebhookType = {}));
17
- var WebhookRecurrence;
18
- (function (WebhookRecurrence) {
19
- WebhookRecurrence["once"] = "once";
20
- WebhookRecurrence["recurrent"] = "recurrent";
21
- })(WebhookRecurrence = exports.WebhookRecurrence || (exports.WebhookRecurrence = {}));
22
- class Webhook {
23
- constructor(hook) {
24
- Object.assign(this, hook);
25
- }
26
- // abstract, empty implementation
27
- async start() { }
28
- // abstract, empty implementation
29
- async stop() { }
30
- async destroy() {
31
- if (this.id) {
32
- await this.db.deleteWebhook(this.id);
33
- }
34
- }
35
- async post(data) {
36
- try {
37
- await axios.post(this.url, data);
38
- // console.debug("Posted webhook", this.url, data);
39
- return true;
40
- }
41
- catch (e) {
42
- if (e.message && e.message.status === 200) {
43
- return true;
44
- }
45
- // console.debug("Failed to post webhook", this.url, e);
46
- return false;
47
- }
48
- }
49
- }
50
- exports.Webhook = Webhook;
51
- //#region debug
52
- Webhook.debug = (_a = class {
53
- static setupAxiosMocks() {
54
- axios.interceptors.request.use((config) => {
55
- const url = config.url;
56
- let response;
57
- if (url === "http://example.com/fail") {
58
- response = { status: 503 };
59
- }
60
- else {
61
- response = { status: 200 };
62
- }
63
- if (url in this.responses) {
64
- this.responses[url].push(response);
65
- }
66
- else {
67
- this.responses[url] = [response];
68
- }
69
- // cancel actual http request
70
- return {
71
- ...config,
72
- cancelToken: new axios.CancelToken((cancel) => cancel(response)),
73
- };
74
- });
75
- }
76
- static reset() {
77
- this.responses = {};
78
- }
79
- },
80
- _a.responses = {},
81
- _a);
82
- //# sourceMappingURL=Webhook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Webhook.js","sourceRoot":"","sources":["../../../src/webhook/Webhook.ts"],"names":[],"mappings":";;;;AAGA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAEvC,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,+CAAgC,CAAA;IAChC,iDAAkC,CAAA;IAClC,sDAAuC,CAAA;IACvC,kCAAmB,CAAA;IAEnB,qDAAsC,CAAA;IACtC,uDAAwC,CAAA;IACxC,4DAA6C,CAAA;IAC7C,wCAAyB,CAAA;AAC3B,CAAC,EAVW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAUtB;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,4CAAuB,CAAA;AACzB,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAED,MAAa,OAAO;IAclB,YAAY,IAAsB;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,KAAK,KAAmB,CAAC;IAE/B,iCAAiC;IACjC,KAAK,CAAC,IAAI,KAAmB,CAAC;IAE9B,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAS;QAClB,IAAI;YACF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,mDAAmD;YACnD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE;gBACzC,OAAO,IAAI,CAAC;aACb;YAED,wDAAwD;YACxD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;AA3CH,0BA8EC;AAjCC,eAAe;AACD,aAAK,SAAG;QACpB,MAAM,CAAC,eAAe;YACpB,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAI,CAAC;gBACxB,IAAI,QAAQ,CAAC;gBACb,IAAI,GAAG,KAAK,yBAAyB,EAAE;oBACrC,QAAQ,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iBAC5B;qBAAM;oBACL,QAAQ,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iBAC5B;gBAED,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACpC;qBAAM;oBACL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBAClC;gBAED,6BAA6B;gBAC7B,OAAO;oBACL,GAAG,MAAM;oBACT,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACjE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;KAGF;IADQ,YAAS,GAAQ,EAAG;QAC3B"}
@@ -1,13 +0,0 @@
1
- import SqlProvider from "../db/SqlProvider";
2
- import { Wallet } from "../wallet/Wif";
3
- import { Webhook } from "./Webhook";
4
- export declare class WebhookBch extends Webhook {
5
- callback: (data: any | string | Array<string>) => void;
6
- wallet: Wallet;
7
- db: SqlProvider;
8
- seenStatuses: string[];
9
- constructor(hook: Webhook | Object);
10
- stop(): Promise<void>;
11
- start(): Promise<void>;
12
- handler(status: string): Promise<void>;
13
- }
@@ -1,148 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WebhookBch = void 0;
7
- const balanceObjectFromSatoshi_1 = require("../util/balanceObjectFromSatoshi");
8
- const Wif_1 = require("../wallet/Wif");
9
- const Webhook_1 = require("./Webhook");
10
- const WebhookWorker_1 = __importDefault(require("./WebhookWorker"));
11
- class WebhookBch extends Webhook_1.Webhook {
12
- constructor(hook) {
13
- super(hook);
14
- this.seenStatuses = [];
15
- Object.assign(this, hook);
16
- }
17
- async stop() {
18
- await this.wallet.provider.unsubscribeFromAddress(this.cashaddr, this.callback);
19
- }
20
- async start() {
21
- const webhookCallback = async (data) => {
22
- let status = "";
23
- if (typeof data === "string") {
24
- // subscription acknowledgement notification with current status
25
- status = data;
26
- // we should skip fetching transactions for freshly registered hooks upon acknowledements
27
- if (this.status === "") {
28
- return;
29
- }
30
- }
31
- else if (data instanceof Array) {
32
- status = data[1];
33
- if (data[0] !== this.cashaddr) {
34
- // console.warn("Address missmatch, skipping", data[0], this.cashaddr);
35
- return;
36
- }
37
- }
38
- else {
39
- return;
40
- }
41
- if (status != this.status && this.seenStatuses.indexOf(status) === -1) {
42
- this.seenStatuses.push(status);
43
- await this.handler(status);
44
- }
45
- };
46
- this.callback = webhookCallback;
47
- this.wallet = await Wif_1.Wallet.fromCashaddr(this.cashaddr);
48
- await this.wallet.provider.subscribeToAddress(this.cashaddr, this.callback);
49
- }
50
- async handler(status) {
51
- // console.debug("Dispatching action for a webhook", this);
52
- // get transactions
53
- const history = await this.wallet.provider.getHistory(this.cashaddr);
54
- // figure out which transactions to send to the hook
55
- let txs = [];
56
- if (status === "") {
57
- // send the last transaction only if no tracking was done
58
- txs = history.slice(-1);
59
- }
60
- else {
61
- // reverse history for faster search
62
- const revHistory = history.reverse();
63
- // update height of transactions, which are now confirmed
64
- this.tx_seen = this.tx_seen.map((seenTx) => {
65
- if (seenTx.height <= 0) {
66
- const histTx = revHistory.find((val) => val.tx_hash === seenTx.tx_hash);
67
- if (histTx) {
68
- seenTx.height = histTx.height;
69
- }
70
- }
71
- return seenTx;
72
- });
73
- const seenHashes = this.tx_seen.map((val) => val.tx_hash);
74
- txs = history.filter((val) => (val.height >= this.last_height || val.height <= 0) &&
75
- !seenHashes.includes(val.tx_hash));
76
- }
77
- let shouldUpdateStatus = true;
78
- for (const tx of txs) {
79
- // watching transactions
80
- let result = false;
81
- if (this.type.indexOf("transaction:") >= 0) {
82
- // console.debug("Getting raw tx", tx.tx_hash);
83
- const rawTx = await this.wallet.provider.getRawTransactionObject(tx.tx_hash);
84
- const parentTxs = await Promise.all(rawTx.vin.map((t) => this.wallet.provider.getRawTransactionObject(t.txid)));
85
- // console.debug("Got raw tx", JSON.stringify(rawTx, null, 2));
86
- const haveAddressInOutputs = rawTx.vout.some((val) => val.scriptPubKey.addresses.includes(this.cashaddr));
87
- const haveAddressInParentOutputs = parentTxs.some((parent) => parent.vout.some((val) => val.scriptPubKey.addresses.includes(this.cashaddr)));
88
- const wantsIn = this.type.indexOf("in") >= 0;
89
- const wantsOut = this.type.indexOf("out") >= 0;
90
- const txDirection = haveAddressInParentOutputs && haveAddressInOutputs
91
- ? Webhook_1.WebhookType.transactionInOut
92
- : haveAddressInParentOutputs
93
- ? Webhook_1.WebhookType.transactionOut
94
- : Webhook_1.WebhookType.transactionIn;
95
- if (wantsIn && haveAddressInOutputs) {
96
- result = await this.post({
97
- direction: txDirection,
98
- data: rawTx,
99
- });
100
- }
101
- else if (wantsOut && haveAddressInParentOutputs) {
102
- result = await this.post({
103
- direction: txDirection,
104
- data: rawTx,
105
- });
106
- }
107
- else {
108
- // not interested in this transaction
109
- continue;
110
- }
111
- }
112
- else if (this.type === Webhook_1.WebhookType.balance) {
113
- // watching address balance
114
- const balanceSat = await this.wallet.provider.getBalance(this.cashaddr);
115
- const balanceObject = await (0, balanceObjectFromSatoshi_1.balanceResponseFromSatoshi)(balanceSat);
116
- result = await this.post(balanceObject);
117
- }
118
- if (result) {
119
- this.tx_seen.push(tx);
120
- await this.db.setWebhookSeenTxLastHeight(this.id, this.tx_seen, this.last_height);
121
- }
122
- else {
123
- // console.debug("Failed to execute webhook", hook);
124
- shouldUpdateStatus = false;
125
- }
126
- }
127
- // successful run
128
- if (shouldUpdateStatus) {
129
- if (this.recurrence === Webhook_1.WebhookRecurrence.once) {
130
- // we have to notify the worker about end of life
131
- await (await WebhookWorker_1.default.instance()).stopHook(this);
132
- await this.destroy();
133
- return;
134
- }
135
- this.status = status;
136
- await this.db.setWebhookStatus(this.id, status);
137
- // update last_height and truncate tx_seen
138
- const maxHeight = Math.max(...this.tx_seen.map((val) => val.height));
139
- if (maxHeight >= this.last_height) {
140
- this.last_height = maxHeight;
141
- this.tx_seen = this.tx_seen.filter((val) => val.height === maxHeight || val.height <= 0);
142
- await this.db.setWebhookSeenTxLastHeight(this.id, this.tx_seen, this.last_height);
143
- }
144
- }
145
- }
146
- }
147
- exports.WebhookBch = WebhookBch;
148
- //# sourceMappingURL=WebhookBch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebhookBch.js","sourceRoot":"","sources":["../../../src/webhook/WebhookBch.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { SlpTxI } from "../slp";
2
- import { SlpCancelWatchFn, SlpWatchTransactionCallback } from "../slp/SlpProvider";
3
- import { Wallet } from "../wallet/Wif";
4
- import { Webhook } from "./Webhook";
5
- export declare class WebhookSlp extends Webhook {
6
- callback: SlpWatchTransactionCallback;
7
- cancelFn: SlpCancelWatchFn;
8
- wallet: Wallet;
9
- constructor(hook: Webhook | Object);
10
- start(): Promise<void>;
11
- slpDbHandler(rawTx: SlpTxI): Promise<boolean>;
12
- gsppHandler(rawTx: SlpTxI): Promise<boolean>;
13
- stop(): Promise<void>;
14
- }
@@ -1,107 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WebhookSlp = void 0;
7
- const bchaddr_1 = require("../util/bchaddr");
8
- const Wif_1 = require("../wallet/Wif");
9
- const Webhook_1 = require("./Webhook");
10
- const WebhookWorker_1 = __importDefault(require("./WebhookWorker"));
11
- class WebhookSlp extends Webhook_1.Webhook {
12
- constructor(hook) {
13
- super(hook);
14
- Object.assign(this, hook);
15
- this.cashaddr = (0, bchaddr_1.toSlpAddress)(this.cashaddr);
16
- }
17
- async start() {
18
- const webhookCallback = async (rawTx) => {
19
- let result = false;
20
- if ("_id" in rawTx.details) {
21
- result = await this.slpDbHandler(rawTx);
22
- }
23
- else {
24
- result = await this.gsppHandler(rawTx);
25
- }
26
- if (result && this.recurrence === Webhook_1.WebhookRecurrence.once) {
27
- // we have to notify the worker about end of life
28
- await (await WebhookWorker_1.default.instance()).stopHook(this);
29
- await this.destroy();
30
- }
31
- };
32
- this.callback = webhookCallback;
33
- this.wallet = await Wif_1.Wallet.fromSlpaddr(this.cashaddr);
34
- this.cancelFn = this.wallet.slp.watchTransactions(webhookCallback, this.tokenId);
35
- }
36
- async slpDbHandler(rawTx) {
37
- let result = false;
38
- const txDirection = this.type;
39
- const details = rawTx.details;
40
- if (this.type === Webhook_1.WebhookType.slpTransactionInOut) {
41
- result = await this.post({
42
- direction: txDirection,
43
- data: rawTx,
44
- });
45
- }
46
- else if (this.type === Webhook_1.WebhookType.slpTransactionIn &&
47
- details.out.findIndex((val) => val.e.a === this.cashaddr) > -1) {
48
- result = await this.post({
49
- direction: txDirection,
50
- data: rawTx,
51
- });
52
- }
53
- else if (this.type === Webhook_1.WebhookType.slpTransactionOut &&
54
- details.in.findIndex((val) => val.e.a === this.cashaddr) > -1) {
55
- result = await this.post({
56
- direction: txDirection,
57
- data: rawTx,
58
- });
59
- }
60
- else if (this.type === Webhook_1.WebhookType.slpBalance) {
61
- const balance = this.wallet.slp.getBalance(this.tokenId);
62
- result = await this.post({
63
- direction: txDirection,
64
- data: balance,
65
- });
66
- }
67
- return result;
68
- }
69
- async gsppHandler(rawTx) {
70
- let result = false;
71
- const txDirection = this.type;
72
- const details = rawTx.details;
73
- if (this.type === Webhook_1.WebhookType.slpTransactionInOut) {
74
- result = await this.post({
75
- direction: txDirection,
76
- data: rawTx,
77
- });
78
- }
79
- else if (this.type === Webhook_1.WebhookType.slpTransactionIn &&
80
- details.outputs.findIndex((val) => val === this.cashaddr) > -1) {
81
- result = await this.post({
82
- direction: txDirection,
83
- data: rawTx,
84
- });
85
- }
86
- else if (this.type === Webhook_1.WebhookType.slpTransactionOut &&
87
- details.inputs.findIndex((val) => val === this.cashaddr) > -1) {
88
- result = await this.post({
89
- direction: txDirection,
90
- data: rawTx,
91
- });
92
- }
93
- else if (this.type === Webhook_1.WebhookType.slpBalance) {
94
- const balance = this.wallet.slp.getBalance(this.tokenId);
95
- result = await this.post({
96
- direction: txDirection,
97
- data: balance,
98
- });
99
- }
100
- return result;
101
- }
102
- async stop() {
103
- await this.cancelFn();
104
- }
105
- }
106
- exports.WebhookSlp = WebhookSlp;
107
- //# sourceMappingURL=WebhookSlp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebhookSlp.js","sourceRoot":"","sources":["../../../src/webhook/WebhookSlp.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import SqlProvider from "../db/SqlProvider";
2
- import { RegisterWebhookParams } from "./interface";
3
- import { Webhook } from "./Webhook";
4
- export default class WebhookWorker {
5
- activeHooks: Map<number, Webhook>;
6
- callbacks: Map<number, (data: any | string | Array<string>) => void>;
7
- db: SqlProvider;
8
- checkInterval: any;
9
- private static _instance;
10
- static instance(): Promise<WebhookWorker>;
11
- constructor();
12
- init(): Promise<void>;
13
- destroy(): Promise<void>;
14
- pickupHooks(start?: boolean): Promise<void>;
15
- evictOldHooks(): Promise<void>;
16
- registerWebhook(params: RegisterWebhookParams, start?: boolean): Promise<number>;
17
- getWebhook(id: number): Promise<Webhook | undefined>;
18
- deleteWebhook(id: number): Promise<void>;
19
- deleteAllWebhooks(): Promise<void>;
20
- stopAll(): Promise<void>;
21
- stopHook(hook: Webhook): Promise<void>;
22
- }