rubic-sdk 4.45.3 → 4.46.0

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 (117) hide show
  1. package/dist/rubic-sdk.min.js +1388 -9
  2. package/dist/rubic-sdk.min.js.map +1 -1
  3. package/lib/common/tokens/token.js +1 -1
  4. package/lib/common/tokens/token.js.map +1 -1
  5. package/lib/core/blockchain/models/blockchain-name.d.ts +2 -0
  6. package/lib/core/blockchain/models/blockchain-name.js +1 -0
  7. package/lib/core/blockchain/models/blockchain-name.js.map +1 -1
  8. package/lib/core/blockchain/models/chain-type.d.ts +1 -1
  9. package/lib/core/blockchain/models/chain-type.js +1 -1
  10. package/lib/core/blockchain/models/chain-type.js.map +1 -1
  11. package/lib/core/blockchain/web3-private-service/models/web-private-supported-blockchain.d.ts +1 -1
  12. package/lib/core/blockchain/web3-public-service/models/web3-public-storage.d.ts +1 -1
  13. package/lib/features/common/providers/rango/constants/rango-api-common.d.ts +2 -0
  14. package/lib/features/common/providers/rango/constants/rango-api-common.js +6 -0
  15. package/lib/features/common/providers/rango/constants/rango-api-common.js.map +1 -0
  16. package/lib/features/common/providers/rango/constants/rango-contract-address.d.ts +3 -0
  17. package/lib/features/common/providers/rango/constants/rango-contract-address.js +73 -0
  18. package/lib/features/common/providers/rango/constants/rango-contract-address.js.map +1 -0
  19. package/lib/features/common/providers/rango/models/rango-api-best-route-types.d.ts +54 -0
  20. package/lib/features/common/providers/rango/models/rango-api-best-route-types.js +3 -0
  21. package/lib/features/common/providers/rango/models/rango-api-best-route-types.js.map +1 -0
  22. package/lib/features/common/providers/rango/models/rango-api-blockchain-names.d.ts +3 -0
  23. package/lib/features/common/providers/rango/models/rango-api-blockchain-names.js +20 -0
  24. package/lib/features/common/providers/rango/models/rango-api-blockchain-names.js.map +1 -0
  25. package/lib/features/common/providers/rango/models/rango-api-common-types.d.ts +26 -0
  26. package/lib/features/common/providers/rango/models/rango-api-common-types.js +10 -0
  27. package/lib/features/common/providers/rango/models/rango-api-common-types.js.map +1 -0
  28. package/lib/features/common/providers/rango/models/rango-api-status-types.d.ts +38 -0
  29. package/lib/features/common/providers/rango/models/rango-api-status-types.js +9 -0
  30. package/lib/features/common/providers/rango/models/rango-api-status-types.js.map +1 -0
  31. package/lib/features/common/providers/rango/models/rango-api-swap-types.d.ts +56 -0
  32. package/lib/features/common/providers/rango/models/rango-api-swap-types.js +3 -0
  33. package/lib/features/common/providers/rango/models/rango-api-swap-types.js.map +1 -0
  34. package/lib/features/common/providers/rango/models/rango-api-symbol-names.d.ts +3 -0
  35. package/lib/features/common/providers/rango/models/rango-api-symbol-names.js +20 -0
  36. package/lib/features/common/providers/rango/models/rango-api-symbol-names.js.map +1 -0
  37. package/lib/features/common/providers/rango/models/rango-api-trade-types.d.ts +125 -0
  38. package/lib/features/common/providers/rango/models/rango-api-trade-types.js +69 -0
  39. package/lib/features/common/providers/rango/models/rango-api-trade-types.js.map +1 -0
  40. package/lib/features/common/providers/rango/models/rango-parser-types.d.ts +37 -0
  41. package/lib/features/common/providers/rango/models/rango-parser-types.js +3 -0
  42. package/lib/features/common/providers/rango/models/rango-parser-types.js.map +1 -0
  43. package/lib/features/common/providers/rango/models/rango-supported-blockchains.d.ts +2 -0
  44. package/lib/features/common/providers/rango/models/rango-supported-blockchains.js +20 -0
  45. package/lib/features/common/providers/rango/models/rango-supported-blockchains.js.map +1 -0
  46. package/lib/features/common/providers/rango/services/rango-parser.d.ts +13 -0
  47. package/lib/features/common/providers/rango/services/rango-parser.js +56 -0
  48. package/lib/features/common/providers/rango/services/rango-parser.js.map +1 -0
  49. package/lib/features/common/providers/rango/utils/rango-utils.d.ts +18 -0
  50. package/lib/features/common/providers/rango/utils/rango-utils.js +63 -0
  51. package/lib/features/common/providers/rango/utils/rango-utils.js.map +1 -0
  52. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.d.ts +2 -1
  53. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js +3 -1
  54. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js.map +1 -1
  55. package/lib/features/cross-chain/calculation-manager/models/cross-chain-options.d.ts +5 -0
  56. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.d.ts +1 -0
  57. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js +2 -1
  58. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js.map +1 -1
  59. package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.d.ts +1 -1
  60. package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.d.ts +1 -0
  61. package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.js.map +1 -1
  62. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.d.ts +4 -0
  63. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js +4 -0
  64. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js.map +1 -1
  65. package/lib/features/cross-chain/calculation-manager/providers/common/models/bridge-type.d.ts +8 -2
  66. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.d.ts +7 -1
  67. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.js +6 -1
  68. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.js.map +1 -1
  69. package/lib/features/cross-chain/calculation-manager/providers/common/models/rubicStep.d.ts +2 -2
  70. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.d.ts +8 -0
  71. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.js +3 -0
  72. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.js.map +1 -0
  73. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.d.ts +32 -0
  74. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.js +3 -0
  75. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.js.map +1 -0
  76. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.d.ts +21 -0
  77. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js +111 -0
  78. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js.map +1 -0
  79. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.d.ts +48 -0
  80. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js +210 -0
  81. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js.map +1 -0
  82. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.d.ts +12 -0
  83. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.js +36 -0
  84. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.js.map +1 -0
  85. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.d.ts +4 -0
  86. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.js +37 -0
  87. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.js.map +1 -0
  88. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js +1 -1
  89. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js.map +1 -1
  90. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.d.ts +1 -0
  91. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js +25 -1
  92. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js.map +1 -1
  93. package/lib/features/on-chain/calculation-manager/on-chain-manager.d.ts +3 -0
  94. package/lib/features/on-chain/calculation-manager/on-chain-manager.js +34 -2
  95. package/lib/features/on-chain/calculation-manager/on-chain-manager.js.map +1 -1
  96. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.d.ts +14 -0
  97. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.js +14 -0
  98. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.js.map +1 -1
  99. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.d.ts +2 -0
  100. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.js +19 -0
  101. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.js.map +1 -0
  102. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.d.ts +5 -0
  103. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.js +3 -0
  104. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.js.map +1 -0
  105. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.d.ts +17 -0
  106. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.js +105 -0
  107. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.js.map +1 -0
  108. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.d.ts +22 -0
  109. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.js +114 -0
  110. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.js.map +1 -0
  111. package/lib/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.d.ts +12 -0
  112. package/lib/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.js +36 -0
  113. package/lib/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.js.map +1 -0
  114. package/lib/index.d.ts +24 -0
  115. package/lib/index.js +24 -0
  116. package/lib/index.js.map +1 -1
  117. package/package.json +1 -2
@@ -171458,7 +171458,7 @@ class Token {
171458
171458
  get isNative() {
171459
171459
  const chainType = blockchains_info_1.BlockchainsInfo.getChainType(this.blockchain);
171460
171460
  if (chainType && web3_pure_1.Web3Pure[chainType].isNativeAddress(this.address)) {
171461
- return web3_pure_1.Web3Pure[blockchains_info_1.BlockchainsInfo.getChainType(this.blockchain)].isNativeAddress(this.address);
171461
+ return web3_pure_1.Web3Pure[chainType].isNativeAddress(this.address);
171462
171462
  }
171463
171463
  return this.address === web3_pure_1.Web3Pure[chainType].nativeTokenAddress;
171464
171464
  }
@@ -172190,6 +172190,7 @@ exports.EVM_BLOCKCHAIN_NAME = {
172190
172190
  DFK: 'DEFIKINGDOMS',
172191
172191
  KLAYTN: 'KLAYTN',
172192
172192
  VELAS: 'VELAS',
172193
+ STARKNET: 'STARKNET',
172193
172194
  SYSCOIN: 'SYSCOIN',
172194
172195
  ETHEREUM_CLASSIC: 'ETHEREUM_CLASSIC',
172195
172196
  FLARE: 'FLARE',
@@ -172350,9 +172351,9 @@ exports.CHAIN_TYPE = {
172350
172351
  RAVENCOIN: 'RAVENCOIN',
172351
172352
  SIA: 'SIA',
172352
172353
  SECRET: 'SECRET',
172354
+ STACKS: 'STACKS',
172353
172355
  STEEM: 'STEEM',
172354
172356
  STRATIS: 'STRATIS',
172355
- STACKS: 'STACKS',
172356
172357
  SOLAR: 'SOLAR',
172357
172358
  TON: 'TON',
172358
172359
  VE_CHAIN: 'VE_CHAIN',
@@ -178085,6 +178086,491 @@ function getLifiConfig() {
178085
178086
  exports.getLifiConfig = getLifiConfig;
178086
178087
 
178087
178088
 
178089
+ /***/ }),
178090
+
178091
+ /***/ "./src/features/common/providers/rango/constants/rango-api-common.ts":
178092
+ /*!***************************************************************************!*\
178093
+ !*** ./src/features/common/providers/rango/constants/rango-api-common.ts ***!
178094
+ \***************************************************************************/
178095
+ /***/ ((__unused_webpack_module, exports) => {
178096
+
178097
+ "use strict";
178098
+
178099
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178100
+ exports.RANGO_API_ENDPOINT = exports.RANGO_API_KEY = void 0;
178101
+ exports.RANGO_API_KEY = 'a24ca428-a18e-4e84-b57f-edb3e2a5bf13';
178102
+ exports.RANGO_API_ENDPOINT = 'https://api.rango.exchange/basic';
178103
+
178104
+
178105
+ /***/ }),
178106
+
178107
+ /***/ "./src/features/common/providers/rango/constants/rango-contract-address.ts":
178108
+ /*!*********************************************************************************!*\
178109
+ !*** ./src/features/common/providers/rango/constants/rango-contract-address.ts ***!
178110
+ \*********************************************************************************/
178111
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
178112
+
178113
+ "use strict";
178114
+
178115
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178116
+ exports.RangoContractAddresses = void 0;
178117
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
178118
+ const rubic_proxy_contract_address_1 = __webpack_require__(/*! ../../../../cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address */ "./src/features/cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address.ts");
178119
+ exports.RangoContractAddresses = {
178120
+ [blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM]: {
178121
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178122
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178123
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178124
+ },
178125
+ [blockchain_name_1.BLOCKCHAIN_NAME.POLYGON]: {
178126
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178127
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178128
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178129
+ },
178130
+ [blockchain_name_1.BLOCKCHAIN_NAME.OPTIMISM]: {
178131
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178132
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178133
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178134
+ },
178135
+ [blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM]: {
178136
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178137
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178138
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178139
+ },
178140
+ [blockchain_name_1.BLOCKCHAIN_NAME.AVALANCHE]: {
178141
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178142
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178143
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178144
+ },
178145
+ [blockchain_name_1.BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN]: {
178146
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178147
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178148
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178149
+ },
178150
+ [blockchain_name_1.BLOCKCHAIN_NAME.CRONOS]: {
178151
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178152
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178153
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178154
+ },
178155
+ [blockchain_name_1.BLOCKCHAIN_NAME.POLYGON_ZKEVM]: {
178156
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178157
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178158
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178159
+ },
178160
+ [blockchain_name_1.BLOCKCHAIN_NAME.AURORA]: {
178161
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178162
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178163
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178164
+ },
178165
+ [blockchain_name_1.BLOCKCHAIN_NAME.LINEA]: {
178166
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178167
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178168
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178169
+ },
178170
+ [blockchain_name_1.BLOCKCHAIN_NAME.METIS]: {
178171
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178172
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178173
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178174
+ },
178175
+ // [BLOCKCHAIN_NAME.ZK_SYNC]: {
178176
+ // providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178177
+ // providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178178
+ // rubicRouter: rubicProxyContractAddress[BLOCKCHAIN_NAME.ETHEREUM].router
178179
+ // },
178180
+ [blockchain_name_1.BLOCKCHAIN_NAME.BASE]: {
178181
+ providerGateway: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178182
+ providerRouter: '0x69460570c93f9DE5E2edbC3052bf10125f0Ca22d',
178183
+ rubicRouter: rubic_proxy_contract_address_1.rubicProxyContractAddress[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].router
178184
+ }
178185
+ };
178186
+
178187
+
178188
+ /***/ }),
178189
+
178190
+ /***/ "./src/features/common/providers/rango/models/rango-api-best-route-types.ts":
178191
+ /*!**********************************************************************************!*\
178192
+ !*** ./src/features/common/providers/rango/models/rango-api-best-route-types.ts ***!
178193
+ \**********************************************************************************/
178194
+ /***/ ((__unused_webpack_module, exports) => {
178195
+
178196
+ "use strict";
178197
+
178198
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178199
+
178200
+
178201
+ /***/ }),
178202
+
178203
+ /***/ "./src/features/common/providers/rango/models/rango-api-blockchain-names.ts":
178204
+ /*!**********************************************************************************!*\
178205
+ !*** ./src/features/common/providers/rango/models/rango-api-blockchain-names.ts ***!
178206
+ \**********************************************************************************/
178207
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
178208
+
178209
+ "use strict";
178210
+
178211
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178212
+ exports.rangoApiBlockchainNames = void 0;
178213
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
178214
+ exports.rangoApiBlockchainNames = {
178215
+ [blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM]: 'ETH',
178216
+ [blockchain_name_1.BLOCKCHAIN_NAME.POLYGON]: 'POLYGON',
178217
+ [blockchain_name_1.BLOCKCHAIN_NAME.OPTIMISM]: 'OPTIMISM',
178218
+ [blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM]: 'ARBITRUM',
178219
+ [blockchain_name_1.BLOCKCHAIN_NAME.AVALANCHE]: 'AVAX_CCHAIN',
178220
+ [blockchain_name_1.BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN]: 'BSC',
178221
+ [blockchain_name_1.BLOCKCHAIN_NAME.CRONOS]: 'CRONOS',
178222
+ [blockchain_name_1.BLOCKCHAIN_NAME.POLYGON_ZKEVM]: 'POLYGONZK',
178223
+ [blockchain_name_1.BLOCKCHAIN_NAME.AURORA]: 'AURORA',
178224
+ [blockchain_name_1.BLOCKCHAIN_NAME.BASE]: 'BASE',
178225
+ [blockchain_name_1.BLOCKCHAIN_NAME.METIS]: 'METIS',
178226
+ // [BLOCKCHAIN_NAME.ZK_SYNC]: 'ZKSYNC',
178227
+ [blockchain_name_1.BLOCKCHAIN_NAME.LINEA]: 'LINEA'
178228
+ };
178229
+
178230
+
178231
+ /***/ }),
178232
+
178233
+ /***/ "./src/features/common/providers/rango/models/rango-api-common-types.ts":
178234
+ /*!******************************************************************************!*\
178235
+ !*** ./src/features/common/providers/rango/models/rango-api-common-types.ts ***!
178236
+ \******************************************************************************/
178237
+ /***/ ((__unused_webpack_module, exports) => {
178238
+
178239
+ "use strict";
178240
+
178241
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178242
+ exports.RangoRoutingResult = void 0;
178243
+ exports.RangoRoutingResult = {
178244
+ OK: 'OK',
178245
+ HIGH_IMPACT: 'HIGH_IMPACT',
178246
+ NO_ROUTE: 'NO_ROUTE',
178247
+ INPUT_LIMIT_ISSUE: 'INPUT_LIMIT_ISSUE'
178248
+ };
178249
+
178250
+
178251
+ /***/ }),
178252
+
178253
+ /***/ "./src/features/common/providers/rango/models/rango-api-status-types.ts":
178254
+ /*!******************************************************************************!*\
178255
+ !*** ./src/features/common/providers/rango/models/rango-api-status-types.ts ***!
178256
+ \******************************************************************************/
178257
+ /***/ ((__unused_webpack_module, exports) => {
178258
+
178259
+ "use strict";
178260
+
178261
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178262
+ exports.RANGO_SWAP_STATUS = void 0;
178263
+ exports.RANGO_SWAP_STATUS = {
178264
+ SUCCESS: 'success',
178265
+ FAILED: 'failed',
178266
+ RUNNING: 'running'
178267
+ };
178268
+
178269
+
178270
+ /***/ }),
178271
+
178272
+ /***/ "./src/features/common/providers/rango/models/rango-api-swap-types.ts":
178273
+ /*!****************************************************************************!*\
178274
+ !*** ./src/features/common/providers/rango/models/rango-api-swap-types.ts ***!
178275
+ \****************************************************************************/
178276
+ /***/ ((__unused_webpack_module, exports) => {
178277
+
178278
+ "use strict";
178279
+
178280
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178281
+
178282
+
178283
+ /***/ }),
178284
+
178285
+ /***/ "./src/features/common/providers/rango/models/rango-api-symbol-names.ts":
178286
+ /*!******************************************************************************!*\
178287
+ !*** ./src/features/common/providers/rango/models/rango-api-symbol-names.ts ***!
178288
+ \******************************************************************************/
178289
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
178290
+
178291
+ "use strict";
178292
+
178293
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178294
+ exports.rangoApiSymbols = void 0;
178295
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
178296
+ exports.rangoApiSymbols = {
178297
+ [blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM]: 'ETH',
178298
+ [blockchain_name_1.BLOCKCHAIN_NAME.POLYGON]: 'MATIC',
178299
+ [blockchain_name_1.BLOCKCHAIN_NAME.OPTIMISM]: 'ETH',
178300
+ [blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM]: 'ETH',
178301
+ [blockchain_name_1.BLOCKCHAIN_NAME.AVALANCHE]: 'AVAX',
178302
+ [blockchain_name_1.BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN]: 'BNB',
178303
+ [blockchain_name_1.BLOCKCHAIN_NAME.CRONOS]: 'CRO',
178304
+ [blockchain_name_1.BLOCKCHAIN_NAME.POLYGON_ZKEVM]: 'ETH',
178305
+ [blockchain_name_1.BLOCKCHAIN_NAME.AURORA]: 'ETH',
178306
+ [blockchain_name_1.BLOCKCHAIN_NAME.BASE]: 'ETH',
178307
+ // [BLOCKCHAIN_NAME.ZK_SYNC]: 'ETH',
178308
+ [blockchain_name_1.BLOCKCHAIN_NAME.LINEA]: 'ETH',
178309
+ [blockchain_name_1.BLOCKCHAIN_NAME.METIS]: 'METIS'
178310
+ };
178311
+
178312
+
178313
+ /***/ }),
178314
+
178315
+ /***/ "./src/features/common/providers/rango/models/rango-api-trade-types.ts":
178316
+ /*!*****************************************************************************!*\
178317
+ !*** ./src/features/common/providers/rango/models/rango-api-trade-types.ts ***!
178318
+ \*****************************************************************************/
178319
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
178320
+
178321
+ "use strict";
178322
+
178323
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178324
+ exports.rangoTradeTypes = exports.rangoCrossChainTradeTypes = exports.rangoOnChainTradeTypes = void 0;
178325
+ const bridge_type_1 = __webpack_require__(/*! ../../../../cross-chain/calculation-manager/providers/common/models/bridge-type */ "./src/features/cross-chain/calculation-manager/providers/common/models/bridge-type.ts");
178326
+ const on_chain_trade_type_1 = __webpack_require__(/*! ../../../../on-chain/calculation-manager/providers/common/models/on-chain-trade-type */ "./src/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.ts");
178327
+ exports.rangoOnChainTradeTypes = {
178328
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE['10K_SWAP']]: '10KSwap',
178329
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.PANGOLIN]: 'Pangolin Swap',
178330
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SUSHI_SWAP]: 'Sushi Swap',
178331
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OSMOSIS_SWAP]: 'Osmosis',
178332
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.UNISWAP_V2]: 'UniSwapV2',
178333
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.VVS_FINANCE]: 'VVS Finance',
178334
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.MM_FINANCE]: 'MM Finance',
178335
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.CRONA_SWAP]: 'Crona Swap',
178336
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OOLONG_SWAP]: 'Oolong Swap',
178337
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.TRISOLARIS]: 'Trisolaris Swap',
178338
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.MOJITO_SWAP]: 'Mojito Swap',
178339
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.NET_SWAP]: 'Netswap',
178340
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.VOLTAGE_SWAP]: 'Voltage Swap',
178341
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.PANCAKE_SWAP]: 'PancakeV2',
178342
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.PANCAKE_SWAP_V3]: 'PancakeV3',
178343
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.UNI_SWAP_V3]: 'UniSwapV3',
178344
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.KYBER_SWAP]: 'KyberSwapV3',
178345
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.JUPITER]: 'Jupiter',
178346
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OPEN_OCEAN]: 'Open Ocean',
178347
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.CURVE]: 'CurveFi',
178348
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.QUICK_SWAP]: 'Quick Swap',
178349
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.XY_DEX]: 'XY Finance',
178350
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SOLAR_BEAM]: 'Solarbeam',
178351
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.AURORA_SWAP]: 'Aurora Swap',
178352
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.STELLA_SWAP]: 'Stella Swap',
178353
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.ONE_INCH]: '1Inch',
178354
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.BEAM_SWAP]: 'Beam Swap',
178355
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.PARA_SWAP]: 'ParaSwap',
178356
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SYNAPSE]: 'Synapse Swapper',
178357
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.FINKUJIRA]: 'Fin Kujira',
178358
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SOLANA]: 'Solana Wrapper',
178359
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.AVNU]: 'Avnu',
178360
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.ECHO_DEX]: 'EchoDEX',
178361
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SPACEFI_SWAP]: 'SpaceFi',
178362
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.WYND]: 'Wynd Dex',
178363
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SUN_SWAP]: 'Sun Swap',
178364
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.MDEX]: 'MDex',
178365
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OKC_SWAP]: 'Okc Swap',
178366
+ [on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.CHERRY_SWAP]: 'Cherry Swap'
178367
+ };
178368
+ exports.rangoCrossChainTradeTypes = {
178369
+ [bridge_type_1.BRIDGE_TYPE.ACROSS]: 'Across',
178370
+ [bridge_type_1.BRIDGE_TYPE.VOYAGER]: 'Voyager',
178371
+ [bridge_type_1.BRIDGE_TYPE.CBRIDGE]: 'CBridge',
178372
+ [bridge_type_1.BRIDGE_TYPE.RAINBOW]: 'Rainbow Bridge',
178373
+ [bridge_type_1.BRIDGE_TYPE.SYNAPSE]: 'Synapse Bridge',
178374
+ [bridge_type_1.BRIDGE_TYPE.OPTIMISM_GATEWAY]: 'Optimism Bridge',
178375
+ [bridge_type_1.BRIDGE_TYPE.ORBITER_BRIDGE]: 'Orbiter',
178376
+ [bridge_type_1.BRIDGE_TYPE.MAYA_PROTOCOL]: 'Maya Protocol',
178377
+ [bridge_type_1.BRIDGE_TYPE.XY]: 'XY Finance',
178378
+ [bridge_type_1.BRIDGE_TYPE.THORCHAIN]: 'ThorChain',
178379
+ [bridge_type_1.BRIDGE_TYPE.ARBITRUM_BRIDGE]: 'Arbitrum Bridge',
178380
+ [bridge_type_1.BRIDGE_TYPE.ALLBRIDGE]: 'AllBridge',
178381
+ [bridge_type_1.BRIDGE_TYPE.HYPHEN]: 'Hyphen',
178382
+ [bridge_type_1.BRIDGE_TYPE.CIRCLE_CELER_BRIDGE]: 'Circle',
178383
+ [bridge_type_1.BRIDGE_TYPE.IBC]: 'IBC',
178384
+ [bridge_type_1.BRIDGE_TYPE.STARGATE]: 'Stargate',
178385
+ [bridge_type_1.BRIDGE_TYPE.SATELLITE]: 'Satellite',
178386
+ [bridge_type_1.BRIDGE_TYPE.SYMBIOSIS]: 'Symbiosis',
178387
+ [bridge_type_1.BRIDGE_TYPE.OSMOSIS_BRIDGE]: 'Osmosis'
178388
+ };
178389
+ exports.rangoTradeTypes = { ...exports.rangoOnChainTradeTypes, ...exports.rangoCrossChainTradeTypes };
178390
+
178391
+
178392
+ /***/ }),
178393
+
178394
+ /***/ "./src/features/common/providers/rango/models/rango-parser-types.ts":
178395
+ /*!**************************************************************************!*\
178396
+ !*** ./src/features/common/providers/rango/models/rango-parser-types.ts ***!
178397
+ \**************************************************************************/
178398
+ /***/ ((__unused_webpack_module, exports) => {
178399
+
178400
+ "use strict";
178401
+
178402
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178403
+
178404
+
178405
+ /***/ }),
178406
+
178407
+ /***/ "./src/features/common/providers/rango/models/rango-supported-blockchains.ts":
178408
+ /*!***********************************************************************************!*\
178409
+ !*** ./src/features/common/providers/rango/models/rango-supported-blockchains.ts ***!
178410
+ \***********************************************************************************/
178411
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
178412
+
178413
+ "use strict";
178414
+
178415
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178416
+ exports.rangoSupportedBlockchains = void 0;
178417
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
178418
+ exports.rangoSupportedBlockchains = [
178419
+ blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM,
178420
+ blockchain_name_1.BLOCKCHAIN_NAME.POLYGON,
178421
+ blockchain_name_1.BLOCKCHAIN_NAME.OPTIMISM,
178422
+ blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM,
178423
+ blockchain_name_1.BLOCKCHAIN_NAME.AVALANCHE,
178424
+ blockchain_name_1.BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN,
178425
+ blockchain_name_1.BLOCKCHAIN_NAME.CRONOS,
178426
+ blockchain_name_1.BLOCKCHAIN_NAME.POLYGON_ZKEVM,
178427
+ blockchain_name_1.BLOCKCHAIN_NAME.AURORA,
178428
+ blockchain_name_1.BLOCKCHAIN_NAME.METIS,
178429
+ // BLOCKCHAIN_NAME.ZK_SYNC,
178430
+ blockchain_name_1.BLOCKCHAIN_NAME.BASE,
178431
+ blockchain_name_1.BLOCKCHAIN_NAME.LINEA
178432
+ ];
178433
+
178434
+
178435
+ /***/ }),
178436
+
178437
+ /***/ "./src/features/common/providers/rango/services/rango-parser.ts":
178438
+ /*!**********************************************************************!*\
178439
+ !*** ./src/features/common/providers/rango/services/rango-parser.ts ***!
178440
+ \**********************************************************************/
178441
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
178442
+
178443
+ "use strict";
178444
+
178445
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178446
+ exports.RangoCommonParser = void 0;
178447
+ const web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/web3-pure */ "./src/core/blockchain/web3-pure/web3-pure.ts");
178448
+ const injector_1 = __webpack_require__(/*! ../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
178449
+ const rango_api_common_1 = __webpack_require__(/*! ../constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts");
178450
+ const rango_utils_1 = __webpack_require__(/*! ../utils/rango-utils */ "./src/features/common/providers/rango/utils/rango-utils.ts");
178451
+ class RangoCommonParser {
178452
+ /**
178453
+ * @description Transform parameters to required view for rango-api
178454
+ */
178455
+ static async getBestRouteQueryParams(from, toToken, options) {
178456
+ const fromParam = await rango_utils_1.RangoUtils.getFromToQueryParam(from);
178457
+ const toParam = await rango_utils_1.RangoUtils.getFromToQueryParam(toToken);
178458
+ const amountParam = web3_pure_1.Web3Pure.toWei(from.tokenAmount, from.decimals);
178459
+ const apiKey = rango_api_common_1.RANGO_API_KEY;
178460
+ const swapperGroups = options.swapperGroups?.map(swapper => rango_utils_1.RangoUtils.getTradeTypeForRango(swapper));
178461
+ return {
178462
+ apiKey,
178463
+ from: fromParam,
178464
+ to: toParam,
178465
+ amount: amountParam,
178466
+ ...(options.slippageTolerance && { slippage: options.slippageTolerance * 100 }),
178467
+ ...(swapperGroups?.length && { swapperGroups }),
178468
+ swappersGroupsExclude: options?.swappersGroupsExclude ?? true
178469
+ };
178470
+ }
178471
+ static async getSwapQueryParams(fromToken, toToken, options) {
178472
+ const amount = web3_pure_1.Web3Pure.toWei(fromToken.tokenAmount, fromToken.decimals);
178473
+ const from = await rango_utils_1.RangoUtils.getFromToQueryParam(fromToken);
178474
+ const to = await rango_utils_1.RangoUtils.getFromToQueryParam(toToken);
178475
+ const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromToken.blockchain).address;
178476
+ const fromAddress = options.fromAddress || walletAddress;
178477
+ const toAddress = options.receiverAddress || walletAddress;
178478
+ const slippage = options.slippageTolerance * 100;
178479
+ const apiKey = rango_api_common_1.RANGO_API_KEY;
178480
+ const swapperGroups = options.swapperGroups?.map(swapper => rango_utils_1.RangoUtils.getTradeTypeForRango(swapper));
178481
+ return {
178482
+ apiKey,
178483
+ amount,
178484
+ from,
178485
+ to,
178486
+ fromAddress,
178487
+ slippage,
178488
+ toAddress,
178489
+ ...(swapperGroups?.length && { swapperGroups }),
178490
+ swappersGroupsExclude: options?.swappersGroupsExclude ?? true
178491
+ };
178492
+ }
178493
+ static getTxStatusQueryParams(srcTxHash, requestId) {
178494
+ const apiKey = rango_api_common_1.RANGO_API_KEY;
178495
+ return { apiKey, requestId, txId: srcTxHash };
178496
+ }
178497
+ }
178498
+ exports.RangoCommonParser = RangoCommonParser;
178499
+
178500
+
178501
+ /***/ }),
178502
+
178503
+ /***/ "./src/features/common/providers/rango/utils/rango-utils.ts":
178504
+ /*!******************************************************************!*\
178505
+ !*** ./src/features/common/providers/rango/utils/rango-utils.ts ***!
178506
+ \******************************************************************/
178507
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
178508
+
178509
+ "use strict";
178510
+
178511
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
178512
+ exports.RangoUtils = void 0;
178513
+ const tokens_1 = __webpack_require__(/*! ../../../../../common/tokens */ "./src/common/tokens/index.ts");
178514
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
178515
+ const tx_status_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-public-service/web3-public/models/tx-status */ "./src/core/blockchain/web3-public-service/web3-public/models/tx-status.ts");
178516
+ const cross_chain_trade_type_1 = __webpack_require__(/*! ../../../../cross-chain/calculation-manager/models/cross-chain-trade-type */ "./src/features/cross-chain/calculation-manager/models/cross-chain-trade-type.ts");
178517
+ const rango_api_blockchain_names_1 = __webpack_require__(/*! ../models/rango-api-blockchain-names */ "./src/features/common/providers/rango/models/rango-api-blockchain-names.ts");
178518
+ const rango_api_status_types_1 = __webpack_require__(/*! ../models/rango-api-status-types */ "./src/features/common/providers/rango/models/rango-api-status-types.ts");
178519
+ const rango_api_symbol_names_1 = __webpack_require__(/*! ../models/rango-api-symbol-names */ "./src/features/common/providers/rango/models/rango-api-symbol-names.ts");
178520
+ const rango_api_trade_types_1 = __webpack_require__(/*! ../models/rango-api-trade-types */ "./src/features/common/providers/rango/models/rango-api-trade-types.ts");
178521
+ class RangoUtils {
178522
+ /**
178523
+ * @returns Query-param string in format `chainName.symbol--address`, chainName's compatible with rango-api
178524
+ */
178525
+ static async getFromToQueryParam(token) {
178526
+ const rangoBlockchainName = rango_api_blockchain_names_1.rangoApiBlockchainNames[token.blockchain];
178527
+ const symbol = token.isNative
178528
+ ? rango_api_symbol_names_1.rangoApiSymbols[token.blockchain]
178529
+ : (await tokens_1.Token.createToken({ address: token.address, blockchain: token.blockchain }))
178530
+ .symbol;
178531
+ if (token.isNative && token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.METIS) {
178532
+ return `${rangoBlockchainName}.${symbol}--0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000`;
178533
+ }
178534
+ const param = token.isNative
178535
+ ? `${rangoBlockchainName}.${symbol}`
178536
+ : `${rangoBlockchainName}.${symbol}--${token.address}`;
178537
+ return param;
178538
+ }
178539
+ static convertStatusForRubic(rangoStatus) {
178540
+ if (rangoStatus === rango_api_status_types_1.RANGO_SWAP_STATUS.SUCCESS) {
178541
+ return tx_status_1.TX_STATUS.SUCCESS;
178542
+ }
178543
+ if (rangoStatus === rango_api_status_types_1.RANGO_SWAP_STATUS.RUNNING) {
178544
+ return tx_status_1.TX_STATUS.PENDING;
178545
+ }
178546
+ return tx_status_1.TX_STATUS.FAIL;
178547
+ }
178548
+ static getRubicBlockchainByRangoBlockchain(rangoBlockchainName) {
178549
+ const blockchainName = Object.entries(rango_api_blockchain_names_1.rangoApiBlockchainNames).find(([_, value]) => value === rangoBlockchainName)[0];
178550
+ return blockchainName;
178551
+ }
178552
+ static getTradeTypeForRubic(swapType, rangoTradeType) {
178553
+ if (swapType === 'cross-chain') {
178554
+ const found = Object.entries(rango_api_trade_types_1.rangoCrossChainTradeTypes).find(([_, value]) => value === rangoTradeType);
178555
+ if (found) {
178556
+ return found[0];
178557
+ }
178558
+ }
178559
+ if (swapType === 'on-chain') {
178560
+ const found = Object.entries(rango_api_trade_types_1.rangoOnChainTradeTypes).find(([_, value]) => value === rangoTradeType);
178561
+ if (found) {
178562
+ return found[0];
178563
+ }
178564
+ }
178565
+ return cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO;
178566
+ }
178567
+ static getTradeTypeForRango(rubicTradeType) {
178568
+ return rango_api_trade_types_1.rangoTradeTypes[rubicTradeType];
178569
+ }
178570
+ }
178571
+ exports.RangoUtils = RangoUtils;
178572
+
178573
+
178088
178574
  /***/ }),
178089
178575
 
178090
178576
  /***/ "./src/features/common/providers/xy/constants/xy-api-params.ts":
@@ -178559,6 +179045,7 @@ const lifi_cross_chain_provider_1 = __webpack_require__(/*! ../providers/lifi-pr
178559
179045
  const squidrouter_cross_chain_provider_1 = __webpack_require__(/*! ../providers/squidrouter-provider/squidrouter-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-provider.ts");
178560
179046
  const symbiosis_cross_chain_provider_1 = __webpack_require__(/*! ../providers/symbiosis-provider/symbiosis-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.ts");
178561
179047
  const xy_cross_chain_provider_1 = __webpack_require__(/*! ../providers/xy-provider/xy-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.ts");
179048
+ const rango_cross_chain_provider_1 = __webpack_require__(/*! ../providers/rango-provider/rango-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.ts");
178562
179049
  const stargate_cross_chain_provider_1 = __webpack_require__(/*! ../providers/stargate-provider/stargate-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-provider.ts");
178563
179050
  const taiko_bridge_provider_1 = __webpack_require__(/*! ../providers/taiko-bridge/taiko-bridge-provider */ "./src/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-provider.ts");
178564
179051
  const proxyProviders = [
@@ -178567,7 +179054,8 @@ const proxyProviders = [
178567
179054
  xy_cross_chain_provider_1.XyCrossChainProvider,
178568
179055
  cbridge_cross_chain_provider_1.CbridgeCrossChainProvider,
178569
179056
  lifi_cross_chain_provider_1.LifiCrossChainProvider,
178570
- squidrouter_cross_chain_provider_1.SquidrouterCrossChainProvider
179057
+ squidrouter_cross_chain_provider_1.SquidrouterCrossChainProvider,
179058
+ rango_cross_chain_provider_1.RangoCrossChainProvider
178571
179059
  ];
178572
179060
  const nonProxyProviders = [
178573
179061
  debridge_cross_chain_provider_1.DebridgeCrossChainProvider,
@@ -178918,7 +179406,8 @@ exports.CROSS_CHAIN_TRADE_TYPE = {
178918
179406
  ARBITRUM: 'arbitrum',
178919
179407
  SQUIDROUTER: 'squidrouter',
178920
179408
  SCROLL_BRIDGE: 'scroll_bridge',
178921
- TAIKO_BRIDGE: 'taiko_bridge'
179409
+ TAIKO_BRIDGE: 'taiko_bridge',
179410
+ RANGO: 'rango'
178922
179411
  };
178923
179412
 
178924
179413
 
@@ -183979,6 +184468,10 @@ class EvmCrossChainTrade extends cross_chain_trade_1.CrossChainTrade {
183979
184468
  };
183980
184469
  await this.approve(approveOptions, false);
183981
184470
  }
184471
+ /**
184472
+ *
184473
+ * @returns txHash(srcTxHash) | never
184474
+ */
183982
184475
  async swap(options = {}) {
183983
184476
  if (!this.isProxyTrade) {
183984
184477
  return this.swapDirect(options);
@@ -184134,18 +184627,23 @@ exports.DEFAULT_BRIDGE_TYPE = {
184134
184627
  CELERIM: 'celerim',
184135
184628
  HOP: 'hop',
184136
184629
  HYPHEN: 'hyphen',
184137
- OPEN_OCEAN: 'openocean',
184630
+ IBC: 'ibc',
184138
184631
  MAKERS_WORMHOLE: 'maker',
184632
+ MAYA_PROTOCOL: 'mayaprotocol',
184139
184633
  MULTICHAIN: 'multichain',
184634
+ OPEN_OCEAN: 'openocean',
184140
184635
  OPTIMISM_GATEWAY: 'optimism',
184636
+ ORBITER_BRIDGE: 'orbiter',
184141
184637
  OSMOSIS_BRIDGE: 'osmosis',
184142
184638
  POLYGON: 'polygon',
184639
+ RAINBOW: 'rainbow',
184143
184640
  REFUEL: 'refuel',
184144
184641
  SATELLITE: 'satellite',
184145
184642
  STARGATE: 'stargate',
184146
184643
  SYMBIOSIS: 'symbiosis',
184147
184644
  SYNAPSE: 'synapse',
184148
184645
  THORCHAIN: 'thorchain',
184646
+ VOYAGER: 'voyager',
184149
184647
  WORMHOLE: 'wormhole',
184150
184648
  YPOOL: 'ypool'
184151
184649
  };
@@ -186103,6 +186601,466 @@ exports.UNIQ_LIFI_BRIDGE_TYPES = {
186103
186601
  };
186104
186602
 
186105
186603
 
186604
+ /***/ }),
186605
+
186606
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.ts":
186607
+ /*!********************************************************************************************************************!*\
186608
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.ts ***!
186609
+ \********************************************************************************************************************/
186610
+ /***/ ((__unused_webpack_module, exports) => {
186611
+
186612
+ "use strict";
186613
+
186614
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186615
+
186616
+
186617
+ /***/ }),
186618
+
186619
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.ts":
186620
+ /*!***********************************************************************************************************************!*\
186621
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.ts ***!
186622
+ \***********************************************************************************************************************/
186623
+ /***/ ((__unused_webpack_module, exports) => {
186624
+
186625
+ "use strict";
186626
+
186627
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186628
+
186629
+
186630
+ /***/ }),
186631
+
186632
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.ts":
186633
+ /*!*************************************************************************************************************!*\
186634
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.ts ***!
186635
+ \*************************************************************************************************************/
186636
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
186637
+
186638
+ "use strict";
186639
+
186640
+ var __importDefault = (this && this.__importDefault) || function (mod) {
186641
+ return (mod && mod.__esModule) ? mod : { "default": mod };
186642
+ };
186643
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186644
+ exports.RangoCrossChainProvider = void 0;
186645
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
186646
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
186647
+ const tokens_1 = __webpack_require__(/*! ../../../../../common/tokens */ "./src/common/tokens/index.ts");
186648
+ const web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/web3-pure */ "./src/core/blockchain/web3-pure/web3-pure.ts");
186649
+ const rango_api_common_1 = __webpack_require__(/*! ../../../../common/providers/rango/constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts");
186650
+ const rango_supported_blockchains_1 = __webpack_require__(/*! ../../../../common/providers/rango/models/rango-supported-blockchains */ "./src/features/common/providers/rango/models/rango-supported-blockchains.ts");
186651
+ const rango_parser_1 = __webpack_require__(/*! ../../../../common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts");
186652
+ const rango_utils_1 = __webpack_require__(/*! ../../../../common/providers/rango/utils/rango-utils */ "./src/features/common/providers/rango/utils/rango-utils.ts");
186653
+ const get_from_without_fee_1 = __webpack_require__(/*! ../../../../common/utils/get-from-without-fee */ "./src/features/common/utils/get-from-without-fee.ts");
186654
+ const cross_chain_trade_type_1 = __webpack_require__(/*! ../../models/cross-chain-trade-type */ "./src/features/cross-chain/calculation-manager/models/cross-chain-trade-type.ts");
186655
+ const cross_chain_provider_1 = __webpack_require__(/*! ../common/cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/common/cross-chain-provider.ts");
186656
+ const proxy_cross_chain_evm_trade_1 = __webpack_require__(/*! ../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade */ "./src/features/cross-chain/calculation-manager/providers/common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade.ts");
186657
+ const rango_cross_chain_trade_1 = __webpack_require__(/*! ./rango-cross-chain-trade */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.ts");
186658
+ const rango_cross_chain_api_service_1 = __webpack_require__(/*! ./services/rango-cross-chain-api-service */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.ts");
186659
+ const rango_cross_chain_params_parser_1 = __webpack_require__(/*! ./services/rango-cross-chain-params-parser */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.ts");
186660
+ class RangoCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
186661
+ constructor() {
186662
+ super(...arguments);
186663
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO;
186664
+ this.rangoSupportedBlockchains = rango_supported_blockchains_1.rangoSupportedBlockchains;
186665
+ }
186666
+ isSupportedBlockchain(blockchain) {
186667
+ return this.rangoSupportedBlockchains.some(supportedBlockchain => supportedBlockchain === blockchain);
186668
+ }
186669
+ async calculate(from, toToken, options) {
186670
+ const fromBlockchain = from.blockchain;
186671
+ const toBlockchain = toToken.blockchain;
186672
+ const useProxy = options?.useProxy?.[this.type] ?? true;
186673
+ if (!this.areSupportedBlockchains(fromBlockchain, toBlockchain)) {
186674
+ return {
186675
+ error: new errors_1.NotSupportedBlockchain(),
186676
+ trade: null,
186677
+ tradeType: this.type
186678
+ };
186679
+ }
186680
+ try {
186681
+ const feeInfo = await this.getFeeInfo(fromBlockchain, options.providerAddress, from, useProxy);
186682
+ const fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(from, feeInfo.rubicProxy?.platformFee?.percent);
186683
+ const bestRouteParams = await rango_parser_1.RangoCommonParser.getBestRouteQueryParams(fromWithoutFee, toToken, { ...options, swapperGroups: options.rangoDisabledProviders });
186684
+ const { route } = await rango_cross_chain_api_service_1.RangoCrossChainApiService.getBestRoute(bestRouteParams);
186685
+ const { outputAmountMin, outputAmount, path } = route;
186686
+ const toTokenAmountMin = web3_pure_1.Web3Pure.fromWei(outputAmountMin, toToken.decimals);
186687
+ const to = new tokens_1.PriceTokenAmount({
186688
+ ...toToken.asStruct,
186689
+ tokenAmount: web3_pure_1.Web3Pure.fromWei(outputAmount, toToken.decimals)
186690
+ });
186691
+ const routePath = await this.getRoutePath(from, to, path);
186692
+ const swapQueryParams = await rango_parser_1.RangoCommonParser.getSwapQueryParams(fromWithoutFee, toToken, { ...options, swapperGroups: options.rangoDisabledProviders });
186693
+ const tradeParams = await rango_cross_chain_params_parser_1.RangoCrossChainParser.getTradeConstructorParams({
186694
+ fromToken: from,
186695
+ toToken: to,
186696
+ options,
186697
+ routePath,
186698
+ feeInfo,
186699
+ toTokenAmountMin,
186700
+ swapQueryParams
186701
+ });
186702
+ const trade = new rango_cross_chain_trade_1.RangoCrossChainTrade(tradeParams);
186703
+ const tradeType = this.type;
186704
+ return { trade, tradeType };
186705
+ }
186706
+ catch (err) {
186707
+ const rubicSdkError = cross_chain_provider_1.CrossChainProvider.parseError(err);
186708
+ return {
186709
+ trade: null,
186710
+ error: rubicSdkError,
186711
+ tradeType: this.type
186712
+ };
186713
+ }
186714
+ }
186715
+ async getRoutePath(fromToken, toToken, path) {
186716
+ if (!path) {
186717
+ return [{ type: 'cross-chain', provider: this.type, path: [fromToken, toToken] }];
186718
+ }
186719
+ return Promise.all(path.map(path => this.getStep(path)));
186720
+ }
186721
+ async getStep(rangoPath) {
186722
+ const type = rangoPath.swapperType === 'DEX' ? 'on-chain' : 'cross-chain';
186723
+ const provider = rango_utils_1.RangoUtils.getTradeTypeForRubic(type, rangoPath.swapper.swapperGroup);
186724
+ const fromBlockchain = rango_utils_1.RangoUtils.getRubicBlockchainByRangoBlockchain(rangoPath.from.blockchain);
186725
+ const toBlockchain = rango_utils_1.RangoUtils.getRubicBlockchainByRangoBlockchain(rangoPath.to.blockchain);
186726
+ const fromTokenAmount = await tokens_1.TokenAmount.createToken({
186727
+ address: rangoPath.from.address || tokens_1.nativeTokensList[fromBlockchain].address,
186728
+ blockchain: fromBlockchain,
186729
+ weiAmount: new bignumber_js_1.default(rangoPath.inputAmount)
186730
+ });
186731
+ const toTokenAmount = await tokens_1.TokenAmount.createToken({
186732
+ address: rangoPath.to.address || tokens_1.nativeTokensList[toBlockchain].address,
186733
+ blockchain: toBlockchain,
186734
+ weiAmount: new bignumber_js_1.default(rangoPath.expectedOutput)
186735
+ });
186736
+ return {
186737
+ provider: provider,
186738
+ type: type,
186739
+ path: [fromTokenAmount, toTokenAmount]
186740
+ };
186741
+ }
186742
+ async getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy) {
186743
+ return proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy);
186744
+ }
186745
+ }
186746
+ exports.RangoCrossChainProvider = RangoCrossChainProvider;
186747
+ RangoCrossChainProvider.apiKey = rango_api_common_1.RANGO_API_KEY;
186748
+ RangoCrossChainProvider.apiEndpoint = rango_api_common_1.RANGO_API_ENDPOINT;
186749
+
186750
+
186751
+ /***/ }),
186752
+
186753
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.ts":
186754
+ /*!**********************************************************************************************************!*\
186755
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.ts ***!
186756
+ \**********************************************************************************************************/
186757
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
186758
+
186759
+ "use strict";
186760
+
186761
+ var __importDefault = (this && this.__importDefault) || function (mod) {
186762
+ return (mod && mod.__esModule) ? mod : { "default": mod };
186763
+ };
186764
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186765
+ exports.RangoCrossChainTrade = void 0;
186766
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
186767
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
186768
+ const blockchains_info_1 = __webpack_require__(/*! ../../../../../core/blockchain/utils/blockchains-info/blockchains-info */ "./src/core/blockchain/utils/blockchains-info/blockchains-info.ts");
186769
+ const evm_web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure */ "./src/core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure.ts");
186770
+ const web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/web3-pure */ "./src/core/blockchain/web3-pure/web3-pure.ts");
186771
+ const injector_1 = __webpack_require__(/*! ../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
186772
+ const rango_contract_address_1 = __webpack_require__(/*! ../../../../common/providers/rango/constants/rango-contract-address */ "./src/features/common/providers/rango/constants/rango-contract-address.ts");
186773
+ const cross_chain_trade_type_1 = __webpack_require__(/*! ../../models/cross-chain-trade-type */ "./src/features/cross-chain/calculation-manager/models/cross-chain-trade-type.ts");
186774
+ const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-price */ "./src/features/cross-chain/calculation-manager/utils/convert-gas-price.ts");
186775
+ const rubic_proxy_contract_address_1 = __webpack_require__(/*! ../common/constants/rubic-proxy-contract-address */ "./src/features/cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address.ts");
186776
+ const evm_common_cross_chain_abi_1 = __webpack_require__(/*! ../common/emv-cross-chain-trade/constants/evm-common-cross-chain-abi */ "./src/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/constants/evm-common-cross-chain-abi.ts");
186777
+ const gateway_rubic_cross_chain_abi_1 = __webpack_require__(/*! ../common/emv-cross-chain-trade/constants/gateway-rubic-cross-chain-abi */ "./src/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/constants/gateway-rubic-cross-chain-abi.ts");
186778
+ const evm_cross_chain_trade_1 = __webpack_require__(/*! ../common/emv-cross-chain-trade/evm-cross-chain-trade */ "./src/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.ts");
186779
+ const bridge_type_1 = __webpack_require__(/*! ../common/models/bridge-type */ "./src/features/cross-chain/calculation-manager/providers/common/models/bridge-type.ts");
186780
+ const proxy_cross_chain_evm_trade_1 = __webpack_require__(/*! ../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade */ "./src/features/cross-chain/calculation-manager/providers/common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade.ts");
186781
+ const rango_cross_chain_api_service_1 = __webpack_require__(/*! ./services/rango-cross-chain-api-service */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.ts");
186782
+ class RangoCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
186783
+ /** @internal */
186784
+ static async getGasData({ fromToken, toToken, feeInfo, routePath, swapQueryParams }) {
186785
+ const fromBlockchain = fromToken.blockchain;
186786
+ const walletAddress = swapQueryParams.fromAddress;
186787
+ if (!walletAddress) {
186788
+ return null;
186789
+ }
186790
+ try {
186791
+ let gasLimit;
186792
+ let gasDetails;
186793
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
186794
+ const tradeParams = {
186795
+ crossChainTrade: {
186796
+ from: fromToken,
186797
+ to: toToken,
186798
+ toTokenAmountMin: new bignumber_js_1.default(0),
186799
+ feeInfo,
186800
+ gasData: null,
186801
+ priceImpact: fromToken.calculatePriceImpactPercent(toToken) || 0,
186802
+ slippage: swapQueryParams.slippage,
186803
+ swapQueryParams
186804
+ },
186805
+ routePath,
186806
+ providerAddress: swapQueryParams.toAddress
186807
+ };
186808
+ if (feeInfo.rubicProxy?.fixedFee?.amount.gt(0)) {
186809
+ const { contractAddress, contractAbi, methodName, methodArguments, value } = await new RangoCrossChainTrade(tradeParams).getContractParams({
186810
+ receiverAddress: swapQueryParams.toAddress
186811
+ }, true);
186812
+ const [proxyGasLimit, proxyGasDetails] = await Promise.all([
186813
+ web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
186814
+ (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(fromBlockchain))
186815
+ ]);
186816
+ gasLimit = proxyGasLimit;
186817
+ gasDetails = proxyGasDetails;
186818
+ }
186819
+ else {
186820
+ const { data, value, to } = await new RangoCrossChainTrade(tradeParams).getTransactionRequest(undefined, true);
186821
+ const defaultGasLimit = await web3Public.getEstimatedGasByData(walletAddress, to, {
186822
+ data,
186823
+ value
186824
+ });
186825
+ const defaultGasDetails = (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(fromBlockchain));
186826
+ gasLimit = defaultGasLimit;
186827
+ gasDetails = defaultGasDetails;
186828
+ }
186829
+ if (!gasLimit?.isFinite()) {
186830
+ return null;
186831
+ }
186832
+ const increasedGasLimit = web3_pure_1.Web3Pure.calculateGasMargin(gasLimit, 1.2);
186833
+ return {
186834
+ gasLimit: increasedGasLimit,
186835
+ ...gasDetails
186836
+ };
186837
+ }
186838
+ catch (err) {
186839
+ return null;
186840
+ }
186841
+ }
186842
+ get fromBlockchain() {
186843
+ return this.from.blockchain;
186844
+ }
186845
+ get fromContractAddress() {
186846
+ return this.isProxyTrade
186847
+ ? rubic_proxy_contract_address_1.rubicProxyContractAddress[this.fromBlockchain].gateway
186848
+ : rango_contract_address_1.RangoContractAddresses[this.fromBlockchain].providerGateway;
186849
+ }
186850
+ get methodName() {
186851
+ return 'startBridgeTokensViaGenericCrossChain';
186852
+ }
186853
+ constructor(params) {
186854
+ super(params.providerAddress, params.routePath);
186855
+ /**ABSTRACT PROPS */
186856
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO;
186857
+ this.isAggregator = true;
186858
+ this.onChainSubtype = { from: undefined, to: undefined };
186859
+ this.bridgeType = bridge_type_1.BRIDGE_TYPE.RANGO;
186860
+ this.to = params.crossChainTrade.to;
186861
+ this.from = params.crossChainTrade.from;
186862
+ this.toTokenAmountMin = params.crossChainTrade.toTokenAmountMin;
186863
+ this.feeInfo = params.crossChainTrade.feeInfo;
186864
+ this.gasData = params.crossChainTrade.gasData;
186865
+ this.priceImpact = params.crossChainTrade.priceImpact;
186866
+ this.slippage = params.crossChainTrade.slippage;
186867
+ this.swapQueryParams = params.crossChainTrade.swapQueryParams;
186868
+ }
186869
+ async getContractParams(options, skipAmountChangeCheck = false) {
186870
+ const receiverAddress = options?.receiverAddress || this.walletAddress;
186871
+ const { data, value: providerValue, to: providerRouter } = await this.getTransactionRequest(options.directTransaction, skipAmountChangeCheck);
186872
+ const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData(options, {
186873
+ walletAddress: receiverAddress,
186874
+ fromTokenAmount: this.from,
186875
+ toTokenAmount: this.to,
186876
+ srcChainTrade: null,
186877
+ providerAddress: this.providerAddress,
186878
+ type: `native:${this.type}`,
186879
+ fromAddress: this.walletAddress
186880
+ });
186881
+ const extraNativeFee = this.from.isNative
186882
+ ? new bignumber_js_1.default(providerValue).minus(this.from.stringWeiAmount).toFixed()
186883
+ : new bignumber_js_1.default(providerValue).toFixed();
186884
+ const providerData = await proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getGenericProviderData(providerRouter, data, this.from.blockchain, providerRouter, extraNativeFee);
186885
+ const methodArguments = [bridgeData, providerData];
186886
+ const value = this.getSwapValue(providerValue);
186887
+ const transactionConfiguration = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].router, evm_common_cross_chain_abi_1.evmCommonCrossChainAbi, this.methodName, methodArguments, value);
186888
+ const sendingToken = this.from.isNative ? [] : [this.from.address];
186889
+ const sendingAmount = this.from.isNative ? [] : [this.from.stringWeiAmount];
186890
+ return {
186891
+ contractAddress: rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].gateway,
186892
+ contractAbi: gateway_rubic_cross_chain_abi_1.gatewayRubicCrossChainAbi,
186893
+ methodName: 'startViaRubic',
186894
+ methodArguments: [sendingToken, sendingAmount, transactionConfiguration.data],
186895
+ value
186896
+ };
186897
+ }
186898
+ async swapDirect(options = {}) {
186899
+ if (!blockchains_info_1.BlockchainsInfo.isEvmBlockchainName(this.from.blockchain)) {
186900
+ throw new errors_1.RubicSdkError("For non-evm chains use 'getChangenowPostTrade' method");
186901
+ }
186902
+ await this.checkTradeErrors();
186903
+ await this.checkAllowanceAndApprove(options);
186904
+ const { onConfirm, gasLimit, gasPrice, gasPriceOptions } = options;
186905
+ let transactionHash;
186906
+ const onTransactionHash = (hash) => {
186907
+ if (onConfirm) {
186908
+ onConfirm(hash);
186909
+ }
186910
+ transactionHash = hash;
186911
+ };
186912
+ // eslint-disable-next-line no-useless-catch
186913
+ try {
186914
+ const { data, value, to } = await this.getTransactionRequest(options.directTransaction);
186915
+ await this.web3Private.trySendTransaction(to, {
186916
+ data,
186917
+ value,
186918
+ onTransactionHash,
186919
+ gas: gasLimit,
186920
+ gasPrice,
186921
+ gasPriceOptions
186922
+ });
186923
+ return transactionHash;
186924
+ }
186925
+ catch (err) {
186926
+ throw err;
186927
+ }
186928
+ }
186929
+ async getTransactionRequest(transactionConfig, skipAmountChangeCheck = false) {
186930
+ if (transactionConfig) {
186931
+ return {
186932
+ data: transactionConfig.data,
186933
+ to: transactionConfig.to,
186934
+ value: transactionConfig.value
186935
+ };
186936
+ }
186937
+ const { route, tx, error, requestId } = await rango_cross_chain_api_service_1.RangoCrossChainApiService.getSwapTransaction(this.swapQueryParams);
186938
+ this.rangoRequestId = requestId;
186939
+ if (!route || !tx) {
186940
+ throw new errors_1.RubicSdkError('Invalid data after sending swap request. Error text:' + error);
186941
+ }
186942
+ const config = {
186943
+ data: tx.txData,
186944
+ value: tx.value || '0',
186945
+ to: tx.txTo
186946
+ };
186947
+ if (!skipAmountChangeCheck) {
186948
+ evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(config, route.outputAmount, this.to.stringWeiAmount);
186949
+ }
186950
+ return config;
186951
+ }
186952
+ getTradeInfo() {
186953
+ return {
186954
+ estimatedGas: this.estimatedGas,
186955
+ feeInfo: this.feeInfo,
186956
+ priceImpact: this.priceImpact || null,
186957
+ slippage: this.slippage * 100,
186958
+ routePath: this.routePath
186959
+ };
186960
+ }
186961
+ /**
186962
+ * @deprecated
186963
+ */
186964
+ getTradeAmountRatio(fromUsd) {
186965
+ return fromUsd;
186966
+ }
186967
+ }
186968
+ exports.RangoCrossChainTrade = RangoCrossChainTrade;
186969
+
186970
+
186971
+ /***/ }),
186972
+
186973
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.ts":
186974
+ /*!*************************************************************************************************************************!*\
186975
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.ts ***!
186976
+ \*************************************************************************************************************************/
186977
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
186978
+
186979
+ "use strict";
186980
+
186981
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186982
+ exports.RangoCrossChainApiService = void 0;
186983
+ const errors_1 = __webpack_require__(/*! ../../../../../../common/errors */ "./src/common/errors/index.ts");
186984
+ const injector_1 = __webpack_require__(/*! ../../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
186985
+ const rango_api_common_1 = __webpack_require__(/*! ../../../../../common/providers/rango/constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts");
186986
+ class RangoCrossChainApiService {
186987
+ static async getBestRoute(params) {
186988
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/quote`, {
186989
+ params: params
186990
+ });
186991
+ if (!res.route || res.error) {
186992
+ throw new errors_1.RubicSdkError(res.error ?? 'No available routes in rango.');
186993
+ }
186994
+ return res;
186995
+ }
186996
+ static async getSwapTransaction(params) {
186997
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/swap`, { params: params });
186998
+ if (!res.route || res.error) {
186999
+ throw new errors_1.RubicSdkError(res.error ?? 'No available routes in rango.');
187000
+ }
187001
+ return res;
187002
+ }
187003
+ /**
187004
+ * @description Get transaction status data
187005
+ */
187006
+ static async getTxStatus(params) {
187007
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/status`, { params: params });
187008
+ if (res.error || !res.bridgeData || !res.status) {
187009
+ throw new errors_1.RubicSdkError("Can't get status, res has error or null data in getTxStatus method");
187010
+ }
187011
+ return res;
187012
+ }
187013
+ }
187014
+ exports.RangoCrossChainApiService = RangoCrossChainApiService;
187015
+
187016
+
187017
+ /***/ }),
187018
+
187019
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.ts":
187020
+ /*!***************************************************************************************************************************!*\
187021
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.ts ***!
187022
+ \***************************************************************************************************************************/
187023
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
187024
+
187025
+ "use strict";
187026
+
187027
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
187028
+ exports.RangoCrossChainParser = void 0;
187029
+ const rango_cross_chain_trade_1 = __webpack_require__(/*! ../rango-cross-chain-trade */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.ts");
187030
+ class RangoCrossChainParser {
187031
+ static async getTradeConstructorParams({ feeInfo, fromToken, options, routePath, swapQueryParams, toToken, toTokenAmountMin }) {
187032
+ const gasData = options.gasCalculation === 'enabled'
187033
+ ? await rango_cross_chain_trade_1.RangoCrossChainTrade.getGasData({
187034
+ fromToken,
187035
+ toToken,
187036
+ swapQueryParams,
187037
+ feeInfo,
187038
+ routePath
187039
+ })
187040
+ : null;
187041
+ const priceImpact = fromToken.calculatePriceImpactPercent(toToken);
187042
+ const slippage = options.slippageTolerance;
187043
+ const crossChainTrade = {
187044
+ from: fromToken,
187045
+ to: toToken,
187046
+ gasData,
187047
+ toTokenAmountMin,
187048
+ priceImpact,
187049
+ slippage,
187050
+ feeInfo,
187051
+ swapQueryParams
187052
+ };
187053
+ const providerAddress = options.providerAddress;
187054
+ return {
187055
+ crossChainTrade,
187056
+ providerAddress,
187057
+ routePath
187058
+ };
187059
+ }
187060
+ }
187061
+ exports.RangoCrossChainParser = RangoCrossChainParser;
187062
+
187063
+
186106
187064
  /***/ }),
186107
187065
 
186108
187066
  /***/ "./src/features/cross-chain/calculation-manager/providers/scroll-bridge/constants/l1-erc20-scroll-gateway-abi.ts":
@@ -188966,7 +189924,7 @@ class SymbiosisCrossChainProvider extends cross_chain_provider_1.CrossChainProvi
188966
189924
  const { tokenAmountOut, inTradeType, outTradeType, tx, approveTo, route } = await injector_1.Injector.httpClient.post(`${symbiosis_cross_chain_trade_1.SymbiosisCrossChainTrade.symbiosisApi}/swapping/exact_in?partnerId=rubic`, swapParams);
188967
189925
  const to = new tokens_1.PriceTokenAmount({
188968
189926
  ...toToken.asStruct,
188969
- tokenAmount: new bignumber_js_1.default(web3_pure_1.Web3Pure.fromWei(tokenAmountOut.amount, tokenAmountOut.decimals))
189927
+ tokenAmount: web3_pure_1.Web3Pure.fromWei(tokenAmountOut.amount, tokenAmountOut.decimals)
188970
189928
  });
188971
189929
  const gasData = options.gasCalculation === 'enabled'
188972
189930
  ? await symbiosis_cross_chain_trade_1.SymbiosisCrossChainTrade.getGasData(from, to, swapParams, feeInfo, approveTo, options.providerAddress, options.receiverAddress)
@@ -190678,6 +191636,8 @@ const blockchain_id_1 = __webpack_require__(/*! ../../../core/blockchain/utils/b
190678
191636
  const tx_status_1 = __webpack_require__(/*! ../../../core/blockchain/web3-public-service/web3-public/models/tx-status */ "./src/core/blockchain/web3-public-service/web3-public/models/tx-status.ts");
190679
191637
  const injector_1 = __webpack_require__(/*! ../../../core/injector/injector */ "./src/core/injector/injector.ts");
190680
191638
  const changenow_api_key_1 = __webpack_require__(/*! ../../common/providers/changenow/constants/changenow-api-key */ "./src/features/common/providers/changenow/constants/changenow-api-key.ts");
191639
+ const rango_api_status_types_1 = __webpack_require__(/*! ../../common/providers/rango/models/rango-api-status-types */ "./src/features/common/providers/rango/models/rango-api-status-types.ts");
191640
+ const rango_parser_1 = __webpack_require__(/*! ../../common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts");
190681
191641
  const xy_api_params_1 = __webpack_require__(/*! ../../common/providers/xy/constants/xy-api-params */ "./src/features/common/providers/xy/constants/xy-api-params.ts");
190682
191642
  const get_bridgers_trade_status_1 = __webpack_require__(/*! ../../common/status-manager/utils/get-bridgers-trade-status */ "./src/features/common/status-manager/utils/get-bridgers-trade-status.ts");
190683
191643
  const get_src_tx_status_1 = __webpack_require__(/*! ../../common/status-manager/utils/get-src-tx-status */ "./src/features/common/status-manager/utils/get-src-tx-status.ts");
@@ -190693,6 +191653,7 @@ const multichain_status_mapping_1 = __webpack_require__(/*! ./constants/multicha
190693
191653
  const changenow_api_response_1 = __webpack_require__(/*! ./models/changenow-api-response */ "./src/features/cross-chain/status-manager/models/changenow-api-response.ts");
190694
191654
  const squidrouter_transfer_status_enum_1 = __webpack_require__(/*! ./models/squidrouter-transfer-status.enum */ "./src/features/cross-chain/status-manager/models/squidrouter-transfer-status.enum.ts");
190695
191655
  const statuses_api_1 = __webpack_require__(/*! ./models/statuses-api */ "./src/features/cross-chain/status-manager/models/statuses-api.ts");
191656
+ const rango_cross_chain_api_service_1 = __webpack_require__(/*! ../calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.ts");
190696
191657
  const taiko_api_response_1 = __webpack_require__(/*! ./models/taiko-api-response */ "./src/features/cross-chain/status-manager/models/taiko-api-response.ts");
190697
191658
  /**
190698
191659
  * Contains methods for getting cross-chain trade statuses.
@@ -190713,7 +191674,8 @@ class CrossChainStatusManager {
190713
191674
  [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.ARBITRUM]: this.getArbitrumBridgeDstSwapStatus,
190714
191675
  [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.SQUIDROUTER]: this.getSquidrouterDstSwapStatus,
190715
191676
  [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.SCROLL_BRIDGE]: this.getScrollBridgeDstSwapStatus,
190716
- [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.TAIKO_BRIDGE]: this.getTaikoBridgeDstSwapStatus
191677
+ [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.TAIKO_BRIDGE]: this.getTaikoBridgeDstSwapStatus,
191678
+ [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO]: this.getRangoDstSwapStatus
190717
191679
  };
190718
191680
  }
190719
191681
  /**
@@ -191174,6 +192136,26 @@ class CrossChainStatusManager {
191174
192136
  }
191175
192137
  return { status: tx_status_1.TX_STATUS.PENDING, hash: null };
191176
192138
  }
192139
+ async getRangoDstSwapStatus(data) {
192140
+ if (!data.rangoRequestId) {
192141
+ throw new errors_1.RubicSdkError('Must provide rangoRequestId');
192142
+ }
192143
+ const { srcTxHash, rangoRequestId } = data;
192144
+ const params = rango_parser_1.RangoCommonParser.getTxStatusQueryParams(srcTxHash, rangoRequestId);
192145
+ const { bridgeData, status: txStatus } = await rango_cross_chain_api_service_1.RangoCrossChainApiService.getTxStatus(params);
192146
+ let status;
192147
+ if (txStatus === rango_api_status_types_1.RANGO_SWAP_STATUS.SUCCESS) {
192148
+ status = tx_status_1.TX_STATUS.SUCCESS;
192149
+ }
192150
+ else if (txStatus === rango_api_status_types_1.RANGO_SWAP_STATUS.RUNNING) {
192151
+ status = tx_status_1.TX_STATUS.PENDING;
192152
+ }
192153
+ else {
192154
+ status = tx_status_1.TX_STATUS.FAIL;
192155
+ }
192156
+ const hash = bridgeData.destTxHash;
192157
+ return { hash, status };
192158
+ }
191177
192159
  }
191178
192160
  exports.CrossChainStatusManager = CrossChainStatusManager;
191179
192161
 
@@ -192859,6 +193841,7 @@ const on_chain_proxy_service_1 = __webpack_require__(/*! ./providers/common/on-c
192859
193841
  const on_chain_trade_1 = __webpack_require__(/*! ./providers/common/on-chain-trade/on-chain-trade */ "./src/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.ts");
192860
193842
  const lifi_provider_1 = __webpack_require__(/*! ./providers/lifi/lifi-provider */ "./src/features/on-chain/calculation-manager/providers/lifi/lifi-provider.ts");
192861
193843
  const open_ocean_provider_1 = __webpack_require__(/*! ./providers/open-ocean/open-ocean-provider */ "./src/features/on-chain/calculation-manager/providers/open-ocean/open-ocean-provider.ts");
193844
+ const rango_on_chain_provider_1 = __webpack_require__(/*! ./providers/rango/rango-on-chain-provider */ "./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.ts");
192862
193845
  /**
192863
193846
  * Contains methods to calculate on-chain trades.
192864
193847
  */
@@ -192871,6 +193854,7 @@ class OnChainManager {
192871
193854
  this.tradeProviders = typed_trade_providers_1.typedTradeProviders;
192872
193855
  this.lifiProvider = new lifi_provider_1.LifiProvider();
192873
193856
  this.openOceanProvider = new open_ocean_provider_1.OpenOceanProvider();
193857
+ this.rangoProvider = new rango_on_chain_provider_1.RangoOnChainProvider();
192874
193858
  this.deflationTokenManager = new deflation_token_manager_1.DeflationTokenManager();
192875
193859
  }
192876
193860
  calculateTradeReactively(fromToken, fromAmount, toToken, options) {
@@ -192892,8 +193876,18 @@ class OnChainManager {
192892
193876
  .includes(on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OPEN_OCEAN)
192893
193877
  ? []
192894
193878
  : [this.getOpenOceanCalculationPromise(from, to, fullOptions)];
192895
- const totalTrades = [...nativeProviders, ...lifiTrades, ...openOceanTrades].length;
192896
- return (0, rxjs_1.merge)(...nativeProviders.map(([_, provider]) => (0, innerFrom_1.fromPromise)(this.getProviderCalculationPromise(provider, from, to, fullOptions))), ...lifiTrades, ...openOceanTrades).pipe((0, rxjs_1.map)((wrappedTrade, index) => ({
193879
+ const rangoTrades = fullOptions.disabledProviders
193880
+ .map(provider => provider.toUpperCase())
193881
+ .includes(on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO)
193882
+ ? []
193883
+ : [this.getRangoCalculationPromise(from, to, fullOptions)];
193884
+ const totalTrades = [
193885
+ ...nativeProviders,
193886
+ ...lifiTrades,
193887
+ ...openOceanTrades,
193888
+ ...rangoTrades
193889
+ ].length;
193890
+ return (0, rxjs_1.merge)(...nativeProviders.map(([_, provider]) => (0, innerFrom_1.fromPromise)(this.getProviderCalculationPromise(provider, from, to, fullOptions))), ...lifiTrades, ...openOceanTrades, ...rangoTrades).pipe((0, rxjs_1.map)((wrappedTrade, index) => ({
192897
193891
  total: totalTrades,
192898
193892
  calculated: index + 1,
192899
193893
  wrappedTrade: wrappedTrade || null
@@ -193111,6 +194105,26 @@ class OnChainManager {
193111
194105
  };
193112
194106
  }
193113
194107
  }
194108
+ async getRangoCalculationPromise(from, to, options) {
194109
+ try {
194110
+ const wrappedTrade = await (0, p_timeout_1.default)(this.rangoProvider.calculate(from, to, options), options.timeout);
194111
+ if ('error' in wrappedTrade) {
194112
+ throw wrappedTrade.error;
194113
+ }
194114
+ if (!wrappedTrade) {
194115
+ return null;
194116
+ }
194117
+ return { trade: wrappedTrade, tradeType: on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO };
194118
+ }
194119
+ catch (err) {
194120
+ console.debug(`[RUBIC_SDK] Trade calculation error occurred for ${on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO} trade provider.`, err);
194121
+ return {
194122
+ trade: null,
194123
+ tradeType: on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO,
194124
+ error: cross_chain_provider_1.CrossChainProvider.parseError(err)
194125
+ };
194126
+ }
194127
+ }
193114
194128
  getWrappedWrapTrade(fromToken, toToken, fullOptions) {
193115
194129
  const wrappedTrade = {
193116
194130
  error: undefined,
@@ -193263,6 +194277,7 @@ exports.ON_CHAIN_TRADE_TYPE = void 0;
193263
194277
  * List of on-chain trade types.
193264
194278
  */
193265
194279
  exports.ON_CHAIN_TRADE_TYPE = {
194280
+ '10K_SWAP': '10K_SWAP',
193266
194281
  AERODROME: 'AERODROME',
193267
194282
  ACRYPTOS: 'ACRYPTOS',
193268
194283
  ALDRIN_EXCHANGE: 'ALDRIN_EXCHANGE',
@@ -193273,12 +194288,14 @@ exports.ON_CHAIN_TRADE_TYPE = {
193273
194288
  ARTH_SWAP: 'ARTH_SWAP',
193274
194289
  ASTRO_SWAP: 'ASTRO_SWAP',
193275
194290
  AURORA_SWAP: 'AURORA_SWAP',
194291
+ AVNU: 'AVNU',
193276
194292
  BABY_SWAP: 'BABY_SWAP',
193277
194293
  BALANCER: 'BALANCER',
193278
194294
  BASE_SWAP: 'BASE_SWAP',
193279
194295
  BEAM_SWAP: 'BEAM_SWAP',
193280
194296
  BI_SWAP: 'BI_SWAP',
193281
194297
  BRIDGERS: 'BRIDGERS',
194298
+ CHERRY_SWAP: 'CHERRY_SWAP',
193282
194299
  CLAIM_SWAP: 'CLAIM_SWAP',
193283
194300
  CREMA_FINANCE: 'CREMA_FINANCE',
193284
194301
  CRO_SWAP: 'CRO_SWAP',
@@ -193292,7 +194309,9 @@ exports.ON_CHAIN_TRADE_TYPE = {
193292
194309
  DFYN: 'DFYN',
193293
194310
  DODO: 'DODO',
193294
194311
  DYSTOPIA: 'DYSTOPIA',
194312
+ ECHO_DEX: 'ECHO_DEX',
193295
194313
  ELK: 'ELK',
194314
+ FINKUJIRA: 'FINKUJIRA',
193296
194315
  FUSIONX: 'FUSIONX',
193297
194316
  HONEY_SWAP: 'HONEY_SWAP',
193298
194317
  HORIZONDEX: 'HORIZONDEX',
@@ -193311,6 +194330,7 @@ exports.ON_CHAIN_TRADE_TYPE = {
193311
194330
  MOJITO_SWAP: 'MOJITO_SWAP',
193312
194331
  MUTE_SWAP: 'MUTE_SWAP',
193313
194332
  NET_SWAP: 'NET_SWAP',
194333
+ OKC_SWAP: 'OKC_SWAP',
193314
194334
  ONE_INCH: 'ONE_INCH',
193315
194335
  ONE_MOON: 'ONE_MOON',
193316
194336
  ONE_SOL: 'ONE_SOL',
@@ -193320,7 +194340,9 @@ exports.ON_CHAIN_TRADE_TYPE = {
193320
194340
  ORCA_SWAP: 'ORCA_SWAP',
193321
194341
  OSMOSIS_SWAP: 'OSMOSIS_SWAP',
193322
194342
  PANCAKE_SWAP: 'PANCAKE_SWAP',
194343
+ PANCAKE_SWAP_V3: 'PANCAKE_SWAP_V3',
193323
194344
  PANGOLIN: 'PANGOLIN',
194345
+ PARA_SWAP: 'PARA_SWAP',
193324
194346
  PEGASYS: 'PEGASYS',
193325
194347
  PHOTON_SWAP: 'PHOTON_SWAP',
193326
194348
  POLYDEX: 'POLYDEX',
@@ -193328,6 +194350,7 @@ exports.ON_CHAIN_TRADE_TYPE = {
193328
194350
  QUICK_SWAP_V3: 'QUICK_SWAP_V3',
193329
194351
  PULSEX_V1: 'PULSEX_V1',
193330
194352
  PULSEX_V2: 'PULSEX_V2',
194353
+ RANGO: 'RANGO',
193331
194354
  RAYDIUM: 'RAYDIUM',
193332
194355
  REF_FINANCE: 'REF_FINANCE',
193333
194356
  REN_BTC: 'REN_BTC',
@@ -193336,14 +194359,18 @@ exports.ON_CHAIN_TRADE_TYPE = {
193336
194359
  SERUM: 'SERUM',
193337
194360
  SHIBA_SWAP: 'SHIBA_SWAP',
193338
194361
  SMOOTHY: 'SMOOTHY',
194362
+ SOLANA: 'SOLANA',
193339
194363
  SOLAR_BEAM: 'SOLAR_BEAM',
194364
+ SPACEFI_SWAP: 'SPACEFI_SWAP',
193340
194365
  SPIRIT_SWAP: 'SPIRIT_SWAP',
193341
194366
  SPL_TOKEN_SWAP: 'SPL_TOKEN_SWAP',
193342
194367
  SPOOKY_SWAP: 'SPOOKY_SWAP',
193343
194368
  SOUL_SWAP: 'SOUL_SWAP',
193344
194369
  STELLA_SWAP: 'STELLA_SWAP',
194370
+ SUN_SWAP: 'SUN_SWAP',
193345
194371
  SURFDEX: 'SURFDEX',
193346
194372
  SUSHI_SWAP: 'SUSHI_SWAP',
194373
+ SYNAPSE: 'SYNAPSE',
193347
194374
  SYNC_SWAP: 'SYNC_SWAP',
193348
194375
  SYMBIOSIS_SWAP: 'SYMBIOSIS_SWAP',
193349
194376
  TRADER: 'TRADER',
@@ -193362,6 +194389,7 @@ exports.ON_CHAIN_TRADE_TYPE = {
193362
194389
  WAULT_SWAP: 'WAULT_SWAP',
193363
194390
  WOO_FI: 'WOO_FI',
193364
194391
  WRAPPED: 'WRAPPED',
194392
+ WYND: 'WYND',
193365
194393
  YUZU_SWAP: 'YUZU_SWAP',
193366
194394
  XY_DEX: 'XY_DEX',
193367
194395
  ZAPPY: 'ZAPPY',
@@ -214082,6 +215110,333 @@ exports.OpenOceanTrade = OpenOceanTrade;
214082
215110
  OpenOceanTrade.nativeAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
214083
215111
 
214084
215112
 
215113
+ /***/ }),
215114
+
215115
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.ts":
215116
+ /*!***************************************************************************************************************!*\
215117
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.ts ***!
215118
+ \***************************************************************************************************************/
215119
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
215120
+
215121
+ "use strict";
215122
+
215123
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
215124
+ exports.rangoOnChainDisabledProviders = void 0;
215125
+ const on_chain_trade_type_1 = __webpack_require__(/*! ../../common/models/on-chain-trade-type */ "./src/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.ts");
215126
+ exports.rangoOnChainDisabledProviders = [
215127
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OSMOSIS_SWAP,
215128
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OOLONG_SWAP,
215129
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE['10K_SWAP'],
215130
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.FINKUJIRA,
215131
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SOLANA,
215132
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.JUPITER,
215133
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SOLAR_BEAM,
215134
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.WYND,
215135
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SUN_SWAP,
215136
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.MDEX,
215137
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.BEAM_SWAP,
215138
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OKC_SWAP
215139
+ ];
215140
+
215141
+
215142
+ /***/ }),
215143
+
215144
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.ts":
215145
+ /*!********************************************************************************************************!*\
215146
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.ts ***!
215147
+ \********************************************************************************************************/
215148
+ /***/ ((__unused_webpack_module, exports) => {
215149
+
215150
+ "use strict";
215151
+
215152
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
215153
+
215154
+
215155
+ /***/ }),
215156
+
215157
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.ts":
215158
+ /*!**********************************************************************************************!*\
215159
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.ts ***!
215160
+ \**********************************************************************************************/
215161
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
215162
+
215163
+ "use strict";
215164
+
215165
+ var __importDefault = (this && this.__importDefault) || function (mod) {
215166
+ return (mod && mod.__esModule) ? mod : { "default": mod };
215167
+ };
215168
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
215169
+ exports.RangoOnChainProvider = void 0;
215170
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
215171
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
215172
+ const tokens_1 = __webpack_require__(/*! ../../../../../common/tokens */ "./src/common/tokens/index.ts");
215173
+ const rango_supported_blockchains_1 = __webpack_require__(/*! ../../../../common/providers/rango/models/rango-supported-blockchains */ "./src/features/common/providers/rango/models/rango-supported-blockchains.ts");
215174
+ const rango_parser_1 = __webpack_require__(/*! ../../../../common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts");
215175
+ const get_from_without_fee_1 = __webpack_require__(/*! ../../../../common/utils/get-from-without-fee */ "./src/features/common/utils/get-from-without-fee.ts");
215176
+ const on_chain_trade_type_1 = __webpack_require__(/*! ../common/models/on-chain-trade-type */ "./src/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.ts");
215177
+ const on_chain_proxy_service_1 = __webpack_require__(/*! ../common/on-chain-proxy-service/on-chain-proxy-service */ "./src/features/on-chain/calculation-manager/providers/common/on-chain-proxy-service/on-chain-proxy-service.ts");
215178
+ const get_gas_fee_info_1 = __webpack_require__(/*! ../common/utils/get-gas-fee-info */ "./src/features/on-chain/calculation-manager/providers/common/utils/get-gas-fee-info.ts");
215179
+ const get_gas_price_info_1 = __webpack_require__(/*! ../common/utils/get-gas-price-info */ "./src/features/on-chain/calculation-manager/providers/common/utils/get-gas-price-info.ts");
215180
+ const rango_on_chain_disabled_providers_1 = __webpack_require__(/*! ./models/rango-on-chain-disabled-providers */ "./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.ts");
215181
+ const rango_on_chain_trade_1 = __webpack_require__(/*! ./rango-on-chain-trade */ "./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.ts");
215182
+ const rango_on_chain_api_service_1 = __webpack_require__(/*! ./services/rango-on-chain-api-service */ "./src/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.ts");
215183
+ class RangoOnChainProvider {
215184
+ constructor() {
215185
+ this.onChainProxyService = new on_chain_proxy_service_1.OnChainProxyService();
215186
+ }
215187
+ isSupportedBlockchain(blockchainName) {
215188
+ return rango_supported_blockchains_1.rangoSupportedBlockchains.some(chain => chain === blockchainName);
215189
+ }
215190
+ async calculate(from, toToken, options) {
215191
+ if (!this.isSupportedBlockchain(from.blockchain)) {
215192
+ throw new errors_1.RubicSdkError(`Rango doesn't support ${from.blockchain} chain!`);
215193
+ }
215194
+ try {
215195
+ const { fromWithoutFee, proxyFeeInfo } = await this.handleProxyContract(from, options);
215196
+ const path = this.getRoutePath(from, toToken);
215197
+ const swapParams = await rango_parser_1.RangoCommonParser.getSwapQueryParams(fromWithoutFee, toToken, {
215198
+ ...options,
215199
+ swapperGroups: rango_on_chain_disabled_providers_1.rangoOnChainDisabledProviders
215200
+ });
215201
+ const { route, tx } = await rango_on_chain_api_service_1.RangoOnChainApiService.getSwapTransaction(swapParams);
215202
+ const { outputAmountMin, outputAmount } = route;
215203
+ const { approveTo: providerGateway } = tx;
215204
+ const to = new tokens_1.PriceTokenAmount({
215205
+ ...toToken.asStruct,
215206
+ weiAmount: new bignumber_js_1.default(outputAmount)
215207
+ });
215208
+ const toTokenWeiAmountMin = new bignumber_js_1.default(outputAmountMin);
215209
+ const tradeStruct = {
215210
+ from,
215211
+ to,
215212
+ fromWithoutFee,
215213
+ proxyFeeInfo,
215214
+ toTokenWeiAmountMin,
215215
+ gasFeeInfo: {
215216
+ gasLimit: undefined
215217
+ },
215218
+ slippageTolerance: options.slippageTolerance,
215219
+ useProxy: options.useProxy,
215220
+ withDeflation: options.withDeflation,
215221
+ path
215222
+ };
215223
+ const gasFeeInfo = options.gasCalculation === 'calculate'
215224
+ ? await this.getGasFeeInfo(tradeStruct, providerGateway)
215225
+ : null;
215226
+ return new rango_on_chain_trade_1.RangoOnChainTrade({
215227
+ ...tradeStruct,
215228
+ gasFeeInfo
215229
+ }, options.providerAddress, providerGateway);
215230
+ }
215231
+ catch (err) {
215232
+ return {
215233
+ type: on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO,
215234
+ error: err
215235
+ };
215236
+ }
215237
+ }
215238
+ async handleProxyContract(from, fullOptions) {
215239
+ let fromWithoutFee;
215240
+ let proxyFeeInfo;
215241
+ if (fullOptions.useProxy) {
215242
+ proxyFeeInfo = await this.onChainProxyService.getFeeInfo(from, fullOptions.providerAddress);
215243
+ fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(from, proxyFeeInfo.platformFee.percent);
215244
+ }
215245
+ else {
215246
+ fromWithoutFee = from;
215247
+ }
215248
+ return {
215249
+ fromWithoutFee,
215250
+ proxyFeeInfo
215251
+ };
215252
+ }
215253
+ async getGasFeeInfo(tradeStruct, providerGateway) {
215254
+ try {
215255
+ const gasPriceInfo = await (0, get_gas_price_info_1.getGasPriceInfo)(tradeStruct.from.blockchain);
215256
+ const gasLimit = await rango_on_chain_trade_1.RangoOnChainTrade.getGasLimit(tradeStruct, providerGateway);
215257
+ return (0, get_gas_fee_info_1.getGasFeeInfo)(gasLimit, gasPriceInfo);
215258
+ }
215259
+ catch {
215260
+ return null;
215261
+ }
215262
+ }
215263
+ getRoutePath(from, to) {
215264
+ return [from, to];
215265
+ }
215266
+ }
215267
+ exports.RangoOnChainProvider = RangoOnChainProvider;
215268
+
215269
+
215270
+ /***/ }),
215271
+
215272
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.ts":
215273
+ /*!*******************************************************************************************!*\
215274
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.ts ***!
215275
+ \*******************************************************************************************/
215276
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
215277
+
215278
+ "use strict";
215279
+
215280
+ var __importDefault = (this && this.__importDefault) || function (mod) {
215281
+ return (mod && mod.__esModule) ? mod : { "default": mod };
215282
+ };
215283
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
215284
+ exports.RangoOnChainTrade = void 0;
215285
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
215286
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
215287
+ const tokens_1 = __webpack_require__(/*! ../../../../../common/tokens */ "./src/common/tokens/index.ts");
215288
+ const errors_2 = __webpack_require__(/*! ../../../../../common/utils/errors */ "./src/common/utils/errors.ts");
215289
+ const evm_web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure */ "./src/core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure.ts");
215290
+ const injector_1 = __webpack_require__(/*! ../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
215291
+ const rango_parser_1 = __webpack_require__(/*! ../../../../common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts");
215292
+ const rubic_proxy_contract_address_1 = __webpack_require__(/*! ../../../../cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address */ "./src/features/cross-chain/calculation-manager/providers/common/constants/rubic-proxy-contract-address.ts");
215293
+ const on_chain_trade_type_1 = __webpack_require__(/*! ../common/models/on-chain-trade-type */ "./src/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.ts");
215294
+ const evm_on_chain_trade_1 = __webpack_require__(/*! ../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade */ "./src/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.ts");
215295
+ const rango_on_chain_api_service_1 = __webpack_require__(/*! ./services/rango-on-chain-api-service */ "./src/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.ts");
215296
+ class RangoOnChainTrade extends evm_on_chain_trade_1.EvmOnChainTrade {
215297
+ /* @internal */
215298
+ static async getGasLimit(tradeStruct, providerGateway) {
215299
+ const fromBlockchain = tradeStruct.from.blockchain;
215300
+ const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
215301
+ if (!walletAddress) {
215302
+ return null;
215303
+ }
215304
+ const rangoTrade = new RangoOnChainTrade(tradeStruct, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, providerGateway);
215305
+ try {
215306
+ const transactionConfig = await rangoTrade.encode({ fromAddress: walletAddress });
215307
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
215308
+ const gasLimit = (await web3Public.batchEstimatedGas(walletAddress, [transactionConfig]))[0];
215309
+ if (gasLimit?.isFinite()) {
215310
+ return gasLimit;
215311
+ }
215312
+ }
215313
+ catch { }
215314
+ try {
215315
+ const transactionData = await rangoTrade.getTransactionData();
215316
+ if (transactionData.gas) {
215317
+ return new bignumber_js_1.default(transactionData.gas);
215318
+ }
215319
+ }
215320
+ catch { }
215321
+ return null;
215322
+ }
215323
+ get toTokenAmountMin() {
215324
+ return this._toTokenAmountMin;
215325
+ }
215326
+ get spenderAddress() {
215327
+ return this.useProxy
215328
+ ? rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].gateway
215329
+ : this.providerGateway;
215330
+ }
215331
+ get dexContractAddress() {
215332
+ throw new errors_1.RubicSdkError('Dex address is unknown before swap is started');
215333
+ }
215334
+ constructor(tradeStruct, providerAddress, providerGateway) {
215335
+ super(tradeStruct, providerAddress);
215336
+ this.type = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO;
215337
+ this._toTokenAmountMin = new tokens_1.PriceTokenAmount({
215338
+ ...this.to.asStruct,
215339
+ weiAmount: tradeStruct.toTokenWeiAmountMin
215340
+ });
215341
+ this.providerGateway = providerGateway;
215342
+ }
215343
+ async encodeDirect(options) {
215344
+ await this.checkFromAddress(options.fromAddress, true);
215345
+ await this.checkReceiverAddress(options.receiverAddress);
215346
+ try {
215347
+ const transactionData = await this.getTransactionData(this.walletAddress, options.receiverAddress);
215348
+ const { gas, gasPrice } = this.getGasParams(options, {
215349
+ gasLimit: transactionData.gas,
215350
+ gasPrice: transactionData.gasPrice
215351
+ });
215352
+ return {
215353
+ to: transactionData.to,
215354
+ data: transactionData.data,
215355
+ value: this.fromWithoutFee.isNative ? this.fromWithoutFee.stringWeiAmount : '0',
215356
+ gas,
215357
+ gasPrice
215358
+ };
215359
+ }
215360
+ catch (err) {
215361
+ if ([400, 500, 503].includes(err.code)) {
215362
+ throw new errors_1.SwapRequestError();
215363
+ }
215364
+ if (this.isDeflationError()) {
215365
+ throw new errors_1.LowSlippageDeflationaryTokenError();
215366
+ }
215367
+ throw (0, errors_2.parseError)(err);
215368
+ }
215369
+ }
215370
+ async getTransactionData(fromAddress, receiverAddress) {
215371
+ const params = await rango_parser_1.RangoCommonParser.getSwapQueryParams(this.from, this.to, {
215372
+ slippageTolerance: this.slippageTolerance,
215373
+ fromAddress: fromAddress || this.walletAddress,
215374
+ receiverAddress: receiverAddress || fromAddress || this.walletAddress
215375
+ });
215376
+ const { tx } = await rango_on_chain_api_service_1.RangoOnChainApiService.getSwapTransaction(params);
215377
+ if (!tx) {
215378
+ throw new errors_1.RubicSdkError(`Transaction status is undefined!`);
215379
+ }
215380
+ const gasLimit = tx.gasLimit && parseInt(tx.gasLimit, 16).toString();
215381
+ const gasPrice = tx.gasPrice && parseInt(tx.gasPrice, 16).toString();
215382
+ return {
215383
+ data: tx.txData,
215384
+ to: tx.txTo,
215385
+ value: tx.value,
215386
+ gas: gasLimit,
215387
+ gasPrice: gasPrice
215388
+ };
215389
+ }
215390
+ }
215391
+ exports.RangoOnChainTrade = RangoOnChainTrade;
215392
+
215393
+
215394
+ /***/ }),
215395
+
215396
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.ts":
215397
+ /*!**********************************************************************************************************!*\
215398
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.ts ***!
215399
+ \**********************************************************************************************************/
215400
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
215401
+
215402
+ "use strict";
215403
+
215404
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
215405
+ exports.RangoOnChainApiService = void 0;
215406
+ const errors_1 = __webpack_require__(/*! ../../../../../../common/errors */ "./src/common/errors/index.ts");
215407
+ const injector_1 = __webpack_require__(/*! ../../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
215408
+ const rango_api_common_1 = __webpack_require__(/*! ../../../../../common/providers/rango/constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts");
215409
+ class RangoOnChainApiService {
215410
+ static async getBestRoute(params) {
215411
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/quote`, {
215412
+ params: params
215413
+ });
215414
+ if (!res.route || res.error) {
215415
+ throw new errors_1.RubicSdkError(res.error ?? 'No available routes in rango.');
215416
+ }
215417
+ return res;
215418
+ }
215419
+ static async getSwapTransaction(params) {
215420
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/swap`, { params: params });
215421
+ if (!res.route || res.error) {
215422
+ throw new errors_1.RubicSdkError(res.error ?? 'No available routes in rango.');
215423
+ }
215424
+ return res;
215425
+ }
215426
+ /**
215427
+ * @description Get transaction status data
215428
+ */
215429
+ static async getTxStatus(params) {
215430
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/status`, { params: params });
215431
+ if (res.error || !res.bridgeData || !res.status) {
215432
+ throw new errors_1.RubicSdkError("Can't get status, res has error or null data in getTxStatus method");
215433
+ }
215434
+ return res;
215435
+ }
215436
+ }
215437
+ exports.RangoOnChainApiService = RangoOnChainApiService;
215438
+
215439
+
214085
215440
  /***/ }),
214086
215441
 
214087
215442
  /***/ "./src/features/on-chain/calculation-manager/utils/type-guards.ts":
@@ -214347,6 +215702,19 @@ __exportStar(__webpack_require__(/*! ./features/common/providers/bridgers/models
214347
215702
  __exportStar(__webpack_require__(/*! ./features/common/providers/bridgers/models/bridgers-update-data-and-status-api */ "./src/features/common/providers/bridgers/models/bridgers-update-data-and-status-api.ts"), exports);
214348
215703
  __exportStar(__webpack_require__(/*! ./features/common/providers/changenow/constants/changenow-api-key */ "./src/features/common/providers/changenow/constants/changenow-api-key.ts"), exports);
214349
215704
  __exportStar(__webpack_require__(/*! ./features/common/providers/lifi/constants/lifi-config */ "./src/features/common/providers/lifi/constants/lifi-config.ts"), exports);
215705
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts"), exports);
215706
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/constants/rango-contract-address */ "./src/features/common/providers/rango/constants/rango-contract-address.ts"), exports);
215707
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-best-route-types */ "./src/features/common/providers/rango/models/rango-api-best-route-types.ts"), exports);
215708
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-blockchain-names */ "./src/features/common/providers/rango/models/rango-api-blockchain-names.ts"), exports);
215709
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-common-types */ "./src/features/common/providers/rango/models/rango-api-common-types.ts"), exports);
215710
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-status-types */ "./src/features/common/providers/rango/models/rango-api-status-types.ts"), exports);
215711
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-swap-types */ "./src/features/common/providers/rango/models/rango-api-swap-types.ts"), exports);
215712
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-symbol-names */ "./src/features/common/providers/rango/models/rango-api-symbol-names.ts"), exports);
215713
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-trade-types */ "./src/features/common/providers/rango/models/rango-api-trade-types.ts"), exports);
215714
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-parser-types */ "./src/features/common/providers/rango/models/rango-parser-types.ts"), exports);
215715
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-supported-blockchains */ "./src/features/common/providers/rango/models/rango-supported-blockchains.ts"), exports);
215716
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts"), exports);
215717
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/utils/rango-utils */ "./src/features/common/providers/rango/utils/rango-utils.ts"), exports);
214350
215718
  __exportStar(__webpack_require__(/*! ./features/common/providers/xy/constants/xy-api-params */ "./src/features/common/providers/xy/constants/xy-api-params.ts"), exports);
214351
215719
  __exportStar(__webpack_require__(/*! ./features/common/providers/xy/constants/xy-error-code */ "./src/features/common/providers/xy/constants/xy-error-code.ts"), exports);
214352
215720
  __exportStar(__webpack_require__(/*! ./features/common/providers/xy/models/xy-build-tx-request */ "./src/features/common/providers/xy/models/xy-build-tx-request.ts"), exports);
@@ -214455,6 +215823,12 @@ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/
214455
215823
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/lifi-provider/models/lifi-swap-status */ "./src/features/cross-chain/calculation-manager/providers/lifi-provider/models/lifi-swap-status.ts"), exports);
214456
215824
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/lifi-provider/models/lifi-transaction-request */ "./src/features/cross-chain/calculation-manager/providers/lifi-provider/models/lifi-transaction-request.ts"), exports);
214457
215825
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/lifi-provider/models/uniq-lifi-bridge-types */ "./src/features/cross-chain/calculation-manager/providers/lifi-provider/models/uniq-lifi-bridge-types.ts"), exports);
215826
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.ts"), exports);
215827
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.ts"), exports);
215828
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.ts"), exports);
215829
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.ts"), exports);
215830
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.ts"), exports);
215831
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser */ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.ts"), exports);
214458
215832
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/scroll-bridge/constants/l1-erc20-scroll-gateway-abi */ "./src/features/cross-chain/calculation-manager/providers/scroll-bridge/constants/l1-erc20-scroll-gateway-abi.ts"), exports);
214459
215833
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/scroll-bridge/constants/l2-erc20-scroll-gateway-abi */ "./src/features/cross-chain/calculation-manager/providers/scroll-bridge/constants/l2-erc20-scroll-gateway-abi.ts"), exports);
214460
215834
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/scroll-bridge/constants/scroll-bridge-contract-address */ "./src/features/cross-chain/calculation-manager/providers/scroll-bridge/constants/scroll-bridge-contract-address.ts"), exports);
@@ -215045,6 +216419,11 @@ __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/pro
215045
216419
  __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/providers/open-ocean/models/open-ocean-trade-struct */ "./src/features/on-chain/calculation-manager/providers/open-ocean/models/open-ocean-trade-struct.ts"), exports);
215046
216420
  __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/providers/open-ocean/open-ocean-provider */ "./src/features/on-chain/calculation-manager/providers/open-ocean/open-ocean-provider.ts"), exports);
215047
216421
  __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/providers/open-ocean/open-ocean-trade */ "./src/features/on-chain/calculation-manager/providers/open-ocean/open-ocean-trade.ts"), exports);
216422
+ __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers */ "./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.ts"), exports);
216423
+ __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types */ "./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.ts"), exports);
216424
+ __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider */ "./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.ts"), exports);
216425
+ __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade */ "./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.ts"), exports);
216426
+ __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service */ "./src/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.ts"), exports);
215048
216427
  __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/utils/type-guards */ "./src/features/on-chain/calculation-manager/utils/type-guards.ts"), exports);
215049
216428
  __exportStar(__webpack_require__(/*! ./features/on-chain/status-manager/on-chain-status-manager */ "./src/features/on-chain/status-manager/on-chain-status-manager.ts"), exports);
215050
216429