@bigmi/core 0.2.1 → 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 (369) hide show
  1. package/.env +4 -0
  2. package/README.md +8 -14
  3. package/dist/cjs/actions/getBalance.js.map +1 -1
  4. package/dist/cjs/actions/getTransactions.d.ts +19 -0
  5. package/dist/cjs/actions/getTransactions.js +16 -0
  6. package/dist/cjs/actions/getTransactions.js.map +1 -0
  7. package/dist/cjs/actions/getUTXOs.d.ts +12 -0
  8. package/dist/cjs/actions/getUTXOs.js +14 -0
  9. package/dist/cjs/actions/getUTXOs.js.map +1 -0
  10. package/dist/cjs/errors/utxo.d.ts +11 -0
  11. package/dist/cjs/errors/utxo.js +16 -0
  12. package/dist/cjs/errors/utxo.js.map +1 -0
  13. package/dist/cjs/index.d.ts +13 -5
  14. package/dist/cjs/index.js +24 -10
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/test/utils.d.ts +1 -0
  17. package/dist/cjs/test/utils.js +12 -0
  18. package/dist/cjs/test/utils.js.map +1 -0
  19. package/dist/cjs/transports/ankr/__mocks__/getBalance/valid.json +9 -0
  20. package/dist/cjs/transports/ankr/__mocks__/getTransactions/valid.json +1186 -0
  21. package/dist/cjs/transports/ankr/ankr.d.ts +7 -0
  22. package/dist/cjs/transports/ankr/ankr.js +18 -0
  23. package/dist/cjs/transports/ankr/ankr.js.map +1 -0
  24. package/dist/cjs/transports/ankr/ankr.types.d.ts +77 -0
  25. package/dist/cjs/transports/ankr/ankr.types.js +3 -0
  26. package/dist/cjs/transports/ankr/ankr.types.js.map +1 -0
  27. package/dist/cjs/transports/ankr/getBalance.d.ts +2 -0
  28. package/dist/cjs/transports/ankr/getBalance.js +22 -0
  29. package/dist/cjs/transports/ankr/getBalance.js.map +1 -0
  30. package/dist/cjs/transports/ankr/getTransactions.d.ts +5 -0
  31. package/dist/cjs/transports/ankr/getTransactions.js +56 -0
  32. package/dist/cjs/transports/ankr/getTransactions.js.map +1 -0
  33. package/dist/cjs/transports/ankr/methods.d.ts +2 -0
  34. package/dist/cjs/transports/ankr/methods.js +10 -0
  35. package/dist/cjs/transports/ankr/methods.js.map +1 -0
  36. package/dist/cjs/transports/blockchair/__mocks__/getBalance/invalidAddress.json +29 -0
  37. package/dist/cjs/transports/blockchair/__mocks__/getBalance/valid.json +29 -0
  38. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +28 -0
  39. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/valid.json +95 -0
  40. package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +869 -0
  41. package/dist/cjs/transports/blockchair/blockchair.d.ts +7 -0
  42. package/dist/cjs/transports/blockchair/blockchair.js +11 -0
  43. package/dist/cjs/transports/blockchair/blockchair.js.map +1 -0
  44. package/dist/cjs/transports/blockchair/blockchair.types.d.ts +54 -0
  45. package/dist/cjs/transports/blockchair/blockchair.types.js +3 -0
  46. package/dist/cjs/transports/blockchair/blockchair.types.js.map +1 -0
  47. package/dist/cjs/transports/blockchair/getBalance.d.ts +2 -0
  48. package/dist/cjs/transports/blockchair/getBalance.js +27 -0
  49. package/dist/cjs/transports/blockchair/getBalance.js.map +1 -0
  50. package/dist/cjs/transports/blockchair/getUTXOs.d.ts +2 -0
  51. package/dist/cjs/transports/blockchair/getUTXOs.js +92 -0
  52. package/dist/cjs/transports/blockchair/getUTXOs.js.map +1 -0
  53. package/dist/{esm/transports/blockchair.d.ts → cjs/transports/blockchair/methods.d.ts} +1 -1
  54. package/dist/cjs/transports/blockchair/methods.js +10 -0
  55. package/dist/cjs/transports/blockchair/methods.js.map +1 -0
  56. package/dist/cjs/transports/blockcypher/__mocks__/getBalance/invalid.json +3 -0
  57. package/dist/cjs/transports/blockcypher/__mocks__/getBalance/valid.json +13 -0
  58. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/empty.json +12 -0
  59. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/paginated.json +2786 -0
  60. package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/valid.json +27 -0
  61. package/dist/cjs/transports/blockcypher/blockcypher.d.ts +7 -0
  62. package/dist/cjs/transports/blockcypher/blockcypher.js +10 -0
  63. package/dist/cjs/transports/blockcypher/blockcypher.js.map +1 -0
  64. package/dist/cjs/transports/blockcypher/blockcypher.types.d.ts +32 -0
  65. package/dist/cjs/transports/blockcypher/blockcypher.types.js +3 -0
  66. package/dist/cjs/transports/blockcypher/blockcypher.types.js.map +1 -0
  67. package/dist/cjs/transports/blockcypher/getBalance.d.ts +2 -0
  68. package/dist/cjs/transports/blockcypher/getBalance.js +23 -0
  69. package/dist/cjs/transports/blockcypher/getBalance.js.map +1 -0
  70. package/dist/cjs/transports/blockcypher/getUTXOs.d.ts +2 -0
  71. package/dist/cjs/transports/blockcypher/getUTXOs.js +81 -0
  72. package/dist/cjs/transports/blockcypher/getUTXOs.js.map +1 -0
  73. package/dist/cjs/transports/{blockcypher.d.ts → blockcypher/methods.d.ts} +1 -1
  74. package/dist/cjs/transports/blockcypher/methods.js +10 -0
  75. package/dist/cjs/transports/blockcypher/methods.js.map +1 -0
  76. package/dist/cjs/transports/getRpcProviderMethods.d.ts +3 -1
  77. package/dist/cjs/transports/getRpcProviderMethods.js +8 -8
  78. package/dist/cjs/transports/getRpcProviderMethods.js.map +1 -1
  79. package/dist/cjs/transports/mempool/__mocks__/getBalance/invalid.json +1 -0
  80. package/dist/cjs/transports/mempool/__mocks__/getBalance/valid.json +17 -0
  81. package/dist/cjs/transports/mempool/__mocks__/getTransactions/valid.json +1268 -0
  82. package/dist/cjs/transports/mempool/getBalance.d.ts +2 -0
  83. package/dist/cjs/transports/mempool/getBalance.js +16 -0
  84. package/dist/cjs/transports/mempool/getBalance.js.map +1 -0
  85. package/dist/cjs/transports/mempool/getTransactions.d.ts +2 -0
  86. package/dist/cjs/transports/mempool/getTransactions.js +57 -0
  87. package/dist/cjs/transports/mempool/getTransactions.js.map +1 -0
  88. package/dist/cjs/transports/mempool/mempool.d.ts +6 -0
  89. package/dist/cjs/transports/mempool/mempool.js +10 -0
  90. package/dist/cjs/transports/mempool/mempool.js.map +1 -0
  91. package/dist/cjs/transports/mempool/mempool.types.d.ts +63 -0
  92. package/dist/cjs/transports/mempool/mempool.types.js +3 -0
  93. package/dist/cjs/transports/mempool/mempool.types.js.map +1 -0
  94. package/dist/cjs/transports/{mempool.d.ts → mempool/methods.d.ts} +1 -1
  95. package/dist/cjs/transports/mempool/methods.js +10 -0
  96. package/dist/cjs/transports/mempool/methods.js.map +1 -0
  97. package/dist/cjs/transports/types.d.ts +33 -3
  98. package/dist/cjs/transports/types.js +5 -1
  99. package/dist/cjs/transports/types.js.map +1 -1
  100. package/dist/cjs/transports/utxo.d.ts +1 -0
  101. package/dist/cjs/transports/utxo.js +2 -2
  102. package/dist/cjs/transports/utxo.js.map +1 -1
  103. package/dist/cjs/types/account.d.ts +0 -2
  104. package/dist/cjs/types/transaction.d.ts +12 -3
  105. package/dist/cjs/utils/url.d.ts +1 -0
  106. package/dist/cjs/utils/url.js +14 -0
  107. package/dist/cjs/utils/url.js.map +1 -0
  108. package/dist/cjs/version.d.ts +2 -1
  109. package/dist/cjs/version.js +3 -2
  110. package/dist/cjs/version.js.map +1 -1
  111. package/dist/esm/actions/getBalance.js.map +1 -1
  112. package/dist/esm/actions/getTransactions.d.ts +19 -0
  113. package/dist/esm/actions/getTransactions.js +13 -0
  114. package/dist/esm/actions/getTransactions.js.map +1 -0
  115. package/dist/esm/actions/getUTXOs.d.ts +12 -0
  116. package/dist/esm/actions/getUTXOs.js +11 -0
  117. package/dist/esm/actions/getUTXOs.js.map +1 -0
  118. package/dist/esm/errors/utxo.d.ts +11 -0
  119. package/dist/esm/errors/utxo.js +12 -0
  120. package/dist/esm/errors/utxo.js.map +1 -0
  121. package/dist/esm/index.d.ts +13 -5
  122. package/dist/esm/index.js +11 -4
  123. package/dist/esm/index.js.map +1 -1
  124. package/dist/esm/test/utils.d.ts +1 -0
  125. package/dist/esm/test/utils.js +8 -0
  126. package/dist/esm/test/utils.js.map +1 -0
  127. package/dist/esm/transports/ankr/__mocks__/getBalance/valid.json +9 -0
  128. package/dist/esm/transports/ankr/__mocks__/getTransactions/valid.json +1186 -0
  129. package/dist/esm/transports/ankr/ankr.d.ts +7 -0
  130. package/dist/esm/transports/ankr/ankr.js +14 -0
  131. package/dist/esm/transports/ankr/ankr.js.map +1 -0
  132. package/dist/esm/transports/ankr/ankr.types.d.ts +77 -0
  133. package/dist/esm/transports/ankr/ankr.types.js +2 -0
  134. package/dist/esm/transports/ankr/ankr.types.js.map +1 -0
  135. package/dist/esm/transports/ankr/getBalance.d.ts +2 -0
  136. package/dist/esm/transports/ankr/getBalance.js +18 -0
  137. package/dist/esm/transports/ankr/getBalance.js.map +1 -0
  138. package/dist/esm/transports/ankr/getTransactions.d.ts +5 -0
  139. package/dist/esm/transports/ankr/getTransactions.js +51 -0
  140. package/dist/esm/transports/ankr/getTransactions.js.map +1 -0
  141. package/dist/esm/transports/ankr/methods.d.ts +2 -0
  142. package/dist/esm/transports/ankr/methods.js +7 -0
  143. package/dist/esm/transports/ankr/methods.js.map +1 -0
  144. package/dist/esm/transports/blockchair/__mocks__/getBalance/invalidAddress.json +29 -0
  145. package/dist/esm/transports/blockchair/__mocks__/getBalance/valid.json +29 -0
  146. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +28 -0
  147. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/valid.json +95 -0
  148. package/dist/esm/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +869 -0
  149. package/dist/esm/transports/blockchair/blockchair.d.ts +7 -0
  150. package/dist/esm/transports/blockchair/blockchair.js +7 -0
  151. package/dist/esm/transports/blockchair/blockchair.js.map +1 -0
  152. package/dist/esm/transports/blockchair/blockchair.types.d.ts +54 -0
  153. package/dist/esm/transports/blockchair/blockchair.types.js +2 -0
  154. package/dist/esm/transports/blockchair/blockchair.types.js.map +1 -0
  155. package/dist/esm/transports/blockchair/getBalance.d.ts +2 -0
  156. package/dist/esm/transports/blockchair/getBalance.js +23 -0
  157. package/dist/esm/transports/blockchair/getBalance.js.map +1 -0
  158. package/dist/esm/transports/blockchair/getUTXOs.d.ts +2 -0
  159. package/dist/esm/transports/blockchair/getUTXOs.js +88 -0
  160. package/dist/esm/transports/blockchair/getUTXOs.js.map +1 -0
  161. package/dist/{cjs/transports/blockchair.d.ts → esm/transports/blockchair/methods.d.ts} +1 -1
  162. package/dist/esm/transports/blockchair/methods.js +7 -0
  163. package/dist/esm/transports/blockchair/methods.js.map +1 -0
  164. package/dist/esm/transports/blockcypher/__mocks__/getBalance/invalid.json +3 -0
  165. package/dist/esm/transports/blockcypher/__mocks__/getBalance/valid.json +13 -0
  166. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/empty.json +12 -0
  167. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/paginated.json +2786 -0
  168. package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/valid.json +27 -0
  169. package/dist/esm/transports/blockcypher/blockcypher.d.ts +7 -0
  170. package/dist/esm/transports/blockcypher/blockcypher.js +6 -0
  171. package/dist/esm/transports/blockcypher/blockcypher.js.map +1 -0
  172. package/dist/esm/transports/blockcypher/blockcypher.types.d.ts +32 -0
  173. package/dist/esm/transports/blockcypher/blockcypher.types.js +2 -0
  174. package/dist/esm/transports/blockcypher/blockcypher.types.js.map +1 -0
  175. package/dist/esm/transports/blockcypher/getBalance.d.ts +2 -0
  176. package/dist/esm/transports/blockcypher/getBalance.js +19 -0
  177. package/dist/esm/transports/blockcypher/getBalance.js.map +1 -0
  178. package/dist/esm/transports/blockcypher/getUTXOs.d.ts +2 -0
  179. package/dist/esm/transports/blockcypher/getUTXOs.js +77 -0
  180. package/dist/esm/transports/blockcypher/getUTXOs.js.map +1 -0
  181. package/dist/esm/transports/{blockcypher.d.ts → blockcypher/methods.d.ts} +1 -1
  182. package/dist/esm/transports/blockcypher/methods.js +7 -0
  183. package/dist/esm/transports/blockcypher/methods.js.map +1 -0
  184. package/dist/esm/transports/getRpcProviderMethods.d.ts +3 -1
  185. package/dist/esm/transports/getRpcProviderMethods.js +4 -4
  186. package/dist/esm/transports/getRpcProviderMethods.js.map +1 -1
  187. package/dist/esm/transports/mempool/__mocks__/getBalance/invalid.json +1 -0
  188. package/dist/esm/transports/mempool/__mocks__/getBalance/valid.json +17 -0
  189. package/dist/esm/transports/mempool/__mocks__/getTransactions/valid.json +1268 -0
  190. package/dist/esm/transports/mempool/getBalance.d.ts +2 -0
  191. package/dist/esm/transports/mempool/getBalance.js +12 -0
  192. package/dist/esm/transports/mempool/getBalance.js.map +1 -0
  193. package/dist/esm/transports/mempool/getTransactions.d.ts +2 -0
  194. package/dist/esm/transports/mempool/getTransactions.js +53 -0
  195. package/dist/esm/transports/mempool/getTransactions.js.map +1 -0
  196. package/dist/esm/transports/mempool/mempool.d.ts +6 -0
  197. package/dist/esm/transports/mempool/mempool.js +6 -0
  198. package/dist/esm/transports/mempool/mempool.js.map +1 -0
  199. package/dist/esm/transports/mempool/mempool.types.d.ts +63 -0
  200. package/dist/esm/transports/mempool/mempool.types.js +2 -0
  201. package/dist/esm/transports/mempool/mempool.types.js.map +1 -0
  202. package/dist/esm/transports/{mempool.d.ts → mempool/methods.d.ts} +1 -1
  203. package/dist/esm/transports/mempool/methods.js +7 -0
  204. package/dist/esm/transports/mempool/methods.js.map +1 -0
  205. package/dist/esm/transports/types.d.ts +33 -3
  206. package/dist/esm/transports/types.js +5 -1
  207. package/dist/esm/transports/types.js.map +1 -1
  208. package/dist/esm/transports/utxo.d.ts +1 -0
  209. package/dist/esm/transports/utxo.js +2 -2
  210. package/dist/esm/transports/utxo.js.map +1 -1
  211. package/dist/esm/types/account.d.ts +0 -2
  212. package/dist/esm/types/transaction.d.ts +12 -3
  213. package/dist/esm/utils/url.d.ts +1 -0
  214. package/dist/esm/utils/url.js +10 -0
  215. package/dist/esm/utils/url.js.map +1 -0
  216. package/dist/esm/version.d.ts +2 -1
  217. package/dist/esm/version.js +2 -1
  218. package/dist/esm/version.js.map +1 -1
  219. package/dist/types/actions/getBalance.d.ts.map +1 -1
  220. package/dist/types/actions/getTransactions.d.ts +20 -0
  221. package/dist/types/actions/getTransactions.d.ts.map +1 -0
  222. package/dist/types/actions/getUTXOs.d.ts +13 -0
  223. package/dist/types/actions/getUTXOs.d.ts.map +1 -0
  224. package/dist/types/errors/utxo.d.ts +12 -0
  225. package/dist/types/errors/utxo.d.ts.map +1 -0
  226. package/dist/types/index.d.ts +13 -5
  227. package/dist/types/index.d.ts.map +1 -1
  228. package/dist/types/test/utils.d.ts +2 -0
  229. package/dist/types/test/utils.d.ts.map +1 -0
  230. package/dist/types/transports/ankr/ankr.d.ts +8 -0
  231. package/dist/types/transports/ankr/ankr.d.ts.map +1 -0
  232. package/dist/types/transports/ankr/ankr.types.d.ts +78 -0
  233. package/dist/types/transports/ankr/ankr.types.d.ts.map +1 -0
  234. package/dist/types/transports/ankr/getBalance.d.ts +3 -0
  235. package/dist/types/transports/ankr/getBalance.d.ts.map +1 -0
  236. package/dist/types/transports/ankr/getTransactions.d.ts +6 -0
  237. package/dist/types/transports/ankr/getTransactions.d.ts.map +1 -0
  238. package/dist/types/transports/ankr/methods.d.ts +3 -0
  239. package/dist/types/transports/ankr/methods.d.ts.map +1 -0
  240. package/dist/types/transports/blockchair/blockchair.d.ts +8 -0
  241. package/dist/types/transports/blockchair/blockchair.d.ts.map +1 -0
  242. package/dist/types/transports/blockchair/blockchair.types.d.ts +55 -0
  243. package/dist/types/transports/blockchair/blockchair.types.d.ts.map +1 -0
  244. package/dist/types/transports/blockchair/getBalance.d.ts +3 -0
  245. package/dist/types/transports/blockchair/getBalance.d.ts.map +1 -0
  246. package/dist/types/transports/blockchair/getUTXOs.d.ts +3 -0
  247. package/dist/types/transports/blockchair/getUTXOs.d.ts.map +1 -0
  248. package/dist/types/transports/blockchair/methods.d.ts +3 -0
  249. package/dist/types/transports/blockchair/methods.d.ts.map +1 -0
  250. package/dist/types/transports/blockcypher/blockcypher.d.ts +8 -0
  251. package/dist/types/transports/blockcypher/blockcypher.d.ts.map +1 -0
  252. package/dist/types/transports/blockcypher/blockcypher.types.d.ts +33 -0
  253. package/dist/types/transports/blockcypher/blockcypher.types.d.ts.map +1 -0
  254. package/dist/types/transports/blockcypher/getBalance.d.ts +3 -0
  255. package/dist/types/transports/blockcypher/getBalance.d.ts.map +1 -0
  256. package/dist/types/transports/blockcypher/getUTXOs.d.ts +3 -0
  257. package/dist/types/transports/blockcypher/getUTXOs.d.ts.map +1 -0
  258. package/dist/types/transports/blockcypher/methods.d.ts +3 -0
  259. package/dist/types/transports/blockcypher/methods.d.ts.map +1 -0
  260. package/dist/types/transports/getRpcProviderMethods.d.ts +3 -1
  261. package/dist/types/transports/getRpcProviderMethods.d.ts.map +1 -1
  262. package/dist/types/transports/mempool/getBalance.d.ts +3 -0
  263. package/dist/types/transports/mempool/getBalance.d.ts.map +1 -0
  264. package/dist/types/transports/mempool/getTransactions.d.ts +3 -0
  265. package/dist/types/transports/mempool/getTransactions.d.ts.map +1 -0
  266. package/dist/types/transports/mempool/mempool.d.ts +7 -0
  267. package/dist/types/transports/mempool/mempool.d.ts.map +1 -0
  268. package/dist/types/transports/mempool/mempool.types.d.ts +64 -0
  269. package/dist/types/transports/mempool/mempool.types.d.ts.map +1 -0
  270. package/dist/types/transports/mempool/methods.d.ts +3 -0
  271. package/dist/types/transports/mempool/methods.d.ts.map +1 -0
  272. package/dist/types/transports/types.d.ts +33 -3
  273. package/dist/types/transports/types.d.ts.map +1 -1
  274. package/dist/types/transports/utxo.d.ts +1 -0
  275. package/dist/types/transports/utxo.d.ts.map +1 -1
  276. package/dist/types/types/account.d.ts +0 -2
  277. package/dist/types/types/account.d.ts.map +1 -1
  278. package/dist/types/types/transaction.d.ts +12 -3
  279. package/dist/types/types/transaction.d.ts.map +1 -1
  280. package/dist/types/utils/url.d.ts +2 -0
  281. package/dist/types/utils/url.d.ts.map +1 -0
  282. package/dist/types/version.d.ts +2 -1
  283. package/dist/types/version.d.ts.map +1 -1
  284. package/package.json +2 -2
  285. package/package.json.tmp +10 -5
  286. package/src/actions/getBalance.ts +1 -0
  287. package/src/actions/getTransactions.ts +40 -0
  288. package/src/actions/getUTXOs.ts +30 -0
  289. package/src/errors/utxo.ts +20 -0
  290. package/src/index.ts +22 -5
  291. package/src/test/utils.ts +8 -0
  292. package/src/transports/ankr/__mocks__/getBalance/valid.json +9 -0
  293. package/src/transports/ankr/__mocks__/getTransactions/valid.json +1186 -0
  294. package/src/transports/ankr/ankr.spec.ts +59 -0
  295. package/src/transports/ankr/ankr.ts +21 -0
  296. package/src/transports/ankr/ankr.types.ts +82 -0
  297. package/src/transports/ankr/getBalance.ts +25 -0
  298. package/src/transports/ankr/getTransactions.ts +68 -0
  299. package/src/transports/ankr/methods.ts +8 -0
  300. package/src/transports/blockchair/__mocks__/getBalance/invalidAddress.json +29 -0
  301. package/src/transports/blockchair/__mocks__/getBalance/valid.json +29 -0
  302. package/src/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +28 -0
  303. package/src/transports/blockchair/__mocks__/getUTXOs/valid.json +95 -0
  304. package/src/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +869 -0
  305. package/src/transports/blockchair/blockchair.spec.ts +194 -0
  306. package/src/transports/blockchair/blockchair.ts +14 -0
  307. package/src/transports/blockchair/blockchair.types.ts +59 -0
  308. package/src/transports/blockchair/getBalance.ts +32 -0
  309. package/src/transports/blockchair/getUTXOs.ts +121 -0
  310. package/src/transports/blockchair/methods.ts +8 -0
  311. package/src/transports/blockcypher/__mocks__/getBalance/invalid.json +3 -0
  312. package/src/transports/blockcypher/__mocks__/getBalance/valid.json +13 -0
  313. package/src/transports/blockcypher/__mocks__/getUTXOs/empty.json +12 -0
  314. package/src/transports/blockcypher/__mocks__/getUTXOs/paginated.json +2786 -0
  315. package/src/transports/blockcypher/__mocks__/getUTXOs/valid.json +27 -0
  316. package/src/transports/blockcypher/blockcyper.spec.ts +122 -0
  317. package/src/transports/blockcypher/blockcypher.ts +13 -0
  318. package/src/transports/blockcypher/blockcypher.types.ts +35 -0
  319. package/src/transports/blockcypher/getBalance.ts +25 -0
  320. package/src/transports/blockcypher/getUTXOs.ts +100 -0
  321. package/src/transports/blockcypher/methods.ts +8 -0
  322. package/src/transports/getRpcProviderMethods.ts +7 -7
  323. package/src/transports/mempool/__mocks__/getBalance/invalid.json +1 -0
  324. package/src/transports/mempool/__mocks__/getBalance/valid.json +17 -0
  325. package/src/transports/mempool/__mocks__/getTransactions/valid.json +1268 -0
  326. package/src/transports/mempool/getBalance.ts +19 -0
  327. package/src/transports/mempool/getTransactions.ts +73 -0
  328. package/src/transports/mempool/mempool.spec.ts +86 -0
  329. package/src/transports/mempool/mempool.ts +12 -0
  330. package/src/transports/mempool/mempool.types.ts +69 -0
  331. package/src/transports/mempool/methods.ts +8 -0
  332. package/src/transports/types.ts +36 -7
  333. package/src/transports/utxo.ts +4 -1
  334. package/src/types/account.ts +0 -2
  335. package/src/types/transaction.ts +13 -3
  336. package/src/utils/url.ts +12 -0
  337. package/src/version.ts +2 -1
  338. package/src/vite-env.d.ts +13 -0
  339. package/tsconfig.json +2 -1
  340. package/dist/cjs/transports/ankr.d.ts +0 -2
  341. package/dist/cjs/transports/ankr.js +0 -21
  342. package/dist/cjs/transports/ankr.js.map +0 -1
  343. package/dist/cjs/transports/blockchair.js +0 -24
  344. package/dist/cjs/transports/blockchair.js.map +0 -1
  345. package/dist/cjs/transports/blockcypher.js +0 -21
  346. package/dist/cjs/transports/blockcypher.js.map +0 -1
  347. package/dist/cjs/transports/mempool.js +0 -17
  348. package/dist/cjs/transports/mempool.js.map +0 -1
  349. package/dist/esm/transports/ankr.d.ts +0 -2
  350. package/dist/esm/transports/ankr.js +0 -18
  351. package/dist/esm/transports/ankr.js.map +0 -1
  352. package/dist/esm/transports/blockchair.js +0 -21
  353. package/dist/esm/transports/blockchair.js.map +0 -1
  354. package/dist/esm/transports/blockcypher.js +0 -18
  355. package/dist/esm/transports/blockcypher.js.map +0 -1
  356. package/dist/esm/transports/mempool.js +0 -14
  357. package/dist/esm/transports/mempool.js.map +0 -1
  358. package/dist/types/transports/ankr.d.ts +0 -3
  359. package/dist/types/transports/ankr.d.ts.map +0 -1
  360. package/dist/types/transports/blockchair.d.ts +0 -3
  361. package/dist/types/transports/blockchair.d.ts.map +0 -1
  362. package/dist/types/transports/blockcypher.d.ts +0 -3
  363. package/dist/types/transports/blockcypher.d.ts.map +0 -1
  364. package/dist/types/transports/mempool.d.ts +0 -3
  365. package/dist/types/transports/mempool.d.ts.map +0 -1
  366. package/src/transports/ankr.ts +0 -30
  367. package/src/transports/blockchair.ts +0 -27
  368. package/src/transports/blockcypher.ts +0 -32
  369. package/src/transports/mempool.ts +0 -34
@@ -0,0 +1,27 @@
1
+ {
2
+ "address": "bc1qpvk0kjdg0kantu9z78qz7gqk53q643auz33yaw",
3
+ "total_received": 190653,
4
+ "total_sent": 157447,
5
+ "balance": 33206,
6
+ "unconfirmed_balance": 0,
7
+ "final_balance": 33206,
8
+ "n_tx": 19,
9
+ "unconfirmed_n_tx": 0,
10
+ "final_n_tx": 19,
11
+ "txrefs": [
12
+ {
13
+ "tx_hash": "4b6ee974f1dd179071d027562e1fd1c83965efa4a171ec84f00b6c638e36fa4e",
14
+ "block_height": 897002,
15
+ "tx_input_n": -1,
16
+ "tx_output_n": 2,
17
+ "value": 33206,
18
+ "ref_balance": 80786,
19
+ "spent": false,
20
+ "confirmations": 526,
21
+ "confirmed": "2025-05-16T19:17:40Z",
22
+ "double_spend": false,
23
+ "script": "00140b2cfb49a87dbb35f0a2f1c02f2016a441aac7bc"
24
+ }
25
+ ],
26
+ "tx_url": "https://api.blockcypher.com/v1/btc/main/txs/"
27
+ }
@@ -0,0 +1,7 @@
1
+ import type { HttpTransportConfig } from '../http.js';
2
+ type BlockcypherConfig = {
3
+ baseUrl?: string;
4
+ apiKey?: string;
5
+ } & HttpTransportConfig;
6
+ export declare const blockcypher: (config?: BlockcypherConfig) => import("../http.js").HttpTransport;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.blockcypher = void 0;
4
+ const utxo_js_1 = require("../utxo.js");
5
+ const blockcypher = (config) => (0, utxo_js_1.utxo)(config?.baseUrl || 'https://api.blockcypher.com/v1/btc/main', {
6
+ key: 'blockcypher',
7
+ ...config,
8
+ });
9
+ exports.blockcypher = blockcypher;
10
+ //# sourceMappingURL=blockcypher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockcypher.js","sourceRoot":"","sources":["../../../../src/transports/blockcypher/blockcypher.ts"],"names":[],"mappings":";;;AACA,wCAAiC;AAO1B,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE,CACxD,IAAA,cAAI,EAAC,MAAM,EAAE,OAAO,IAAI,yCAAyC,EAAE;IACjE,GAAG,EAAE,aAAa;IAClB,GAAG,MAAM;CACV,CAAC,CAAA;AAJS,QAAA,WAAW,eAIpB"}
@@ -0,0 +1,32 @@
1
+ export type BlockcypherErrorResponse = {
2
+ error: string;
3
+ };
4
+ export type BlockcypherBalanceResponse = {
5
+ address: string;
6
+ total_received: number;
7
+ total_sent: number;
8
+ balance: number;
9
+ unconfirmed_balance: number;
10
+ final_balance: number;
11
+ n_tx: number;
12
+ unconfirmed_n_tx: number;
13
+ final_n_tx: number;
14
+ error?: string;
15
+ hasMore?: boolean;
16
+ };
17
+ export type BlockcypherUTXO = {
18
+ tx_hash: string;
19
+ block_height: number;
20
+ tx_input_n: number;
21
+ tx_output_n: number;
22
+ value: number;
23
+ ref_balance: number;
24
+ spent: boolean;
25
+ confirmations: number;
26
+ confirmed: string;
27
+ double_spend: boolean;
28
+ script: string;
29
+ };
30
+ export type BlockcypherUTXOsResponse = BlockcypherBalanceResponse & {
31
+ txrefs: BlockcypherUTXO[];
32
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=blockcypher.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockcypher.types.js","sourceRoot":"","sources":["../../../../src/transports/blockcypher/blockcypher.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import type { RpcMethodHandler } from '../types.js';
2
+ export declare const getBalance: RpcMethodHandler<'getBalance'>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBalance = void 0;
4
+ const url_js_1 = require("../../utils/url.js");
5
+ const getBalance = async (client, { baseUrl, apiKey }, { address }) => {
6
+ const apiUrl = (0, url_js_1.urlWithParams)(`${baseUrl}/addrs/${address}`, {
7
+ token: apiKey,
8
+ });
9
+ const response = (await client.request({
10
+ url: apiUrl,
11
+ fetchOptions: { method: 'GET' },
12
+ }));
13
+ if (response.error) {
14
+ return {
15
+ error: { code: -1, message: response.error },
16
+ };
17
+ }
18
+ return {
19
+ result: BigInt(response.balance),
20
+ };
21
+ };
22
+ exports.getBalance = getBalance;
23
+ //# sourceMappingURL=getBalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../../src/transports/blockcypher/getBalance.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAI3C,MAAM,UAAU,GAAmC,KAAK,EAC7D,MAAM,EACN,EAAE,OAAO,EAAE,MAAM,EAAE,EACnB,EAAE,OAAO,EAAE,EACX,EAAE;IACF,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,GAAG,OAAO,UAAU,OAAO,EAAE,EAAE;QAC1D,KAAK,EAAE,MAAM;KACd,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC;QACrC,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;KAChC,CAAC,CAA0C,CAAA;IAC5C,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE;SAC7C,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;KACjC,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,UAAU,cAoBtB"}
@@ -0,0 +1,2 @@
1
+ import type { RpcMethodHandler } from '../types.js';
2
+ export declare const getUTXOs: RpcMethodHandler<'getUTXOs'>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUTXOs = void 0;
4
+ const request_js_1 = require("../../errors/request.js");
5
+ const utxo_js_1 = require("../../errors/utxo.js");
6
+ const url_js_1 = require("../../utils/url.js");
7
+ const blockchairUTXOTransformer = (utxo) => ({
8
+ blockHeight: utxo.block_height,
9
+ isConfirmed: Boolean(utxo.confirmations),
10
+ confirmations: utxo.confirmations,
11
+ value: utxo.value,
12
+ vout: utxo.tx_output_n,
13
+ txId: utxo.tx_hash,
14
+ scriptHex: utxo.script,
15
+ });
16
+ const MAX_API_LIMIT = 2000;
17
+ const getUTXOs = async (client, { baseUrl, apiKey }, { address, minValue }) => {
18
+ async function* fetchUTXOs() {
19
+ let hasMore = true;
20
+ let beforeBlock = undefined;
21
+ while (hasMore) {
22
+ const apiUrl = (0, url_js_1.urlWithParams)(`${baseUrl}/addrs/${address}`, {
23
+ token: apiKey,
24
+ unspentOnly: 'true',
25
+ includeScript: 'true',
26
+ before: beforeBlock,
27
+ limit: MAX_API_LIMIT,
28
+ });
29
+ const response = (await client.request({
30
+ url: apiUrl,
31
+ fetchOptions: { method: 'GET' },
32
+ }));
33
+ if (response.error) {
34
+ throw new request_js_1.RpcRequestError({
35
+ url: apiUrl,
36
+ body: {
37
+ method: 'fetchUTXOs',
38
+ params: {
39
+ address,
40
+ minValue,
41
+ },
42
+ },
43
+ error: {
44
+ code: -1,
45
+ message: response.error,
46
+ },
47
+ });
48
+ }
49
+ if (minValue && minValue > response.final_balance) {
50
+ throw new utxo_js_1.InsufficientUTXOBalanceError({
51
+ minValue,
52
+ address,
53
+ balance: response.final_balance,
54
+ });
55
+ }
56
+ if (!response.txrefs || response.txrefs.length === 0) {
57
+ hasMore = false;
58
+ continue;
59
+ }
60
+ const { hasMore: apiHasMore } = response;
61
+ hasMore = Boolean(apiHasMore);
62
+ beforeBlock = response.txrefs[response.txrefs.length - 1].block_height;
63
+ yield response.txrefs;
64
+ }
65
+ }
66
+ const utxos = [];
67
+ let valueCount = 0;
68
+ for await (const batch of fetchUTXOs()) {
69
+ const utxoBatch = batch.map(blockchairUTXOTransformer);
70
+ utxos.push(...utxoBatch);
71
+ if (minValue) {
72
+ valueCount += utxoBatch.reduce((sum, utxo) => sum + utxo.value, 0);
73
+ if (valueCount >= minValue) {
74
+ break;
75
+ }
76
+ }
77
+ }
78
+ return { result: utxos };
79
+ };
80
+ exports.getUTXOs = getUTXOs;
81
+ //# sourceMappingURL=getUTXOs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUTXOs.js","sourceRoot":"","sources":["../../../../src/transports/blockcypher/getUTXOs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { RpcMethods } from './types.js';
1
+ import type { RpcMethods } from '../types.js';
2
2
  export declare const blockcypherMethods: RpcMethods;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.blockcypherMethods = void 0;
4
+ const getBalance_js_1 = require("./getBalance.js");
5
+ const getUTXOs_js_1 = require("./getUTXOs.js");
6
+ exports.blockcypherMethods = {
7
+ getBalance: getBalance_js_1.getBalance,
8
+ getUTXOs: getUTXOs_js_1.getUTXOs,
9
+ };
10
+ //# sourceMappingURL=methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../src/transports/blockcypher/methods.ts"],"names":[],"mappings":";;;AACA,mDAA4C;AAC5C,+CAAwC;AAE3B,QAAA,kBAAkB,GAAe;IAC5C,UAAU,EAAV,0BAAU;IACV,QAAQ,EAAR,sBAAQ;CACT,CAAA"}
@@ -1,2 +1,4 @@
1
1
  import type { RpcMethods } from './types.js';
2
- export declare function getRpcProviderMethods(key: 'blockchair' | 'ankr' | 'blockcypher' | 'mempool' | string): RpcMethods | null;
2
+ type providers = 'blockchair' | 'ankr' | 'blockcypher' | 'mempool' | string;
3
+ export declare function getRpcProviderMethods(key: providers): RpcMethods | null;
4
+ export {};
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRpcProviderMethods = getRpcProviderMethods;
4
- const ankr_js_1 = require("./ankr.js");
5
- const blockchair_js_1 = require("./blockchair.js");
6
- const blockcypher_js_1 = require("./blockcypher.js");
7
- const mempool_js_1 = require("./mempool.js");
4
+ const methods_js_1 = require("./ankr/methods.js");
5
+ const methods_js_2 = require("./blockchair/methods.js");
6
+ const methods_js_3 = require("./blockcypher/methods.js");
7
+ const methods_js_4 = require("./mempool/methods.js");
8
8
  function getRpcProviderMethods(key) {
9
9
  switch (key) {
10
10
  case 'blockchair':
11
- return blockchair_js_1.blockchairMethods;
11
+ return methods_js_2.blockchairMethods;
12
12
  case 'ankr':
13
- return ankr_js_1.ankrMethods;
13
+ return methods_js_1.ankrMethods;
14
14
  case 'blockcypher':
15
- return blockcypher_js_1.blockcypherMethods;
15
+ return methods_js_3.blockcypherMethods;
16
16
  case 'mempool':
17
- return mempool_js_1.mempoolMethods;
17
+ return methods_js_4.mempoolMethods;
18
18
  default:
19
19
  return null;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getRpcProviderMethods.js","sourceRoot":"","sources":["../../../src/transports/getRpcProviderMethods.ts"],"names":[],"mappings":";;AAMA,sDAeC;AArBD,uCAAuC;AACvC,mDAAmD;AACnD,qDAAqD;AACrD,6CAA6C;AAG7C,SAAgB,qBAAqB,CACnC,GAA+D;IAE/D,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,iCAAiB,CAAA;QAC1B,KAAK,MAAM;YACT,OAAO,qBAAW,CAAA;QACpB,KAAK,aAAa;YAChB,OAAO,mCAAkB,CAAA;QAC3B,KAAK,SAAS;YACZ,OAAO,2BAAc,CAAA;QACvB;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"getRpcProviderMethods.js","sourceRoot":"","sources":["../../../src/transports/getRpcProviderMethods.ts"],"names":[],"mappings":";;AAQA,sDAaC;AArBD,kDAA+C;AAC/C,wDAA2D;AAC3D,yDAA6D;AAC7D,qDAAqD;AAKrD,SAAgB,qBAAqB,CAAC,GAAc;IAClD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,YAAY;YACf,OAAO,8BAAiB,CAAA;QAC1B,KAAK,MAAM;YACT,OAAO,wBAAW,CAAA;QACpB,KAAK,aAAa;YAChB,OAAO,+BAAkB,CAAA;QAC3B,KAAK,SAAS;YACZ,OAAO,2BAAc,CAAA;QACvB;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ "Invalid Bitcoin address"
@@ -0,0 +1,17 @@
1
+ {
2
+ "address": "bc1qpvk0kjdg0kantu9z78qz7gqk53q643auz33yaw",
3
+ "chain_stats": {
4
+ "funded_txo_count": 18,
5
+ "funded_txo_sum": 424052,
6
+ "spent_txo_count": 17,
7
+ "spent_txo_sum": 390846,
8
+ "tx_count": 19
9
+ },
10
+ "mempool_stats": {
11
+ "funded_txo_count": 0,
12
+ "funded_txo_sum": 0,
13
+ "spent_txo_count": 0,
14
+ "spent_txo_sum": 0,
15
+ "tx_count": 0
16
+ }
17
+ }