rubic-sdk 6.0.0-alpha.ton.41 → 6.0.0-alpha.ton.43

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 (333) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +361 -361
  3. package/lib/common/errors/swap/not-supported-region.d.ts +7 -0
  4. package/lib/common/errors/swap/not-supported-region.js +15 -0
  5. package/lib/common/errors/swap/not-supported-region.js.map +1 -0
  6. package/lib/common/tokens/constants/native-tokens.js +21 -0
  7. package/lib/common/tokens/constants/native-tokens.js.map +1 -1
  8. package/lib/common/tokens/constants/wrapped-addresses.js +3 -1
  9. package/lib/common/tokens/constants/wrapped-addresses.js.map +1 -1
  10. package/lib/common/tokens/constants/wrapped-native-tokens.js +14 -0
  11. package/lib/common/tokens/constants/wrapped-native-tokens.js.map +1 -1
  12. package/lib/common/tokens/price-token-amount.js +1 -1
  13. package/lib/common/tokens/price-token-amount.js.map +1 -1
  14. package/lib/core/blockchain/models/backend-blockchains.d.ts +2 -0
  15. package/lib/core/blockchain/models/backend-blockchains.js +3 -1
  16. package/lib/core/blockchain/models/backend-blockchains.js.map +1 -1
  17. package/lib/core/blockchain/models/blockchain-name.d.ts +4 -0
  18. package/lib/core/blockchain/models/blockchain-name.js +3 -1
  19. package/lib/core/blockchain/models/blockchain-name.js.map +1 -1
  20. package/lib/core/blockchain/utils/blockchains-info/constants/blockchain-id.js +4 -1
  21. package/lib/core/blockchain/utils/blockchains-info/constants/blockchain-id.js.map +1 -1
  22. package/lib/core/blockchain/web3-private-service/models/web-private-supported-blockchain.d.ts +1 -1
  23. package/lib/core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private.js +9 -3
  24. package/lib/core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private.js.map +1 -1
  25. package/lib/core/blockchain/web3-public-service/constants/rpc-errors.js +2 -1
  26. package/lib/core/blockchain/web3-public-service/constants/rpc-errors.js.map +1 -1
  27. package/lib/core/blockchain/web3-public-service/models/web3-public-storage.d.ts +1 -1
  28. package/lib/core/blockchain/web3-public-service/web3-public/constants/multicall-addresses.js +3 -1
  29. package/lib/core/blockchain/web3-public-service/web3-public/constants/multicall-addresses.js.map +1 -1
  30. package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.d.ts +1 -0
  31. package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.js +8 -0
  32. package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.js.map +1 -1
  33. package/lib/core/gas-price-api/constants/eip1559-compatible-blockchains.js +3 -2
  34. package/lib/core/gas-price-api/constants/eip1559-compatible-blockchains.js.map +1 -1
  35. package/lib/features/common/constants/proxy-supported-blockchain.d.ts +1 -1
  36. package/lib/features/common/constants/proxy-supported-blockchain.js +2 -1
  37. package/lib/features/common/constants/proxy-supported-blockchain.js.map +1 -1
  38. package/lib/features/common/providers/bridgers/models/bridgers-contract-addresses.js +5 -5
  39. package/lib/features/common/providers/bridgers/models/bridgers-swap-api.d.ts +1 -0
  40. package/lib/features/common/providers/rango/constants/rango-contract-address.js +11 -6
  41. package/lib/features/common/providers/rango/constants/rango-contract-address.js.map +1 -1
  42. package/lib/features/common/providers/rango/models/rango-api-blockchain-names.js +4 -3
  43. package/lib/features/common/providers/rango/models/rango-api-blockchain-names.js.map +1 -1
  44. package/lib/features/common/providers/rango/models/rango-api-symbol-names.js +4 -3
  45. package/lib/features/common/providers/rango/models/rango-api-symbol-names.js.map +1 -1
  46. package/lib/features/common/providers/rango/models/rango-api-trade-types.d.ts +2 -2
  47. package/lib/features/common/providers/rango/models/rango-supported-blockchains.d.ts +1 -1
  48. package/lib/features/common/providers/rango/models/rango-supported-blockchains.js +3 -3
  49. package/lib/features/common/providers/rango/models/rango-supported-blockchains.js.map +1 -1
  50. package/lib/features/common/providers/rango/utils/rango-utils.d.ts +1 -1
  51. package/lib/features/common/providers/rango/utils/rango-utils.js +6 -2
  52. package/lib/features/common/providers/rango/utils/rango-utils.js.map +1 -1
  53. package/lib/features/common/providers/router/models/router-quote-response-config.d.ts +39 -0
  54. package/lib/features/common/providers/router/models/router-quote-response-config.js +3 -0
  55. package/lib/features/common/providers/router/models/router-quote-response-config.js.map +1 -0
  56. package/lib/features/common/providers/router/models/router-quote-send-params.d.ts +8 -0
  57. package/lib/features/common/providers/router/models/router-quote-send-params.js +3 -0
  58. package/lib/features/common/providers/router/models/router-quote-send-params.js.map +1 -0
  59. package/lib/features/common/providers/router/models/router-send-transaction-params.d.ts +20 -0
  60. package/lib/features/common/providers/router/models/router-send-transaction-params.js +3 -0
  61. package/lib/features/common/providers/router/models/router-send-transaction-params.js.map +1 -0
  62. package/lib/features/common/providers/router/services/router-api-service.d.ts +12 -0
  63. package/lib/features/common/providers/router/services/router-api-service.js +36 -0
  64. package/lib/features/common/providers/router/services/router-api-service.js.map +1 -0
  65. package/lib/features/common/providers/symbiosis/constants/symbiosis-api-common.d.ts +1 -1
  66. package/lib/features/common/providers/symbiosis/constants/symbiosis-api-common.js +1 -1
  67. package/lib/features/common/providers/symbiosis/constants/symbiosis-api-common.js.map +1 -1
  68. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.d.ts +4 -1
  69. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js +8 -4
  70. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js.map +1 -1
  71. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.d.ts +2 -0
  72. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js +3 -1
  73. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js.map +1 -1
  74. package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.js +1 -2
  75. package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.js.map +1 -1
  76. package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider.d.ts +1 -0
  77. package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider.js +35 -19
  78. package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider.js.map +1 -1
  79. package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/evm-bridgers-trade/evm-bridgers-cross-chain-trade.js +1 -2
  80. package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/evm-bridgers-trade/evm-bridgers-cross-chain-trade.js.map +1 -1
  81. package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/utils/get-proxy-method-arguments-and-transaction-data.js +8 -0
  82. package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/utils/get-proxy-method-arguments-and-transaction-data.js.map +1 -1
  83. package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.js +1 -2
  84. package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.js.map +1 -1
  85. package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-provider.js +30 -10
  86. package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-provider.js.map +1 -1
  87. package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.d.ts +1 -1
  88. package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js +1 -2
  89. package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js.map +1 -1
  90. package/lib/features/cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address.js +2 -1
  91. package/lib/features/cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address.js.map +1 -1
  92. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js +4 -7
  93. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js.map +1 -1
  94. package/lib/features/cross-chain/calculation-manager/providers/common/models/bridge-type.d.ts +3 -1
  95. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.d.ts +2 -0
  96. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.js +3 -2
  97. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.js.map +1 -1
  98. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.js +2 -1
  99. package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.js.map +1 -1
  100. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/eddy-bridge-contract-addresses.d.ts +11 -2
  101. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/eddy-bridge-contract-addresses.js +38 -5
  102. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/eddy-bridge-contract-addresses.js.map +1 -1
  103. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/eddy-bridge-supported-chains.d.ts +0 -1
  104. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/edyy-bridge-abi.d.ts +1 -0
  105. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/edyy-bridge-abi.js +15 -1
  106. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/edyy-bridge-abi.js.map +1 -1
  107. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/swap-limits.js +61 -0
  108. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/constants/swap-limits.js.map +1 -1
  109. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.d.ts +0 -2
  110. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js +14 -78
  111. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js.map +1 -1
  112. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.d.ts +2 -3
  113. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js +23 -51
  114. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js.map +1 -1
  115. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-bridge-api-types.d.ts +12 -0
  116. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-quote-controller.d.ts +4 -0
  117. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-quote-controller.js +3 -0
  118. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-quote-controller.js.map +1 -0
  119. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-swap-controller.d.ts +4 -0
  120. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-swap-controller.js +3 -0
  121. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-swap-controller.js.map +1 -0
  122. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-trade-types.d.ts +3 -2
  123. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-api-service.d.ts +5 -1
  124. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-api-service.js +7 -3
  125. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-api-service.js.map +1 -1
  126. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.d.ts +7 -4
  127. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.js +48 -15
  128. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.js.map +1 -1
  129. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/calculate-rates.d.ts +3 -0
  130. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/calculate-rates.js +37 -0
  131. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/calculate-rates.js.map +1 -0
  132. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.d.ts +18 -2
  133. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.js +61 -11
  134. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.js.map +1 -1
  135. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-quoter-controller-factory.d.ts +14 -0
  136. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-quoter-controller-factory.js +79 -0
  137. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-quoter-controller-factory.js.map +1 -0
  138. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-swap-controller-factory.d.ts +17 -0
  139. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-swap-controller-factory.js +93 -0
  140. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-swap-controller-factory.js.map +1 -0
  141. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/find-api-token-address.d.ts +3 -0
  142. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/find-api-token-address.js +16 -0
  143. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/find-api-token-address.js.map +1 -0
  144. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/find-transit-token-address.d.ts +3 -0
  145. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/find-transit-token-address.js +15 -0
  146. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/find-transit-token-address.js.map +1 -0
  147. package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/get-eddy-bridge-dst-status.js +2 -2
  148. package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.js +1 -2
  149. package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.js.map +1 -1
  150. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/constants/lifi-cross-chain-supported-blockchain.d.ts +1 -1
  151. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/constants/lifi-cross-chain-supported-blockchain.js +5 -1
  152. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/constants/lifi-cross-chain-supported-blockchain.js.map +1 -1
  153. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.js +1 -2
  154. package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-trade.js.map +1 -1
  155. package/lib/features/cross-chain/calculation-manager/providers/meson-provider/constants/meson-contract-addresses.js +4 -2
  156. package/lib/features/cross-chain/calculation-manager/providers/meson-provider/constants/meson-contract-addresses.js.map +1 -1
  157. package/lib/features/cross-chain/calculation-manager/providers/meson-provider/constants/meson-cross-chain-supported-chains.d.ts +1 -1
  158. package/lib/features/cross-chain/calculation-manager/providers/meson-provider/constants/meson-cross-chain-supported-chains.js +4 -2
  159. package/lib/features/cross-chain/calculation-manager/providers/meson-provider/constants/meson-cross-chain-supported-chains.js.map +1 -1
  160. package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-provider.js +1 -1
  161. package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-provider.js.map +1 -1
  162. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/models/orbiter-contract-addresses.js +5 -3
  163. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/models/orbiter-contract-addresses.js.map +1 -1
  164. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/models/orbiter-supported-blockchains.d.ts +1 -1
  165. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/models/orbiter-supported-blockchains.js +5 -3
  166. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/models/orbiter-supported-blockchains.js.map +1 -1
  167. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-trade.js +1 -2
  168. package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-trade.js.map +1 -1
  169. package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/constants/owl-to-supported-chains.d.ts +1 -1
  170. package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/constants/owl-to-supported-chains.js +3 -2
  171. package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/constants/owl-to-supported-chains.js.map +1 -1
  172. package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-trade.js +0 -1
  173. package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-trade.js.map +1 -1
  174. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js +1 -2
  175. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js.map +1 -1
  176. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js +1 -1
  177. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js.map +1 -1
  178. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js +1 -2
  179. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js.map +1 -1
  180. package/lib/features/cross-chain/calculation-manager/providers/router-provider/constants/router-cross-chain-supported-chains.d.ts +2 -0
  181. package/lib/features/cross-chain/calculation-manager/providers/router-provider/constants/router-cross-chain-supported-chains.js +31 -0
  182. package/lib/features/cross-chain/calculation-manager/providers/router-provider/constants/router-cross-chain-supported-chains.js.map +1 -0
  183. package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-provider.d.ts +15 -0
  184. package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-provider.js +155 -0
  185. package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-provider.js.map +1 -0
  186. package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.d.ts +48 -0
  187. package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.js +141 -0
  188. package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.js.map +1 -0
  189. package/lib/features/cross-chain/calculation-manager/providers/router-provider/utils/router-cross-chain-util-service.ts.d.ts +9 -0
  190. package/lib/features/cross-chain/calculation-manager/providers/router-provider/utils/router-cross-chain-util-service.ts.js +43 -0
  191. package/lib/features/cross-chain/calculation-manager/providers/router-provider/utils/router-cross-chain-util-service.ts.js.map +1 -0
  192. package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.js +0 -1
  193. package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-trade.js.map +1 -1
  194. package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js +1 -2
  195. package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js.map +1 -1
  196. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.d.ts +2 -0
  197. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.js +82 -0
  198. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-blockchain-supported-pools.js.map +1 -0
  199. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.d.ts +11 -0
  200. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.js +14 -0
  201. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-bridge-token.js.map +1 -0
  202. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.d.ts +2 -0
  203. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.js +26 -0
  204. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-chain-id.js.map +1 -0
  205. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.d.ts +6 -0
  206. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.js +100 -0
  207. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-contract-address.js.map +1 -0
  208. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.d.ts +2 -0
  209. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.js +26 -0
  210. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-cross-chain-supported-blockchains.js.map +1 -0
  211. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.d.ts +5 -0
  212. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.js +181 -0
  213. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-abi.js.map +1 -0
  214. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.d.ts +16 -0
  215. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.js +26 -0
  216. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-pool-id.js.map +1 -0
  217. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.d.ts +5 -0
  218. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.js +96 -0
  219. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/constants/stargate-v2-token-address.js.map +1 -0
  220. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.d.ts +17 -0
  221. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.js +3 -0
  222. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/modal/stargate-v2-quote-params-struct.js.map +1 -0
  223. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.d.ts +18 -0
  224. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js +199 -0
  225. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js.map +1 -0
  226. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.d.ts +56 -0
  227. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js +170 -0
  228. package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js.map +1 -0
  229. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/models/symbiosis-cross-chain-supported-blockchains.d.ts +1 -1
  230. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/models/symbiosis-cross-chain-supported-blockchains.js +1 -0
  231. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/models/symbiosis-cross-chain-supported-blockchains.js.map +1 -1
  232. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-ccr-evm-trade.js +5 -7
  233. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-ccr-evm-trade.js.map +1 -1
  234. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js +1 -0
  235. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js.map +1 -1
  236. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js +2 -4
  237. package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js.map +1 -1
  238. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.d.ts +1 -0
  239. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js +9 -2
  240. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js.map +1 -1
  241. package/lib/features/on-chain/calculation-manager/constants/trade-providers/algebra-trade-providers.d.ts +2 -1
  242. package/lib/features/on-chain/calculation-manager/constants/trade-providers/algebra-trade-providers.js +3 -1
  243. package/lib/features/on-chain/calculation-manager/constants/trade-providers/algebra-trade-providers.js.map +1 -1
  244. package/lib/features/on-chain/calculation-manager/constants/trade-providers/uniswap-v2-trade-providers.d.ts +4 -2
  245. package/lib/features/on-chain/calculation-manager/constants/trade-providers/uniswap-v2-trade-providers.js +7 -2
  246. package/lib/features/on-chain/calculation-manager/constants/trade-providers/uniswap-v2-trade-providers.js.map +1 -1
  247. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.d.ts +2 -0
  248. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js +2 -2
  249. package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js.map +1 -1
  250. package/lib/features/on-chain/calculation-manager/on-chain-manager.js +15 -23
  251. package/lib/features/on-chain/calculation-manager/on-chain-manager.js.map +1 -1
  252. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/models/native-router-quote.d.ts +6 -4
  253. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/native-router-abstract-provider.js +8 -6
  254. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/native-router-abstract-provider.js.map +1 -1
  255. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/native-router-abstract-trade.js +1 -1
  256. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/native-router-abstract-trade.js.map +1 -1
  257. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/services/native-router-api-service.d.ts +2 -2
  258. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/services/native-router-api-service.js +5 -14
  259. package/lib/features/on-chain/calculation-manager/providers/aggregators/common/native-router-abstract/services/native-router-api-service.js.map +1 -1
  260. package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-supported-blockchains.d.ts +1 -1
  261. package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-supported-blockchains.js +2 -1
  262. package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-supported-blockchains.js.map +1 -1
  263. package/lib/features/on-chain/calculation-manager/providers/aggregators/xy-dex/constants/xy-dex-supported-blockchains.d.ts +1 -1
  264. package/lib/features/on-chain/calculation-manager/providers/aggregators/xy-dex/constants/xy-dex-supported-blockchains.js +2 -1
  265. package/lib/features/on-chain/calculation-manager/providers/aggregators/xy-dex/constants/xy-dex-supported-blockchains.js.map +1 -1
  266. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.d.ts +4 -1
  267. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.js +4 -1
  268. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.js.map +1 -1
  269. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.js +0 -1
  270. package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.js.map +1 -1
  271. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/constants.d.ts +4 -0
  272. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/constants.js +18 -0
  273. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/constants.js.map +1 -0
  274. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/kujata-bahamut-provider.d.ts +7 -0
  275. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/kujata-bahamut-provider.js +17 -0
  276. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/kujata-bahamut-provider.js.map +1 -0
  277. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/kujata-bahamut-trade.d.ts +6 -0
  278. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/kujata-bahamut-trade.js +17 -0
  279. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/kujata-bahamut/kujata-bahamut-trade.js.map +1 -0
  280. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/silk-swap-bahamut/constants.d.ts +2 -0
  281. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/silk-swap-bahamut/constants.js +7 -0
  282. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/silk-swap-bahamut/constants.js.map +1 -0
  283. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/{uniswap-v2-bahamut/uniswap-v2-bahamut-provider.d.ts → silk-swap-bahamut/silk-swap-bahamut-provider.d.ts} +3 -3
  284. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/{uniswap-v2-bahamut/uniswap-v2-bahamut-provider.js → silk-swap-bahamut/silk-swap-bahamut-provider.js} +7 -7
  285. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/silk-swap-bahamut/silk-swap-bahamut-provider.js.map +1 -0
  286. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/{uniswap-v2-bahamut/uniswap-v2-bahamut-trade.d.ts → silk-swap-bahamut/silk-swap-bahamut-trade.d.ts} +1 -1
  287. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/{uniswap-v2-bahamut/uniswap-v2-bahamut-trade.js → silk-swap-bahamut/silk-swap-bahamut-trade.js} +6 -6
  288. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/silk-swap-bahamut/silk-swap-bahamut-trade.js.map +1 -0
  289. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/default-constants.d.ts +2 -0
  290. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/default-constants.js +20 -0
  291. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/default-constants.js.map +1 -0
  292. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/constants.d.ts +2 -0
  293. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/constants.js +7 -0
  294. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/constants.js.map +1 -0
  295. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/macaron-provider.d.ts +7 -0
  296. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/macaron-provider.js +17 -0
  297. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/macaron-provider.js.map +1 -0
  298. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/macaron-trade.d.ts +6 -0
  299. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/macaron-trade.js +17 -0
  300. package/lib/features/on-chain/calculation-manager/providers/dexes/bitlayer/macaron/macaron-trade.js.map +1 -0
  301. package/lib/features/on-chain/calculation-manager/providers/dexes/common/uniswap-v2-abstract/path-factory.js +10 -7
  302. package/lib/features/on-chain/calculation-manager/providers/dexes/common/uniswap-v2-abstract/path-factory.js.map +1 -1
  303. package/lib/features/on-chain/calculation-manager/providers/dexes/common/uniswap-v3-algebra-abstract/uniswap-v3-algebra-abstract-provider.d.ts +2 -1
  304. package/lib/features/on-chain/calculation-manager/providers/dexes/common/uniswap-v3-algebra-abstract/uniswap-v3-algebra-abstract-provider.js.map +1 -1
  305. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/camelot-gravity-provider.d.ts +16 -0
  306. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/camelot-gravity-provider.js +39 -0
  307. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/camelot-gravity-provider.js.map +1 -0
  308. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/camelot-gravity-trade.d.ts +18 -0
  309. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/camelot-gravity-trade.js +57 -0
  310. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/camelot-gravity-trade.js.map +1 -0
  311. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/gravity-swap-router-contract-address.d.ts +1 -0
  312. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/gravity-swap-router-contract-address.js +5 -0
  313. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/gravity-swap-router-contract-address.js.map +1 -0
  314. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/provider-configuration.d.ts +2 -0
  315. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/provider-configuration.js +10 -0
  316. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/provider-configuration.js.map +1 -0
  317. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/quote-contract-data.d.ts +3 -0
  318. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/quote-contract-data.js +104 -0
  319. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/camelot-gravity/constants/quote-contract-data.js.map +1 -0
  320. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/default-constants.d.ts +2 -0
  321. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/default-constants.js +19 -0
  322. package/lib/features/on-chain/calculation-manager/providers/dexes/gravity/default-constants.js.map +1 -0
  323. package/lib/features/on-chain/calculation-manager/providers/dexes/tron/bridgers/bridgers-trade.js.map +1 -1
  324. package/lib/index.d.ts +43 -3
  325. package/lib/index.js +43 -3
  326. package/lib/index.js.map +1 -1
  327. package/package.json +160 -158
  328. package/dist/rubic-sdk.min.js +0 -6
  329. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/uniswap-v2-bahamut/constants.d.ts +0 -2
  330. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/uniswap-v2-bahamut/constants.js +0 -7
  331. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/uniswap-v2-bahamut/constants.js.map +0 -1
  332. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/uniswap-v2-bahamut/uniswap-v2-bahamut-provider.js.map +0 -1
  333. package/lib/features/on-chain/calculation-manager/providers/dexes/bahamut/uniswap-v2-bahamut/uniswap-v2-bahamut-trade.js.map +0 -1
package/README.md CHANGED
@@ -1,361 +1,361 @@
1
- # Rubic SDK
2
-
3
- ## API Documentation
4
-
5
- [Latest API Documentation](https://cryptorubic.github.io/rubic-sdk)
6
-
7
- ## Installation
8
- ### Installation with cdn
9
- ```html
10
- <script src="https://unpkg.com/rubic-sdk@latest/dist/rubic-sdk.min.js"></script>
11
- ```
12
-
13
- ### Installation with npm and webpack (React, ...)
14
- 1. `npm install rubic-sdk`
15
-
16
-
17
- ℹ️️ Skip the rest of the steps if your have already installed [web3](https://github.com/ChainSafe/web3.js) in your project.
18
-
19
-
20
- 2. `npm install --save-dev http-browserify https-browserify stream-browserify crypto-browserify`
21
- 3. modify webpack.config.js. If you use create-react-app, run `npm run eject` to extract config
22
- 1. add to `plugins`
23
- ```javascript
24
- new webpack.ProvidePlugin({
25
- Buffer: ['buffer', 'Buffer'],
26
- process: 'process/browser'
27
- })
28
- ```
29
- 2. add `resolve.fallback`
30
- ```json
31
- "fallback": {
32
- "fs": false,
33
- "constants": false,
34
- "querystring": false,
35
- "url": false,
36
- "path": false,
37
- "os": false,
38
- "http": require.resolve("http-browserify"),
39
- "https": require.resolve("https-browserify"),
40
- "zlib": false,
41
- "stream": require.resolve("stream-browserify"),
42
- "crypto": require.resolve("crypto-browserify"),
43
- "zlib": require.resolve('browserify-zlib')
44
- }
45
- ```
46
-
47
- ### Installation with npm for Angular
48
- 1. `npm install rubic-sdk`
49
-
50
-
51
- ℹ️️ Skip the rest of the steps if your have already installed [web3](https://github.com/ChainSafe/web3.js) in your project.
52
-
53
-
54
- 2. `npm install --save-dev stream-browserify assert https-browserify os-browserify stream-http crypto-browserify process buffer`
55
- 3. Modify tsconfig.json
56
- ```json
57
- {
58
- "compilerOptions": {
59
- ...
60
- "paths" : {
61
- ...
62
- "stream": ["./node_modules/stream-browserify"],
63
- "assert": ["./node_modules/assert"],
64
- "https": ["./node_modules/https-browserify"],
65
- "os": ["./node_modules/os-browserify"],
66
- "http": ["./node_modules/stream-http"],
67
- "crypto": ["./node_modules/crypto-browserify"]
68
- }
69
- }
70
- ```
71
- 4. Modify polyfills.ts
72
- ```typescript
73
- import Process = NodeJS.Process;
74
-
75
- export interface AppWindow extends Window {
76
- process: Process;
77
- Buffer: Buffer;
78
- global?: unknown;
79
- }
80
-
81
- (window as AppWindow).global = window;
82
- (window as AppWindow).process = window.process || require('process');
83
- (window as AppWindow).Buffer = (window as any).Buffer || require('buffer').Buffer;
84
- ```
85
-
86
- ## Trades usage
87
-
88
- ### Get started after cdn installation
89
- ```html
90
- <script>
91
- // you have to declare rpc links only for networks you will use
92
- const configuration = {
93
- rpcProviders: {
94
- ETH: {
95
- rpcList: ['<your ethereum rpc>']
96
- },
97
- BSC: {
98
- rpcList: ['<your bsc rpc>']
99
- },
100
- ...
101
- TRON: {
102
- rpcList: [
103
- {
104
- fullHost: '<tron-api>',
105
- headers: { "TRON-PRO-API-KEY": 'your api key' }
106
- }
107
- ]
108
- }
109
- },
110
- // if you are whitelisted integrator, provide your wallet address here
111
- providerAddress: {
112
- [CHAIN_TYPE.EVM]: {
113
- crossChain: '0x0000000000000000000000000000000000000000', // Address for cross chain fee
114
- onChain: '0x0000000000000000000000000000000000000000' // Address for on chain fee
115
- }
116
- }
117
- }
118
-
119
- async function main() {
120
- // create SDK instance
121
- const sdk = await RubicSDK.SDK.createSDK(configuration);
122
-
123
- // define example trade parameters
124
- const blockchain = 'ETH';
125
- const fromTokenAddress = '0x0000000000000000000000000000000000000000';
126
- const fromAmount = 1;
127
- const toTokenAddress = '0xdac17f958d2ee523a2206206994597c13d831ec7';
128
-
129
- // calculate trades
130
- const trades = await sdk.onChainManager
131
- .calculateTrade({blockchain, address: fromTokenAddress}, fromAmount, toTokenAddress);
132
-
133
- console.log(trades);
134
- }
135
- main();
136
- </script>
137
- ```
138
-
139
-
140
- ### Get started after npm installation
141
- 1. Create configuration
142
- ```typescript
143
- import { Configuration, BLOCKCHAIN_NAME } from 'rubic-sdk';
144
-
145
- // you have to declare rpc links only for networks you will use
146
- export const configuration: Configuration = {
147
- rpcProviders: {
148
- [BLOCKCHAIN_NAME.ETHEREUM]: {
149
- rpcList: ['<your ethereum rpc #1>', '<your ethereum rpc #2>', ...]
150
- },
151
- [BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN]: {
152
- rpcList: ['<your bsc rpc>']
153
- },
154
- ...
155
- [BLOCKCHAIN_NAME.TRON]: {
156
- rpcList: [
157
- {
158
- fullHost: '<tron api>',
159
- headers: { "TRON-PRO-API-KEY": 'your api key' }
160
- }
161
- ]
162
- }
163
- },
164
- // if you are whitelisted integrator, provide your wallet address here
165
- providerAddress: {
166
- [CHAIN_TYPE.EVM]: {
167
- crossChain: '0x0000000000000000000000000000000000000000', // Address for cross chain fee
168
- onChain: '0x0000000000000000000000000000000000000000' // Address for on chain fee
169
- }
170
- }
171
- }
172
- ```
173
- 2. Create sdk instance
174
- ```typescript
175
- import { SDK } from 'rubic-sdk';
176
-
177
- const sdk = await SDK.createSDK(configuration);
178
- ```
179
-
180
- 3. Use sdk instance for trade calculation
181
- ```typescript
182
- import { BLOCKCHAIN_NAME, TradeType, OnChainTrade, EvmOnChainTrade } from 'rubic-sdk';
183
-
184
- const blockchain = BLOCKCHAIN_NAME.ETHEREUM;
185
- const fromTokenAddress = '0x0000000000000000000000000000000000000000'; // ETH
186
- const fromAmount = 1;
187
- const toTokenAddress = '0xdac17f958d2ee523a2206206994597c13d831ec7'; // USDT
188
-
189
- const trades = await sdk.onChainManager.calculateTrade(
190
- { blockchain, address: fromTokenAddress },
191
- fromAmount,
192
- toTokenAddress
193
- );
194
- const bestTrade = trades[0];
195
-
196
- trades.forEach(trade => {
197
- const tradeType: TradeType = trade.type;
198
- console.log(`trade type: ${tradeType}`);
199
-
200
- if (trade instanceof OnChainTrade) {
201
- console.log(`to amount: ${trade.to.tokenAmount.toFormat(3)}`);
202
- } else {
203
- console.log(`error: ${trade.error}`);
204
- }
205
-
206
- // explore trades info
207
- if (trade instanceof EvmOnChainTrade) {
208
- console.log(`Gas fee: ${bestTrade.gasFeeInfo}`);
209
- }
210
- ...
211
- });
212
- ```
213
-
214
- 4. When user connects wallet (e.g. MetaMask) you should change configuration to use trade `swap` method.<br />
215
- **⚠️ Recalculate trades after this**.
216
- ```typescript
217
- import { WalletProvider, CHAIN_TYPE, Configuration } from 'rubic-sdk';
218
-
219
- const walletProvider: WalletProvider = {
220
- [CHAIN_TYPE.EVM]: {
221
- address: '0x123...', // user wallet address
222
- core: window.ethereum
223
- },
224
- [CHAIN_TYPE.TRON]: {
225
- address: 'T123...', // user wallet address
226
- core: window.tronLink.tronWeb // or window.tronWeb
227
- }
228
- };
229
-
230
- // initial configuration example
231
- const configuration: Configuration = {
232
- ...
233
- walletProvider
234
- }
235
- const sdk = await SDK.createSDK(configuration);
236
-
237
- // after user's wallet address changed
238
- // Example #1:
239
- sdk.updateWalletProvider(walletProvider);
240
-
241
- // Example #2:
242
- sdk.updateWalletAddress(CHAIN_TYPE.EVM, address);
243
-
244
- ```
245
-
246
- 5. Now you can use `swap` method of trade instance. Approve transaction will be sent automatically if needed.
247
- ```typescript
248
- const onConfirm = (hash: string) => console.log(hash);
249
-
250
- // check that trade is defined
251
- сonst bestTrade = trades[0];
252
- const receipt = await bestTrade.swap({ onConfirm });
253
- ```
254
-
255
- ### Get started with cross-chain swaps
256
- Steps 1. and 2. are the same. You can use single sdk instance for on-chain trades and cross-chain swaps calculations.
257
-
258
- 3. Use sdk instance for trade calculation
259
- ```typescript
260
- import { BLOCKCHAIN_NAME } from 'rubic-sdk';
261
-
262
- const fromBlockchain = BLOCKCHAIN_NAME.ETHEREUM;
263
- const fromTokenAddress = '0x0000000000000000000000000000000000000000'; // ETH
264
- const fromAmount = 1;
265
- const toBlockchain = BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN;
266
- const toTokenAddress = '0xe9e7cea3dedca5984780bafc599bd69add087d56'; // BUSD
267
-
268
- const wrappedTrades = await sdk.crossChainManager.calculateTrade(
269
- { blockchain: fromBlockchain, address: fromTokenAddress },
270
- fromAmount,
271
- { blockchain: toBlockchain, address: toTokenAddress }
272
- );
273
-
274
- wrappedTrades.forEach(wrappedTrade => {
275
- const tradeType: TradeType = wrappedTrade.type;
276
- console.log(`trade type: ${tradeType}`);
277
-
278
- if (wrappedTrade.error) {
279
- console.log(`error: ${wrappedTrade.error}`);
280
- } else {
281
- const trade = wrappedTrade.trade!;
282
- console.log(`to amount: ${trade.to.tokenAmount.toFormat(3)}`);
283
-
284
- // explore trades info
285
- if (trade instanceof EvmCrossChainTrade) {
286
- console.log(trade.gasData)
287
- }
288
- ...
289
- }
290
- })
291
- ```
292
-
293
- 4. Same as in on-chain.
294
-
295
- 5. Now you can use `swap` method of trade instance. Approve transaction will be sent automatically if needed.
296
- ```typescript
297
- const onConfirm = (hash: string) => console.log(hash);
298
-
299
- // check, that trade is defined
300
- const bestTrade = wrappedTrades[0].trade;
301
- const receipt = await bestTrade.swap({ onConfirm });
302
- ```
303
-
304
- ## Token classes
305
-
306
- You can use specific sdk `Token` classes to work with tokens.
307
-
308
- ### Token
309
-
310
- ```typescript
311
- import { BLOCKCHAIN_NAME } from 'rubic-sdk';
312
-
313
- const token: Token = await Token.createToken({
314
- blockchain: BLOCKCHAIN_NAME.ETHEREUM,
315
- address: '0xdac17f958d2ee523a2206206994597c13d831ec7'
316
- });
317
-
318
- console.log(token.symbol); // USDT
319
- console.log(token.name); // Tether USD
320
- console.log(token.decimals); // 6
321
- ```
322
-
323
- You can also use constructor directly.
324
- ```typescript
325
- import { BLOCKCHAIN_NAME } from 'rubic-sdk';
326
-
327
- const token = new Token({
328
- blockchain: BLOCKCHAIN_NAME.ETHEREUM,
329
- address: '0xdac17f958d2ee523a2206206994597c13d831ec7',
330
- name: 'USD Coin',
331
- symbol: 'USDC',
332
- decimals: 6
333
- })
334
- ```
335
-
336
- ### PriceToken
337
-
338
- ```typescript
339
- import { BLOCKCHAIN_NAME } from 'rubic-sdk';
340
-
341
- const token: PriceToken = await PriceToken.createToken({
342
- blockchain: BLOCKCHAIN_NAME.ETHEREUM,
343
- address: '0xdac17f958d2ee523a2206206994597c13d831ec7'
344
- });
345
-
346
- console.log(token.price);
347
- ```
348
-
349
- ### PriceTokenAmount
350
-
351
- ```typescript
352
- import { BLOCKCHAIN_NAME } from 'rubic-sdk';
353
-
354
- const token: PriceTokenAmount = await PriceTokenAmount.createToken({
355
- blockchain: BLOCKCHAIN_NAME.ETHEREUM,
356
- address: '0xdac17f958d2ee523a2206206994597c13d831ec7',
357
- tokenAmount: new BigNumber(1)
358
- });
359
-
360
- console.log(token.weiAmount);
361
- ```
1
+ # Rubic SDK
2
+
3
+ ## API Documentation
4
+
5
+ [Latest API Documentation](https://cryptorubic.github.io/rubic-sdk)
6
+
7
+ ## Installation
8
+ ### Installation with cdn
9
+ ```html
10
+ <script src="https://unpkg.com/rubic-sdk@latest/dist/rubic-sdk.min.js"></script>
11
+ ```
12
+
13
+ ### Installation with npm and webpack (React, ...)
14
+ 1. `npm install rubic-sdk`
15
+
16
+
17
+ ℹ️️ Skip the rest of the steps if your have already installed [web3](https://github.com/ChainSafe/web3.js) in your project.
18
+
19
+
20
+ 2. `npm install --save-dev http-browserify https-browserify stream-browserify crypto-browserify`
21
+ 3. modify webpack.config.js. If you use create-react-app, run `npm run eject` to extract config
22
+ 1. add to `plugins`
23
+ ```javascript
24
+ new webpack.ProvidePlugin({
25
+ Buffer: ['buffer', 'Buffer'],
26
+ process: 'process/browser'
27
+ })
28
+ ```
29
+ 2. add `resolve.fallback`
30
+ ```json
31
+ "fallback": {
32
+ "fs": false,
33
+ "constants": false,
34
+ "querystring": false,
35
+ "url": false,
36
+ "path": false,
37
+ "os": false,
38
+ "http": require.resolve("http-browserify"),
39
+ "https": require.resolve("https-browserify"),
40
+ "zlib": false,
41
+ "stream": require.resolve("stream-browserify"),
42
+ "crypto": require.resolve("crypto-browserify"),
43
+ "zlib": require.resolve('browserify-zlib')
44
+ }
45
+ ```
46
+
47
+ ### Installation with npm for Angular
48
+ 1. `npm install rubic-sdk`
49
+
50
+
51
+ ℹ️️ Skip the rest of the steps if your have already installed [web3](https://github.com/ChainSafe/web3.js) in your project.
52
+
53
+
54
+ 2. `npm install --save-dev stream-browserify assert https-browserify os-browserify stream-http crypto-browserify process buffer`
55
+ 3. Modify tsconfig.json
56
+ ```json
57
+ {
58
+ "compilerOptions": {
59
+ ...
60
+ "paths" : {
61
+ ...
62
+ "stream": ["./node_modules/stream-browserify"],
63
+ "assert": ["./node_modules/assert"],
64
+ "https": ["./node_modules/https-browserify"],
65
+ "os": ["./node_modules/os-browserify"],
66
+ "http": ["./node_modules/stream-http"],
67
+ "crypto": ["./node_modules/crypto-browserify"]
68
+ }
69
+ }
70
+ ```
71
+ 4. Modify polyfills.ts
72
+ ```typescript
73
+ import Process = NodeJS.Process;
74
+
75
+ export interface AppWindow extends Window {
76
+ process: Process;
77
+ Buffer: Buffer;
78
+ global?: unknown;
79
+ }
80
+
81
+ (window as AppWindow).global = window;
82
+ (window as AppWindow).process = window.process || require('process');
83
+ (window as AppWindow).Buffer = (window as any).Buffer || require('buffer').Buffer;
84
+ ```
85
+
86
+ ## Trades usage
87
+
88
+ ### Get started after cdn installation
89
+ ```html
90
+ <script>
91
+ // you have to declare rpc links only for networks you will use
92
+ const configuration = {
93
+ rpcProviders: {
94
+ ETH: {
95
+ rpcList: ['<your ethereum rpc>']
96
+ },
97
+ BSC: {
98
+ rpcList: ['<your bsc rpc>']
99
+ },
100
+ ...
101
+ TRON: {
102
+ rpcList: [
103
+ {
104
+ fullHost: '<tron-api>',
105
+ headers: { "TRON-PRO-API-KEY": 'your api key' }
106
+ }
107
+ ]
108
+ }
109
+ },
110
+ // if you are whitelisted integrator, provide your wallet address here
111
+ providerAddress: {
112
+ [CHAIN_TYPE.EVM]: {
113
+ crossChain: '0x0000000000000000000000000000000000000000', // Address for cross chain fee
114
+ onChain: '0x0000000000000000000000000000000000000000' // Address for on chain fee
115
+ }
116
+ }
117
+ }
118
+
119
+ async function main() {
120
+ // create SDK instance
121
+ const sdk = await RubicSDK.SDK.createSDK(configuration);
122
+
123
+ // define example trade parameters
124
+ const blockchain = 'ETH';
125
+ const fromTokenAddress = '0x0000000000000000000000000000000000000000';
126
+ const fromAmount = 1;
127
+ const toTokenAddress = '0xdac17f958d2ee523a2206206994597c13d831ec7';
128
+
129
+ // calculate trades
130
+ const trades = await sdk.onChainManager
131
+ .calculateTrade({blockchain, address: fromTokenAddress}, fromAmount, toTokenAddress);
132
+
133
+ console.log(trades);
134
+ }
135
+ main();
136
+ </script>
137
+ ```
138
+
139
+
140
+ ### Get started after npm installation
141
+ 1. Create configuration
142
+ ```typescript
143
+ import { Configuration, BLOCKCHAIN_NAME } from 'rubic-sdk';
144
+
145
+ // you have to declare rpc links only for networks you will use
146
+ export const configuration: Configuration = {
147
+ rpcProviders: {
148
+ [BLOCKCHAIN_NAME.ETHEREUM]: {
149
+ rpcList: ['<your ethereum rpc #1>', '<your ethereum rpc #2>', ...]
150
+ },
151
+ [BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN]: {
152
+ rpcList: ['<your bsc rpc>']
153
+ },
154
+ ...
155
+ [BLOCKCHAIN_NAME.TRON]: {
156
+ rpcList: [
157
+ {
158
+ fullHost: '<tron api>',
159
+ headers: { "TRON-PRO-API-KEY": 'your api key' }
160
+ }
161
+ ]
162
+ }
163
+ },
164
+ // if you are whitelisted integrator, provide your wallet address here
165
+ providerAddress: {
166
+ [CHAIN_TYPE.EVM]: {
167
+ crossChain: '0x0000000000000000000000000000000000000000', // Address for cross chain fee
168
+ onChain: '0x0000000000000000000000000000000000000000' // Address for on chain fee
169
+ }
170
+ }
171
+ }
172
+ ```
173
+ 2. Create sdk instance
174
+ ```typescript
175
+ import { SDK } from 'rubic-sdk';
176
+
177
+ const sdk = await SDK.createSDK(configuration);
178
+ ```
179
+
180
+ 3. Use sdk instance for trade calculation
181
+ ```typescript
182
+ import { BLOCKCHAIN_NAME, TradeType, OnChainTrade, EvmOnChainTrade } from 'rubic-sdk';
183
+
184
+ const blockchain = BLOCKCHAIN_NAME.ETHEREUM;
185
+ const fromTokenAddress = '0x0000000000000000000000000000000000000000'; // ETH
186
+ const fromAmount = 1;
187
+ const toTokenAddress = '0xdac17f958d2ee523a2206206994597c13d831ec7'; // USDT
188
+
189
+ const trades = await sdk.onChainManager.calculateTrade(
190
+ { blockchain, address: fromTokenAddress },
191
+ fromAmount,
192
+ toTokenAddress
193
+ );
194
+ const bestTrade = trades[0];
195
+
196
+ trades.forEach(trade => {
197
+ const tradeType: TradeType = trade.type;
198
+ console.log(`trade type: ${tradeType}`);
199
+
200
+ if (trade instanceof OnChainTrade) {
201
+ console.log(`to amount: ${trade.to.tokenAmount.toFormat(3)}`);
202
+ } else {
203
+ console.log(`error: ${trade.error}`);
204
+ }
205
+
206
+ // explore trades info
207
+ if (trade instanceof EvmOnChainTrade) {
208
+ console.log(`Gas fee: ${bestTrade.gasFeeInfo}`);
209
+ }
210
+ ...
211
+ });
212
+ ```
213
+
214
+ 4. When user connects wallet (e.g. MetaMask) you should change configuration to use trade `swap` method.<br />
215
+ **⚠️ Recalculate trades after this**.
216
+ ```typescript
217
+ import { WalletProvider, CHAIN_TYPE, Configuration } from 'rubic-sdk';
218
+
219
+ const walletProvider: WalletProvider = {
220
+ [CHAIN_TYPE.EVM]: {
221
+ address: '0x123...', // user wallet address
222
+ core: window.ethereum
223
+ },
224
+ [CHAIN_TYPE.TRON]: {
225
+ address: 'T123...', // user wallet address
226
+ core: window.tronLink.tronWeb // or window.tronWeb
227
+ }
228
+ };
229
+
230
+ // initial configuration example
231
+ const configuration: Configuration = {
232
+ ...
233
+ walletProvider
234
+ }
235
+ const sdk = await SDK.createSDK(configuration);
236
+
237
+ // after user's wallet address changed
238
+ // Example #1:
239
+ sdk.updateWalletProvider(walletProvider);
240
+
241
+ // Example #2:
242
+ sdk.updateWalletAddress(CHAIN_TYPE.EVM, address);
243
+
244
+ ```
245
+
246
+ 5. Now you can use `swap` method of trade instance. Approve transaction will be sent automatically if needed.
247
+ ```typescript
248
+ const onConfirm = (hash: string) => console.log(hash);
249
+
250
+ // check that trade is defined
251
+ сonst bestTrade = trades[0];
252
+ const receipt = await bestTrade.swap({ onConfirm });
253
+ ```
254
+
255
+ ### Get started with cross-chain swaps
256
+ Steps 1. and 2. are the same. You can use single sdk instance for on-chain trades and cross-chain swaps calculations.
257
+
258
+ 3. Use sdk instance for trade calculation
259
+ ```typescript
260
+ import { BLOCKCHAIN_NAME } from 'rubic-sdk';
261
+
262
+ const fromBlockchain = BLOCKCHAIN_NAME.ETHEREUM;
263
+ const fromTokenAddress = '0x0000000000000000000000000000000000000000'; // ETH
264
+ const fromAmount = 1;
265
+ const toBlockchain = BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN;
266
+ const toTokenAddress = '0xe9e7cea3dedca5984780bafc599bd69add087d56'; // BUSD
267
+
268
+ const wrappedTrades = await sdk.crossChainManager.calculateTrade(
269
+ { blockchain: fromBlockchain, address: fromTokenAddress },
270
+ fromAmount,
271
+ { blockchain: toBlockchain, address: toTokenAddress }
272
+ );
273
+
274
+ wrappedTrades.forEach(wrappedTrade => {
275
+ const tradeType: TradeType = wrappedTrade.type;
276
+ console.log(`trade type: ${tradeType}`);
277
+
278
+ if (wrappedTrade.error) {
279
+ console.log(`error: ${wrappedTrade.error}`);
280
+ } else {
281
+ const trade = wrappedTrade.trade!;
282
+ console.log(`to amount: ${trade.to.tokenAmount.toFormat(3)}`);
283
+
284
+ // explore trades info
285
+ if (trade instanceof EvmCrossChainTrade) {
286
+ console.log(trade.gasData)
287
+ }
288
+ ...
289
+ }
290
+ })
291
+ ```
292
+
293
+ 4. Same as in on-chain.
294
+
295
+ 5. Now you can use `swap` method of trade instance. Approve transaction will be sent automatically if needed.
296
+ ```typescript
297
+ const onConfirm = (hash: string) => console.log(hash);
298
+
299
+ // check, that trade is defined
300
+ const bestTrade = wrappedTrades[0].trade;
301
+ const receipt = await bestTrade.swap({ onConfirm });
302
+ ```
303
+
304
+ ## Token classes
305
+
306
+ You can use specific sdk `Token` classes to work with tokens.
307
+
308
+ ### Token
309
+
310
+ ```typescript
311
+ import { BLOCKCHAIN_NAME } from 'rubic-sdk';
312
+
313
+ const token: Token = await Token.createToken({
314
+ blockchain: BLOCKCHAIN_NAME.ETHEREUM,
315
+ address: '0xdac17f958d2ee523a2206206994597c13d831ec7'
316
+ });
317
+
318
+ console.log(token.symbol); // USDT
319
+ console.log(token.name); // Tether USD
320
+ console.log(token.decimals); // 6
321
+ ```
322
+
323
+ You can also use constructor directly.
324
+ ```typescript
325
+ import { BLOCKCHAIN_NAME } from 'rubic-sdk';
326
+
327
+ const token = new Token({
328
+ blockchain: BLOCKCHAIN_NAME.ETHEREUM,
329
+ address: '0xdac17f958d2ee523a2206206994597c13d831ec7',
330
+ name: 'USD Coin',
331
+ symbol: 'USDC',
332
+ decimals: 6
333
+ })
334
+ ```
335
+
336
+ ### PriceToken
337
+
338
+ ```typescript
339
+ import { BLOCKCHAIN_NAME } from 'rubic-sdk';
340
+
341
+ const token: PriceToken = await PriceToken.createToken({
342
+ blockchain: BLOCKCHAIN_NAME.ETHEREUM,
343
+ address: '0xdac17f958d2ee523a2206206994597c13d831ec7'
344
+ });
345
+
346
+ console.log(token.price);
347
+ ```
348
+
349
+ ### PriceTokenAmount
350
+
351
+ ```typescript
352
+ import { BLOCKCHAIN_NAME } from 'rubic-sdk';
353
+
354
+ const token: PriceTokenAmount = await PriceTokenAmount.createToken({
355
+ blockchain: BLOCKCHAIN_NAME.ETHEREUM,
356
+ address: '0xdac17f958d2ee523a2206206994597c13d831ec7',
357
+ tokenAmount: new BigNumber(1)
358
+ });
359
+
360
+ console.log(token.weiAmount);
361
+ ```