@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 @@
1
+ {"version":3,"file":"solana_chain.js","sourceRoot":"","sources":["../../../solana/solana_chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ALL_SOLANA_CHAINS = exports.SolanaDevnet = exports.SolanaTestnet = exports.SolanaMainnet = exports.SOLANA_DEVNET_CHAIN_ID = exports.SOLANA_TESTNET_CHAIN_ID = exports.SOLANA_MAINNET_CHAIN_ID = void 0;
4
+ exports.migrateLegacySolanaChainId = migrateLegacySolanaChainId;
5
+ const chain_ids_ts_1 = require("../chain_ids.js");
6
+ const solana_chain_ts_1 = require("./solana_chain.js");
7
+ /**
8
+ * Solana chain constants and pre-baked instances. Mirrors
9
+ * omnichain-py/src/omnichain/impl/solana/chains.py.
10
+ *
11
+ * Chain IDs match Python's -2000/-2001/-2002 scheme (chain_ids.py:43-45).
12
+ * Chain names include the cluster suffix ("Solana Mainnet", "Solana Testnet",
13
+ * "Solana Devnet") so `<NAME>_RPC_URL` env-var derivation is unambiguous.
14
+ */
15
+ /** @deprecated Use CHAIN_ID_SOLANA_MAINNET from chain_ids.ts (value changed from -100 to -2000). */
16
+ exports.SOLANA_MAINNET_CHAIN_ID = chain_ids_ts_1.CHAIN_ID_SOLANA_MAINNET;
17
+ /** @deprecated Use CHAIN_ID_SOLANA_TESTNET from chain_ids.ts (value changed from -101 to -2001). */
18
+ exports.SOLANA_TESTNET_CHAIN_ID = chain_ids_ts_1.CHAIN_ID_SOLANA_TESTNET;
19
+ /** @deprecated Use CHAIN_ID_SOLANA_DEVNET from chain_ids.ts (value changed from -102 to -2002). */
20
+ exports.SOLANA_DEVNET_CHAIN_ID = chain_ids_ts_1.CHAIN_ID_SOLANA_DEVNET;
21
+ /**
22
+ * Legacy Solana chainId numbering used by the pre-v0 TS SDK.
23
+ *
24
+ * These are NOT registered as `NetworkType.SOLANA` aliases — a half-wired
25
+ * shim (accept-then-fail-later) is worse than fail-closed for a signing SDK.
26
+ * Consumers with persisted `-100 / -101 / -102` rows MUST call
27
+ * `migrateLegacySolanaChainId(id)` before those values enter the SDK;
28
+ * otherwise `networkTypeOf(-100)` throws `ChainError(ChainNotSupported)`
29
+ * at validation time, which is the intended safe behavior.
30
+ */
31
+ const LEGACY_SOLANA_MAINNET_CHAIN_ID = -100;
32
+ const LEGACY_SOLANA_TESTNET_CHAIN_ID = -101;
33
+ const LEGACY_SOLANA_DEVNET_CHAIN_ID = -102;
34
+ /** Map a legacy Solana chainId (-100/-101/-102) to its canonical v0 value
35
+ * (-2000/-2001/-2002). Non-legacy IDs are returned unchanged.
36
+ * Call this on any persisted chainId before passing it into the SDK. */
37
+ function migrateLegacySolanaChainId(chainId) {
38
+ if (chainId === LEGACY_SOLANA_MAINNET_CHAIN_ID)
39
+ return chain_ids_ts_1.CHAIN_ID_SOLANA_MAINNET;
40
+ if (chainId === LEGACY_SOLANA_TESTNET_CHAIN_ID)
41
+ return chain_ids_ts_1.CHAIN_ID_SOLANA_TESTNET;
42
+ if (chainId === LEGACY_SOLANA_DEVNET_CHAIN_ID)
43
+ return chain_ids_ts_1.CHAIN_ID_SOLANA_DEVNET;
44
+ return chainId;
45
+ }
46
+ // Predefined factories don't set rpcUrl — SolanaChain's fallback chain is:
47
+ // <NAME_UPPERCASE_UNDERSCORED>_RPC_URL env,
48
+ // then SOLANA_<chainId>_RPC_URL env (mirrors Python impl/solana/base.py:424-434),
49
+ // then defaultRpcUrl (public cluster). Solana never throws "not configured".
50
+ exports.SolanaMainnet = new solana_chain_ts_1.SolanaChain({
51
+ chainId: chain_ids_ts_1.CHAIN_ID_SOLANA_MAINNET,
52
+ name: 'Solana Mainnet',
53
+ blockTimeSeconds: 0.4,
54
+ explorerBaseUrl: 'https://solscan.io',
55
+ nativeSymbol: 'SOL',
56
+ defaultRpcUrl: 'https://api.mainnet-beta.solana.com',
57
+ // Pre-v0 SDK derived SOLANA_RPC_URL for the mainnet instance; keep it as a
58
+ // legacy fallback so existing deployments don't silently switch to the
59
+ // rate-limited public cluster when they haven't renamed their env var yet.
60
+ legacyRpcEnvNames: ['SOLANA_RPC_URL'],
61
+ chainAgnosticGenesisHash: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
62
+ });
63
+ exports.SolanaTestnet = new solana_chain_ts_1.SolanaChain({
64
+ chainId: chain_ids_ts_1.CHAIN_ID_SOLANA_TESTNET,
65
+ name: 'Solana Testnet',
66
+ blockTimeSeconds: 0.4,
67
+ explorerBaseUrl: 'https://solscan.io',
68
+ explorerClusterSuffix: '?cluster=testnet',
69
+ nativeSymbol: 'SOL',
70
+ defaultRpcUrl: 'https://api.testnet.solana.com',
71
+ chainAgnosticGenesisHash: '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z',
72
+ });
73
+ exports.SolanaDevnet = new solana_chain_ts_1.SolanaChain({
74
+ chainId: chain_ids_ts_1.CHAIN_ID_SOLANA_DEVNET,
75
+ name: 'Solana Devnet',
76
+ blockTimeSeconds: 0.4,
77
+ explorerBaseUrl: 'https://solscan.io',
78
+ explorerClusterSuffix: '?cluster=devnet',
79
+ nativeSymbol: 'SOL',
80
+ defaultRpcUrl: 'https://api.devnet.solana.com',
81
+ chainAgnosticGenesisHash: 'EtWTRABZaYq6iMfeYKouRu166VU2xqa1',
82
+ });
83
+ exports.ALL_SOLANA_CHAINS = [
84
+ exports.SolanaMainnet,
85
+ exports.SolanaTestnet,
86
+ exports.SolanaDevnet,
87
+ ];
88
+ //# sourceMappingURL=solana_chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana_chains.js","sourceRoot":"","sources":["../../../solana/solana_chains.ts"],"names":[],"mappings":";;;AAwCA,gEAKC;AA7CD,kDAIyB;AACzB,uDAAgD;AAEhD;;;;;;;GAOG;AAEH,oGAAoG;AACvF,QAAA,uBAAuB,GAAG,sCAAuB,CAAC;AAC/D,oGAAoG;AACvF,QAAA,uBAAuB,GAAG,sCAAuB,CAAC;AAC/D,mGAAmG;AACtF,QAAA,sBAAsB,GAAG,qCAAsB,CAAC;AAE7D;;;;;;;;;GASG;AACH,MAAM,8BAA8B,GAAG,CAAC,GAAG,CAAC;AAC5C,MAAM,8BAA8B,GAAG,CAAC,GAAG,CAAC;AAC5C,MAAM,6BAA6B,GAAG,CAAC,GAAG,CAAC;AAE3C;;yEAEyE;AACzE,SAAgB,0BAA0B,CAAC,OAAe;IACxD,IAAI,OAAO,KAAK,8BAA8B;QAAE,OAAO,sCAAuB,CAAC;IAC/E,IAAI,OAAO,KAAK,8BAA8B;QAAE,OAAO,sCAAuB,CAAC;IAC/E,IAAI,OAAO,KAAK,6BAA6B;QAAE,OAAO,qCAAsB,CAAC;IAC7E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,8CAA8C;AAC9C,oFAAoF;AACpF,+EAA+E;AAElE,QAAA,aAAa,GAAG,IAAI,6BAAW,CAAC;IAC3C,OAAO,EAAE,sCAAuB;IAChC,IAAI,EAAE,gBAAgB;IACtB,gBAAgB,EAAE,GAAG;IACrB,eAAe,EAAE,oBAAoB;IACrC,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,qCAAqC;IACpD,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,iBAAiB,EAAE,CAAC,gBAAgB,CAAC;IACrC,wBAAwB,EAAE,kCAAkC;CAC7D,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,IAAI,6BAAW,CAAC;IAC3C,OAAO,EAAE,sCAAuB;IAChC,IAAI,EAAE,gBAAgB;IACtB,gBAAgB,EAAE,GAAG;IACrB,eAAe,EAAE,oBAAoB;IACrC,qBAAqB,EAAE,kBAAkB;IACzC,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,gCAAgC;IAC/C,wBAAwB,EAAE,kCAAkC;CAC7D,CAAC,CAAC;AAEU,QAAA,YAAY,GAAG,IAAI,6BAAW,CAAC;IAC1C,OAAO,EAAE,qCAAsB;IAC/B,IAAI,EAAE,eAAe;IACrB,gBAAgB,EAAE,GAAG;IACrB,eAAe,EAAE,oBAAoB;IACrC,qBAAqB,EAAE,iBAAiB;IACxC,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,+BAA+B;IAC9C,wBAAwB,EAAE,kCAAkC;CAC7D,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAA+B;IAC3D,qBAAa;IACb,qBAAa;IACb,oBAAY;CACb,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SolanaGasPricing = void 0;
4
+ const abstract_gas_pricing_ts_1 = require("../abstract_gas_pricing.js");
5
+ const errors_ts_1 = require("../errors.js");
6
+ const network_type_ts_1 = require("../network_type.js");
7
+ /**
8
+ * Solana explicit-fee override — mirrors Python's `SolanaGasPricing` at
9
+ * `impl/solana/base.py`. Alternative to passing a `FeePriority` tier to
10
+ * `createTransferUnsignedTransaction`; the tier is resolved via
11
+ * `suggestPriorityFeeMicroLamports`.
12
+ */
13
+ class SolanaGasPricing extends abstract_gas_pricing_ts_1.AbstractGasPricing {
14
+ networkType = network_type_ts_1.NetworkType.SOLANA;
15
+ priorityFeeMicroLamports;
16
+ computeUnitLimit;
17
+ constructor(init) {
18
+ super();
19
+ if (init.priorityFeeMicroLamports < 0n) {
20
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `SolanaGasPricing.priorityFeeMicroLamports must be >= 0, got ${init.priorityFeeMicroLamports}`);
21
+ }
22
+ if (init.computeUnitLimit !== undefined && init.computeUnitLimit <= 0n) {
23
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `SolanaGasPricing.computeUnitLimit must be > 0 or undefined, got ${init.computeUnitLimit}`);
24
+ }
25
+ this.priorityFeeMicroLamports = init.priorityFeeMicroLamports;
26
+ this.computeUnitLimit = init.computeUnitLimit;
27
+ }
28
+ }
29
+ exports.SolanaGasPricing = SolanaGasPricing;
30
+ //# sourceMappingURL=solana_gas_pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana_gas_pricing.js","sourceRoot":"","sources":["../../../solana/solana_gas_pricing.ts"],"names":[],"mappings":";;;AAAA,wEAAgE;AAChE,4CAA2D;AAC3D,wDAAiD;AAkBjD;;;;;GAKG;AACH,MAAa,gBAAiB,SAAQ,4CAAkB;IAC7C,WAAW,GAAG,6BAAW,CAAC,MAAM,CAAC;IACjC,wBAAwB,CAAS;IACjC,gBAAgB,CAAqB;IAE9C,YAAY,IAA0B;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,IAAI,CAAC,wBAAwB,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,sBAAU,CAClB,2BAAe,CAAC,eAAe,EAC/B,+DAA+D,IAAI,CAAC,wBAAwB,EAAE,CAC/F,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;YACvE,MAAM,IAAI,sBAAU,CAClB,2BAAe,CAAC,eAAe,EAC/B,mEAAmE,IAAI,CAAC,gBAAgB,EAAE,CAC3F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAC9D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAChD,CAAC;CACF;AAtBD,4CAsBC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SolanaToken = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const token_ts_1 = require("../token.js");
6
+ const solana_address_ts_1 = require("./solana_address.js");
7
+ /**
8
+ * On Solana, the "token identifier" is the mint address (a Solana address belonging to the
9
+ * SPL Token program). Native SOL has no mint — represented as `identifier: undefined`,
10
+ * matching the EVM-side convention for native ETH.
11
+ *
12
+ * The mint determines which Token program owns the asset (TOKEN_PROGRAM_ID vs
13
+ * TOKEN_2022_PROGRAM_ID); that's resolved at runtime by `SolanaChain.resolveSplToken` because
14
+ * we don't want to RPC for it at constant-construction time.
15
+ */
16
+ class SolanaToken extends token_ts_1.Token {
17
+ constructor(chainId, symbol, mintAddress, decimals) {
18
+ super(chainId, symbol, mintAddress, decimals);
19
+ if (mintAddress !== undefined) {
20
+ // Validate base58 + 32-byte length.
21
+ new solana_address_ts_1.SolanaAddress(mintAddress);
22
+ }
23
+ }
24
+ get mintAddress() {
25
+ return this.identifier;
26
+ }
27
+ get mintPubkey() {
28
+ return this.identifier ? new web3_js_1.PublicKey(this.identifier) : undefined;
29
+ }
30
+ static native(chainId, symbol = 'SOL', decimals = 9) {
31
+ return new SolanaToken(chainId, symbol, undefined, decimals);
32
+ }
33
+ static spl(chainId, symbol, mintAddress, decimals) {
34
+ return new SolanaToken(chainId, symbol, mintAddress, decimals);
35
+ }
36
+ }
37
+ exports.SolanaToken = SolanaToken;
38
+ //# sourceMappingURL=solana_token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana_token.js","sourceRoot":"","sources":["../../../solana/solana_token.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,0CAAoC;AACpC,2DAAoD;AAEpD;;;;;;;;GAQG;AACH,MAAa,WAAY,SAAQ,gBAAK;IACpC,YACE,OAAe,EACf,MAAc,EACd,WAA+B,EAC/B,QAAgB;QAEhB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,oCAAoC;YACpC,IAAI,iCAAa,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAe,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,GAAG,CAAC;QACzD,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAe,EAAE,MAAc,EAAE,WAAmB,EAAE,QAAgB;QAC/E,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;CACF;AA7BD,kCA6BC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SOLANA_DEVNET_EURC = exports.SOLANA_DEVNET_USDC = exports.SOLANA_DEVNET_SOL = exports.SOLANA_TESTNET_SOL = exports.SOLANA_USDT = exports.SOLANA_PYUSD = exports.SOLANA_WSOL = exports.SOLANA_EURC = exports.SOLANA_USDC = exports.SOLANA_SOL = void 0;
4
+ const solana_token_ts_1 = require("./solana_token.js");
5
+ const solana_chains_ts_1 = require("./solana_chains.js");
6
+ /**
7
+ * Pre-baked SolanaToken instances. Mirrors
8
+ * omnichain-py/src/omnichain/impl/solana/assets.py — token-for-token.
9
+ *
10
+ * Note: SolanaToken doesn't distinguish TOKEN vs TOKEN_2022 program at
11
+ * construction (that's resolved via `SolanaChain.resolveTokenProgramId` at
12
+ * runtime by reading the mint account owner). All entries below use
13
+ * `SolanaToken.spl(...)`; Token-2022 mints route through TOKEN_2022_PROGRAM_ID
14
+ * automatically at transfer-build time.
15
+ */
16
+ // assets.py:4-29 — Mainnet
17
+ exports.SOLANA_SOL = solana_chains_ts_1.SolanaMainnet.nativeToken;
18
+ exports.SOLANA_USDC = solana_token_ts_1.SolanaToken.spl(solana_chains_ts_1.SolanaMainnet.chainId, 'USDC', 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', 6);
19
+ exports.SOLANA_EURC = solana_token_ts_1.SolanaToken.spl(solana_chains_ts_1.SolanaMainnet.chainId, 'EURC', 'HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr', 6);
20
+ exports.SOLANA_WSOL = solana_token_ts_1.SolanaToken.spl(solana_chains_ts_1.SolanaMainnet.chainId, 'WSOL', 'So11111111111111111111111111111111111111112', 9);
21
+ exports.SOLANA_PYUSD = solana_token_ts_1.SolanaToken.spl(solana_chains_ts_1.SolanaMainnet.chainId, 'PYUSD', '2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo', 6);
22
+ exports.SOLANA_USDT = solana_token_ts_1.SolanaToken.spl(solana_chains_ts_1.SolanaMainnet.chainId, 'USDT', 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB', 6);
23
+ // assets.py:31 — Testnet native
24
+ exports.SOLANA_TESTNET_SOL = solana_chains_ts_1.SolanaTestnet.nativeToken;
25
+ // assets.py:33-43 — Devnet
26
+ exports.SOLANA_DEVNET_SOL = solana_chains_ts_1.SolanaDevnet.nativeToken;
27
+ exports.SOLANA_DEVNET_USDC = solana_token_ts_1.SolanaToken.spl(solana_chains_ts_1.SolanaDevnet.chainId, 'USDC', '4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU', 6);
28
+ exports.SOLANA_DEVNET_EURC = solana_token_ts_1.SolanaToken.spl(solana_chains_ts_1.SolanaDevnet.chainId, 'EURC', 'HzwqbKZw8HxMN6bF2yFZNrht3c2iXXzpKcFu7uBEDKtr', 6);
29
+ //# sourceMappingURL=solana_tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana_tokens.js","sourceRoot":"","sources":["../../../solana/solana_tokens.ts"],"names":[],"mappings":";;;AAAA,uDAAgD;AAChD,yDAAgF;AAEhF;;;;;;;;;GASG;AAEH,2BAA2B;AACd,QAAA,UAAU,GAAG,gCAAa,CAAC,WAAW,CAAC;AACvC,QAAA,WAAW,GAAG,6BAAW,CAAC,GAAG,CACxC,gCAAa,CAAC,OAAO,EACrB,MAAM,EACN,8CAA8C,EAC9C,CAAC,CACF,CAAC;AACW,QAAA,WAAW,GAAG,6BAAW,CAAC,GAAG,CACxC,gCAAa,CAAC,OAAO,EACrB,MAAM,EACN,8CAA8C,EAC9C,CAAC,CACF,CAAC;AACW,QAAA,WAAW,GAAG,6BAAW,CAAC,GAAG,CACxC,gCAAa,CAAC,OAAO,EACrB,MAAM,EACN,6CAA6C,EAC7C,CAAC,CACF,CAAC;AACW,QAAA,YAAY,GAAG,6BAAW,CAAC,GAAG,CACzC,gCAAa,CAAC,OAAO,EACrB,OAAO,EACP,8CAA8C,EAC9C,CAAC,CACF,CAAC;AACW,QAAA,WAAW,GAAG,6BAAW,CAAC,GAAG,CACxC,gCAAa,CAAC,OAAO,EACrB,MAAM,EACN,8CAA8C,EAC9C,CAAC,CACF,CAAC;AAEF,gCAAgC;AACnB,QAAA,kBAAkB,GAAG,gCAAa,CAAC,WAAW,CAAC;AAE5D,2BAA2B;AACd,QAAA,iBAAiB,GAAG,+BAAY,CAAC,WAAW,CAAC;AAC7C,QAAA,kBAAkB,GAAG,6BAAW,CAAC,GAAG,CAC/C,+BAAY,CAAC,OAAO,EACpB,MAAM,EACN,8CAA8C,EAC9C,CAAC,CACF,CAAC;AACW,QAAA,kBAAkB,GAAG,6BAAW,CAAC,GAAG,CAC/C,+BAAY,CAAC,OAAO,EACpB,MAAM,EACN,8CAA8C,EAC9C,CAAC,CACF,CAAC"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SolanaTransactionStatus = exports.SolanaTransactionFees = void 0;
4
+ const errors_ts_1 = require("../errors.js");
5
+ const transaction_status_ts_1 = require("../transaction_status.js");
6
+ class SolanaTransactionFees {
7
+ feePayer;
8
+ feeLamports;
9
+ /** Nullable because getTransaction may omit `computeUnitsConsumed` in
10
+ * older meta shapes; fabricating a value would misrepresent observed data. */
11
+ computeUnitsConsumed;
12
+ netLamportsChangeByFeePayer;
13
+ constructor(init) {
14
+ if (init.feePayer.length === 0) {
15
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'SolanaTransactionFees.feePayer must be non-empty');
16
+ }
17
+ // Observed on-chain values (not caller inputs) — reject negatives only.
18
+ if (init.feeLamports < 0n) {
19
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `SolanaTransactionFees.feeLamports must be >= 0, got ${init.feeLamports}`);
20
+ }
21
+ if (init.computeUnitsConsumed !== null && init.computeUnitsConsumed < 0n) {
22
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `SolanaTransactionFees.computeUnitsConsumed must be >= 0 or null, got ${init.computeUnitsConsumed}`);
23
+ }
24
+ this.feePayer = init.feePayer;
25
+ this.feeLamports = init.feeLamports;
26
+ this.computeUnitsConsumed = init.computeUnitsConsumed;
27
+ this.netLamportsChangeByFeePayer = init.netLamportsChangeByFeePayer;
28
+ }
29
+ }
30
+ exports.SolanaTransactionFees = SolanaTransactionFees;
31
+ class SolanaTransactionStatus extends transaction_status_ts_1.TransactionStatus {
32
+ fees;
33
+ constructor(init) {
34
+ super({
35
+ chainId: init.chainId,
36
+ status: init.status,
37
+ inclusionAt: init.inclusionAt,
38
+ error: init.error,
39
+ balanceChanges: init.balanceChanges,
40
+ });
41
+ this.fees = init.fees ?? null;
42
+ }
43
+ static successful(args) {
44
+ return new SolanaTransactionStatus({
45
+ chainId: args.chainId,
46
+ status: transaction_status_ts_1.TransactionStatusTypes.Success,
47
+ inclusionAt: args.inclusionAt,
48
+ balanceChanges: args.balanceChanges,
49
+ fees: args.fees,
50
+ error: null,
51
+ });
52
+ }
53
+ /**
54
+ * `fees` is nullable — the settled-but-unfetchable path (RPC pruned
55
+ * the slot's ledger data so `getTransaction` returned null but
56
+ * `getSignatureStatus` reports `finalized` + `err`) has no way to
57
+ * reconstruct fees; the alternative would be polling `Pending`
58
+ * indefinitely (iter-2 medium).
59
+ */
60
+ static failed(args) {
61
+ return new SolanaTransactionStatus({
62
+ chainId: args.chainId,
63
+ status: transaction_status_ts_1.TransactionStatusTypes.Failed,
64
+ inclusionAt: args.inclusionAt,
65
+ error: args.error,
66
+ balanceChanges: null,
67
+ fees: args.fees,
68
+ });
69
+ }
70
+ static pending(chainId) {
71
+ return new SolanaTransactionStatus({
72
+ chainId,
73
+ status: transaction_status_ts_1.TransactionStatusTypes.Pending,
74
+ inclusionAt: null,
75
+ error: null,
76
+ balanceChanges: null,
77
+ fees: null,
78
+ });
79
+ }
80
+ static notFound(chainId, error = null) {
81
+ return new SolanaTransactionStatus({
82
+ chainId,
83
+ status: transaction_status_ts_1.TransactionStatusTypes.NotFound,
84
+ inclusionAt: null,
85
+ error,
86
+ balanceChanges: null,
87
+ fees: null,
88
+ });
89
+ }
90
+ /**
91
+ * Deep-copies `balanceChanges` and reverses the fee debit on the fee_payer's
92
+ * native row — mirrors omnichain-py `SolanaTransactionStatus.balance_changes_excluding_fees`
93
+ * (impl/solana/base.py). Solana's raw balance deltas already include the
94
+ * fee_payer's fee debit; this helper strips it so callers see gross-of-fee
95
+ * balance movements.
96
+ */
97
+ balanceChangesExcludingFees(nativeAsset) {
98
+ if (this.balanceChanges === null) {
99
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'balanceChangesExcludingFees requires a non-null balanceChanges');
100
+ }
101
+ if (this.fees === null) {
102
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'balanceChangesExcludingFees requires non-null fees to know which fee_payer to credit');
103
+ }
104
+ // Validate the caller-provided `nativeAsset` is actually a native token
105
+ // for this chain — otherwise `upsert` would silently create a phantom
106
+ // `+feeLamports` credit under a foreign asset key on the fee_payer's
107
+ // row (a fabricated balance movement that no consumer would notice
108
+ // until reconciliation drift).
109
+ if (nativeAsset.chainId !== this.chainId) {
110
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `balanceChangesExcludingFees: nativeAsset.chainId=${nativeAsset.chainId} does not match this.chainId=${this.chainId}`);
111
+ }
112
+ if (nativeAsset.identifier !== undefined && nativeAsset.identifier !== '') {
113
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `balanceChangesExcludingFees: nativeAsset must be a native token (identifier undefined/empty), got identifier="${nativeAsset.identifier}"`);
114
+ }
115
+ // Also check decimals against the existing fee-payer native row (when
116
+ // present) — assetHashOf drops decimals, so a passed nativeAsset with
117
+ // decimals=6 would silently rewrite a decimals=9 row to 6 (upsert lets
118
+ // change.decimals win). That's a 10^3 error the moment
119
+ // balanceChangeHr accessors land in Wave 2B.
120
+ const existingFeePayerRow = this.balanceChanges.get(this.fees.feePayer);
121
+ if (existingFeePayerRow) {
122
+ // The native-token key is `${chainId}_` (empty identifier).
123
+ const nativeKey = `${nativeAsset.chainId}_`;
124
+ const existingNative = existingFeePayerRow.get(nativeKey);
125
+ if (existingNative && existingNative.change.decimals !== nativeAsset.decimals) {
126
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, `balanceChangesExcludingFees: nativeAsset.decimals=${nativeAsset.decimals} does not match existing fee-payer native row's decimals=${existingNative.change.decimals}`);
127
+ }
128
+ }
129
+ // The fee-payer's native row may be *absent* — the decoder drops
130
+ // delta === 0n rows, so a fee-payer whose received lamports exactly
131
+ // offset the fee has no entry. The upsert below handles that
132
+ // correctly (creates a fresh +feeLamports entry).
133
+ const copy = new Map();
134
+ for (const [wallet, perWallet] of this.balanceChanges) {
135
+ const inner = new Map();
136
+ for (const [hash, entry] of perWallet) {
137
+ inner.set(hash, {
138
+ token: entry.token,
139
+ change: transaction_status_ts_1.AssetBalanceChange.fromMr(entry.change.balanceChangeMr, entry.change.decimals),
140
+ });
141
+ }
142
+ copy.set(wallet, inner);
143
+ }
144
+ transaction_status_ts_1.AssetBalanceChange.upsert(copy, this.fees.feePayer, nativeAsset, transaction_status_ts_1.AssetBalanceChange.fromMr(this.fees.feeLamports, nativeAsset.decimals));
145
+ return copy;
146
+ }
147
+ }
148
+ exports.SolanaTransactionStatus = SolanaTransactionStatus;
149
+ //# sourceMappingURL=solana_transaction_status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana_transaction_status.js","sourceRoot":"","sources":["../../../solana/solana_transaction_status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnsignedSolanaTransaction = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const network_type_ts_1 = require("../network_type.js");
6
+ const unsigned_transaction_ts_1 = require("../unsigned_transaction.js");
7
+ class UnsignedSolanaTransaction extends unsigned_transaction_ts_1.UnsignedTransaction {
8
+ transaction;
9
+ feePayer;
10
+ recentBlockhash;
11
+ lastValidBlockHeight;
12
+ instructions;
13
+ constructor(init) {
14
+ super(init.chainId, network_type_ts_1.NetworkType.SOLANA);
15
+ this.transaction = init.transaction;
16
+ this.feePayer = init.feePayer;
17
+ this.recentBlockhash = init.recentBlockhash;
18
+ this.lastValidBlockHeight = init.lastValidBlockHeight;
19
+ this.instructions = init.instructions;
20
+ }
21
+ /** Serializes the message (without signatures). Useful for off-line signers / tests. */
22
+ messageBytes() {
23
+ return this.transaction.message.serialize();
24
+ }
25
+ get feePayerPubkey() {
26
+ return new web3_js_1.PublicKey(this.feePayer);
27
+ }
28
+ }
29
+ exports.UnsignedSolanaTransaction = UnsignedSolanaTransaction;
30
+ //# sourceMappingURL=unsigned_solana_transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsigned_solana_transaction.js","sourceRoot":"","sources":["../../../solana/unsigned_solana_transaction.ts"],"names":[],"mappings":";;;AAAA,6CAA0F;AAE1F,wDAAiD;AACjD,wEAAiE;AAoBjE,MAAa,yBAA0B,SAAQ,6CAAmB;IACvD,WAAW,CAAuB;IAClC,QAAQ,CAAS;IACjB,eAAe,CAAS;IACxB,oBAAoB,CAAS;IAC7B,YAAY,CAA2B;IAEhD,YAAY,IAAmC;QAC7C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,6BAAW,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACxC,CAAC;IAED,wFAAwF;IACxF,YAAY;QACV,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF;AAxBD,8DAwBC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Token = void 0;
4
+ const errors_ts_1 = require("./errors.js");
5
+ class Token {
6
+ chainId;
7
+ symbol;
8
+ identifier;
9
+ decimals;
10
+ constructor(chainId, symbol, identifier, decimals) {
11
+ if (!Number.isInteger(chainId)) {
12
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'Token chainId must be an integer');
13
+ }
14
+ if (!symbol) {
15
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'Token symbol is required');
16
+ }
17
+ if (!Number.isInteger(decimals) || decimals < 0) {
18
+ throw new errors_ts_1.ChainError(errors_ts_1.ChainErrorKinds.InvalidArgument, 'Token decimals must be a non-negative integer');
19
+ }
20
+ this.chainId = chainId;
21
+ this.symbol = symbol;
22
+ this.identifier = identifier;
23
+ this.decimals = decimals;
24
+ }
25
+ isNative() {
26
+ return this.identifier === undefined;
27
+ }
28
+ /**
29
+ * Identity is `(chainId, symbol, identifier)` — decimals is deliberately
30
+ * NOT part of equality. Mirrors omnichain-py/base/base.py:60-65
31
+ * (`AbstractAsset.__eq__`).
32
+ *
33
+ * **Do NOT use `equals` as a precondition for amount scaling** — two Token
34
+ * instances can compare equal while disagreeing on decimals. For that
35
+ * safety check use `strictEquals(other)` (which includes decimals).
36
+ *
37
+ * For identifier-only comparison (ignoring both symbol drift and decimals),
38
+ * use `sameAsset(other)`.
39
+ */
40
+ equals(other) {
41
+ return (this.chainId === other.chainId &&
42
+ this.symbol === other.symbol &&
43
+ this.identifier === other.identifier);
44
+ }
45
+ /**
46
+ * Strict equality including `decimals`. Use before parseUnits-style
47
+ * conversions where a mismatched decimals would silently mis-scale amounts.
48
+ */
49
+ strictEquals(other) {
50
+ return this.equals(other) && this.decimals === other.decimals;
51
+ }
52
+ /**
53
+ * Identifier-only equality — same chain + same contract address / mint /
54
+ * native marker, regardless of symbol drift (e.g. `'USDT'` vs `'USD₮0'`
55
+ * for Arbitrum USDT). Useful for registry / lookup paths where the
56
+ * consumer might not know the canonical symbol.
57
+ */
58
+ sameAsset(other) {
59
+ return this.chainId === other.chainId && this.identifier === other.identifier;
60
+ }
61
+ toString() {
62
+ return `Token[chainId=${this.chainId}, symbol=${this.symbol}, identifier=${this.identifier ?? 'NATIVE'}, decimals=${this.decimals}]`;
63
+ }
64
+ }
65
+ exports.Token = Token;
66
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../token.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAE1D,MAAsB,KAAK;IAChB,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,UAAU,CAAU;IACpB,QAAQ,CAAS;IAE1B,YACE,OAAe,EACf,MAAc,EACd,UAA8B,EAC9B,QAAgB;QAEhB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,sBAAU,CAAC,2BAAe,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,sBAAU,CAAC,2BAAe,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,sBAAU,CAClB,2BAAe,CAAC,eAAe,EAC/B,+CAA+C,CAChD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAY;QACjB,OAAO,CACL,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAC9B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CACrC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,KAAY;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAY;QACpB,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC;IAChF,CAAC;IAED,QAAQ;QACN,OAAO,iBAAiB,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,UAAU,IAAI,QAAQ,cAAc,IAAI,CAAC,QAAQ,GAAG,CAAC;IACvI,CAAC;CACF;AA3ED,sBA2EC"}
@@ -0,0 +1,18 @@
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("./ton_address.js"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ton/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TonAddress = void 0;
4
+ const network_type_ts_1 = require("../network_type.js");
5
+ const address_ts_1 = require("../address.js");
6
+ const TON_USER_FRIENDLY_REGEX = /^[A-Za-z0-9_-]{48}$/;
7
+ const TON_RAW_REGEX = /^-?\d+:[a-fA-F0-9]{64}$/;
8
+ const USER_FRIENDLY_BYTE_LENGTH = 36;
9
+ const CRC_POLYNOMIAL = 0x1021;
10
+ class TonAddress extends address_ts_1.Address {
11
+ constructor(raw) {
12
+ super(raw);
13
+ TonAddress.assertValid(raw);
14
+ }
15
+ canonical() {
16
+ return this.raw;
17
+ }
18
+ get networkType() {
19
+ return network_type_ts_1.NetworkType.TON;
20
+ }
21
+ static assertValid(raw) {
22
+ if (typeof raw !== 'string') {
23
+ throw new Error(`Invalid TON address: not a string`);
24
+ }
25
+ if (TON_RAW_REGEX.test(raw))
26
+ return;
27
+ if (TON_USER_FRIENDLY_REGEX.test(raw)) {
28
+ TonAddress.assertUserFriendlyChecksum(raw);
29
+ return;
30
+ }
31
+ throw new Error(`Invalid TON address: "${raw}"`);
32
+ }
33
+ static assertUserFriendlyChecksum(userFriendly) {
34
+ const bytes = Buffer.from(userFriendly.replace(/-/g, '+').replace(/_/g, '/'), 'base64');
35
+ if (bytes.length !== USER_FRIENDLY_BYTE_LENGTH) {
36
+ throw new Error(`Invalid TON address: "${userFriendly}"`);
37
+ }
38
+ const claimedCrc = (bytes[34] << 8) | bytes[35];
39
+ const computedCrc = crc16CcittXmodem(bytes.subarray(0, 34));
40
+ if (claimedCrc !== computedCrc) {
41
+ throw new Error(`Invalid TON address checksum: "${userFriendly}"`);
42
+ }
43
+ }
44
+ }
45
+ exports.TonAddress = TonAddress;
46
+ function crc16CcittXmodem(bytes) {
47
+ let crc = 0;
48
+ for (const byte of bytes) {
49
+ crc ^= byte << 8;
50
+ for (let bit = 0; bit < 8; bit++) {
51
+ crc =
52
+ (crc & 0x8000) !== 0 ? ((crc << 1) ^ CRC_POLYNOMIAL) & 0xffff : (crc << 1) & 0xffff;
53
+ }
54
+ }
55
+ return crc;
56
+ }
57
+ //# sourceMappingURL=ton_address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton_address.js","sourceRoot":"","sources":["../../../ton/ton_address.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AAEjD,8CAAwC;AAExC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AACtD,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAChD,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAa,UAAW,SAAQ,oBAAO;IACrC,YAAY,GAAW;QACrB,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,6BAAW,CAAC,GAAG,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,GAAW;QACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO;QACpC,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC;IACnD,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAAC,YAAoB;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAClD,QAAQ,CACT,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,GAAG,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF;AAxCD,gCAwCC;AAED,SAAS,gBAAgB,CAAC,KAAiB;IACzC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC;QACjB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YACjC,GAAG;gBACD,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}