@sodax/sdk 0.0.1-rc.2 → 0.0.1-rc.20

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 (315) hide show
  1. package/README.md +166 -11
  2. package/dist/index.cjs +14914 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +9031 -0
  5. package/dist/index.d.ts +9031 -10
  6. package/dist/index.mjs +14717 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +31 -32
  9. package/dist/abis/asset-manager.abi.d.ts +0 -418
  10. package/dist/abis/asset-manager.abi.d.ts.map +0 -1
  11. package/dist/abis/asset-manager.abi.js +0 -542
  12. package/dist/abis/asset-manager.abi.js.map +0 -1
  13. package/dist/abis/connection.abi.d.ts +0 -72
  14. package/dist/abis/connection.abi.d.ts.map +0 -1
  15. package/dist/abis/connection.abi.js +0 -92
  16. package/dist/abis/connection.abi.js.map +0 -1
  17. package/dist/abis/erc20.abi.d.ts +0 -236
  18. package/dist/abis/erc20.abi.d.ts.map +0 -1
  19. package/dist/abis/erc20.abi.js +0 -311
  20. package/dist/abis/erc20.abi.js.map +0 -1
  21. package/dist/abis/index.d.ts +0 -10
  22. package/dist/abis/index.d.ts.map +0 -1
  23. package/dist/abis/index.js +0 -10
  24. package/dist/abis/index.js.map +0 -1
  25. package/dist/abis/intents.abi.d.ts +0 -901
  26. package/dist/abis/intents.abi.d.ts.map +0 -1
  27. package/dist/abis/intents.abi.js +0 -1158
  28. package/dist/abis/intents.abi.js.map +0 -1
  29. package/dist/abis/pool.abi.d.ts +0 -626
  30. package/dist/abis/pool.abi.d.ts.map +0 -1
  31. package/dist/abis/pool.abi.js +0 -812
  32. package/dist/abis/pool.abi.js.map +0 -1
  33. package/dist/abis/spokeAssetManager.abi.d.ts +0 -169
  34. package/dist/abis/spokeAssetManager.abi.d.ts.map +0 -1
  35. package/dist/abis/spokeAssetManager.abi.js +0 -217
  36. package/dist/abis/spokeAssetManager.abi.js.map +0 -1
  37. package/dist/abis/uiPoolData.abi.d.ts +0 -369
  38. package/dist/abis/uiPoolData.abi.d.ts.map +0 -1
  39. package/dist/abis/uiPoolData.abi.js +0 -476
  40. package/dist/abis/uiPoolData.abi.js.map +0 -1
  41. package/dist/abis/vaultToken.abi.d.ts +0 -816
  42. package/dist/abis/vaultToken.abi.d.ts.map +0 -1
  43. package/dist/abis/vaultToken.abi.js +0 -1062
  44. package/dist/abis/vaultToken.abi.js.map +0 -1
  45. package/dist/abis/walletFactory.abi.d.ts +0 -20
  46. package/dist/abis/walletFactory.abi.d.ts.map +0 -1
  47. package/dist/abis/walletFactory.abi.js +0 -27
  48. package/dist/abis/walletFactory.abi.js.map +0 -1
  49. package/dist/constants.d.ts +0 -565
  50. package/dist/constants.d.ts.map +0 -1
  51. package/dist/constants.js +0 -1196
  52. package/dist/constants.js.map +0 -1
  53. package/dist/constants.test.d.ts +0 -2
  54. package/dist/constants.test.d.ts.map +0 -1
  55. package/dist/constants.test.js +0 -128
  56. package/dist/constants.test.js.map +0 -1
  57. package/dist/entities/Providers.d.ts +0 -61
  58. package/dist/entities/Providers.d.ts.map +0 -1
  59. package/dist/entities/Providers.js +0 -51
  60. package/dist/entities/Providers.js.map +0 -1
  61. package/dist/entities/Sodax.d.ts +0 -23
  62. package/dist/entities/Sodax.d.ts.map +0 -1
  63. package/dist/entities/Sodax.js +0 -29
  64. package/dist/entities/Sodax.js.map +0 -1
  65. package/dist/entities/Sodax.test.d.ts +0 -2
  66. package/dist/entities/Sodax.test.d.ts.map +0 -1
  67. package/dist/entities/Sodax.test.js +0 -376
  68. package/dist/entities/Sodax.test.js.map +0 -1
  69. package/dist/entities/cosmos/CW20Token.d.ts +0 -39
  70. package/dist/entities/cosmos/CW20Token.d.ts.map +0 -1
  71. package/dist/entities/cosmos/CW20Token.js +0 -65
  72. package/dist/entities/cosmos/CW20Token.js.map +0 -1
  73. package/dist/entities/cosmos/CWSpokeProvider.d.ts +0 -91
  74. package/dist/entities/cosmos/CWSpokeProvider.d.ts.map +0 -1
  75. package/dist/entities/cosmos/CWSpokeProvider.js +0 -143
  76. package/dist/entities/cosmos/CWSpokeProvider.js.map +0 -1
  77. package/dist/entities/cosmos/CosmosWalletProvider.d.ts +0 -28
  78. package/dist/entities/cosmos/CosmosWalletProvider.d.ts.map +0 -1
  79. package/dist/entities/cosmos/CosmosWalletProvider.js +0 -102
  80. package/dist/entities/cosmos/CosmosWalletProvider.js.map +0 -1
  81. package/dist/entities/cosmos/InjectiveWalletProvider.d.ts +0 -25
  82. package/dist/entities/cosmos/InjectiveWalletProvider.d.ts.map +0 -1
  83. package/dist/entities/cosmos/InjectiveWalletProvider.js +0 -76
  84. package/dist/entities/cosmos/InjectiveWalletProvider.js.map +0 -1
  85. package/dist/entities/icon/HanaWalletConnector.d.ts +0 -36
  86. package/dist/entities/icon/HanaWalletConnector.d.ts.map +0 -1
  87. package/dist/entities/icon/HanaWalletConnector.js +0 -92
  88. package/dist/entities/icon/HanaWalletConnector.js.map +0 -1
  89. package/dist/entities/icon/IconSpokeProvider.d.ts +0 -8
  90. package/dist/entities/icon/IconSpokeProvider.d.ts.map +0 -1
  91. package/dist/entities/icon/IconSpokeProvider.js +0 -9
  92. package/dist/entities/icon/IconSpokeProvider.js.map +0 -1
  93. package/dist/entities/icon/IconWalletProvider.d.ts +0 -12
  94. package/dist/entities/icon/IconWalletProvider.d.ts.map +0 -1
  95. package/dist/entities/icon/IconWalletProvider.js +0 -34
  96. package/dist/entities/icon/IconWalletProvider.js.map +0 -1
  97. package/dist/entities/icon/index.d.ts +0 -5
  98. package/dist/entities/icon/index.d.ts.map +0 -1
  99. package/dist/entities/icon/index.js +0 -5
  100. package/dist/entities/icon/index.js.map +0 -1
  101. package/dist/entities/icon/utils.d.ts +0 -3
  102. package/dist/entities/icon/utils.d.ts.map +0 -1
  103. package/dist/entities/icon/utils.js +0 -4
  104. package/dist/entities/icon/utils.js.map +0 -1
  105. package/dist/entities/index.d.ts +0 -8
  106. package/dist/entities/index.d.ts.map +0 -1
  107. package/dist/entities/index.js +0 -8
  108. package/dist/entities/index.js.map +0 -1
  109. package/dist/entities/solana/Configs.d.ts +0 -10
  110. package/dist/entities/solana/Configs.d.ts.map +0 -1
  111. package/dist/entities/solana/Configs.js +0 -50
  112. package/dist/entities/solana/Configs.js.map +0 -1
  113. package/dist/entities/solana/SolanaSpokeProvider.d.ts +0 -9
  114. package/dist/entities/solana/SolanaSpokeProvider.d.ts.map +0 -1
  115. package/dist/entities/solana/SolanaSpokeProvider.js +0 -9
  116. package/dist/entities/solana/SolanaSpokeProvider.js.map +0 -1
  117. package/dist/entities/solana/SolanaWalletProvider.d.ts +0 -20
  118. package/dist/entities/solana/SolanaWalletProvider.d.ts.map +0 -1
  119. package/dist/entities/solana/SolanaWalletProvider.js +0 -53
  120. package/dist/entities/solana/SolanaWalletProvider.js.map +0 -1
  121. package/dist/entities/solana/index.d.ts +0 -4
  122. package/dist/entities/solana/index.d.ts.map +0 -1
  123. package/dist/entities/solana/index.js +0 -4
  124. package/dist/entities/solana/index.js.map +0 -1
  125. package/dist/entities/solana/pda/pda.d.ts +0 -45
  126. package/dist/entities/solana/pda/pda.d.ts.map +0 -1
  127. package/dist/entities/solana/pda/pda.js +0 -44
  128. package/dist/entities/solana/pda/pda.js.map +0 -1
  129. package/dist/entities/solana/types/asset_manager.d.ts +0 -919
  130. package/dist/entities/solana/types/asset_manager.d.ts.map +0 -1
  131. package/dist/entities/solana/types/asset_manager.js +0 -2
  132. package/dist/entities/solana/types/asset_manager.js.map +0 -1
  133. package/dist/entities/solana/types/connection.d.ts +0 -446
  134. package/dist/entities/solana/types/connection.d.ts.map +0 -1
  135. package/dist/entities/solana/types/connection.js +0 -2
  136. package/dist/entities/solana/types/connection.js.map +0 -1
  137. package/dist/entities/solana/types/rate_limit_contract.d.ts +0 -348
  138. package/dist/entities/solana/types/rate_limit_contract.d.ts.map +0 -1
  139. package/dist/entities/solana/types/rate_limit_contract.js +0 -2
  140. package/dist/entities/solana/types/rate_limit_contract.js.map +0 -1
  141. package/dist/entities/solana/utils/utils.d.ts +0 -6
  142. package/dist/entities/solana/utils/utils.d.ts.map +0 -1
  143. package/dist/entities/solana/utils/utils.js +0 -17
  144. package/dist/entities/solana/utils/utils.js.map +0 -1
  145. package/dist/entities/stellar/StellarSpokeProvider.d.ts +0 -24
  146. package/dist/entities/stellar/StellarSpokeProvider.d.ts.map +0 -1
  147. package/dist/entities/stellar/StellarSpokeProvider.js +0 -129
  148. package/dist/entities/stellar/StellarSpokeProvider.js.map +0 -1
  149. package/dist/entities/sui/SuiSpokeProvider.d.ts +0 -34
  150. package/dist/entities/sui/SuiSpokeProvider.d.ts.map +0 -1
  151. package/dist/entities/sui/SuiSpokeProvider.js +0 -143
  152. package/dist/entities/sui/SuiSpokeProvider.js.map +0 -1
  153. package/dist/entities/sui/SuiWalletProvider.d.ts +0 -15
  154. package/dist/entities/sui/SuiWalletProvider.d.ts.map +0 -1
  155. package/dist/entities/sui/SuiWalletProvider.js +0 -43
  156. package/dist/entities/sui/SuiWalletProvider.js.map +0 -1
  157. package/dist/errors.d.ts +0 -2
  158. package/dist/errors.d.ts.map +0 -1
  159. package/dist/errors.js +0 -2
  160. package/dist/errors.js.map +0 -1
  161. package/dist/guards.d.ts +0 -25
  162. package/dist/guards.d.ts.map +0 -1
  163. package/dist/guards.js +0 -110
  164. package/dist/guards.js.map +0 -1
  165. package/dist/index.d.ts.map +0 -1
  166. package/dist/index.js +0 -10
  167. package/dist/index.js.map +0 -1
  168. package/dist/interfaces.d.ts +0 -8
  169. package/dist/interfaces.d.ts.map +0 -1
  170. package/dist/interfaces.js +0 -2
  171. package/dist/interfaces.js.map +0 -1
  172. package/dist/services/hub/EvmAssetManagerService.d.ts +0 -60
  173. package/dist/services/hub/EvmAssetManagerService.d.ts.map +0 -1
  174. package/dist/services/hub/EvmAssetManagerService.js +0 -103
  175. package/dist/services/hub/EvmAssetManagerService.js.map +0 -1
  176. package/dist/services/hub/EvmVaultTokenService.d.ts +0 -81
  177. package/dist/services/hub/EvmVaultTokenService.d.ts.map +0 -1
  178. package/dist/services/hub/EvmVaultTokenService.js +0 -159
  179. package/dist/services/hub/EvmVaultTokenService.js.map +0 -1
  180. package/dist/services/hub/EvmWalletAbstraction.d.ts +0 -8
  181. package/dist/services/hub/EvmWalletAbstraction.d.ts.map +0 -1
  182. package/dist/services/hub/EvmWalletAbstraction.js +0 -14
  183. package/dist/services/hub/EvmWalletAbstraction.js.map +0 -1
  184. package/dist/services/hub/index.d.ts +0 -4
  185. package/dist/services/hub/index.d.ts.map +0 -1
  186. package/dist/services/hub/index.js +0 -4
  187. package/dist/services/hub/index.js.map +0 -1
  188. package/dist/services/index.d.ts +0 -7
  189. package/dist/services/index.d.ts.map +0 -1
  190. package/dist/services/index.js +0 -7
  191. package/dist/services/index.js.map +0 -1
  192. package/dist/services/intentRelay/IntentRelayApiService.d.ts +0 -111
  193. package/dist/services/intentRelay/IntentRelayApiService.d.ts.map +0 -1
  194. package/dist/services/intentRelay/IntentRelayApiService.js +0 -160
  195. package/dist/services/intentRelay/IntentRelayApiService.js.map +0 -1
  196. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts +0 -2
  197. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts.map +0 -1
  198. package/dist/services/intentRelay/IntentRelayApiService.test.js +0 -134
  199. package/dist/services/intentRelay/IntentRelayApiService.test.js.map +0 -1
  200. package/dist/services/intentRelay/index.d.ts +0 -2
  201. package/dist/services/intentRelay/index.d.ts.map +0 -1
  202. package/dist/services/intentRelay/index.js +0 -2
  203. package/dist/services/intentRelay/index.js.map +0 -1
  204. package/dist/services/moneyMarket/MoneyMarketService.d.ts +0 -321
  205. package/dist/services/moneyMarket/MoneyMarketService.d.ts.map +0 -1
  206. package/dist/services/moneyMarket/MoneyMarketService.js +0 -604
  207. package/dist/services/moneyMarket/MoneyMarketService.js.map +0 -1
  208. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts +0 -2
  209. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts.map +0 -1
  210. package/dist/services/moneyMarket/MoneyMarketService.test.js +0 -245
  211. package/dist/services/moneyMarket/MoneyMarketService.test.js.map +0 -1
  212. package/dist/services/moneyMarket/index.d.ts +0 -2
  213. package/dist/services/moneyMarket/index.d.ts.map +0 -1
  214. package/dist/services/moneyMarket/index.js +0 -2
  215. package/dist/services/moneyMarket/index.js.map +0 -1
  216. package/dist/services/shared/Erc20Service.d.ts +0 -41
  217. package/dist/services/shared/Erc20Service.d.ts.map +0 -1
  218. package/dist/services/shared/Erc20Service.js +0 -107
  219. package/dist/services/shared/Erc20Service.js.map +0 -1
  220. package/dist/services/shared/index.d.ts +0 -2
  221. package/dist/services/shared/index.d.ts.map +0 -1
  222. package/dist/services/shared/index.js +0 -2
  223. package/dist/services/shared/index.js.map +0 -1
  224. package/dist/services/solver/EvmSolverService.d.ts +0 -125
  225. package/dist/services/solver/EvmSolverService.d.ts.map +0 -1
  226. package/dist/services/solver/EvmSolverService.js +0 -166
  227. package/dist/services/solver/EvmSolverService.js.map +0 -1
  228. package/dist/services/solver/SolverApiService.d.ts +0 -40
  229. package/dist/services/solver/SolverApiService.d.ts.map +0 -1
  230. package/dist/services/solver/SolverApiService.js +0 -157
  231. package/dist/services/solver/SolverApiService.js.map +0 -1
  232. package/dist/services/solver/SolverApiService.test.d.ts +0 -2
  233. package/dist/services/solver/SolverApiService.test.d.ts.map +0 -1
  234. package/dist/services/solver/SolverApiService.test.js +0 -180
  235. package/dist/services/solver/SolverApiService.test.js.map +0 -1
  236. package/dist/services/solver/SolverService.d.ts +0 -194
  237. package/dist/services/solver/SolverService.d.ts.map +0 -1
  238. package/dist/services/solver/SolverService.js +0 -324
  239. package/dist/services/solver/SolverService.js.map +0 -1
  240. package/dist/services/solver/SolverService.test.d.ts +0 -2
  241. package/dist/services/solver/SolverService.test.d.ts.map +0 -1
  242. package/dist/services/solver/SolverService.test.js +0 -493
  243. package/dist/services/solver/SolverService.test.js.map +0 -1
  244. package/dist/services/solver/index.d.ts +0 -3
  245. package/dist/services/solver/index.d.ts.map +0 -1
  246. package/dist/services/solver/index.js +0 -3
  247. package/dist/services/solver/index.js.map +0 -1
  248. package/dist/services/spoke/CWSpokeService.d.ts +0 -67
  249. package/dist/services/spoke/CWSpokeService.d.ts.map +0 -1
  250. package/dist/services/spoke/CWSpokeService.js +0 -75
  251. package/dist/services/spoke/CWSpokeService.js.map +0 -1
  252. package/dist/services/spoke/EvmSpokeService.d.ts +0 -61
  253. package/dist/services/spoke/EvmSpokeService.d.ts.map +0 -1
  254. package/dist/services/spoke/EvmSpokeService.js +0 -118
  255. package/dist/services/spoke/EvmSpokeService.js.map +0 -1
  256. package/dist/services/spoke/IconSpokeService.d.ts +0 -55
  257. package/dist/services/spoke/IconSpokeService.d.ts.map +0 -1
  258. package/dist/services/spoke/IconSpokeService.js +0 -111
  259. package/dist/services/spoke/IconSpokeService.js.map +0 -1
  260. package/dist/services/spoke/SolanaSpokeService.d.ts +0 -45
  261. package/dist/services/spoke/SolanaSpokeService.d.ts.map +0 -1
  262. package/dist/services/spoke/SolanaSpokeService.js +0 -170
  263. package/dist/services/spoke/SolanaSpokeService.js.map +0 -1
  264. package/dist/services/spoke/SpokeService.d.ts +0 -33
  265. package/dist/services/spoke/SpokeService.d.ts.map +0 -1
  266. package/dist/services/spoke/SpokeService.js +0 -102
  267. package/dist/services/spoke/SpokeService.js.map +0 -1
  268. package/dist/services/spoke/StellarSpokeService.d.ts +0 -35
  269. package/dist/services/spoke/StellarSpokeService.d.ts.map +0 -1
  270. package/dist/services/spoke/StellarSpokeService.js +0 -39
  271. package/dist/services/spoke/StellarSpokeService.js.map +0 -1
  272. package/dist/services/spoke/SuiSpokeService.d.ts +0 -69
  273. package/dist/services/spoke/SuiSpokeService.d.ts.map +0 -1
  274. package/dist/services/spoke/SuiSpokeService.js +0 -74
  275. package/dist/services/spoke/SuiSpokeService.js.map +0 -1
  276. package/dist/services/spoke/index.d.ts +0 -3
  277. package/dist/services/spoke/index.d.ts.map +0 -1
  278. package/dist/services/spoke/index.js +0 -3
  279. package/dist/services/spoke/index.js.map +0 -1
  280. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts +0 -2
  281. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts.map +0 -1
  282. package/dist/tests/services/hub/EvmAssetManagerService.test.js +0 -123
  283. package/dist/tests/services/hub/EvmAssetManagerService.test.js.map +0 -1
  284. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts +0 -2
  285. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts.map +0 -1
  286. package/dist/tests/services/hub/EvmMoneyMarketService.test.js +0 -121
  287. package/dist/tests/services/hub/EvmMoneyMarketService.test.js.map +0 -1
  288. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts +0 -2
  289. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts.map +0 -1
  290. package/dist/tests/services/hub/EvmVaultTokenService.test.js +0 -98
  291. package/dist/tests/services/hub/EvmVaultTokenService.test.js.map +0 -1
  292. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts +0 -2
  293. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts.map +0 -1
  294. package/dist/tests/services/spoke/EvmSpokeService.test.js +0 -197
  295. package/dist/tests/services/spoke/EvmSpokeService.test.js.map +0 -1
  296. package/dist/types.d.ts +0 -395
  297. package/dist/types.d.ts.map +0 -1
  298. package/dist/types.js +0 -30
  299. package/dist/types.js.map +0 -1
  300. package/dist/utils/evm-utils.d.ts +0 -10
  301. package/dist/utils/evm-utils.d.ts.map +0 -1
  302. package/dist/utils/evm-utils.js +0 -15
  303. package/dist/utils/evm-utils.js.map +0 -1
  304. package/dist/utils/index.d.ts +0 -3
  305. package/dist/utils/index.d.ts.map +0 -1
  306. package/dist/utils/index.js +0 -3
  307. package/dist/utils/index.js.map +0 -1
  308. package/dist/utils/shared-utils.d.ts +0 -19
  309. package/dist/utils/shared-utils.d.ts.map +0 -1
  310. package/dist/utils/shared-utils.js +0 -66
  311. package/dist/utils/shared-utils.js.map +0 -1
  312. package/dist/utils/shared-utils.test.d.ts +0 -2
  313. package/dist/utils/shared-utils.test.d.ts.map +0 -1
  314. package/dist/utils/shared-utils.test.js +0 -63
  315. package/dist/utils/shared-utils.test.js.map +0 -1
package/README.md CHANGED
@@ -2,13 +2,38 @@
2
2
 
3
3
  The Sodax SDK provides a comprehensive interface for interacting with the Sodax protocol, enabling cross-chain swaps and money market operations.
4
4
 
5
- ## Installation
5
+ ## Features
6
+
7
+ ### Swaps (Solver / Intents) [📖](./docs/SOLVER.md)
8
+ - EVM (Arbitrum, Avalanche, Base, BSC, Optimism, Polygon, Sonic) ✅
9
+ - Sui ✅
10
+ - Stellar ✅
11
+ - ICON ✅
12
+ - Solana ✅
13
+ - Injective ✅
14
+
15
+ ### Lend and Borrow (Money Market) [📖](./docs/MONEY_MARKET.md)
16
+ - EVM (Arbitrum, Avalanche, Base, BSC, Optimism, Polygon, Sonic) ✅
17
+ - Sui ✅
18
+ - Stellar ✅
19
+ - ICON ✅
20
+ - Solana ✅
21
+ - Injective ✅
22
+
23
+ ### Migration [📖](./docs/MIGRATION.md)
6
24
 
7
- ### NPM
25
+ ## Installation
26
+
27
+ ```bash
28
+ # Using npm
29
+ npm install @sodax/sdk
8
30
 
9
- Installing through npm:
31
+ # Using yarn
32
+ yarn add @sodax/sdk
10
33
 
11
- `npm i --save @sodax/sdk`
34
+ # Using pnpm
35
+ pnpm add @sodax/sdk
36
+ ```
12
37
 
13
38
  ### Local Installation
14
39
 
@@ -36,8 +61,8 @@ How to setup local development
36
61
  ## Intent Solver Endpoints
37
62
 
38
63
  Current Intent Solver API endpoints:
39
- - **Production (mainnet)**: "TODO"
40
- - **Staging** (mainnet): "https://staging-new-world.iconblockchain.xyz"
64
+ - **Production (mainnet)**: "https://sodax-solver-staging.iconblockchain.xyz"
65
+ - **Staging** (mainnet): "https://sodax-solver-staging.iconblockchain.xyz"
41
66
 
42
67
  **Note** Staging endpoint contains features to be potentially released and is subject to frequent change!
43
68
 
@@ -109,7 +134,7 @@ const partnerFeeAmount = {
109
134
  // example of custom solver config
110
135
  const customSolverConfig = {
111
136
  intentsContract: '0x6382D6ccD780758C5e8A6123c33ee8F4472F96ef',
112
- solverApiEndpoint: 'https://staging-new-world.iconblockchain.xyz',
137
+ solverApiEndpoint: 'https://sodax-solver-staging.iconblockchain.xyz',
113
138
  partnerFee: partnerFeePercentage, // or partnerFeeAmount
114
139
  } satisfies SolverConfigParams;
115
140
 
@@ -149,6 +174,8 @@ SDK includes predefined configurations of supported chains, tokens and other rel
149
174
 
150
175
  **NOTE** you should generally only use `spokeChains` configuration to retrieve all supported chains and then invoke per spoke chain based configurations. If you are using hub configurations you should know what you are doing.
151
176
 
177
+ Please refer to [SDK constants.ts](https://github.com/icon-project/sodax-frontend/blob/main/packages/sdk/src/constants.ts) for more.
178
+
152
179
  ```typescript
153
180
  import {
154
181
  getHubChainConfig,
@@ -190,24 +217,116 @@ const supportedMoneyMarketTokens: readonly Token[] = getSupportedMoneyMarketToke
190
217
 
191
218
  Sodax SDK does not force the usage of a specific wallet or library, but requires client to provide implementation of `IWalletProvider` interfaces (e.g. for EVM chains `IEvmWalletProvider` has to be implemented).
192
219
 
193
- As part of Sodax suite, xWagmi SDK is also going to be provided as one example wallet provider implementation. You are free to choose between using our xWagmi SDK or implementing your own wallet connectivity for each chain.
220
+ As part of Sodax suite, Wallet SDK is also going to be provided as one example wallet provider implementation. You are free to choose between using our Wallet SDK or implementing your own wallet connectivity for each chain.
221
+
222
+ - Supported Wallet Provider Interface (`IWalletProvider`)
223
+ - `IEvmWalletProvider`: EVM (Arbitrum, Avalanche, Base, BSC, Optimism, Polygon) ✅
224
+ - `ISuiWalletProvider`: Sui ✅
225
+ - `IIconWalletProvider`: ICON ✅
226
+ - `IStellarWalletProvider`: Stellar ✅
227
+ - `ISolanaWalletProvider`: Solana ✅
228
+ - `IInjectiveWalletProvider`: Injective ✅
194
229
 
195
230
  ### Initialising Spoke Provider
196
231
 
197
- Spoke provider is a main instance used to interact with Sodax features because it contains all the relevant information we need to successfully execute features. You should generally establish SpokeProvider instances for each chain user connects wallet to.
232
+ Spoke provider is a main instance used to interact with Sodax features because it contains all the relevant information we need to successfully execute features. You should generally establish SpokeProvider instances for each chain (e.g. evm, sui, etc..) user connects wallet to.
233
+
234
+ Spoke is simply a chain you are connecting to and SpokeProvider is a container of relevant wallet provider and chain configuration.
235
+
236
+ **IMPORTANT**: Sonic Spoke Provider must be instantiated as `SonicSpokeProvider` instance even though it is of `EVM` chain type. This is due to the fact that Sonic chain is a hub chain of Sodax and needs special handling under the hood.
198
237
 
199
238
  EVM Provider example:
200
239
 
201
240
  ```typescript
202
241
  import { EvmProvider, EvmHubProvider, EvmSpokeProvider, AVALANCHE_MAINNET_CHAIN_ID, SONIC_MAINNET_CHAIN_ID } from "@sodax/sdk"
203
242
 
204
- const evmWalletProvider: IEvmWalletProvider = // injected by xWagmi SDK or your own implementation
243
+ const evmWalletProvider: IEvmWalletProvider = // injected by Wallet SDK or your own implementation
205
244
 
206
245
  // spoke provider represents connection to a specific chain, should be instantiated for each supported chain when user connects wallet
207
246
  const bscSpokeProvider: EvmSpokeProvider = new EvmSpokeProvider(
208
247
  evmWalletProvider, // user connected wallet
209
- spokeChainConfig[BSC_MAINNET_CHAIN_ID] as EvmSpokeChainConfig, // connected chain config
248
+ spokeChainConfig[BSC_MAINNET_CHAIN_ID], // connected chain config
249
+ );
250
+ ```
251
+
252
+ ### Estimate Gas for Raw Transactions
253
+
254
+ The `estimateGas` function allows you to estimate the gas cost for raw transactions before executing them. This is particularly useful for all Sodax operations (swaps, money market operations, approvals) to provide users with accurate gas estimates.
255
+
256
+ The function is available on all service classes:
257
+ - `SolverService.estimateGas()` - for solver/intent operations (reachable through `sodax.solver`)
258
+ - `MoneyMarketService.estimateGas()` - for money market operations (reachable through `sodax.moneyMarket`)
259
+ - `SpokeService.estimateGas()` - for general spoke chain operations
260
+
261
+ ```typescript
262
+ import {
263
+ SolverService,
264
+ MoneyMarketService,
265
+ SpokeService,
266
+ MoneyMarketSupplyParams
267
+ } from "@sodax/sdk";
268
+
269
+ // Example: Estimate gas for a solver swap transaction
270
+ const createIntentResult = await sodax.solver.createIntent(
271
+ createIntentParams,
272
+ bscSpokeProvider,
273
+ partnerFeeAmount,
274
+ true, // true = get raw transaction
275
+ );
276
+
277
+ if (createIntentResult.ok) {
278
+ const [rawTx, intent] = createIntentResult.value;
279
+
280
+ // Estimate gas for the raw transaction
281
+ const gasEstimate = await SolverService.estimateGas(rawTx, bscSpokeProvider);
282
+
283
+ if (gasEstimate.ok) {
284
+ console.log('Estimated gas for swap:', gasEstimate.value);
285
+ } else {
286
+ console.error('Failed to estimate gas for swap:', gasEstimate.error);
287
+ }
288
+ }
289
+
290
+ // Example: Estimate gas for a money market supply transaction
291
+ const supplyResult = await sodax.moneyMarket.createSupplyIntent(
292
+ supplyParams,
293
+ bscSpokeProvider,
294
+ true, // true = get raw transaction
210
295
  );
296
+
297
+ if (supplyResult.ok) {
298
+ const rawTx = supplyResult.value;
299
+
300
+ // Estimate gas for the raw transaction
301
+ const gasEstimate = await MoneyMarketService.estimateGas(rawTx, bscSpokeProvider);
302
+
303
+ if (gasEstimate.ok) {
304
+ console.log('Estimated gas for supply:', gasEstimate.value);
305
+ } else {
306
+ console.error('Failed to estimate gas for supply:', gasEstimate.error);
307
+ }
308
+ }
309
+
310
+ // Example: Estimate gas for an approval transaction
311
+ const approveResult = await sodax.solver.approve(
312
+ tokenAddress,
313
+ amount,
314
+ bscSpokeProvider,
315
+ true // true = get raw transaction
316
+ );
317
+
318
+ if (approveResult.ok) {
319
+ const rawTx = approveResult.value;
320
+
321
+ // Estimate gas for the approval transaction
322
+ const gasEstimate = await SpokeService.estimateGas(rawTx, bscSpokeProvider);
323
+
324
+ if (gasEstimate.ok) {
325
+ console.log('Estimated gas for approval:', gasEstimate.value);
326
+ } else {
327
+ console.error('Failed to estimate gas for approval:', gasEstimate.error);
328
+ }
329
+ }
211
330
  ```
212
331
 
213
332
  ### Accessing Sodax Features
@@ -220,3 +339,39 @@ Sodax feature set currently contain:
220
339
 
221
340
  Intent relay is internally used to relay transaction information from one chain to another.
222
341
  Sodax SDK abstracts the heavy lifting of using the relay, but you can find documentation for Intent Relay API in [INTENT_RELAY_API.md](./docs/INTENT_RELAY_API.md) in case you want to explore it.
342
+
343
+
344
+ ## Contributing
345
+
346
+ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
347
+
348
+ ## Development
349
+
350
+ ```bash
351
+ # Install dependencies
352
+ pnpm install
353
+
354
+ # Build the package
355
+ pnpm build
356
+
357
+ # Run in development mode
358
+ pnpm dev
359
+
360
+ # Run type checking
361
+ pnpm checkTs
362
+
363
+ # Format code
364
+ pnpm pretty
365
+
366
+ # Lint code
367
+ pnpm lint
368
+ ```
369
+
370
+ ## License
371
+
372
+ [MIT](LICENSE)
373
+
374
+ ## Support
375
+
376
+ - [GitHub Issues](https://github.com/icon-project/sodax-frontend/issues)
377
+ - [Discord Community](https://discord.gg/xM2Nh4S6vN)