rubic-sdk 4.45.3 → 4.47.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 (163) hide show
  1. package/dist/rubic-sdk.min.js +3816 -17
  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 +3 -1
  53. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js +5 -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 +2 -0
  57. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js +3 -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/constants/evm-common-cross-chain-abi.js +26 -8
  63. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/constants/evm-common-cross-chain-abi.js.map +1 -1
  64. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.d.ts +4 -0
  65. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js +4 -0
  66. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js.map +1 -1
  67. package/lib/features/cross-chain/calculation-manager/providers/common/models/bridge-type.d.ts +9 -2
  68. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.d.ts +8 -1
  69. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.js +6 -1
  70. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.js.map +1 -1
  71. package/lib/features/cross-chain/calculation-manager/providers/common/models/rubicStep.d.ts +2 -2
  72. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.d.ts +2 -0
  73. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.js +17 -0
  74. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.js.map +1 -0
  75. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.d.ts +2 -0
  76. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.js +61 -0
  77. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.js.map +1 -0
  78. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.d.ts +2 -0
  79. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.js +72 -0
  80. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.js.map +1 -0
  81. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.d.ts +2 -0
  82. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.js +1390 -0
  83. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.js.map +1 -0
  84. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.d.ts +2 -0
  85. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.js +14 -0
  86. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.js.map +1 -0
  87. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.d.ts +6 -0
  88. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.js +16 -0
  89. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.js.map +1 -0
  90. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.d.ts +2 -0
  91. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.js +9 -0
  92. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.js.map +1 -0
  93. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.d.ts +7 -0
  94. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.js +15 -0
  95. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.js.map +1 -0
  96. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.d.ts +14 -0
  97. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.js +54 -0
  98. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.js.map +1 -0
  99. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.d.ts +14 -0
  100. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.js +54 -0
  101. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.js.map +1 -0
  102. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.d.ts +108 -0
  103. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.js +112 -0
  104. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.js.map +1 -0
  105. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.d.ts +19 -0
  106. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.js +182 -0
  107. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.js.map +1 -0
  108. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.d.ts +55 -0
  109. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js +232 -0
  110. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js.map +1 -0
  111. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.d.ts +8 -0
  112. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.js +3 -0
  113. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.js.map +1 -0
  114. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.d.ts +32 -0
  115. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.js +3 -0
  116. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.js.map +1 -0
  117. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.d.ts +21 -0
  118. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js +111 -0
  119. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js.map +1 -0
  120. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.d.ts +48 -0
  121. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js +210 -0
  122. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js.map +1 -0
  123. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.d.ts +12 -0
  124. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.js +36 -0
  125. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.js.map +1 -0
  126. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.d.ts +4 -0
  127. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.js +37 -0
  128. package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.js.map +1 -0
  129. package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.d.ts +1 -2
  130. package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js.map +1 -1
  131. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js +1 -1
  132. package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js.map +1 -1
  133. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.d.ts +2 -0
  134. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js +39 -1
  135. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js.map +1 -1
  136. package/lib/features/cross-chain/status-manager/models/rubic-backend-ps-status.d.ts +6 -0
  137. package/lib/features/cross-chain/status-manager/models/rubic-backend-ps-status.js +3 -0
  138. package/lib/features/cross-chain/status-manager/models/rubic-backend-ps-status.js.map +1 -0
  139. package/lib/features/on-chain/calculation-manager/on-chain-manager.d.ts +3 -0
  140. package/lib/features/on-chain/calculation-manager/on-chain-manager.js +34 -2
  141. package/lib/features/on-chain/calculation-manager/on-chain-manager.js.map +1 -1
  142. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.d.ts +14 -0
  143. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.js +14 -0
  144. package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.js.map +1 -1
  145. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.d.ts +2 -0
  146. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.js +19 -0
  147. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.js.map +1 -0
  148. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.d.ts +5 -0
  149. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.js +3 -0
  150. package/lib/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.js.map +1 -0
  151. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.d.ts +17 -0
  152. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.js +105 -0
  153. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.js.map +1 -0
  154. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.d.ts +22 -0
  155. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.js +114 -0
  156. package/lib/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.js.map +1 -0
  157. package/lib/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.d.ts +12 -0
  158. package/lib/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.js +36 -0
  159. package/lib/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.js.map +1 -0
  160. package/lib/index.d.ts +38 -0
  161. package/lib/index.js +38 -0
  162. package/lib/index.js.map +1 -1
  163. 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":
@@ -178555,10 +179041,12 @@ const cbridge_cross_chain_provider_1 = __webpack_require__(/*! ../providers/cbri
178555
179041
  const changenow_cross_chain_provider_1 = __webpack_require__(/*! ../providers/changenow-provider/changenow-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-provider.ts");
178556
179042
  const debridge_cross_chain_provider_1 = __webpack_require__(/*! ../providers/debridge-provider/debridge-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.ts");
178557
179043
  const lifi_cross_chain_provider_1 = __webpack_require__(/*! ../providers/lifi-provider/lifi-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-provider.ts");
179044
+ const pulse_chain_cross_chain_provider_1 = __webpack_require__(/*! ../providers/pulse-chain-bridge/pulse-chain-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.ts");
178558
179045
  // import { ScrollBridgeProvider } from 'src/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-provider';
178559
179046
  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
179047
  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
179048
  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");
179049
+ 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
179050
  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
179051
  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
179052
  const proxyProviders = [
@@ -178567,7 +179055,9 @@ const proxyProviders = [
178567
179055
  xy_cross_chain_provider_1.XyCrossChainProvider,
178568
179056
  cbridge_cross_chain_provider_1.CbridgeCrossChainProvider,
178569
179057
  lifi_cross_chain_provider_1.LifiCrossChainProvider,
178570
- squidrouter_cross_chain_provider_1.SquidrouterCrossChainProvider
179058
+ squidrouter_cross_chain_provider_1.SquidrouterCrossChainProvider,
179059
+ rango_cross_chain_provider_1.RangoCrossChainProvider,
179060
+ pulse_chain_cross_chain_provider_1.PulseChainCrossChainProvider
178571
179061
  ];
178572
179062
  const nonProxyProviders = [
178573
179063
  debridge_cross_chain_provider_1.DebridgeCrossChainProvider,
@@ -178918,7 +179408,9 @@ exports.CROSS_CHAIN_TRADE_TYPE = {
178918
179408
  ARBITRUM: 'arbitrum',
178919
179409
  SQUIDROUTER: 'squidrouter',
178920
179410
  SCROLL_BRIDGE: 'scroll_bridge',
178921
- TAIKO_BRIDGE: 'taiko_bridge'
179411
+ TAIKO_BRIDGE: 'taiko_bridge',
179412
+ RANGO: 'rango',
179413
+ PULSE_CHAIN_BRIDGE: 'pulse_chain_bridge'
178922
179414
  };
178923
179415
 
178924
179416
 
@@ -183810,14 +184302,23 @@ exports.evmCommonCrossChainAbi = [
183810
184302
  },
183811
184303
  {
183812
184304
  components: [
183813
- { internalType: 'address payable', name: 'destination', type: 'address' }
184305
+ {
184306
+ internalType: 'address',
184307
+ name: 'receiver',
184308
+ type: 'address'
184309
+ },
184310
+ {
184311
+ internalType: 'bytes',
184312
+ name: 'data',
184313
+ type: 'bytes'
184314
+ }
183814
184315
  ],
183815
- internalType: 'struct TransferFacet.TransferData',
183816
- name: '_transferData',
184316
+ internalType: 'struct TransferAndCallData',
184317
+ name: '_transferAndCallData',
183817
184318
  type: 'tuple'
183818
184319
  }
183819
184320
  ],
183820
- name: 'startBridgeTokensViaTransfer',
184321
+ name: 'startBridgeTokensViaTransferAndCall',
183821
184322
  outputs: [],
183822
184323
  stateMutability: 'payable',
183823
184324
  type: 'function'
@@ -183859,14 +184360,23 @@ exports.evmCommonCrossChainAbi = [
183859
184360
  },
183860
184361
  {
183861
184362
  components: [
183862
- { internalType: 'address payable', name: 'destination', type: 'address' }
184363
+ {
184364
+ internalType: 'address',
184365
+ name: 'receiver',
184366
+ type: 'address'
184367
+ },
184368
+ {
184369
+ internalType: 'bytes',
184370
+ name: 'data',
184371
+ type: 'bytes'
184372
+ }
183863
184373
  ],
183864
- internalType: 'struct TransferFacet.TransferData',
183865
- name: '_transferData',
184374
+ internalType: 'struct TransferAndCallData',
184375
+ name: '_transferAndCallData',
183866
184376
  type: 'tuple'
183867
184377
  }
183868
184378
  ],
183869
- name: 'swapAndStartBridgeTokensViaTransfer',
184379
+ name: 'swapAndStartBridgeTokensViaTransferAndCall',
183870
184380
  outputs: [],
183871
184381
  stateMutability: 'payable',
183872
184382
  type: 'function'
@@ -183979,6 +184489,10 @@ class EvmCrossChainTrade extends cross_chain_trade_1.CrossChainTrade {
183979
184489
  };
183980
184490
  await this.approve(approveOptions, false);
183981
184491
  }
184492
+ /**
184493
+ *
184494
+ * @returns txHash(srcTxHash) | never
184495
+ */
183982
184496
  async swap(options = {}) {
183983
184497
  if (!this.isProxyTrade) {
183984
184498
  return this.swapDirect(options);
@@ -184134,18 +184648,23 @@ exports.DEFAULT_BRIDGE_TYPE = {
184134
184648
  CELERIM: 'celerim',
184135
184649
  HOP: 'hop',
184136
184650
  HYPHEN: 'hyphen',
184137
- OPEN_OCEAN: 'openocean',
184651
+ IBC: 'ibc',
184138
184652
  MAKERS_WORMHOLE: 'maker',
184653
+ MAYA_PROTOCOL: 'mayaprotocol',
184139
184654
  MULTICHAIN: 'multichain',
184655
+ OPEN_OCEAN: 'openocean',
184140
184656
  OPTIMISM_GATEWAY: 'optimism',
184657
+ ORBITER_BRIDGE: 'orbiter',
184141
184658
  OSMOSIS_BRIDGE: 'osmosis',
184142
184659
  POLYGON: 'polygon',
184660
+ RAINBOW: 'rainbow',
184143
184661
  REFUEL: 'refuel',
184144
184662
  SATELLITE: 'satellite',
184145
184663
  STARGATE: 'stargate',
184146
184664
  SYMBIOSIS: 'symbiosis',
184147
184665
  SYNAPSE: 'synapse',
184148
184666
  THORCHAIN: 'thorchain',
184667
+ VOYAGER: 'voyager',
184149
184668
  WORMHOLE: 'wormhole',
184150
184669
  YPOOL: 'ypool'
184151
184670
  };
@@ -186103,6 +186622,2824 @@ exports.UNIQ_LIFI_BRIDGE_TYPES = {
186103
186622
  };
186104
186623
 
186105
186624
 
186625
+ /***/ }),
186626
+
186627
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.ts":
186628
+ /*!************************************************************************************************************!*\
186629
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.ts ***!
186630
+ \************************************************************************************************************/
186631
+ /***/ ((__unused_webpack_module, exports) => {
186632
+
186633
+ "use strict";
186634
+
186635
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186636
+ exports.erc677Abi = void 0;
186637
+ exports.erc677Abi = [
186638
+ {
186639
+ inputs: [
186640
+ { internalType: 'address', name: 'to', type: 'address' },
186641
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
186642
+ { internalType: 'bytes', name: '', type: 'bytes' }
186643
+ ],
186644
+ name: 'transferAndCall',
186645
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
186646
+ stateMutability: 'nonpayable',
186647
+ type: 'function'
186648
+ }
186649
+ ];
186650
+
186651
+
186652
+ /***/ }),
186653
+
186654
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.ts":
186655
+ /*!****************************************************************************************************************!*\
186656
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.ts ***!
186657
+ \****************************************************************************************************************/
186658
+ /***/ ((__unused_webpack_module, exports) => {
186659
+
186660
+ "use strict";
186661
+
186662
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186663
+ exports.feeManagerAbi = void 0;
186664
+ exports.feeManagerAbi = [
186665
+ {
186666
+ inputs: [],
186667
+ name: 'FOREIGN_TO_HOME_FEE',
186668
+ outputs: [
186669
+ {
186670
+ internalType: 'bytes32',
186671
+ name: '',
186672
+ type: 'bytes32'
186673
+ }
186674
+ ],
186675
+ stateMutability: 'view',
186676
+ type: 'function'
186677
+ },
186678
+ {
186679
+ inputs: [],
186680
+ name: 'HOME_TO_FOREIGN_FEE',
186681
+ outputs: [
186682
+ {
186683
+ internalType: 'bytes32',
186684
+ name: '',
186685
+ type: 'bytes32'
186686
+ }
186687
+ ],
186688
+ stateMutability: 'view',
186689
+ type: 'function'
186690
+ },
186691
+ {
186692
+ inputs: [
186693
+ {
186694
+ internalType: 'bytes32',
186695
+ name: '_feeType',
186696
+ type: 'bytes32'
186697
+ },
186698
+ {
186699
+ internalType: 'address',
186700
+ name: '_token',
186701
+ type: 'address'
186702
+ },
186703
+ {
186704
+ internalType: 'uint256',
186705
+ name: '_value',
186706
+ type: 'uint256'
186707
+ }
186708
+ ],
186709
+ name: 'calculateFee',
186710
+ outputs: [
186711
+ {
186712
+ internalType: 'uint256',
186713
+ name: '',
186714
+ type: 'uint256'
186715
+ }
186716
+ ],
186717
+ stateMutability: 'view',
186718
+ type: 'function'
186719
+ }
186720
+ ];
186721
+
186722
+
186723
+ /***/ }),
186724
+
186725
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.ts":
186726
+ /*!*******************************************************************************************************************!*\
186727
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.ts ***!
186728
+ \*******************************************************************************************************************/
186729
+ /***/ ((__unused_webpack_module, exports) => {
186730
+
186731
+ "use strict";
186732
+
186733
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186734
+ exports.foreignBridgeAbi = void 0;
186735
+ exports.foreignBridgeAbi = [
186736
+ {
186737
+ inputs: [{ internalType: 'address', name: '_nativeToken', type: 'address' }],
186738
+ name: 'bridgedTokenAddress',
186739
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
186740
+ stateMutability: 'view',
186741
+ type: 'function'
186742
+ },
186743
+ {
186744
+ inputs: [{ internalType: 'address', name: '_token', type: 'address' }],
186745
+ name: 'isRegisteredAsNativeToken',
186746
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
186747
+ stateMutability: 'view',
186748
+ type: 'function'
186749
+ },
186750
+ {
186751
+ inputs: [{ internalType: 'address', name: '_token', type: 'address' }],
186752
+ name: 'isTokenRegistered',
186753
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
186754
+ stateMutability: 'view',
186755
+ type: 'function'
186756
+ },
186757
+ {
186758
+ inputs: [{ internalType: 'address', name: '_token', type: 'address' }],
186759
+ name: 'minPerTx',
186760
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
186761
+ stateMutability: 'view',
186762
+ type: 'function'
186763
+ },
186764
+ {
186765
+ inputs: [{ internalType: 'address', name: '_bridgedToken', type: 'address' }],
186766
+ name: 'nativeTokenAddress',
186767
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
186768
+ stateMutability: 'view',
186769
+ type: 'function'
186770
+ },
186771
+ {
186772
+ inputs: [
186773
+ { internalType: 'contract IERC677', name: 'token', type: 'address' },
186774
+ { internalType: 'address', name: '_receiver', type: 'address' },
186775
+ { internalType: 'uint256', name: '_value', type: 'uint256' }
186776
+ ],
186777
+ name: 'relayTokens',
186778
+ outputs: [],
186779
+ stateMutability: 'nonpayable',
186780
+ type: 'function'
186781
+ },
186782
+ {
186783
+ inputs: [
186784
+ { internalType: 'address', name: '_token', type: 'address' },
186785
+ { internalType: 'uint256', name: '_amount', type: 'uint256' }
186786
+ ],
186787
+ name: 'withinExecutionLimit',
186788
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
186789
+ stateMutability: 'view',
186790
+ type: 'function'
186791
+ },
186792
+ {
186793
+ inputs: [
186794
+ { internalType: 'address', name: '_token', type: 'address' },
186795
+ { internalType: 'uint256', name: '_amount', type: 'uint256' }
186796
+ ],
186797
+ name: 'withinLimit',
186798
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
186799
+ stateMutability: 'view',
186800
+ type: 'function'
186801
+ }
186802
+ ];
186803
+
186804
+
186805
+ /***/ }),
186806
+
186807
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.ts":
186808
+ /*!****************************************************************************************************************!*\
186809
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.ts ***!
186810
+ \****************************************************************************************************************/
186811
+ /***/ ((__unused_webpack_module, exports) => {
186812
+
186813
+ "use strict";
186814
+
186815
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
186816
+ exports.homeBridgeAbi = void 0;
186817
+ exports.homeBridgeAbi = [
186818
+ {
186819
+ inputs: [
186820
+ {
186821
+ internalType: 'string',
186822
+ name: '_suffix',
186823
+ type: 'string'
186824
+ }
186825
+ ],
186826
+ type: 'constructor'
186827
+ },
186828
+ {
186829
+ inputs: [],
186830
+ name: 'bridgeContract',
186831
+ outputs: [
186832
+ {
186833
+ internalType: 'contract IAMB',
186834
+ name: '',
186835
+ type: 'address'
186836
+ }
186837
+ ],
186838
+ stateMutability: 'view',
186839
+ type: 'function'
186840
+ },
186841
+ {
186842
+ inputs: [
186843
+ {
186844
+ internalType: 'address',
186845
+ name: '_nativeToken',
186846
+ type: 'address'
186847
+ }
186848
+ ],
186849
+ name: 'bridgedTokenAddress',
186850
+ outputs: [
186851
+ {
186852
+ internalType: 'address',
186853
+ name: '',
186854
+ type: 'address'
186855
+ }
186856
+ ],
186857
+ stateMutability: 'view',
186858
+ type: 'function'
186859
+ },
186860
+ {
186861
+ inputs: [
186862
+ {
186863
+ internalType: 'address',
186864
+ name: '_token',
186865
+ type: 'address'
186866
+ },
186867
+ {
186868
+ internalType: 'address',
186869
+ name: '_to',
186870
+ type: 'address'
186871
+ }
186872
+ ],
186873
+ name: 'claimTokens',
186874
+ outputs: [],
186875
+ stateMutability: 'nonpayable',
186876
+ type: 'function'
186877
+ },
186878
+ {
186879
+ inputs: [
186880
+ {
186881
+ internalType: 'address',
186882
+ name: '_bridgedToken',
186883
+ type: 'address'
186884
+ },
186885
+ {
186886
+ internalType: 'address',
186887
+ name: '_token',
186888
+ type: 'address'
186889
+ },
186890
+ {
186891
+ internalType: 'address',
186892
+ name: '_to',
186893
+ type: 'address'
186894
+ }
186895
+ ],
186896
+ name: 'claimTokensFromTokenContract',
186897
+ outputs: [],
186898
+ stateMutability: 'nonpayable',
186899
+ type: 'function'
186900
+ },
186901
+ {
186902
+ inputs: [
186903
+ {
186904
+ internalType: 'address',
186905
+ name: '_token',
186906
+ type: 'address'
186907
+ }
186908
+ ],
186909
+ name: 'dailyLimit',
186910
+ outputs: [
186911
+ {
186912
+ internalType: 'uint256',
186913
+ name: '',
186914
+ type: 'uint256'
186915
+ }
186916
+ ],
186917
+ stateMutability: 'view',
186918
+ type: 'function'
186919
+ },
186920
+ {
186921
+ inputs: [
186922
+ {
186923
+ internalType: 'address',
186924
+ name: '_token',
186925
+ type: 'address'
186926
+ },
186927
+ {
186928
+ internalType: 'string',
186929
+ name: '_name',
186930
+ type: 'string'
186931
+ },
186932
+ {
186933
+ internalType: 'string',
186934
+ name: '_symbol',
186935
+ type: 'string'
186936
+ },
186937
+ {
186938
+ internalType: 'uint8',
186939
+ name: '_decimals',
186940
+ type: 'uint8'
186941
+ },
186942
+ {
186943
+ internalType: 'address',
186944
+ name: '_recipient',
186945
+ type: 'address'
186946
+ },
186947
+ {
186948
+ internalType: 'uint256',
186949
+ name: '_value',
186950
+ type: 'uint256'
186951
+ }
186952
+ ],
186953
+ name: 'deployAndHandleBridgedTokens',
186954
+ outputs: [],
186955
+ stateMutability: 'nonpayable',
186956
+ type: 'function'
186957
+ },
186958
+ {
186959
+ inputs: [
186960
+ {
186961
+ internalType: 'address',
186962
+ name: '_token',
186963
+ type: 'address'
186964
+ },
186965
+ {
186966
+ internalType: 'string',
186967
+ name: '_name',
186968
+ type: 'string'
186969
+ },
186970
+ {
186971
+ internalType: 'string',
186972
+ name: '_symbol',
186973
+ type: 'string'
186974
+ },
186975
+ {
186976
+ internalType: 'uint8',
186977
+ name: '_decimals',
186978
+ type: 'uint8'
186979
+ },
186980
+ {
186981
+ internalType: 'address',
186982
+ name: '_recipient',
186983
+ type: 'address'
186984
+ },
186985
+ {
186986
+ internalType: 'uint256',
186987
+ name: '_value',
186988
+ type: 'uint256'
186989
+ },
186990
+ {
186991
+ internalType: 'bytes',
186992
+ name: '_data',
186993
+ type: 'bytes'
186994
+ }
186995
+ ],
186996
+ name: 'deployAndHandleBridgedTokensAndCall',
186997
+ outputs: [],
186998
+ stateMutability: 'nonpayable',
186999
+ type: 'function'
187000
+ },
187001
+ {
187002
+ inputs: [
187003
+ {
187004
+ internalType: 'address',
187005
+ name: '_token',
187006
+ type: 'address'
187007
+ }
187008
+ ],
187009
+ name: 'executionDailyLimit',
187010
+ outputs: [
187011
+ {
187012
+ internalType: 'uint256',
187013
+ name: '',
187014
+ type: 'uint256'
187015
+ }
187016
+ ],
187017
+ stateMutability: 'view',
187018
+ type: 'function'
187019
+ },
187020
+ {
187021
+ inputs: [
187022
+ {
187023
+ internalType: 'address',
187024
+ name: '_token',
187025
+ type: 'address'
187026
+ }
187027
+ ],
187028
+ name: 'executionMaxPerTx',
187029
+ outputs: [
187030
+ {
187031
+ internalType: 'uint256',
187032
+ name: '',
187033
+ type: 'uint256'
187034
+ }
187035
+ ],
187036
+ stateMutability: 'view',
187037
+ type: 'function'
187038
+ },
187039
+ {
187040
+ inputs: [],
187041
+ name: 'feeManager',
187042
+ outputs: [
187043
+ {
187044
+ internalType: 'contract OmnibridgeFeeManager',
187045
+ name: '',
187046
+ type: 'address'
187047
+ }
187048
+ ],
187049
+ stateMutability: 'view',
187050
+ type: 'function'
187051
+ },
187052
+ {
187053
+ inputs: [
187054
+ {
187055
+ internalType: 'bytes32',
187056
+ name: '_messageId',
187057
+ type: 'bytes32'
187058
+ }
187059
+ ],
187060
+ name: 'fixFailedMessage',
187061
+ outputs: [],
187062
+ stateMutability: 'nonpayable',
187063
+ type: 'function'
187064
+ },
187065
+ {
187066
+ inputs: [
187067
+ {
187068
+ internalType: 'address',
187069
+ name: '_token',
187070
+ type: 'address'
187071
+ },
187072
+ {
187073
+ internalType: 'address',
187074
+ name: '_receiver',
187075
+ type: 'address'
187076
+ }
187077
+ ],
187078
+ name: 'fixMediatorBalance',
187079
+ outputs: [],
187080
+ stateMutability: 'nonpayable',
187081
+ type: 'function'
187082
+ },
187083
+ {
187084
+ inputs: [
187085
+ {
187086
+ internalType: 'address',
187087
+ name: '_homeToken',
187088
+ type: 'address'
187089
+ }
187090
+ ],
187091
+ name: 'foreignTokenAddress',
187092
+ outputs: [
187093
+ {
187094
+ internalType: 'address',
187095
+ name: '',
187096
+ type: 'address'
187097
+ }
187098
+ ],
187099
+ stateMutability: 'view',
187100
+ type: 'function'
187101
+ },
187102
+ {
187103
+ inputs: [],
187104
+ name: 'forwardingRulesManager',
187105
+ outputs: [
187106
+ {
187107
+ internalType: 'contract MultiTokenForwardingRulesManager',
187108
+ name: '',
187109
+ type: 'address'
187110
+ }
187111
+ ],
187112
+ stateMutability: 'view',
187113
+ type: 'function'
187114
+ },
187115
+ {
187116
+ inputs: [],
187117
+ name: 'gasLimitManager',
187118
+ outputs: [
187119
+ {
187120
+ internalType: 'contract SelectorTokenGasLimitManager',
187121
+ name: '',
187122
+ type: 'address'
187123
+ }
187124
+ ],
187125
+ stateMutability: 'view',
187126
+ type: 'function'
187127
+ },
187128
+ {
187129
+ inputs: [],
187130
+ name: 'getBridgeInterfacesVersion',
187131
+ outputs: [
187132
+ {
187133
+ internalType: 'uint64',
187134
+ name: 'major',
187135
+ type: 'uint64'
187136
+ },
187137
+ {
187138
+ internalType: 'uint64',
187139
+ name: 'minor',
187140
+ type: 'uint64'
187141
+ },
187142
+ {
187143
+ internalType: 'uint64',
187144
+ name: 'patch',
187145
+ type: 'uint64'
187146
+ }
187147
+ ],
187148
+ stateMutability: 'pure',
187149
+ type: 'function'
187150
+ },
187151
+ {
187152
+ inputs: [],
187153
+ name: 'getBridgeMode',
187154
+ outputs: [
187155
+ {
187156
+ internalType: 'bytes4',
187157
+ name: '_data',
187158
+ type: 'bytes4'
187159
+ }
187160
+ ],
187161
+ stateMutability: 'pure',
187162
+ type: 'function'
187163
+ },
187164
+ {
187165
+ inputs: [],
187166
+ name: 'getCurrentDay',
187167
+ outputs: [
187168
+ {
187169
+ internalType: 'uint256',
187170
+ name: '',
187171
+ type: 'uint256'
187172
+ }
187173
+ ],
187174
+ stateMutability: 'view',
187175
+ type: 'function'
187176
+ },
187177
+ {
187178
+ inputs: [
187179
+ {
187180
+ internalType: 'address',
187181
+ name: '_token',
187182
+ type: 'address'
187183
+ },
187184
+ {
187185
+ internalType: 'address',
187186
+ name: '_recipient',
187187
+ type: 'address'
187188
+ },
187189
+ {
187190
+ internalType: 'uint256',
187191
+ name: '_value',
187192
+ type: 'uint256'
187193
+ }
187194
+ ],
187195
+ name: 'handleBridgedTokens',
187196
+ outputs: [],
187197
+ stateMutability: 'nonpayable',
187198
+ type: 'function'
187199
+ },
187200
+ {
187201
+ inputs: [
187202
+ {
187203
+ internalType: 'address',
187204
+ name: '_token',
187205
+ type: 'address'
187206
+ },
187207
+ {
187208
+ internalType: 'address',
187209
+ name: '_recipient',
187210
+ type: 'address'
187211
+ },
187212
+ {
187213
+ internalType: 'uint256',
187214
+ name: '_value',
187215
+ type: 'uint256'
187216
+ },
187217
+ {
187218
+ internalType: 'bytes',
187219
+ name: '_data',
187220
+ type: 'bytes'
187221
+ }
187222
+ ],
187223
+ name: 'handleBridgedTokensAndCall',
187224
+ outputs: [],
187225
+ stateMutability: 'nonpayable',
187226
+ type: 'function'
187227
+ },
187228
+ {
187229
+ inputs: [
187230
+ {
187231
+ internalType: 'address',
187232
+ name: '_token',
187233
+ type: 'address'
187234
+ },
187235
+ {
187236
+ internalType: 'address',
187237
+ name: '_recipient',
187238
+ type: 'address'
187239
+ },
187240
+ {
187241
+ internalType: 'uint256',
187242
+ name: '_value',
187243
+ type: 'uint256'
187244
+ }
187245
+ ],
187246
+ name: 'handleNativeTokens',
187247
+ outputs: [],
187248
+ stateMutability: 'nonpayable',
187249
+ type: 'function'
187250
+ },
187251
+ {
187252
+ inputs: [
187253
+ {
187254
+ internalType: 'address',
187255
+ name: '_token',
187256
+ type: 'address'
187257
+ },
187258
+ {
187259
+ internalType: 'address',
187260
+ name: '_recipient',
187261
+ type: 'address'
187262
+ },
187263
+ {
187264
+ internalType: 'uint256',
187265
+ name: '_value',
187266
+ type: 'uint256'
187267
+ },
187268
+ {
187269
+ internalType: 'bytes',
187270
+ name: '_data',
187271
+ type: 'bytes'
187272
+ }
187273
+ ],
187274
+ name: 'handleNativeTokensAndCall',
187275
+ outputs: [],
187276
+ stateMutability: 'nonpayable',
187277
+ type: 'function'
187278
+ },
187279
+ {
187280
+ inputs: [
187281
+ {
187282
+ internalType: 'address',
187283
+ name: '_foreignToken',
187284
+ type: 'address'
187285
+ }
187286
+ ],
187287
+ name: 'homeTokenAddress',
187288
+ outputs: [
187289
+ {
187290
+ internalType: 'address',
187291
+ name: '',
187292
+ type: 'address'
187293
+ }
187294
+ ],
187295
+ stateMutability: 'view',
187296
+ type: 'function'
187297
+ },
187298
+ {
187299
+ inputs: [
187300
+ {
187301
+ internalType: 'address',
187302
+ name: '_bridgeContract',
187303
+ type: 'address'
187304
+ },
187305
+ {
187306
+ internalType: 'address',
187307
+ name: '_mediatorContract',
187308
+ type: 'address'
187309
+ },
187310
+ {
187311
+ internalType: 'uint256[3]',
187312
+ name: '_dailyLimitMaxPerTxMinPerTxArray',
187313
+ type: 'uint256[3]'
187314
+ },
187315
+ {
187316
+ internalType: 'uint256[2]',
187317
+ name: '_executionDailyLimitExecutionMaxPerTxArray',
187318
+ type: 'uint256[2]'
187319
+ },
187320
+ {
187321
+ internalType: 'address',
187322
+ name: '_gasLimitManager',
187323
+ type: 'address'
187324
+ },
187325
+ {
187326
+ internalType: 'address',
187327
+ name: '_owner',
187328
+ type: 'address'
187329
+ },
187330
+ {
187331
+ internalType: 'address',
187332
+ name: '_tokenFactory',
187333
+ type: 'address'
187334
+ },
187335
+ {
187336
+ internalType: 'address',
187337
+ name: '_feeManager',
187338
+ type: 'address'
187339
+ },
187340
+ {
187341
+ internalType: 'address',
187342
+ name: '_forwardingRulesManager',
187343
+ type: 'address'
187344
+ }
187345
+ ],
187346
+ name: 'initialize',
187347
+ outputs: [
187348
+ {
187349
+ internalType: 'bool',
187350
+ name: '',
187351
+ type: 'bool'
187352
+ }
187353
+ ],
187354
+ stateMutability: 'nonpayable',
187355
+ type: 'function'
187356
+ },
187357
+ {
187358
+ inputs: [
187359
+ {
187360
+ internalType: 'address',
187361
+ name: '_token',
187362
+ type: 'address'
187363
+ }
187364
+ ],
187365
+ name: 'isBridgedTokenDeployAcknowledged',
187366
+ outputs: [
187367
+ {
187368
+ internalType: 'bool',
187369
+ name: '',
187370
+ type: 'bool'
187371
+ }
187372
+ ],
187373
+ stateMutability: 'view',
187374
+ type: 'function'
187375
+ },
187376
+ {
187377
+ inputs: [],
187378
+ name: 'isInitialized',
187379
+ outputs: [
187380
+ {
187381
+ internalType: 'bool',
187382
+ name: '',
187383
+ type: 'bool'
187384
+ }
187385
+ ],
187386
+ stateMutability: 'view',
187387
+ type: 'function'
187388
+ },
187389
+ {
187390
+ inputs: [
187391
+ {
187392
+ internalType: 'address',
187393
+ name: '_token',
187394
+ type: 'address'
187395
+ }
187396
+ ],
187397
+ name: 'isRegisteredAsNativeToken',
187398
+ outputs: [
187399
+ {
187400
+ internalType: 'bool',
187401
+ name: '',
187402
+ type: 'bool'
187403
+ }
187404
+ ],
187405
+ stateMutability: 'view',
187406
+ type: 'function'
187407
+ },
187408
+ {
187409
+ inputs: [
187410
+ {
187411
+ internalType: 'address',
187412
+ name: '_token',
187413
+ type: 'address'
187414
+ }
187415
+ ],
187416
+ name: 'isTokenRegistered',
187417
+ outputs: [
187418
+ {
187419
+ internalType: 'bool',
187420
+ name: '',
187421
+ type: 'bool'
187422
+ }
187423
+ ],
187424
+ stateMutability: 'view',
187425
+ type: 'function'
187426
+ },
187427
+ {
187428
+ inputs: [
187429
+ {
187430
+ internalType: 'address',
187431
+ name: '_token',
187432
+ type: 'address'
187433
+ }
187434
+ ],
187435
+ name: 'maxAvailablePerTx',
187436
+ outputs: [
187437
+ {
187438
+ internalType: 'uint256',
187439
+ name: '',
187440
+ type: 'uint256'
187441
+ }
187442
+ ],
187443
+ stateMutability: 'view',
187444
+ type: 'function'
187445
+ },
187446
+ {
187447
+ inputs: [
187448
+ {
187449
+ internalType: 'address',
187450
+ name: '_token',
187451
+ type: 'address'
187452
+ }
187453
+ ],
187454
+ name: 'maxPerTx',
187455
+ outputs: [
187456
+ {
187457
+ internalType: 'uint256',
187458
+ name: '',
187459
+ type: 'uint256'
187460
+ }
187461
+ ],
187462
+ stateMutability: 'view',
187463
+ type: 'function'
187464
+ },
187465
+ {
187466
+ inputs: [
187467
+ {
187468
+ internalType: 'address',
187469
+ name: '_token',
187470
+ type: 'address'
187471
+ }
187472
+ ],
187473
+ name: 'mediatorBalance',
187474
+ outputs: [
187475
+ {
187476
+ internalType: 'uint256',
187477
+ name: '',
187478
+ type: 'uint256'
187479
+ }
187480
+ ],
187481
+ stateMutability: 'view',
187482
+ type: 'function'
187483
+ },
187484
+ {
187485
+ inputs: [],
187486
+ name: 'mediatorContractOnOtherSide',
187487
+ outputs: [
187488
+ {
187489
+ internalType: 'address',
187490
+ name: '',
187491
+ type: 'address'
187492
+ }
187493
+ ],
187494
+ stateMutability: 'view',
187495
+ type: 'function'
187496
+ },
187497
+ {
187498
+ inputs: [
187499
+ {
187500
+ internalType: 'bytes32',
187501
+ name: '_messageId',
187502
+ type: 'bytes32'
187503
+ }
187504
+ ],
187505
+ name: 'messageFixed',
187506
+ outputs: [
187507
+ {
187508
+ internalType: 'bool',
187509
+ name: '',
187510
+ type: 'bool'
187511
+ }
187512
+ ],
187513
+ stateMutability: 'view',
187514
+ type: 'function'
187515
+ },
187516
+ {
187517
+ inputs: [
187518
+ {
187519
+ internalType: 'address',
187520
+ name: '_token',
187521
+ type: 'address'
187522
+ }
187523
+ ],
187524
+ name: 'minPerTx',
187525
+ outputs: [
187526
+ {
187527
+ internalType: 'uint256',
187528
+ name: '',
187529
+ type: 'uint256'
187530
+ }
187531
+ ],
187532
+ stateMutability: 'view',
187533
+ type: 'function'
187534
+ },
187535
+ {
187536
+ inputs: [
187537
+ {
187538
+ internalType: 'address',
187539
+ name: '_bridgedToken',
187540
+ type: 'address'
187541
+ }
187542
+ ],
187543
+ name: 'nativeTokenAddress',
187544
+ outputs: [
187545
+ {
187546
+ internalType: 'address',
187547
+ name: '',
187548
+ type: 'address'
187549
+ }
187550
+ ],
187551
+ stateMutability: 'view',
187552
+ type: 'function'
187553
+ },
187554
+ {
187555
+ inputs: [
187556
+ {
187557
+ internalType: 'address',
187558
+ name: '_from',
187559
+ type: 'address'
187560
+ },
187561
+ {
187562
+ internalType: 'uint256',
187563
+ name: '_value',
187564
+ type: 'uint256'
187565
+ },
187566
+ {
187567
+ internalType: 'bytes',
187568
+ name: '_data',
187569
+ type: 'bytes'
187570
+ }
187571
+ ],
187572
+ name: 'onTokenTransfer',
187573
+ outputs: [
187574
+ {
187575
+ internalType: 'bool',
187576
+ name: '',
187577
+ type: 'bool'
187578
+ }
187579
+ ],
187580
+ stateMutability: 'nonpayable',
187581
+ type: 'function'
187582
+ },
187583
+ {
187584
+ inputs: [],
187585
+ name: 'owner',
187586
+ outputs: [
187587
+ {
187588
+ internalType: 'address',
187589
+ name: '',
187590
+ type: 'address'
187591
+ }
187592
+ ],
187593
+ stateMutability: 'view',
187594
+ type: 'function'
187595
+ },
187596
+ {
187597
+ inputs: [
187598
+ {
187599
+ internalType: 'contract IERC677',
187600
+ name: 'token',
187601
+ type: 'address'
187602
+ },
187603
+ {
187604
+ internalType: 'uint256',
187605
+ name: '_value',
187606
+ type: 'uint256'
187607
+ }
187608
+ ],
187609
+ name: 'relayTokens',
187610
+ outputs: [],
187611
+ stateMutability: 'nonpayable',
187612
+ type: 'function'
187613
+ },
187614
+ {
187615
+ inputs: [
187616
+ {
187617
+ internalType: 'contract IERC677',
187618
+ name: 'token',
187619
+ type: 'address'
187620
+ },
187621
+ {
187622
+ internalType: 'address',
187623
+ name: '_receiver',
187624
+ type: 'address'
187625
+ },
187626
+ {
187627
+ internalType: 'uint256',
187628
+ name: '_value',
187629
+ type: 'uint256'
187630
+ }
187631
+ ],
187632
+ name: 'relayTokens',
187633
+ outputs: [],
187634
+ stateMutability: 'nonpayable',
187635
+ type: 'function'
187636
+ },
187637
+ {
187638
+ inputs: [
187639
+ {
187640
+ internalType: 'contract IERC677',
187641
+ name: 'token',
187642
+ type: 'address'
187643
+ },
187644
+ {
187645
+ internalType: 'address',
187646
+ name: '_receiver',
187647
+ type: 'address'
187648
+ },
187649
+ {
187650
+ internalType: 'uint256',
187651
+ name: '_value',
187652
+ type: 'uint256'
187653
+ },
187654
+ {
187655
+ internalType: 'bytes',
187656
+ name: '_data',
187657
+ type: 'bytes'
187658
+ }
187659
+ ],
187660
+ name: 'relayTokensAndCall',
187661
+ outputs: [],
187662
+ stateMutability: 'nonpayable',
187663
+ type: 'function'
187664
+ },
187665
+ {
187666
+ inputs: [
187667
+ {
187668
+ internalType: 'bytes32',
187669
+ name: '_messageId',
187670
+ type: 'bytes32'
187671
+ }
187672
+ ],
187673
+ name: 'requestFailedMessageFix',
187674
+ outputs: [],
187675
+ stateMutability: 'nonpayable',
187676
+ type: 'function'
187677
+ },
187678
+ {
187679
+ inputs: [
187680
+ {
187681
+ internalType: 'address',
187682
+ name: '_bridgeContract',
187683
+ type: 'address'
187684
+ }
187685
+ ],
187686
+ name: 'setBridgeContract',
187687
+ outputs: [],
187688
+ stateMutability: 'nonpayable',
187689
+ type: 'function'
187690
+ },
187691
+ {
187692
+ inputs: [
187693
+ {
187694
+ internalType: 'address',
187695
+ name: '_nativeToken',
187696
+ type: 'address'
187697
+ },
187698
+ {
187699
+ internalType: 'address',
187700
+ name: '_bridgedToken',
187701
+ type: 'address'
187702
+ }
187703
+ ],
187704
+ name: 'setCustomTokenAddressPair',
187705
+ outputs: [],
187706
+ stateMutability: 'nonpayable',
187707
+ type: 'function'
187708
+ },
187709
+ {
187710
+ inputs: [
187711
+ {
187712
+ internalType: 'address',
187713
+ name: '_token',
187714
+ type: 'address'
187715
+ },
187716
+ {
187717
+ internalType: 'uint256',
187718
+ name: '_dailyLimit',
187719
+ type: 'uint256'
187720
+ }
187721
+ ],
187722
+ name: 'setDailyLimit',
187723
+ outputs: [],
187724
+ stateMutability: 'nonpayable',
187725
+ type: 'function'
187726
+ },
187727
+ {
187728
+ inputs: [
187729
+ {
187730
+ internalType: 'address',
187731
+ name: '_token',
187732
+ type: 'address'
187733
+ },
187734
+ {
187735
+ internalType: 'uint256',
187736
+ name: '_dailyLimit',
187737
+ type: 'uint256'
187738
+ }
187739
+ ],
187740
+ name: 'setExecutionDailyLimit',
187741
+ outputs: [],
187742
+ stateMutability: 'nonpayable',
187743
+ type: 'function'
187744
+ },
187745
+ {
187746
+ inputs: [
187747
+ {
187748
+ internalType: 'address',
187749
+ name: '_token',
187750
+ type: 'address'
187751
+ },
187752
+ {
187753
+ internalType: 'uint256',
187754
+ name: '_maxPerTx',
187755
+ type: 'uint256'
187756
+ }
187757
+ ],
187758
+ name: 'setExecutionMaxPerTx',
187759
+ outputs: [],
187760
+ stateMutability: 'nonpayable',
187761
+ type: 'function'
187762
+ },
187763
+ {
187764
+ inputs: [
187765
+ {
187766
+ internalType: 'address',
187767
+ name: '_feeManager',
187768
+ type: 'address'
187769
+ }
187770
+ ],
187771
+ name: 'setFeeManager',
187772
+ outputs: [],
187773
+ stateMutability: 'nonpayable',
187774
+ type: 'function'
187775
+ },
187776
+ {
187777
+ inputs: [
187778
+ {
187779
+ internalType: 'address',
187780
+ name: '_manager',
187781
+ type: 'address'
187782
+ }
187783
+ ],
187784
+ name: 'setForwardingRulesManager',
187785
+ outputs: [],
187786
+ stateMutability: 'nonpayable',
187787
+ type: 'function'
187788
+ },
187789
+ {
187790
+ inputs: [
187791
+ {
187792
+ internalType: 'address',
187793
+ name: '_manager',
187794
+ type: 'address'
187795
+ }
187796
+ ],
187797
+ name: 'setGasLimitManager',
187798
+ outputs: [],
187799
+ stateMutability: 'nonpayable',
187800
+ type: 'function'
187801
+ },
187802
+ {
187803
+ inputs: [
187804
+ {
187805
+ internalType: 'address',
187806
+ name: '_token',
187807
+ type: 'address'
187808
+ },
187809
+ {
187810
+ internalType: 'uint256',
187811
+ name: '_maxPerTx',
187812
+ type: 'uint256'
187813
+ }
187814
+ ],
187815
+ name: 'setMaxPerTx',
187816
+ outputs: [],
187817
+ stateMutability: 'nonpayable',
187818
+ type: 'function'
187819
+ },
187820
+ {
187821
+ inputs: [
187822
+ {
187823
+ internalType: 'address',
187824
+ name: '_mediatorContract',
187825
+ type: 'address'
187826
+ }
187827
+ ],
187828
+ name: 'setMediatorContractOnOtherSide',
187829
+ outputs: [],
187830
+ stateMutability: 'nonpayable',
187831
+ type: 'function'
187832
+ },
187833
+ {
187834
+ inputs: [
187835
+ {
187836
+ internalType: 'address',
187837
+ name: '_token',
187838
+ type: 'address'
187839
+ },
187840
+ {
187841
+ internalType: 'uint256',
187842
+ name: '_minPerTx',
187843
+ type: 'uint256'
187844
+ }
187845
+ ],
187846
+ name: 'setMinPerTx',
187847
+ outputs: [],
187848
+ stateMutability: 'nonpayable',
187849
+ type: 'function'
187850
+ },
187851
+ {
187852
+ inputs: [
187853
+ {
187854
+ internalType: 'address',
187855
+ name: '_tokenFactory',
187856
+ type: 'address'
187857
+ }
187858
+ ],
187859
+ name: 'setTokenFactory',
187860
+ outputs: [],
187861
+ stateMutability: 'nonpayable',
187862
+ type: 'function'
187863
+ },
187864
+ {
187865
+ inputs: [],
187866
+ name: 'tokenFactory',
187867
+ outputs: [
187868
+ {
187869
+ internalType: 'contract TokenFactory',
187870
+ name: '',
187871
+ type: 'address'
187872
+ }
187873
+ ],
187874
+ stateMutability: 'view',
187875
+ type: 'function'
187876
+ },
187877
+ {
187878
+ inputs: [
187879
+ {
187880
+ internalType: 'address',
187881
+ name: '_token',
187882
+ type: 'address'
187883
+ },
187884
+ {
187885
+ internalType: 'uint256',
187886
+ name: '_day',
187887
+ type: 'uint256'
187888
+ }
187889
+ ],
187890
+ name: 'totalExecutedPerDay',
187891
+ outputs: [
187892
+ {
187893
+ internalType: 'uint256',
187894
+ name: '',
187895
+ type: 'uint256'
187896
+ }
187897
+ ],
187898
+ stateMutability: 'view',
187899
+ type: 'function'
187900
+ },
187901
+ {
187902
+ inputs: [
187903
+ {
187904
+ internalType: 'address',
187905
+ name: '_token',
187906
+ type: 'address'
187907
+ },
187908
+ {
187909
+ internalType: 'uint256',
187910
+ name: '_day',
187911
+ type: 'uint256'
187912
+ }
187913
+ ],
187914
+ name: 'totalSpentPerDay',
187915
+ outputs: [
187916
+ {
187917
+ internalType: 'uint256',
187918
+ name: '',
187919
+ type: 'uint256'
187920
+ }
187921
+ ],
187922
+ stateMutability: 'view',
187923
+ type: 'function'
187924
+ },
187925
+ {
187926
+ inputs: [
187927
+ {
187928
+ internalType: 'address',
187929
+ name: 'newOwner',
187930
+ type: 'address'
187931
+ }
187932
+ ],
187933
+ name: 'transferOwnership',
187934
+ outputs: [],
187935
+ stateMutability: 'nonpayable',
187936
+ type: 'function'
187937
+ },
187938
+ {
187939
+ inputs: [
187940
+ {
187941
+ internalType: 'address',
187942
+ name: '_tokenFactory',
187943
+ type: 'address'
187944
+ },
187945
+ {
187946
+ internalType: 'address',
187947
+ name: '_forwardingRulesManager',
187948
+ type: 'address'
187949
+ },
187950
+ {
187951
+ internalType: 'address',
187952
+ name: '_gasLimitManager',
187953
+ type: 'address'
187954
+ },
187955
+ {
187956
+ internalType: 'uint256',
187957
+ name: '_dailyLimit',
187958
+ type: 'uint256'
187959
+ }
187960
+ ],
187961
+ name: 'upgradeToReverseMode',
187962
+ outputs: [],
187963
+ stateMutability: 'nonpayable',
187964
+ type: 'function'
187965
+ },
187966
+ {
187967
+ inputs: [
187968
+ {
187969
+ internalType: 'address',
187970
+ name: '_token',
187971
+ type: 'address'
187972
+ },
187973
+ {
187974
+ internalType: 'uint256',
187975
+ name: '_amount',
187976
+ type: 'uint256'
187977
+ }
187978
+ ],
187979
+ name: 'withinExecutionLimit',
187980
+ outputs: [
187981
+ {
187982
+ internalType: 'bool',
187983
+ name: '',
187984
+ type: 'bool'
187985
+ }
187986
+ ],
187987
+ stateMutability: 'view',
187988
+ type: 'function'
187989
+ },
187990
+ {
187991
+ inputs: [
187992
+ {
187993
+ internalType: 'address',
187994
+ name: '_token',
187995
+ type: 'address'
187996
+ },
187997
+ {
187998
+ internalType: 'uint256',
187999
+ name: '_amount',
188000
+ type: 'uint256'
188001
+ }
188002
+ ],
188003
+ name: 'withinLimit',
188004
+ outputs: [
188005
+ {
188006
+ internalType: 'bool',
188007
+ name: '',
188008
+ type: 'bool'
188009
+ }
188010
+ ],
188011
+ stateMutability: 'view',
188012
+ type: 'function'
188013
+ },
188014
+ {
188015
+ anonymous: false,
188016
+ inputs: [
188017
+ {
188018
+ indexed: true,
188019
+ name: 'token',
188020
+ type: 'address'
188021
+ },
188022
+ {
188023
+ indexed: false,
188024
+ name: 'newLimit',
188025
+ type: 'uint256'
188026
+ }
188027
+ ],
188028
+ name: 'DailyLimitChanged',
188029
+ type: 'event'
188030
+ },
188031
+ {
188032
+ anonymous: false,
188033
+ inputs: [
188034
+ {
188035
+ indexed: true,
188036
+ name: 'token',
188037
+ type: 'address'
188038
+ },
188039
+ {
188040
+ indexed: false,
188041
+ name: 'newLimit',
188042
+ type: 'uint256'
188043
+ }
188044
+ ],
188045
+ name: 'ExecutionDailyLimitChanged',
188046
+ type: 'event'
188047
+ },
188048
+ {
188049
+ anonymous: false,
188050
+ inputs: [
188051
+ {
188052
+ indexed: true,
188053
+ name: 'messageId',
188054
+ type: 'bytes32'
188055
+ },
188056
+ {
188057
+ indexed: false,
188058
+ name: 'token',
188059
+ type: 'address'
188060
+ },
188061
+ {
188062
+ indexed: false,
188063
+ name: 'recipient',
188064
+ type: 'address'
188065
+ },
188066
+ {
188067
+ indexed: false,
188068
+ name: 'value',
188069
+ type: 'uint256'
188070
+ }
188071
+ ],
188072
+ name: 'FailedMessageFixed',
188073
+ type: 'event'
188074
+ },
188075
+ {
188076
+ anonymous: false,
188077
+ inputs: [
188078
+ {
188079
+ indexed: false,
188080
+ name: 'fee',
188081
+ type: 'uint256'
188082
+ },
188083
+ {
188084
+ indexed: true,
188085
+ name: 'token',
188086
+ type: 'address'
188087
+ },
188088
+ {
188089
+ indexed: true,
188090
+ name: 'messageId',
188091
+ type: 'bytes32'
188092
+ }
188093
+ ],
188094
+ name: 'FeeDistributed',
188095
+ type: 'event'
188096
+ },
188097
+ {
188098
+ anonymous: false,
188099
+ inputs: [
188100
+ {
188101
+ indexed: true,
188102
+ name: 'token',
188103
+ type: 'address'
188104
+ },
188105
+ {
188106
+ indexed: false,
188107
+ name: 'fee',
188108
+ type: 'uint256'
188109
+ }
188110
+ ],
188111
+ name: 'FeeDistributionFailed',
188112
+ type: 'event'
188113
+ },
188114
+ {
188115
+ anonymous: false,
188116
+ inputs: [
188117
+ {
188118
+ indexed: true,
188119
+ name: 'nativeToken',
188120
+ type: 'address'
188121
+ },
188122
+ {
188123
+ indexed: true,
188124
+ name: 'bridgedToken',
188125
+ type: 'address'
188126
+ }
188127
+ ],
188128
+ name: 'NewTokenRegistered',
188129
+ type: 'event'
188130
+ },
188131
+ {
188132
+ anonymous: false,
188133
+ inputs: [
188134
+ {
188135
+ indexed: false,
188136
+ name: 'previousOwner',
188137
+ type: 'address'
188138
+ },
188139
+ {
188140
+ indexed: false,
188141
+ name: 'newOwner',
188142
+ type: 'address'
188143
+ }
188144
+ ],
188145
+ name: 'OwnershipTransferred',
188146
+ type: 'event'
188147
+ },
188148
+ {
188149
+ anonymous: false,
188150
+ inputs: [
188151
+ {
188152
+ indexed: true,
188153
+ name: 'token',
188154
+ type: 'address'
188155
+ },
188156
+ {
188157
+ indexed: true,
188158
+ name: 'recipient',
188159
+ type: 'address'
188160
+ },
188161
+ {
188162
+ indexed: false,
188163
+ name: 'value',
188164
+ type: 'uint256'
188165
+ },
188166
+ {
188167
+ indexed: true,
188168
+ name: 'messageId',
188169
+ type: 'bytes32'
188170
+ }
188171
+ ],
188172
+ name: 'TokensBridged',
188173
+ type: 'event'
188174
+ },
188175
+ {
188176
+ anonymous: false,
188177
+ inputs: [
188178
+ {
188179
+ indexed: true,
188180
+ name: 'token',
188181
+ type: 'address'
188182
+ },
188183
+ {
188184
+ indexed: true,
188185
+ name: 'sender',
188186
+ type: 'address'
188187
+ },
188188
+ {
188189
+ indexed: false,
188190
+ name: 'value',
188191
+ type: 'uint256'
188192
+ },
188193
+ {
188194
+ indexed: true,
188195
+ name: 'messageId',
188196
+ type: 'bytes32'
188197
+ }
188198
+ ],
188199
+ name: 'TokensBridgingInitiated',
188200
+ type: 'event'
188201
+ }
188202
+ ];
188203
+
188204
+
188205
+ /***/ }),
188206
+
188207
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.ts":
188208
+ /*!******************************************************************************************************************!*\
188209
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.ts ***!
188210
+ \******************************************************************************************************************/
188211
+ /***/ ((__unused_webpack_module, exports) => {
188212
+
188213
+ "use strict";
188214
+
188215
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188216
+ exports.nativeBridgeAbi = void 0;
188217
+ exports.nativeBridgeAbi = [
188218
+ {
188219
+ inputs: [{ internalType: 'address', name: '_receiver', type: 'address' }],
188220
+ name: 'wrapAndRelayTokens',
188221
+ outputs: [],
188222
+ stateMutability: 'payable',
188223
+ type: 'function'
188224
+ },
188225
+ { stateMutability: 'payable', type: 'receive' }
188226
+ ];
188227
+
188228
+
188229
+ /***/ }),
188230
+
188231
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.ts":
188232
+ /*!*****************************************************************************************************************************!*\
188233
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.ts ***!
188234
+ \*****************************************************************************************************************************/
188235
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
188236
+
188237
+ "use strict";
188238
+
188239
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188240
+ exports.omniBridgeNativeRouter = exports.pulseChainContractAddress = void 0;
188241
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
188242
+ exports.pulseChainContractAddress = {
188243
+ [blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM]: {
188244
+ omniBridge: '0x1715a3E4A142d8b698131108995174F37aEBA10D',
188245
+ omniBridgeWrapped: '0xe20E337DB2a00b1C37139c873B92a0AAd3F468bF'
188246
+ },
188247
+ [blockchain_name_1.BLOCKCHAIN_NAME.PULSECHAIN]: {
188248
+ omniBridge: '0x4fD0aaa7506f3d9cB8274bdB946Ec42A1b8751Ef',
188249
+ omniBridgeWrapped: '0x0e18d0d556b652794EF12Bf68B2dC857EF5f3996'
188250
+ }
188251
+ };
188252
+ exports.omniBridgeNativeRouter = '0x8AC4ae65b3656e26dC4e0e69108B392283350f55';
188253
+
188254
+
188255
+ /***/ }),
188256
+
188257
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.ts":
188258
+ /*!**********************************************************************************************************************************!*\
188259
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.ts ***!
188260
+ \**********************************************************************************************************************************/
188261
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
188262
+
188263
+ "use strict";
188264
+
188265
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188266
+ exports.pulseChainSupportedBlockchains = void 0;
188267
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
188268
+ exports.pulseChainSupportedBlockchains = [
188269
+ blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM,
188270
+ blockchain_name_1.BLOCKCHAIN_NAME.PULSECHAIN
188271
+ ];
188272
+
188273
+
188274
+ /***/ }),
188275
+
188276
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.ts":
188277
+ /*!**************************************************************************************************************************!*\
188278
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.ts ***!
188279
+ \**************************************************************************************************************************/
188280
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
188281
+
188282
+ "use strict";
188283
+
188284
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188285
+ exports.BridgeManager = void 0;
188286
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
188287
+ const foreign_bridge_1 = __webpack_require__(/*! ./foreign-bridge */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.ts");
188288
+ const home_bridge_1 = __webpack_require__(/*! ./home-bridge */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.ts");
188289
+ class BridgeManager {
188290
+ static createBridge(fromToken, toToken) {
188291
+ return fromToken.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM
188292
+ ? new foreign_bridge_1.ForeignBridge(fromToken, toToken)
188293
+ : new home_bridge_1.HomeBridge(fromToken, toToken);
188294
+ }
188295
+ }
188296
+ exports.BridgeManager = BridgeManager;
188297
+
188298
+
188299
+ /***/ }),
188300
+
188301
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.ts":
188302
+ /*!**************************************************************************************************************************!*\
188303
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.ts ***!
188304
+ \**************************************************************************************************************************/
188305
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
188306
+
188307
+ "use strict";
188308
+
188309
+ var __importDefault = (this && this.__importDefault) || function (mod) {
188310
+ return (mod && mod.__esModule) ? mod : { "default": mod };
188311
+ };
188312
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188313
+ exports.ForeignBridge = void 0;
188314
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
188315
+ const errors_1 = __webpack_require__(/*! ../../../../../../common/errors */ "./src/common/errors/index.ts");
188316
+ 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");
188317
+ const erc_677_abi_1 = __webpack_require__(/*! ../constants/erc-677-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.ts");
188318
+ const native_bridge_abi_1 = __webpack_require__(/*! ../constants/native-bridge-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.ts");
188319
+ const pulse_chain_contract_address_1 = __webpack_require__(/*! ../constants/pulse-chain-contract-address */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.ts");
188320
+ const omni_bridge_1 = __webpack_require__(/*! ./omni-bridge */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.ts");
188321
+ class ForeignBridge extends omni_bridge_1.OmniBridge {
188322
+ isTokenRegistered(address) {
188323
+ return this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'isTokenRegistered', [address]);
188324
+ }
188325
+ isRegisteredAsNative(address) {
188326
+ return this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'isRegisteredAsNativeToken', [address]);
188327
+ }
188328
+ getNonNativeToken(address) {
188329
+ return this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'nativeTokenAddress', [address]);
188330
+ }
188331
+ getNativeToken(address) {
188332
+ return this.targetWeb3Public.callContractMethod(this.targetBridgeAddress, this.targetBridgeAbi, 'bridgedTokenAddress', [address]);
188333
+ }
188334
+ async getMinAmountToken(address) {
188335
+ const amount = await this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'minPerTx', [address]);
188336
+ return new bignumber_js_1.default(amount);
188337
+ }
188338
+ async checkSourceLimits(address, amount) {
188339
+ const allowSend = await this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'withinLimit', [address, amount]);
188340
+ if (!allowSend) {
188341
+ throw new errors_1.RubicSdkError('Swap is not allowed due to contract limitations');
188342
+ }
188343
+ }
188344
+ async checkTargetLimits(address, amount) {
188345
+ const allowSend = await this.targetWeb3Public.callContractMethod(this.targetBridgeAddress, this.targetBridgeAbi, 'withinExecutionLimit', [address, amount]);
188346
+ if (!allowSend) {
188347
+ throw new errors_1.RubicSdkError('Swap is not allowed due to contract limitations');
188348
+ }
188349
+ }
188350
+ getDataForNativeSwap(receiverAddress, value) {
188351
+ return evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(pulse_chain_contract_address_1.omniBridgeNativeRouter, native_bridge_abi_1.nativeBridgeAbi, 'wrapAndRelayTokens', [receiverAddress], value);
188352
+ }
188353
+ getDataForTokenSwap(receiverAddress, amount, isERC677, tokenAddress) {
188354
+ if (isERC677) {
188355
+ return evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(tokenAddress, erc_677_abi_1.erc677Abi, 'transferAndCall', [this.sourceBridgeAddress, amount, receiverAddress], '0');
188356
+ }
188357
+ return evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(this.sourceBridgeAddress, this.sourceBridgeAbi, 'relayTokens', [tokenAddress, receiverAddress, amount], '0');
188358
+ }
188359
+ }
188360
+ exports.ForeignBridge = ForeignBridge;
188361
+
188362
+
188363
+ /***/ }),
188364
+
188365
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.ts":
188366
+ /*!***********************************************************************************************************************!*\
188367
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.ts ***!
188368
+ \***********************************************************************************************************************/
188369
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
188370
+
188371
+ "use strict";
188372
+
188373
+ var __importDefault = (this && this.__importDefault) || function (mod) {
188374
+ return (mod && mod.__esModule) ? mod : { "default": mod };
188375
+ };
188376
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188377
+ exports.HomeBridge = void 0;
188378
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
188379
+ const errors_1 = __webpack_require__(/*! ../../../../../../common/errors */ "./src/common/errors/index.ts");
188380
+ 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");
188381
+ const erc_677_abi_1 = __webpack_require__(/*! ../constants/erc-677-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.ts");
188382
+ const native_bridge_abi_1 = __webpack_require__(/*! ../constants/native-bridge-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.ts");
188383
+ const pulse_chain_contract_address_1 = __webpack_require__(/*! ../constants/pulse-chain-contract-address */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.ts");
188384
+ const omni_bridge_1 = __webpack_require__(/*! ./omni-bridge */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.ts");
188385
+ class HomeBridge extends omni_bridge_1.OmniBridge {
188386
+ isTokenRegistered(address) {
188387
+ return this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'isTokenRegistered', [address]);
188388
+ }
188389
+ isRegisteredAsNative(address) {
188390
+ return this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'isRegisteredAsNativeToken', [address]);
188391
+ }
188392
+ getNonNativeToken(address) {
188393
+ return this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'nativeTokenAddress', [address]);
188394
+ }
188395
+ getNativeToken(address) {
188396
+ return this.targetWeb3Public.callContractMethod(this.targetBridgeAddress, this.targetBridgeAbi, 'bridgedTokenAddress', [address]);
188397
+ }
188398
+ async getMinAmountToken(address) {
188399
+ const amount = await this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'minPerTx', [address]);
188400
+ return new bignumber_js_1.default(amount);
188401
+ }
188402
+ async checkSourceLimits(address, amount) {
188403
+ const allowSend = await this.sourceWeb3Public.callContractMethod(this.sourceBridgeAddress, this.sourceBridgeAbi, 'withinLimit', [address, amount]);
188404
+ if (!allowSend) {
188405
+ throw new errors_1.RubicSdkError('Swap is not allowed due to contract limitations');
188406
+ }
188407
+ }
188408
+ async checkTargetLimits(address, amount) {
188409
+ const allowSend = await this.targetWeb3Public.callContractMethod(this.targetBridgeAddress, this.targetBridgeAbi, 'withinExecutionLimit', [address, amount]);
188410
+ if (!allowSend) {
188411
+ throw new errors_1.RubicSdkError('Swap is not allowed due to contract limitations');
188412
+ }
188413
+ }
188414
+ getDataForNativeSwap(receiverAddress, value) {
188415
+ return evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(pulse_chain_contract_address_1.omniBridgeNativeRouter, native_bridge_abi_1.nativeBridgeAbi, 'wrapAndRelayTokens', [receiverAddress], value);
188416
+ }
188417
+ getDataForTokenSwap(receiverAddress, amount, isERC677, tokenAddress) {
188418
+ if (isERC677) {
188419
+ return evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(tokenAddress, erc_677_abi_1.erc677Abi, 'transferAndCall', [this.sourceBridgeAddress, amount, receiverAddress], '0');
188420
+ }
188421
+ return evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(this.sourceBridgeAddress, this.sourceBridgeAbi, 'relayTokens', [tokenAddress, receiverAddress, amount], '0');
188422
+ }
188423
+ }
188424
+ exports.HomeBridge = HomeBridge;
188425
+
188426
+
188427
+ /***/ }),
188428
+
188429
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.ts":
188430
+ /*!***********************************************************************************************************************!*\
188431
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.ts ***!
188432
+ \***********************************************************************************************************************/
188433
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
188434
+
188435
+ "use strict";
188436
+
188437
+ var __importDefault = (this && this.__importDefault) || function (mod) {
188438
+ return (mod && mod.__esModule) ? mod : { "default": mod };
188439
+ };
188440
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188441
+ exports.OmniBridge = void 0;
188442
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
188443
+ const blockchain_1 = __webpack_require__(/*! ../../../../../../common/utils/blockchain */ "./src/common/utils/blockchain.ts");
188444
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
188445
+ const injector_1 = __webpack_require__(/*! ../../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
188446
+ const fee_manager_abi_1 = __webpack_require__(/*! ../constants/fee-manager-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.ts");
188447
+ const foreign_bridge_abi_1 = __webpack_require__(/*! ../constants/foreign-bridge-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.ts");
188448
+ const home_bridge_abi_1 = __webpack_require__(/*! ../constants/home-bridge-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.ts");
188449
+ const pulse_chain_contract_address_1 = __webpack_require__(/*! ../constants/pulse-chain-contract-address */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.ts");
188450
+ class OmniBridge {
188451
+ get web3Private() {
188452
+ return injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(this.sourceBlockchain);
188453
+ }
188454
+ get sourceWeb3Public() {
188455
+ return injector_1.Injector.web3PublicService.getWeb3Public(this.sourceBlockchain);
188456
+ }
188457
+ get targetWeb3Public() {
188458
+ return injector_1.Injector.web3PublicService.getWeb3Public(this.targetBlockchain);
188459
+ }
188460
+ constructor(fromToken, toToken) {
188461
+ this.fromToken = fromToken;
188462
+ this.toToken = toToken;
188463
+ this.sourceBlockchain = fromToken.blockchain;
188464
+ this.targetBlockchain = toToken.blockchain;
188465
+ this.sourceBridgeAddress = OmniBridge.isCustomWrap(fromToken)
188466
+ ? pulse_chain_contract_address_1.pulseChainContractAddress[this.sourceBlockchain].omniBridgeWrapped
188467
+ : pulse_chain_contract_address_1.pulseChainContractAddress[this.sourceBlockchain].omniBridge;
188468
+ this.targetBridgeAddress = OmniBridge.isCustomWrap(toToken)
188469
+ ? pulse_chain_contract_address_1.pulseChainContractAddress[this.targetBlockchain].omniBridgeWrapped
188470
+ : pulse_chain_contract_address_1.pulseChainContractAddress[this.targetBlockchain].omniBridge;
188471
+ if (this.sourceBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM) {
188472
+ this.sourceBridgeAbi = foreign_bridge_abi_1.foreignBridgeAbi;
188473
+ this.targetBridgeAbi = home_bridge_abi_1.homeBridgeAbi;
188474
+ }
188475
+ else {
188476
+ this.sourceBridgeAbi = foreign_bridge_abi_1.foreignBridgeAbi;
188477
+ this.targetBridgeAbi = home_bridge_abi_1.homeBridgeAbi;
188478
+ }
188479
+ }
188480
+ /**
188481
+ * Get bridge token address in target network.
188482
+ * @param fromAddress Token address in source network.
188483
+ */
188484
+ async getBridgeToken(fromAddress) {
188485
+ const isRegisteredAsNative = await this.isRegisteredAsNative(fromAddress);
188486
+ return isRegisteredAsNative
188487
+ ? this.getNativeToken(fromAddress)
188488
+ : this.getNonNativeToken(fromAddress);
188489
+ }
188490
+ /**
188491
+ * Check if allowed to swap.
188492
+ * @param fromAddress Token address in source network.
188493
+ * @param toAddress Token address in target network.
188494
+ * @param amount Swap amount.
188495
+ */
188496
+ async checkLimits(fromAddress, toAddress, amount) {
188497
+ await this.checkSourceLimits(fromAddress, amount);
188498
+ await this.checkTargetLimits(toAddress, amount);
188499
+ }
188500
+ /**
188501
+ * Get fee manager address.
188502
+ */
188503
+ getFeeManager() {
188504
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.PULSECHAIN);
188505
+ return web3Public.callContractMethod(this.sourceBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.PULSECHAIN
188506
+ ? this.sourceBridgeAddress
188507
+ : this.targetBridgeAddress, home_bridge_abi_1.homeBridgeAbi, 'feeManager', []);
188508
+ }
188509
+ /**
188510
+ *
188511
+ * Get fee type for trade.
188512
+ */
188513
+ getFeeType(feeManagerAddress) {
188514
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.PULSECHAIN);
188515
+ return web3Public.callContractMethod(feeManagerAddress, fee_manager_abi_1.feeManagerAbi, this.sourceBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM
188516
+ ? 'FOREIGN_TO_HOME_FEE'
188517
+ : 'HOME_TO_FOREIGN_FEE', []);
188518
+ }
188519
+ /**
188520
+ * Calculate output amount for trade.
188521
+ * @param toAddress Token address in target network.
188522
+ * @param feeManagerAddress Fee manager contract address.
188523
+ * @param feeType Type of fee.
188524
+ * @param fromAmount Amount of tokens to send.
188525
+ */
188526
+ async getOutputAmount(toAddress, feeManagerAddress, feeType, fromAmount) {
188527
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.PULSECHAIN);
188528
+ const feeAmount = await web3Public.callContractMethod(feeManagerAddress, fee_manager_abi_1.feeManagerAbi, 'calculateFee', [feeType, toAddress, fromAmount]);
188529
+ return new bignumber_js_1.default(fromAmount).minus(feeAmount);
188530
+ }
188531
+ /**
188532
+ * Calculate output amount for trade.
188533
+ * @param toAddress Token address in target network.
188534
+ * @param fromAmount Amount of tokens to send.
188535
+ */
188536
+ async calculateAmount(toAddress, fromAmount) {
188537
+ const feeManagerAddress = await this.getFeeManager();
188538
+ const feeType = await this.getFeeType(feeManagerAddress);
188539
+ return this.getOutputAmount(toAddress, feeManagerAddress, feeType, fromAmount);
188540
+ }
188541
+ static isCustomWrap(token) {
188542
+ return (token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM &&
188543
+ (0, blockchain_1.compareAddresses)(token.address, '0xA882606494D86804B5514E07e6Bd2D6a6eE6d68A'));
188544
+ }
188545
+ }
188546
+ exports.OmniBridge = OmniBridge;
188547
+
188548
+
188549
+ /***/ }),
188550
+
188551
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.ts":
188552
+ /*!***********************************************************************************************************************!*\
188553
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.ts ***!
188554
+ \***********************************************************************************************************************/
188555
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
188556
+
188557
+ "use strict";
188558
+
188559
+ var __importDefault = (this && this.__importDefault) || function (mod) {
188560
+ return (mod && mod.__esModule) ? mod : { "default": mod };
188561
+ };
188562
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188563
+ exports.PulseChainCrossChainProvider = void 0;
188564
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
188565
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
188566
+ const tokens_1 = __webpack_require__(/*! ../../../../../common/tokens */ "./src/common/tokens/index.ts");
188567
+ const blockchain_1 = __webpack_require__(/*! ../../../../../common/utils/blockchain */ "./src/common/utils/blockchain.ts");
188568
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
188569
+ const web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/web3-pure */ "./src/core/blockchain/web3-pure/web3-pure.ts");
188570
+ const get_from_without_fee_1 = __webpack_require__(/*! ../../../../common/utils/get-from-without-fee */ "./src/features/common/utils/get-from-without-fee.ts");
188571
+ 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");
188572
+ const cross_chain_provider_1 = __webpack_require__(/*! ../common/cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/common/cross-chain-provider.ts");
188573
+ 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");
188574
+ const pulse_chain_supported_blockchains_1 = __webpack_require__(/*! ./constants/pulse-chain-supported-blockchains */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.ts");
188575
+ const bridge_manager_1 = __webpack_require__(/*! ./omni-bridge-entities/bridge-manager */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.ts");
188576
+ const pulse_chain_cross_chain_trade_1 = __webpack_require__(/*! ./pulse-chain-cross-chain-trade */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.ts");
188577
+ const typed_trade_providers_1 = __webpack_require__(/*! ../../../../on-chain/calculation-manager/constants/trade-providers/typed-trade-providers */ "./src/features/on-chain/calculation-manager/constants/trade-providers/typed-trade-providers.ts");
188578
+ class PulseChainCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
188579
+ constructor() {
188580
+ super(...arguments);
188581
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.PULSE_CHAIN_BRIDGE;
188582
+ }
188583
+ isSupportedBlockchain(blockchain) {
188584
+ return pulse_chain_supported_blockchains_1.pulseChainSupportedBlockchains.some(chain => chain === blockchain);
188585
+ }
188586
+ async calculate(fromToken, toToken, options) {
188587
+ const fromBlockchain = fromToken.blockchain;
188588
+ const toBlockchain = toToken.blockchain;
188589
+ const useProxy = options?.useProxy?.[this.type] ?? true;
188590
+ if (!this.areSupportedBlockchains(fromBlockchain, toBlockchain) ||
188591
+ // @TODO Remove after home bridge development
188592
+ fromToken.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.PULSECHAIN) {
188593
+ return {
188594
+ trade: null,
188595
+ error: new errors_1.NotSupportedTokensError(),
188596
+ tradeType: this.type
188597
+ };
188598
+ }
188599
+ const feeInfo = await this.getFeeInfo(fromBlockchain, options.providerAddress, fromToken, useProxy);
188600
+ try {
188601
+ const sourceBridgeManager = bridge_manager_1.BridgeManager.createBridge(fromToken, toToken);
188602
+ const targetBridgeManager = bridge_manager_1.BridgeManager.createBridge(fromToken, toToken);
188603
+ const fromTokenAddress = this.getTokenAddress(fromToken);
188604
+ const toTokenAddress = this.getTokenAddress(toToken);
188605
+ const tokenRegistered = await sourceBridgeManager.isTokenRegistered(fromTokenAddress);
188606
+ const targetTokenAddress = await sourceBridgeManager.getBridgeToken(fromTokenAddress);
188607
+ if (!(0, blockchain_1.compareAddresses)(toTokenAddress, targetTokenAddress)) {
188608
+ return {
188609
+ trade: null,
188610
+ error: new errors_1.NotSupportedTokensError(),
188611
+ tradeType: this.type
188612
+ };
188613
+ }
188614
+ const fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(fromToken, feeInfo.rubicProxy?.platformFee?.percent);
188615
+ let onChainTrade = null;
188616
+ let transitTokenAmount = fromWithoutFee.tokenAmount;
188617
+ let transitMinAmount = transitTokenAmount;
188618
+ let transitToken = fromWithoutFee;
188619
+ if (!tokenRegistered) {
188620
+ if (!useProxy) {
188621
+ return {
188622
+ trade: null,
188623
+ error: new errors_1.NotSupportedTokensError(),
188624
+ tradeType: this.type
188625
+ };
188626
+ }
188627
+ const transitTokenAddress = await targetBridgeManager.getBridgeToken(toToken.address);
188628
+ onChainTrade = await this.getOnChainTrade(fromWithoutFee, [], options.slippageTolerance, transitTokenAddress);
188629
+ if (!onChainTrade) {
188630
+ return {
188631
+ trade: null,
188632
+ error: new errors_1.NotSupportedTokensError(),
188633
+ tradeType: this.type
188634
+ };
188635
+ }
188636
+ transitTokenAmount = onChainTrade.to.tokenAmount;
188637
+ transitMinAmount = onChainTrade.toTokenAmountMin.tokenAmount;
188638
+ transitToken = onChainTrade.to;
188639
+ }
188640
+ const targetAmount = await sourceBridgeManager.calculateAmount(toToken.address, web3_pure_1.Web3Pure.toWei(transitTokenAmount, transitToken.decimals));
188641
+ const targetAmountMin = await sourceBridgeManager.calculateAmount(toToken.address, web3_pure_1.Web3Pure.toWei(transitMinAmount, transitToken.decimals));
188642
+ const amountsErrors = await this.getMinMaxAmountsErrors(fromTokenAddress, sourceBridgeManager, transitToken);
188643
+ if (!targetAmount) {
188644
+ throw new errors_1.RubicSdkError('Can not estimate trade');
188645
+ }
188646
+ const to = new tokens_1.PriceTokenAmount({
188647
+ ...toToken.asStruct,
188648
+ tokenAmount: web3_pure_1.Web3Pure.fromWei(targetAmount, toToken.decimals)
188649
+ });
188650
+ const gasData = options.gasCalculation === 'enabled'
188651
+ ? await pulse_chain_cross_chain_trade_1.PulseChainCrossChainTrade.getGasData(fromToken, to, onChainTrade, feeInfo, targetAmountMin, options.providerAddress, options.receiverAddress || this.getWalletAddress(fromToken.blockchain), sourceBridgeManager.sourceBridgeAddress, tokenRegistered)
188652
+ : null;
188653
+ return {
188654
+ trade: new pulse_chain_cross_chain_trade_1.PulseChainCrossChainTrade({
188655
+ from: fromToken,
188656
+ to,
188657
+ gasData,
188658
+ slippage: options.slippageTolerance,
188659
+ feeInfo: feeInfo,
188660
+ toTokenAmountMin: targetAmountMin,
188661
+ onChainTrade,
188662
+ priceImpact: fromToken.calculatePriceImpactPercent(to),
188663
+ routerAddress: sourceBridgeManager.sourceBridgeAddress,
188664
+ tokenRegistered
188665
+ }, options.providerAddress, await this.getRoutePath(fromToken, transitToken, to, onChainTrade)),
188666
+ error: amountsErrors,
188667
+ tradeType: this.type
188668
+ };
188669
+ }
188670
+ catch (err) {
188671
+ const rubicSdkError = cross_chain_provider_1.CrossChainProvider.parseError(err);
188672
+ return {
188673
+ trade: null,
188674
+ error: rubicSdkError,
188675
+ tradeType: this.type
188676
+ };
188677
+ }
188678
+ }
188679
+ async getOnChainTrade(from, _availableDexes, slippageTolerance, transitTokenAddress) {
188680
+ const fromBlockchain = from.blockchain;
188681
+ const dexes = Object.values(typed_trade_providers_1.typedTradeProviders[fromBlockchain]).filter(dex => dex.supportReceiverAddress);
188682
+ const to = await tokens_1.PriceToken.createToken({
188683
+ address: transitTokenAddress,
188684
+ blockchain: fromBlockchain
188685
+ });
188686
+ const onChainTrades = (await Promise.allSettled(dexes.map(dex => dex.calculate(from, to, {
188687
+ slippageTolerance,
188688
+ gasCalculation: 'disabled',
188689
+ useProxy: false
188690
+ }))))
188691
+ .filter(value => value.status === 'fulfilled')
188692
+ .map(value => value.value)
188693
+ .sort((a, b) => b.to.tokenAmount.comparedTo(a.to.tokenAmount));
188694
+ if (!onChainTrades.length) {
188695
+ return null;
188696
+ }
188697
+ return onChainTrades[0];
188698
+ }
188699
+ async getMinMaxAmountsErrors(fromTokenAddress, fromBridgeManager, fromToken) {
188700
+ try {
188701
+ const minAmountWei = await fromBridgeManager.getMinAmountToken(fromTokenAddress);
188702
+ const minAmount = new bignumber_js_1.default(minAmountWei);
188703
+ if (minAmount.gte(fromToken.stringWeiAmount)) {
188704
+ return new errors_1.MinAmountError(web3_pure_1.Web3Pure.fromWei(minAmount, fromToken.decimals), fromToken.symbol);
188705
+ }
188706
+ }
188707
+ catch {
188708
+ return undefined;
188709
+ }
188710
+ return undefined;
188711
+ }
188712
+ async getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy) {
188713
+ return proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy);
188714
+ }
188715
+ async getRoutePath(from, transit, to, onChainTrade) {
188716
+ const routePath = [];
188717
+ if (onChainTrade) {
188718
+ routePath.push({
188719
+ type: 'on-chain',
188720
+ path: [from, transit],
188721
+ provider: onChainTrade.type
188722
+ });
188723
+ }
188724
+ routePath.push({
188725
+ type: 'cross-chain',
188726
+ path: [transit, to],
188727
+ provider: cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.PULSE_CHAIN_BRIDGE
188728
+ });
188729
+ return routePath;
188730
+ }
188731
+ getTokenAddress(token) {
188732
+ if (token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM) {
188733
+ return token.isNative ? '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' : token.address;
188734
+ }
188735
+ return token.isNative ? '0xA1077a294dDE1B09bB078844df40758a5D0f9a27' : token.address;
188736
+ }
188737
+ }
188738
+ exports.PulseChainCrossChainProvider = PulseChainCrossChainProvider;
188739
+
188740
+
188741
+ /***/ }),
188742
+
188743
+ /***/ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.ts":
188744
+ /*!********************************************************************************************************************!*\
188745
+ !*** ./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.ts ***!
188746
+ \********************************************************************************************************************/
188747
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
188748
+
188749
+ "use strict";
188750
+
188751
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188752
+ exports.PulseChainCrossChainTrade = void 0;
188753
+ const blockchain_name_1 = __webpack_require__(/*! ../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
188754
+ 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");
188755
+ const web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/web3-pure */ "./src/core/blockchain/web3-pure/web3-pure.ts");
188756
+ const injector_1 = __webpack_require__(/*! ../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
188757
+ 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");
188758
+ 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");
188759
+ 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");
188760
+ 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");
188761
+ 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");
188762
+ const bridge_type_1 = __webpack_require__(/*! ../common/models/bridge-type */ "./src/features/cross-chain/calculation-manager/providers/common/models/bridge-type.ts");
188763
+ 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");
188764
+ const bridge_manager_1 = __webpack_require__(/*! ./omni-bridge-entities/bridge-manager */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.ts");
188765
+ const omni_bridge_1 = __webpack_require__(/*! ./omni-bridge-entities/omni-bridge */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.ts");
188766
+ const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-price */ "./src/features/cross-chain/calculation-manager/utils/convert-gas-price.ts");
188767
+ class PulseChainCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
188768
+ /** @internal */
188769
+ static async getGasData(from, toToken, onChainTrade, feeInfo, toTokenAmountMin, providerAddress, receiverAddress, routerAddress, tokenRegistered) {
188770
+ const fromBlockchain = from.blockchain;
188771
+ const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
188772
+ if (!walletAddress) {
188773
+ return null;
188774
+ }
188775
+ try {
188776
+ let gasLimit;
188777
+ let gasDetails;
188778
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
188779
+ if (feeInfo.rubicProxy?.fixedFee?.amount.gt(0)) {
188780
+ const { contractAddress, contractAbi, methodName, methodArguments, value } = await new PulseChainCrossChainTrade({
188781
+ from,
188782
+ to: toToken,
188783
+ gasData: null,
188784
+ priceImpact: 0,
188785
+ slippage: 0,
188786
+ feeInfo: feeInfo,
188787
+ toTokenAmountMin,
188788
+ onChainTrade: onChainTrade,
188789
+ routerAddress,
188790
+ tokenRegistered
188791
+ }, providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({});
188792
+ const [proxyGasLimit, proxyGasDetails] = await Promise.all([
188793
+ web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
188794
+ (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(from.blockchain))
188795
+ ]);
188796
+ gasLimit = proxyGasLimit;
188797
+ gasDetails = proxyGasDetails;
188798
+ }
188799
+ else {
188800
+ const { data, to, value } = new PulseChainCrossChainTrade({
188801
+ from,
188802
+ to: toToken,
188803
+ gasData: null,
188804
+ priceImpact: 0,
188805
+ slippage: 0,
188806
+ feeInfo: feeInfo,
188807
+ toTokenAmountMin,
188808
+ onChainTrade: onChainTrade,
188809
+ routerAddress,
188810
+ tokenRegistered
188811
+ }, providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getTransactionRequest(receiverAddress, onChainTrade ? onChainTrade.to : from, toToken);
188812
+ const defaultGasLimit = await web3Public.getEstimatedGasByData(walletAddress, to, {
188813
+ data,
188814
+ value
188815
+ });
188816
+ const defaultGasDetails = (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(from.blockchain));
188817
+ gasLimit = defaultGasLimit;
188818
+ gasDetails = defaultGasDetails;
188819
+ }
188820
+ if (!gasLimit?.isFinite()) {
188821
+ return null;
188822
+ }
188823
+ const increasedGasLimit = web3_pure_1.Web3Pure.calculateGasMargin(gasLimit, 1.2);
188824
+ return {
188825
+ gasLimit: increasedGasLimit,
188826
+ ...gasDetails
188827
+ };
188828
+ }
188829
+ catch (_err) {
188830
+ return null;
188831
+ }
188832
+ }
188833
+ get fromBlockchain() {
188834
+ return this.from.blockchain;
188835
+ }
188836
+ get fromContractAddress() {
188837
+ return this.isProxyTrade
188838
+ ? rubic_proxy_contract_address_1.rubicProxyContractAddress[this.fromBlockchain].gateway
188839
+ : this.routerAddress;
188840
+ }
188841
+ get methodName() {
188842
+ if (this.isErc677 && this.from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM) {
188843
+ return this.onChainTrade
188844
+ ? 'swapAndStartBridgeTokensViaTransferAndCall'
188845
+ : 'startBridgeTokensViaTransferAndCall';
188846
+ }
188847
+ return this.onChainTrade
188848
+ ? 'swapAndStartBridgeTokensViaGenericCrossChain'
188849
+ : 'startBridgeTokensViaGenericCrossChain';
188850
+ }
188851
+ get isErc677() {
188852
+ return !this.isTokenRegistered || omni_bridge_1.OmniBridge.isCustomWrap(this.from);
188853
+ }
188854
+ constructor(crossChainTrade, providerAddress, routePath) {
188855
+ super(providerAddress, routePath);
188856
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.PULSE_CHAIN_BRIDGE;
188857
+ this.isAggregator = false;
188858
+ this.bridgeType = bridge_type_1.BRIDGE_TYPE.PULSE_CHAIN_BRIDGE;
188859
+ this.from = crossChainTrade.from;
188860
+ this.to = crossChainTrade.to;
188861
+ this.gasData = crossChainTrade.gasData;
188862
+ this.slippage = crossChainTrade.slippage;
188863
+ this.toTokenAmountMin = web3_pure_1.Web3Pure.fromWei(crossChainTrade.toTokenAmountMin, crossChainTrade.to.decimals);
188864
+ this.feeInfo = crossChainTrade.feeInfo;
188865
+ this.priceImpact = crossChainTrade.priceImpact;
188866
+ this.routerAddress = crossChainTrade.routerAddress;
188867
+ this.onChainSubtype = crossChainTrade.onChainTrade
188868
+ ? { from: crossChainTrade.onChainTrade.type, to: undefined }
188869
+ : { from: undefined, to: undefined };
188870
+ this.onChainTrade = crossChainTrade.onChainTrade;
188871
+ this.isTokenRegistered = crossChainTrade.tokenRegistered;
188872
+ }
188873
+ async needApprove() {
188874
+ this.checkWalletConnected();
188875
+ if (this.from.isNative || (this.isErc677 && !this.isProxyTrade)) {
188876
+ return false;
188877
+ }
188878
+ const allowance = await this.fromWeb3Public.getAllowance(this.from.address, this.walletAddress, this.fromContractAddress);
188879
+ return this.from.weiAmount.gt(allowance);
188880
+ }
188881
+ async swapDirect(options = {}) {
188882
+ await this.checkTradeErrors();
188883
+ if (!this.isProxyTrade || this.isTokenRegistered) {
188884
+ await this.checkAllowanceAndApprove(options);
188885
+ }
188886
+ const { onConfirm, gasLimit, gasPrice, gasPriceOptions } = options;
188887
+ let transactionHash;
188888
+ const onTransactionHash = (hash) => {
188889
+ if (onConfirm) {
188890
+ onConfirm(hash);
188891
+ }
188892
+ transactionHash = hash;
188893
+ };
188894
+ // eslint-disable-next-line no-useless-catch
188895
+ try {
188896
+ const { data, to, value } = this.getTransactionRequest(options.receiverAddress || this.walletAddress, this.from, this.to);
188897
+ await this.web3Private.trySendTransaction(to, {
188898
+ data,
188899
+ value,
188900
+ onTransactionHash,
188901
+ gas: gasLimit,
188902
+ gasPrice,
188903
+ gasPriceOptions
188904
+ });
188905
+ return transactionHash;
188906
+ }
188907
+ catch (err) {
188908
+ throw err;
188909
+ }
188910
+ }
188911
+ async getContractParams(options) {
188912
+ const receiverAddress = options?.receiverAddress || this.walletAddress;
188913
+ const { data, to, value: providerValue } = this.getTransactionRequest(receiverAddress, this.onChainTrade ? this.onChainTrade.to : this.from, this.to);
188914
+ const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData(options, {
188915
+ walletAddress: this.walletAddress,
188916
+ fromTokenAmount: this.from,
188917
+ toTokenAmount: this.to,
188918
+ srcChainTrade: this.onChainTrade,
188919
+ providerAddress: this.providerAddress,
188920
+ type: `native:${this.type}`,
188921
+ fromAddress: this.walletAddress
188922
+ });
188923
+ const swapData = this.onChainTrade &&
188924
+ (await proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getSwapData(options, {
188925
+ walletAddress: this.walletAddress,
188926
+ contractAddress: rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].router,
188927
+ fromTokenAmount: this.from,
188928
+ toTokenAmount: this.onChainTrade.to,
188929
+ onChainEncodeFn: this.onChainTrade.encode.bind(this.onChainTrade)
188930
+ }));
188931
+ const providerData = this.isErc677
188932
+ ? this.getProviderDataForErc677(this.from, this.to, receiverAddress)
188933
+ : await proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getGenericProviderData(to, data, this.fromBlockchain, to, '0');
188934
+ const methodArguments = swapData
188935
+ ? [bridgeData, swapData, providerData]
188936
+ : [bridgeData, providerData];
188937
+ const value = this.getSwapValue(providerValue);
188938
+ 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);
188939
+ const sendingToken = this.from.isNative ? [] : [this.from.address];
188940
+ const sendingAmount = this.from.isNative ? [] : [this.from.stringWeiAmount];
188941
+ return {
188942
+ contractAddress: rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].gateway,
188943
+ contractAbi: gateway_rubic_cross_chain_abi_1.gatewayRubicCrossChainAbi,
188944
+ methodName: 'startViaRubic',
188945
+ methodArguments: [sendingToken, sendingAmount, transactionConfiguration.data],
188946
+ value
188947
+ };
188948
+ }
188949
+ getTradeAmountRatio(fromUsd) {
188950
+ return fromUsd.dividedBy(this.to.tokenAmount);
188951
+ }
188952
+ getTradeInfo() {
188953
+ return {
188954
+ estimatedGas: this.estimatedGas,
188955
+ feeInfo: this.feeInfo,
188956
+ priceImpact: this.priceImpact ?? null,
188957
+ slippage: this.slippage * 100,
188958
+ routePath: this.routePath
188959
+ };
188960
+ }
188961
+ getTransactionRequest(receiverAddress, fromToken, toToken) {
188962
+ const sourceBridgeManager = bridge_manager_1.BridgeManager.createBridge(fromToken, toToken);
188963
+ const tokenAddress = this.getTokenAddress(fromToken);
188964
+ if (fromToken.isNative) {
188965
+ return sourceBridgeManager.getDataForNativeSwap(receiverAddress, fromToken.stringWeiAmount);
188966
+ }
188967
+ return sourceBridgeManager.getDataForTokenSwap(receiverAddress, fromToken.stringWeiAmount, this.isErc677, tokenAddress);
188968
+ }
188969
+ getTokenAddress(token) {
188970
+ if (token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM) {
188971
+ return token.isNative ? '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' : token.address;
188972
+ }
188973
+ return token.isNative ? '0xA1077a294dDE1B09bB078844df40758a5D0f9a27' : token.address;
188974
+ }
188975
+ getProviderDataForErc677(fromToken, toToken, receiverAddress) {
188976
+ const sourceBridgeManager = bridge_manager_1.BridgeManager.createBridge(fromToken, toToken);
188977
+ return [sourceBridgeManager.sourceBridgeAddress, receiverAddress];
188978
+ }
188979
+ }
188980
+ exports.PulseChainCrossChainTrade = PulseChainCrossChainTrade;
188981
+
188982
+
188983
+ /***/ }),
188984
+
188985
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.ts":
188986
+ /*!********************************************************************************************************************!*\
188987
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-api-types.ts ***!
188988
+ \********************************************************************************************************************/
188989
+ /***/ ((__unused_webpack_module, exports) => {
188990
+
188991
+ "use strict";
188992
+
188993
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
188994
+
188995
+
188996
+ /***/ }),
188997
+
188998
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.ts":
188999
+ /*!***********************************************************************************************************************!*\
189000
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.ts ***!
189001
+ \***********************************************************************************************************************/
189002
+ /***/ ((__unused_webpack_module, exports) => {
189003
+
189004
+ "use strict";
189005
+
189006
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
189007
+
189008
+
189009
+ /***/ }),
189010
+
189011
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.ts":
189012
+ /*!*************************************************************************************************************!*\
189013
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.ts ***!
189014
+ \*************************************************************************************************************/
189015
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
189016
+
189017
+ "use strict";
189018
+
189019
+ var __importDefault = (this && this.__importDefault) || function (mod) {
189020
+ return (mod && mod.__esModule) ? mod : { "default": mod };
189021
+ };
189022
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
189023
+ exports.RangoCrossChainProvider = void 0;
189024
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
189025
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
189026
+ const tokens_1 = __webpack_require__(/*! ../../../../../common/tokens */ "./src/common/tokens/index.ts");
189027
+ const web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/web3-pure */ "./src/core/blockchain/web3-pure/web3-pure.ts");
189028
+ const rango_api_common_1 = __webpack_require__(/*! ../../../../common/providers/rango/constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts");
189029
+ const rango_supported_blockchains_1 = __webpack_require__(/*! ../../../../common/providers/rango/models/rango-supported-blockchains */ "./src/features/common/providers/rango/models/rango-supported-blockchains.ts");
189030
+ const rango_parser_1 = __webpack_require__(/*! ../../../../common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts");
189031
+ const rango_utils_1 = __webpack_require__(/*! ../../../../common/providers/rango/utils/rango-utils */ "./src/features/common/providers/rango/utils/rango-utils.ts");
189032
+ const get_from_without_fee_1 = __webpack_require__(/*! ../../../../common/utils/get-from-without-fee */ "./src/features/common/utils/get-from-without-fee.ts");
189033
+ 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");
189034
+ const cross_chain_provider_1 = __webpack_require__(/*! ../common/cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/common/cross-chain-provider.ts");
189035
+ 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");
189036
+ 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");
189037
+ 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");
189038
+ 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");
189039
+ class RangoCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
189040
+ constructor() {
189041
+ super(...arguments);
189042
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO;
189043
+ this.rangoSupportedBlockchains = rango_supported_blockchains_1.rangoSupportedBlockchains;
189044
+ }
189045
+ isSupportedBlockchain(blockchain) {
189046
+ return this.rangoSupportedBlockchains.some(supportedBlockchain => supportedBlockchain === blockchain);
189047
+ }
189048
+ async calculate(from, toToken, options) {
189049
+ const fromBlockchain = from.blockchain;
189050
+ const toBlockchain = toToken.blockchain;
189051
+ const useProxy = options?.useProxy?.[this.type] ?? true;
189052
+ if (!this.areSupportedBlockchains(fromBlockchain, toBlockchain)) {
189053
+ return {
189054
+ error: new errors_1.NotSupportedBlockchain(),
189055
+ trade: null,
189056
+ tradeType: this.type
189057
+ };
189058
+ }
189059
+ try {
189060
+ const feeInfo = await this.getFeeInfo(fromBlockchain, options.providerAddress, from, useProxy);
189061
+ const fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(from, feeInfo.rubicProxy?.platformFee?.percent);
189062
+ const bestRouteParams = await rango_parser_1.RangoCommonParser.getBestRouteQueryParams(fromWithoutFee, toToken, { ...options, swapperGroups: options.rangoDisabledProviders });
189063
+ const { route } = await rango_cross_chain_api_service_1.RangoCrossChainApiService.getBestRoute(bestRouteParams);
189064
+ const { outputAmountMin, outputAmount, path } = route;
189065
+ const toTokenAmountMin = web3_pure_1.Web3Pure.fromWei(outputAmountMin, toToken.decimals);
189066
+ const to = new tokens_1.PriceTokenAmount({
189067
+ ...toToken.asStruct,
189068
+ tokenAmount: web3_pure_1.Web3Pure.fromWei(outputAmount, toToken.decimals)
189069
+ });
189070
+ const routePath = await this.getRoutePath(from, to, path);
189071
+ const swapQueryParams = await rango_parser_1.RangoCommonParser.getSwapQueryParams(fromWithoutFee, toToken, { ...options, swapperGroups: options.rangoDisabledProviders });
189072
+ const tradeParams = await rango_cross_chain_params_parser_1.RangoCrossChainParser.getTradeConstructorParams({
189073
+ fromToken: from,
189074
+ toToken: to,
189075
+ options,
189076
+ routePath,
189077
+ feeInfo,
189078
+ toTokenAmountMin,
189079
+ swapQueryParams
189080
+ });
189081
+ const trade = new rango_cross_chain_trade_1.RangoCrossChainTrade(tradeParams);
189082
+ const tradeType = this.type;
189083
+ return { trade, tradeType };
189084
+ }
189085
+ catch (err) {
189086
+ const rubicSdkError = cross_chain_provider_1.CrossChainProvider.parseError(err);
189087
+ return {
189088
+ trade: null,
189089
+ error: rubicSdkError,
189090
+ tradeType: this.type
189091
+ };
189092
+ }
189093
+ }
189094
+ async getRoutePath(fromToken, toToken, path) {
189095
+ if (!path) {
189096
+ return [{ type: 'cross-chain', provider: this.type, path: [fromToken, toToken] }];
189097
+ }
189098
+ return Promise.all(path.map(path => this.getStep(path)));
189099
+ }
189100
+ async getStep(rangoPath) {
189101
+ const type = rangoPath.swapperType === 'DEX' ? 'on-chain' : 'cross-chain';
189102
+ const provider = rango_utils_1.RangoUtils.getTradeTypeForRubic(type, rangoPath.swapper.swapperGroup);
189103
+ const fromBlockchain = rango_utils_1.RangoUtils.getRubicBlockchainByRangoBlockchain(rangoPath.from.blockchain);
189104
+ const toBlockchain = rango_utils_1.RangoUtils.getRubicBlockchainByRangoBlockchain(rangoPath.to.blockchain);
189105
+ const fromTokenAmount = await tokens_1.TokenAmount.createToken({
189106
+ address: rangoPath.from.address || tokens_1.nativeTokensList[fromBlockchain].address,
189107
+ blockchain: fromBlockchain,
189108
+ weiAmount: new bignumber_js_1.default(rangoPath.inputAmount)
189109
+ });
189110
+ const toTokenAmount = await tokens_1.TokenAmount.createToken({
189111
+ address: rangoPath.to.address || tokens_1.nativeTokensList[toBlockchain].address,
189112
+ blockchain: toBlockchain,
189113
+ weiAmount: new bignumber_js_1.default(rangoPath.expectedOutput)
189114
+ });
189115
+ return {
189116
+ provider: provider,
189117
+ type: type,
189118
+ path: [fromTokenAmount, toTokenAmount]
189119
+ };
189120
+ }
189121
+ async getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy) {
189122
+ return proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy);
189123
+ }
189124
+ }
189125
+ exports.RangoCrossChainProvider = RangoCrossChainProvider;
189126
+ RangoCrossChainProvider.apiKey = rango_api_common_1.RANGO_API_KEY;
189127
+ RangoCrossChainProvider.apiEndpoint = rango_api_common_1.RANGO_API_ENDPOINT;
189128
+
189129
+
189130
+ /***/ }),
189131
+
189132
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.ts":
189133
+ /*!**********************************************************************************************************!*\
189134
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.ts ***!
189135
+ \**********************************************************************************************************/
189136
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
189137
+
189138
+ "use strict";
189139
+
189140
+ var __importDefault = (this && this.__importDefault) || function (mod) {
189141
+ return (mod && mod.__esModule) ? mod : { "default": mod };
189142
+ };
189143
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
189144
+ exports.RangoCrossChainTrade = void 0;
189145
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
189146
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
189147
+ const blockchains_info_1 = __webpack_require__(/*! ../../../../../core/blockchain/utils/blockchains-info/blockchains-info */ "./src/core/blockchain/utils/blockchains-info/blockchains-info.ts");
189148
+ 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");
189149
+ const web3_pure_1 = __webpack_require__(/*! ../../../../../core/blockchain/web3-pure/web3-pure */ "./src/core/blockchain/web3-pure/web3-pure.ts");
189150
+ const injector_1 = __webpack_require__(/*! ../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
189151
+ const rango_contract_address_1 = __webpack_require__(/*! ../../../../common/providers/rango/constants/rango-contract-address */ "./src/features/common/providers/rango/constants/rango-contract-address.ts");
189152
+ 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");
189153
+ const convert_gas_price_1 = __webpack_require__(/*! ../../utils/convert-gas-price */ "./src/features/cross-chain/calculation-manager/utils/convert-gas-price.ts");
189154
+ 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");
189155
+ 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");
189156
+ 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");
189157
+ 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");
189158
+ const bridge_type_1 = __webpack_require__(/*! ../common/models/bridge-type */ "./src/features/cross-chain/calculation-manager/providers/common/models/bridge-type.ts");
189159
+ 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");
189160
+ 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");
189161
+ class RangoCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
189162
+ /** @internal */
189163
+ static async getGasData({ fromToken, toToken, feeInfo, routePath, swapQueryParams }) {
189164
+ const fromBlockchain = fromToken.blockchain;
189165
+ const walletAddress = swapQueryParams.fromAddress;
189166
+ if (!walletAddress) {
189167
+ return null;
189168
+ }
189169
+ try {
189170
+ let gasLimit;
189171
+ let gasDetails;
189172
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
189173
+ const tradeParams = {
189174
+ crossChainTrade: {
189175
+ from: fromToken,
189176
+ to: toToken,
189177
+ toTokenAmountMin: new bignumber_js_1.default(0),
189178
+ feeInfo,
189179
+ gasData: null,
189180
+ priceImpact: fromToken.calculatePriceImpactPercent(toToken) || 0,
189181
+ slippage: swapQueryParams.slippage,
189182
+ swapQueryParams
189183
+ },
189184
+ routePath,
189185
+ providerAddress: swapQueryParams.toAddress
189186
+ };
189187
+ if (feeInfo.rubicProxy?.fixedFee?.amount.gt(0)) {
189188
+ const { contractAddress, contractAbi, methodName, methodArguments, value } = await new RangoCrossChainTrade(tradeParams).getContractParams({
189189
+ receiverAddress: swapQueryParams.toAddress
189190
+ }, true);
189191
+ const [proxyGasLimit, proxyGasDetails] = await Promise.all([
189192
+ web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
189193
+ (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(fromBlockchain))
189194
+ ]);
189195
+ gasLimit = proxyGasLimit;
189196
+ gasDetails = proxyGasDetails;
189197
+ }
189198
+ else {
189199
+ const { data, value, to } = await new RangoCrossChainTrade(tradeParams).getTransactionRequest(undefined, true);
189200
+ const defaultGasLimit = await web3Public.getEstimatedGasByData(walletAddress, to, {
189201
+ data,
189202
+ value
189203
+ });
189204
+ const defaultGasDetails = (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(fromBlockchain));
189205
+ gasLimit = defaultGasLimit;
189206
+ gasDetails = defaultGasDetails;
189207
+ }
189208
+ if (!gasLimit?.isFinite()) {
189209
+ return null;
189210
+ }
189211
+ const increasedGasLimit = web3_pure_1.Web3Pure.calculateGasMargin(gasLimit, 1.2);
189212
+ return {
189213
+ gasLimit: increasedGasLimit,
189214
+ ...gasDetails
189215
+ };
189216
+ }
189217
+ catch (err) {
189218
+ return null;
189219
+ }
189220
+ }
189221
+ get fromBlockchain() {
189222
+ return this.from.blockchain;
189223
+ }
189224
+ get fromContractAddress() {
189225
+ return this.isProxyTrade
189226
+ ? rubic_proxy_contract_address_1.rubicProxyContractAddress[this.fromBlockchain].gateway
189227
+ : rango_contract_address_1.RangoContractAddresses[this.fromBlockchain].providerGateway;
189228
+ }
189229
+ get methodName() {
189230
+ return 'startBridgeTokensViaGenericCrossChain';
189231
+ }
189232
+ constructor(params) {
189233
+ super(params.providerAddress, params.routePath);
189234
+ /**ABSTRACT PROPS */
189235
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO;
189236
+ this.isAggregator = true;
189237
+ this.onChainSubtype = { from: undefined, to: undefined };
189238
+ this.bridgeType = bridge_type_1.BRIDGE_TYPE.RANGO;
189239
+ this.to = params.crossChainTrade.to;
189240
+ this.from = params.crossChainTrade.from;
189241
+ this.toTokenAmountMin = params.crossChainTrade.toTokenAmountMin;
189242
+ this.feeInfo = params.crossChainTrade.feeInfo;
189243
+ this.gasData = params.crossChainTrade.gasData;
189244
+ this.priceImpact = params.crossChainTrade.priceImpact;
189245
+ this.slippage = params.crossChainTrade.slippage;
189246
+ this.swapQueryParams = params.crossChainTrade.swapQueryParams;
189247
+ }
189248
+ async getContractParams(options, skipAmountChangeCheck = false) {
189249
+ const receiverAddress = options?.receiverAddress || this.walletAddress;
189250
+ const { data, value: providerValue, to: providerRouter } = await this.getTransactionRequest(options.directTransaction, skipAmountChangeCheck);
189251
+ const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData(options, {
189252
+ walletAddress: receiverAddress,
189253
+ fromTokenAmount: this.from,
189254
+ toTokenAmount: this.to,
189255
+ srcChainTrade: null,
189256
+ providerAddress: this.providerAddress,
189257
+ type: `native:${this.type}`,
189258
+ fromAddress: this.walletAddress
189259
+ });
189260
+ const extraNativeFee = this.from.isNative
189261
+ ? new bignumber_js_1.default(providerValue).minus(this.from.stringWeiAmount).toFixed()
189262
+ : new bignumber_js_1.default(providerValue).toFixed();
189263
+ const providerData = await proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getGenericProviderData(providerRouter, data, this.from.blockchain, providerRouter, extraNativeFee);
189264
+ const methodArguments = [bridgeData, providerData];
189265
+ const value = this.getSwapValue(providerValue);
189266
+ 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);
189267
+ const sendingToken = this.from.isNative ? [] : [this.from.address];
189268
+ const sendingAmount = this.from.isNative ? [] : [this.from.stringWeiAmount];
189269
+ return {
189270
+ contractAddress: rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].gateway,
189271
+ contractAbi: gateway_rubic_cross_chain_abi_1.gatewayRubicCrossChainAbi,
189272
+ methodName: 'startViaRubic',
189273
+ methodArguments: [sendingToken, sendingAmount, transactionConfiguration.data],
189274
+ value
189275
+ };
189276
+ }
189277
+ async swapDirect(options = {}) {
189278
+ if (!blockchains_info_1.BlockchainsInfo.isEvmBlockchainName(this.from.blockchain)) {
189279
+ throw new errors_1.RubicSdkError("For non-evm chains use 'getChangenowPostTrade' method");
189280
+ }
189281
+ await this.checkTradeErrors();
189282
+ await this.checkAllowanceAndApprove(options);
189283
+ const { onConfirm, gasLimit, gasPrice, gasPriceOptions } = options;
189284
+ let transactionHash;
189285
+ const onTransactionHash = (hash) => {
189286
+ if (onConfirm) {
189287
+ onConfirm(hash);
189288
+ }
189289
+ transactionHash = hash;
189290
+ };
189291
+ // eslint-disable-next-line no-useless-catch
189292
+ try {
189293
+ const { data, value, to } = await this.getTransactionRequest(options.directTransaction);
189294
+ await this.web3Private.trySendTransaction(to, {
189295
+ data,
189296
+ value,
189297
+ onTransactionHash,
189298
+ gas: gasLimit,
189299
+ gasPrice,
189300
+ gasPriceOptions
189301
+ });
189302
+ return transactionHash;
189303
+ }
189304
+ catch (err) {
189305
+ throw err;
189306
+ }
189307
+ }
189308
+ async getTransactionRequest(transactionConfig, skipAmountChangeCheck = false) {
189309
+ if (transactionConfig) {
189310
+ return {
189311
+ data: transactionConfig.data,
189312
+ to: transactionConfig.to,
189313
+ value: transactionConfig.value
189314
+ };
189315
+ }
189316
+ const { route, tx, error, requestId } = await rango_cross_chain_api_service_1.RangoCrossChainApiService.getSwapTransaction(this.swapQueryParams);
189317
+ this.rangoRequestId = requestId;
189318
+ if (!route || !tx) {
189319
+ throw new errors_1.RubicSdkError('Invalid data after sending swap request. Error text:' + error);
189320
+ }
189321
+ const config = {
189322
+ data: tx.txData,
189323
+ value: tx.value || '0',
189324
+ to: tx.txTo
189325
+ };
189326
+ if (!skipAmountChangeCheck) {
189327
+ evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange(config, route.outputAmount, this.to.stringWeiAmount);
189328
+ }
189329
+ return config;
189330
+ }
189331
+ getTradeInfo() {
189332
+ return {
189333
+ estimatedGas: this.estimatedGas,
189334
+ feeInfo: this.feeInfo,
189335
+ priceImpact: this.priceImpact || null,
189336
+ slippage: this.slippage * 100,
189337
+ routePath: this.routePath
189338
+ };
189339
+ }
189340
+ /**
189341
+ * @deprecated
189342
+ */
189343
+ getTradeAmountRatio(fromUsd) {
189344
+ return fromUsd;
189345
+ }
189346
+ }
189347
+ exports.RangoCrossChainTrade = RangoCrossChainTrade;
189348
+
189349
+
189350
+ /***/ }),
189351
+
189352
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.ts":
189353
+ /*!*************************************************************************************************************************!*\
189354
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-api-service.ts ***!
189355
+ \*************************************************************************************************************************/
189356
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
189357
+
189358
+ "use strict";
189359
+
189360
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
189361
+ exports.RangoCrossChainApiService = void 0;
189362
+ const errors_1 = __webpack_require__(/*! ../../../../../../common/errors */ "./src/common/errors/index.ts");
189363
+ const injector_1 = __webpack_require__(/*! ../../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
189364
+ const rango_api_common_1 = __webpack_require__(/*! ../../../../../common/providers/rango/constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts");
189365
+ class RangoCrossChainApiService {
189366
+ static async getBestRoute(params) {
189367
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/quote`, {
189368
+ params: params
189369
+ });
189370
+ if (!res.route || res.error) {
189371
+ throw new errors_1.RubicSdkError(res.error ?? 'No available routes in rango.');
189372
+ }
189373
+ return res;
189374
+ }
189375
+ static async getSwapTransaction(params) {
189376
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/swap`, { params: params });
189377
+ if (!res.route || res.error) {
189378
+ throw new errors_1.RubicSdkError(res.error ?? 'No available routes in rango.');
189379
+ }
189380
+ return res;
189381
+ }
189382
+ /**
189383
+ * @description Get transaction status data
189384
+ */
189385
+ static async getTxStatus(params) {
189386
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/status`, { params: params });
189387
+ if (res.error || !res.bridgeData || !res.status) {
189388
+ throw new errors_1.RubicSdkError("Can't get status, res has error or null data in getTxStatus method");
189389
+ }
189390
+ return res;
189391
+ }
189392
+ }
189393
+ exports.RangoCrossChainApiService = RangoCrossChainApiService;
189394
+
189395
+
189396
+ /***/ }),
189397
+
189398
+ /***/ "./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.ts":
189399
+ /*!***************************************************************************************************************************!*\
189400
+ !*** ./src/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.ts ***!
189401
+ \***************************************************************************************************************************/
189402
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
189403
+
189404
+ "use strict";
189405
+
189406
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
189407
+ exports.RangoCrossChainParser = void 0;
189408
+ 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");
189409
+ class RangoCrossChainParser {
189410
+ static async getTradeConstructorParams({ feeInfo, fromToken, options, routePath, swapQueryParams, toToken, toTokenAmountMin }) {
189411
+ const gasData = options.gasCalculation === 'enabled'
189412
+ ? await rango_cross_chain_trade_1.RangoCrossChainTrade.getGasData({
189413
+ fromToken,
189414
+ toToken,
189415
+ swapQueryParams,
189416
+ feeInfo,
189417
+ routePath
189418
+ })
189419
+ : null;
189420
+ const priceImpact = fromToken.calculatePriceImpactPercent(toToken);
189421
+ const slippage = options.slippageTolerance;
189422
+ const crossChainTrade = {
189423
+ from: fromToken,
189424
+ to: toToken,
189425
+ gasData,
189426
+ toTokenAmountMin,
189427
+ priceImpact,
189428
+ slippage,
189429
+ feeInfo,
189430
+ swapQueryParams
189431
+ };
189432
+ const providerAddress = options.providerAddress;
189433
+ return {
189434
+ crossChainTrade,
189435
+ providerAddress,
189436
+ routePath
189437
+ };
189438
+ }
189439
+ }
189440
+ exports.RangoCrossChainParser = RangoCrossChainParser;
189441
+
189442
+
186106
189443
  /***/ }),
186107
189444
 
186108
189445
  /***/ "./src/features/cross-chain/calculation-manager/providers/scroll-bridge/constants/l1-erc20-scroll-gateway-abi.ts":
@@ -188966,7 +192303,7 @@ class SymbiosisCrossChainProvider extends cross_chain_provider_1.CrossChainProvi
188966
192303
  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
192304
  const to = new tokens_1.PriceTokenAmount({
188968
192305
  ...toToken.asStruct,
188969
- tokenAmount: new bignumber_js_1.default(web3_pure_1.Web3Pure.fromWei(tokenAmountOut.amount, tokenAmountOut.decimals))
192306
+ tokenAmount: web3_pure_1.Web3Pure.fromWei(tokenAmountOut.amount, tokenAmountOut.decimals)
188970
192307
  });
188971
192308
  const gasData = options.gasCalculation === 'enabled'
188972
192309
  ? await symbiosis_cross_chain_trade_1.SymbiosisCrossChainTrade.getGasData(from, to, swapParams, feeInfo, approveTo, options.providerAddress, options.receiverAddress)
@@ -190678,6 +194015,8 @@ const blockchain_id_1 = __webpack_require__(/*! ../../../core/blockchain/utils/b
190678
194015
  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
194016
  const injector_1 = __webpack_require__(/*! ../../../core/injector/injector */ "./src/core/injector/injector.ts");
190680
194017
  const changenow_api_key_1 = __webpack_require__(/*! ../../common/providers/changenow/constants/changenow-api-key */ "./src/features/common/providers/changenow/constants/changenow-api-key.ts");
194018
+ 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");
194019
+ const rango_parser_1 = __webpack_require__(/*! ../../common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts");
190681
194020
  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
194021
  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
194022
  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 +194032,7 @@ const multichain_status_mapping_1 = __webpack_require__(/*! ./constants/multicha
190693
194032
  const changenow_api_response_1 = __webpack_require__(/*! ./models/changenow-api-response */ "./src/features/cross-chain/status-manager/models/changenow-api-response.ts");
190694
194033
  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
194034
  const statuses_api_1 = __webpack_require__(/*! ./models/statuses-api */ "./src/features/cross-chain/status-manager/models/statuses-api.ts");
194035
+ 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
194036
  const taiko_api_response_1 = __webpack_require__(/*! ./models/taiko-api-response */ "./src/features/cross-chain/status-manager/models/taiko-api-response.ts");
190697
194037
  /**
190698
194038
  * Contains methods for getting cross-chain trade statuses.
@@ -190713,7 +194053,9 @@ class CrossChainStatusManager {
190713
194053
  [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.ARBITRUM]: this.getArbitrumBridgeDstSwapStatus,
190714
194054
  [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.SQUIDROUTER]: this.getSquidrouterDstSwapStatus,
190715
194055
  [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
194056
+ [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.TAIKO_BRIDGE]: this.getTaikoBridgeDstSwapStatus,
194057
+ [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO]: this.getRangoDstSwapStatus,
194058
+ [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.PULSE_CHAIN_BRIDGE]: this.getPulseChainDstSwapStatus
190717
194059
  };
190718
194060
  }
190719
194061
  /**
@@ -191174,6 +194516,39 @@ class CrossChainStatusManager {
191174
194516
  }
191175
194517
  return { status: tx_status_1.TX_STATUS.PENDING, hash: null };
191176
194518
  }
194519
+ async getPulseChainDstSwapStatus(data) {
194520
+ try {
194521
+ const network = data.fromBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM ? 'ethereum' : 'ethereum';
194522
+ const result = await injector_1.Injector.httpClient.get(`https://dev-api.rubic.exchange/api/v2/trades/crosschain/pulsechain_bridge_status?tx_hash=${data.srcTxHash}&network=${network}`);
194523
+ if (result.status === 'SUCCESS') {
194524
+ return { status: tx_status_1.TX_STATUS.SUCCESS, hash: result.dest_transaction };
194525
+ }
194526
+ return { status: tx_status_1.TX_STATUS.PENDING, hash: null };
194527
+ }
194528
+ catch {
194529
+ return { status: tx_status_1.TX_STATUS.PENDING, hash: null };
194530
+ }
194531
+ }
194532
+ async getRangoDstSwapStatus(data) {
194533
+ if (!data.rangoRequestId) {
194534
+ throw new errors_1.RubicSdkError('Must provide rangoRequestId');
194535
+ }
194536
+ const { srcTxHash, rangoRequestId } = data;
194537
+ const params = rango_parser_1.RangoCommonParser.getTxStatusQueryParams(srcTxHash, rangoRequestId);
194538
+ const { bridgeData, status: txStatus } = await rango_cross_chain_api_service_1.RangoCrossChainApiService.getTxStatus(params);
194539
+ let status;
194540
+ if (txStatus === rango_api_status_types_1.RANGO_SWAP_STATUS.SUCCESS) {
194541
+ status = tx_status_1.TX_STATUS.SUCCESS;
194542
+ }
194543
+ else if (txStatus === rango_api_status_types_1.RANGO_SWAP_STATUS.RUNNING) {
194544
+ status = tx_status_1.TX_STATUS.PENDING;
194545
+ }
194546
+ else {
194547
+ status = tx_status_1.TX_STATUS.FAIL;
194548
+ }
194549
+ const hash = bridgeData.destTxHash;
194550
+ return { hash, status };
194551
+ }
191177
194552
  }
191178
194553
  exports.CrossChainStatusManager = CrossChainStatusManager;
191179
194554
 
@@ -191265,6 +194640,19 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
191265
194640
  Object.defineProperty(exports, "__esModule", ({ value: true }));
191266
194641
 
191267
194642
 
194643
+ /***/ }),
194644
+
194645
+ /***/ "./src/features/cross-chain/status-manager/models/rubic-backend-ps-status.ts":
194646
+ /*!***********************************************************************************!*\
194647
+ !*** ./src/features/cross-chain/status-manager/models/rubic-backend-ps-status.ts ***!
194648
+ \***********************************************************************************/
194649
+ /***/ ((__unused_webpack_module, exports) => {
194650
+
194651
+ "use strict";
194652
+
194653
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
194654
+
194655
+
191268
194656
  /***/ }),
191269
194657
 
191270
194658
  /***/ "./src/features/cross-chain/status-manager/models/scroll-api-response.ts":
@@ -192859,6 +196247,7 @@ const on_chain_proxy_service_1 = __webpack_require__(/*! ./providers/common/on-c
192859
196247
  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
196248
  const lifi_provider_1 = __webpack_require__(/*! ./providers/lifi/lifi-provider */ "./src/features/on-chain/calculation-manager/providers/lifi/lifi-provider.ts");
192861
196249
  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");
196250
+ 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
196251
  /**
192863
196252
  * Contains methods to calculate on-chain trades.
192864
196253
  */
@@ -192871,6 +196260,7 @@ class OnChainManager {
192871
196260
  this.tradeProviders = typed_trade_providers_1.typedTradeProviders;
192872
196261
  this.lifiProvider = new lifi_provider_1.LifiProvider();
192873
196262
  this.openOceanProvider = new open_ocean_provider_1.OpenOceanProvider();
196263
+ this.rangoProvider = new rango_on_chain_provider_1.RangoOnChainProvider();
192874
196264
  this.deflationTokenManager = new deflation_token_manager_1.DeflationTokenManager();
192875
196265
  }
192876
196266
  calculateTradeReactively(fromToken, fromAmount, toToken, options) {
@@ -192892,8 +196282,18 @@ class OnChainManager {
192892
196282
  .includes(on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OPEN_OCEAN)
192893
196283
  ? []
192894
196284
  : [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) => ({
196285
+ const rangoTrades = fullOptions.disabledProviders
196286
+ .map(provider => provider.toUpperCase())
196287
+ .includes(on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO)
196288
+ ? []
196289
+ : [this.getRangoCalculationPromise(from, to, fullOptions)];
196290
+ const totalTrades = [
196291
+ ...nativeProviders,
196292
+ ...lifiTrades,
196293
+ ...openOceanTrades,
196294
+ ...rangoTrades
196295
+ ].length;
196296
+ 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
196297
  total: totalTrades,
192898
196298
  calculated: index + 1,
192899
196299
  wrappedTrade: wrappedTrade || null
@@ -193111,6 +196511,26 @@ class OnChainManager {
193111
196511
  };
193112
196512
  }
193113
196513
  }
196514
+ async getRangoCalculationPromise(from, to, options) {
196515
+ try {
196516
+ const wrappedTrade = await (0, p_timeout_1.default)(this.rangoProvider.calculate(from, to, options), options.timeout);
196517
+ if ('error' in wrappedTrade) {
196518
+ throw wrappedTrade.error;
196519
+ }
196520
+ if (!wrappedTrade) {
196521
+ return null;
196522
+ }
196523
+ return { trade: wrappedTrade, tradeType: on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO };
196524
+ }
196525
+ catch (err) {
196526
+ console.debug(`[RUBIC_SDK] Trade calculation error occurred for ${on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO} trade provider.`, err);
196527
+ return {
196528
+ trade: null,
196529
+ tradeType: on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO,
196530
+ error: cross_chain_provider_1.CrossChainProvider.parseError(err)
196531
+ };
196532
+ }
196533
+ }
193114
196534
  getWrappedWrapTrade(fromToken, toToken, fullOptions) {
193115
196535
  const wrappedTrade = {
193116
196536
  error: undefined,
@@ -193263,6 +196683,7 @@ exports.ON_CHAIN_TRADE_TYPE = void 0;
193263
196683
  * List of on-chain trade types.
193264
196684
  */
193265
196685
  exports.ON_CHAIN_TRADE_TYPE = {
196686
+ '10K_SWAP': '10K_SWAP',
193266
196687
  AERODROME: 'AERODROME',
193267
196688
  ACRYPTOS: 'ACRYPTOS',
193268
196689
  ALDRIN_EXCHANGE: 'ALDRIN_EXCHANGE',
@@ -193273,12 +196694,14 @@ exports.ON_CHAIN_TRADE_TYPE = {
193273
196694
  ARTH_SWAP: 'ARTH_SWAP',
193274
196695
  ASTRO_SWAP: 'ASTRO_SWAP',
193275
196696
  AURORA_SWAP: 'AURORA_SWAP',
196697
+ AVNU: 'AVNU',
193276
196698
  BABY_SWAP: 'BABY_SWAP',
193277
196699
  BALANCER: 'BALANCER',
193278
196700
  BASE_SWAP: 'BASE_SWAP',
193279
196701
  BEAM_SWAP: 'BEAM_SWAP',
193280
196702
  BI_SWAP: 'BI_SWAP',
193281
196703
  BRIDGERS: 'BRIDGERS',
196704
+ CHERRY_SWAP: 'CHERRY_SWAP',
193282
196705
  CLAIM_SWAP: 'CLAIM_SWAP',
193283
196706
  CREMA_FINANCE: 'CREMA_FINANCE',
193284
196707
  CRO_SWAP: 'CRO_SWAP',
@@ -193292,7 +196715,9 @@ exports.ON_CHAIN_TRADE_TYPE = {
193292
196715
  DFYN: 'DFYN',
193293
196716
  DODO: 'DODO',
193294
196717
  DYSTOPIA: 'DYSTOPIA',
196718
+ ECHO_DEX: 'ECHO_DEX',
193295
196719
  ELK: 'ELK',
196720
+ FINKUJIRA: 'FINKUJIRA',
193296
196721
  FUSIONX: 'FUSIONX',
193297
196722
  HONEY_SWAP: 'HONEY_SWAP',
193298
196723
  HORIZONDEX: 'HORIZONDEX',
@@ -193311,6 +196736,7 @@ exports.ON_CHAIN_TRADE_TYPE = {
193311
196736
  MOJITO_SWAP: 'MOJITO_SWAP',
193312
196737
  MUTE_SWAP: 'MUTE_SWAP',
193313
196738
  NET_SWAP: 'NET_SWAP',
196739
+ OKC_SWAP: 'OKC_SWAP',
193314
196740
  ONE_INCH: 'ONE_INCH',
193315
196741
  ONE_MOON: 'ONE_MOON',
193316
196742
  ONE_SOL: 'ONE_SOL',
@@ -193320,7 +196746,9 @@ exports.ON_CHAIN_TRADE_TYPE = {
193320
196746
  ORCA_SWAP: 'ORCA_SWAP',
193321
196747
  OSMOSIS_SWAP: 'OSMOSIS_SWAP',
193322
196748
  PANCAKE_SWAP: 'PANCAKE_SWAP',
196749
+ PANCAKE_SWAP_V3: 'PANCAKE_SWAP_V3',
193323
196750
  PANGOLIN: 'PANGOLIN',
196751
+ PARA_SWAP: 'PARA_SWAP',
193324
196752
  PEGASYS: 'PEGASYS',
193325
196753
  PHOTON_SWAP: 'PHOTON_SWAP',
193326
196754
  POLYDEX: 'POLYDEX',
@@ -193328,6 +196756,7 @@ exports.ON_CHAIN_TRADE_TYPE = {
193328
196756
  QUICK_SWAP_V3: 'QUICK_SWAP_V3',
193329
196757
  PULSEX_V1: 'PULSEX_V1',
193330
196758
  PULSEX_V2: 'PULSEX_V2',
196759
+ RANGO: 'RANGO',
193331
196760
  RAYDIUM: 'RAYDIUM',
193332
196761
  REF_FINANCE: 'REF_FINANCE',
193333
196762
  REN_BTC: 'REN_BTC',
@@ -193336,14 +196765,18 @@ exports.ON_CHAIN_TRADE_TYPE = {
193336
196765
  SERUM: 'SERUM',
193337
196766
  SHIBA_SWAP: 'SHIBA_SWAP',
193338
196767
  SMOOTHY: 'SMOOTHY',
196768
+ SOLANA: 'SOLANA',
193339
196769
  SOLAR_BEAM: 'SOLAR_BEAM',
196770
+ SPACEFI_SWAP: 'SPACEFI_SWAP',
193340
196771
  SPIRIT_SWAP: 'SPIRIT_SWAP',
193341
196772
  SPL_TOKEN_SWAP: 'SPL_TOKEN_SWAP',
193342
196773
  SPOOKY_SWAP: 'SPOOKY_SWAP',
193343
196774
  SOUL_SWAP: 'SOUL_SWAP',
193344
196775
  STELLA_SWAP: 'STELLA_SWAP',
196776
+ SUN_SWAP: 'SUN_SWAP',
193345
196777
  SURFDEX: 'SURFDEX',
193346
196778
  SUSHI_SWAP: 'SUSHI_SWAP',
196779
+ SYNAPSE: 'SYNAPSE',
193347
196780
  SYNC_SWAP: 'SYNC_SWAP',
193348
196781
  SYMBIOSIS_SWAP: 'SYMBIOSIS_SWAP',
193349
196782
  TRADER: 'TRADER',
@@ -193362,6 +196795,7 @@ exports.ON_CHAIN_TRADE_TYPE = {
193362
196795
  WAULT_SWAP: 'WAULT_SWAP',
193363
196796
  WOO_FI: 'WOO_FI',
193364
196797
  WRAPPED: 'WRAPPED',
196798
+ WYND: 'WYND',
193365
196799
  YUZU_SWAP: 'YUZU_SWAP',
193366
196800
  XY_DEX: 'XY_DEX',
193367
196801
  ZAPPY: 'ZAPPY',
@@ -214082,6 +217516,333 @@ exports.OpenOceanTrade = OpenOceanTrade;
214082
217516
  OpenOceanTrade.nativeAddress = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
214083
217517
 
214084
217518
 
217519
+ /***/ }),
217520
+
217521
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.ts":
217522
+ /*!***************************************************************************************************************!*\
217523
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-disabled-providers.ts ***!
217524
+ \***************************************************************************************************************/
217525
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
217526
+
217527
+ "use strict";
217528
+
217529
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
217530
+ exports.rangoOnChainDisabledProviders = void 0;
217531
+ 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");
217532
+ exports.rangoOnChainDisabledProviders = [
217533
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OSMOSIS_SWAP,
217534
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OOLONG_SWAP,
217535
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE['10K_SWAP'],
217536
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.FINKUJIRA,
217537
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SOLANA,
217538
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.JUPITER,
217539
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SOLAR_BEAM,
217540
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.WYND,
217541
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.SUN_SWAP,
217542
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.MDEX,
217543
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.BEAM_SWAP,
217544
+ on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.OKC_SWAP
217545
+ ];
217546
+
217547
+
217548
+ /***/ }),
217549
+
217550
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.ts":
217551
+ /*!********************************************************************************************************!*\
217552
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/models/rango-on-chain-trade-types.ts ***!
217553
+ \********************************************************************************************************/
217554
+ /***/ ((__unused_webpack_module, exports) => {
217555
+
217556
+ "use strict";
217557
+
217558
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
217559
+
217560
+
217561
+ /***/ }),
217562
+
217563
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.ts":
217564
+ /*!**********************************************************************************************!*\
217565
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-provider.ts ***!
217566
+ \**********************************************************************************************/
217567
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
217568
+
217569
+ "use strict";
217570
+
217571
+ var __importDefault = (this && this.__importDefault) || function (mod) {
217572
+ return (mod && mod.__esModule) ? mod : { "default": mod };
217573
+ };
217574
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
217575
+ exports.RangoOnChainProvider = void 0;
217576
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
217577
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
217578
+ const tokens_1 = __webpack_require__(/*! ../../../../../common/tokens */ "./src/common/tokens/index.ts");
217579
+ const rango_supported_blockchains_1 = __webpack_require__(/*! ../../../../common/providers/rango/models/rango-supported-blockchains */ "./src/features/common/providers/rango/models/rango-supported-blockchains.ts");
217580
+ const rango_parser_1 = __webpack_require__(/*! ../../../../common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts");
217581
+ const get_from_without_fee_1 = __webpack_require__(/*! ../../../../common/utils/get-from-without-fee */ "./src/features/common/utils/get-from-without-fee.ts");
217582
+ 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");
217583
+ 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");
217584
+ 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");
217585
+ 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");
217586
+ 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");
217587
+ 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");
217588
+ 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");
217589
+ class RangoOnChainProvider {
217590
+ constructor() {
217591
+ this.onChainProxyService = new on_chain_proxy_service_1.OnChainProxyService();
217592
+ }
217593
+ isSupportedBlockchain(blockchainName) {
217594
+ return rango_supported_blockchains_1.rangoSupportedBlockchains.some(chain => chain === blockchainName);
217595
+ }
217596
+ async calculate(from, toToken, options) {
217597
+ if (!this.isSupportedBlockchain(from.blockchain)) {
217598
+ throw new errors_1.RubicSdkError(`Rango doesn't support ${from.blockchain} chain!`);
217599
+ }
217600
+ try {
217601
+ const { fromWithoutFee, proxyFeeInfo } = await this.handleProxyContract(from, options);
217602
+ const path = this.getRoutePath(from, toToken);
217603
+ const swapParams = await rango_parser_1.RangoCommonParser.getSwapQueryParams(fromWithoutFee, toToken, {
217604
+ ...options,
217605
+ swapperGroups: rango_on_chain_disabled_providers_1.rangoOnChainDisabledProviders
217606
+ });
217607
+ const { route, tx } = await rango_on_chain_api_service_1.RangoOnChainApiService.getSwapTransaction(swapParams);
217608
+ const { outputAmountMin, outputAmount } = route;
217609
+ const { approveTo: providerGateway } = tx;
217610
+ const to = new tokens_1.PriceTokenAmount({
217611
+ ...toToken.asStruct,
217612
+ weiAmount: new bignumber_js_1.default(outputAmount)
217613
+ });
217614
+ const toTokenWeiAmountMin = new bignumber_js_1.default(outputAmountMin);
217615
+ const tradeStruct = {
217616
+ from,
217617
+ to,
217618
+ fromWithoutFee,
217619
+ proxyFeeInfo,
217620
+ toTokenWeiAmountMin,
217621
+ gasFeeInfo: {
217622
+ gasLimit: undefined
217623
+ },
217624
+ slippageTolerance: options.slippageTolerance,
217625
+ useProxy: options.useProxy,
217626
+ withDeflation: options.withDeflation,
217627
+ path
217628
+ };
217629
+ const gasFeeInfo = options.gasCalculation === 'calculate'
217630
+ ? await this.getGasFeeInfo(tradeStruct, providerGateway)
217631
+ : null;
217632
+ return new rango_on_chain_trade_1.RangoOnChainTrade({
217633
+ ...tradeStruct,
217634
+ gasFeeInfo
217635
+ }, options.providerAddress, providerGateway);
217636
+ }
217637
+ catch (err) {
217638
+ return {
217639
+ type: on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO,
217640
+ error: err
217641
+ };
217642
+ }
217643
+ }
217644
+ async handleProxyContract(from, fullOptions) {
217645
+ let fromWithoutFee;
217646
+ let proxyFeeInfo;
217647
+ if (fullOptions.useProxy) {
217648
+ proxyFeeInfo = await this.onChainProxyService.getFeeInfo(from, fullOptions.providerAddress);
217649
+ fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(from, proxyFeeInfo.platformFee.percent);
217650
+ }
217651
+ else {
217652
+ fromWithoutFee = from;
217653
+ }
217654
+ return {
217655
+ fromWithoutFee,
217656
+ proxyFeeInfo
217657
+ };
217658
+ }
217659
+ async getGasFeeInfo(tradeStruct, providerGateway) {
217660
+ try {
217661
+ const gasPriceInfo = await (0, get_gas_price_info_1.getGasPriceInfo)(tradeStruct.from.blockchain);
217662
+ const gasLimit = await rango_on_chain_trade_1.RangoOnChainTrade.getGasLimit(tradeStruct, providerGateway);
217663
+ return (0, get_gas_fee_info_1.getGasFeeInfo)(gasLimit, gasPriceInfo);
217664
+ }
217665
+ catch {
217666
+ return null;
217667
+ }
217668
+ }
217669
+ getRoutePath(from, to) {
217670
+ return [from, to];
217671
+ }
217672
+ }
217673
+ exports.RangoOnChainProvider = RangoOnChainProvider;
217674
+
217675
+
217676
+ /***/ }),
217677
+
217678
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.ts":
217679
+ /*!*******************************************************************************************!*\
217680
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/rango-on-chain-trade.ts ***!
217681
+ \*******************************************************************************************/
217682
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
217683
+
217684
+ "use strict";
217685
+
217686
+ var __importDefault = (this && this.__importDefault) || function (mod) {
217687
+ return (mod && mod.__esModule) ? mod : { "default": mod };
217688
+ };
217689
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
217690
+ exports.RangoOnChainTrade = void 0;
217691
+ const bignumber_js_1 = __importDefault(__webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"));
217692
+ const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
217693
+ const tokens_1 = __webpack_require__(/*! ../../../../../common/tokens */ "./src/common/tokens/index.ts");
217694
+ const errors_2 = __webpack_require__(/*! ../../../../../common/utils/errors */ "./src/common/utils/errors.ts");
217695
+ 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");
217696
+ const injector_1 = __webpack_require__(/*! ../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
217697
+ const rango_parser_1 = __webpack_require__(/*! ../../../../common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts");
217698
+ 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");
217699
+ 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");
217700
+ 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");
217701
+ 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");
217702
+ class RangoOnChainTrade extends evm_on_chain_trade_1.EvmOnChainTrade {
217703
+ /* @internal */
217704
+ static async getGasLimit(tradeStruct, providerGateway) {
217705
+ const fromBlockchain = tradeStruct.from.blockchain;
217706
+ const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
217707
+ if (!walletAddress) {
217708
+ return null;
217709
+ }
217710
+ const rangoTrade = new RangoOnChainTrade(tradeStruct, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, providerGateway);
217711
+ try {
217712
+ const transactionConfig = await rangoTrade.encode({ fromAddress: walletAddress });
217713
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
217714
+ const gasLimit = (await web3Public.batchEstimatedGas(walletAddress, [transactionConfig]))[0];
217715
+ if (gasLimit?.isFinite()) {
217716
+ return gasLimit;
217717
+ }
217718
+ }
217719
+ catch { }
217720
+ try {
217721
+ const transactionData = await rangoTrade.getTransactionData();
217722
+ if (transactionData.gas) {
217723
+ return new bignumber_js_1.default(transactionData.gas);
217724
+ }
217725
+ }
217726
+ catch { }
217727
+ return null;
217728
+ }
217729
+ get toTokenAmountMin() {
217730
+ return this._toTokenAmountMin;
217731
+ }
217732
+ get spenderAddress() {
217733
+ return this.useProxy
217734
+ ? rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].gateway
217735
+ : this.providerGateway;
217736
+ }
217737
+ get dexContractAddress() {
217738
+ throw new errors_1.RubicSdkError('Dex address is unknown before swap is started');
217739
+ }
217740
+ constructor(tradeStruct, providerAddress, providerGateway) {
217741
+ super(tradeStruct, providerAddress);
217742
+ this.type = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.RANGO;
217743
+ this._toTokenAmountMin = new tokens_1.PriceTokenAmount({
217744
+ ...this.to.asStruct,
217745
+ weiAmount: tradeStruct.toTokenWeiAmountMin
217746
+ });
217747
+ this.providerGateway = providerGateway;
217748
+ }
217749
+ async encodeDirect(options) {
217750
+ await this.checkFromAddress(options.fromAddress, true);
217751
+ await this.checkReceiverAddress(options.receiverAddress);
217752
+ try {
217753
+ const transactionData = await this.getTransactionData(this.walletAddress, options.receiverAddress);
217754
+ const { gas, gasPrice } = this.getGasParams(options, {
217755
+ gasLimit: transactionData.gas,
217756
+ gasPrice: transactionData.gasPrice
217757
+ });
217758
+ return {
217759
+ to: transactionData.to,
217760
+ data: transactionData.data,
217761
+ value: this.fromWithoutFee.isNative ? this.fromWithoutFee.stringWeiAmount : '0',
217762
+ gas,
217763
+ gasPrice
217764
+ };
217765
+ }
217766
+ catch (err) {
217767
+ if ([400, 500, 503].includes(err.code)) {
217768
+ throw new errors_1.SwapRequestError();
217769
+ }
217770
+ if (this.isDeflationError()) {
217771
+ throw new errors_1.LowSlippageDeflationaryTokenError();
217772
+ }
217773
+ throw (0, errors_2.parseError)(err);
217774
+ }
217775
+ }
217776
+ async getTransactionData(fromAddress, receiverAddress) {
217777
+ const params = await rango_parser_1.RangoCommonParser.getSwapQueryParams(this.from, this.to, {
217778
+ slippageTolerance: this.slippageTolerance,
217779
+ fromAddress: fromAddress || this.walletAddress,
217780
+ receiverAddress: receiverAddress || fromAddress || this.walletAddress
217781
+ });
217782
+ const { tx } = await rango_on_chain_api_service_1.RangoOnChainApiService.getSwapTransaction(params);
217783
+ if (!tx) {
217784
+ throw new errors_1.RubicSdkError(`Transaction status is undefined!`);
217785
+ }
217786
+ const gasLimit = tx.gasLimit && parseInt(tx.gasLimit, 16).toString();
217787
+ const gasPrice = tx.gasPrice && parseInt(tx.gasPrice, 16).toString();
217788
+ return {
217789
+ data: tx.txData,
217790
+ to: tx.txTo,
217791
+ value: tx.value,
217792
+ gas: gasLimit,
217793
+ gasPrice: gasPrice
217794
+ };
217795
+ }
217796
+ }
217797
+ exports.RangoOnChainTrade = RangoOnChainTrade;
217798
+
217799
+
217800
+ /***/ }),
217801
+
217802
+ /***/ "./src/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.ts":
217803
+ /*!**********************************************************************************************************!*\
217804
+ !*** ./src/features/on-chain/calculation-manager/providers/rango/services/rango-on-chain-api-service.ts ***!
217805
+ \**********************************************************************************************************/
217806
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
217807
+
217808
+ "use strict";
217809
+
217810
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
217811
+ exports.RangoOnChainApiService = void 0;
217812
+ const errors_1 = __webpack_require__(/*! ../../../../../../common/errors */ "./src/common/errors/index.ts");
217813
+ const injector_1 = __webpack_require__(/*! ../../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
217814
+ const rango_api_common_1 = __webpack_require__(/*! ../../../../../common/providers/rango/constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts");
217815
+ class RangoOnChainApiService {
217816
+ static async getBestRoute(params) {
217817
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/quote`, {
217818
+ params: params
217819
+ });
217820
+ if (!res.route || res.error) {
217821
+ throw new errors_1.RubicSdkError(res.error ?? 'No available routes in rango.');
217822
+ }
217823
+ return res;
217824
+ }
217825
+ static async getSwapTransaction(params) {
217826
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/swap`, { params: params });
217827
+ if (!res.route || res.error) {
217828
+ throw new errors_1.RubicSdkError(res.error ?? 'No available routes in rango.');
217829
+ }
217830
+ return res;
217831
+ }
217832
+ /**
217833
+ * @description Get transaction status data
217834
+ */
217835
+ static async getTxStatus(params) {
217836
+ const res = await injector_1.Injector.httpClient.get(`${rango_api_common_1.RANGO_API_ENDPOINT}/status`, { params: params });
217837
+ if (res.error || !res.bridgeData || !res.status) {
217838
+ throw new errors_1.RubicSdkError("Can't get status, res has error or null data in getTxStatus method");
217839
+ }
217840
+ return res;
217841
+ }
217842
+ }
217843
+ exports.RangoOnChainApiService = RangoOnChainApiService;
217844
+
217845
+
214085
217846
  /***/ }),
214086
217847
 
214087
217848
  /***/ "./src/features/on-chain/calculation-manager/utils/type-guards.ts":
@@ -214347,6 +218108,19 @@ __exportStar(__webpack_require__(/*! ./features/common/providers/bridgers/models
214347
218108
  __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
218109
  __exportStar(__webpack_require__(/*! ./features/common/providers/changenow/constants/changenow-api-key */ "./src/features/common/providers/changenow/constants/changenow-api-key.ts"), exports);
214349
218110
  __exportStar(__webpack_require__(/*! ./features/common/providers/lifi/constants/lifi-config */ "./src/features/common/providers/lifi/constants/lifi-config.ts"), exports);
218111
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/constants/rango-api-common */ "./src/features/common/providers/rango/constants/rango-api-common.ts"), exports);
218112
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/constants/rango-contract-address */ "./src/features/common/providers/rango/constants/rango-contract-address.ts"), exports);
218113
+ __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);
218114
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-blockchain-names */ "./src/features/common/providers/rango/models/rango-api-blockchain-names.ts"), exports);
218115
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-common-types */ "./src/features/common/providers/rango/models/rango-api-common-types.ts"), exports);
218116
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-status-types */ "./src/features/common/providers/rango/models/rango-api-status-types.ts"), exports);
218117
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-swap-types */ "./src/features/common/providers/rango/models/rango-api-swap-types.ts"), exports);
218118
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-symbol-names */ "./src/features/common/providers/rango/models/rango-api-symbol-names.ts"), exports);
218119
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-api-trade-types */ "./src/features/common/providers/rango/models/rango-api-trade-types.ts"), exports);
218120
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-parser-types */ "./src/features/common/providers/rango/models/rango-parser-types.ts"), exports);
218121
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/models/rango-supported-blockchains */ "./src/features/common/providers/rango/models/rango-supported-blockchains.ts"), exports);
218122
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/services/rango-parser */ "./src/features/common/providers/rango/services/rango-parser.ts"), exports);
218123
+ __exportStar(__webpack_require__(/*! ./features/common/providers/rango/utils/rango-utils */ "./src/features/common/providers/rango/utils/rango-utils.ts"), exports);
214350
218124
  __exportStar(__webpack_require__(/*! ./features/common/providers/xy/constants/xy-api-params */ "./src/features/common/providers/xy/constants/xy-api-params.ts"), exports);
214351
218125
  __exportStar(__webpack_require__(/*! ./features/common/providers/xy/constants/xy-error-code */ "./src/features/common/providers/xy/constants/xy-error-code.ts"), exports);
214352
218126
  __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 +218229,25 @@ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/
214455
218229
  __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
218230
  __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
218231
  __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);
218232
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.ts"), exports);
218233
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.ts"), exports);
218234
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.ts"), exports);
218235
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.ts"), exports);
218236
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.ts"), exports);
218237
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.ts"), exports);
218238
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.ts"), exports);
218239
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.ts"), exports);
218240
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.ts"), exports);
218241
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.ts"), exports);
218242
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.ts"), exports);
218243
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.ts"), exports);
218244
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade */ "./src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.ts"), exports);
218245
+ __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);
218246
+ __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);
218247
+ __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);
218248
+ __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);
218249
+ __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);
218250
+ __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
218251
  __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
218252
  __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
218253
  __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);
@@ -214517,6 +218310,7 @@ __exportStar(__webpack_require__(/*! ./features/cross-chain/status-manager/model
214517
218310
  __exportStar(__webpack_require__(/*! ./features/cross-chain/status-manager/models/cross-chain-status */ "./src/features/cross-chain/status-manager/models/cross-chain-status.ts"), exports);
214518
218311
  __exportStar(__webpack_require__(/*! ./features/cross-chain/status-manager/models/cross-chain-trade-data */ "./src/features/cross-chain/status-manager/models/cross-chain-trade-data.ts"), exports);
214519
218312
  __exportStar(__webpack_require__(/*! ./features/cross-chain/status-manager/models/multichain-status-api-response */ "./src/features/cross-chain/status-manager/models/multichain-status-api-response.ts"), exports);
218313
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/status-manager/models/rubic-backend-ps-status */ "./src/features/cross-chain/status-manager/models/rubic-backend-ps-status.ts"), exports);
214520
218314
  __exportStar(__webpack_require__(/*! ./features/cross-chain/status-manager/models/scroll-api-response */ "./src/features/cross-chain/status-manager/models/scroll-api-response.ts"), exports);
214521
218315
  __exportStar(__webpack_require__(/*! ./features/cross-chain/status-manager/models/squidrouter-api-response */ "./src/features/cross-chain/status-manager/models/squidrouter-api-response.ts"), exports);
214522
218316
  __exportStar(__webpack_require__(/*! ./features/cross-chain/status-manager/models/squidrouter-transfer-status.enum */ "./src/features/cross-chain/status-manager/models/squidrouter-transfer-status.enum.ts"), exports);
@@ -215045,6 +218839,11 @@ __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/pro
215045
218839
  __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
218840
  __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
218841
  __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);
218842
+ __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);
218843
+ __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);
218844
+ __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);
218845
+ __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);
218846
+ __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
218847
  __exportStar(__webpack_require__(/*! ./features/on-chain/calculation-manager/utils/type-guards */ "./src/features/on-chain/calculation-manager/utils/type-guards.ts"), exports);
215049
218848
  __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
218849