rubic-sdk 5.46.0-alpha.gas.1 → 5.46.0-alpha.gas.2
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.
- package/lib/features/common/providers/router/models/router-quote-response-config.d.ts +6 -0
- package/lib/features/cross-chain/calculation-manager/providers/across-provider/across-cross-chain-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/across-provider/across-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/across-provider/across-cross-chain-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/across-provider/across-cross-chain-trade.js +0 -24
- package/lib/features/cross-chain/calculation-manager/providers/across-provider/across-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-trade.js +0 -16
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-provider.js +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.js +0 -4
- package/lib/features/cross-chain/calculation-manager/providers/archon-bridge/archon-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider-factory.d.ts +2 -4
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider-factory.js +0 -9
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider-factory.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider.js +2 -9
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/networks/evm-bridgers-cross-chain-trade.d.ts +1 -3
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/networks/evm-bridgers-cross-chain-trade.js +0 -23
- package/lib/features/cross-chain/calculation-manager/providers/bridgers-provider/networks/evm-bridgers-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-provider.js +2 -13
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.js +0 -22
- package/lib/features/cross-chain/calculation-manager/providers/cbridge/cbridge-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-provider.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-provider.js +16 -18
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js +0 -29
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-provider.d.ts +2 -0
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-provider.js +28 -0
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.d.ts +0 -3
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.js +0 -24
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/chains/debridge-evm-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.d.ts +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.js +1 -24
- package/lib/features/cross-chain/calculation-manager/providers/debridge-provider/debridge-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js +1 -12
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.d.ts +1 -3
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js +0 -21
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-provider.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-provider.js +10 -13
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.d.ts +5 -10
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.js +6 -49
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/utils/estimate-fee.d.ts +3 -0
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/utils/estimate-fee.js +29 -0
- package/lib/features/cross-chain/calculation-manager/providers/layerzero-bridge/utils/estimate-fee.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/chains/lifi-evm-cross-chain-trade.d.ts +0 -3
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/chains/lifi-evm-cross-chain-trade.js +0 -21
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/chains/lifi-evm-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-provider.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-provider.js +32 -15
- package/lib/features/cross-chain/calculation-manager/providers/lifi-provider/lifi-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-factory.d.ts +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-factory.js +0 -9
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-factory.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-provider.js +1 -9
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/meson-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/networks/meson-cross-chain-evm-trade.d.ts +1 -3
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/networks/meson-cross-chain-evm-trade.js +0 -24
- package/lib/features/cross-chain/calculation-manager/providers/meson-provider/networks/meson-cross-chain-evm-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/networks/orbiter-evm-bridge-trade.d.ts +1 -3
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/networks/orbiter-evm-bridge-trade.js +0 -23
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/networks/orbiter-evm-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-factory.d.ts +2 -4
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-factory.js +0 -9
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-factory.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-provider.js +4 -9
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/orbiter-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/services/orbiter-utils.d.ts +1 -3
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/services/orbiter-utils.js +0 -10
- package/lib/features/cross-chain/calculation-manager/providers/orbiter-bridge/services/orbiter-utils.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-provider.js +2 -12
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-trade.d.ts +1 -3
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-trade.js +0 -19
- package/lib/features/cross-chain/calculation-manager/providers/owl-to-bridge/owl-to-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js +0 -22
- package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/model/rango-cross-chain-parser-types.d.ts +0 -13
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js +20 -16
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.d.ts +1 -3
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js +0 -26
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/rango-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/retro-bridge/chains/retro-bridge-evm-trade.d.ts +0 -3
- package/lib/features/cross-chain/calculation-manager/providers/retro-bridge/chains/retro-bridge-evm-trade.js +0 -16
- package/lib/features/cross-chain/calculation-manager/providers/retro-bridge/chains/retro-bridge-evm-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/retro-bridge/retro-bridge-factory.d.ts +1 -6
- package/lib/features/cross-chain/calculation-manager/providers/retro-bridge/retro-bridge-factory.js +0 -11
- package/lib/features/cross-chain/calculation-manager/providers/retro-bridge/retro-bridge-factory.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/retro-bridge/retro-bridge-provider.js +4 -3
- package/lib/features/cross-chain/calculation-manager/providers/retro-bridge/retro-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.d.ts +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.js +0 -13
- package/lib/features/cross-chain/calculation-manager/providers/router-provider/router-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-trade.js +0 -10
- package/lib/features/cross-chain/calculation-manager/providers/scroll-bridge/scroll-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/squidrouter-provider/squidrouter-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js +0 -21
- package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.d.ts +0 -1
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js +0 -20
- package/lib/features/cross-chain/calculation-manager/providers/stargate-v2-provider/stargate-v2-cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/chain-trades/symbiosis-ccr-evm-trade.d.ts +0 -3
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/chain-trades/symbiosis-ccr-evm-trade.js +0 -24
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/chain-trades/symbiosis-ccr-evm-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/chain-trades/symbiosis-ccr-ton-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/chain-trades/symbiosis-ccr-ton-trade.js +1 -5
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/chain-trades/symbiosis-ccr-ton-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-factory.d.ts +1 -6
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-factory.js +0 -11
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-factory.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-provider.js +1 -4
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-trade.js +0 -10
- package/lib/features/cross-chain/calculation-manager/providers/taiko-bridge/taiko-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/unizen-provider/unizen-ccr-provider.js +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/unizen-provider/unizen-ccr-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js +2 -5
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.js +0 -22
- package/lib/features/cross-chain/calculation-manager/providers/xy-provider/xy-cross-chain-trade.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.d.ts +0 -4
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.js +0 -43
- package/lib/features/cross-chain/calculation-manager/providers/rango-provider/services/rango-cross-chain-params-parser.js.map +0 -1
package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js
CHANGED
@@ -46,22 +46,11 @@ class EddyBridgeProvider extends cross_chain_provider_1.CrossChainProvider {
|
|
46
46
|
...toToken.asStruct,
|
47
47
|
weiAmount: new bignumber_js_1.default(outputAmount)
|
48
48
|
});
|
49
|
-
const gasData = options.gasCalculation === 'enabled'
|
50
|
-
? await eddy_bridge_trade_1.EddyBridgeTrade.getGasData({
|
51
|
-
feeInfo,
|
52
|
-
from: fromWithoutFee,
|
53
|
-
toToken: to,
|
54
|
-
providerAddress: options.providerAddress,
|
55
|
-
slippage: options.slippageTolerance,
|
56
|
-
routingDirection,
|
57
|
-
quoteOptions: options
|
58
|
-
})
|
59
|
-
: null;
|
60
49
|
const trade = new eddy_bridge_trade_1.EddyBridgeTrade({
|
61
50
|
crossChainTrade: {
|
62
51
|
feeInfo,
|
63
52
|
from: fromWithoutFee,
|
64
|
-
gasData,
|
53
|
+
gasData: await this.getGasData(from),
|
65
54
|
to,
|
66
55
|
priceImpact: from.calculatePriceImpactPercent(to),
|
67
56
|
slippage: eddySlippage + options.slippageTolerance,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eddy-bridge-provider.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,8CAA4F;AAC5F,8CAAiE;AACjE,gFAAgG;AAChG,2FAAwF;AACxF,qHAA+G;AAC/G,yFAAmF;AACnF,8HAA0H;AAG1H,gFAA6E;AAC7E,yEAAoE;AAIpE,oHAA6G;AAC7G,2FAGkD;AAClD,yDAA6D;AAC7D,2DAAsD;AACtD,gFAA0E;AAC1E,0FAAoF;AACpF,2FAA8E;AAE9E,MAAa,kBAAmB,SAAQ,yCAAkB;IAA1D;;QACoB,SAAI,GAAG,+CAAsB,CAAC,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"eddy-bridge-provider.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.ts"],"names":[],"mappings":"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"}
|
package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.d.ts
CHANGED
@@ -13,10 +13,8 @@ import { FeeInfo } from '../common/models/fee-info';
|
|
13
13
|
import { GetContractParamsOptions } from '../common/models/get-contract-params-options';
|
14
14
|
import { OnChainSubtype } from '../common/models/on-chain-subtype';
|
15
15
|
import { TradeInfo } from '../common/models/trade-info';
|
16
|
-
import {
|
16
|
+
import { EddyBridgeTradeConstructorParams } from './models/eddy-trade-types';
|
17
17
|
export declare class EddyBridgeTrade extends EvmCrossChainTrade {
|
18
|
-
/** @internal */
|
19
|
-
static getGasData({ feeInfo, from, providerAddress, toToken, slippage, routingDirection, quoteOptions }: EddyBridgeGetGasDataParams): Promise<GasData | null>;
|
20
18
|
/**ABSTRACT PROPS */
|
21
19
|
readonly type: CrossChainTradeType;
|
22
20
|
readonly isAggregator: boolean;
|
package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js
CHANGED
@@ -12,7 +12,6 @@ const fake_wallet_address_1 = require("../../../../common/constants/fake-wallet-
|
|
12
12
|
const calculate_rates_1 = require("./utils/calculate-rates");
|
13
13
|
const eddy_swap_controller_factory_1 = require("./utils/eddy-swap-controller-factory");
|
14
14
|
const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
|
15
|
-
const get_cross_chain_gas_data_1 = require("../../utils/get-cross-chain-gas-data");
|
16
15
|
const rubic_proxy_contract_address_1 = require("../common/constants/rubic-proxy-contract-address");
|
17
16
|
const evm_common_cross_chain_abi_1 = require("../common/evm-cross-chain-trade/constants/evm-common-cross-chain-abi");
|
18
17
|
const gateway_rubic_cross_chain_abi_1 = require("../common/evm-cross-chain-trade/constants/gateway-rubic-cross-chain-abi");
|
@@ -22,26 +21,6 @@ const proxy_cross_chain_evm_trade_1 = require("../common/proxy-cross-chain-evm-f
|
|
22
21
|
const eddy_bridge_contract_addresses_1 = require("./constants/eddy-bridge-contract-addresses");
|
23
22
|
const eddy_bridge_routing_directions_1 = require("./utils/eddy-bridge-routing-directions");
|
24
23
|
class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
25
|
-
/** @internal */
|
26
|
-
static async getGasData({ feeInfo, from, providerAddress, toToken, slippage, routingDirection, quoteOptions }) {
|
27
|
-
const trade = new EddyBridgeTrade({
|
28
|
-
crossChainTrade: {
|
29
|
-
from,
|
30
|
-
to: toToken,
|
31
|
-
gasData: null,
|
32
|
-
priceImpact: 0,
|
33
|
-
feeInfo,
|
34
|
-
slippage,
|
35
|
-
routingDirection,
|
36
|
-
// ratioToAmount: 1,
|
37
|
-
quoteOptions
|
38
|
-
},
|
39
|
-
providerAddress: providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS,
|
40
|
-
routePath: [],
|
41
|
-
useProxy: false
|
42
|
-
});
|
43
|
-
return (0, get_cross_chain_gas_data_1.getCrossChainGasData)(trade);
|
44
|
-
}
|
45
24
|
get fromBlockchain() {
|
46
25
|
return this.from.blockchain;
|
47
26
|
}
|
package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eddy-bridge-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,8CAA4D;AAI5D,6GAAwG;AAExG,uEAAmE;AACnE,2FAAwF;AAExF,8HAA0H;AAC1H,wJAAkJ;AAIlJ,gFAAkG;AAClG,
|
1
|
+
{"version":3,"file":"eddy-bridge-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.ts"],"names":[],"mappings":"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"}
|
@@ -10,6 +10,7 @@ import { LayerZeroBridgeSupportedBlockchain } from './models/layerzero-bridge-su
|
|
10
10
|
export declare class LayerZeroBridgeProvider extends CrossChainProvider {
|
11
11
|
readonly type: "layerzero";
|
12
12
|
isSupportedBlockchain(blockchain: BlockchainName): blockchain is LayerZeroBridgeSupportedBlockchain;
|
13
|
+
private assertSupportedToken;
|
13
14
|
calculate(fromToken: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredCrossChainOptions): Promise<CalculationResult>;
|
14
15
|
protected getFeeInfo(_fromBlockchain: CbridgeCrossChainSupportedBlockchain, _providerAddress: string, _percentFeeToken: PriceTokenAmount, _useProxy: boolean): Promise<FeeInfo>;
|
15
16
|
protected getRoutePath(fromToken: PriceTokenAmount<EvmBlockchainName>, toToken: PriceTokenAmount<EvmBlockchainName>): Promise<RubicStep[]>;
|
@@ -7,6 +7,7 @@ const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
|
|
7
7
|
const cross_chain_provider_1 = require("../common/cross-chain-provider");
|
8
8
|
const layerzero_bridge_trade_1 = require("./layerzero-bridge-trade");
|
9
9
|
const layerzero_bridge_supported_blockchains_1 = require("./models/layerzero-bridge-supported-blockchains");
|
10
|
+
const estimate_fee_1 = require("./utils/estimate-fee");
|
10
11
|
class LayerZeroBridgeProvider extends cross_chain_provider_1.CrossChainProvider {
|
11
12
|
constructor() {
|
12
13
|
super(...arguments);
|
@@ -15,30 +16,26 @@ class LayerZeroBridgeProvider extends cross_chain_provider_1.CrossChainProvider
|
|
15
16
|
isSupportedBlockchain(blockchain) {
|
16
17
|
return layerzero_bridge_supported_blockchains_1.layerZeroBridgeSupportedBlockchains.some(supportedBlockchain => supportedBlockchain === blockchain);
|
17
18
|
}
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
if (!this.areSupportedBlockchains(fromBlockchain, toBlockchain)) {
|
22
|
-
return {
|
23
|
-
trade: null,
|
24
|
-
error: new errors_1.NotSupportedTokensError(),
|
25
|
-
tradeType: this.type
|
26
|
-
};
|
19
|
+
assertSupportedToken(token) {
|
20
|
+
if (!this.isSupportedBlockchain(token.blockchain)) {
|
21
|
+
throw new errors_1.NotSupportedTokensError();
|
27
22
|
}
|
23
|
+
}
|
24
|
+
async calculate(fromToken, toToken, options) {
|
28
25
|
try {
|
26
|
+
this.assertSupportedToken(fromToken);
|
27
|
+
this.assertSupportedToken(toToken);
|
29
28
|
const useProxy = options?.useProxy?.[this.type] ?? true;
|
30
29
|
const to = new tokens_1.PriceTokenAmount({
|
31
30
|
...toToken.asStruct,
|
32
31
|
tokenAmount: fromToken.tokenAmount
|
33
32
|
});
|
34
|
-
const
|
35
|
-
? await layerzero_bridge_trade_1.LayerZeroBridgeTrade.getGasData(fromToken, to, options)
|
36
|
-
: null;
|
33
|
+
const gasLimit = await (0, estimate_fee_1.estimateSendFeeLZ)(fromToken, to, options.receiverAddress).catch(() => null);
|
37
34
|
return {
|
38
35
|
trade: new layerzero_bridge_trade_1.LayerZeroBridgeTrade({
|
39
36
|
from: fromToken,
|
40
37
|
to,
|
41
|
-
gasData
|
38
|
+
gasData: await this.getGasData(fromToken, gasLimit)
|
42
39
|
}, options.providerAddress, await this.getRoutePath(fromToken, to), useProxy),
|
43
40
|
tradeType: this.type
|
44
41
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"layerzero-bridge-provider.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-provider.ts"],"names":[],"mappings":";;;AAAA,8CAA4D;AAC5D,8CAAiE;AAGjE,uHAAoH;AAEpH,6HAAwH;AAKxH,qEAAgE;AAChE,4GAGyD;AAEzD,MAAa,uBAAwB,SAAQ,yCAAkB;IAA/D;;QACoB,SAAI,GAAG,+CAAsB,CAAC,SAAS,CAAC;
|
1
|
+
{"version":3,"file":"layerzero-bridge-provider.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-provider.ts"],"names":[],"mappings":";;;AAAA,8CAA4D;AAC5D,8CAAiE;AAGjE,uHAAoH;AAEpH,6HAAwH;AAKxH,qEAAgE;AAChE,4GAGyD;AACzD,uDAAyD;AAEzD,MAAa,uBAAwB,SAAQ,yCAAkB;IAA/D;;QACoB,SAAI,GAAG,+CAAsB,CAAC,SAAS,CAAC;IA2E5D,CAAC;IAzEU,qBAAqB,CACxB,UAA0B;QAE1B,OAAO,4EAAmC,CAAC,IAAI,CAC3C,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,KAAK,UAAU,CAC5D,CAAC;IACN,CAAC;IAEO,oBAAoB,CACxB,KAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,gCAAuB,EAAE,CAAC;QACxC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAClB,SAA8C,EAC9C,OAAsC,EACtC,OAAkC;QAElC,IAAI,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAEnC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YACxD,MAAM,EAAE,GAAG,IAAI,yBAAgB,CAAC;gBAC5B,GAAG,OAAO,CAAC,QAAQ;gBACnB,WAAW,EAAE,SAAS,CAAC,WAAW;aACrC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAiB,EAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAClF,GAAG,EAAE,CAAC,IAAI,CACb,CAAC;YAEF,OAAO;gBACH,KAAK,EAAE,IAAI,6CAAoB,CAC3B;oBACI,IAAI,EAAE,SAAS;oBACf,EAAE;oBACF,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;iBACtD,EACD,OAAO,CAAC,eAAe,EACvB,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,EACtC,QAAQ,CACX;gBACD,SAAS,EAAE,IAAI,CAAC,IAAI;aACvB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,aAAa,GAAG,yCAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEzD,OAAO;gBACH,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,aAAa;gBACpB,SAAS,EAAE,IAAI,CAAC,IAAI;aACvB,CAAC;QACN,CAAC;IACL,CAAC;IAES,KAAK,CAAC,UAAU,CACtB,eAAqD,EACrD,gBAAwB,EACxB,gBAAkC,EAClC,SAAkB;QAElB,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,YAAY,CACxB,SAA8C,EAC9C,OAA4C;QAE5C,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;CACJ;AA5ED,0DA4EC"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
2
2
|
import { PriceTokenAmount } from '../../../../../common/tokens';
|
3
|
-
import { EvmBlockchainName } from '../../../../../core/blockchain/models/blockchain-name';
|
4
3
|
import { EvmEncodeConfig } from '../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config';
|
5
4
|
import { ContractParams } from '../../../../common/models/contract-params';
|
6
5
|
import { SwapTransactionOptions } from '../../../../common/models/swap-transaction-options';
|
@@ -9,9 +8,8 @@ import { GasData } from '../common/evm-cross-chain-trade/models/gas-data';
|
|
9
8
|
import { FeeInfo } from '../common/models/fee-info';
|
10
9
|
import { RubicStep } from '../common/models/rubicStep';
|
11
10
|
import { TradeInfo } from '../common/models/trade-info';
|
11
|
+
import { LayerZeroBridgeSupportedBlockchain } from './models/layerzero-bridge-supported-blockchains';
|
12
12
|
export declare class LayerZeroBridgeTrade extends EvmCrossChainTrade {
|
13
|
-
/** @internal */
|
14
|
-
static getGasData(from: PriceTokenAmount<EvmBlockchainName>, to: PriceTokenAmount<EvmBlockchainName>, options: SwapTransactionOptions): Promise<GasData | null>;
|
15
13
|
readonly onChainSubtype: {
|
16
14
|
from: undefined;
|
17
15
|
to: undefined;
|
@@ -19,19 +17,17 @@ export declare class LayerZeroBridgeTrade extends EvmCrossChainTrade {
|
|
19
17
|
readonly type: "layerzero";
|
20
18
|
readonly isAggregator = false;
|
21
19
|
readonly bridgeType: "layerzero";
|
22
|
-
readonly from: PriceTokenAmount<
|
23
|
-
readonly to: PriceTokenAmount<
|
20
|
+
readonly from: PriceTokenAmount<LayerZeroBridgeSupportedBlockchain>;
|
21
|
+
readonly to: PriceTokenAmount<LayerZeroBridgeSupportedBlockchain>;
|
24
22
|
readonly toTokenAmountMin: BigNumber;
|
25
23
|
readonly gasData: GasData | null;
|
26
|
-
private get fromBlockchain();
|
27
|
-
private get toBlockchain();
|
28
24
|
protected get fromContractAddress(): string;
|
29
25
|
readonly feeInfo: FeeInfo;
|
30
26
|
readonly onChainTrade: null;
|
31
27
|
protected get methodName(): string;
|
32
28
|
constructor(crossChainTrade: {
|
33
|
-
from: PriceTokenAmount<
|
34
|
-
to: PriceTokenAmount<
|
29
|
+
from: PriceTokenAmount<LayerZeroBridgeSupportedBlockchain>;
|
30
|
+
to: PriceTokenAmount<LayerZeroBridgeSupportedBlockchain>;
|
35
31
|
gasData: GasData | null;
|
36
32
|
}, providerAddress: string, routePath: RubicStep[], useProxy: boolean);
|
37
33
|
protected swapDirect(options?: SwapTransactionOptions): Promise<string | never>;
|
@@ -40,7 +36,6 @@ export declare class LayerZeroBridgeTrade extends EvmCrossChainTrade {
|
|
40
36
|
config: EvmEncodeConfig;
|
41
37
|
amount: string;
|
42
38
|
}>;
|
43
|
-
private estimateSendFee;
|
44
39
|
getTradeAmountRatio(fromUsd: BigNumber): BigNumber;
|
45
40
|
getTradeInfo(): TradeInfo;
|
46
41
|
}
|
@@ -1,42 +1,19 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
3
|
exports.LayerZeroBridgeTrade = void 0;
|
7
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
|
-
const utils_1 = require("ethers/lib/utils");
|
9
4
|
const blockchain_name_1 = require("../../../../../core/blockchain/models/blockchain-name");
|
10
5
|
const evm_web3_pure_1 = require("../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure");
|
11
6
|
const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
|
12
7
|
const evm_cross_chain_trade_1 = require("../common/evm-cross-chain-trade/evm-cross-chain-trade");
|
13
8
|
const bridge_type_1 = require("../common/models/bridge-type");
|
14
|
-
const get_cross_chain_gas_data_1 = require("../../utils/get-cross-chain-gas-data");
|
15
9
|
const algb_token_addresses_1 = require("./constants/algb-token-addresses");
|
16
10
|
const layerzero_bridge_address_1 = require("./constants/layerzero-bridge-address");
|
17
11
|
const layzerzero_chain_ids_1 = require("./constants/layzerzero-chain-ids");
|
18
12
|
const layerzero_oft_abi_1 = require("./models/layerzero-oft-abi");
|
13
|
+
const estimate_fee_1 = require("./utils/estimate-fee");
|
19
14
|
class LayerZeroBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
20
|
-
/** @internal */
|
21
|
-
static async getGasData(from, to, options) {
|
22
|
-
const trade = new LayerZeroBridgeTrade({
|
23
|
-
from,
|
24
|
-
to,
|
25
|
-
gasData: {
|
26
|
-
gasLimit: new bignumber_js_1.default(0),
|
27
|
-
gasPrice: new bignumber_js_1.default(0)
|
28
|
-
}
|
29
|
-
}, evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, [], false);
|
30
|
-
return (0, get_cross_chain_gas_data_1.getCrossChainGasData)(trade, options?.receiverAddress);
|
31
|
-
}
|
32
|
-
get fromBlockchain() {
|
33
|
-
return this.from.blockchain;
|
34
|
-
}
|
35
|
-
get toBlockchain() {
|
36
|
-
return this.to.blockchain;
|
37
|
-
}
|
38
15
|
get fromContractAddress() {
|
39
|
-
return layerzero_bridge_address_1.layerZeroProxyOFT[this.
|
16
|
+
return layerzero_bridge_address_1.layerZeroProxyOFT[this.from.blockchain];
|
40
17
|
}
|
41
18
|
get methodName() {
|
42
19
|
return 'sendFrom';
|
@@ -82,10 +59,10 @@ class LayerZeroBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
|
82
59
|
}
|
83
60
|
async getContractParams(options) {
|
84
61
|
const account = this.web3Private.address;
|
85
|
-
const fee = await this.
|
62
|
+
const fee = await (0, estimate_fee_1.estimateSendFeeLZ)(this.from, this.to, options.receiverAddress);
|
86
63
|
const methodArguments = [
|
87
64
|
account,
|
88
|
-
layzerzero_chain_ids_1.layerZeroChainIds[this.
|
65
|
+
layzerzero_chain_ids_1.layerZeroChainIds[this.to.blockchain],
|
89
66
|
options.receiverAddress || account,
|
90
67
|
this.from.stringWeiAmount,
|
91
68
|
options.receiverAddress || account,
|
@@ -93,9 +70,9 @@ class LayerZeroBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
|
93
70
|
'0x'
|
94
71
|
];
|
95
72
|
return {
|
96
|
-
contractAddress: this.
|
73
|
+
contractAddress: this.from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.POLYGON
|
97
74
|
? layerzero_bridge_address_1.layerZeroProxyOFT[blockchain_name_1.BLOCKCHAIN_NAME.POLYGON]
|
98
|
-
: algb_token_addresses_1.ALGB_TOKEN[this.
|
75
|
+
: algb_token_addresses_1.ALGB_TOKEN[this.from.blockchain],
|
99
76
|
contractAbi: layerzero_oft_abi_1.layerZeroOFTABI,
|
100
77
|
methodName: this.methodName,
|
101
78
|
methodArguments,
|
@@ -107,26 +84,6 @@ class LayerZeroBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
|
107
84
|
const config = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(params.contractAddress, params.contractAbi, params.methodName, params.methodArguments, params.value);
|
108
85
|
return { config, amount: this.to.stringWeiAmount };
|
109
86
|
}
|
110
|
-
async estimateSendFee(options) {
|
111
|
-
const adapterParams = (0, utils_1.solidityPack)(['uint16', 'uint256'], [1, this.toBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM ? 2000000 : 200000]);
|
112
|
-
const params = {
|
113
|
-
contractAddress: this.fromBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.POLYGON
|
114
|
-
? layerzero_bridge_address_1.layerZeroProxyOFT[blockchain_name_1.BLOCKCHAIN_NAME.POLYGON]
|
115
|
-
: algb_token_addresses_1.ALGB_TOKEN[this.fromBlockchain],
|
116
|
-
contractAbi: layerzero_oft_abi_1.layerZeroOFTABI,
|
117
|
-
methodName: 'estimateSendFee',
|
118
|
-
methodArguments: [
|
119
|
-
layzerzero_chain_ids_1.layerZeroChainIds[this.toBlockchain],
|
120
|
-
options.receiverAddress || this.web3Private.address,
|
121
|
-
this.from.stringWeiAmount,
|
122
|
-
false,
|
123
|
-
adapterParams
|
124
|
-
],
|
125
|
-
value: '0'
|
126
|
-
};
|
127
|
-
const gasFee = await this.fromWeb3Public.callContractMethod(params.contractAddress, params.contractAbi, params.methodName, params.methodArguments);
|
128
|
-
return gasFee[0];
|
129
|
-
}
|
130
87
|
getTradeAmountRatio(fromUsd) {
|
131
88
|
return fromUsd.dividedBy(this.to.tokenAmount);
|
132
89
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"layerzero-bridge-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"layerzero-bridge-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/layerzero-bridge/layerzero-bridge-trade.ts"],"names":[],"mappings":";;;AAEA,gFAA6E;AAC7E,6GAAwG;AAIxG,uHAAoH;AACpH,qJAA+I;AAE/I,kHAA+G;AAK/G,2EAA8D;AAC9D,mFAAyE;AACzE,2EAAqE;AAErE,kEAA6D;AAC7D,uDAAyD;AAEzD,MAAa,oBAAqB,SAAQ,0CAAkB;IAiBxD,IAAc,mBAAmB;QAC7B,OAAO,4CAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAMD,IAAc,UAAU;QACpB,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,YACI,eAIC,EACD,eAAuB,EACvB,SAAsB,EACtB,QAAiB;QAEjB,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAtChC,mBAAc,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;QAEpD,SAAI,GAAG,+CAAsB,CAAC,SAAS,CAAC;QAExC,iBAAY,GAAG,KAAK,CAAC;QAErB,eAAU,GAAG,yBAAW,CAAC,SAAS,CAAC;QAcnC,YAAO,GAAY,EAAE,CAAC;QAEtB,iBAAY,GAAG,IAAI,CAAC;QAkBhC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC;IAC3D,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,UAAkC,EAAE;QAC3D,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QAC/C,IAAI,eAAuB,CAAC;QAC5B,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YACvC,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC;QAEF,4CAA4C;QAC5C,IAAI,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACvD,KAAK,EACL,OAAO,EAAE,YAAY,IAAI,KAAK,EAC9B,OAAO,CAAC,eAAe,CAC1B,CAAC;YAEF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE;gBACrD,IAAI;gBACJ,KAAK;gBACL,eAAe;aAClB,CAAC,CAAC;YAEH,iBAAiB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YAEtC,OAAO,eAAgB,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,OAA+B;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAEzC,MAAM,GAAG,GAAG,MAAM,IAAA,gCAAiB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAEjF,MAAM,eAAe,GAAG;YACpB,OAAO;YACP,wCAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;YACrC,OAAO,CAAC,eAAe,IAAI,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,eAAe;YACzB,OAAO,CAAC,eAAe,IAAI,OAAO;YAClC,4CAA4C;YAC5C,IAAI;SACP,CAAC;QAEF,OAAO;YACH,eAAe,EACX,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,iCAAe,CAAC,OAAO;gBAC5C,CAAC,CAAC,4CAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC;gBAC5C,CAAC,CAAC,iCAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YAC1C,WAAW,EAAE,mCAAe;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe;YACf,KAAK,EAAE,GAAG,IAAI,IAAI;SACrB,CAAC;IACN,CAAC;IAES,KAAK,CAAC,6BAA6B,CACzC,eAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,2BAAW,CAAC,gBAAgB,CACvC,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,KAAK,CACf,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;IACvD,CAAC;IAEM,mBAAmB,CAAC,OAAkB;QACzC,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAEM,YAAY;QACf,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;CACJ;AAxID,oDAwIC"}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { PriceToken, PriceTokenAmount } from '../../../../../../common/tokens';
|
2
|
+
import { LayerZeroBridgeSupportedBlockchain } from '../models/layerzero-bridge-supported-blockchains';
|
3
|
+
export declare function estimateSendFeeLZ(from: PriceTokenAmount<LayerZeroBridgeSupportedBlockchain>, to: PriceToken<LayerZeroBridgeSupportedBlockchain>, receiverAddress?: string): Promise<string | undefined>;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.estimateSendFeeLZ = estimateSendFeeLZ;
|
4
|
+
const utils_1 = require("ethers/lib/utils");
|
5
|
+
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
6
|
+
const injector_1 = require("../../../../../../core/injector/injector");
|
7
|
+
const algb_token_addresses_1 = require("../constants/algb-token-addresses");
|
8
|
+
const layerzero_bridge_address_1 = require("../constants/layerzero-bridge-address");
|
9
|
+
const layzerzero_chain_ids_1 = require("../constants/layzerzero-chain-ids");
|
10
|
+
const layerzero_oft_abi_1 = require("../models/layerzero-oft-abi");
|
11
|
+
async function estimateSendFeeLZ(from, to, receiverAddress) {
|
12
|
+
const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(from.blockchain);
|
13
|
+
const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(from.blockchain).address;
|
14
|
+
const adapterParams = (0, utils_1.solidityPack)(['uint16', 'uint256'], [1, to.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM ? 2000000 : 200000]);
|
15
|
+
const contractAddress = from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.POLYGON
|
16
|
+
? layerzero_bridge_address_1.layerZeroProxyOFT[blockchain_name_1.BLOCKCHAIN_NAME.POLYGON]
|
17
|
+
: algb_token_addresses_1.ALGB_TOKEN[from.blockchain];
|
18
|
+
const methodArguments = [
|
19
|
+
layzerzero_chain_ids_1.layerZeroChainIds[to.blockchain],
|
20
|
+
receiverAddress || walletAddress,
|
21
|
+
from.stringWeiAmount,
|
22
|
+
false,
|
23
|
+
adapterParams
|
24
|
+
];
|
25
|
+
const gasFee = await web3Public.callContractMethod(contractAddress, layerzero_oft_abi_1.layerZeroOFTABI, 'estimateSendFee', methodArguments);
|
26
|
+
console.log('%cLZ_GAS', 'color: aqua; font-size: 24px;', gasFee);
|
27
|
+
return gasFee[0];
|
28
|
+
}
|
29
|
+
//# sourceMappingURL=estimate-fee.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"estimate-fee.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/layerzero-bridge/utils/estimate-fee.ts"],"names":[],"mappings":";;AAWA,8CAoCC;AA/CD,4CAAgD;AAEhD,gFAA6E;AAC7E,yDAAsD;AAEtD,4EAA+D;AAC/D,oFAA0E;AAC1E,4EAAsE;AAEtE,mEAA8D;AAEvD,KAAK,UAAU,iBAAiB,CACnC,IAA0D,EAC1D,EAAkD,EAClD,eAAwB;IAExB,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,0BAA0B,CACxE,IAAI,CAAC,UAAU,CAClB,CAAC,OAAO,CAAC;IACV,MAAM,aAAa,GAAG,IAAA,oBAAY,EAC9B,CAAC,QAAQ,EAAE,SAAS,CAAC,EACrB,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,iCAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAS,CAAC,CAAC,CAAC,MAAO,CAAC,CACxE,CAAC;IAEF,MAAM,eAAe,GACjB,IAAI,CAAC,UAAU,KAAK,iCAAe,CAAC,OAAO;QACvC,CAAC,CAAC,4CAAiB,CAAC,iCAAe,CAAC,OAAO,CAAC;QAC5C,CAAC,CAAC,iCAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG;QACpB,wCAAiB,CAAC,EAAE,CAAC,UAAU,CAAC;QAChC,eAAe,IAAI,aAAa;QAChC,IAAI,CAAC,eAAe;QACpB,KAAK;QACL,aAAa;KAChB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC9C,eAAe,EACf,mCAAe,EACf,iBAAiB,EACjB,eAAe,CAClB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAEjE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"}
|
@@ -13,13 +13,10 @@ import { OnChainSubtype } from '../../common/models/on-chain-subtype';
|
|
13
13
|
import { RubicStep } from '../../common/models/rubicStep';
|
14
14
|
import { TradeInfo } from '../../common/models/trade-info';
|
15
15
|
import { LifiEvmCrossChainTradeConstructor } from '../models/lifi-cross-chain-trade-constructor';
|
16
|
-
import { Route } from '../models/lifi-route';
|
17
16
|
/**
|
18
17
|
* Calculated Celer cross-chain trade.
|
19
18
|
*/
|
20
19
|
export declare class LifiEvmCrossChainTrade extends EvmCrossChainTrade {
|
21
|
-
/** @internal */
|
22
|
-
static getGasData(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceTokenAmount<EvmBlockchainName>, route: Route, feeInfo: FeeInfo, slippage: number, providerAddress: string, receiverAddress?: string): Promise<GasData | null>;
|
23
20
|
readonly type: "lifi";
|
24
21
|
readonly isAggregator = true;
|
25
22
|
readonly from: PriceTokenAmount<EvmBlockchainName>;
|
@@ -22,33 +22,12 @@ const rubic_proxy_contract_address_1 = require("../../common/constants/rubic-pro
|
|
22
22
|
const evm_common_cross_chain_abi_1 = require("../../common/evm-cross-chain-trade/constants/evm-common-cross-chain-abi");
|
23
23
|
const gateway_rubic_cross_chain_abi_1 = require("../../common/evm-cross-chain-trade/constants/gateway-rubic-cross-chain-abi");
|
24
24
|
const evm_cross_chain_trade_1 = require("../../common/evm-cross-chain-trade/evm-cross-chain-trade");
|
25
|
-
const bridge_type_1 = require("../../common/models/bridge-type");
|
26
25
|
const proxy_cross_chain_evm_trade_1 = require("../../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
|
27
|
-
const get_cross_chain_gas_data_1 = require("../../../utils/get-cross-chain-gas-data");
|
28
26
|
const lifi_api_service_1 = require("../services/lifi-api-service");
|
29
27
|
/**
|
30
28
|
* Calculated Celer cross-chain trade.
|
31
29
|
*/
|
32
30
|
class LifiEvmCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
33
|
-
/** @internal */
|
34
|
-
static async getGasData(from, toToken, route, feeInfo, slippage, providerAddress, receiverAddress) {
|
35
|
-
const trade = new LifiEvmCrossChainTrade({
|
36
|
-
from,
|
37
|
-
to: toToken,
|
38
|
-
route,
|
39
|
-
gasData: null,
|
40
|
-
toTokenAmountMin: new bignumber_js_1.default(0),
|
41
|
-
feeInfo,
|
42
|
-
priceImpact: from.calculatePriceImpactPercent(toToken) || 0,
|
43
|
-
onChainSubtype: {
|
44
|
-
from: undefined,
|
45
|
-
to: undefined
|
46
|
-
},
|
47
|
-
bridgeType: bridge_type_1.BRIDGE_TYPE.LIFI,
|
48
|
-
slippage
|
49
|
-
}, providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, [], false);
|
50
|
-
return (0, get_cross_chain_gas_data_1.getCrossChainGasData)(trade, receiverAddress);
|
51
|
-
}
|
52
31
|
get fromBlockchain() {
|
53
32
|
return this.from.blockchain;
|
54
33
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lifi-evm-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/lifi-provider/chains/lifi-evm-cross-chain-trade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAqC;AACrC,8CAAoE;AAEpE,4DAAoD;AAEpD,kGAA8F;AAC9F,6GAAwG;AAExG,uEAAmE;AAGnE,yFAAmF;AACnF,uHAAoH;AACpH,uJAAiJ;AACjJ,yKAAkK;AAClK,+KAAwK;AACxK,qJAA+I;
|
1
|
+
{"version":3,"file":"lifi-evm-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/lifi-provider/chains/lifi-evm-cross-chain-trade.ts"],"names":[],"mappings":"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"}
|
@@ -19,6 +19,6 @@ export declare class LifiCrossChainProvider extends CrossChainProvider {
|
|
19
19
|
private parseTradeTypes;
|
20
20
|
private mapDisabledProviders;
|
21
21
|
protected getRoutePath(from: PriceTokenAmount, to: PriceTokenAmount, route: Route): Promise<RubicStep[]>;
|
22
|
+
private getLifiGasData;
|
22
23
|
private getMinAmountUSD;
|
23
|
-
private getGasData;
|
24
24
|
}
|
@@ -9,9 +9,9 @@ const errors_1 = require("../../../../../common/errors");
|
|
9
9
|
const tokens_1 = require("../../../../../common/tokens");
|
10
10
|
const native_tokens_1 = require("../../../../../common/tokens/constants/native-tokens");
|
11
11
|
const blockchain_name_1 = require("../../../../../core/blockchain/models/blockchain-name");
|
12
|
-
const chain_type_1 = require("../../../../../core/blockchain/models/chain-type");
|
13
12
|
const blockchains_info_1 = require("../../../../../core/blockchain/utils/blockchains-info/blockchains-info");
|
14
13
|
const web3_pure_1 = require("../../../../../core/blockchain/web3-pure/web3-pure");
|
14
|
+
const injector_1 = require("../../../../../core/injector/injector");
|
15
15
|
const get_from_without_fee_1 = require("../../../../common/utils/get-from-without-fee");
|
16
16
|
const get_solana_fee_1 = require("../../../../common/utils/get-solana-fee");
|
17
17
|
const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
|
@@ -23,7 +23,6 @@ const lifi_bridge_types_1 = require("./models/lifi-bridge-types");
|
|
23
23
|
const lifi_providers_1 = require("../../../../on-chain/calculation-manager/providers/aggregators/lifi/constants/lifi-providers");
|
24
24
|
const on_chain_trade_type_1 = require("../../../../on-chain/calculation-manager/providers/common/models/on-chain-trade-type");
|
25
25
|
const lifi_utils_service_1 = require("../../../../common/providers/lifi/lifi-utils-service");
|
26
|
-
const lifi_evm_cross_chain_trade_1 = require("./chains/lifi-evm-cross-chain-trade");
|
27
26
|
const lifi_cross_chain_factory_1 = require("./lifi-cross-chain-factory");
|
28
27
|
const lifi_api_service_1 = require("./services/lifi-api-service");
|
29
28
|
class LifiCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
|
@@ -101,13 +100,12 @@ class LifiCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
|
|
101
100
|
weiAmount: new bignumber_js_1.default(bestRoute.toAmount)
|
102
101
|
});
|
103
102
|
const priceImpact = from.calculatePriceImpactPercent(to);
|
104
|
-
const gasData = null;
|
105
103
|
const { onChainType, bridgeType } = this.parseTradeTypes(bestRoute.steps);
|
106
104
|
const trade = lifi_cross_chain_factory_1.LifiCrossChainFactory.createTrade(fromBlockchain, {
|
107
105
|
from,
|
108
106
|
to,
|
109
107
|
route: bestRoute,
|
110
|
-
gasData,
|
108
|
+
gasData: await this.getLifiGasData(from, bestRoute.steps[0]),
|
111
109
|
toTokenAmountMin: web3_pure_1.Web3Pure.fromWei(bestRoute.toAmountMin, to.decimals),
|
112
110
|
feeInfo,
|
113
111
|
priceImpact,
|
@@ -246,19 +244,38 @@ class LifiCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
|
|
246
244
|
}
|
247
245
|
return routePath;
|
248
246
|
}
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
247
|
+
async getLifiGasData(from, step) {
|
248
|
+
if (!blockchains_info_1.BlockchainsInfo.isEvmBlockchainName(from.blockchain)) {
|
249
|
+
return Promise.resolve(null);
|
250
|
+
}
|
251
|
+
const gasCosts = step.estimate.gasCosts;
|
252
|
+
if (!gasCosts || !gasCosts.length) {
|
253
|
+
return Promise.resolve(null);
|
254
|
+
}
|
255
|
+
let gasLimit = new bignumber_js_1.default(0);
|
256
|
+
for (const el of gasCosts) {
|
257
|
+
gasLimit = gasLimit.plus(el.amount);
|
258
|
+
}
|
259
|
+
try {
|
260
|
+
const gasPriceInfo = await injector_1.Injector.gasPriceApi.getGasPrice(from.blockchain);
|
261
|
+
return {
|
262
|
+
gasLimit: new bignumber_js_1.default(gasLimit),
|
263
|
+
...(gasPriceInfo.gasPrice && { gasPrice: new bignumber_js_1.default(gasPriceInfo.gasPrice) }),
|
264
|
+
...(gasPriceInfo.baseFee && { baseFee: new bignumber_js_1.default(gasPriceInfo.baseFee) }),
|
265
|
+
...(gasPriceInfo.maxFeePerGas && {
|
266
|
+
maxFeePerGas: new bignumber_js_1.default(gasPriceInfo.maxFeePerGas)
|
267
|
+
}),
|
268
|
+
...(gasPriceInfo.maxPriorityFeePerGas && {
|
269
|
+
maxPriorityFeePerGas: new bignumber_js_1.default(gasPriceInfo.maxPriorityFeePerGas)
|
270
|
+
})
|
271
|
+
};
|
255
272
|
}
|
256
|
-
|
257
|
-
|
258
|
-
if (chainType === chain_type_1.CHAIN_TYPE.EVM) {
|
259
|
-
return lifi_evm_cross_chain_trade_1.LifiEvmCrossChainTrade.getGasData(from, to, bestRoute, feeInfo, options.slippageTolerance, options.providerAddress, options?.receiverAddress);
|
273
|
+
catch {
|
274
|
+
return null;
|
260
275
|
}
|
261
|
-
|
276
|
+
}
|
277
|
+
getMinAmountUSD() {
|
278
|
+
return new bignumber_js_1.default(1);
|
262
279
|
}
|
263
280
|
}
|
264
281
|
exports.LifiCrossChainProvider = LifiCrossChainProvider;
|