rubic-sdk 5.34.0-alpha.eddy.14 → 5.34.0-alpha.eddy.17
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/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.d.ts +0 -2
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js +29 -76
- 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 +3 -2
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js +11 -16
- 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/eddy-bridge/models/eddy-trade-types.d.ts +4 -2
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.d.ts +1 -2
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.js +2 -8
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.d.ts +8 -0
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.js +28 -8
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-calculation-factory.d.ts +20 -0
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-calculation-factory.js +81 -0
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-calculation-factory.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-evm-config-factory.d.ts +2 -3
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-evm-config-factory.js +6 -13
- package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-evm-config-factory.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.d.ts
CHANGED
@@ -11,8 +11,6 @@ export declare class EddyBridgeProvider extends CrossChainProvider {
|
|
11
11
|
isSupportedBlockchain(fromBlockchain: EvmBlockchainName): boolean;
|
12
12
|
calculate(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredCrossChainOptions): Promise<CalculationResult>;
|
13
13
|
private getCalculationResult;
|
14
|
-
private getToTokenAmount;
|
15
|
-
private calculateOnChainToAmount;
|
16
14
|
protected getRoutePath(fromToken: PriceTokenAmount<EvmBlockchainName>, toToken: PriceTokenAmount<EvmBlockchainName>): Promise<RubicStep[]>;
|
17
15
|
protected getFeeInfo(fromBlockchain: EddyBridgeSupportedChain, providerAddress: string, percentFeeToken: PriceTokenAmount, useProxy: boolean): Promise<FeeInfo>;
|
18
16
|
}
|
package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-provider.js
CHANGED
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EddyBridgeProvider = void 0;
|
4
4
|
const errors_1 = require("../../../../../common/errors");
|
5
5
|
const tokens_1 = require("../../../../../common/tokens");
|
6
|
+
const native_tokens_1 = require("../../../../../common/tokens/constants/native-tokens");
|
6
7
|
const blockchain_name_1 = require("../../../../../core/blockchain/models/blockchain-name");
|
7
8
|
const fake_wallet_address_1 = require("../../../../common/constants/fake-wallet-address");
|
8
9
|
const check_unsupported_receiver_address_1 = require("../../../../common/utils/check-unsupported-receiver-address");
|
9
10
|
const get_from_without_fee_1 = require("../../../../common/utils/get-from-without-fee");
|
10
|
-
const eddy_finance_provider_1 = require("../../../../on-chain/calculation-manager/providers/dexes/zetachain/eddy-finance/eddy-finance-provider");
|
11
11
|
const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
|
12
12
|
const cross_chain_provider_1 = require("../common/cross-chain-provider");
|
13
13
|
const proxy_cross_chain_evm_trade_1 = require("../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
|
@@ -17,7 +17,7 @@ const eddy_bridge_trade_1 = require("./eddy-bridge-trade");
|
|
17
17
|
const eddy_bridge_api_service_1 = require("./services/eddy-bridge-api-service");
|
18
18
|
const eddy_bridge_contract_service_1 = require("./services/eddy-bridge-contract-service");
|
19
19
|
const eddy_bridge_routing_directions_1 = require("./utils/eddy-bridge-routing-directions");
|
20
|
-
const
|
20
|
+
const eddy_calculation_factory_1 = require("./utils/eddy-calculation-factory");
|
21
21
|
class EddyBridgeProvider extends cross_chain_provider_1.CrossChainProvider {
|
22
22
|
constructor() {
|
23
23
|
super(...arguments);
|
@@ -35,14 +35,21 @@ class EddyBridgeProvider extends cross_chain_provider_1.CrossChainProvider {
|
|
35
35
|
const routingDirection = (0, eddy_bridge_routing_directions_1.eddyRoutingDirection)(from, toToken);
|
36
36
|
const feeInfo = await this.getFeeInfo(fromBlockchain, options.providerAddress, from, useProxy);
|
37
37
|
const fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(from, feeInfo.rubicProxy?.platformFee?.percent);
|
38
|
-
const [eddySlippage,
|
38
|
+
const [eddySlippage, eddyFee, gasFeeInDestTokenUnits] = await Promise.all([
|
39
39
|
eddy_bridge_contract_service_1.EddyBridgeContractService.getEddySlipage(),
|
40
|
-
|
40
|
+
eddy_bridge_contract_service_1.EddyBridgeContractService.getPlatformFee(),
|
41
|
+
eddy_bridge_contract_service_1.EddyBridgeContractService.getGasFeeInDestChain(toToken)
|
42
|
+
]);
|
43
|
+
const ratioToAmount = 1 - eddyFee;
|
44
|
+
const calculationFactory = new eddy_calculation_factory_1.EddyBridgeCalculationFactory(from, toToken, options, ratioToAmount);
|
45
|
+
const toAmount = await calculationFactory.calculateToAmount();
|
46
|
+
const [to, nativeSrcChainToken] = await Promise.all([
|
47
|
+
tokens_1.PriceTokenAmount.createToken({
|
48
|
+
...toToken.asStruct,
|
49
|
+
tokenAmount: toAmount
|
50
|
+
}),
|
51
|
+
tokens_1.PriceToken.createFromToken(native_tokens_1.nativeTokensList[from.blockchain])
|
41
52
|
]);
|
42
|
-
const to = await tokens_1.PriceTokenAmount.createToken({
|
43
|
-
...toToken.asStruct,
|
44
|
-
tokenAmount: toAmount
|
45
|
-
});
|
46
53
|
const gasData = options.gasCalculation === 'enabled'
|
47
54
|
? await eddy_bridge_trade_1.EddyBridgeTrade.getGasData({
|
48
55
|
feeInfo,
|
@@ -50,19 +57,29 @@ class EddyBridgeProvider extends cross_chain_provider_1.CrossChainProvider {
|
|
50
57
|
toToken: to,
|
51
58
|
providerAddress: options.providerAddress,
|
52
59
|
slippage: options.slippageTolerance,
|
53
|
-
routingDirection
|
60
|
+
routingDirection,
|
61
|
+
quoteOptions: options
|
54
62
|
})
|
55
63
|
: null;
|
56
64
|
const trade = new eddy_bridge_trade_1.EddyBridgeTrade({
|
57
65
|
crossChainTrade: {
|
58
|
-
feeInfo
|
66
|
+
feeInfo: {
|
67
|
+
...feeInfo,
|
68
|
+
provider: {
|
69
|
+
cryptoFee: {
|
70
|
+
amount: gasFeeInDestTokenUnits,
|
71
|
+
token: nativeSrcChainToken
|
72
|
+
}
|
73
|
+
}
|
74
|
+
},
|
59
75
|
from: fromWithoutFee,
|
60
76
|
gasData,
|
61
77
|
to,
|
62
78
|
priceImpact: from.calculatePriceImpactPercent(to),
|
63
79
|
slippage: eddySlippage,
|
64
|
-
|
65
|
-
|
80
|
+
routingDirection,
|
81
|
+
quoteOptions: options,
|
82
|
+
ratioToAmount
|
66
83
|
},
|
67
84
|
providerAddress: options.providerAddress,
|
68
85
|
routePath: await this.getRoutePath(from, to)
|
@@ -108,70 +125,6 @@ class EddyBridgeProvider extends cross_chain_provider_1.CrossChainProvider {
|
|
108
125
|
}
|
109
126
|
return { trade, tradeType: this.type };
|
110
127
|
}
|
111
|
-
async getToTokenAmount(from, toToken, options) {
|
112
|
-
const [eddyFee, gasFeeInDestTokenUnits] = await Promise.all([
|
113
|
-
eddy_bridge_contract_service_1.EddyBridgeContractService.getPlatformFee(),
|
114
|
-
eddy_bridge_contract_service_1.EddyBridgeContractService.getGasInDestTokenUnits(toToken)
|
115
|
-
]);
|
116
|
-
const ratioToAmount = 1 - eddyFee;
|
117
|
-
const isSwapFromZetachain = from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN;
|
118
|
-
const isSwapToZetachain = toToken.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN;
|
119
|
-
if ((0, eddy_bridge_routing_directions_1.isDirectBridge)(from, toToken)) {
|
120
|
-
const toAmount = from.tokenAmount
|
121
|
-
.multipliedBy(ratioToAmount)
|
122
|
-
.minus(gasFeeInDestTokenUnits);
|
123
|
-
return { toAmount, gasInTargetChain: gasFeeInDestTokenUnits };
|
124
|
-
}
|
125
|
-
// Zetachain(ZETA) -> Ethereum(ETH), Zetachain(BNB) -> Bsc(USDT)
|
126
|
-
if (isSwapFromZetachain) {
|
127
|
-
const fromZrc20Token = new tokens_1.PriceTokenAmount({
|
128
|
-
...from.asStruct,
|
129
|
-
tokenAmount: from.tokenAmount.multipliedBy(ratioToAmount)
|
130
|
-
});
|
131
|
-
const toZrc20Token = await tokens_1.PriceToken.createToken({
|
132
|
-
address: (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(toToken),
|
133
|
-
blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN
|
134
|
-
});
|
135
|
-
const toAmount = await this.calculateOnChainToAmount(fromZrc20Token, toZrc20Token, options);
|
136
|
-
return {
|
137
|
-
toAmount: toAmount.minus(gasFeeInDestTokenUnits),
|
138
|
-
gasInTargetChain: gasFeeInDestTokenUnits
|
139
|
-
};
|
140
|
-
}
|
141
|
-
// Ethereum(ETH) -> Zetachain(ZETA), Bsc(USDT) -> Zetachain(BNB)
|
142
|
-
if (isSwapToZetachain) {
|
143
|
-
const fromZrc20Token = await tokens_1.PriceTokenAmount.createToken({
|
144
|
-
address: (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(from),
|
145
|
-
blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN,
|
146
|
-
tokenAmount: from.tokenAmount.multipliedBy(ratioToAmount)
|
147
|
-
});
|
148
|
-
const toAmount = await this.calculateOnChainToAmount(fromZrc20Token, toToken, options);
|
149
|
-
return { toAmount, gasInTargetChain: undefined };
|
150
|
-
}
|
151
|
-
// BSC <-> Ethereum
|
152
|
-
const fromZrc20Token = await tokens_1.PriceTokenAmount.createToken({
|
153
|
-
address: (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(from),
|
154
|
-
blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN,
|
155
|
-
tokenAmount: from.tokenAmount.multipliedBy(ratioToAmount)
|
156
|
-
});
|
157
|
-
const toZrc20Token = await tokens_1.PriceToken.createToken({
|
158
|
-
address: (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(toToken),
|
159
|
-
blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN
|
160
|
-
});
|
161
|
-
const toAmount = await this.calculateOnChainToAmount(fromZrc20Token, toZrc20Token, options);
|
162
|
-
return {
|
163
|
-
toAmount: toAmount.minus(gasFeeInDestTokenUnits),
|
164
|
-
gasInTargetChain: gasFeeInDestTokenUnits
|
165
|
-
};
|
166
|
-
}
|
167
|
-
async calculateOnChainToAmount(fromZrc20Token, toZrc20Token, options) {
|
168
|
-
const calcData = await new eddy_finance_provider_1.EddyFinanceProvider().calculate(fromZrc20Token, toZrc20Token, {
|
169
|
-
...options,
|
170
|
-
gasCalculation: 'disabled',
|
171
|
-
useProxy: false
|
172
|
-
});
|
173
|
-
return calcData.to.tokenAmount;
|
174
|
-
}
|
175
128
|
async getRoutePath(fromToken, toToken) {
|
176
129
|
return [{ type: 'cross-chain', provider: this.type, path: [fromToken, toToken] }];
|
177
130
|
}
|
@@ -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":";;;
|
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
@@ -16,7 +16,7 @@ import { TradeInfo } from '../common/models/trade-info';
|
|
16
16
|
import { EddyBridgeGetGasDataParams, EddyBridgeTradeConstructorParams } from './models/eddy-trade-types';
|
17
17
|
export declare class EddyBridgeTrade extends EvmCrossChainTrade {
|
18
18
|
/** @internal */
|
19
|
-
static getGasData({ feeInfo, from, providerAddress, toToken, slippage, routingDirection }: EddyBridgeGetGasDataParams): Promise<GasData | null>;
|
19
|
+
static getGasData({ feeInfo, from, providerAddress, toToken, slippage, routingDirection, quoteOptions }: EddyBridgeGetGasDataParams): Promise<GasData | null>;
|
20
20
|
/**ABSTRACT PROPS */
|
21
21
|
readonly type: CrossChainTradeType;
|
22
22
|
readonly isAggregator: boolean;
|
@@ -30,7 +30,8 @@ export declare class EddyBridgeTrade extends EvmCrossChainTrade {
|
|
30
30
|
readonly priceImpact: number | null;
|
31
31
|
private readonly slippage;
|
32
32
|
/** */
|
33
|
-
private readonly
|
33
|
+
private readonly ratioToAmount;
|
34
|
+
private readonly quoteOptions;
|
34
35
|
private readonly routingDirection;
|
35
36
|
private get fromBlockchain();
|
36
37
|
protected get fromContractAddress(): string;
|
package/lib/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.js
CHANGED
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.EddyBridgeTrade = void 0;
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
8
|
const errors_1 = require("../../../../../common/errors");
|
9
|
-
const blockchain_name_1 = require("../../../../../core/blockchain/models/blockchain-name");
|
10
9
|
const evm_web3_pure_1 = require("../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure");
|
11
10
|
const web3_pure_1 = require("../../../../../core/blockchain/web3-pure/web3-pure");
|
12
11
|
const fake_wallet_address_1 = require("../../../../common/constants/fake-wallet-address");
|
@@ -19,12 +18,12 @@ const evm_cross_chain_trade_1 = require("../common/emv-cross-chain-trade/evm-cro
|
|
19
18
|
const bridge_type_1 = require("../common/models/bridge-type");
|
20
19
|
const proxy_cross_chain_evm_trade_1 = require("../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
|
21
20
|
const eddy_bridge_contract_addresses_1 = require("./constants/eddy-bridge-contract-addresses");
|
22
|
-
const eddy_bridge_contract_service_1 = require("./services/eddy-bridge-contract-service");
|
23
21
|
const eddy_bridge_routing_directions_1 = require("./utils/eddy-bridge-routing-directions");
|
22
|
+
const eddy_calculation_factory_1 = require("./utils/eddy-calculation-factory");
|
24
23
|
const eddy_evm_config_factory_1 = require("./utils/eddy-evm-config-factory");
|
25
24
|
class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
26
25
|
/** @internal */
|
27
|
-
static async getGasData({ feeInfo, from, providerAddress, toToken, slippage, routingDirection }) {
|
26
|
+
static async getGasData({ feeInfo, from, providerAddress, toToken, slippage, routingDirection, quoteOptions }) {
|
28
27
|
const trade = new EddyBridgeTrade({
|
29
28
|
crossChainTrade: {
|
30
29
|
from,
|
@@ -33,8 +32,9 @@ class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
|
33
32
|
priceImpact: 0,
|
34
33
|
feeInfo,
|
35
34
|
slippage,
|
36
|
-
|
37
|
-
|
35
|
+
routingDirection,
|
36
|
+
ratioToAmount: 1,
|
37
|
+
quoteOptions
|
38
38
|
},
|
39
39
|
providerAddress: providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS,
|
40
40
|
routePath: []
|
@@ -74,8 +74,9 @@ class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
|
74
74
|
this.priceImpact = params.crossChainTrade.priceImpact;
|
75
75
|
this.slippage = params.crossChainTrade.slippage;
|
76
76
|
this.toTokenAmountMin = web3_pure_1.Web3Pure.fromWei(this.to.weiAmountMinusSlippage(this.slippage), this.to.decimals);
|
77
|
-
this.prevGasAmountInNonZetaChain = params.crossChainTrade.prevGasAmountInNonZetaChain;
|
78
77
|
this.routingDirection = params.crossChainTrade.routingDirection;
|
78
|
+
this.ratioToAmount = params.crossChainTrade.ratioToAmount;
|
79
|
+
this.quoteOptions = params.crossChainTrade.quoteOptions;
|
79
80
|
}
|
80
81
|
async getContractParams(options) {
|
81
82
|
const receiverAddress = options?.receiverAddress || this.walletAddress;
|
@@ -104,18 +105,12 @@ class EddyBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
|
|
104
105
|
};
|
105
106
|
}
|
106
107
|
async getTransactionConfigAndAmount(_receiverAddress) {
|
107
|
-
const evmConfig = new eddy_evm_config_factory_1.EddyBridgeEvmConfigFactory(this.from, this.to, this.walletAddress || fake_wallet_address_1.FAKE_WALLET_ADDRESS, this.routingDirection).
|
108
|
-
|
109
|
-
|
110
|
-
const newNonWeiAmount = this.to.tokenAmount
|
111
|
-
.plus(this.prevGasAmountInNonZetaChain)
|
112
|
-
.minus(newGasAmount);
|
113
|
-
const newWeiAmount = web3_pure_1.Web3Pure.toWei(newNonWeiAmount, this.to.decimals);
|
114
|
-
return { config: evmConfig, amount: newWeiAmount };
|
115
|
-
}
|
108
|
+
const evmConfig = new eddy_evm_config_factory_1.EddyBridgeEvmConfigFactory(this.from, this.to, this.walletAddress || fake_wallet_address_1.FAKE_WALLET_ADDRESS, this.routingDirection).getEvmConfig();
|
109
|
+
const calculationFactory = new eddy_calculation_factory_1.EddyBridgeCalculationFactory(this.from, this.to, this.quoteOptions, this.ratioToAmount);
|
110
|
+
const toStringWeiAmount = await calculationFactory.calculateToStringWeiAmount();
|
116
111
|
return {
|
117
112
|
config: evmConfig,
|
118
|
-
amount:
|
113
|
+
amount: toStringWeiAmount
|
119
114
|
};
|
120
115
|
}
|
121
116
|
getTradeInfo() {
|
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;
|
1
|
+
{"version":3,"file":"eddy-bridge-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/eddy-bridge-trade.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
2
1
|
import { PriceTokenAmount } from '../../../../../../common/tokens';
|
3
2
|
import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
|
3
|
+
import { RequiredCrossChainOptions } from '../../../models/cross-chain-options';
|
4
4
|
import { GasData } from '../../common/emv-cross-chain-trade/models/gas-data';
|
5
5
|
import { FeeInfo } from '../../common/models/fee-info';
|
6
6
|
import { RubicStep } from '../../common/models/rubicStep';
|
@@ -12,6 +12,7 @@ export interface EddyBridgeGetGasDataParams {
|
|
12
12
|
providerAddress: string;
|
13
13
|
slippage: number;
|
14
14
|
routingDirection: EddyRoutingDirection;
|
15
|
+
quoteOptions: RequiredCrossChainOptions;
|
15
16
|
}
|
16
17
|
export interface EddyBridgeTradeConstructorParams {
|
17
18
|
crossChainTrade: {
|
@@ -21,8 +22,9 @@ export interface EddyBridgeTradeConstructorParams {
|
|
21
22
|
feeInfo: FeeInfo;
|
22
23
|
priceImpact: number | null;
|
23
24
|
slippage: number;
|
24
|
-
prevGasAmountInNonZetaChain: BigNumber | undefined;
|
25
25
|
routingDirection: EddyRoutingDirection;
|
26
|
+
quoteOptions: RequiredCrossChainOptions;
|
27
|
+
ratioToAmount: number;
|
26
28
|
};
|
27
29
|
providerAddress: string;
|
28
30
|
routePath: RubicStep[];
|
@@ -5,9 +5,8 @@ export declare class EddyBridgeContractService {
|
|
5
5
|
static getPlatformFee(): Promise<number>;
|
6
6
|
/**
|
7
7
|
* @param toToken target chain token
|
8
|
-
* @returns gasFee in target token units
|
9
8
|
*/
|
10
|
-
static
|
9
|
+
static getGasFeeInDestChain(toToken: PriceToken<EvmBlockchainName>): Promise<BigNumber>;
|
11
10
|
/**
|
12
11
|
* @returns eddy static slippage
|
13
12
|
*/
|
@@ -5,8 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.EddyBridgeContractService = void 0;
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
|
-
const tokens_1 = require("../../../../../../common/tokens");
|
9
|
-
const native_tokens_1 = require("../../../../../../common/tokens/constants/native-tokens");
|
10
8
|
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
11
9
|
const web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/web3-pure");
|
12
10
|
const injector_1 = require("../../../../../../core/injector/injector");
|
@@ -28,18 +26,14 @@ class EddyBridgeContractService {
|
|
28
26
|
}
|
29
27
|
/**
|
30
28
|
* @param toToken target chain token
|
31
|
-
* @returns gasFee in target token units
|
32
29
|
*/
|
33
|
-
static async
|
30
|
+
static async getGasFeeInDestChain(toToken) {
|
34
31
|
if (toToken.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN)
|
35
32
|
return new bignumber_js_1.default(0);
|
36
33
|
const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN);
|
37
34
|
const res = await web3Public.callContractMethod((0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(toToken), zrc_20_token_abi_1.ZRC_20_ABI, 'withdrawGasFee', []);
|
38
35
|
const gasFeeNonWei = web3_pure_1.Web3Pure.fromWei(res?.[1] || 0, 18);
|
39
|
-
|
40
|
-
const gasFeeUsd = gasFeeNonWei.multipliedBy(nativeTokenWithPrice.price);
|
41
|
-
const gasFeeInDestTokenAmount = gasFeeUsd.dividedBy(toToken.price);
|
42
|
-
return gasFeeInDestTokenAmount;
|
36
|
+
return gasFeeNonWei;
|
43
37
|
}
|
44
38
|
/**
|
45
39
|
* @returns eddy static slippage
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eddy-bridge-contract-service.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;
|
1
|
+
{"version":3,"file":"eddy-bridge-contract-service.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,gFAAgG;AAChG,uEAAmE;AACnE,yDAAsD;AAEtD,gGAA8F;AAC9F,kEAA+D;AAC/D,oEAA2D;AAC3D,oFAAsF;AAEtF,MAAa,yBAAyB;IAC3B,MAAM,CAAC,KAAK,CAAC,cAAc;QAC9B,IAAI;YACA,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;YACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC3C,gEAA+B,EAC/B,iCAAe,EACf,aAAa,EACb,EAAE,CACL,CAAC;YACF,oGAAoG;YACpG,OAAO,GAAG,GAAG,IAAK,CAAC;SACtB;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,CAAC;SACZ;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,oBAAoB,CACpC,OAAsC;QAEtC,IAAI,OAAO,CAAC,UAAU,KAAK,iCAAe,CAAC,SAAS;YAAE,OAAO,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC3C,IAAA,4DAA+B,EAAC,OAAO,CAAC,EACxC,6BAAU,EACV,gBAAgB,EAChB,EAAE,CACL,CAAC;QAEF,MAAM,YAAY,GAAG,oBAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc;QAC9B,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC3C,gEAA+B,EAC/B,iCAAe,EACf,UAAU,EACV,EAAE,CACL,CAAC;QACF,0CAA0C;QAC1C,OAAO,GAAG,GAAG,IAAK,CAAC;IACvB,CAAC;CACJ;AApDD,8DAoDC"}
|
@@ -10,8 +10,16 @@ export declare const ERD: {
|
|
10
10
|
readonly ANY_CHAIN_TOKEN_TO_ZETA_TOKEN: "ANY_CHAIN_TOKEN_TO_ZETA_TOKEN";
|
11
11
|
};
|
12
12
|
export type EddyRoutingDirection = (typeof ERD)[keyof typeof ERD];
|
13
|
+
export declare const EDDY_CALCULATION_TYPES: {
|
14
|
+
readonly DIRECT_BRIDGE: "DIRECT_BRIDGE";
|
15
|
+
readonly SWAP_FROM_ZETACHAIN: "SWAP_FROM_ZETACHAIN";
|
16
|
+
readonly SWAP_TO_ZETACHAIN: "SWAP_TO_ZETACHAIN";
|
17
|
+
readonly SWAP_BETWEEN_OTHER_CHAINS: "SWAP_BETWEEN_OTHER_CHAINS";
|
18
|
+
};
|
19
|
+
export type EddyCalculationType = (typeof EDDY_CALCULATION_TYPES)[keyof typeof EDDY_CALCULATION_TYPES];
|
13
20
|
export declare function eddyRoutingDirection(from: PriceTokenAmount<EvmBlockchainName>, to: PriceToken<EvmBlockchainName>): EddyRoutingDirection;
|
14
21
|
/**
|
15
22
|
* Check if route is Bsc(ETH) <-> Ethereum(ETH), Ethereum(USDT) <-> Zetachain(USDT.ETH) etc.
|
16
23
|
*/
|
17
24
|
export declare function isDirectBridge(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>): boolean;
|
25
|
+
export declare function getEddyCalculationType(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>): EddyCalculationType;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isDirectBridge = exports.eddyRoutingDirection = exports.ERD = void 0;
|
3
|
+
exports.getEddyCalculationType = exports.isDirectBridge = exports.eddyRoutingDirection = exports.EDDY_CALCULATION_TYPES = exports.ERD = void 0;
|
4
4
|
const errors_1 = require("../../../../../../common/errors");
|
5
5
|
const blockchain_1 = require("../../../../../../common/utils/blockchain");
|
6
6
|
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
@@ -16,6 +16,12 @@ exports.ERD = {
|
|
16
16
|
ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN: 'ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN',
|
17
17
|
ANY_CHAIN_TOKEN_TO_ZETA_TOKEN: 'ANY_CHAIN_TOKEN_TO_ZETA_TOKEN'
|
18
18
|
};
|
19
|
+
exports.EDDY_CALCULATION_TYPES = {
|
20
|
+
DIRECT_BRIDGE: 'DIRECT_BRIDGE',
|
21
|
+
SWAP_FROM_ZETACHAIN: 'SWAP_FROM_ZETACHAIN',
|
22
|
+
SWAP_TO_ZETACHAIN: 'SWAP_TO_ZETACHAIN',
|
23
|
+
SWAP_BETWEEN_OTHER_CHAINS: 'SWAP_BETWEEN_OTHER_CHAINS'
|
24
|
+
};
|
19
25
|
// eslint-disable-next-line complexity
|
20
26
|
function eddyRoutingDirection(from, to) {
|
21
27
|
if (from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN) {
|
@@ -37,13 +43,14 @@ function eddyRoutingDirection(from, to) {
|
|
37
43
|
if (!from.isNative && isSupportedToToken && isSupportedFromToken)
|
38
44
|
return exports.ERD.ANY_CHAIN_TOKEN_TO_ZETA_TOKEN;
|
39
45
|
}
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
46
|
+
// BSC <-> ETH routes are not supported
|
47
|
+
// if (
|
48
|
+
// from.blockchain !== BLOCKCHAIN_NAME.ZETACHAIN &&
|
49
|
+
// to.blockchain !== BLOCKCHAIN_NAME.ZETACHAIN
|
50
|
+
// ) {
|
51
|
+
// if (from.isNative && !to.isNative) return ERD.ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN;
|
52
|
+
// if (!from.isNative && !to.isNative) return ERD.ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN;
|
53
|
+
// }
|
47
54
|
throw new errors_1.NotSupportedTokensError();
|
48
55
|
}
|
49
56
|
exports.eddyRoutingDirection = eddyRoutingDirection;
|
@@ -54,4 +61,17 @@ function isDirectBridge(from, toToken) {
|
|
54
61
|
return (0, blockchain_1.compareAddresses)(from.symbol, toToken.symbol);
|
55
62
|
}
|
56
63
|
exports.isDirectBridge = isDirectBridge;
|
64
|
+
function getEddyCalculationType(from, toToken) {
|
65
|
+
if (isDirectBridge(from, toToken)) {
|
66
|
+
return exports.EDDY_CALCULATION_TYPES.DIRECT_BRIDGE;
|
67
|
+
}
|
68
|
+
if (from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN) {
|
69
|
+
return exports.EDDY_CALCULATION_TYPES.SWAP_FROM_ZETACHAIN;
|
70
|
+
}
|
71
|
+
if (toToken.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN) {
|
72
|
+
return exports.EDDY_CALCULATION_TYPES.SWAP_TO_ZETACHAIN;
|
73
|
+
}
|
74
|
+
return exports.EDDY_CALCULATION_TYPES.SWAP_BETWEEN_OTHER_CHAINS;
|
75
|
+
}
|
76
|
+
exports.getEddyCalculationType = getEddyCalculationType;
|
57
77
|
//# sourceMappingURL=eddy-bridge-routing-directions.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eddy-bridge-routing-directions.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.ts"],"names":[],"mappings":";;;AAAA,8CAA4D;AAE5D,4DAA+D;AAC/D,gFAAgG;AAEhG,gGAA0F;AAC1F,6EAA+E;AAE/E,yBAAyB;AACZ,QAAA,GAAG,GAAG;IACf,+BAA+B,EAAE,iCAAiC;IAClE,8BAA8B,EAAE,gCAAgC;IAChE,4BAA4B,EAAE,8BAA8B;IAC5D,2BAA2B,EAAE,6BAA6B;IAC1D,mCAAmC,EAAE,qCAAqC;IAC1E,kCAAkC,EAAE,oCAAoC;IACxE,6BAA6B,EAAE,+BAA+B;CACxD,CAAC;
|
1
|
+
{"version":3,"file":"eddy-bridge-routing-directions.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
2
|
+
import { PriceToken, PriceTokenAmount } from '../../../../../../common/tokens';
|
3
|
+
import { EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
|
4
|
+
import { RequiredCrossChainOptions } from '../../../models/cross-chain-options';
|
5
|
+
export declare class EddyBridgeCalculationFactory {
|
6
|
+
private readonly from;
|
7
|
+
private readonly toToken;
|
8
|
+
private readonly options;
|
9
|
+
private readonly ratioToAmount;
|
10
|
+
private calculationType;
|
11
|
+
private readonly calculators;
|
12
|
+
constructor(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredCrossChainOptions, ratioToAmount: number);
|
13
|
+
calculateToAmount(): Promise<BigNumber>;
|
14
|
+
calculateToStringWeiAmount(): Promise<string>;
|
15
|
+
private calculateDirectBridge;
|
16
|
+
private calculateSwapFromZetachain;
|
17
|
+
private calculateSwapToZetachain;
|
18
|
+
private calculateSwapBetweenOtherChains;
|
19
|
+
private calculateOnChainToAmount;
|
20
|
+
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.EddyBridgeCalculationFactory = void 0;
|
4
|
+
const tokens_1 = require("../../../../../../common/tokens");
|
5
|
+
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
6
|
+
const web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/web3-pure");
|
7
|
+
const eddy_finance_provider_1 = require("../../../../../on-chain/calculation-manager/providers/dexes/zetachain/eddy-finance/eddy-finance-provider");
|
8
|
+
const eddy_bridge_routing_directions_1 = require("./eddy-bridge-routing-directions");
|
9
|
+
const find_transit_token_address_1 = require("./find-transit-token-address");
|
10
|
+
class EddyBridgeCalculationFactory {
|
11
|
+
constructor(from, toToken, options, ratioToAmount) {
|
12
|
+
this.from = from;
|
13
|
+
this.toToken = toToken;
|
14
|
+
this.options = options;
|
15
|
+
this.ratioToAmount = ratioToAmount;
|
16
|
+
this.calculators = new Map([
|
17
|
+
[eddy_bridge_routing_directions_1.EDDY_CALCULATION_TYPES.DIRECT_BRIDGE, this.calculateDirectBridge],
|
18
|
+
[eddy_bridge_routing_directions_1.EDDY_CALCULATION_TYPES.SWAP_FROM_ZETACHAIN, this.calculateSwapFromZetachain],
|
19
|
+
[eddy_bridge_routing_directions_1.EDDY_CALCULATION_TYPES.SWAP_TO_ZETACHAIN, this.calculateSwapToZetachain],
|
20
|
+
[eddy_bridge_routing_directions_1.EDDY_CALCULATION_TYPES.SWAP_BETWEEN_OTHER_CHAINS, this.calculateSwapBetweenOtherChains]
|
21
|
+
]);
|
22
|
+
this.calculationType = (0, eddy_bridge_routing_directions_1.getEddyCalculationType)(from, toToken);
|
23
|
+
}
|
24
|
+
async calculateToAmount() {
|
25
|
+
const calculatorFn = this.calculators.get(this.calculationType);
|
26
|
+
const toAmount = await calculatorFn.apply(this);
|
27
|
+
return toAmount;
|
28
|
+
}
|
29
|
+
async calculateToStringWeiAmount() {
|
30
|
+
const nonWeiAmount = await this.calculateToAmount();
|
31
|
+
const weiAmount = web3_pure_1.Web3Pure.toWei(nonWeiAmount, this.toToken.decimals);
|
32
|
+
return weiAmount;
|
33
|
+
}
|
34
|
+
async calculateDirectBridge() {
|
35
|
+
return this.from.tokenAmount.multipliedBy(this.ratioToAmount);
|
36
|
+
}
|
37
|
+
async calculateSwapFromZetachain() {
|
38
|
+
const fromZrc20Token = new tokens_1.PriceTokenAmount({
|
39
|
+
...this.from.asStruct,
|
40
|
+
tokenAmount: this.from.tokenAmount.multipliedBy(this.ratioToAmount)
|
41
|
+
});
|
42
|
+
const toZrc20Token = await tokens_1.PriceToken.createToken({
|
43
|
+
address: (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(this.toToken),
|
44
|
+
blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN
|
45
|
+
});
|
46
|
+
const toAmount = await this.calculateOnChainToAmount(fromZrc20Token, toZrc20Token, this.options);
|
47
|
+
return toAmount;
|
48
|
+
}
|
49
|
+
async calculateSwapToZetachain() {
|
50
|
+
const fromZrc20Token = await tokens_1.PriceTokenAmount.createToken({
|
51
|
+
address: (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(this.from),
|
52
|
+
blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN,
|
53
|
+
tokenAmount: this.from.tokenAmount.multipliedBy(this.ratioToAmount)
|
54
|
+
});
|
55
|
+
const toAmount = await this.calculateOnChainToAmount(fromZrc20Token, this.toToken, this.options);
|
56
|
+
return toAmount;
|
57
|
+
}
|
58
|
+
async calculateSwapBetweenOtherChains() {
|
59
|
+
const fromZrc20Token = await tokens_1.PriceTokenAmount.createToken({
|
60
|
+
address: (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(this.from),
|
61
|
+
blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN,
|
62
|
+
tokenAmount: this.from.tokenAmount.multipliedBy(this.ratioToAmount)
|
63
|
+
});
|
64
|
+
const toZrc20Token = await tokens_1.PriceToken.createToken({
|
65
|
+
address: (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(this.toToken),
|
66
|
+
blockchain: blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN
|
67
|
+
});
|
68
|
+
const toAmount = await this.calculateOnChainToAmount(fromZrc20Token, toZrc20Token, this.options);
|
69
|
+
return toAmount;
|
70
|
+
}
|
71
|
+
async calculateOnChainToAmount(fromZrc20Token, toZrc20Token, options) {
|
72
|
+
const calcData = await new eddy_finance_provider_1.EddyFinanceProvider().calculate(fromZrc20Token, toZrc20Token, {
|
73
|
+
...options,
|
74
|
+
gasCalculation: 'disabled',
|
75
|
+
useProxy: false
|
76
|
+
});
|
77
|
+
return calcData.to.tokenAmount;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
exports.EddyBridgeCalculationFactory = EddyBridgeCalculationFactory;
|
81
|
+
//# sourceMappingURL=eddy-calculation-factory.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"eddy-calculation-factory.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-calculation-factory.ts"],"names":[],"mappings":"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"}
|
@@ -6,12 +6,11 @@ export declare class EddyBridgeEvmConfigFactory {
|
|
6
6
|
private readonly from;
|
7
7
|
private readonly to;
|
8
8
|
private readonly walletAddress;
|
9
|
-
private
|
9
|
+
private readonly routingDirection;
|
10
10
|
private get wrappedZetaAddress();
|
11
|
-
get evmConfig(): EvmEncodeConfig;
|
12
|
-
set evmConfig(value: EvmEncodeConfig);
|
13
11
|
private readonly evmConfigBuilders;
|
14
12
|
constructor(from: PriceTokenAmount<EvmBlockchainName>, to: PriceTokenAmount<EvmBlockchainName>, walletAddress: string, routingDirection: EddyRoutingDirection);
|
13
|
+
getEvmConfig(): EvmEncodeConfig;
|
15
14
|
private createAnyChainNativeToZetaNativeConfig;
|
16
15
|
private createAnyChainTokenToZetaTokenConfig;
|
17
16
|
private createAnyChainNativeToZetaTokenConfig;
|
@@ -12,16 +12,11 @@ class EddyBridgeEvmConfigFactory {
|
|
12
12
|
get wrappedZetaAddress() {
|
13
13
|
return wrapped_native_tokens_1.wrappedNativeTokensList[blockchain_name_1.BLOCKCHAIN_NAME.ZETACHAIN].address;
|
14
14
|
}
|
15
|
-
get evmConfig() {
|
16
|
-
return this._evmConfig;
|
17
|
-
}
|
18
|
-
set evmConfig(value) {
|
19
|
-
this._evmConfig = value;
|
20
|
-
}
|
21
15
|
constructor(from, to, walletAddress, routingDirection) {
|
22
16
|
this.from = from;
|
23
17
|
this.to = to;
|
24
18
|
this.walletAddress = walletAddress;
|
19
|
+
this.routingDirection = routingDirection;
|
25
20
|
this.evmConfigBuilders = new Map([
|
26
21
|
[eddy_bridge_routing_directions_1.ERD.ZETA_NATIVE_TO_ANY_CHAIN_ALL, this.createZetaNativeToAnyChainAllConfig],
|
27
22
|
[eddy_bridge_routing_directions_1.ERD.ZETA_TOKEN_TO_ANY_CHAIN_ALL, this.createZetaTokenToAnyChainAllConfig],
|
@@ -31,10 +26,12 @@ class EddyBridgeEvmConfigFactory {
|
|
31
26
|
[eddy_bridge_routing_directions_1.ERD.ANY_CHAIN_NATIVE_TO_ANY_CHAIN_TOKEN, this.createAnyChainNativeToAnyChainTokenConfig],
|
32
27
|
[eddy_bridge_routing_directions_1.ERD.ANY_CHAIN_TOKEN_TO_ANY_CHAIN_TOKEN, this.createAnyChainTokenToAnyChainTokenConfig]
|
33
28
|
]);
|
34
|
-
const configBuilder = this.evmConfigBuilders.get(routingDirection);
|
35
|
-
this.evmConfig = configBuilder.apply(this);
|
36
29
|
}
|
37
|
-
|
30
|
+
getEvmConfig() {
|
31
|
+
const configBuilder = this.evmConfigBuilders.get(this.routingDirection);
|
32
|
+
const evmConfig = configBuilder.apply(this);
|
33
|
+
return evmConfig;
|
34
|
+
}
|
38
35
|
createAnyChainNativeToZetaNativeConfig() {
|
39
36
|
const data = eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN +
|
40
37
|
this.walletAddress.slice(2) +
|
@@ -45,7 +42,6 @@ class EddyBridgeEvmConfigFactory {
|
|
45
42
|
value: this.from.stringWeiAmount
|
46
43
|
};
|
47
44
|
}
|
48
|
-
// +
|
49
45
|
createAnyChainTokenToZetaTokenConfig() {
|
50
46
|
const msg = eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN +
|
51
47
|
this.walletAddress.slice(2) +
|
@@ -54,7 +50,6 @@ class EddyBridgeEvmConfigFactory {
|
|
54
50
|
const config = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(eddy_bridge_contract_addresses_1.CUSTODY_ADDRESSES[this.from.blockchain], edyy_bridge_abi_1.CUSTODY_ABI, 'deposit', methodArgs, '0');
|
55
51
|
return config;
|
56
52
|
}
|
57
|
-
// +
|
58
53
|
createAnyChainNativeToZetaTokenConfig() {
|
59
54
|
const data = eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN +
|
60
55
|
this.walletAddress.slice(2) +
|
@@ -87,7 +82,6 @@ class EddyBridgeEvmConfigFactory {
|
|
87
82
|
const config = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(eddy_bridge_contract_addresses_1.CUSTODY_ADDRESSES[this.from.blockchain], edyy_bridge_abi_1.CUSTODY_ABI, 'deposit', methodArgs, '0');
|
88
83
|
return config;
|
89
84
|
}
|
90
|
-
// +
|
91
85
|
createZetaTokenToAnyChainAllConfig() {
|
92
86
|
const srcZrc20TokenAddress = this.from.address;
|
93
87
|
const destZrc20TokenAddress = (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(this.to);
|
@@ -100,7 +94,6 @@ class EddyBridgeEvmConfigFactory {
|
|
100
94
|
const config = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN, edyy_bridge_abi_1.EDDY_BRIDGE_ABI, 'withdrawToNativeChain', methodArgs, '0');
|
101
95
|
return config;
|
102
96
|
}
|
103
|
-
// +
|
104
97
|
createZetaNativeToAnyChainAllConfig() {
|
105
98
|
const destZrc20TokenAddress = (0, find_transit_token_address_1.findCompatibleZrc20TokenAddress)(this.to);
|
106
99
|
const config = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(eddy_bridge_contract_addresses_1.EDDY_OMNI_CONTRACT_IN_ZETACHAIN, edyy_bridge_abi_1.EDDY_BRIDGE_ABI, 'transferZetaToConnectedChain', ['0x', this.wrappedZetaAddress, destZrc20TokenAddress], this.from.stringWeiAmount);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eddy-evm-config-factory.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-evm-config-factory.ts"],"names":[],"mappings":";;;AACA,6FAA4F;AAC5F,gFAAgG;AAChG,6GAAwG;AAGxG,gGAKqD;AAErD,kEAA4E;AAC5E,qFAA6E;AAC7E,6EAA+E;AAE/E,MAAa,0BAA0B;
|
1
|
+
{"version":3,"file":"eddy-evm-config-factory.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-evm-config-factory.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
@@ -350,6 +350,7 @@ export * from './features/cross-chain/calculation-manager/providers/eddy-bridge/
|
|
350
350
|
export * from './features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-api-service';
|
351
351
|
export * from './features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service';
|
352
352
|
export * from './features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions';
|
353
|
+
export * from './features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-calculation-factory';
|
353
354
|
export * from './features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-evm-config-factory';
|
354
355
|
export * from './features/cross-chain/calculation-manager/providers/eddy-bridge/utils/find-transit-token-address';
|
355
356
|
export * from './features/cross-chain/calculation-manager/providers/eddy-bridge/utils/get-eddy-bridge-dst-status';
|
package/lib/index.js
CHANGED
@@ -367,6 +367,7 @@ __exportStar(require("./features/cross-chain/calculation-manager/providers/eddy-
|
|
367
367
|
__exportStar(require("./features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-api-service"), exports);
|
368
368
|
__exportStar(require("./features/cross-chain/calculation-manager/providers/eddy-bridge/services/eddy-bridge-contract-service"), exports);
|
369
369
|
__exportStar(require("./features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-bridge-routing-directions"), exports);
|
370
|
+
__exportStar(require("./features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-calculation-factory"), exports);
|
370
371
|
__exportStar(require("./features/cross-chain/calculation-manager/providers/eddy-bridge/utils/eddy-evm-config-factory"), exports);
|
371
372
|
__exportStar(require("./features/cross-chain/calculation-manager/providers/eddy-bridge/utils/find-transit-token-address"), exports);
|
372
373
|
__exportStar(require("./features/cross-chain/calculation-manager/providers/eddy-bridge/utils/get-eddy-bridge-dst-status"), exports);
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|