@getomnichain/omnichain 0.2.0 → 0.2.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 (576) hide show
  1. package/dist/cjs/abstract_gas_pricing.js +27 -0
  2. package/dist/cjs/abstract_gas_pricing.js.map +1 -0
  3. package/dist/cjs/address.factory.js +81 -0
  4. package/dist/cjs/address.factory.js.map +1 -0
  5. package/dist/cjs/address.js +17 -0
  6. package/dist/cjs/address.js.map +1 -0
  7. package/dist/cjs/address_field.decorator.js +37 -0
  8. package/dist/cjs/address_field.decorator.js.map +1 -0
  9. package/dist/cjs/chain.base.js +118 -0
  10. package/dist/cjs/chain.base.js.map +1 -0
  11. package/dist/cjs/chain_ids.js +205 -0
  12. package/dist/cjs/chain_ids.js.map +1 -0
  13. package/dist/cjs/errors.js +69 -0
  14. package/dist/cjs/errors.js.map +1 -0
  15. package/dist/cjs/evm/evm_address.js +63 -0
  16. package/dist/cjs/evm/evm_address.js.map +1 -0
  17. package/dist/cjs/evm/evm_chain.js +690 -0
  18. package/dist/cjs/evm/evm_chain.js.map +1 -0
  19. package/dist/cjs/evm/evm_chains.js +530 -0
  20. package/dist/cjs/evm/evm_chains.js.map +1 -0
  21. package/dist/cjs/evm/evm_gas_estimate.js +76 -0
  22. package/dist/cjs/evm/evm_gas_estimate.js.map +1 -0
  23. package/dist/cjs/evm/evm_gas_pricing.js +62 -0
  24. package/dist/cjs/evm/evm_gas_pricing.js.map +1 -0
  25. package/dist/cjs/evm/evm_token.js +26 -0
  26. package/dist/cjs/evm/evm_token.js.map +1 -0
  27. package/dist/cjs/evm/evm_tokens.js +109 -0
  28. package/dist/cjs/evm/evm_tokens.js.map +1 -0
  29. package/dist/cjs/evm/evm_transaction_status.js +183 -0
  30. package/dist/cjs/evm/evm_transaction_status.js.map +1 -0
  31. package/dist/cjs/evm/index.js +26 -0
  32. package/dist/cjs/evm/index.js.map +1 -0
  33. package/dist/cjs/evm/unsigned_evm_transaction.js +22 -0
  34. package/dist/cjs/evm/unsigned_evm_transaction.js.map +1 -0
  35. package/dist/cjs/index.js +34 -0
  36. package/dist/cjs/index.js.map +1 -0
  37. package/dist/cjs/is_address.decorator.js +54 -0
  38. package/dist/cjs/is_address.decorator.js.map +1 -0
  39. package/dist/cjs/network_type.js +152 -0
  40. package/dist/cjs/network_type.js.map +1 -0
  41. package/dist/cjs/package.json +3 -0
  42. package/dist/cjs/priority.js +26 -0
  43. package/dist/cjs/priority.js.map +1 -0
  44. package/dist/cjs/solana/index.js +25 -0
  45. package/dist/cjs/solana/index.js.map +1 -0
  46. package/dist/cjs/solana/solana_address.js +49 -0
  47. package/dist/cjs/solana/solana_address.js.map +1 -0
  48. package/dist/cjs/solana/solana_chain.js +708 -0
  49. package/dist/cjs/solana/solana_chain.js.map +1 -0
  50. package/dist/cjs/solana/solana_chains.js +88 -0
  51. package/dist/cjs/solana/solana_chains.js.map +1 -0
  52. package/dist/cjs/solana/solana_gas_pricing.js +30 -0
  53. package/dist/cjs/solana/solana_gas_pricing.js.map +1 -0
  54. package/dist/cjs/solana/solana_token.js +38 -0
  55. package/dist/cjs/solana/solana_token.js.map +1 -0
  56. package/dist/cjs/solana/solana_tokens.js +29 -0
  57. package/dist/cjs/solana/solana_tokens.js.map +1 -0
  58. package/dist/cjs/solana/solana_transaction_status.js +149 -0
  59. package/dist/cjs/solana/solana_transaction_status.js.map +1 -0
  60. package/dist/cjs/solana/unsigned_solana_transaction.js +30 -0
  61. package/dist/cjs/solana/unsigned_solana_transaction.js.map +1 -0
  62. package/dist/cjs/token.js +66 -0
  63. package/dist/cjs/token.js.map +1 -0
  64. package/dist/cjs/ton/index.js +18 -0
  65. package/dist/cjs/ton/index.js.map +1 -0
  66. package/dist/cjs/ton/ton_address.js +57 -0
  67. package/dist/cjs/ton/ton_address.js.map +1 -0
  68. package/dist/cjs/transaction_status.js +283 -0
  69. package/dist/cjs/transaction_status.js.map +1 -0
  70. package/dist/cjs/unsigned_transaction.js +13 -0
  71. package/dist/cjs/unsigned_transaction.js.map +1 -0
  72. package/dist/cjs/utxo/btc/btc_address.js +43 -0
  73. package/dist/cjs/utxo/btc/btc_address.js.map +1 -0
  74. package/dist/cjs/utxo/btc/btc_chain.js +66 -0
  75. package/dist/cjs/utxo/btc/btc_chain.js.map +1 -0
  76. package/dist/cjs/utxo/btc/btc_chains.js +49 -0
  77. package/dist/cjs/utxo/btc/btc_chains.js.map +1 -0
  78. package/dist/cjs/utxo/btc/btc_token.js +15 -0
  79. package/dist/cjs/utxo/btc/btc_token.js.map +1 -0
  80. package/dist/cjs/utxo/btc/index.js +30 -0
  81. package/dist/cjs/utxo/btc/index.js.map +1 -0
  82. package/dist/cjs/utxo/btc/network_params.js +196 -0
  83. package/dist/cjs/utxo/btc/network_params.js.map +1 -0
  84. package/dist/cjs/utxo/btc/tools/asset_outpoint.js +16 -0
  85. package/dist/cjs/utxo/btc/tools/asset_outpoint.js.map +1 -0
  86. package/dist/cjs/utxo/btc/tools/bitcoin_core.tool.js +179 -0
  87. package/dist/cjs/utxo/btc/tools/bitcoin_core.tool.js.map +1 -0
  88. package/dist/cjs/utxo/btc/tools/esplora.tool.js +120 -0
  89. package/dist/cjs/utxo/btc/tools/esplora.tool.js.map +1 -0
  90. package/dist/cjs/utxo/btc/tools/inscription_index.js +3 -0
  91. package/dist/cjs/utxo/btc/tools/inscription_index.js.map +1 -0
  92. package/dist/cjs/utxo/btc/tools/ordiscan.tool.js +60 -0
  93. package/dist/cjs/utxo/btc/tools/ordiscan.tool.js.map +1 -0
  94. package/dist/cjs/utxo/btc/tools/rare_sat_index.js +3 -0
  95. package/dist/cjs/utxo/btc/tools/rare_sat_index.js.map +1 -0
  96. package/dist/cjs/utxo/btc/tools/rune_index.js +3 -0
  97. package/dist/cjs/utxo/btc/tools/rune_index.js.map +1 -0
  98. package/dist/cjs/utxo/btc/tools/unisat.tool.js +56 -0
  99. package/dist/cjs/utxo/btc/tools/unisat.tool.js.map +1 -0
  100. package/dist/cjs/utxo/coin_selection.js +160 -0
  101. package/dist/cjs/utxo/coin_selection.js.map +1 -0
  102. package/dist/cjs/utxo/doge/doge_chains.js +32 -0
  103. package/dist/cjs/utxo/doge/doge_chains.js.map +1 -0
  104. package/dist/cjs/utxo/doge/index.js +19 -0
  105. package/dist/cjs/utxo/doge/index.js.map +1 -0
  106. package/dist/cjs/utxo/doge/network_params.js +30 -0
  107. package/dist/cjs/utxo/doge/network_params.js.map +1 -0
  108. package/dist/cjs/utxo/ecc.js +47 -0
  109. package/dist/cjs/utxo/ecc.js.map +1 -0
  110. package/dist/cjs/utxo/fee.js +61 -0
  111. package/dist/cjs/utxo/fee.js.map +1 -0
  112. package/dist/cjs/utxo/index.js +36 -0
  113. package/dist/cjs/utxo/index.js.map +1 -0
  114. package/dist/cjs/utxo/ltc/index.js +19 -0
  115. package/dist/cjs/utxo/ltc/index.js.map +1 -0
  116. package/dist/cjs/utxo/ltc/ltc_chains.js +32 -0
  117. package/dist/cjs/utxo/ltc/ltc_chains.js.map +1 -0
  118. package/dist/cjs/utxo/ltc/network_params.js +33 -0
  119. package/dist/cjs/utxo/ltc/network_params.js.map +1 -0
  120. package/dist/cjs/utxo/script.js +59 -0
  121. package/dist/cjs/utxo/script.js.map +1 -0
  122. package/dist/cjs/utxo/tools/broadcaster.js +3 -0
  123. package/dist/cjs/utxo/tools/broadcaster.js.map +1 -0
  124. package/dist/cjs/utxo/tools/chain_tip_provider.js +3 -0
  125. package/dist/cjs/utxo/tools/chain_tip_provider.js.map +1 -0
  126. package/dist/cjs/utxo/tools/fee_estimator.js +3 -0
  127. package/dist/cjs/utxo/tools/fee_estimator.js.map +1 -0
  128. package/dist/cjs/utxo/tools/raw_transaction_provider.js +3 -0
  129. package/dist/cjs/utxo/tools/raw_transaction_provider.js.map +1 -0
  130. package/dist/cjs/utxo/tools/utxo_provider.js +3 -0
  131. package/dist/cjs/utxo/tools/utxo_provider.js.map +1 -0
  132. package/dist/cjs/utxo/unsigned_utxo_transaction.js +36 -0
  133. package/dist/cjs/utxo/unsigned_utxo_transaction.js.map +1 -0
  134. package/dist/cjs/utxo/utxo.js +3 -0
  135. package/dist/{utxo → cjs/utxo}/utxo.js.map +1 -1
  136. package/dist/cjs/utxo/utxo_chain.js +528 -0
  137. package/dist/cjs/utxo/utxo_chain.js.map +1 -0
  138. package/dist/cjs/utxo/utxo_chains.js +68 -0
  139. package/dist/cjs/utxo/utxo_chains.js.map +1 -0
  140. package/dist/cjs/utxo/utxo_gas_pricing.js +24 -0
  141. package/dist/cjs/utxo/utxo_gas_pricing.js.map +1 -0
  142. package/dist/cjs/utxo/utxo_network_params.js +18 -0
  143. package/dist/cjs/utxo/utxo_network_params.js.map +1 -0
  144. package/dist/cjs/utxo/utxo_transaction_status.js +95 -0
  145. package/dist/cjs/utxo/utxo_transaction_status.js.map +1 -0
  146. package/dist/esm/abstract_gas_pricing.d.ts.map +1 -0
  147. package/dist/esm/abstract_gas_pricing.js.map +1 -0
  148. package/dist/esm/address.d.ts.map +1 -0
  149. package/dist/esm/address.factory.d.ts.map +1 -0
  150. package/dist/esm/address.factory.js.map +1 -0
  151. package/dist/esm/address.js.map +1 -0
  152. package/dist/esm/address_field.decorator.d.ts.map +1 -0
  153. package/dist/esm/address_field.decorator.js.map +1 -0
  154. package/dist/esm/chain.base.d.ts.map +1 -0
  155. package/dist/esm/chain.base.js.map +1 -0
  156. package/dist/esm/chain_ids.d.ts.map +1 -0
  157. package/dist/esm/chain_ids.js.map +1 -0
  158. package/dist/esm/errors.d.ts.map +1 -0
  159. package/dist/esm/errors.js.map +1 -0
  160. package/dist/esm/evm/evm_address.d.ts.map +1 -0
  161. package/dist/esm/evm/evm_address.js.map +1 -0
  162. package/dist/esm/evm/evm_chain.d.ts.map +1 -0
  163. package/dist/esm/evm/evm_chain.js.map +1 -0
  164. package/dist/esm/evm/evm_chains.d.ts.map +1 -0
  165. package/dist/esm/evm/evm_chains.js.map +1 -0
  166. package/dist/esm/evm/evm_gas_estimate.d.ts.map +1 -0
  167. package/dist/esm/evm/evm_gas_estimate.js.map +1 -0
  168. package/dist/esm/evm/evm_gas_pricing.d.ts.map +1 -0
  169. package/dist/esm/evm/evm_gas_pricing.js.map +1 -0
  170. package/dist/esm/evm/evm_token.d.ts.map +1 -0
  171. package/dist/esm/evm/evm_token.js.map +1 -0
  172. package/dist/esm/evm/evm_tokens.d.ts.map +1 -0
  173. package/dist/esm/evm/evm_tokens.js.map +1 -0
  174. package/dist/esm/evm/evm_transaction_status.d.ts.map +1 -0
  175. package/dist/esm/evm/evm_transaction_status.js.map +1 -0
  176. package/dist/esm/evm/index.d.ts.map +1 -0
  177. package/dist/esm/evm/index.js.map +1 -0
  178. package/dist/esm/evm/unsigned_evm_transaction.d.ts.map +1 -0
  179. package/dist/esm/evm/unsigned_evm_transaction.js.map +1 -0
  180. package/dist/esm/index.d.ts.map +1 -0
  181. package/dist/esm/index.js.map +1 -0
  182. package/dist/esm/is_address.decorator.d.ts.map +1 -0
  183. package/dist/esm/is_address.decorator.js.map +1 -0
  184. package/dist/esm/network_type.d.ts.map +1 -0
  185. package/dist/esm/network_type.js.map +1 -0
  186. package/dist/esm/package.json +3 -0
  187. package/dist/esm/priority.d.ts.map +1 -0
  188. package/dist/esm/priority.js.map +1 -0
  189. package/dist/esm/solana/index.d.ts.map +1 -0
  190. package/dist/esm/solana/index.js.map +1 -0
  191. package/dist/esm/solana/solana_address.d.ts.map +1 -0
  192. package/dist/esm/solana/solana_address.js.map +1 -0
  193. package/dist/esm/solana/solana_chain.d.ts.map +1 -0
  194. package/dist/esm/solana/solana_chain.js.map +1 -0
  195. package/dist/esm/solana/solana_chains.d.ts.map +1 -0
  196. package/dist/esm/solana/solana_chains.js.map +1 -0
  197. package/dist/esm/solana/solana_gas_pricing.d.ts.map +1 -0
  198. package/dist/esm/solana/solana_gas_pricing.js.map +1 -0
  199. package/dist/esm/solana/solana_token.d.ts.map +1 -0
  200. package/dist/esm/solana/solana_token.js.map +1 -0
  201. package/dist/esm/solana/solana_tokens.d.ts.map +1 -0
  202. package/dist/esm/solana/solana_tokens.js.map +1 -0
  203. package/dist/esm/solana/solana_transaction_status.d.ts.map +1 -0
  204. package/dist/esm/solana/solana_transaction_status.js.map +1 -0
  205. package/dist/esm/solana/unsigned_solana_transaction.d.ts.map +1 -0
  206. package/dist/esm/solana/unsigned_solana_transaction.js.map +1 -0
  207. package/dist/esm/token.d.ts.map +1 -0
  208. package/dist/esm/token.js.map +1 -0
  209. package/dist/esm/ton/index.d.ts.map +1 -0
  210. package/dist/esm/ton/index.js.map +1 -0
  211. package/dist/esm/ton/ton_address.d.ts.map +1 -0
  212. package/dist/esm/ton/ton_address.js.map +1 -0
  213. package/dist/esm/transaction_status.d.ts.map +1 -0
  214. package/dist/esm/transaction_status.js.map +1 -0
  215. package/dist/esm/unsigned_transaction.d.ts.map +1 -0
  216. package/dist/esm/unsigned_transaction.js.map +1 -0
  217. package/dist/esm/utxo/btc/btc_address.d.ts.map +1 -0
  218. package/dist/esm/utxo/btc/btc_address.js.map +1 -0
  219. package/dist/esm/utxo/btc/btc_chain.d.ts.map +1 -0
  220. package/dist/esm/utxo/btc/btc_chain.js.map +1 -0
  221. package/dist/esm/utxo/btc/btc_chains.d.ts.map +1 -0
  222. package/dist/esm/utxo/btc/btc_chains.js.map +1 -0
  223. package/dist/esm/utxo/btc/btc_token.d.ts.map +1 -0
  224. package/dist/esm/utxo/btc/btc_token.js.map +1 -0
  225. package/dist/esm/utxo/btc/index.d.ts.map +1 -0
  226. package/dist/esm/utxo/btc/index.js.map +1 -0
  227. package/dist/esm/utxo/btc/network_params.d.ts.map +1 -0
  228. package/dist/esm/utxo/btc/network_params.js.map +1 -0
  229. package/dist/esm/utxo/btc/tools/asset_outpoint.d.ts.map +1 -0
  230. package/dist/esm/utxo/btc/tools/asset_outpoint.js.map +1 -0
  231. package/dist/esm/utxo/btc/tools/bitcoin_core.tool.d.ts.map +1 -0
  232. package/dist/esm/utxo/btc/tools/bitcoin_core.tool.js.map +1 -0
  233. package/dist/esm/utxo/btc/tools/esplora.tool.d.ts.map +1 -0
  234. package/dist/esm/utxo/btc/tools/esplora.tool.js.map +1 -0
  235. package/dist/esm/utxo/btc/tools/inscription_index.d.ts.map +1 -0
  236. package/dist/esm/utxo/btc/tools/inscription_index.js.map +1 -0
  237. package/dist/esm/utxo/btc/tools/ordiscan.tool.d.ts.map +1 -0
  238. package/dist/esm/utxo/btc/tools/ordiscan.tool.js.map +1 -0
  239. package/dist/esm/utxo/btc/tools/rare_sat_index.d.ts.map +1 -0
  240. package/dist/esm/utxo/btc/tools/rare_sat_index.js.map +1 -0
  241. package/dist/esm/utxo/btc/tools/rune_index.d.ts.map +1 -0
  242. package/dist/esm/utxo/btc/tools/rune_index.js.map +1 -0
  243. package/dist/esm/utxo/btc/tools/unisat.tool.d.ts.map +1 -0
  244. package/dist/esm/utxo/btc/tools/unisat.tool.js.map +1 -0
  245. package/dist/esm/utxo/coin_selection.d.ts.map +1 -0
  246. package/dist/esm/utxo/coin_selection.js.map +1 -0
  247. package/dist/esm/utxo/doge/doge_chains.d.ts.map +1 -0
  248. package/dist/esm/utxo/doge/doge_chains.js.map +1 -0
  249. package/dist/esm/utxo/doge/index.d.ts.map +1 -0
  250. package/dist/esm/utxo/doge/index.js.map +1 -0
  251. package/dist/esm/utxo/doge/network_params.d.ts.map +1 -0
  252. package/dist/esm/utxo/doge/network_params.js.map +1 -0
  253. package/dist/esm/utxo/ecc.d.ts.map +1 -0
  254. package/dist/esm/utxo/ecc.js.map +1 -0
  255. package/dist/esm/utxo/fee.d.ts.map +1 -0
  256. package/dist/esm/utxo/fee.js.map +1 -0
  257. package/dist/esm/utxo/index.d.ts.map +1 -0
  258. package/dist/esm/utxo/index.js.map +1 -0
  259. package/dist/esm/utxo/ltc/index.d.ts.map +1 -0
  260. package/dist/esm/utxo/ltc/index.js.map +1 -0
  261. package/dist/{utxo/doge/doge_chains.d.ts.map → esm/utxo/ltc/ltc_chains.d.ts.map} +1 -1
  262. package/dist/{utxo/doge/doge_chains.js.map → esm/utxo/ltc/ltc_chains.js.map} +1 -1
  263. package/dist/esm/utxo/ltc/network_params.d.ts.map +1 -0
  264. package/dist/esm/utxo/ltc/network_params.js.map +1 -0
  265. package/dist/esm/utxo/script.d.ts.map +1 -0
  266. package/dist/esm/utxo/script.js.map +1 -0
  267. package/dist/esm/utxo/tools/broadcaster.d.ts.map +1 -0
  268. package/dist/esm/utxo/tools/broadcaster.js.map +1 -0
  269. package/dist/esm/utxo/tools/chain_tip_provider.d.ts.map +1 -0
  270. package/dist/esm/utxo/tools/chain_tip_provider.js.map +1 -0
  271. package/dist/esm/utxo/tools/fee_estimator.d.ts.map +1 -0
  272. package/dist/esm/utxo/tools/fee_estimator.js.map +1 -0
  273. package/dist/esm/utxo/tools/raw_transaction_provider.d.ts.map +1 -0
  274. package/dist/esm/utxo/tools/raw_transaction_provider.js.map +1 -0
  275. package/dist/esm/utxo/tools/utxo_provider.d.ts.map +1 -0
  276. package/dist/esm/utxo/tools/utxo_provider.js.map +1 -0
  277. package/dist/esm/utxo/unsigned_utxo_transaction.d.ts.map +1 -0
  278. package/dist/esm/utxo/unsigned_utxo_transaction.js.map +1 -0
  279. package/dist/esm/utxo/utxo.d.ts.map +1 -0
  280. package/dist/esm/utxo/utxo.js.map +1 -0
  281. package/dist/esm/utxo/utxo_chain.d.ts.map +1 -0
  282. package/dist/esm/utxo/utxo_chain.js.map +1 -0
  283. package/dist/esm/utxo/utxo_chains.d.ts.map +1 -0
  284. package/dist/esm/utxo/utxo_chains.js.map +1 -0
  285. package/dist/esm/utxo/utxo_gas_pricing.d.ts.map +1 -0
  286. package/dist/esm/utxo/utxo_gas_pricing.js.map +1 -0
  287. package/dist/esm/utxo/utxo_network_params.d.ts.map +1 -0
  288. package/dist/esm/utxo/utxo_network_params.js.map +1 -0
  289. package/dist/esm/utxo/utxo_transaction_status.d.ts.map +1 -0
  290. package/dist/esm/utxo/utxo_transaction_status.js.map +1 -0
  291. package/package.json +32 -16
  292. package/dist/abstract_gas_pricing.d.ts.map +0 -1
  293. package/dist/abstract_gas_pricing.js.map +0 -1
  294. package/dist/address.d.ts.map +0 -1
  295. package/dist/address.factory.d.ts.map +0 -1
  296. package/dist/address.factory.js.map +0 -1
  297. package/dist/address.js.map +0 -1
  298. package/dist/address_field.decorator.d.ts.map +0 -1
  299. package/dist/address_field.decorator.js.map +0 -1
  300. package/dist/chain.base.d.ts.map +0 -1
  301. package/dist/chain.base.js.map +0 -1
  302. package/dist/chain_ids.d.ts.map +0 -1
  303. package/dist/chain_ids.js.map +0 -1
  304. package/dist/errors.d.ts.map +0 -1
  305. package/dist/errors.js.map +0 -1
  306. package/dist/evm/evm_address.d.ts.map +0 -1
  307. package/dist/evm/evm_address.js.map +0 -1
  308. package/dist/evm/evm_chain.d.ts.map +0 -1
  309. package/dist/evm/evm_chain.js.map +0 -1
  310. package/dist/evm/evm_chains.d.ts.map +0 -1
  311. package/dist/evm/evm_chains.js.map +0 -1
  312. package/dist/evm/evm_gas_estimate.d.ts.map +0 -1
  313. package/dist/evm/evm_gas_estimate.js.map +0 -1
  314. package/dist/evm/evm_gas_pricing.d.ts.map +0 -1
  315. package/dist/evm/evm_gas_pricing.js.map +0 -1
  316. package/dist/evm/evm_token.d.ts.map +0 -1
  317. package/dist/evm/evm_token.js.map +0 -1
  318. package/dist/evm/evm_tokens.d.ts.map +0 -1
  319. package/dist/evm/evm_tokens.js.map +0 -1
  320. package/dist/evm/evm_transaction_status.d.ts.map +0 -1
  321. package/dist/evm/evm_transaction_status.js.map +0 -1
  322. package/dist/evm/index.d.ts.map +0 -1
  323. package/dist/evm/index.js.map +0 -1
  324. package/dist/evm/unsigned_evm_transaction.d.ts.map +0 -1
  325. package/dist/evm/unsigned_evm_transaction.js.map +0 -1
  326. package/dist/index.d.ts.map +0 -1
  327. package/dist/index.js.map +0 -1
  328. package/dist/is_address.decorator.d.ts.map +0 -1
  329. package/dist/is_address.decorator.js.map +0 -1
  330. package/dist/network_type.d.ts.map +0 -1
  331. package/dist/network_type.js.map +0 -1
  332. package/dist/priority.d.ts.map +0 -1
  333. package/dist/priority.js.map +0 -1
  334. package/dist/solana/index.d.ts.map +0 -1
  335. package/dist/solana/index.js.map +0 -1
  336. package/dist/solana/solana_address.d.ts.map +0 -1
  337. package/dist/solana/solana_address.js.map +0 -1
  338. package/dist/solana/solana_chain.d.ts.map +0 -1
  339. package/dist/solana/solana_chain.js.map +0 -1
  340. package/dist/solana/solana_chains.d.ts.map +0 -1
  341. package/dist/solana/solana_chains.js.map +0 -1
  342. package/dist/solana/solana_gas_pricing.d.ts.map +0 -1
  343. package/dist/solana/solana_gas_pricing.js.map +0 -1
  344. package/dist/solana/solana_token.d.ts.map +0 -1
  345. package/dist/solana/solana_token.js.map +0 -1
  346. package/dist/solana/solana_tokens.d.ts.map +0 -1
  347. package/dist/solana/solana_tokens.js.map +0 -1
  348. package/dist/solana/solana_transaction_status.d.ts.map +0 -1
  349. package/dist/solana/solana_transaction_status.js.map +0 -1
  350. package/dist/solana/unsigned_solana_transaction.d.ts.map +0 -1
  351. package/dist/solana/unsigned_solana_transaction.js.map +0 -1
  352. package/dist/token.d.ts.map +0 -1
  353. package/dist/token.js.map +0 -1
  354. package/dist/ton/index.d.ts.map +0 -1
  355. package/dist/ton/index.js.map +0 -1
  356. package/dist/ton/ton_address.d.ts.map +0 -1
  357. package/dist/ton/ton_address.js.map +0 -1
  358. package/dist/transaction_status.d.ts.map +0 -1
  359. package/dist/transaction_status.js.map +0 -1
  360. package/dist/unsigned_transaction.d.ts.map +0 -1
  361. package/dist/unsigned_transaction.js.map +0 -1
  362. package/dist/utxo/btc/btc_address.d.ts.map +0 -1
  363. package/dist/utxo/btc/btc_address.js.map +0 -1
  364. package/dist/utxo/btc/btc_chain.d.ts.map +0 -1
  365. package/dist/utxo/btc/btc_chain.js.map +0 -1
  366. package/dist/utxo/btc/btc_chains.d.ts.map +0 -1
  367. package/dist/utxo/btc/btc_chains.js.map +0 -1
  368. package/dist/utxo/btc/btc_token.d.ts.map +0 -1
  369. package/dist/utxo/btc/btc_token.js.map +0 -1
  370. package/dist/utxo/btc/index.d.ts.map +0 -1
  371. package/dist/utxo/btc/index.js.map +0 -1
  372. package/dist/utxo/btc/network_params.d.ts.map +0 -1
  373. package/dist/utxo/btc/network_params.js.map +0 -1
  374. package/dist/utxo/btc/tools/asset_outpoint.d.ts.map +0 -1
  375. package/dist/utxo/btc/tools/asset_outpoint.js.map +0 -1
  376. package/dist/utxo/btc/tools/bitcoin_core.tool.d.ts.map +0 -1
  377. package/dist/utxo/btc/tools/bitcoin_core.tool.js.map +0 -1
  378. package/dist/utxo/btc/tools/esplora.tool.d.ts.map +0 -1
  379. package/dist/utxo/btc/tools/esplora.tool.js.map +0 -1
  380. package/dist/utxo/btc/tools/inscription_index.d.ts.map +0 -1
  381. package/dist/utxo/btc/tools/inscription_index.js.map +0 -1
  382. package/dist/utxo/btc/tools/ordiscan.tool.d.ts.map +0 -1
  383. package/dist/utxo/btc/tools/ordiscan.tool.js.map +0 -1
  384. package/dist/utxo/btc/tools/rare_sat_index.d.ts.map +0 -1
  385. package/dist/utxo/btc/tools/rare_sat_index.js.map +0 -1
  386. package/dist/utxo/btc/tools/rune_index.d.ts.map +0 -1
  387. package/dist/utxo/btc/tools/rune_index.js.map +0 -1
  388. package/dist/utxo/btc/tools/unisat.tool.d.ts.map +0 -1
  389. package/dist/utxo/btc/tools/unisat.tool.js.map +0 -1
  390. package/dist/utxo/coin_selection.d.ts.map +0 -1
  391. package/dist/utxo/coin_selection.js.map +0 -1
  392. package/dist/utxo/doge/index.d.ts.map +0 -1
  393. package/dist/utxo/doge/index.js.map +0 -1
  394. package/dist/utxo/doge/network_params.d.ts.map +0 -1
  395. package/dist/utxo/doge/network_params.js.map +0 -1
  396. package/dist/utxo/ecc.d.ts.map +0 -1
  397. package/dist/utxo/ecc.js.map +0 -1
  398. package/dist/utxo/fee.d.ts.map +0 -1
  399. package/dist/utxo/fee.js.map +0 -1
  400. package/dist/utxo/index.d.ts.map +0 -1
  401. package/dist/utxo/index.js.map +0 -1
  402. package/dist/utxo/ltc/index.d.ts.map +0 -1
  403. package/dist/utxo/ltc/index.js.map +0 -1
  404. package/dist/utxo/ltc/ltc_chains.d.ts.map +0 -1
  405. package/dist/utxo/ltc/ltc_chains.js.map +0 -1
  406. package/dist/utxo/ltc/network_params.d.ts.map +0 -1
  407. package/dist/utxo/ltc/network_params.js.map +0 -1
  408. package/dist/utxo/script.d.ts.map +0 -1
  409. package/dist/utxo/script.js.map +0 -1
  410. package/dist/utxo/tools/broadcaster.d.ts.map +0 -1
  411. package/dist/utxo/tools/broadcaster.js.map +0 -1
  412. package/dist/utxo/tools/chain_tip_provider.d.ts.map +0 -1
  413. package/dist/utxo/tools/chain_tip_provider.js.map +0 -1
  414. package/dist/utxo/tools/fee_estimator.d.ts.map +0 -1
  415. package/dist/utxo/tools/fee_estimator.js.map +0 -1
  416. package/dist/utxo/tools/raw_transaction_provider.d.ts.map +0 -1
  417. package/dist/utxo/tools/raw_transaction_provider.js.map +0 -1
  418. package/dist/utxo/tools/utxo_provider.d.ts.map +0 -1
  419. package/dist/utxo/tools/utxo_provider.js.map +0 -1
  420. package/dist/utxo/unsigned_utxo_transaction.d.ts.map +0 -1
  421. package/dist/utxo/unsigned_utxo_transaction.js.map +0 -1
  422. package/dist/utxo/utxo.d.ts.map +0 -1
  423. package/dist/utxo/utxo_chain.d.ts.map +0 -1
  424. package/dist/utxo/utxo_chain.js.map +0 -1
  425. package/dist/utxo/utxo_chains.d.ts.map +0 -1
  426. package/dist/utxo/utxo_chains.js.map +0 -1
  427. package/dist/utxo/utxo_gas_pricing.d.ts.map +0 -1
  428. package/dist/utxo/utxo_gas_pricing.js.map +0 -1
  429. package/dist/utxo/utxo_network_params.d.ts.map +0 -1
  430. package/dist/utxo/utxo_network_params.js.map +0 -1
  431. package/dist/utxo/utxo_transaction_status.d.ts.map +0 -1
  432. package/dist/utxo/utxo_transaction_status.js.map +0 -1
  433. /package/dist/{abstract_gas_pricing.d.ts → esm/abstract_gas_pricing.d.ts} +0 -0
  434. /package/dist/{abstract_gas_pricing.js → esm/abstract_gas_pricing.js} +0 -0
  435. /package/dist/{address.d.ts → esm/address.d.ts} +0 -0
  436. /package/dist/{address.factory.d.ts → esm/address.factory.d.ts} +0 -0
  437. /package/dist/{address.factory.js → esm/address.factory.js} +0 -0
  438. /package/dist/{address.js → esm/address.js} +0 -0
  439. /package/dist/{address_field.decorator.d.ts → esm/address_field.decorator.d.ts} +0 -0
  440. /package/dist/{address_field.decorator.js → esm/address_field.decorator.js} +0 -0
  441. /package/dist/{chain.base.d.ts → esm/chain.base.d.ts} +0 -0
  442. /package/dist/{chain.base.js → esm/chain.base.js} +0 -0
  443. /package/dist/{chain_ids.d.ts → esm/chain_ids.d.ts} +0 -0
  444. /package/dist/{chain_ids.js → esm/chain_ids.js} +0 -0
  445. /package/dist/{errors.d.ts → esm/errors.d.ts} +0 -0
  446. /package/dist/{errors.js → esm/errors.js} +0 -0
  447. /package/dist/{evm → esm/evm}/evm_address.d.ts +0 -0
  448. /package/dist/{evm → esm/evm}/evm_address.js +0 -0
  449. /package/dist/{evm → esm/evm}/evm_chain.d.ts +0 -0
  450. /package/dist/{evm → esm/evm}/evm_chain.js +0 -0
  451. /package/dist/{evm → esm/evm}/evm_chains.d.ts +0 -0
  452. /package/dist/{evm → esm/evm}/evm_chains.js +0 -0
  453. /package/dist/{evm → esm/evm}/evm_gas_estimate.d.ts +0 -0
  454. /package/dist/{evm → esm/evm}/evm_gas_estimate.js +0 -0
  455. /package/dist/{evm → esm/evm}/evm_gas_pricing.d.ts +0 -0
  456. /package/dist/{evm → esm/evm}/evm_gas_pricing.js +0 -0
  457. /package/dist/{evm → esm/evm}/evm_token.d.ts +0 -0
  458. /package/dist/{evm → esm/evm}/evm_token.js +0 -0
  459. /package/dist/{evm → esm/evm}/evm_tokens.d.ts +0 -0
  460. /package/dist/{evm → esm/evm}/evm_tokens.js +0 -0
  461. /package/dist/{evm → esm/evm}/evm_transaction_status.d.ts +0 -0
  462. /package/dist/{evm → esm/evm}/evm_transaction_status.js +0 -0
  463. /package/dist/{evm → esm/evm}/index.d.ts +0 -0
  464. /package/dist/{evm → esm/evm}/index.js +0 -0
  465. /package/dist/{evm → esm/evm}/unsigned_evm_transaction.d.ts +0 -0
  466. /package/dist/{evm → esm/evm}/unsigned_evm_transaction.js +0 -0
  467. /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
  468. /package/dist/{index.js → esm/index.js} +0 -0
  469. /package/dist/{is_address.decorator.d.ts → esm/is_address.decorator.d.ts} +0 -0
  470. /package/dist/{is_address.decorator.js → esm/is_address.decorator.js} +0 -0
  471. /package/dist/{network_type.d.ts → esm/network_type.d.ts} +0 -0
  472. /package/dist/{network_type.js → esm/network_type.js} +0 -0
  473. /package/dist/{priority.d.ts → esm/priority.d.ts} +0 -0
  474. /package/dist/{priority.js → esm/priority.js} +0 -0
  475. /package/dist/{solana → esm/solana}/index.d.ts +0 -0
  476. /package/dist/{solana → esm/solana}/index.js +0 -0
  477. /package/dist/{solana → esm/solana}/solana_address.d.ts +0 -0
  478. /package/dist/{solana → esm/solana}/solana_address.js +0 -0
  479. /package/dist/{solana → esm/solana}/solana_chain.d.ts +0 -0
  480. /package/dist/{solana → esm/solana}/solana_chain.js +0 -0
  481. /package/dist/{solana → esm/solana}/solana_chains.d.ts +0 -0
  482. /package/dist/{solana → esm/solana}/solana_chains.js +0 -0
  483. /package/dist/{solana → esm/solana}/solana_gas_pricing.d.ts +0 -0
  484. /package/dist/{solana → esm/solana}/solana_gas_pricing.js +0 -0
  485. /package/dist/{solana → esm/solana}/solana_token.d.ts +0 -0
  486. /package/dist/{solana → esm/solana}/solana_token.js +0 -0
  487. /package/dist/{solana → esm/solana}/solana_tokens.d.ts +0 -0
  488. /package/dist/{solana → esm/solana}/solana_tokens.js +0 -0
  489. /package/dist/{solana → esm/solana}/solana_transaction_status.d.ts +0 -0
  490. /package/dist/{solana → esm/solana}/solana_transaction_status.js +0 -0
  491. /package/dist/{solana → esm/solana}/unsigned_solana_transaction.d.ts +0 -0
  492. /package/dist/{solana → esm/solana}/unsigned_solana_transaction.js +0 -0
  493. /package/dist/{token.d.ts → esm/token.d.ts} +0 -0
  494. /package/dist/{token.js → esm/token.js} +0 -0
  495. /package/dist/{ton → esm/ton}/index.d.ts +0 -0
  496. /package/dist/{ton → esm/ton}/index.js +0 -0
  497. /package/dist/{ton → esm/ton}/ton_address.d.ts +0 -0
  498. /package/dist/{ton → esm/ton}/ton_address.js +0 -0
  499. /package/dist/{transaction_status.d.ts → esm/transaction_status.d.ts} +0 -0
  500. /package/dist/{transaction_status.js → esm/transaction_status.js} +0 -0
  501. /package/dist/{unsigned_transaction.d.ts → esm/unsigned_transaction.d.ts} +0 -0
  502. /package/dist/{unsigned_transaction.js → esm/unsigned_transaction.js} +0 -0
  503. /package/dist/{utxo → esm/utxo}/btc/btc_address.d.ts +0 -0
  504. /package/dist/{utxo → esm/utxo}/btc/btc_address.js +0 -0
  505. /package/dist/{utxo → esm/utxo}/btc/btc_chain.d.ts +0 -0
  506. /package/dist/{utxo → esm/utxo}/btc/btc_chain.js +0 -0
  507. /package/dist/{utxo → esm/utxo}/btc/btc_chains.d.ts +0 -0
  508. /package/dist/{utxo → esm/utxo}/btc/btc_chains.js +0 -0
  509. /package/dist/{utxo → esm/utxo}/btc/btc_token.d.ts +0 -0
  510. /package/dist/{utxo → esm/utxo}/btc/btc_token.js +0 -0
  511. /package/dist/{utxo → esm/utxo}/btc/index.d.ts +0 -0
  512. /package/dist/{utxo → esm/utxo}/btc/index.js +0 -0
  513. /package/dist/{utxo → esm/utxo}/btc/network_params.d.ts +0 -0
  514. /package/dist/{utxo → esm/utxo}/btc/network_params.js +0 -0
  515. /package/dist/{utxo → esm/utxo}/btc/tools/asset_outpoint.d.ts +0 -0
  516. /package/dist/{utxo → esm/utxo}/btc/tools/asset_outpoint.js +0 -0
  517. /package/dist/{utxo → esm/utxo}/btc/tools/bitcoin_core.tool.d.ts +0 -0
  518. /package/dist/{utxo → esm/utxo}/btc/tools/bitcoin_core.tool.js +0 -0
  519. /package/dist/{utxo → esm/utxo}/btc/tools/esplora.tool.d.ts +0 -0
  520. /package/dist/{utxo → esm/utxo}/btc/tools/esplora.tool.js +0 -0
  521. /package/dist/{utxo → esm/utxo}/btc/tools/inscription_index.d.ts +0 -0
  522. /package/dist/{utxo → esm/utxo}/btc/tools/inscription_index.js +0 -0
  523. /package/dist/{utxo → esm/utxo}/btc/tools/ordiscan.tool.d.ts +0 -0
  524. /package/dist/{utxo → esm/utxo}/btc/tools/ordiscan.tool.js +0 -0
  525. /package/dist/{utxo → esm/utxo}/btc/tools/rare_sat_index.d.ts +0 -0
  526. /package/dist/{utxo → esm/utxo}/btc/tools/rare_sat_index.js +0 -0
  527. /package/dist/{utxo → esm/utxo}/btc/tools/rune_index.d.ts +0 -0
  528. /package/dist/{utxo → esm/utxo}/btc/tools/rune_index.js +0 -0
  529. /package/dist/{utxo → esm/utxo}/btc/tools/unisat.tool.d.ts +0 -0
  530. /package/dist/{utxo → esm/utxo}/btc/tools/unisat.tool.js +0 -0
  531. /package/dist/{utxo → esm/utxo}/coin_selection.d.ts +0 -0
  532. /package/dist/{utxo → esm/utxo}/coin_selection.js +0 -0
  533. /package/dist/{utxo → esm/utxo}/doge/doge_chains.d.ts +0 -0
  534. /package/dist/{utxo → esm/utxo}/doge/doge_chains.js +0 -0
  535. /package/dist/{utxo → esm/utxo}/doge/index.d.ts +0 -0
  536. /package/dist/{utxo → esm/utxo}/doge/index.js +0 -0
  537. /package/dist/{utxo → esm/utxo}/doge/network_params.d.ts +0 -0
  538. /package/dist/{utxo → esm/utxo}/doge/network_params.js +0 -0
  539. /package/dist/{utxo → esm/utxo}/ecc.d.ts +0 -0
  540. /package/dist/{utxo → esm/utxo}/ecc.js +0 -0
  541. /package/dist/{utxo → esm/utxo}/fee.d.ts +0 -0
  542. /package/dist/{utxo → esm/utxo}/fee.js +0 -0
  543. /package/dist/{utxo → esm/utxo}/index.d.ts +0 -0
  544. /package/dist/{utxo → esm/utxo}/index.js +0 -0
  545. /package/dist/{utxo → esm/utxo}/ltc/index.d.ts +0 -0
  546. /package/dist/{utxo → esm/utxo}/ltc/index.js +0 -0
  547. /package/dist/{utxo → esm/utxo}/ltc/ltc_chains.d.ts +0 -0
  548. /package/dist/{utxo → esm/utxo}/ltc/ltc_chains.js +0 -0
  549. /package/dist/{utxo → esm/utxo}/ltc/network_params.d.ts +0 -0
  550. /package/dist/{utxo → esm/utxo}/ltc/network_params.js +0 -0
  551. /package/dist/{utxo → esm/utxo}/script.d.ts +0 -0
  552. /package/dist/{utxo → esm/utxo}/script.js +0 -0
  553. /package/dist/{utxo → esm/utxo}/tools/broadcaster.d.ts +0 -0
  554. /package/dist/{utxo → esm/utxo}/tools/broadcaster.js +0 -0
  555. /package/dist/{utxo → esm/utxo}/tools/chain_tip_provider.d.ts +0 -0
  556. /package/dist/{utxo → esm/utxo}/tools/chain_tip_provider.js +0 -0
  557. /package/dist/{utxo → esm/utxo}/tools/fee_estimator.d.ts +0 -0
  558. /package/dist/{utxo → esm/utxo}/tools/fee_estimator.js +0 -0
  559. /package/dist/{utxo → esm/utxo}/tools/raw_transaction_provider.d.ts +0 -0
  560. /package/dist/{utxo → esm/utxo}/tools/raw_transaction_provider.js +0 -0
  561. /package/dist/{utxo → esm/utxo}/tools/utxo_provider.d.ts +0 -0
  562. /package/dist/{utxo → esm/utxo}/tools/utxo_provider.js +0 -0
  563. /package/dist/{utxo → esm/utxo}/unsigned_utxo_transaction.d.ts +0 -0
  564. /package/dist/{utxo → esm/utxo}/unsigned_utxo_transaction.js +0 -0
  565. /package/dist/{utxo → esm/utxo}/utxo.d.ts +0 -0
  566. /package/dist/{utxo → esm/utxo}/utxo.js +0 -0
  567. /package/dist/{utxo → esm/utxo}/utxo_chain.d.ts +0 -0
  568. /package/dist/{utxo → esm/utxo}/utxo_chain.js +0 -0
  569. /package/dist/{utxo → esm/utxo}/utxo_chains.d.ts +0 -0
  570. /package/dist/{utxo → esm/utxo}/utxo_chains.js +0 -0
  571. /package/dist/{utxo → esm/utxo}/utxo_gas_pricing.d.ts +0 -0
  572. /package/dist/{utxo → esm/utxo}/utxo_gas_pricing.js +0 -0
  573. /package/dist/{utxo → esm/utxo}/utxo_network_params.d.ts +0 -0
  574. /package/dist/{utxo → esm/utxo}/utxo_network_params.js +0 -0
  575. /package/dist/{utxo → esm/utxo}/utxo_transaction_status.d.ts +0 -0
  576. /package/dist/{utxo → esm/utxo}/utxo_transaction_status.js +0 -0
@@ -0,0 +1,56 @@
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.UnisatIndex = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const DEFAULT_BASE_URL = 'https://open-api.unisat.io';
9
+ const DEFAULT_PAGE_SIZE = 100;
10
+ const DEFAULT_MAX_PAGES = 200;
11
+ class UnisatIndex {
12
+ client;
13
+ pageSize;
14
+ maxPages;
15
+ constructor(options) {
16
+ if (!options.apiKey || options.apiKey.trim().length === 0) {
17
+ throw new Error('UnisatIndex: apiKey is required');
18
+ }
19
+ this.client = axios_1.default.create({
20
+ baseURL: (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\/$/, ''),
21
+ timeout: options.timeoutMs ?? 10_000,
22
+ headers: { Authorization: `Bearer ${options.apiKey}` },
23
+ });
24
+ this.pageSize = options.pageSize ?? DEFAULT_PAGE_SIZE;
25
+ this.maxPages = options.maxPages ?? DEFAULT_MAX_PAGES;
26
+ }
27
+ get name() {
28
+ return 'unisat';
29
+ }
30
+ async outpointsWithInscriptions(address) {
31
+ const seen = new Set();
32
+ const out = [];
33
+ let cursor = 0;
34
+ for (let page = 0; page < this.maxPages; page++) {
35
+ const { data } = await this.client.get(`/v1/indexer/address/${address}/inscription-data`, { params: { cursor, size: this.pageSize } });
36
+ if (data.code !== 0 && data.code !== undefined && data.code !== 200) {
37
+ throw new Error(`UnisatIndex: ${data.code} ${data.msg}`);
38
+ }
39
+ const utxos = data.data.inscription ?? data.data.utxo ?? [];
40
+ for (const u of utxos) {
41
+ const key = `${u.txid}:${u.vout}`;
42
+ if (seen.has(key))
43
+ continue;
44
+ seen.add(key);
45
+ out.push({ txid: u.txid, vout: u.vout });
46
+ }
47
+ cursor += utxos.length;
48
+ const total = data.data.total ?? 0;
49
+ if (utxos.length === 0 || cursor >= total)
50
+ break;
51
+ }
52
+ return out;
53
+ }
54
+ }
55
+ exports.UnisatIndex = UnisatIndex;
56
+ //# sourceMappingURL=unisat.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unisat.tool.js","sourceRoot":"","sources":["../../../../../utxo/btc/tools/unisat.tool.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAiC7C,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AACtD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAa,WAAW;IACL,MAAM,CAAgB;IACtB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAElC,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACjE,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;YACpC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE,EAAE;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC;IACxD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,OAAe;QAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,uBAAuB,OAAO,mBAAmB,EACjD,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAC5C,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,IAAI,KAAK;gBAAE,MAAM;QACnD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA/CD,kCA+CC"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoinSelectionOutcomes = void 0;
4
+ exports.selectCoins = selectCoins;
5
+ const fee_ts_1 = require("./fee.js");
6
+ const script_ts_1 = require("./script.js");
7
+ exports.CoinSelectionOutcomes = {
8
+ Success: 'success',
9
+ InsufficientFunds: 'insufficient_funds',
10
+ NoSolution: 'no_solution',
11
+ };
12
+ const DEFAULT_MAX_ITERATIONS = 100_000;
13
+ function selectCoins(params) {
14
+ const { utxos, targetSats, feeRateSatsPerVByte, changeOutputType, outputsFixedVBytes, costOfChangeSats, maxIterations = DEFAULT_MAX_ITERATIONS, } = params;
15
+ if (targetSats <= 0) {
16
+ return emptyResult(exports.CoinSelectionOutcomes.NoSolution);
17
+ }
18
+ const coins = utxos.map((utxo) => {
19
+ const inputCost = Math.ceil((0, fee_ts_1.inputVBytes)(utxo.scriptType) * feeRateSatsPerVByte);
20
+ return {
21
+ utxo,
22
+ rawValue: utxo.valueSats,
23
+ effectiveValue: (0, fee_ts_1.effectiveValueSats)(utxo.valueSats, utxo.scriptType, feeRateSatsPerVByte),
24
+ inputCost,
25
+ };
26
+ });
27
+ const positiveCoins = coins.filter((c) => c.effectiveValue > 0);
28
+ const totalEffective = positiveCoins.reduce((s, c) => s + c.effectiveValue, 0);
29
+ if (totalEffective < targetSats) {
30
+ return emptyResult(exports.CoinSelectionOutcomes.InsufficientFunds);
31
+ }
32
+ const bnbResult = branchAndBound(positiveCoins, targetSats, costOfChangeSats, maxIterations);
33
+ if (bnbResult) {
34
+ return finalize(bnbResult, params, outputsFixedVBytes, feeRateSatsPerVByte, changeOutputType, 'bnb');
35
+ }
36
+ const accumulator = accumulatorFallback(positiveCoins, targetSats);
37
+ if (!accumulator) {
38
+ return emptyResult(exports.CoinSelectionOutcomes.NoSolution);
39
+ }
40
+ return finalize(accumulator, params, outputsFixedVBytes, feeRateSatsPerVByte, changeOutputType, 'accumulator');
41
+ }
42
+ function branchAndBound(coins, target, costOfChange, maxIterations) {
43
+ const sorted = [...coins].sort((a, b) => b.effectiveValue - a.effectiveValue);
44
+ const tail = new Array(sorted.length + 1).fill(0);
45
+ for (let i = sorted.length - 1; i >= 0; i--) {
46
+ tail[i] = tail[i + 1] + sorted[i].effectiveValue;
47
+ }
48
+ let iterations = 0;
49
+ let best = null;
50
+ let bestOver = Infinity;
51
+ const current = [];
52
+ function recurse(depth, sum) {
53
+ if (++iterations > maxIterations)
54
+ return false;
55
+ if (sum > target + costOfChange)
56
+ return false;
57
+ if (sum >= target) {
58
+ const over = sum - target;
59
+ if (over < bestOver) {
60
+ bestOver = over;
61
+ best = [...current];
62
+ }
63
+ return over === 0;
64
+ }
65
+ if (sum + tail[depth] < target)
66
+ return false;
67
+ if (depth === sorted.length)
68
+ return false;
69
+ current.push(sorted[depth]);
70
+ if (recurse(depth + 1, sum + sorted[depth].effectiveValue)) {
71
+ current.pop();
72
+ return true;
73
+ }
74
+ current.pop();
75
+ return recurse(depth + 1, sum);
76
+ }
77
+ recurse(0, 0);
78
+ return best;
79
+ }
80
+ function accumulatorFallback(coins, target) {
81
+ const sorted = [...coins].sort((a, b) => b.effectiveValue - a.effectiveValue);
82
+ const selected = [];
83
+ let sum = 0;
84
+ for (const c of sorted) {
85
+ selected.push(c);
86
+ sum += c.effectiveValue;
87
+ if (sum >= target)
88
+ return selected;
89
+ }
90
+ return null;
91
+ }
92
+ function finalize(selected, params, outputsFixedVBytes, feeRateSatsPerVByte, changeOutputType, algorithm) {
93
+ const totalValueSats = selected.reduce((s, c) => s + c.rawValue, 0);
94
+ const inputsVBytes = selected.reduce((s, c) => s + (0, fee_ts_1.inputVBytes)(c.utxo.scriptType), 0);
95
+ const baseFeeSats = Math.ceil((outputsFixedVBytes + inputsVBytes) * feeRateSatsPerVByte);
96
+ const surplusBeforeChange = totalValueSats - params.targetSats - baseFeeSats;
97
+ if (surplusBeforeChange < 0) {
98
+ return {
99
+ outcome: exports.CoinSelectionOutcomes.InsufficientFunds,
100
+ selected: [],
101
+ totalValueSats: 0,
102
+ feeSats: 0,
103
+ changeSats: 0,
104
+ hasChange: false,
105
+ algorithm: null,
106
+ };
107
+ }
108
+ const changeOutputCost = Math.ceil(outputVBytesFor(changeOutputType) * feeRateSatsPerVByte);
109
+ const changeIfAdded = surplusBeforeChange - changeOutputCost;
110
+ const dustValue = params.costOfChangeSats;
111
+ let feeSats;
112
+ let changeSats;
113
+ let hasChange;
114
+ if (changeIfAdded >= dustValue) {
115
+ hasChange = true;
116
+ changeSats = changeIfAdded;
117
+ feeSats = baseFeeSats + changeOutputCost;
118
+ }
119
+ else {
120
+ hasChange = false;
121
+ changeSats = 0;
122
+ feeSats = baseFeeSats + surplusBeforeChange;
123
+ }
124
+ return {
125
+ outcome: exports.CoinSelectionOutcomes.Success,
126
+ selected: selected.map((c) => c.utxo),
127
+ totalValueSats,
128
+ feeSats,
129
+ changeSats,
130
+ hasChange,
131
+ algorithm,
132
+ };
133
+ }
134
+ function outputVBytesFor(type) {
135
+ switch (type) {
136
+ case script_ts_1.UtxoScriptTypes.P2PKH:
137
+ return 34;
138
+ case script_ts_1.UtxoScriptTypes.P2SH:
139
+ return 32;
140
+ case script_ts_1.UtxoScriptTypes.P2WPKH:
141
+ return 31;
142
+ case script_ts_1.UtxoScriptTypes.P2WSH:
143
+ case script_ts_1.UtxoScriptTypes.P2TR:
144
+ return 43;
145
+ default:
146
+ return 0;
147
+ }
148
+ }
149
+ function emptyResult(outcome) {
150
+ return {
151
+ outcome,
152
+ selected: [],
153
+ totalValueSats: 0,
154
+ feeSats: 0,
155
+ changeSats: 0,
156
+ hasChange: false,
157
+ algorithm: null,
158
+ };
159
+ }
160
+ //# sourceMappingURL=coin_selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coin_selection.js","sourceRoot":"","sources":["../../../utxo/coin_selection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dogecoinMainnetChain = dogecoinMainnetChain;
4
+ exports.dogecoinTestnetChain = dogecoinTestnetChain;
5
+ const utxo_chain_ts_1 = require("../utxo_chain.js");
6
+ const network_params_ts_1 = require("./network_params.js");
7
+ function dogecoinMainnetChain(options) {
8
+ return new utxo_chain_ts_1.UtxoChain({
9
+ name: 'Dogecoin',
10
+ params: network_params_ts_1.DOGECOIN_MAINNET_PARAMS,
11
+ nativeSymbol: 'DOGE',
12
+ blockTimeSeconds: 60,
13
+ ...options,
14
+ walletExplorerUrlTemplate: 'https://blockchair.com/dogecoin/address/{wallet_address}',
15
+ transactionExplorerUrlTemplate: 'https://blockchair.com/dogecoin/transaction/{tx_hash}',
16
+ });
17
+ }
18
+ function dogecoinTestnetChain(options) {
19
+ if (network_params_ts_1.DOGECOIN_TESTNET_PARAMS === null) {
20
+ throw new Error('Dogecoin testnet params unavailable (coininfo.dogecoin.test missing)');
21
+ }
22
+ return new utxo_chain_ts_1.UtxoChain({
23
+ name: 'Dogecoin Testnet',
24
+ params: network_params_ts_1.DOGECOIN_TESTNET_PARAMS,
25
+ nativeSymbol: 'tDOGE',
26
+ blockTimeSeconds: 60,
27
+ ...options,
28
+ walletExplorerUrlTemplate: 'https://sochain.com/address/DOGETEST/{wallet_address}',
29
+ transactionExplorerUrlTemplate: 'https://sochain.com/tx/DOGETEST/{tx_hash}',
30
+ });
31
+ }
32
+ //# sourceMappingURL=doge_chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doge_chains.js","sourceRoot":"","sources":["../../../../utxo/doge/doge_chains.ts"],"names":[],"mappings":";;AAiBA,oDAUC;AAED,oDAaC;AArCD,oDAA6C;AAC7C,2DAAuF;AAWvF,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,OAAO,IAAI,yBAAS,CAAC;QACnB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,2CAAuB;QAC/B,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,EAAE;QACpB,GAAG,OAAO;QACV,yBAAyB,EAAE,0DAA0D;QACrF,8BAA8B,EAAE,uDAAuD;KACxF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,IAAI,2CAAuB,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,yBAAS,CAAC;QACnB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2CAAuB;QAC/B,YAAY,EAAE,OAAO;QACrB,gBAAgB,EAAE,EAAE;QACpB,GAAG,OAAO;QACV,yBAAyB,EAAE,uDAAuD;QAClF,8BAA8B,EAAE,2CAA2C;KAC5E,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./doge_chains.js"), exports);
18
+ __exportStar(require("./network_params.js"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../utxo/doge/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,sDAAoC"}
@@ -0,0 +1,30 @@
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.DOGECOIN_TESTNET_PARAMS = exports.DOGECOIN_MAINNET_PARAMS = void 0;
7
+ const coininfo_1 = __importDefault(require("coininfo"));
8
+ const utxo_network_params_ts_1 = require("../utxo_network_params.js");
9
+ const DOGE_PURPOSES = new Set([utxo_network_params_ts_1.BIP32_PURPOSE_P2PKH]);
10
+ const DOGE_DUST_SATS = 1_000_000;
11
+ exports.DOGECOIN_MAINNET_PARAMS = {
12
+ name: 'mainnet',
13
+ slip44CoinId: utxo_network_params_ts_1.Slip44.DOGE,
14
+ networkInfo: coininfo_1.default.dogecoin.main.toBitcoinJS(),
15
+ supportedDerivationPurposes: DOGE_PURPOSES,
16
+ dustValueSats: DOGE_DUST_SATS,
17
+ walletAddressRegex: /^D[1-9A-HJ-NP-Za-km-z]{25,34}$/,
18
+ };
19
+ const dogecoinTest = coininfo_1.default.dogecoin.test;
20
+ exports.DOGECOIN_TESTNET_PARAMS = dogecoinTest
21
+ ? {
22
+ name: 'testnet',
23
+ slip44CoinId: utxo_network_params_ts_1.Slip44.Testnet,
24
+ networkInfo: dogecoinTest.toBitcoinJS(),
25
+ supportedDerivationPurposes: DOGE_PURPOSES,
26
+ dustValueSats: DOGE_DUST_SATS,
27
+ walletAddressRegex: /^[mn][1-9A-HJ-NP-Za-km-z]{25,34}$/,
28
+ }
29
+ : null;
30
+ //# sourceMappingURL=network_params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network_params.js","sourceRoot":"","sources":["../../../../utxo/doge/network_params.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAEhC,sEAImC;AAEnC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,4CAAmB,CAAC,CAAC,CAAC;AAErD,MAAM,cAAc,GAAG,SAAS,CAAC;AAEpB,QAAA,uBAAuB,GAAsB;IACxD,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,+BAAM,CAAC,IAAI;IACzB,WAAW,EAAE,kBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;IACjD,2BAA2B,EAAE,aAAa;IAC1C,aAAa,EAAE,cAAc;IAC7B,kBAAkB,EAAE,gCAAgC;CACrD,CAAC;AAEF,MAAM,YAAY,GAAG,kBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC/B,QAAA,uBAAuB,GAA6B,YAAY;IAC3E,CAAC,CAAC;QACE,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,+BAAM,CAAC,OAAO;QAC5B,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;QACvC,2BAA2B,EAAE,aAAa;QAC1C,aAAa,EAAE,cAAc;QAC7B,kBAAkB,EAAE,mCAAmC;KACxD;IACH,CAAC,CAAC,IAAI,CAAC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ensureEccInitialized = ensureEccInitialized;
37
+ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
38
+ const ecc = __importStar(require("tiny-secp256k1"));
39
+ let initialized = false;
40
+ function ensureEccInitialized() {
41
+ if (initialized)
42
+ return;
43
+ (0, bitcoinjs_lib_1.initEccLib)(ecc);
44
+ initialized = true;
45
+ }
46
+ ensureEccInitialized();
47
+ //# sourceMappingURL=ecc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecc.js","sourceRoot":"","sources":["../../../utxo/ecc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,oDAIC;AATD,iDAA2C;AAC3C,oDAAsC;AAEtC,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,SAAgB,oBAAoB;IAClC,IAAI,WAAW;QAAE,OAAO;IACxB,IAAA,0BAAU,EAAC,GAAG,CAAC,CAAC;IAChB,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OUTPUT_VBYTES = exports.INPUT_VBYTES = exports.TX_OVERHEAD_VBYTES = void 0;
4
+ exports.inputVBytes = inputVBytes;
5
+ exports.outputVBytes = outputVBytes;
6
+ exports.opReturnOutputVBytes = opReturnOutputVBytes;
7
+ exports.estimateTxVBytes = estimateTxVBytes;
8
+ exports.feeForVBytes = feeForVBytes;
9
+ exports.effectiveValueSats = effectiveValueSats;
10
+ exports.costOfChangeSats = costOfChangeSats;
11
+ const script_ts_1 = require("./script.js");
12
+ exports.TX_OVERHEAD_VBYTES = 10.5;
13
+ exports.INPUT_VBYTES = {
14
+ [script_ts_1.UtxoScriptTypes.P2PKH]: 148,
15
+ [script_ts_1.UtxoScriptTypes.P2SH]: 91,
16
+ [script_ts_1.UtxoScriptTypes.P2WPKH]: 68,
17
+ [script_ts_1.UtxoScriptTypes.P2WSH]: 105,
18
+ [script_ts_1.UtxoScriptTypes.P2TR]: 57.5,
19
+ [script_ts_1.UtxoScriptTypes.OpReturn]: 0,
20
+ [script_ts_1.UtxoScriptTypes.NonStandard]: 0,
21
+ };
22
+ exports.OUTPUT_VBYTES = {
23
+ [script_ts_1.UtxoScriptTypes.P2PKH]: 34,
24
+ [script_ts_1.UtxoScriptTypes.P2SH]: 32,
25
+ [script_ts_1.UtxoScriptTypes.P2WPKH]: 31,
26
+ [script_ts_1.UtxoScriptTypes.P2WSH]: 43,
27
+ [script_ts_1.UtxoScriptTypes.P2TR]: 43,
28
+ [script_ts_1.UtxoScriptTypes.OpReturn]: 0,
29
+ [script_ts_1.UtxoScriptTypes.NonStandard]: 0,
30
+ };
31
+ function inputVBytes(type) {
32
+ return exports.INPUT_VBYTES[type];
33
+ }
34
+ function outputVBytes(type) {
35
+ return exports.OUTPUT_VBYTES[type];
36
+ }
37
+ function opReturnOutputVBytes(dataLengthBytes) {
38
+ return Math.ceil(8 + 1 + 1 + 1 + (dataLengthBytes < 76 ? 0 : 1) + dataLengthBytes);
39
+ }
40
+ function estimateTxVBytes(inputTypes, outputTypes, opReturnDataLengths = []) {
41
+ let total = exports.TX_OVERHEAD_VBYTES;
42
+ for (const t of inputTypes)
43
+ total += inputVBytes(t);
44
+ for (const t of outputTypes)
45
+ total += outputVBytes(t);
46
+ for (const len of opReturnDataLengths)
47
+ total += opReturnOutputVBytes(len);
48
+ return Math.ceil(total);
49
+ }
50
+ function feeForVBytes(vBytes, satsPerVByte) {
51
+ return Math.ceil(vBytes * satsPerVByte);
52
+ }
53
+ function effectiveValueSats(utxoValueSats, inputType, satsPerVByte) {
54
+ return utxoValueSats - Math.ceil(inputVBytes(inputType) * satsPerVByte);
55
+ }
56
+ function costOfChangeSats(changeOutputType, shortTermFeeRateSatsPerVByte, longTermFeeRateSatsPerVByte) {
57
+ const create = outputVBytes(changeOutputType) * shortTermFeeRateSatsPerVByte;
58
+ const spend = inputVBytes(changeOutputType) * longTermFeeRateSatsPerVByte;
59
+ return Math.ceil(create + spend);
60
+ }
61
+ //# sourceMappingURL=fee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../utxo/fee.ts"],"names":[],"mappings":";;;AAwBA,kCAEC;AAED,oCAEC;AAED,oDAEC;AAED,4CAUC;AAED,oCAEC;AAED,gDAEC;AAED,4CAQC;AAhED,2CAA8D;AAEjD,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAE1B,QAAA,YAAY,GAAmC;IAC1D,CAAC,2BAAe,CAAC,KAAK,CAAC,EAAE,GAAG;IAC5B,CAAC,2BAAe,CAAC,IAAI,CAAC,EAAE,EAAE;IAC1B,CAAC,2BAAe,CAAC,MAAM,CAAC,EAAE,EAAE;IAC5B,CAAC,2BAAe,CAAC,KAAK,CAAC,EAAE,GAAG;IAC5B,CAAC,2BAAe,CAAC,IAAI,CAAC,EAAE,IAAI;IAC5B,CAAC,2BAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC7B,CAAC,2BAAe,CAAC,WAAW,CAAC,EAAE,CAAC;CACjC,CAAC;AAEW,QAAA,aAAa,GAAmC;IAC3D,CAAC,2BAAe,CAAC,KAAK,CAAC,EAAE,EAAE;IAC3B,CAAC,2BAAe,CAAC,IAAI,CAAC,EAAE,EAAE;IAC1B,CAAC,2BAAe,CAAC,MAAM,CAAC,EAAE,EAAE;IAC5B,CAAC,2BAAe,CAAC,KAAK,CAAC,EAAE,EAAE;IAC3B,CAAC,2BAAe,CAAC,IAAI,CAAC,EAAE,EAAE;IAC1B,CAAC,2BAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC7B,CAAC,2BAAe,CAAC,WAAW,CAAC,EAAE,CAAC;CACjC,CAAC;AAEF,SAAgB,WAAW,CAAC,IAAoB;IAC9C,OAAO,oBAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,YAAY,CAAC,IAAoB;IAC/C,OAAO,qBAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,oBAAoB,CAAC,eAAuB;IAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;AACrF,CAAC;AAED,SAAgB,gBAAgB,CAC9B,UAAqC,EACrC,WAAsC,EACtC,sBAAyC,EAAE;IAE3C,IAAI,KAAK,GAAG,0BAAkB,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,UAAU;QAAE,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,WAAW;QAAE,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,mBAAmB;QAAE,KAAK,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc,EAAE,YAAoB;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,kBAAkB,CAAC,aAAqB,EAAE,SAAyB,EAAE,YAAoB;IACvG,OAAO,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,gBAAgB,CAC9B,gBAAgC,EAChC,4BAAoC,EACpC,2BAAmC;IAEnC,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,4BAA4B,CAAC;IAC7E,MAAM,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,2BAA2B,CAAC;IAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./coin_selection.js"), exports);
18
+ __exportStar(require("./ecc.js"), exports);
19
+ __exportStar(require("./fee.js"), exports);
20
+ __exportStar(require("./script.js"), exports);
21
+ __exportStar(require("./tools/broadcaster.js"), exports);
22
+ __exportStar(require("./tools/chain_tip_provider.js"), exports);
23
+ __exportStar(require("./tools/fee_estimator.js"), exports);
24
+ __exportStar(require("./tools/raw_transaction_provider.js"), exports);
25
+ __exportStar(require("./tools/utxo_provider.js"), exports);
26
+ __exportStar(require("./unsigned_utxo_transaction.js"), exports);
27
+ __exportStar(require("./utxo.js"), exports);
28
+ __exportStar(require("./utxo_chain.js"), exports);
29
+ __exportStar(require("./utxo_chains.js"), exports);
30
+ __exportStar(require("./utxo_gas_pricing.js"), exports);
31
+ __exportStar(require("./utxo_network_params.js"), exports);
32
+ __exportStar(require("./utxo_transaction_status.js"), exports);
33
+ __exportStar(require("./btc/index.js"), exports);
34
+ __exportStar(require("./ltc/index.js"), exports);
35
+ __exportStar(require("./doge/index.js"), exports);
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utxo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B;AAC5B,yDAAuC;AACvC,gEAA8C;AAC9C,2DAAyC;AACzC,sEAAoD;AACpD,2DAAyC;AACzC,iEAA+C;AAC/C,4CAA0B;AAC1B,kDAAgC;AAChC,mDAAiC;AACjC,wDAAsC;AACtC,2DAAyC;AACzC,+DAA6C;AAC7C,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ltc_chains.js"), exports);
18
+ __exportStar(require("./network_params.js"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../utxo/ltc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,sDAAoC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.litecoinMainnetChain = litecoinMainnetChain;
4
+ exports.litecoinTestnetChain = litecoinTestnetChain;
5
+ const utxo_chain_ts_1 = require("../utxo_chain.js");
6
+ const network_params_ts_1 = require("./network_params.js");
7
+ function litecoinMainnetChain(options) {
8
+ return new utxo_chain_ts_1.UtxoChain({
9
+ name: 'Litecoin',
10
+ params: network_params_ts_1.LITECOIN_MAINNET_PARAMS,
11
+ nativeSymbol: 'LTC',
12
+ blockTimeSeconds: 150,
13
+ ...options,
14
+ walletExplorerUrlTemplate: 'https://blockchair.com/litecoin/address/{wallet_address}',
15
+ transactionExplorerUrlTemplate: 'https://blockchair.com/litecoin/transaction/{tx_hash}',
16
+ });
17
+ }
18
+ function litecoinTestnetChain(options) {
19
+ if (network_params_ts_1.LITECOIN_TESTNET_PARAMS === null) {
20
+ throw new Error('Litecoin testnet params unavailable (coininfo.litecoin.test missing)');
21
+ }
22
+ return new utxo_chain_ts_1.UtxoChain({
23
+ name: 'Litecoin Testnet',
24
+ params: network_params_ts_1.LITECOIN_TESTNET_PARAMS,
25
+ nativeSymbol: 'tLTC',
26
+ blockTimeSeconds: 150,
27
+ ...options,
28
+ walletExplorerUrlTemplate: 'https://blockexplorer.one/litecoin/testnet/address/{wallet_address}',
29
+ transactionExplorerUrlTemplate: 'https://blockexplorer.one/litecoin/testnet/tx/{tx_hash}',
30
+ });
31
+ }
32
+ //# sourceMappingURL=ltc_chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ltc_chains.js","sourceRoot":"","sources":["../../../../utxo/ltc/ltc_chains.ts"],"names":[],"mappings":";;AAiBA,oDAUC;AAED,oDAaC;AArCD,oDAA6C;AAC7C,2DAAuF;AAWvF,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,OAAO,IAAI,yBAAS,CAAC;QACnB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,2CAAuB;QAC/B,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,GAAG;QACrB,GAAG,OAAO;QACV,yBAAyB,EAAE,0DAA0D;QACrF,8BAA8B,EAAE,uDAAuD;KACxF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,IAAI,2CAAuB,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,yBAAS,CAAC;QACnB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,2CAAuB;QAC/B,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,GAAG;QACrB,GAAG,OAAO;QACV,yBAAyB,EAAE,qEAAqE;QAChG,8BAA8B,EAAE,yDAAyD;KAC1F,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,33 @@
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.LITECOIN_TESTNET_PARAMS = exports.LITECOIN_MAINNET_PARAMS = void 0;
7
+ const coininfo_1 = __importDefault(require("coininfo"));
8
+ const utxo_network_params_ts_1 = require("../utxo_network_params.js");
9
+ const LTC_PURPOSES = new Set([
10
+ utxo_network_params_ts_1.BIP32_PURPOSE_P2PKH,
11
+ utxo_network_params_ts_1.BIP32_PURPOSE_P2SH_P2WPKH,
12
+ utxo_network_params_ts_1.BIP32_PURPOSE_P2WPKH,
13
+ ]);
14
+ exports.LITECOIN_MAINNET_PARAMS = {
15
+ name: 'mainnet',
16
+ slip44CoinId: utxo_network_params_ts_1.Slip44.LTC,
17
+ networkInfo: coininfo_1.default.litecoin.main.toBitcoinJS(),
18
+ supportedDerivationPurposes: LTC_PURPOSES,
19
+ dustValueSats: utxo_network_params_ts_1.DEFAULT_DUST_SATS,
20
+ walletAddressRegex: /^(ltc1[qp][ac-hj-np-z02-9]{11,71}|[LM3][a-km-zA-HJ-NP-Z1-9]{25,34})$/,
21
+ };
22
+ const litecoinTest = coininfo_1.default.litecoin.test;
23
+ exports.LITECOIN_TESTNET_PARAMS = litecoinTest
24
+ ? {
25
+ name: 'testnet',
26
+ slip44CoinId: utxo_network_params_ts_1.Slip44.Testnet,
27
+ networkInfo: litecoinTest.toBitcoinJS(),
28
+ supportedDerivationPurposes: LTC_PURPOSES,
29
+ dustValueSats: utxo_network_params_ts_1.DEFAULT_DUST_SATS,
30
+ walletAddressRegex: /^(tltc1[qp][ac-hj-np-z02-9]{11,71}|[mn2][a-km-zA-HJ-NP-Z1-9]{25,34})$/,
31
+ }
32
+ : null;
33
+ //# sourceMappingURL=network_params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network_params.js","sourceRoot":"","sources":["../../../../utxo/ltc/network_params.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAEhC,sEAOmC;AAEnC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,4CAAmB;IACnB,kDAAyB;IACzB,6CAAoB;CACrB,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAsB;IACxD,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,+BAAM,CAAC,GAAG;IACxB,WAAW,EAAE,kBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;IACjD,2BAA2B,EAAE,YAAY;IACzC,aAAa,EAAE,0CAAiB;IAChC,kBAAkB,EAAE,sEAAsE;CAC3F,CAAC;AAEF,MAAM,YAAY,GAAG,kBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC/B,QAAA,uBAAuB,GAA6B,YAAY;IAC3E,CAAC,CAAC;QACE,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,+BAAM,CAAC,OAAO;QAC5B,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;QACvC,2BAA2B,EAAE,YAAY;QACzC,aAAa,EAAE,0CAAiB;QAChC,kBAAkB,EAAE,uEAAuE;KAC5F;IACH,CAAC,CAAC,IAAI,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UtxoScriptTypes = void 0;
4
+ exports.detectScriptType = detectScriptType;
5
+ exports.addressToScriptPubKey = addressToScriptPubKey;
6
+ exports.scriptTypeForAddress = scriptTypeForAddress;
7
+ exports.buildOpReturnScript = buildOpReturnScript;
8
+ const bitcoinjs_lib_1 = require("bitcoinjs-lib");
9
+ const utxo_network_params_ts_1 = require("./utxo_network_params.js");
10
+ exports.UtxoScriptTypes = {
11
+ P2PKH: 'p2pkh',
12
+ P2SH: 'p2sh',
13
+ P2WPKH: 'p2wpkh',
14
+ P2WSH: 'p2wsh',
15
+ P2TR: 'p2tr',
16
+ OpReturn: 'op_return',
17
+ NonStandard: 'non_standard',
18
+ };
19
+ function detectScriptType(script) {
20
+ const s = script;
21
+ if (s.length === 25 &&
22
+ s[0] === 0x76 &&
23
+ s[1] === 0xa9 &&
24
+ s[2] === 0x14 &&
25
+ s[23] === 0x88 &&
26
+ s[24] === 0xac) {
27
+ return exports.UtxoScriptTypes.P2PKH;
28
+ }
29
+ if (s.length === 23 && s[0] === 0xa9 && s[1] === 0x14 && s[22] === 0x87) {
30
+ return exports.UtxoScriptTypes.P2SH;
31
+ }
32
+ if (s.length === 22 && s[0] === 0x00 && s[1] === 0x14) {
33
+ return exports.UtxoScriptTypes.P2WPKH;
34
+ }
35
+ if (s.length === 34 && s[0] === 0x00 && s[1] === 0x20) {
36
+ return exports.UtxoScriptTypes.P2WSH;
37
+ }
38
+ if (s.length === 34 && s[0] === 0x51 && s[1] === 0x20) {
39
+ return exports.UtxoScriptTypes.P2TR;
40
+ }
41
+ if (s.length > 0 && s[0] === 0x6a) {
42
+ return exports.UtxoScriptTypes.OpReturn;
43
+ }
44
+ return exports.UtxoScriptTypes.NonStandard;
45
+ }
46
+ function addressToScriptPubKey(addressStr, network) {
47
+ return bitcoinjs_lib_1.address.toOutputScript(addressStr, network);
48
+ }
49
+ function scriptTypeForAddress(addressStr, network) {
50
+ const script = addressToScriptPubKey(addressStr, network);
51
+ return detectScriptType(script);
52
+ }
53
+ function buildOpReturnScript(data) {
54
+ if (data.length > utxo_network_params_ts_1.OP_RETURN_MAX_BYTES) {
55
+ throw new Error(`OP_RETURN data length ${data.length} exceeds max ${utxo_network_params_ts_1.OP_RETURN_MAX_BYTES} bytes`);
56
+ }
57
+ return bitcoinjs_lib_1.script.compile([bitcoinjs_lib_1.opcodes.OP_RETURN, Buffer.from(data)]);
58
+ }
59
+ //# sourceMappingURL=script.js.map