@bigmi/core 0.2.0 → 0.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/.env +4 -0
  2. package/CHANGELOG.md +7 -0
  3. package/README.md +8 -14
  4. package/dist/cjs/actions/getBalance.js.map +1 -1
  5. package/dist/cjs/actions/getTransactions.d.ts +19 -0
  6. package/dist/cjs/actions/getTransactions.js +16 -0
  7. package/dist/cjs/actions/getTransactions.js.map +1 -0
  8. package/dist/cjs/actions/getUTXOs.d.ts +12 -0
  9. package/dist/cjs/actions/getUTXOs.js +14 -0
  10. package/dist/cjs/actions/getUTXOs.js.map +1 -0
  11. package/dist/cjs/errors/transport.d.ts +8 -0
  12. package/dist/cjs/errors/transport.js +9 -1
  13. package/dist/cjs/errors/transport.js.map +1 -1
  14. package/dist/cjs/errors/utxo.d.ts +11 -0
  15. package/dist/cjs/errors/utxo.js +16 -0
  16. package/dist/cjs/errors/utxo.js.map +1 -0
  17. package/dist/cjs/index.d.ts +13 -5
  18. package/dist/cjs/index.js +24 -10
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/test/utils.d.ts +1 -0
  21. package/dist/cjs/test/utils.js +12 -0
  22. package/dist/cjs/test/utils.js.map +1 -0
  23. package/dist/cjs/transports/ankr/__mocks__/getBalance/valid.json +9 -0
  24. package/dist/cjs/transports/ankr/__mocks__/getTransactions/valid.json +1186 -0
  25. package/dist/cjs/transports/ankr/ankr.d.ts +7 -0
  26. package/dist/cjs/transports/ankr/ankr.js +18 -0
  27. package/dist/cjs/transports/ankr/ankr.js.map +1 -0
  28. package/dist/cjs/transports/ankr/ankr.types.d.ts +77 -0
  29. package/dist/cjs/transports/ankr/ankr.types.js +3 -0
  30. package/dist/cjs/transports/ankr/ankr.types.js.map +1 -0
  31. package/dist/cjs/transports/ankr/getBalance.d.ts +2 -0
  32. package/dist/cjs/transports/ankr/getBalance.js +22 -0
  33. package/dist/cjs/transports/ankr/getBalance.js.map +1 -0
  34. package/dist/cjs/transports/ankr/getTransactions.d.ts +5 -0
  35. package/dist/cjs/transports/ankr/getTransactions.js +56 -0
  36. package/dist/cjs/transports/ankr/getTransactions.js.map +1 -0
  37. package/dist/cjs/transports/ankr/methods.d.ts +2 -0
  38. package/dist/cjs/transports/ankr/methods.js +10 -0
  39. package/dist/cjs/transports/ankr/methods.js.map +1 -0
  40. package/dist/cjs/transports/blockchair/__mocks__/getBalance/invalidAddress.json +29 -0
  41. package/dist/cjs/transports/blockchair/__mocks__/getBalance/valid.json +29 -0
  42. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +28 -0
  43. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/valid.json +95 -0
  44. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +869 -0
  45. package/dist/cjs/transports/blockchair/blockchair.d.ts +7 -0
  46. package/dist/cjs/transports/blockchair/blockchair.js +11 -0
  47. package/dist/cjs/transports/blockchair/blockchair.js.map +1 -0
  48. package/dist/cjs/transports/blockchair/blockchair.types.d.ts +54 -0
  49. package/dist/cjs/transports/blockchair/blockchair.types.js +3 -0
  50. package/dist/cjs/transports/blockchair/blockchair.types.js.map +1 -0
  51. package/dist/cjs/transports/blockchair/getBalance.d.ts +2 -0
  52. package/dist/cjs/transports/blockchair/getBalance.js +27 -0
  53. package/dist/cjs/transports/blockchair/getBalance.js.map +1 -0
  54. package/dist/cjs/transports/blockchair/getUTXOs.d.ts +2 -0
  55. package/dist/cjs/transports/blockchair/getUTXOs.js +92 -0
  56. package/dist/cjs/transports/blockchair/getUTXOs.js.map +1 -0
  57. package/dist/{esm/transports/blockchair.d.ts → cjs/transports/blockchair/methods.d.ts} +1 -1
  58. package/dist/cjs/transports/blockchair/methods.js +10 -0
  59. package/dist/cjs/transports/blockchair/methods.js.map +1 -0
  60. package/dist/cjs/transports/blockcypher/__mocks__/getBalance/invalid.json +3 -0
  61. package/dist/cjs/transports/blockcypher/__mocks__/getBalance/valid.json +13 -0
  62. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/empty.json +12 -0
  63. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/paginated.json +2786 -0
  64. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/valid.json +27 -0
  65. package/dist/cjs/transports/blockcypher/blockcypher.d.ts +7 -0
  66. package/dist/cjs/transports/blockcypher/blockcypher.js +10 -0
  67. package/dist/cjs/transports/blockcypher/blockcypher.js.map +1 -0
  68. package/dist/cjs/transports/blockcypher/blockcypher.types.d.ts +32 -0
  69. package/dist/cjs/transports/blockcypher/blockcypher.types.js +3 -0
  70. package/dist/cjs/transports/blockcypher/blockcypher.types.js.map +1 -0
  71. package/dist/cjs/transports/blockcypher/getBalance.d.ts +2 -0
  72. package/dist/cjs/transports/blockcypher/getBalance.js +23 -0
  73. package/dist/cjs/transports/blockcypher/getBalance.js.map +1 -0
  74. package/dist/cjs/transports/blockcypher/getUTXOs.d.ts +2 -0
  75. package/dist/cjs/transports/blockcypher/getUTXOs.js +81 -0
  76. package/dist/cjs/transports/blockcypher/getUTXOs.js.map +1 -0
  77. package/dist/cjs/transports/{blockcypher.d.ts → blockcypher/methods.d.ts} +1 -1
  78. package/dist/cjs/transports/blockcypher/methods.js +10 -0
  79. package/dist/cjs/transports/blockcypher/methods.js.map +1 -0
  80. package/dist/cjs/transports/fallback.js +15 -15
  81. package/dist/cjs/transports/fallback.js.map +1 -1
  82. package/dist/cjs/transports/getRpcProviderMethods.d.ts +3 -1
  83. package/dist/cjs/transports/getRpcProviderMethods.js +8 -8
  84. package/dist/cjs/transports/getRpcProviderMethods.js.map +1 -1
  85. package/dist/cjs/transports/http.js +2 -1
  86. package/dist/cjs/transports/http.js.map +1 -1
  87. package/dist/cjs/transports/mempool/__mocks__/getBalance/invalid.json +1 -0
  88. package/dist/cjs/transports/mempool/__mocks__/getBalance/valid.json +17 -0
  89. package/dist/cjs/transports/mempool/__mocks__/getTransactions/valid.json +1268 -0
  90. package/dist/cjs/transports/mempool/getBalance.d.ts +2 -0
  91. package/dist/cjs/transports/mempool/getBalance.js +16 -0
  92. package/dist/cjs/transports/mempool/getBalance.js.map +1 -0
  93. package/dist/cjs/transports/mempool/getTransactions.d.ts +2 -0
  94. package/dist/cjs/transports/mempool/getTransactions.js +57 -0
  95. package/dist/cjs/transports/mempool/getTransactions.js.map +1 -0
  96. package/dist/cjs/transports/mempool/mempool.d.ts +6 -0
  97. package/dist/cjs/transports/mempool/mempool.js +10 -0
  98. package/dist/cjs/transports/mempool/mempool.js.map +1 -0
  99. package/dist/cjs/transports/mempool/mempool.types.d.ts +63 -0
  100. package/dist/cjs/transports/mempool/mempool.types.js +3 -0
  101. package/dist/cjs/transports/mempool/mempool.types.js.map +1 -0
  102. package/dist/cjs/transports/{mempool.d.ts → mempool/methods.d.ts} +1 -1
  103. package/dist/cjs/transports/mempool/methods.js +10 -0
  104. package/dist/cjs/transports/mempool/methods.js.map +1 -0
  105. package/dist/cjs/transports/types.d.ts +45 -11
  106. package/dist/cjs/transports/types.js +6 -0
  107. package/dist/cjs/transports/types.js.map +1 -1
  108. package/dist/cjs/transports/utxo.d.ts +1 -0
  109. package/dist/cjs/transports/utxo.js +6 -2
  110. package/dist/cjs/transports/utxo.js.map +1 -1
  111. package/dist/cjs/types/account.d.ts +0 -2
  112. package/dist/cjs/types/transaction.d.ts +12 -3
  113. package/dist/cjs/utils/url.d.ts +1 -0
  114. package/dist/cjs/utils/url.js +14 -0
  115. package/dist/cjs/utils/url.js.map +1 -0
  116. package/dist/cjs/version.d.ts +2 -1
  117. package/dist/cjs/version.js +3 -2
  118. package/dist/cjs/version.js.map +1 -1
  119. package/dist/esm/actions/getBalance.js.map +1 -1
  120. package/dist/esm/actions/getTransactions.d.ts +19 -0
  121. package/dist/esm/actions/getTransactions.js +13 -0
  122. package/dist/esm/actions/getTransactions.js.map +1 -0
  123. package/dist/esm/actions/getUTXOs.d.ts +12 -0
  124. package/dist/esm/actions/getUTXOs.js +11 -0
  125. package/dist/esm/actions/getUTXOs.js.map +1 -0
  126. package/dist/esm/errors/transport.d.ts +8 -0
  127. package/dist/esm/errors/transport.js +7 -0
  128. package/dist/esm/errors/transport.js.map +1 -1
  129. package/dist/esm/errors/utxo.d.ts +11 -0
  130. package/dist/esm/errors/utxo.js +12 -0
  131. package/dist/esm/errors/utxo.js.map +1 -0
  132. package/dist/esm/index.d.ts +13 -5
  133. package/dist/esm/index.js +11 -4
  134. package/dist/esm/index.js.map +1 -1
  135. package/dist/esm/test/utils.d.ts +1 -0
  136. package/dist/esm/test/utils.js +8 -0
  137. package/dist/esm/test/utils.js.map +1 -0
  138. package/dist/esm/transports/ankr/__mocks__/getBalance/valid.json +9 -0
  139. package/dist/esm/transports/ankr/__mocks__/getTransactions/valid.json +1186 -0
  140. package/dist/esm/transports/ankr/ankr.d.ts +7 -0
  141. package/dist/esm/transports/ankr/ankr.js +14 -0
  142. package/dist/esm/transports/ankr/ankr.js.map +1 -0
  143. package/dist/esm/transports/ankr/ankr.types.d.ts +77 -0
  144. package/dist/esm/transports/ankr/ankr.types.js +2 -0
  145. package/dist/esm/transports/ankr/ankr.types.js.map +1 -0
  146. package/dist/esm/transports/ankr/getBalance.d.ts +2 -0
  147. package/dist/esm/transports/ankr/getBalance.js +18 -0
  148. package/dist/esm/transports/ankr/getBalance.js.map +1 -0
  149. package/dist/esm/transports/ankr/getTransactions.d.ts +5 -0
  150. package/dist/esm/transports/ankr/getTransactions.js +51 -0
  151. package/dist/esm/transports/ankr/getTransactions.js.map +1 -0
  152. package/dist/esm/transports/ankr/methods.d.ts +2 -0
  153. package/dist/esm/transports/ankr/methods.js +7 -0
  154. package/dist/esm/transports/ankr/methods.js.map +1 -0
  155. package/dist/esm/transports/blockchair/__mocks__/getBalance/invalidAddress.json +29 -0
  156. package/dist/esm/transports/blockchair/__mocks__/getBalance/valid.json +29 -0
  157. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +28 -0
  158. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/valid.json +95 -0
  159. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +869 -0
  160. package/dist/esm/transports/blockchair/blockchair.d.ts +7 -0
  161. package/dist/esm/transports/blockchair/blockchair.js +7 -0
  162. package/dist/esm/transports/blockchair/blockchair.js.map +1 -0
  163. package/dist/esm/transports/blockchair/blockchair.types.d.ts +54 -0
  164. package/dist/esm/transports/blockchair/blockchair.types.js +2 -0
  165. package/dist/esm/transports/blockchair/blockchair.types.js.map +1 -0
  166. package/dist/esm/transports/blockchair/getBalance.d.ts +2 -0
  167. package/dist/esm/transports/blockchair/getBalance.js +23 -0
  168. package/dist/esm/transports/blockchair/getBalance.js.map +1 -0
  169. package/dist/esm/transports/blockchair/getUTXOs.d.ts +2 -0
  170. package/dist/esm/transports/blockchair/getUTXOs.js +88 -0
  171. package/dist/esm/transports/blockchair/getUTXOs.js.map +1 -0
  172. package/dist/{cjs/transports/blockchair.d.ts → esm/transports/blockchair/methods.d.ts} +1 -1
  173. package/dist/esm/transports/blockchair/methods.js +7 -0
  174. package/dist/esm/transports/blockchair/methods.js.map +1 -0
  175. package/dist/esm/transports/blockcypher/__mocks__/getBalance/invalid.json +3 -0
  176. package/dist/esm/transports/blockcypher/__mocks__/getBalance/valid.json +13 -0
  177. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/empty.json +12 -0
  178. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/paginated.json +2786 -0
  179. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/valid.json +27 -0
  180. package/dist/esm/transports/blockcypher/blockcypher.d.ts +7 -0
  181. package/dist/esm/transports/blockcypher/blockcypher.js +6 -0
  182. package/dist/esm/transports/blockcypher/blockcypher.js.map +1 -0
  183. package/dist/esm/transports/blockcypher/blockcypher.types.d.ts +32 -0
  184. package/dist/esm/transports/blockcypher/blockcypher.types.js +2 -0
  185. package/dist/esm/transports/blockcypher/blockcypher.types.js.map +1 -0
  186. package/dist/esm/transports/blockcypher/getBalance.d.ts +2 -0
  187. package/dist/esm/transports/blockcypher/getBalance.js +19 -0
  188. package/dist/esm/transports/blockcypher/getBalance.js.map +1 -0
  189. package/dist/esm/transports/blockcypher/getUTXOs.d.ts +2 -0
  190. package/dist/esm/transports/blockcypher/getUTXOs.js +77 -0
  191. package/dist/esm/transports/blockcypher/getUTXOs.js.map +1 -0
  192. package/dist/esm/transports/{blockcypher.d.ts → blockcypher/methods.d.ts} +1 -1
  193. package/dist/esm/transports/blockcypher/methods.js +7 -0
  194. package/dist/esm/transports/blockcypher/methods.js.map +1 -0
  195. package/dist/esm/transports/fallback.js +16 -16
  196. package/dist/esm/transports/fallback.js.map +1 -1
  197. package/dist/esm/transports/getRpcProviderMethods.d.ts +3 -1
  198. package/dist/esm/transports/getRpcProviderMethods.js +4 -4
  199. package/dist/esm/transports/getRpcProviderMethods.js.map +1 -1
  200. package/dist/esm/transports/http.js +2 -1
  201. package/dist/esm/transports/http.js.map +1 -1
  202. package/dist/esm/transports/mempool/__mocks__/getBalance/invalid.json +1 -0
  203. package/dist/esm/transports/mempool/__mocks__/getBalance/valid.json +17 -0
  204. package/dist/esm/transports/mempool/__mocks__/getTransactions/valid.json +1268 -0
  205. package/dist/esm/transports/mempool/getBalance.d.ts +2 -0
  206. package/dist/esm/transports/mempool/getBalance.js +12 -0
  207. package/dist/esm/transports/mempool/getBalance.js.map +1 -0
  208. package/dist/esm/transports/mempool/getTransactions.d.ts +2 -0
  209. package/dist/esm/transports/mempool/getTransactions.js +53 -0
  210. package/dist/esm/transports/mempool/getTransactions.js.map +1 -0
  211. package/dist/esm/transports/mempool/mempool.d.ts +6 -0
  212. package/dist/esm/transports/mempool/mempool.js +6 -0
  213. package/dist/esm/transports/mempool/mempool.js.map +1 -0
  214. package/dist/esm/transports/mempool/mempool.types.d.ts +63 -0
  215. package/dist/esm/transports/mempool/mempool.types.js +2 -0
  216. package/dist/esm/transports/mempool/mempool.types.js.map +1 -0
  217. package/dist/esm/transports/{mempool.d.ts → mempool/methods.d.ts} +1 -1
  218. package/dist/esm/transports/mempool/methods.js +7 -0
  219. package/dist/esm/transports/mempool/methods.js.map +1 -0
  220. package/dist/esm/transports/types.d.ts +45 -11
  221. package/dist/esm/transports/types.js +5 -1
  222. package/dist/esm/transports/types.js.map +1 -1
  223. package/dist/esm/transports/utxo.d.ts +1 -0
  224. package/dist/esm/transports/utxo.js +6 -2
  225. package/dist/esm/transports/utxo.js.map +1 -1
  226. package/dist/esm/types/account.d.ts +0 -2
  227. package/dist/esm/types/transaction.d.ts +12 -3
  228. package/dist/esm/utils/url.d.ts +1 -0
  229. package/dist/esm/utils/url.js +10 -0
  230. package/dist/esm/utils/url.js.map +1 -0
  231. package/dist/esm/version.d.ts +2 -1
  232. package/dist/esm/version.js +2 -1
  233. package/dist/esm/version.js.map +1 -1
  234. package/dist/types/actions/getBalance.d.ts.map +1 -1
  235. package/dist/types/actions/getTransactions.d.ts +20 -0
  236. package/dist/types/actions/getTransactions.d.ts.map +1 -0
  237. package/dist/types/actions/getUTXOs.d.ts +13 -0
  238. package/dist/types/actions/getUTXOs.d.ts.map +1 -0
  239. package/dist/types/errors/transport.d.ts +8 -0
  240. package/dist/types/errors/transport.d.ts.map +1 -1
  241. package/dist/types/errors/utxo.d.ts +12 -0
  242. package/dist/types/errors/utxo.d.ts.map +1 -0
  243. package/dist/types/index.d.ts +13 -5
  244. package/dist/types/index.d.ts.map +1 -1
  245. package/dist/types/test/utils.d.ts +2 -0
  246. package/dist/types/test/utils.d.ts.map +1 -0
  247. package/dist/types/transports/ankr/ankr.d.ts +8 -0
  248. package/dist/types/transports/ankr/ankr.d.ts.map +1 -0
  249. package/dist/types/transports/ankr/ankr.types.d.ts +78 -0
  250. package/dist/types/transports/ankr/ankr.types.d.ts.map +1 -0
  251. package/dist/types/transports/ankr/getBalance.d.ts +3 -0
  252. package/dist/types/transports/ankr/getBalance.d.ts.map +1 -0
  253. package/dist/types/transports/ankr/getTransactions.d.ts +6 -0
  254. package/dist/types/transports/ankr/getTransactions.d.ts.map +1 -0
  255. package/dist/types/transports/ankr/methods.d.ts +3 -0
  256. package/dist/types/transports/ankr/methods.d.ts.map +1 -0
  257. package/dist/types/transports/blockchair/blockchair.d.ts +8 -0
  258. package/dist/types/transports/blockchair/blockchair.d.ts.map +1 -0
  259. package/dist/types/transports/blockchair/blockchair.types.d.ts +55 -0
  260. package/dist/types/transports/blockchair/blockchair.types.d.ts.map +1 -0
  261. package/dist/types/transports/blockchair/getBalance.d.ts +3 -0
  262. package/dist/types/transports/blockchair/getBalance.d.ts.map +1 -0
  263. package/dist/types/transports/blockchair/getUTXOs.d.ts +3 -0
  264. package/dist/types/transports/blockchair/getUTXOs.d.ts.map +1 -0
  265. package/dist/types/transports/blockchair/methods.d.ts +3 -0
  266. package/dist/types/transports/blockchair/methods.d.ts.map +1 -0
  267. package/dist/types/transports/blockcypher/blockcypher.d.ts +8 -0
  268. package/dist/types/transports/blockcypher/blockcypher.d.ts.map +1 -0
  269. package/dist/types/transports/blockcypher/blockcypher.types.d.ts +33 -0
  270. package/dist/types/transports/blockcypher/blockcypher.types.d.ts.map +1 -0
  271. package/dist/types/transports/blockcypher/getBalance.d.ts +3 -0
  272. package/dist/types/transports/blockcypher/getBalance.d.ts.map +1 -0
  273. package/dist/types/transports/blockcypher/getUTXOs.d.ts +3 -0
  274. package/dist/types/transports/blockcypher/getUTXOs.d.ts.map +1 -0
  275. package/dist/types/transports/blockcypher/methods.d.ts +3 -0
  276. package/dist/types/transports/blockcypher/methods.d.ts.map +1 -0
  277. package/dist/types/transports/fallback.d.ts.map +1 -1
  278. package/dist/types/transports/getRpcProviderMethods.d.ts +3 -1
  279. package/dist/types/transports/getRpcProviderMethods.d.ts.map +1 -1
  280. package/dist/types/transports/http.d.ts.map +1 -1
  281. package/dist/types/transports/mempool/getBalance.d.ts +3 -0
  282. package/dist/types/transports/mempool/getBalance.d.ts.map +1 -0
  283. package/dist/types/transports/mempool/getTransactions.d.ts +3 -0
  284. package/dist/types/transports/mempool/getTransactions.d.ts.map +1 -0
  285. package/dist/types/transports/mempool/mempool.d.ts +7 -0
  286. package/dist/types/transports/mempool/mempool.d.ts.map +1 -0
  287. package/dist/types/transports/mempool/mempool.types.d.ts +64 -0
  288. package/dist/types/transports/mempool/mempool.types.d.ts.map +1 -0
  289. package/dist/types/transports/mempool/methods.d.ts +3 -0
  290. package/dist/types/transports/mempool/methods.d.ts.map +1 -0
  291. package/dist/types/transports/types.d.ts +45 -11
  292. package/dist/types/transports/types.d.ts.map +1 -1
  293. package/dist/types/transports/utxo.d.ts +1 -0
  294. package/dist/types/transports/utxo.d.ts.map +1 -1
  295. package/dist/types/types/account.d.ts +0 -2
  296. package/dist/types/types/account.d.ts.map +1 -1
  297. package/dist/types/types/transaction.d.ts +12 -3
  298. package/dist/types/types/transaction.d.ts.map +1 -1
  299. package/dist/types/utils/url.d.ts +2 -0
  300. package/dist/types/utils/url.d.ts.map +1 -0
  301. package/dist/types/version.d.ts +2 -1
  302. package/dist/types/version.d.ts.map +1 -1
  303. package/package.json +2 -2
  304. package/package.json.tmp +10 -5
  305. package/src/actions/getBalance.ts +1 -0
  306. package/src/actions/getTransactions.ts +40 -0
  307. package/src/actions/getUTXOs.ts +30 -0
  308. package/src/errors/transport.ts +12 -0
  309. package/src/errors/utxo.ts +20 -0
  310. package/src/index.ts +22 -5
  311. package/src/test/utils.ts +8 -0
  312. package/src/transports/ankr/__mocks__/getBalance/valid.json +9 -0
  313. package/src/transports/ankr/__mocks__/getTransactions/valid.json +1186 -0
  314. package/src/transports/ankr/ankr.spec.ts +59 -0
  315. package/src/transports/ankr/ankr.ts +21 -0
  316. package/src/transports/ankr/ankr.types.ts +82 -0
  317. package/src/transports/ankr/getBalance.ts +25 -0
  318. package/src/transports/ankr/getTransactions.ts +68 -0
  319. package/src/transports/ankr/methods.ts +8 -0
  320. package/src/transports/blockchair/__mocks__/getBalance/invalidAddress.json +29 -0
  321. package/src/transports/blockchair/__mocks__/getBalance/valid.json +29 -0
  322. package/src/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +28 -0
  323. package/src/transports/blockchair/__mocks__/getUTXOs/valid.json +95 -0
  324. package/src/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +869 -0
  325. package/src/transports/blockchair/blockchair.spec.ts +194 -0
  326. package/src/transports/blockchair/blockchair.ts +14 -0
  327. package/src/transports/blockchair/blockchair.types.ts +59 -0
  328. package/src/transports/blockchair/getBalance.ts +32 -0
  329. package/src/transports/blockchair/getUTXOs.ts +121 -0
  330. package/src/transports/blockchair/methods.ts +8 -0
  331. package/src/transports/blockcypher/__mocks__/getBalance/invalid.json +3 -0
  332. package/src/transports/blockcypher/__mocks__/getBalance/valid.json +13 -0
  333. package/src/transports/blockcypher/__mocks__/getUTXOs/empty.json +12 -0
  334. package/src/transports/blockcypher/__mocks__/getUTXOs/paginated.json +2786 -0
  335. package/src/transports/blockcypher/__mocks__/getUTXOs/valid.json +27 -0
  336. package/src/transports/blockcypher/blockcyper.spec.ts +122 -0
  337. package/src/transports/blockcypher/blockcypher.ts +13 -0
  338. package/src/transports/blockcypher/blockcypher.types.ts +35 -0
  339. package/src/transports/blockcypher/getBalance.ts +25 -0
  340. package/src/transports/blockcypher/getUTXOs.ts +100 -0
  341. package/src/transports/blockcypher/methods.ts +8 -0
  342. package/src/transports/fallback.ts +18 -18
  343. package/src/transports/getRpcProviderMethods.ts +7 -7
  344. package/src/transports/http.ts +2 -1
  345. package/src/transports/mempool/__mocks__/getBalance/invalid.json +1 -0
  346. package/src/transports/mempool/__mocks__/getBalance/valid.json +17 -0
  347. package/src/transports/mempool/__mocks__/getTransactions/valid.json +1268 -0
  348. package/src/transports/mempool/getBalance.ts +19 -0
  349. package/src/transports/mempool/getTransactions.ts +73 -0
  350. package/src/transports/mempool/mempool.spec.ts +86 -0
  351. package/src/transports/mempool/mempool.ts +12 -0
  352. package/src/transports/mempool/mempool.types.ts +69 -0
  353. package/src/transports/mempool/methods.ts +8 -0
  354. package/src/transports/types.ts +48 -13
  355. package/src/transports/utxo.ts +8 -2
  356. package/src/types/account.ts +0 -2
  357. package/src/types/transaction.ts +13 -3
  358. package/src/utils/url.ts +12 -0
  359. package/src/version.ts +2 -1
  360. package/src/vite-env.d.ts +13 -0
  361. package/tsconfig.json +2 -1
  362. package/dist/cjs/transports/ankr.d.ts +0 -2
  363. package/dist/cjs/transports/ankr.js +0 -21
  364. package/dist/cjs/transports/ankr.js.map +0 -1
  365. package/dist/cjs/transports/blockchair.js +0 -24
  366. package/dist/cjs/transports/blockchair.js.map +0 -1
  367. package/dist/cjs/transports/blockcypher.js +0 -21
  368. package/dist/cjs/transports/blockcypher.js.map +0 -1
  369. package/dist/cjs/transports/mempool.js +0 -17
  370. package/dist/cjs/transports/mempool.js.map +0 -1
  371. package/dist/esm/transports/ankr.d.ts +0 -2
  372. package/dist/esm/transports/ankr.js +0 -18
  373. package/dist/esm/transports/ankr.js.map +0 -1
  374. package/dist/esm/transports/blockchair.js +0 -21
  375. package/dist/esm/transports/blockchair.js.map +0 -1
  376. package/dist/esm/transports/blockcypher.js +0 -18
  377. package/dist/esm/transports/blockcypher.js.map +0 -1
  378. package/dist/esm/transports/mempool.js +0 -14
  379. package/dist/esm/transports/mempool.js.map +0 -1
  380. package/dist/types/transports/ankr.d.ts +0 -3
  381. package/dist/types/transports/ankr.d.ts.map +0 -1
  382. package/dist/types/transports/blockchair.d.ts +0 -3
  383. package/dist/types/transports/blockchair.d.ts.map +0 -1
  384. package/dist/types/transports/blockcypher.d.ts +0 -3
  385. package/dist/types/transports/blockcypher.d.ts.map +0 -1
  386. package/dist/types/transports/mempool.d.ts +0 -3
  387. package/dist/types/transports/mempool.d.ts.map +0 -1
  388. package/src/transports/ankr.ts +0 -30
  389. package/src/transports/blockchair.ts +0 -27
  390. package/src/transports/blockcypher.ts +0 -32
  391. package/src/transports/mempool.ts +0 -34
@@ -1,2 +1,3 @@
1
- export declare const version = "0.1.1";
1
+ export declare const name = "@bigmi/core";
2
+ export declare const version = "0.3.0-beta.0";
2
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,gBAAgB,CAAA;AACjC,eAAO,MAAM,OAAO,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigmi/core",
3
- "version": "0.2.0",
3
+ "version": "0.3.0-beta.0",
4
4
  "description": "TypeScript library for Bitcoin apps.",
5
5
  "type": "module",
6
6
  "main": "./dist/esm/index.js",
@@ -32,7 +32,7 @@
32
32
  "bitcoinjs-lib": "^7.0.0-rc.0",
33
33
  "bs58": "^6.0.0",
34
34
  "eventemitter3": "^5.0.1",
35
- "zustand": "^5.0.4"
35
+ "zustand": "^5.0.5"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "bs58": "^6.0.0"
package/package.json.tmp CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigmi/core",
3
- "version": "0.2.0",
3
+ "version": "0.3.0-beta.0",
4
4
  "description": "TypeScript library for Bitcoin apps.",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -8,18 +8,21 @@
8
8
  "sideEffects": false,
9
9
  "scripts": {
10
10
  "watch": "tsc -w -p ./tsconfig.json",
11
- "build": "pnpm clean && pnpm build:esm && pnpm build:cjs && pnpm build:types && pnpm build:clean",
11
+ "build": "pnpm clean && pnpm build:version && pnpm build:esm && pnpm build:cjs && pnpm build:types && pnpm build:clean",
12
12
  "build:cjs": "tsc --project ./tsconfig.json --module commonjs --outDir ./dist/cjs --removeComments --verbatimModuleSyntax false && printf '{\"type\":\"commonjs\"}' > ./dist/cjs/package.json",
13
13
  "build:esm": "tsc --project ./tsconfig.json --module es2015 --outDir ./dist/esm && printf '{\"type\": \"module\",\"sideEffects\":false}' > ./dist/esm/package.json",
14
14
  "build:types": "tsc --project ./tsconfig.json --module esnext --declarationDir ./dist/types --emitDeclarationOnly --declaration --declarationMap",
15
15
  "build:prerelease": "node ../../scripts/prerelease.js && cpy '../../*.md' .",
16
16
  "build:postrelease": "node ../../scripts/postrelease.js && rm -rf *.md",
17
17
  "build:clean": "rm -rf tsconfig.tsbuildinfo ./dist/tsconfig.tsbuildinfo",
18
+ "build:version": "node ../../scripts/version.js",
18
19
  "release:build": "pnpm build",
19
20
  "clean": "pnpm build:clean && rm -rf dist",
20
21
  "check:types": "tsc --noEmit",
21
22
  "check:circular-deps": "madge --circular $(find ./src -name '*.ts' -o -name '*.tsx')",
22
- "check:circular-deps-graph": "madge --circular $(find ./src -name '*.ts' -o -name '*.tsx') --image graph.svg"
23
+ "check:circular-deps-graph": "madge --circular $(find ./src -name '*.ts' -o -name '*.tsx') --image graph.svg",
24
+ "test": "vitest",
25
+ "coverage": "vitest run --coverage"
23
26
  },
24
27
  "author": "Eugene Chybisov <eugene@li.finance>",
25
28
  "homepage": "https://github.com/lifinance/bigmi",
@@ -47,12 +50,14 @@
47
50
  "bitcoinjs-lib": "^7.0.0-rc.0",
48
51
  "bs58": "^6.0.0",
49
52
  "eventemitter3": "^5.0.1",
50
- "zustand": "^5.0.4"
53
+ "zustand": "^5.0.5"
51
54
  },
52
55
  "devDependencies": {
56
+ "@vitest/coverage-v8": "^3.1.4",
53
57
  "cpy-cli": "^5.0.0",
54
58
  "madge": "^8.0.0",
55
- "typescript": "^5.7.3"
59
+ "typescript": "^5.7.3",
60
+ "vitest": "^3.1.4"
56
61
  },
57
62
  "peerDependencies": {
58
63
  "bs58": "^6.0.0"
@@ -25,5 +25,6 @@ export async function getBalance<
25
25
  },
26
26
  { dedupe: true }
27
27
  )
28
+
28
29
  return data
29
30
  }
@@ -0,0 +1,40 @@
1
+ import type { UTXOSchema } from '../transports/types.js'
2
+ import type { Account } from '../types/account.js'
3
+ import type { Chain } from '../types/chain.js'
4
+ import type { Client } from '../types/client.js'
5
+ import type { UTXOTransaction } from '../types/transaction.js'
6
+ import type { Transport } from '../types/transport.js'
7
+
8
+ export type GetTransactionsParameters = {
9
+ address: string
10
+ offset?: number
11
+ limit?: number
12
+ lastBlock?: string
13
+ afterTxId?: string
14
+ }
15
+
16
+ export type GetTransactionsReturnType = {
17
+ transactions: Array<Partial<UTXOTransaction>>
18
+ total: number
19
+ hasMore?: boolean
20
+ }
21
+
22
+ export async function getTransactions<
23
+ C extends Chain | undefined,
24
+ A extends Account | undefined = Account | undefined,
25
+ >(
26
+ client: Client<Transport, C, A, UTXOSchema>,
27
+ { address, offset, limit, lastBlock }: GetTransactionsParameters
28
+ ): Promise<GetTransactionsReturnType> {
29
+ const data = await client.request({
30
+ method: 'getTransactions',
31
+ params: {
32
+ address,
33
+ offset,
34
+ limit,
35
+ lastBlock,
36
+ },
37
+ })
38
+
39
+ return data
40
+ }
@@ -0,0 +1,30 @@
1
+ import type { UTXOSchema } from '../transports/types.js'
2
+ import type { Account } from '../types/account.js'
3
+ import type { Chain } from '../types/chain.js'
4
+ import type { Client } from '../types/client.js'
5
+ import type { UTXO } from '../types/transaction.js'
6
+ import type { Transport } from '../types/transport.js'
7
+
8
+ export type GetUTXOsParameters = {
9
+ address: string
10
+ minValue?: number // get utxos add up to this value
11
+ }
12
+
13
+ export type GetUTXOsReturnType = Array<UTXO>
14
+
15
+ export async function getUTXOs<
16
+ C extends Chain | undefined,
17
+ A extends Account | undefined = Account | undefined,
18
+ >(
19
+ client: Client<Transport, C, A, UTXOSchema>,
20
+ { address, minValue }: GetUTXOsParameters
21
+ ): Promise<GetUTXOsReturnType> {
22
+ const data = await client.request({
23
+ method: 'getUTXOs',
24
+ params: {
25
+ address,
26
+ minValue,
27
+ },
28
+ })
29
+ return data
30
+ }
@@ -13,3 +13,15 @@ export class UrlRequiredError extends BaseError {
13
13
  )
14
14
  }
15
15
  }
16
+
17
+ export type TransportMethodNotSupportedErrorType =
18
+ TransportMethodNotSupportedError & {
19
+ name: 'TransportMethodNotSupportedError'
20
+ }
21
+ export class TransportMethodNotSupportedError extends BaseError {
22
+ constructor({ method }: { method: string }) {
23
+ super(`No transport found that supports the method: ${method}`, {
24
+ name: 'TransportMethodNotSupportedError',
25
+ })
26
+ }
27
+ }
@@ -0,0 +1,20 @@
1
+ import { BaseError } from './base.js'
2
+
3
+ export type InsufficientUTXOBalanceErrorType = InsufficientUTXOBalanceError & {
4
+ name: 'InsufficientUTXOBalanceError'
5
+ }
6
+
7
+ export class InsufficientUTXOBalanceError extends BaseError {
8
+ constructor({
9
+ minValue,
10
+ address,
11
+ balance,
12
+ }: { minValue: number; address?: string; balance?: number }) {
13
+ super(`Not enough UTXOs required for ${minValue}`, {
14
+ metaMessages: [
15
+ `${address && balance && `Address ${address} has a balance of ${balance}.`}`,
16
+ ],
17
+ name: 'InsufficientUTXOBalanceError',
18
+ })
19
+ }
20
+ }
package/src/index.ts CHANGED
@@ -38,6 +38,16 @@ export type {
38
38
  WatchBlockNumberParameters,
39
39
  WatchBlockNumberReturnType,
40
40
  } from './actions/watchBlockNumber.js'
41
+ export { getUTXOs } from './actions/getUTXOs.js'
42
+ export type {
43
+ GetUTXOsParameters,
44
+ GetUTXOsReturnType,
45
+ } from './actions/getUTXOs.js'
46
+ export { getTransactions } from './actions/getTransactions.js'
47
+ export type {
48
+ GetTransactionsParameters,
49
+ GetTransactionsReturnType,
50
+ } from './actions/getTransactions.js'
41
51
 
42
52
  // Exporting clients
43
53
  export {
@@ -50,9 +60,9 @@ export {
50
60
  } from './clients/decorators/wallet.js'
51
61
 
52
62
  // Exporting transports
53
- export { ankrMethods } from './transports/ankr.js'
54
- export { blockchairMethods } from './transports/blockchair.js'
55
- export { blockcypherMethods } from './transports/blockcypher.js'
63
+ export { ankrMethods } from './transports/ankr/methods.js'
64
+ export { blockchairMethods } from './transports/blockchair/methods.js'
65
+ export { blockcypherMethods } from './transports/blockcypher/methods.js'
56
66
  export { getHttpRpcClient } from './transports/getHttpRpcClient.js'
57
67
  export type {
58
68
  HttpRequestParameters,
@@ -60,7 +70,7 @@ export type {
60
70
  RpcRequest,
61
71
  } from './transports/getHttpRpcClient.js'
62
72
  export { getRpcProviderMethods } from './transports/getRpcProviderMethods.js'
63
- export { mempoolMethods } from './transports/mempool.js'
73
+ export { mempoolMethods } from './transports/mempool/methods.js'
64
74
  export type {
65
75
  ErrorResult,
66
76
  RpcMethodHandler,
@@ -74,6 +84,10 @@ export type {
74
84
  } from './transports/types.js'
75
85
  export { utxo } from './transports/utxo.js'
76
86
  export { custom } from './transports/custom.js'
87
+ export { ankr } from './transports/ankr/ankr.js'
88
+ export { blockchair } from './transports/blockchair/blockchair.js'
89
+ export { blockcypher } from './transports/blockcypher/blockcypher.js'
90
+ export { mempool } from './transports/mempool/mempool.js'
77
91
 
78
92
  // Exporting types
79
93
  export type { Account } from './types/account.js'
@@ -114,7 +128,6 @@ export type {
114
128
  LooseOmit,
115
129
  UnionStrictOmit,
116
130
  } from './types/utils.js'
117
- export type { BtcAccount } from './types/account.js'
118
131
 
119
132
  // Exporting utils
120
133
  export { cancelTransaction } from './utils/cancelTransaction.js'
@@ -174,6 +187,10 @@ export {
174
187
  TransactionReceiptNotFoundError,
175
188
  WaitForTransactionReceiptTimeoutError,
176
189
  } from './errors/transaction.js'
190
+ export {
191
+ InsufficientUTXOBalanceError,
192
+ type InsufficientUTXOBalanceErrorType,
193
+ } from './errors/utxo.js'
177
194
  export { UrlRequiredError } from './errors/transport.js'
178
195
  export type { ErrorType } from './errors/utils.js'
179
196
 
@@ -0,0 +1,8 @@
1
+ export const createMockResponse = <T>(data: T): Response =>
2
+ ({
3
+ ok: true,
4
+ json: () => Promise.resolve(data),
5
+ headers: new Headers({
6
+ 'Content-type': 'application/json',
7
+ }),
8
+ }) as Response
@@ -0,0 +1,9 @@
1
+ {
2
+ "address": "bc1qpvk0kjdg0kantu9z78qz7gqk53q643auz33yaw",
3
+ "balance": "33206",
4
+ "totalReceived": "424052",
5
+ "totalSent": "390846",
6
+ "unconfirmedBalance": "0",
7
+ "unconfirmedTxs": 0,
8
+ "txs": 19
9
+ }