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
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.EddyBridgeTrade = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const errors_1 = require("../../../../../common/errors");
9
- const wrapped_native_tokens_1 = require("../../../../../common/tokens/constants/wrapped-native-tokens");
10
- const blockchain_name_1 = require("../../../../../core/blockchain/models/blockchain-name");
11
9
  const evm_web3_pure_1 = require("../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure");
12
10
  const web3_pure_1 = require("../../../../../core/blockchain/web3-pure/web3-pure");
13
11
  const fake_wallet_address_1 = require("../../../../common/constants/fake-wallet-address");
12
+ const calculate_rates_1 = require("./utils/calculate-rates");
13
+ const eddy_swap_controller_factory_1 = require("./utils/eddy-swap-controller-factory");
14
14
  const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
15
15
  const get_cross_chain_gas_data_1 = require("../../utils/get-cross-chain-gas-data");
16
16
  const rubic_proxy_contract_address_1 = require("../common/constants/rubic-proxy-contract-address");
@@ -20,12 +20,10 @@ const evm_cross_chain_trade_1 = require("../common/emv-cross-chain-trade/evm-cro
20
20
  const bridge_type_1 = require("../common/models/bridge-type");
21
21
  const proxy_cross_chain_evm_trade_1 = require("../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
22
22
  const eddy_bridge_contract_addresses_1 = require("./constants/eddy-bridge-contract-addresses");
23
- const edyy_bridge_abi_1 = require("./constants/edyy-bridge-abi");
24
- const eddy_bridge_contract_service_1 = require("./services/eddy-bridge-contract-service");
25
23
  const eddy_bridge_routing_directions_1 = require("./utils/eddy-bridge-routing-directions");
26
24
  class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
27
25
  /** @internal */
28
- static async getGasData({ feeInfo, from, providerAddress, toToken, slippage, routingDirection }) {
26
+ static async getGasData({ feeInfo, from, providerAddress, toToken, slippage, routingDirection, quoteOptions }) {
29
27
  const trade = new EddyBridgeTrade({
30
28
  crossChainTrade: {
31
29
  from,
@@ -34,8 +32,9 @@ class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
34
32
  priceImpact: 0,
35
33
  feeInfo,
36
34
  slippage,
37
- prevGasAmountInNonZetaChain: new bignumber_js_1.default(0),
38
- routingDirection
35
+ routingDirection,
36
+ // ratioToAmount: 1,
37
+ quoteOptions
39
38
  },
40
39
  providerAddress: providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS,
41
40
  routePath: []
@@ -45,11 +44,18 @@ class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
45
44
  get fromBlockchain() {
46
45
  return this.from.blockchain;
47
46
  }
48
- // EddyFinance has deployed contract only in ZetaChain, other routes go directly via `transfer`
49
47
  get fromContractAddress() {
50
- return this.isProxyTrade
51
- ? rubic_proxy_contract_address_1.rubicProxyContractAddress[this.fromBlockchain].gateway
52
- : eddy_bridge_contract_addresses_1.EDDY_CONTRACT_ADDRESS_IN_ZETACHAIN;
48
+ if (this.isProxyTrade)
49
+ return rubic_proxy_contract_address_1.rubicProxyContractAddress[this.fromBlockchain].gateway;
50
+ switch (this.routingDirection) {
51
+ case eddy_bridge_routing_directions_1.ERD.ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN:
52
+ case eddy_bridge_routing_directions_1.ERD.ANY_CHAIN_TOKEN_TO_ZETA_TOKEN:
53
+ return eddy_bridge_contract_addresses_1.CUSTODY_ADDRESSES[this.fromBlockchain];
54
+ case eddy_bridge_routing_directions_1.ERD.ZETA_TOKEN_TO_ANY_CHAIN_ALL:
55
+ return eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN;
56
+ default:
57
+ return eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN;
58
+ }
53
59
  }
54
60
  get methodName() {
55
61
  return 'startBridgeTokensViaGenericCrossChain';
@@ -68,8 +74,8 @@ class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
68
74
  this.priceImpact = params.crossChainTrade.priceImpact;
69
75
  this.slippage = params.crossChainTrade.slippage;
70
76
  this.toTokenAmountMin = web3_pure_1.Web3Pure.fromWei(this.to.weiAmountMinusSlippage(this.slippage), this.to.decimals);
71
- this.prevGasAmountInNonZetaChain = params.crossChainTrade.prevGasAmountInNonZetaChain;
72
77
  this.routingDirection = params.crossChainTrade.routingDirection;
78
+ this.quoteOptions = params.crossChainTrade.quoteOptions;
73
79
  }
74
80
  async getContractParams(options) {
75
81
  const receiverAddress = options?.receiverAddress || this.walletAddress;
@@ -98,52 +104,18 @@ class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
98
104
  };
99
105
  }
100
106
  async getTransactionConfigAndAmount(_receiverAddress) {
101
- let config = {};
102
- const wrappedZetaAddress = wrapped_native_tokens_1.wrappedNativeTokensList[blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN].address;
103
- if (this.routingDirection === eddy_bridge_routing_directions_1.ERD.ANY_CHAIN_NATIVE_TO_ZETA_NATIVE) {
104
- const walletAddress = this.walletAddress || fake_wallet_address_1.FAKE_WALLET_ADDRESS;
105
- let data = eddy_bridge_contract_addresses_1.EDDY_CONTRACT_ADDRESS_IN_ZETACHAIN +
106
- walletAddress.slice(2) +
107
- wrappedZetaAddress.slice(2);
108
- config = {
109
- data,
110
- to: eddy_bridge_contract_addresses_1.TSS_ADDRESSES_EDDY_BRIDGE[this.fromBlockchain],
111
- value: this.from.stringWeiAmount
112
- };
113
- }
114
- else if (this.routingDirection === eddy_bridge_routing_directions_1.ERD.ZETA_NATIVE_TO_ANY_CHAIN_NATIVE) {
115
- const destZrc20TokenAddress = eddy_bridge_contract_addresses_1.TOKEN_SYMBOL_TO_ZETACHAIN_ADDRESS[this.to.symbol];
116
- config = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(eddy_bridge_contract_addresses_1.EDDY_CONTRACT_ADDRESS_IN_ZETACHAIN, edyy_bridge_abi_1.EDDY_BRIDGE_ABI, 'transferZetaToConnectedChain', ['0x', wrappedZetaAddress, destZrc20TokenAddress], this.from.stringWeiAmount);
117
- }
118
- else if (this.routingDirection === eddy_bridge_routing_directions_1.ERD.ZETA_TOKEN_TO_ANY_CHAIN_NATIVE) {
119
- const srcZrc20TokenAddress = this.from.address;
120
- const destZrc20TokenAddress = eddy_bridge_contract_addresses_1.TOKEN_SYMBOL_TO_ZETACHAIN_ADDRESS[this.to.symbol];
121
- const methodArgs = [
122
- '0x',
123
- this.from.stringWeiAmount,
124
- srcZrc20TokenAddress,
125
- destZrc20TokenAddress
126
- ];
127
- config = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(eddy_bridge_contract_addresses_1.EDDY_CONTRACT_ADDRESS_IN_ZETACHAIN, edyy_bridge_abi_1.EDDY_BRIDGE_ABI, 'withdrawToNativeChain', methodArgs, '0');
128
- }
129
- if (this.routingDirection === eddy_bridge_routing_directions_1.ERD.ZETA_TOKEN_TO_ANY_CHAIN_NATIVE) {
130
- const newGasAmount = await eddy_bridge_contract_service_1.EddyBridgeContractService.getGasInTargetChain(this.from);
131
- const newNonWeiAmount = web3_pure_1.Web3Pure.fromWei(this.to.stringWeiAmount, this.to.decimals)
132
- .plus(this.prevGasAmountInNonZetaChain)
133
- .minus(newGasAmount);
134
- const newWeiAmount = web3_pure_1.Web3Pure.toWei(newNonWeiAmount, this.to.decimals);
135
- return { config, amount: newWeiAmount };
136
- }
107
+ const evmConfig = eddy_swap_controller_factory_1.EddySwapControllerFactory.createController(this.from, this.to, this.walletAddress || fake_wallet_address_1.FAKE_WALLET_ADDRESS, this.routingDirection).getEvmConfig();
108
+ const outputAmount = await (0, calculate_rates_1.calculateRates)(this.from, this.to, this.slippage);
137
109
  return {
138
- config,
139
- amount: this.to.stringWeiAmount
110
+ config: evmConfig,
111
+ amount: outputAmount
140
112
  };
141
113
  }
142
114
  getTradeInfo() {
143
115
  return {
144
116
  estimatedGas: this.estimatedGas,
145
117
  feeInfo: this.feeInfo,
146
- priceImpact: this.priceImpact || null,
118
+ priceImpact: this.priceImpact ?? null,
147
119
  slippage: this.slippage * 100,
148
120
  routePath: this.routePath
149
121
  };
@@ -1 +1 @@
1
- {"version":3,"file":"eddy-bridge-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eddy-bridge-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,8CAA4D;AAI5D,6GAAwG;AAExG,uEAAmE;AACnE,2FAAwF;AAExF,8HAA0H;AAC1H,wJAAkJ;AAIlJ,gFAAkG;AAClG,mFAA4E;AAC5E,mGAA6F;AAC7F,qHAA8G;AAC9G,2HAAoH;AACpH,iGAA2F;AAE3F,8DAAuE;AAKvE,oHAA6G;AAC7G,+FAGoD;AAMpD,2FAAmF;AAEnF,MAAa,eAAgB,SAAQ,0CAAkB;IACnD,gBAAgB;IACT,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAC3B,OAAO,EACP,IAAI,EACJ,eAAe,EACf,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACa;QACzB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;YAC9B,eAAe,EAAE;gBACb,IAAI;gBACJ,EAAE,EAAE,OAAO;gBACX,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,CAAC;gBACd,OAAO;gBACP,QAAQ;gBACR,gBAAgB;gBAChB,oBAAoB;gBACpB,YAAY;aACf;YACD,eAAe,EAAE,eAAe,IAAI,2BAAW,CAAC,aAAa;YAC7D,SAAS,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,OAAO,IAAA,+CAAoB,EAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IA6BD,IAAY,cAAc;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAsC,CAAC;IAC5D,CAAC;IAED,IAAc,mBAAmB;QAC7B,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,wDAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;QAErF,QAAQ,IAAI,CAAC,gBAAgB,EAAE;YAC3B,KAAK,oCAAG,CAAC,kCAAkC,CAAC;YAC5C,KAAK,oCAAG,CAAC,6BAA6B;gBAClC,OAAO,kDAAiB,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC;YACnD,KAAK,oCAAG,CAAC,2BAA2B;gBAChC,OAAO,gEAA+B,CAAC;YAC3C;gBACI,OAAO,gEAA+B,CAAC;SAC9C;IACL,CAAC;IAED,IAAc,UAAU;QACpB,OAAO,uCAAuC,CAAC;IACnD,CAAC;IAED,YAAY,MAAwC;QAChD,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAlDpD,oBAAoB;QACJ,SAAI,GAAwB,+CAAsB,CAAC,WAAW,CAAC;QAE/D,iBAAY,GAAY,KAAK,CAAC;QAU9B,mBAAc,GAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;QAEpE,eAAU,GAAe,yBAAW,CAAC,WAAW,CAAC;QAoC7D,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,oBAAQ,CAAC,OAAO,CACpC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC7C,IAAI,CAAC,EAAE,CAAC,QAAQ,CACnB,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC;QAChE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC;IAC5D,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QAC5D,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC;QACvE,MAAM,EACF,IAAI,EACJ,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,cAAc,EACrB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC/B,KAAK,EACL,OAAO,EAAE,YAAY,IAAI,KAAK,EAC9B,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC,aAAa,CACjD,CAAC;QAEF,MAAM,UAAU,GAAG,qDAAuB,CAAC,aAAa,CAAC,OAAO,EAAE;YAC9D,aAAa,EAAE,eAAe;YAC9B,eAAe,EAAE,IAAI,CAAC,IAAI;YAC1B,aAAa,EAAE,IAAI,CAAC,EAAE;YACtB,aAAa,EAAE,IAAI;YACnB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,UAAU,IAAI,CAAC,UAAU,EAAE;YACjC,WAAW,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,qDAAuB,CAAC,sBAAsB,CACrE,cAAc,EACd,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,UAAU,EACpB,cAAc,EACd,GAAG,CACN,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,wBAAwB,GAAG,2BAAW,CAAC,gBAAgB,CACzD,wDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EACtD,mDAAsB,EACtB,IAAI,CAAC,UAAU,EACf,eAAe,EACf,KAAK,CACR,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE5E,OAAO;YACH,eAAe,EAAE,wDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO;YACxE,WAAW,EAAE,yDAAyB;YACtC,UAAU,EAAE,eAAe;YAC3B,eAAe,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,wBAAwB,CAAC,IAAI,CAAC;YAC7E,KAAK;SACR,CAAC;IACN,CAAC;IAES,KAAK,CAAC,6BAA6B,CACzC,gBAAyB;QAEzB,MAAM,SAAS,GAAG,wDAAyB,CAAC,gBAAgB,CACxD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,aAAa,IAAI,yCAAmB,EACzC,IAAI,CAAC,gBAAgB,CACxB,CAAC,YAAY,EAAE,CAAC;QAEjB,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAc,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7E,OAAO;YACH,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,YAAY;SACvB,CAAC;IACN,CAAC;IAEM,YAAY;QACf,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,GAAG;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IAEe,KAAK,CAAC,WAAW;QAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAErC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CACpD,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,mBAAmB,CAC3B,CAAC;QACF,2CAA2C;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAEe,KAAK,CAAC,OAAO,CACzB,OAAmC,EACnC,gBAAgB,GAAG,IAAI,EACvB,SAAoB,IAAI,sBAAS,CAAC,CAAC,CAAC;QAEpC,IAAI,gBAAgB,EAAE;YAClB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM,IAAI,gCAAuB,EAAE,CAAC;aACvC;SACJ;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,2GAA2G;QAC3G,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CACjC,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,IAAI,CAAC,mBAAmB,EACxB,aAAa,EACb,OAAO,CACV,CAAC;IACN,CAAC;CACJ;AAnND,0CAmNC"}
@@ -5,4 +5,16 @@ interface ZetaChainForeignCoinInfo {
5
5
  zrc20_contract_address: string;
6
6
  liquidity_cap: string;
7
7
  }
8
+ export interface QuoteRequest {
9
+ fromAmount: string;
10
+ fromChainId: number;
11
+ fromToken: string;
12
+ toChainId: number;
13
+ toToken: string;
14
+ }
15
+ export interface QuoteResponse {
16
+ destChainGasFees: string;
17
+ outputAmount: string;
18
+ srcChainGasFees: string;
19
+ }
8
20
  export {};
@@ -0,0 +1,4 @@
1
+ import BigNumber from 'bignumber.js';
2
+ export interface EddyQuoteController {
3
+ calculateToAmount(): Promise<BigNumber>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=eddy-quote-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eddy-quote-controller.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-quote-controller.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { EvmEncodeConfig } from '../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config';
2
+ export interface EddySwapController {
3
+ getEvmConfig(): EvmEncodeConfig;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=eddy-swap-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eddy-swap-controller.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/models/eddy-swap-controller.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
- import BigNumber from 'bignumber.js';
2
1
  import { PriceTokenAmount } from '../../../../../../common/tokens';
3
2
  import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
3
+ import { RequiredCrossChainOptions } from '../../../models/cross-chain-options';
4
4
  import { GasData } from '../../common/emv-cross-chain-trade/models/gas-data';
5
5
  import { FeeInfo } from '../../common/models/fee-info';
6
6
  import { RubicStep } from '../../common/models/rubicStep';
@@ -12,6 +12,7 @@ export interface EddyBridgeGetGasDataParams {
12
12
  providerAddress: string;
13
13
  slippage: number;
14
14
  routingDirection: EddyRoutingDirection;
15
+ quoteOptions: RequiredCrossChainOptions;
15
16
  }
16
17
  export interface EddyBridgeTradeConstructorParams {
17
18
  crossChainTrade: {
@@ -21,8 +22,8 @@ export interface EddyBridgeTradeConstructorParams {
21
22
  feeInfo: FeeInfo;
22
23
  priceImpact: number | null;
23
24
  slippage: number;
24
- prevGasAmountInNonZetaChain: BigNumber | undefined;
25
25
  routingDirection: EddyRoutingDirection;
26
+ quoteOptions: RequiredCrossChainOptions;
26
27
  };
27
28
  providerAddress: string;
28
29
  routePath: RubicStep[];
@@ -1,3 +1,7 @@
1
+ import { PriceTokenAmount } from '../../../../../../common/tokens';
2
+ import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
3
+ import { QuoteRequest, QuoteResponse } from '../models/eddy-bridge-api-types';
1
4
  export declare class EddyBridgeApiService {
2
- static getWeiTokenLimitInForeignChain(tokenSymbol: string): Promise<string>;
5
+ static getWeiTokenLimitInForeignChain(fromWithoutFee: PriceTokenAmount<EvmBlockchainName>): Promise<string>;
6
+ static fetchRates(params: QuoteRequest): Promise<QuoteResponse>;
3
7
  }
@@ -4,17 +4,21 @@ exports.EddyBridgeApiService = void 0;
4
4
  const errors_1 = require("../../../../../../common/errors");
5
5
  const blockchain_1 = require("../../../../../../common/utils/blockchain");
6
6
  const injector_1 = require("../../../../../../core/injector/injector");
7
- const eddy_bridge_contract_addresses_1 = require("../constants/eddy-bridge-contract-addresses");
7
+ const find_transit_token_address_1 = require("../utils/find-transit-token-address");
8
8
  class EddyBridgeApiService {
9
- static async getWeiTokenLimitInForeignChain(tokenSymbol) {
9
+ static async getWeiTokenLimitInForeignChain(fromWithoutFee) {
10
10
  const { foreignCoins } = await injector_1.Injector.httpClient.get(`https://zetachain.blockpi.network/lcd/v1/public/zeta-chain/fungible/foreign_coins`);
11
- const zrc20TokenAddress = eddy_bridge_contract_addresses_1.TOKEN_SYMBOL_TO_ZETACHAIN_ADDRESS[tokenSymbol];
11
+ const zrc20TokenAddress = (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(fromWithoutFee);
12
12
  const tokenInfo = foreignCoins.find(token => (0, blockchain_1.compareAddresses)(token.zrc20_contract_address, zrc20TokenAddress));
13
13
  if (!tokenInfo) {
14
14
  throw new errors_1.NotSupportedTokensError();
15
15
  }
16
16
  return tokenInfo.liquidity_cap;
17
17
  }
18
+ static async fetchRates(params) {
19
+ const api = 'https://api.eddy.finance/api/v1/swap/get-quote-bridge';
20
+ return injector_1.Injector.httpClient.post(api, params);
21
+ }
18
22
  }
19
23
  exports.EddyBridgeApiService = EddyBridgeApiService;
20
24
  //# sourceMappingURL=eddy-bridge-api-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eddy-bridge-api-service.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-api-service.ts"],"names":[],"mappings":";;;AAAA,8CAA4D;AAC5D,4DAA+D;AAC/D,yDAAsD;AAEtD,gGAAgG;AAGhG,MAAa,oBAAoB;IACtB,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,WAAmB;QAClE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAClD,mFAAmF,CACtF,CAAC;QACF,MAAM,iBAAiB,GAAG,kEAAiC,CAAC,WAAW,CAAE,CAAC;QAE1E,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACxC,IAAA,6BAAgB,EAAC,KAAK,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACpE,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,gCAAuB,EAAE,CAAC;SACvC;QAED,OAAO,SAAS,CAAC,aAAa,CAAC;IACnC,CAAC;CACJ;AAjBD,oDAiBC"}
1
+ {"version":3,"file":"eddy-bridge-api-service.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-api-service.ts"],"names":[],"mappings":";;;AAAA,8CAA4D;AAE5D,4DAA+D;AAE/D,yDAAsD;AAOtD,oFAAsF;AAEtF,MAAa,oBAAoB;IACtB,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAC9C,cAAmD;QAEnD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAClD,mFAAmF,CACtF,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAA,4DAA+B,EAAC,cAAc,CAAC,CAAC;QAE1E,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACxC,IAAA,6BAAgB,EAAC,KAAK,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACpE,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,gCAAuB,EAAE,CAAC;SACvC;QAED,OAAO,SAAS,CAAC,aAAa,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAoB;QAC/C,MAAM,GAAG,GAAG,uDAAuD,CAAC;QACpE,OAAO,mBAAQ,CAAC,UAAU,CAAC,IAAI,CAAgB,GAAG,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;CACJ;AAxBD,oDAwBC"}
@@ -1,12 +1,15 @@
1
1
  import BigNumber from 'bignumber.js';
2
- import { PriceTokenAmount } from '../../../../../../common/tokens';
2
+ import { PriceToken } from '../../../../../../common/tokens';
3
3
  import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
4
4
  export declare class EddyBridgeContractService {
5
5
  static getPlatformFee(): Promise<number>;
6
- static getGasInTargetChain(from: PriceTokenAmount<EvmBlockchainName>): Promise<BigNumber>;
7
6
  /**
8
- *
9
- * @returns eddy static slippage from 0 to 1
7
+ * Eddy takes gasFee in source chain native currency
8
+ * @param toToken target chain token
9
+ */
10
+ static getGasFeeInDestChain(fromToken: PriceToken<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>): Promise<BigNumber>;
11
+ /**
12
+ * @returns eddy static slippage
10
13
  */
11
14
  static getEddySlipage(): Promise<number>;
12
15
  }
@@ -1,34 +1,67 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.EddyBridgeContractService = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const tokens_1 = require("../../../../../../common/tokens");
4
9
  const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
5
10
  const web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/web3-pure");
6
11
  const injector_1 = require("../../../../../../core/injector/injector");
7
12
  const eddy_bridge_contract_addresses_1 = require("../constants/eddy-bridge-contract-addresses");
8
13
  const edyy_bridge_abi_1 = require("../constants/edyy-bridge-abi");
9
14
  const zrc_20_token_abi_1 = require("../constants/zrc-20-token-abi");
15
+ const find_transit_token_address_1 = require("../utils/find-transit-token-address");
10
16
  class EddyBridgeContractService {
11
17
  static async getPlatformFee() {
12
- const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN);
13
- const res = await web3Public.callContractMethod(eddy_bridge_contract_addresses_1.EDDY_CONTRACT_ADDRESS_IN_ZETACHAIN, edyy_bridge_abi_1.EDDY_BRIDGE_ABI, 'platformFee', []);
14
- // eddy currently takes 1% from bridged amount (platformFee = 10, ratioToAmount in than case = 0.99)
15
- return res / 1000;
18
+ try {
19
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN);
20
+ const res = await web3Public.callContractMethod(eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN, edyy_bridge_abi_1.EDDY_BRIDGE_ABI, 'platformFee', []);
21
+ // eddy currently takes 1% from bridged amount (platformFee = 10, ratioToAmount in than case = 0.99)
22
+ return res / 1000;
23
+ }
24
+ catch (err) {
25
+ return 0;
26
+ }
16
27
  }
17
- static async getGasInTargetChain(from) {
18
- const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN);
19
- const res = await web3Public.callContractMethod(from.address, zrc_20_token_abi_1.ZRC_20_ABI, 'withdrawGasFee', []);
20
- const gasFeeNonWei = web3_pure_1.Web3Pure.fromWei(res?.[1] || 0, from.decimals);
21
- return gasFeeNonWei;
28
+ /**
29
+ * Eddy takes gasFee in source chain native currency
30
+ * @param toToken target chain token
31
+ */
32
+ static async getGasFeeInDestChain(fromToken, toToken) {
33
+ try {
34
+ if (fromToken.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN) {
35
+ return new bignumber_js_1.default(0);
36
+ }
37
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN);
38
+ const res = await web3Public.callContractMethod((0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(toToken), zrc_20_token_abi_1.ZRC_20_ABI, 'withdrawGasFee', []);
39
+ const { zrc20GasFeeTokenAddress, zrc20WeiAmount } = res;
40
+ const zrc20TokenWithPrice = await tokens_1.PriceToken.createToken({
41
+ address: zrc20GasFeeTokenAddress,
42
+ blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN
43
+ });
44
+ const gasFeeUsdt = web3_pure_1.Web3Pure.fromWei(zrc20WeiAmount || 0, zrc20TokenWithPrice.decimals).multipliedBy(zrc20TokenWithPrice.price);
45
+ const gasFeeInSrcTokenEquivalent = gasFeeUsdt.dividedBy(fromToken.price);
46
+ return gasFeeInSrcTokenEquivalent;
47
+ }
48
+ catch (err) {
49
+ throw err;
50
+ }
22
51
  }
23
52
  /**
24
- *
25
- * @returns eddy static slippage from 0 to 1
53
+ * @returns eddy static slippage
26
54
  */
27
55
  static async getEddySlipage() {
28
- const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN);
29
- const res = await web3Public.callContractMethod(eddy_bridge_contract_addresses_1.EDDY_CONTRACT_ADDRESS_IN_ZETACHAIN, edyy_bridge_abi_1.EDDY_BRIDGE_ABI, 'slippage', []);
30
- // if res equals to 10 then 10 / 1000 = 1%
31
- return res / 1000;
56
+ try {
57
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN);
58
+ const res = await web3Public.callContractMethod(eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN, edyy_bridge_abi_1.EDDY_BRIDGE_ABI, 'slippage', []);
59
+ // if res equals to 10 then 10 / 1000 = 1%
60
+ return res / 1000;
61
+ }
62
+ catch (err) {
63
+ return 0.02;
64
+ }
32
65
  }
33
66
  }
34
67
  exports.EddyBridgeContractService = EddyBridgeContractService;
@@ -1 +1 @@
1
- {"version":3,"file":"eddy-bridge-contract-service.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.ts"],"names":[],"mappings":";;;AAEA,gFAAgG;AAChG,uEAAmE;AACnE,yDAAsD;AAEtD,gGAAiG;AACjG,kEAA+D;AAC/D,oEAA2D;AAE3D,MAAa,yBAAyB;IAC3B,MAAM,CAAC,KAAK,CAAC,cAAc;QAC9B,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC3C,mEAAkC,EAClC,iCAAe,EACf,aAAa,EACb,EAAE,CACL,CAAC;QACF,oGAAoG;QACpG,OAAO,GAAG,GAAG,IAAK,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,mBAAmB,CACnC,IAAyC;QAEzC,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC3C,IAAI,CAAC,OAAO,EACZ,6BAAU,EACV,gBAAgB,EAChB,EAAE,CACL,CAAC;QACF,MAAM,YAAY,GAAG,oBAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc;QAC9B,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC3C,mEAAkC,EAClC,iCAAe,EACf,UAAU,EACV,EAAE,CACL,CAAC;QACF,0CAA0C;QAC1C,OAAO,GAAG,GAAG,IAAK,CAAC;IACvB,CAAC;CACJ;AA3CD,8DA2CC"}
1
+ {"version":3,"file":"eddy-bridge-contract-service.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,8CAA+C;AAC/C,gFAAgG;AAChG,uEAAmE;AACnE,yDAAsD;AAEtD,gGAA8F;AAC9F,kEAA+D;AAC/D,oEAA2D;AAC3D,oFAAsF;AAEtF,MAAa,yBAAyB;IAC3B,MAAM,CAAC,KAAK,CAAC,cAAc;QAC9B,IAAI;YACA,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;YACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC3C,gEAA+B,EAC/B,iCAAe,EACf,aAAa,EACb,EAAE,CACL,CAAC;YACF,oGAAoG;YACpG,OAAO,GAAG,GAAG,IAAK,CAAC;SACtB;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,CAAC;SACZ;IACL,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CACpC,SAAwC,EACxC,OAAsC;QAEtC,IAAI;YACA,IAAI,SAAS,CAAC,UAAU,KAAK,iCAAe,CAAC,SAAS,EAAE;gBACpD,OAAO,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;aAC3B;YAED,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;YACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAG5C,IAAA,4DAA+B,EAAC,OAAO,CAAC,EAAE,6BAAU,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC/E,MAAM,EAAE,uBAAuB,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC;YAExD,MAAM,mBAAmB,GAAG,MAAM,mBAAU,CAAC,WAAW,CAAC;gBACrD,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE,iCAAe,CAAC,SAAS;aACxC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,oBAAQ,CAAC,OAAO,CAC/B,cAAc,IAAI,CAAC,EACnB,mBAAmB,CAAC,QAAQ,CAC/B,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,0BAA0B,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEzE,OAAO,0BAA0B,CAAC;SACrC;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,CAAC;SACb;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc;QAC9B,IAAI;YACA,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;YACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC3C,gEAA+B,EAC/B,iCAAe,EACf,UAAU,EACV,EAAE,CACL,CAAC;YACF,0CAA0C;YAC1C,OAAO,GAAG,GAAG,IAAK,CAAC;SACtB;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,IAAI,CAAC;SACf;IACL,CAAC;CACJ;AAvED,8DAuEC"}
@@ -0,0 +1,3 @@
1
+ import { PriceToken, PriceTokenAmount } from '../../../../../../common/tokens';
2
+ import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
3
+ export declare const calculateRates: (from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, slippage: number) => Promise<string>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateRates = void 0;
4
+ const blockchain_id_1 = require("../../../../../../core/blockchain/utils/blockchains-info/constants/blockchain-id");
5
+ const web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/web3-pure");
6
+ const eddy_bridge_api_service_1 = require("../services/eddy-bridge-api-service");
7
+ const eddy_bridge_contract_service_1 = require("../services/eddy-bridge-contract-service");
8
+ const eddy_quoter_controller_factory_1 = require("./eddy-quoter-controller-factory");
9
+ const find_api_token_address_1 = require("./find-api-token-address");
10
+ const calculateRates = async (from, toToken, slippage) => {
11
+ try {
12
+ const zrcFrom = (0, find_api_token_address_1.findApiTokenAddress)(from);
13
+ const zrcTo = (0, find_api_token_address_1.findApiTokenAddress)(toToken);
14
+ const fromChainId = blockchain_id_1.blockchainId[from.blockchain];
15
+ const toChainId = blockchain_id_1.blockchainId[toToken.blockchain];
16
+ const quoteParams = {
17
+ fromAmount: from.stringWeiAmount,
18
+ fromChainId: fromChainId,
19
+ fromToken: zrcFrom,
20
+ toChainId: toChainId,
21
+ toToken: zrcTo
22
+ };
23
+ const rates = await eddy_bridge_api_service_1.EddyBridgeApiService.fetchRates(quoteParams);
24
+ return rates.outputAmount;
25
+ }
26
+ catch {
27
+ const [eddyFee, gasFeeInSrcTokenUnits] = await Promise.all([
28
+ eddy_bridge_contract_service_1.EddyBridgeContractService.getPlatformFee(),
29
+ eddy_bridge_contract_service_1.EddyBridgeContractService.getGasFeeInDestChain(from, toToken)
30
+ ]);
31
+ const ratioToAmount = 1 - eddyFee;
32
+ const toAmount = await eddy_quoter_controller_factory_1.EddyQuoterControllerFactory.createController(from, toToken, ratioToAmount, gasFeeInSrcTokenUnits, slippage).calculateToAmount();
33
+ return web3_pure_1.Web3Pure.toWei(toAmount, toToken.decimals);
34
+ }
35
+ };
36
+ exports.calculateRates = calculateRates;
37
+ //# sourceMappingURL=calculate-rates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-rates.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/calculate-rates.ts"],"names":[],"mappings":";;;AAEA,sGAAkG;AAClG,uEAAmE;AAEnE,iJAA2I;AAC3I,2JAAqJ;AACrJ,4JAAsJ;AACtJ,4IAAsI;AAE/H,MAAM,cAAc,GAAG,KAAK,EAC/B,IAAyC,EACzC,OAAsC,EACtC,QAAgB,EACD,EAAE;IACjB,IAAI;QACA,MAAM,OAAO,GAAG,IAAA,4CAAmB,EAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAA,4CAAmB,EAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,4BAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,4BAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAiB;YAC9B,UAAU,EAAE,IAAI,CAAC,eAAe;YAChC,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,KAAK;SACjB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,8CAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC,YAAY,CAAC;KAC7B;IAAC,MAAM;QACJ,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvD,wDAAyB,CAAC,cAAc,EAAE;YAC1C,wDAAyB,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC;QAElC,MAAM,QAAQ,GAAG,MAAM,4DAA2B,CAAC,gBAAgB,CAC/D,IAAI,EACJ,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,QAAQ,CACX,CAAC,iBAAiB,EAAE,CAAC;QAEtB,OAAO,oBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;KACrD;AACL,CAAC,CAAC;AArCW,QAAA,cAAc,kBAqCzB"}
@@ -2,8 +2,24 @@ import { PriceToken, PriceTokenAmount } from '../../../../../../common/tokens';
2
2
  import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
3
3
  export declare const ERD: {
4
4
  readonly ANY_CHAIN_NATIVE_TO_ZETA_NATIVE: "ANY_CHAIN_NATIVE_TO_ZETA_NATIVE";
5
- readonly ZETA_NATIVE_TO_ANY_CHAIN_NATIVE: "ZETA_NATIVE_TO_ANY_CHAIN_NATIVE";
6
- readonly ZETA_TOKEN_TO_ANY_CHAIN_NATIVE: "ZETA_TOKEN_TO_ANY_CHAIN_NATIVE";
5
+ readonly ANY_CHAIN_NATIVE_TO_ZETA_TOKEN: "ANY_CHAIN_NATIVE_TO_ZETA_TOKEN";
6
+ readonly ZETA_NATIVE_TO_ANY_CHAIN_ALL: "ZETA_NATIVE_TO_ANY_CHAIN_ALL";
7
+ readonly ZETA_TOKEN_TO_ANY_CHAIN_ALL: "ZETA_TOKEN_TO_ANY_CHAIN_ALL";
8
+ readonly ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN: "ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN";
9
+ readonly ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN: "ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN";
10
+ readonly ANY_CHAIN_TOKEN_TO_ZETA_TOKEN: "ANY_CHAIN_TOKEN_TO_ZETA_TOKEN";
7
11
  };
8
12
  export type EddyRoutingDirection = (typeof ERD)[keyof typeof ERD];
13
+ export declare const EDDY_CALCULATION_TYPES: {
14
+ readonly DIRECT_BRIDGE: "DIRECT_BRIDGE";
15
+ readonly SWAP_FROM_ZETACHAIN: "SWAP_FROM_ZETACHAIN";
16
+ readonly SWAP_TO_ZETACHAIN: "SWAP_TO_ZETACHAIN";
17
+ readonly SWAP_BETWEEN_OTHER_CHAINS: "SWAP_BETWEEN_OTHER_CHAINS";
18
+ };
19
+ export type EddyCalculationType = (typeof EDDY_CALCULATION_TYPES)[keyof typeof EDDY_CALCULATION_TYPES];
9
20
  export declare function eddyRoutingDirection(from: PriceTokenAmount<EvmBlockchainName>, to: PriceToken<EvmBlockchainName>): EddyRoutingDirection;
21
+ /**
22
+ * Check if route is Bsc(ETH) <-> Ethereum(ETH), Ethereum(USDT) <-> Zetachain(USDT.ETH) etc.
23
+ */
24
+ export declare function isDirectBridge(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>): boolean;
25
+ export declare function getEddyCalculationType(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>): EddyCalculationType;
@@ -1,28 +1,78 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eddyRoutingDirection = exports.ERD = void 0;
3
+ exports.getEddyCalculationType = exports.isDirectBridge = exports.eddyRoutingDirection = exports.EDDY_CALCULATION_TYPES = exports.ERD = void 0;
4
4
  const errors_1 = require("../../../../../../common/errors");
5
5
  const blockchain_1 = require("../../../../../../common/utils/blockchain");
6
6
  const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
7
7
  const eddy_bridge_contract_addresses_1 = require("../constants/eddy-bridge-contract-addresses");
8
+ const find_transit_token_address_1 = require("./find-transit-token-address");
8
9
  // Eddy Routing Direction
9
10
  exports.ERD = {
10
11
  ANY_CHAIN_NATIVE_TO_ZETA_NATIVE: 'ANY_CHAIN_NATIVE_TO_ZETA_NATIVE',
11
- ZETA_NATIVE_TO_ANY_CHAIN_NATIVE: 'ZETA_NATIVE_TO_ANY_CHAIN_NATIVE',
12
- ZETA_TOKEN_TO_ANY_CHAIN_NATIVE: 'ZETA_TOKEN_TO_ANY_CHAIN_NATIVE'
12
+ ANY_CHAIN_NATIVE_TO_ZETA_TOKEN: 'ANY_CHAIN_NATIVE_TO_ZETA_TOKEN',
13
+ ZETA_NATIVE_TO_ANY_CHAIN_ALL: 'ZETA_NATIVE_TO_ANY_CHAIN_ALL',
14
+ ZETA_TOKEN_TO_ANY_CHAIN_ALL: 'ZETA_TOKEN_TO_ANY_CHAIN_ALL',
15
+ ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN: 'ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN',
16
+ ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN: 'ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN',
17
+ ANY_CHAIN_TOKEN_TO_ZETA_TOKEN: 'ANY_CHAIN_TOKEN_TO_ZETA_TOKEN'
13
18
  };
19
+ exports.EDDY_CALCULATION_TYPES = {
20
+ DIRECT_BRIDGE: 'DIRECT_BRIDGE',
21
+ SWAP_FROM_ZETACHAIN: 'SWAP_FROM_ZETACHAIN',
22
+ SWAP_TO_ZETACHAIN: 'SWAP_TO_ZETACHAIN',
23
+ SWAP_BETWEEN_OTHER_CHAINS: 'SWAP_BETWEEN_OTHER_CHAINS'
24
+ };
25
+ // eslint-disable-next-line complexity
14
26
  function eddyRoutingDirection(from, to) {
15
- if (from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN &&
16
- Object.values(eddy_bridge_contract_addresses_1.TOKEN_SYMBOL_TO_ZETACHAIN_ADDRESS).some(zrc20Address => (0, blockchain_1.compareAddresses)(zrc20Address, from.address))) {
17
- return exports.ERD.ZETA_TOKEN_TO_ANY_CHAIN_NATIVE;
18
- }
19
- if (from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN && from.isNative) {
20
- return exports.ERD.ZETA_NATIVE_TO_ANY_CHAIN_NATIVE;
27
+ if (from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN) {
28
+ const isSupportedFromToken = eddy_bridge_contract_addresses_1.ZETA_CHAIN_SUPPORTED_TOKENS.some(zrcToken => (0, blockchain_1.compareAddresses)(zrcToken.address, from.address));
29
+ const isSupportedToToken = !!(0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(to);
30
+ if (from.isNative && isSupportedToToken)
31
+ return exports.ERD.ZETA_NATIVE_TO_ANY_CHAIN_ALL;
32
+ if (isSupportedFromToken && isSupportedToToken)
33
+ return exports.ERD.ZETA_TOKEN_TO_ANY_CHAIN_ALL;
21
34
  }
22
- if (from.blockchain !== blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN && from.isNative && to.isNative) {
23
- return exports.ERD.ANY_CHAIN_NATIVE_TO_ZETA_NATIVE;
35
+ if (from.blockchain !== blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN &&
36
+ to.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN) {
37
+ const isSupportedToToken = eddy_bridge_contract_addresses_1.ZETA_CHAIN_SUPPORTED_TOKENS.some(zrcToken => (0, blockchain_1.compareAddresses)(zrcToken.address, to.address));
38
+ const isSupportedFromToken = !!(0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(from);
39
+ if (from.isNative && to.isNative)
40
+ return exports.ERD.ANY_CHAIN_NATIVE_TO_ZETA_NATIVE;
41
+ if (from.isNative && isSupportedToToken)
42
+ return exports.ERD.ANY_CHAIN_NATIVE_TO_ZETA_TOKEN;
43
+ if (!from.isNative && isSupportedToToken && isSupportedFromToken && !to.isNative) {
44
+ return exports.ERD.ANY_CHAIN_TOKEN_TO_ZETA_TOKEN;
45
+ }
24
46
  }
47
+ // BSC <-> ETH routes are not supported
48
+ // if (
49
+ // from.blockchain !== BLOCKCHAIN_NAME.ZETACHAIN &&
50
+ // to.blockchain !== BLOCKCHAIN_NAME.ZETACHAIN
51
+ // ) {
52
+ // if (from.isNative && !to.isNative) return ERD.ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN;
53
+ // if (!from.isNative && !to.isNative) return ERD.ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN;
54
+ // }
25
55
  throw new errors_1.NotSupportedTokensError();
26
56
  }
27
57
  exports.eddyRoutingDirection = eddyRoutingDirection;
58
+ /**
59
+ * Check if route is Bsc(ETH) <-> Ethereum(ETH), Ethereum(USDT) <-> Zetachain(USDT.ETH) etc.
60
+ */
61
+ function isDirectBridge(from, toToken) {
62
+ return (0, blockchain_1.compareAddresses)(from.symbol, toToken.symbol);
63
+ }
64
+ exports.isDirectBridge = isDirectBridge;
65
+ function getEddyCalculationType(from, toToken) {
66
+ if (isDirectBridge(from, toToken)) {
67
+ return exports.EDDY_CALCULATION_TYPES.DIRECT_BRIDGE;
68
+ }
69
+ if (from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN) {
70
+ return exports.EDDY_CALCULATION_TYPES.SWAP_FROM_ZETACHAIN;
71
+ }
72
+ if (toToken.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN) {
73
+ return exports.EDDY_CALCULATION_TYPES.SWAP_TO_ZETACHAIN;
74
+ }
75
+ return exports.EDDY_CALCULATION_TYPES.SWAP_BETWEEN_OTHER_CHAINS;
76
+ }
77
+ exports.getEddyCalculationType = getEddyCalculationType;
28
78
  //# sourceMappingURL=eddy-bridge-routing-directions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eddy-bridge-routing-directions.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.ts"],"names":[],"mappings":";;;AAAA,8CAA4D;AAE5D,4DAA+D;AAC/D,gFAAgG;AAEhG,gGAAgG;AAEhG,yBAAyB;AACZ,QAAA,GAAG,GAAG;IACf,+BAA+B,EAAE,iCAAiC;IAClE,+BAA+B,EAAE,iCAAiC;IAClE,8BAA8B,EAAE,gCAAgC;CAC1D,CAAC;AAIX,SAAgB,oBAAoB,CAChC,IAAyC,EACzC,EAAiC;IAEjC,IACI,IAAI,CAAC,UAAU,KAAK,iCAAe,CAAC,SAAS;QAC7C,MAAM,CAAC,MAAM,CAAC,kEAAiC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CACjE,IAAA,6BAAgB,EAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAC/C,EACH;QACE,OAAO,WAAG,CAAC,8BAA8B,CAAC;KAC7C;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,iCAAe,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;QAChE,OAAO,WAAG,CAAC,+BAA+B,CAAC;KAC9C;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,iCAAe,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE;QAC/E,OAAO,WAAG,CAAC,+BAA+B,CAAC;KAC9C;IACD,MAAM,IAAI,gCAAuB,EAAE,CAAC;AACxC,CAAC;AAnBD,oDAmBC"}
1
+ {"version":3,"file":"eddy-bridge-routing-directions.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { PriceToken, PriceTokenAmount } from '../../../../../../common/tokens';
3
+ import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
4
+ import { EddyQuoteController } from '../models/eddy-quote-controller';
5
+ export declare class EddyQuoterControllerFactory {
6
+ private static readonly calculators;
7
+ private constructor();
8
+ static createController(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, ratioToAmount: number, gasFeeInSrcTokenUnits: BigNumber, slippageTolerance: number): EddyQuoteController;
9
+ private static calculateDirectBridge;
10
+ private static calculateSwapFromZetachain;
11
+ private static calculateSwapToZetachain;
12
+ private static calculateSwapBetweenOtherChains;
13
+ private static calculateOnChainToAmount;
14
+ }