@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,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractGasPricing = void 0;
4
+ exports.isAbstractGasPricing = isAbstractGasPricing;
5
+ /**
6
+ * Base for chain-specific *explicit* fee overrides — mirrors Python's
7
+ * `AbstractGasPricing(pydantic.BaseModel)` at `base/base.py:141-158`.
8
+ * A subclass declares its `networkType` and carries the concrete fee
9
+ * fields for that chain (`EvmGasPricing`, `SolanaGasPricing`,
10
+ * `UtxoGasPricing`).
11
+ *
12
+ * A caller who wants exact numeric control passes an `AbstractGasPricing`
13
+ * subclass to `createTransferUnsignedTransaction`; passing a
14
+ * `FeePriority` tier (SLOW/NORMAL/FAST) instead defers to each chain's
15
+ * `suggest*` estimator. See `GasPricingType`.
16
+ */
17
+ class AbstractGasPricing {
18
+ }
19
+ exports.AbstractGasPricing = AbstractGasPricing;
20
+ /**
21
+ * Runtime discriminator for `GasPricingType`. `FeePriority` is a
22
+ * string enum; `AbstractGasPricing` is a class instance.
23
+ */
24
+ function isAbstractGasPricing(value) {
25
+ return value instanceof AbstractGasPricing;
26
+ }
27
+ //# sourceMappingURL=abstract_gas_pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract_gas_pricing.js","sourceRoot":"","sources":["../../abstract_gas_pricing.ts"],"names":[],"mappings":";;;AAgCA,oDAEC;AA/BD;;;;;;;;;;;GAWG;AACH,MAAsB,kBAAkB;CAEvC;AAFD,gDAEC;AAWD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAAqB;IACxD,OAAO,KAAK,YAAY,kBAAkB,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addressFor = addressFor;
4
+ exports.canonicalizeAddress = canonicalizeAddress;
5
+ exports.tryCanonicalizeAddress = tryCanonicalizeAddress;
6
+ exports.canonicalizeAddressStrict = canonicalizeAddressStrict;
7
+ const errors_ts_1 = require("./errors.js");
8
+ const network_type_ts_1 = require("./network_type.js");
9
+ const evm_address_ts_1 = require("./evm/evm_address.js");
10
+ const solana_address_ts_1 = require("./solana/solana_address.js");
11
+ const ton_address_ts_1 = require("./ton/ton_address.js");
12
+ const btc_address_ts_1 = require("./utxo/btc/btc_address.js");
13
+ const network_params_ts_1 = require("./utxo/btc/network_params.js");
14
+ function addressFor(chainId, raw) {
15
+ const family = (0, network_type_ts_1.networkTypeOf)(chainId);
16
+ switch (family) {
17
+ case network_type_ts_1.NetworkType.EVM:
18
+ return new evm_address_ts_1.EvmAddress(raw);
19
+ case network_type_ts_1.NetworkType.SOLANA:
20
+ return new solana_address_ts_1.SolanaAddress(raw);
21
+ case network_type_ts_1.NetworkType.BTC:
22
+ return new btc_address_ts_1.BtcAddress(raw, (0, network_params_ts_1.btcParamsForChainId)(BigInt(chainId)));
23
+ case network_type_ts_1.NetworkType.TON:
24
+ return new ton_address_ts_1.TonAddress(raw);
25
+ // TRON / COSMOS have no in-repo Address class yet. Rather than fall through
26
+ // to EvmAddress (which would silently accept a valid EVM address for a
27
+ // Tron chain and un-canonicalize base58 T… addresses), fail closed until
28
+ // the concrete implementations land.
29
+ case network_type_ts_1.NetworkType.TRON:
30
+ case network_type_ts_1.NetworkType.COSMOS:
31
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.ChainNotSupported, `${family} address parsing is not implemented for chainId ${chainId}`, { chainId });
32
+ default: {
33
+ // Exhaustiveness guard — a new NetworkType value should force this
34
+ // switch to be updated rather than fall through to EVM.
35
+ const exhaustive = family;
36
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.ChainNotSupported, `Unhandled NetworkType ${String(exhaustive)} for chainId ${chainId}`, { chainId });
37
+ }
38
+ }
39
+ }
40
+ function canonicalizeAddress(chainId, raw) {
41
+ return addressFor(chainId, raw).canonical();
42
+ }
43
+ /**
44
+ * Total function — never throws. Returns the raw input on any failure
45
+ * (address-format error, unsupported chain, malformed args).
46
+ *
47
+ * Callers that need to fail loudly on stale/unsupported chainIds while
48
+ * still tolerating address-format errors should use
49
+ * `canonicalizeAddressStrict` instead.
50
+ */
51
+ function tryCanonicalizeAddress(chainId, raw) {
52
+ try {
53
+ return canonicalizeAddress(chainId, raw);
54
+ }
55
+ catch {
56
+ return raw;
57
+ }
58
+ }
59
+ /**
60
+ * Swallows address-format errors (returns raw input) but re-throws
61
+ * `ChainError(ChainNotSupported)` so a stale chainId (e.g. un-migrated
62
+ * legacy Solana `-100`) fails loudly rather than passing a bogus routing
63
+ * signal downstream. Use in application code where an unsupported chain
64
+ * is a hard error the caller wants to surface, and address-format
65
+ * errors are reported by a separate validation layer.
66
+ *
67
+ * NOT for class-transformer `@Transform` callbacks — a throw there also
68
+ * fires during response serialization when an entity carries a stale
69
+ * chainId, killing every read of a legacy row.
70
+ */
71
+ function canonicalizeAddressStrict(chainId, raw) {
72
+ try {
73
+ return canonicalizeAddress(chainId, raw);
74
+ }
75
+ catch (e) {
76
+ if ((0, errors_ts_1.isChainError)(e, errors_ts_1.ChainErrorKinds.ChainNotSupported))
77
+ throw e;
78
+ return raw;
79
+ }
80
+ }
81
+ //# sourceMappingURL=address.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.factory.js","sourceRoot":"","sources":["../../address.factory.ts"],"names":[],"mappings":";;AAUA,gCAiCC;AAED,kDAEC;AAUD,wDAMC;AAcD,8DAOC;AApFD,2CAAwE;AACxE,uDAA+D;AAG/D,yDAAkD;AAClD,kEAA2D;AAC3D,yDAAkD;AAClD,8DAAuD;AACvD,oEAAmE;AAEnE,SAAgB,UAAU,CAAC,OAAe,EAAE,GAAW;IACrD,MAAM,MAAM,GAAG,IAAA,+BAAa,EAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,6BAAW,CAAC,GAAG;YAClB,OAAO,IAAI,2BAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,KAAK,6BAAW,CAAC,MAAM;YACrB,OAAO,IAAI,iCAAa,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,6BAAW,CAAC,GAAG;YAClB,OAAO,IAAI,2BAAU,CAAC,GAAG,EAAE,IAAA,uCAAmB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnE,KAAK,6BAAW,CAAC,GAAG;YAClB,OAAO,IAAI,2BAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,4EAA4E;QAC5E,uEAAuE;QACvE,yEAAyE;QACzE,qCAAqC;QACrC,KAAK,6BAAW,CAAC,IAAI,CAAC;QACtB,KAAK,6BAAW,CAAC,MAAM;YACrB,MAAM,IAAI,sBAAU,CAClB,2BAAe,CAAC,iBAAiB,EACjC,GAAG,MAAM,mDAAmD,OAAO,EAAE,EACrE,EAAE,OAAO,EAAE,CACZ,CAAC;QACJ,OAAO,CAAC,CAAC,CAAC;YACR,mEAAmE;YACnE,wDAAwD;YACxD,MAAM,UAAU,GAAU,MAAM,CAAC;YACjC,MAAM,IAAI,sBAAU,CAClB,2BAAe,CAAC,iBAAiB,EACjC,yBAAyB,MAAM,CAAC,UAAU,CAAC,gBAAgB,OAAO,EAAE,EACpE,EAAE,OAAO,EAAE,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB,CAAC,OAAe,EAAE,GAAW;IAC9D,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CAAC,OAAe,EAAE,GAAW;IACjE,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,yBAAyB,CAAC,OAAe,EAAE,GAAW;IACpE,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,IAAA,wBAAY,EAAC,CAAC,EAAE,2BAAe,CAAC,iBAAiB,CAAC;YAAE,MAAM,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Address = void 0;
4
+ class Address {
5
+ raw;
6
+ constructor(raw) {
7
+ this.raw = raw;
8
+ }
9
+ equals(other) {
10
+ return (this.networkType === other.networkType && this.canonical() === other.canonical());
11
+ }
12
+ toString() {
13
+ return this.canonical();
14
+ }
15
+ }
16
+ exports.Address = Address;
17
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../address.ts"],"names":[],"mappings":";;;AAEA,MAAsB,OAAO;IACc;IAAzC,YAAyC,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAKxD,MAAM,CAAC,KAAc;QACnB,OAAO,CACL,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,KAAK,CAAC,SAAS,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AAfD,0BAeC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddressField = AddressField;
4
+ const class_transformer_1 = require("class-transformer");
5
+ const address_factory_ts_1 = require("./address.factory.js");
6
+ const is_address_decorator_ts_1 = require("./is_address.decorator.js");
7
+ /**
8
+ * Combines a `class-transformer` `@Transform` that canonicalizes the address
9
+ * value with an `@IsAddress` validator.
10
+ *
11
+ * The transform uses `tryCanonicalizeAddress` — a total function that
12
+ * swallows **every** failure (including `ChainNotSupported`) and returns the
13
+ * raw input. `@IsAddress` is the sole reporter of the failure at DTO
14
+ * validation time. This is deliberate: a `@Transform` also runs during
15
+ * `instanceToPlain` (response serialization), and a throw there would fail
16
+ * every read of a legacy-chainId entity row.
17
+ *
18
+ * For application code outside a class-transformer boundary that wants
19
+ * `ChainNotSupported` to fail loud (e.g. a service layer processing a
20
+ * migration queue), use `canonicalizeAddressStrict` instead.
21
+ */
22
+ function AddressField(chainIdProperty) {
23
+ const transform = (0, class_transformer_1.Transform)(({ obj, value }) => {
24
+ if (typeof value !== 'string')
25
+ return value;
26
+ const chainId = obj[chainIdProperty];
27
+ if (typeof chainId !== 'number')
28
+ return value;
29
+ return (0, address_factory_ts_1.tryCanonicalizeAddress)(chainId, value);
30
+ });
31
+ const validate = (0, is_address_decorator_ts_1.IsAddress)(chainIdProperty);
32
+ return (target, propertyKey) => {
33
+ transform(target, propertyKey);
34
+ validate(target, propertyKey);
35
+ };
36
+ }
37
+ //# sourceMappingURL=address_field.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address_field.decorator.js","sourceRoot":"","sources":["../../address_field.decorator.ts"],"names":[],"mappings":";;AAoBA,oCAYC;AAhCD,yDAA8C;AAE9C,6DAA8D;AAC9D,uEAAsD;AAEtD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,MAAM,SAAS,GAAG,IAAA,6BAAS,EAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,OAAO,GAAI,GAA+B,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9C,OAAO,IAAA,2CAAsB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAA,mCAAS,EAAC,eAAe,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/B,QAAQ,CAAC,MAAM,EAAE,WAAqB,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chain = void 0;
4
+ exports.resolveTransferAmount = resolveTransferAmount;
5
+ const decimal_js_1 = require("decimal.js");
6
+ const errors_ts_1 = require("./errors.js");
7
+ const transaction_status_ts_1 = require("./transaction_status.js");
8
+ /**
9
+ * Validates that exactly one of `{amount, amountHr, isFullBalance}` was
10
+ * supplied and normalizes to a common shape the chain builders consume.
11
+ * Chain-agnostic — the caller supplies `decimals` (from the resolved
12
+ * token). Rounds `amountHr` via `Decimal.trunc()` matching Python's
13
+ * `hr_to_mr`.
14
+ *
15
+ * Non-integer decimals / negative amount / etc. throw
16
+ * `ChainError(InvalidArgument)`.
17
+ */
18
+ function resolveTransferAmount(req, decimals) {
19
+ // Upfront typeof gate for isFullBalance — silently coercing a non-boolean
20
+ // to "unset" here would let `{amount, isFullBalance: 'true'}` (JSON boundary
21
+ // realistic) take the amount branch instead of failing the exactly-one-of.
22
+ if (req.isFullBalance !== undefined && typeof req.isFullBalance !== 'boolean') {
23
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `CreateTransferRequest.isFullBalance must be a boolean (got ${typeof req.isFullBalance})`);
24
+ }
25
+ const provided = [];
26
+ if (req.amount !== undefined)
27
+ provided.push('amount');
28
+ if (req.amountHr !== undefined)
29
+ provided.push('amountHr');
30
+ if (req.isFullBalance === true)
31
+ provided.push('isFullBalance');
32
+ if (provided.length === 0) {
33
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'CreateTransferRequest: one of {amount, amountHr, isFullBalance} is required');
34
+ }
35
+ if (provided.length > 1) {
36
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `CreateTransferRequest: exactly one of {amount, amountHr, isFullBalance} may be set (got ${provided.join(', ')})`);
37
+ }
38
+ if (req.isFullBalance === true)
39
+ return { kind: 'full' };
40
+ if (req.amount !== undefined) {
41
+ // Explicit typeof check: JS mixed-type comparison lets '1000000' <= 0n
42
+ // return false (`StringToBigInt`), so a string/number amount would
43
+ // otherwise pass this guard and land verbatim in tx.value /
44
+ // lamports / ERC-20 calldata. Realistic vector: consumers
45
+ // deserializing amounts from HTTP/DB JSON.
46
+ if (typeof req.amount !== 'bigint') {
47
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `CreateTransferRequest.amount must be a bigint (got ${typeof req.amount})`);
48
+ }
49
+ if (req.amount <= 0n) {
50
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `CreateTransferRequest.amount must be > 0, got ${req.amount}`);
51
+ }
52
+ return { kind: 'exact', amountMr: req.amount };
53
+ }
54
+ // amountHr branch. Cross-copy-safe structural probe: `instanceof
55
+ // Decimal` and `Decimal.isDecimal` both key off constructor identity
56
+ // in practice (isDecimal's toStringTag branch is dead against the
57
+ // shipped prototype), so a `Decimal` from a nested/duplicated copy of
58
+ // decimal.js in the consumer tree would falsely reject. Instead:
59
+ // probe for the two methods we actually need (`toFixed`, `isFinite`),
60
+ // then normalize via `Decimal.prototype.toString` — an exact,
61
+ // always-reparseable serialization — into our own Decimal instance.
62
+ const rawHr = req.amountHr;
63
+ if (rawHr === null ||
64
+ typeof rawHr !== 'object' ||
65
+ typeof rawHr.toFixed !== 'function' ||
66
+ typeof rawHr.isFinite !== 'function' ||
67
+ typeof rawHr.toString !== 'function') {
68
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'CreateTransferRequest.amountHr must be a Decimal value (structural probe: needs toFixed + isFinite + toString)');
69
+ }
70
+ let hr;
71
+ try {
72
+ hr = new decimal_js_1.Decimal(rawHr.toString());
73
+ }
74
+ catch (err) {
75
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'CreateTransferRequest.amountHr: string round-trip failed', undefined, err instanceof Error ? err : undefined);
76
+ }
77
+ if (!hr.isFinite()) {
78
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `CreateTransferRequest.amountHr must be finite, got ${hr.toString()}`);
79
+ }
80
+ if (!Number.isInteger(decimals) || decimals < 0) {
81
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `CreateTransferRequest.amountHr requires a non-negative integer decimals, got ${decimals}`);
82
+ }
83
+ if (hr.isNegative()) {
84
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `CreateTransferRequest.amountHr must be >= 0, got ${hr.toString()}`);
85
+ }
86
+ // Exact conversion via string-shift (bypasses decimal.js's 20-sig-digit
87
+ // precision limit that would silently round the last wei on 18-decimal
88
+ // amounts ≥ ~100 tokens).
89
+ const amountMr = (0, transaction_status_ts_1.hrDecimalToMinorUnits)(hr, decimals);
90
+ if (amountMr <= 0n) {
91
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `CreateTransferRequest.amountHr must convert to > 0 minor units, got ${amountMr} (from ${hr.toString()} @ ${decimals} decimals)`);
92
+ }
93
+ return { kind: 'exact', amountMr };
94
+ }
95
+ class Chain {
96
+ chainId;
97
+ name;
98
+ networkType;
99
+ blockTimeSeconds;
100
+ nativeSymbol;
101
+ explorerBaseUrl;
102
+ constructor(chainId, name, networkType, blockTimeSeconds, nativeSymbol, explorerBaseUrl) {
103
+ if (!Number.isInteger(chainId)) {
104
+ throw new Error('Chain chainId must be an integer');
105
+ }
106
+ this.chainId = chainId;
107
+ this.name = name;
108
+ this.networkType = networkType;
109
+ this.blockTimeSeconds = blockTimeSeconds;
110
+ this.nativeSymbol = nativeSymbol;
111
+ this.explorerBaseUrl = explorerBaseUrl.replace(/\/$/, '');
112
+ }
113
+ toString() {
114
+ return `Chain[chainId=${this.chainId}, name=${this.name}, networkType=${this.networkType}]`;
115
+ }
116
+ }
117
+ exports.Chain = Chain;
118
+ //# sourceMappingURL=chain.base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.base.js","sourceRoot":"","sources":["../../chain.base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /**
3
+ * Chain ID constants — mirrors omnichain-py/src/omnichain/chain_ids.py.
4
+ * Source of truth: https://github.com/getomnichain/omnichain-py
5
+ *
6
+ * EVM chain IDs are the canonical EIP-155 numbers.
7
+ * Non-EVM chains use synthetic negative IDs (Python convention) so a single
8
+ * `number` fits every chain and the sign disambiguates families.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.CHAIN_ID_HYPER_EVM = exports.CHAIN_ID_STABLE = exports.CHAIN_ID_WANCHAIN = exports.CHAIN_ID_WORLD_CHAIN = exports.CHAIN_ID_ZKSYNC = exports.CHAIN_ID_BOBA = exports.CHAIN_ID_FANTOM = exports.CHAIN_ID_OPBNB = exports.CHAIN_ID_XLAYER = exports.CHAIN_ID_SHIMMER = exports.CHAIN_ID_SONIC = exports.CHAIN_ID_MONAD = exports.CHAIN_ID_POLYGON = exports.CHAIN_ID_UNICHAIN = exports.CHAIN_ID_GNOSIS = exports.CHAIN_ID_OKX_CHAIN = exports.CHAIN_ID_BNB_CHAIN = exports.CHAIN_ID_CRONOS = exports.CHAIN_ID_OPTIMISM = exports.CHAIN_ID_GOERLI = exports.CHAIN_ID_ETHEREUM = exports.CHAIN_FAMILY_TRON = exports.CHAIN_ID_TRON_SHASTA = exports.CHAIN_ID_TRON_MAINNET = exports.CHAIN_FAMILY_TON = exports.CHAIN_ID_TON_TESTNET = exports.CHAIN_ID_TON_MAINNET = exports.CHAIN_FAMILY_STELLAR = exports.CHAIN_ID_STELLAR_TESTNET = exports.CHAIN_ID_STELLAR_MAINNET = exports.CHAIN_FAMILY_XRPL = exports.CHAIN_ID_XRPL_TESTNET = exports.CHAIN_ID_XRPL_MAINNET = exports.CHAIN_FAMILY_SUI = exports.CHAIN_ID_SUI_DEVNET = exports.CHAIN_ID_SUI_TESTNET = exports.CHAIN_ID_SUI_MAINNET = exports.CHAIN_FAMILY_SOLANA = exports.CHAIN_ID_SOLANA_DEVNET = exports.CHAIN_ID_SOLANA_TESTNET = exports.CHAIN_ID_SOLANA_MAINNET = exports.CHAIN_FAMILY_UTXO = exports.CHAIN_ID_BITCOIN_CASH_MAINNET = exports.CHAIN_ID_ZCASH_MAINNET = exports.CHAIN_ID_DASH_MAINNET = exports.CHAIN_ID_DOGECOIN_MAINNET = exports.CHAIN_ID_LITECOIN_MAINNET = exports.CHAIN_ID_BITCOIN_SIGNET = exports.CHAIN_ID_BITCOIN_TESTNET = exports.CHAIN_ID_BITCOIN_MAINNET = void 0;
12
+ exports.CHAIN_ID_AURORA = exports.CHAIN_ID_CELO_SEPOLIA = exports.CHAIN_ID_SEPOLIA = exports.CHAIN_ID_ZORA = exports.CHAIN_ID_ZKLINK_NOVA = exports.CHAIN_ID_KATANA = exports.CHAIN_ID_SCROLL = exports.CHAIN_ID_TAIKO = exports.CHAIN_ID_BLAST = exports.CHAIN_ID_BERA_CHAIN = exports.CHAIN_ID_BOB = exports.CHAIN_ID_LINEA = exports.CHAIN_ID_INK = exports.CHAIN_ID_AVALANCHE_C_CHAIN = exports.CHAIN_ID_CELO = exports.CHAIN_ID_ARBITRUM = exports.CHAIN_ID_MODE = exports.CHAIN_ID_PLASMA = exports.CHAIN_ID_IOTA_EVM = exports.CHAIN_ID_BASE = exports.CHAIN_ID_ZETACHAIN = exports.CHAIN_ID_MANTLE = exports.CHAIN_ID_MEGA_ETH = exports.CHAIN_ID_TEMPO = exports.CHAIN_ID_CITREA = exports.CHAIN_ID_ABSTRACT = exports.CHAIN_ID_SONEIUM = exports.CHAIN_ID_SEI_EVM = exports.CHAIN_ID_MOONRIVER = exports.CHAIN_ID_MOONBEAM = exports.CHAIN_ID_POLYGON_ZKEVM = exports.CHAIN_ID_METIS = void 0;
13
+ exports.isUtxo = isUtxo;
14
+ exports.isSolana = isSolana;
15
+ exports.isSui = isSui;
16
+ exports.isXrpl = isXrpl;
17
+ exports.isStellar = isStellar;
18
+ exports.isTon = isTon;
19
+ exports.isTron = isTron;
20
+ exports.isEvm = isEvm;
21
+ // -----------------------------------------------------------------------------
22
+ // UTXO family (mirrors chain_ids.py:17-25)
23
+ // -----------------------------------------------------------------------------
24
+ exports.CHAIN_ID_BITCOIN_MAINNET = -1;
25
+ exports.CHAIN_ID_BITCOIN_TESTNET = -2;
26
+ exports.CHAIN_ID_BITCOIN_SIGNET = -3;
27
+ exports.CHAIN_ID_LITECOIN_MAINNET = -10;
28
+ exports.CHAIN_ID_DOGECOIN_MAINNET = -12;
29
+ exports.CHAIN_ID_DASH_MAINNET = -14;
30
+ exports.CHAIN_ID_ZCASH_MAINNET = -16;
31
+ exports.CHAIN_ID_BITCOIN_CASH_MAINNET = -18;
32
+ exports.CHAIN_FAMILY_UTXO = new Set([
33
+ exports.CHAIN_ID_BITCOIN_MAINNET,
34
+ exports.CHAIN_ID_BITCOIN_TESTNET,
35
+ exports.CHAIN_ID_BITCOIN_SIGNET,
36
+ exports.CHAIN_ID_LITECOIN_MAINNET,
37
+ exports.CHAIN_ID_DOGECOIN_MAINNET,
38
+ exports.CHAIN_ID_DASH_MAINNET,
39
+ exports.CHAIN_ID_ZCASH_MAINNET,
40
+ exports.CHAIN_ID_BITCOIN_CASH_MAINNET,
41
+ ]);
42
+ /**
43
+ * True for any chainId in the static UTXO family set (Python parity).
44
+ *
45
+ * **Divergence warning**: `networkTypeOf` currently routes only `-1/-2/-3`
46
+ * (BTC) statically. `LTC (-10)`, `DOGE (-12)`, `DASH (-14)`, `ZCASH (-16)`,
47
+ * `BCH (-18)` return `true` here for family membership, but v0 has no
48
+ * `addressFor` path for them — construct the chain instance and call
49
+ * `chain.validateAddress(raw)` directly. Do not use `isUtxo` as a routing
50
+ * precondition; use `tryNetworkTypeOf` or per-chain registration checks.
51
+ */
52
+ function isUtxo(chainId) {
53
+ return exports.CHAIN_FAMILY_UTXO.has(chainId);
54
+ }
55
+ // -----------------------------------------------------------------------------
56
+ // Solana family (mirrors chain_ids.py:43-55)
57
+ // -----------------------------------------------------------------------------
58
+ exports.CHAIN_ID_SOLANA_MAINNET = -2000;
59
+ exports.CHAIN_ID_SOLANA_TESTNET = -2001;
60
+ exports.CHAIN_ID_SOLANA_DEVNET = -2002;
61
+ exports.CHAIN_FAMILY_SOLANA = new Set([
62
+ exports.CHAIN_ID_SOLANA_MAINNET,
63
+ exports.CHAIN_ID_SOLANA_TESTNET,
64
+ exports.CHAIN_ID_SOLANA_DEVNET,
65
+ ]);
66
+ function isSolana(chainId) {
67
+ return exports.CHAIN_FAMILY_SOLANA.has(chainId);
68
+ }
69
+ // -----------------------------------------------------------------------------
70
+ // Sui family (mirrors chain_ids.py:57-67) — not implemented on TS v0.
71
+ // -----------------------------------------------------------------------------
72
+ exports.CHAIN_ID_SUI_MAINNET = -2500;
73
+ exports.CHAIN_ID_SUI_TESTNET = -2501;
74
+ exports.CHAIN_ID_SUI_DEVNET = -2502;
75
+ exports.CHAIN_FAMILY_SUI = new Set([
76
+ exports.CHAIN_ID_SUI_MAINNET,
77
+ exports.CHAIN_ID_SUI_TESTNET,
78
+ exports.CHAIN_ID_SUI_DEVNET,
79
+ ]);
80
+ function isSui(chainId) {
81
+ return exports.CHAIN_FAMILY_SUI.has(chainId);
82
+ }
83
+ // -----------------------------------------------------------------------------
84
+ // XRPL family (mirrors chain_ids.py:69-78) — not implemented on TS v0.
85
+ // -----------------------------------------------------------------------------
86
+ exports.CHAIN_ID_XRPL_MAINNET = -3000;
87
+ exports.CHAIN_ID_XRPL_TESTNET = -3001;
88
+ exports.CHAIN_FAMILY_XRPL = new Set([
89
+ exports.CHAIN_ID_XRPL_MAINNET,
90
+ exports.CHAIN_ID_XRPL_TESTNET,
91
+ ]);
92
+ function isXrpl(chainId) {
93
+ return exports.CHAIN_FAMILY_XRPL.has(chainId);
94
+ }
95
+ // -----------------------------------------------------------------------------
96
+ // Stellar family (mirrors chain_ids.py:80-89) — not implemented on TS v0.
97
+ // -----------------------------------------------------------------------------
98
+ exports.CHAIN_ID_STELLAR_MAINNET = -3500;
99
+ exports.CHAIN_ID_STELLAR_TESTNET = -3501;
100
+ exports.CHAIN_FAMILY_STELLAR = new Set([
101
+ exports.CHAIN_ID_STELLAR_MAINNET,
102
+ exports.CHAIN_ID_STELLAR_TESTNET,
103
+ ]);
104
+ function isStellar(chainId) {
105
+ return exports.CHAIN_FAMILY_STELLAR.has(chainId);
106
+ }
107
+ // -----------------------------------------------------------------------------
108
+ // TON family (mirrors chain_ids.py:92-100) — not implemented on TS v0
109
+ // (only TonAddress is exported; TonChain deferred).
110
+ // -----------------------------------------------------------------------------
111
+ exports.CHAIN_ID_TON_MAINNET = -4000;
112
+ exports.CHAIN_ID_TON_TESTNET = -4001;
113
+ exports.CHAIN_FAMILY_TON = new Set([
114
+ exports.CHAIN_ID_TON_MAINNET,
115
+ exports.CHAIN_ID_TON_TESTNET,
116
+ ]);
117
+ function isTon(chainId) {
118
+ return exports.CHAIN_FAMILY_TON.has(chainId);
119
+ }
120
+ // -----------------------------------------------------------------------------
121
+ // Tron family (mirrors chain_ids.py:103-111) — not implemented on TS v0.
122
+ // Note: Tron uses positive numeric IDs (not synthetic negatives).
123
+ // -----------------------------------------------------------------------------
124
+ exports.CHAIN_ID_TRON_MAINNET = 728126428;
125
+ exports.CHAIN_ID_TRON_SHASTA = 2494104990;
126
+ exports.CHAIN_FAMILY_TRON = new Set([
127
+ exports.CHAIN_ID_TRON_MAINNET,
128
+ exports.CHAIN_ID_TRON_SHASTA,
129
+ ]);
130
+ function isTron(chainId) {
131
+ return exports.CHAIN_FAMILY_TRON.has(chainId);
132
+ }
133
+ // -----------------------------------------------------------------------------
134
+ // EVM chain IDs (mirrors chain_ids.py:114-167).
135
+ // -----------------------------------------------------------------------------
136
+ exports.CHAIN_ID_ETHEREUM = 1;
137
+ exports.CHAIN_ID_GOERLI = 5;
138
+ exports.CHAIN_ID_OPTIMISM = 10;
139
+ exports.CHAIN_ID_CRONOS = 25;
140
+ exports.CHAIN_ID_BNB_CHAIN = 56;
141
+ exports.CHAIN_ID_OKX_CHAIN = 66;
142
+ exports.CHAIN_ID_GNOSIS = 100;
143
+ exports.CHAIN_ID_UNICHAIN = 130;
144
+ exports.CHAIN_ID_POLYGON = 137;
145
+ exports.CHAIN_ID_MONAD = 143;
146
+ exports.CHAIN_ID_SONIC = 146;
147
+ exports.CHAIN_ID_SHIMMER = 148;
148
+ exports.CHAIN_ID_XLAYER = 196;
149
+ exports.CHAIN_ID_OPBNB = 204;
150
+ exports.CHAIN_ID_FANTOM = 250;
151
+ exports.CHAIN_ID_BOBA = 288;
152
+ exports.CHAIN_ID_ZKSYNC = 324;
153
+ exports.CHAIN_ID_WORLD_CHAIN = 480;
154
+ exports.CHAIN_ID_WANCHAIN = 888;
155
+ exports.CHAIN_ID_STABLE = 988;
156
+ exports.CHAIN_ID_HYPER_EVM = 999;
157
+ exports.CHAIN_ID_METIS = 1088;
158
+ exports.CHAIN_ID_POLYGON_ZKEVM = 1101;
159
+ exports.CHAIN_ID_MOONBEAM = 1284;
160
+ exports.CHAIN_ID_MOONRIVER = 1285;
161
+ exports.CHAIN_ID_SEI_EVM = 1329;
162
+ exports.CHAIN_ID_SONEIUM = 1868;
163
+ exports.CHAIN_ID_ABSTRACT = 2741;
164
+ exports.CHAIN_ID_CITREA = 4114;
165
+ exports.CHAIN_ID_TEMPO = 4217;
166
+ exports.CHAIN_ID_MEGA_ETH = 4326;
167
+ exports.CHAIN_ID_MANTLE = 5000;
168
+ exports.CHAIN_ID_ZETACHAIN = 7000;
169
+ exports.CHAIN_ID_BASE = 8453;
170
+ exports.CHAIN_ID_IOTA_EVM = 8822;
171
+ exports.CHAIN_ID_PLASMA = 9745;
172
+ exports.CHAIN_ID_MODE = 34443;
173
+ exports.CHAIN_ID_ARBITRUM = 42161;
174
+ exports.CHAIN_ID_CELO = 42220;
175
+ exports.CHAIN_ID_AVALANCHE_C_CHAIN = 43114;
176
+ exports.CHAIN_ID_INK = 57073;
177
+ exports.CHAIN_ID_LINEA = 59144;
178
+ exports.CHAIN_ID_BOB = 60808;
179
+ exports.CHAIN_ID_BERA_CHAIN = 80094;
180
+ exports.CHAIN_ID_BLAST = 81457;
181
+ exports.CHAIN_ID_TAIKO = 167000;
182
+ exports.CHAIN_ID_SCROLL = 534352;
183
+ exports.CHAIN_ID_KATANA = 747474;
184
+ exports.CHAIN_ID_ZKLINK_NOVA = 810180;
185
+ exports.CHAIN_ID_ZORA = 7777777;
186
+ exports.CHAIN_ID_SEPOLIA = 11155111;
187
+ exports.CHAIN_ID_CELO_SEPOLIA = 11142220;
188
+ exports.CHAIN_ID_AURORA = 1313161554;
189
+ /**
190
+ * Sign/family test — returns `true` for any positive integer chainId that
191
+ * isn't a Tron chain. Does NOT assert that the chainId corresponds to a
192
+ * pre-baked `EvmChain`. Consumers wanting a support check should look up the
193
+ * chain in `ALL_DECLARED_EVM_CHAINS` (48 pre-baked chains); the smaller
194
+ * `ALL_EVM_CHAINS` is the pre-v0 "wired" set of 4 kept for backward compat.
195
+ *
196
+ * **Caveat on all `is*` predicates**: they operate on the immutable Python-
197
+ * parity family sets in this file. `networkTypeOf()` (in `network_type.ts`)
198
+ * reads the runtime registry that also includes consumer-registered chains,
199
+ * and is the authoritative routing check. The two can disagree for any
200
+ * chainId a consumer registered.
201
+ */
202
+ function isEvm(chainId) {
203
+ return Number.isInteger(chainId) && chainId > 0 && !exports.CHAIN_FAMILY_TRON.has(chainId);
204
+ }
205
+ //# sourceMappingURL=chain_ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain_ids.js","sourceRoot":"","sources":["../../chain_ids.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChainError = exports.ChainErrorKinds = void 0;
4
+ exports.sanitizeMessage = sanitizeMessage;
5
+ exports.sanitizeCause = sanitizeCause;
6
+ exports.isChainError = isChainError;
7
+ /**
8
+ * Replace `rpcUrl` in `message` with its host-only form so API keys carried
9
+ * in the URL path/query don't leak into error strings. Falls back to a
10
+ * `<rpc>` placeholder if the URL is unparseable.
11
+ */
12
+ function sanitizeMessage(message, rpcUrl) {
13
+ if (!rpcUrl)
14
+ return message;
15
+ let host;
16
+ try {
17
+ const u = new URL(rpcUrl);
18
+ host = `${u.protocol}//${u.host}`;
19
+ }
20
+ catch {
21
+ return message.replaceAll(rpcUrl, '<rpc>');
22
+ }
23
+ return message.replaceAll(rpcUrl, host);
24
+ }
25
+ /**
26
+ * Build a fresh `Error` from `cause` with a sanitized message and stack,
27
+ * dropping every other property (axios errors carry `.config.headers`
28
+ * `Authorization` and `.config.url`/`baseURL` with API keys). Consumers'
29
+ * structured loggers (pino `err` serializer, `util.inspect({showHidden})`)
30
+ * walk `error.cause`; this ensures the API key never lands in logs.
31
+ * Returns `undefined` for non-Error causes so the ChainError constructor
32
+ * leaves cause unset.
33
+ */
34
+ function sanitizeCause(cause, rpcUrl) {
35
+ if (!(cause instanceof Error))
36
+ return undefined;
37
+ const safe = new Error(sanitizeMessage(cause.message, rpcUrl));
38
+ safe.name = cause.name;
39
+ if (cause.stack)
40
+ safe.stack = sanitizeMessage(cause.stack, rpcUrl);
41
+ return safe;
42
+ }
43
+ exports.ChainErrorKinds = {
44
+ ChainNotSupported: 'chain_not_supported',
45
+ DuplicateToken: 'duplicate_token',
46
+ RpcNotConfigured: 'rpc_not_configured',
47
+ RpcError: 'rpc_error',
48
+ TransactionDecodeFailed: 'transaction_decode_failed',
49
+ InvalidAddress: 'invalid_address',
50
+ InvalidTokenIdentifier: 'invalid_token_identifier',
51
+ InvalidArgument: 'invalid_argument',
52
+ };
53
+ class ChainError extends Error {
54
+ kind;
55
+ meta;
56
+ constructor(kind, message, meta = {}, cause) {
57
+ super(message, cause === undefined ? undefined : { cause });
58
+ this.name = 'ChainError';
59
+ this.kind = kind;
60
+ this.meta = meta;
61
+ }
62
+ }
63
+ exports.ChainError = ChainError;
64
+ function isChainError(err, kind) {
65
+ if (!(err instanceof ChainError))
66
+ return false;
67
+ return kind === undefined || err.kind === kind;
68
+ }
69
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../errors.ts"],"names":[],"mappings":";;;AAKA,0CAUC;AAWD,sCAMC;AAoCD,oCAGC;AAvED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,MAAqB;IACpE,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAC5B,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,KAAc,EAAE,MAAqB;IACjE,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACvB,IAAI,KAAK,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAEY,QAAA,eAAe,GAAG;IAC7B,iBAAiB,EAAE,qBAAqB;IACxC,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,oBAAoB;IACtC,QAAQ,EAAE,WAAW;IACrB,uBAAuB,EAAE,2BAA2B;IACpD,cAAc,EAAE,iBAAiB;IACjC,sBAAsB,EAAE,0BAA0B;IAClD,eAAe,EAAE,kBAAkB;CAC3B,CAAC;AAaX,MAAa,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAiB;IACrB,IAAI,CAAiB;IAE9B,YAAY,IAAoB,EAAE,OAAe,EAAE,OAAuB,EAAE,EAAE,KAAe;QAC3F,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAVD,gCAUC;AAED,SAAgB,YAAY,CAAC,GAAY,EAAE,IAAqB;IAC9D,IAAI,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;AACjD,CAAC"}