rubic-sdk 4.46.0 → 4.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/rubic-sdk.min.js +2627 -207
  2. package/dist/rubic-sdk.min.js.map +1 -1
  3. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.d.ts +2 -1
  4. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js +3 -1
  5. package/lib/features/cross-chain/calculation-manager/constants/cross-chain-providers.js.map +1 -1
  6. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.d.ts +1 -0
  7. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js +2 -1
  8. package/lib/features/cross-chain/calculation-manager/models/cross-chain-trade-type.js.map +1 -1
  9. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/constants/evm-common-cross-chain-abi.js +26 -8
  10. package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/constants/evm-common-cross-chain-abi.js.map +1 -1
  11. package/lib/features/cross-chain/calculation-manager/providers/common/models/bridge-type.d.ts +2 -1
  12. package/lib/features/cross-chain/calculation-manager/providers/common/models/default-bridge-type.d.ts +1 -0
  13. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.d.ts +2 -0
  14. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.js +17 -0
  15. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/erc-677-abi.js.map +1 -0
  16. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.d.ts +2 -0
  17. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.js +61 -0
  18. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/fee-manager-abi.js.map +1 -0
  19. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.d.ts +2 -0
  20. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.js +72 -0
  21. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/foreign-bridge-abi.js.map +1 -0
  22. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.d.ts +2 -0
  23. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.js +1390 -0
  24. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/home-bridge-abi.js.map +1 -0
  25. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.d.ts +2 -0
  26. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.js +14 -0
  27. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/native-bridge-abi.js.map +1 -0
  28. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.d.ts +6 -0
  29. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.js +16 -0
  30. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-contract-address.js.map +1 -0
  31. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.d.ts +2 -0
  32. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.js +9 -0
  33. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/constants/pulse-chain-supported-blockchains.js.map +1 -0
  34. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.d.ts +7 -0
  35. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.js +15 -0
  36. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/bridge-manager.js.map +1 -0
  37. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.d.ts +14 -0
  38. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.js +54 -0
  39. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/foreign-bridge.js.map +1 -0
  40. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.d.ts +14 -0
  41. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.js +54 -0
  42. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/home-bridge.js.map +1 -0
  43. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.d.ts +108 -0
  44. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.js +112 -0
  45. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/omni-bridge-entities/omni-bridge.js.map +1 -0
  46. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.d.ts +19 -0
  47. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.js +182 -0
  48. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.js.map +1 -0
  49. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.d.ts +55 -0
  50. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js +232 -0
  51. package/lib/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.js.map +1 -0
  52. package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.d.ts +1 -2
  53. package/lib/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.js.map +1 -1
  54. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.d.ts +1 -0
  55. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js +15 -1
  56. package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js.map +1 -1
  57. package/lib/features/cross-chain/status-manager/models/rubic-backend-ps-status.d.ts +6 -0
  58. package/lib/features/cross-chain/status-manager/models/rubic-backend-ps-status.js +3 -0
  59. package/lib/features/cross-chain/status-manager/models/rubic-backend-ps-status.js.map +1 -0
  60. package/lib/index.d.ts +14 -0
  61. package/lib/index.js +14 -0
  62. package/lib/index.js.map +1 -1
  63. package/package.json +1 -1
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PulseChainCrossChainProvider = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const errors_1 = require("../../../../../common/errors");
9
+ const tokens_1 = require("../../../../../common/tokens");
10
+ const blockchain_1 = require("../../../../../common/utils/blockchain");
11
+ const blockchain_name_1 = require("../../../../../core/blockchain/models/blockchain-name");
12
+ const web3_pure_1 = require("../../../../../core/blockchain/web3-pure/web3-pure");
13
+ const get_from_without_fee_1 = require("../../../../common/utils/get-from-without-fee");
14
+ const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
15
+ const cross_chain_provider_1 = require("../common/cross-chain-provider");
16
+ const proxy_cross_chain_evm_trade_1 = require("../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
17
+ const pulse_chain_supported_blockchains_1 = require("./constants/pulse-chain-supported-blockchains");
18
+ const bridge_manager_1 = require("./omni-bridge-entities/bridge-manager");
19
+ const pulse_chain_cross_chain_trade_1 = require("./pulse-chain-cross-chain-trade");
20
+ const typed_trade_providers_1 = require("../../../../on-chain/calculation-manager/constants/trade-providers/typed-trade-providers");
21
+ class PulseChainCrossChainProvider extends cross_chain_provider_1.CrossChainProvider {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.PULSE_CHAIN_BRIDGE;
25
+ }
26
+ isSupportedBlockchain(blockchain) {
27
+ return pulse_chain_supported_blockchains_1.pulseChainSupportedBlockchains.some(chain => chain === blockchain);
28
+ }
29
+ async calculate(fromToken, toToken, options) {
30
+ const fromBlockchain = fromToken.blockchain;
31
+ const toBlockchain = toToken.blockchain;
32
+ const useProxy = options?.useProxy?.[this.type] ?? true;
33
+ if (!this.areSupportedBlockchains(fromBlockchain, toBlockchain) ||
34
+ // @TODO Remove after home bridge development
35
+ fromToken.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.PULSECHAIN) {
36
+ return {
37
+ trade: null,
38
+ error: new errors_1.NotSupportedTokensError(),
39
+ tradeType: this.type
40
+ };
41
+ }
42
+ const feeInfo = await this.getFeeInfo(fromBlockchain, options.providerAddress, fromToken, useProxy);
43
+ try {
44
+ const sourceBridgeManager = bridge_manager_1.BridgeManager.createBridge(fromToken, toToken);
45
+ const targetBridgeManager = bridge_manager_1.BridgeManager.createBridge(fromToken, toToken);
46
+ const fromTokenAddress = this.getTokenAddress(fromToken);
47
+ const toTokenAddress = this.getTokenAddress(toToken);
48
+ const tokenRegistered = await sourceBridgeManager.isTokenRegistered(fromTokenAddress);
49
+ const targetTokenAddress = await sourceBridgeManager.getBridgeToken(fromTokenAddress);
50
+ if (!(0, blockchain_1.compareAddresses)(toTokenAddress, targetTokenAddress)) {
51
+ return {
52
+ trade: null,
53
+ error: new errors_1.NotSupportedTokensError(),
54
+ tradeType: this.type
55
+ };
56
+ }
57
+ const fromWithoutFee = (0, get_from_without_fee_1.getFromWithoutFee)(fromToken, feeInfo.rubicProxy?.platformFee?.percent);
58
+ let onChainTrade = null;
59
+ let transitTokenAmount = fromWithoutFee.tokenAmount;
60
+ let transitMinAmount = transitTokenAmount;
61
+ let transitToken = fromWithoutFee;
62
+ if (!tokenRegistered) {
63
+ if (!useProxy) {
64
+ return {
65
+ trade: null,
66
+ error: new errors_1.NotSupportedTokensError(),
67
+ tradeType: this.type
68
+ };
69
+ }
70
+ const transitTokenAddress = await targetBridgeManager.getBridgeToken(toToken.address);
71
+ onChainTrade = await this.getOnChainTrade(fromWithoutFee, [], options.slippageTolerance, transitTokenAddress);
72
+ if (!onChainTrade) {
73
+ return {
74
+ trade: null,
75
+ error: new errors_1.NotSupportedTokensError(),
76
+ tradeType: this.type
77
+ };
78
+ }
79
+ transitTokenAmount = onChainTrade.to.tokenAmount;
80
+ transitMinAmount = onChainTrade.toTokenAmountMin.tokenAmount;
81
+ transitToken = onChainTrade.to;
82
+ }
83
+ const targetAmount = await sourceBridgeManager.calculateAmount(toToken.address, web3_pure_1.Web3Pure.toWei(transitTokenAmount, transitToken.decimals));
84
+ const targetAmountMin = await sourceBridgeManager.calculateAmount(toToken.address, web3_pure_1.Web3Pure.toWei(transitMinAmount, transitToken.decimals));
85
+ const amountsErrors = await this.getMinMaxAmountsErrors(fromTokenAddress, sourceBridgeManager, transitToken);
86
+ if (!targetAmount) {
87
+ throw new errors_1.RubicSdkError('Can not estimate trade');
88
+ }
89
+ const to = new tokens_1.PriceTokenAmount({
90
+ ...toToken.asStruct,
91
+ tokenAmount: web3_pure_1.Web3Pure.fromWei(targetAmount, toToken.decimals)
92
+ });
93
+ const gasData = options.gasCalculation === 'enabled'
94
+ ? await pulse_chain_cross_chain_trade_1.PulseChainCrossChainTrade.getGasData(fromToken, to, onChainTrade, feeInfo, targetAmountMin, options.providerAddress, options.receiverAddress || this.getWalletAddress(fromToken.blockchain), sourceBridgeManager.sourceBridgeAddress, tokenRegistered)
95
+ : null;
96
+ return {
97
+ trade: new pulse_chain_cross_chain_trade_1.PulseChainCrossChainTrade({
98
+ from: fromToken,
99
+ to,
100
+ gasData,
101
+ slippage: options.slippageTolerance,
102
+ feeInfo: feeInfo,
103
+ toTokenAmountMin: targetAmountMin,
104
+ onChainTrade,
105
+ priceImpact: fromToken.calculatePriceImpactPercent(to),
106
+ routerAddress: sourceBridgeManager.sourceBridgeAddress,
107
+ tokenRegistered
108
+ }, options.providerAddress, await this.getRoutePath(fromToken, transitToken, to, onChainTrade)),
109
+ error: amountsErrors,
110
+ tradeType: this.type
111
+ };
112
+ }
113
+ catch (err) {
114
+ const rubicSdkError = cross_chain_provider_1.CrossChainProvider.parseError(err);
115
+ return {
116
+ trade: null,
117
+ error: rubicSdkError,
118
+ tradeType: this.type
119
+ };
120
+ }
121
+ }
122
+ async getOnChainTrade(from, _availableDexes, slippageTolerance, transitTokenAddress) {
123
+ const fromBlockchain = from.blockchain;
124
+ const dexes = Object.values(typed_trade_providers_1.typedTradeProviders[fromBlockchain]).filter(dex => dex.supportReceiverAddress);
125
+ const to = await tokens_1.PriceToken.createToken({
126
+ address: transitTokenAddress,
127
+ blockchain: fromBlockchain
128
+ });
129
+ const onChainTrades = (await Promise.allSettled(dexes.map(dex => dex.calculate(from, to, {
130
+ slippageTolerance,
131
+ gasCalculation: 'disabled',
132
+ useProxy: false
133
+ }))))
134
+ .filter(value => value.status === 'fulfilled')
135
+ .map(value => value.value)
136
+ .sort((a, b) => b.to.tokenAmount.comparedTo(a.to.tokenAmount));
137
+ if (!onChainTrades.length) {
138
+ return null;
139
+ }
140
+ return onChainTrades[0];
141
+ }
142
+ async getMinMaxAmountsErrors(fromTokenAddress, fromBridgeManager, fromToken) {
143
+ try {
144
+ const minAmountWei = await fromBridgeManager.getMinAmountToken(fromTokenAddress);
145
+ const minAmount = new bignumber_js_1.default(minAmountWei);
146
+ if (minAmount.gte(fromToken.stringWeiAmount)) {
147
+ return new errors_1.MinAmountError(web3_pure_1.Web3Pure.fromWei(minAmount, fromToken.decimals), fromToken.symbol);
148
+ }
149
+ }
150
+ catch {
151
+ return undefined;
152
+ }
153
+ return undefined;
154
+ }
155
+ async getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy) {
156
+ return proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getFeeInfo(fromBlockchain, providerAddress, percentFeeToken, useProxy);
157
+ }
158
+ async getRoutePath(from, transit, to, onChainTrade) {
159
+ const routePath = [];
160
+ if (onChainTrade) {
161
+ routePath.push({
162
+ type: 'on-chain',
163
+ path: [from, transit],
164
+ provider: onChainTrade.type
165
+ });
166
+ }
167
+ routePath.push({
168
+ type: 'cross-chain',
169
+ path: [transit, to],
170
+ provider: cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.PULSE_CHAIN_BRIDGE
171
+ });
172
+ return routePath;
173
+ }
174
+ getTokenAddress(token) {
175
+ if (token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM) {
176
+ return token.isNative ? '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' : token.address;
177
+ }
178
+ return token.isNative ? '0xA1077a294dDE1B09bB078844df40758a5D0f9a27' : token.address;
179
+ }
180
+ }
181
+ exports.PulseChainCrossChainProvider = PulseChainCrossChainProvider;
182
+ //# sourceMappingURL=pulse-chain-cross-chain-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulse-chain-cross-chain-provider.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { PriceTokenAmount } from "../../../../../common/tokens";
3
+ import { EvmBlockchainName } from "../../../../../core/blockchain/models/blockchain-name";
4
+ import { ContractParams } from "../../../../common/models/contract-params";
5
+ import { SwapTransactionOptions } from "../../../../common/models/swap-transaction-options";
6
+ import { EvmCrossChainTrade } from "../common/emv-cross-chain-trade/evm-cross-chain-trade";
7
+ import { GasData } from "../common/emv-cross-chain-trade/models/gas-data";
8
+ import { FeeInfo } from "../common/models/fee-info";
9
+ import { GetContractParamsOptions } from "../common/models/get-contract-params-options";
10
+ import { OnChainSubtype } from "../common/models/on-chain-subtype";
11
+ import { RubicStep } from "../common/models/rubicStep";
12
+ import { TradeInfo } from "../common/models/trade-info";
13
+ import { EvmOnChainTrade } from "../../../../on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade";
14
+ export declare class PulseChainCrossChainTrade extends EvmCrossChainTrade {
15
+ /** @internal */
16
+ static getGasData(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceTokenAmount<EvmBlockchainName>, onChainTrade: EvmOnChainTrade | null, feeInfo: FeeInfo, toTokenAmountMin: BigNumber, providerAddress: string, receiverAddress: string, routerAddress: string, tokenRegistered: boolean): Promise<GasData | null>;
17
+ readonly type: "pulse_chain_bridge";
18
+ readonly isAggregator = false;
19
+ readonly bridgeType: "pulse_chain_bridge";
20
+ readonly from: PriceTokenAmount<EvmBlockchainName>;
21
+ readonly to: PriceTokenAmount<EvmBlockchainName>;
22
+ readonly toTokenAmountMin: BigNumber;
23
+ readonly priceImpact: number | null;
24
+ readonly gasData: GasData | null;
25
+ private readonly routerAddress;
26
+ private get fromBlockchain();
27
+ protected get fromContractAddress(): string;
28
+ readonly feeInfo: FeeInfo;
29
+ private readonly slippage;
30
+ readonly onChainSubtype: OnChainSubtype;
31
+ readonly onChainTrade: EvmOnChainTrade | null;
32
+ protected get methodName(): string;
33
+ private readonly isTokenRegistered;
34
+ private get isErc677();
35
+ constructor(crossChainTrade: {
36
+ from: PriceTokenAmount<EvmBlockchainName>;
37
+ to: PriceTokenAmount<EvmBlockchainName>;
38
+ gasData: GasData | null;
39
+ slippage: number;
40
+ feeInfo: FeeInfo;
41
+ toTokenAmountMin: BigNumber;
42
+ onChainTrade: EvmOnChainTrade | null;
43
+ priceImpact: number | null;
44
+ routerAddress: string;
45
+ tokenRegistered: boolean;
46
+ }, providerAddress: string, routePath: RubicStep[]);
47
+ needApprove(): Promise<boolean>;
48
+ protected swapDirect(options?: SwapTransactionOptions): Promise<string | never>;
49
+ getContractParams(options: GetContractParamsOptions): Promise<ContractParams>;
50
+ getTradeAmountRatio(fromUsd: BigNumber): BigNumber;
51
+ getTradeInfo(): TradeInfo;
52
+ private getTransactionRequest;
53
+ private getTokenAddress;
54
+ private getProviderDataForErc677;
55
+ }
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PulseChainCrossChainTrade = void 0;
4
+ const blockchain_name_1 = require("../../../../../core/blockchain/models/blockchain-name");
5
+ const evm_web3_pure_1 = require("../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure");
6
+ const web3_pure_1 = require("../../../../../core/blockchain/web3-pure/web3-pure");
7
+ const injector_1 = require("../../../../../core/injector/injector");
8
+ const cross_chain_trade_type_1 = require("../../models/cross-chain-trade-type");
9
+ const rubic_proxy_contract_address_1 = require("../common/constants/rubic-proxy-contract-address");
10
+ const evm_common_cross_chain_abi_1 = require("../common/emv-cross-chain-trade/constants/evm-common-cross-chain-abi");
11
+ const gateway_rubic_cross_chain_abi_1 = require("../common/emv-cross-chain-trade/constants/gateway-rubic-cross-chain-abi");
12
+ const evm_cross_chain_trade_1 = require("../common/emv-cross-chain-trade/evm-cross-chain-trade");
13
+ const bridge_type_1 = require("../common/models/bridge-type");
14
+ const proxy_cross_chain_evm_trade_1 = require("../common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade");
15
+ const bridge_manager_1 = require("./omni-bridge-entities/bridge-manager");
16
+ const omni_bridge_1 = require("./omni-bridge-entities/omni-bridge");
17
+ const convert_gas_price_1 = require("../../utils/convert-gas-price");
18
+ class PulseChainCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade {
19
+ /** @internal */
20
+ static async getGasData(from, toToken, onChainTrade, feeInfo, toTokenAmountMin, providerAddress, receiverAddress, routerAddress, tokenRegistered) {
21
+ const fromBlockchain = from.blockchain;
22
+ const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromBlockchain).address;
23
+ if (!walletAddress) {
24
+ return null;
25
+ }
26
+ try {
27
+ let gasLimit;
28
+ let gasDetails;
29
+ const web3Public = injector_1.Injector.web3PublicService.getWeb3Public(fromBlockchain);
30
+ if (feeInfo.rubicProxy?.fixedFee?.amount.gt(0)) {
31
+ const { contractAddress, contractAbi, methodName, methodArguments, value } = await new PulseChainCrossChainTrade({
32
+ from,
33
+ to: toToken,
34
+ gasData: null,
35
+ priceImpact: 0,
36
+ slippage: 0,
37
+ feeInfo: feeInfo,
38
+ toTokenAmountMin,
39
+ onChainTrade: onChainTrade,
40
+ routerAddress,
41
+ tokenRegistered
42
+ }, providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getContractParams({});
43
+ const [proxyGasLimit, proxyGasDetails] = await Promise.all([
44
+ web3Public.getEstimatedGas(contractAbi, contractAddress, methodName, methodArguments, walletAddress, value),
45
+ (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(from.blockchain))
46
+ ]);
47
+ gasLimit = proxyGasLimit;
48
+ gasDetails = proxyGasDetails;
49
+ }
50
+ else {
51
+ const { data, to, value } = new PulseChainCrossChainTrade({
52
+ from,
53
+ to: toToken,
54
+ gasData: null,
55
+ priceImpact: 0,
56
+ slippage: 0,
57
+ feeInfo: feeInfo,
58
+ toTokenAmountMin,
59
+ onChainTrade: onChainTrade,
60
+ routerAddress,
61
+ tokenRegistered
62
+ }, providerAddress || evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS, []).getTransactionRequest(receiverAddress, onChainTrade ? onChainTrade.to : from, toToken);
63
+ const defaultGasLimit = await web3Public.getEstimatedGasByData(walletAddress, to, {
64
+ data,
65
+ value
66
+ });
67
+ const defaultGasDetails = (0, convert_gas_price_1.convertGasDataToBN)(await injector_1.Injector.gasPriceApi.getGasPrice(from.blockchain));
68
+ gasLimit = defaultGasLimit;
69
+ gasDetails = defaultGasDetails;
70
+ }
71
+ if (!gasLimit?.isFinite()) {
72
+ return null;
73
+ }
74
+ const increasedGasLimit = web3_pure_1.Web3Pure.calculateGasMargin(gasLimit, 1.2);
75
+ return {
76
+ gasLimit: increasedGasLimit,
77
+ ...gasDetails
78
+ };
79
+ }
80
+ catch (_err) {
81
+ return null;
82
+ }
83
+ }
84
+ get fromBlockchain() {
85
+ return this.from.blockchain;
86
+ }
87
+ get fromContractAddress() {
88
+ return this.isProxyTrade
89
+ ? rubic_proxy_contract_address_1.rubicProxyContractAddress[this.fromBlockchain].gateway
90
+ : this.routerAddress;
91
+ }
92
+ get methodName() {
93
+ if (this.isErc677 && this.from.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM) {
94
+ return this.onChainTrade
95
+ ? 'swapAndStartBridgeTokensViaTransferAndCall'
96
+ : 'startBridgeTokensViaTransferAndCall';
97
+ }
98
+ return this.onChainTrade
99
+ ? 'swapAndStartBridgeTokensViaGenericCrossChain'
100
+ : 'startBridgeTokensViaGenericCrossChain';
101
+ }
102
+ get isErc677() {
103
+ return !this.isTokenRegistered || omni_bridge_1.OmniBridge.isCustomWrap(this.from);
104
+ }
105
+ constructor(crossChainTrade, providerAddress, routePath) {
106
+ super(providerAddress, routePath);
107
+ this.type = cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.PULSE_CHAIN_BRIDGE;
108
+ this.isAggregator = false;
109
+ this.bridgeType = bridge_type_1.BRIDGE_TYPE.PULSE_CHAIN_BRIDGE;
110
+ this.from = crossChainTrade.from;
111
+ this.to = crossChainTrade.to;
112
+ this.gasData = crossChainTrade.gasData;
113
+ this.slippage = crossChainTrade.slippage;
114
+ this.toTokenAmountMin = web3_pure_1.Web3Pure.fromWei(crossChainTrade.toTokenAmountMin, crossChainTrade.to.decimals);
115
+ this.feeInfo = crossChainTrade.feeInfo;
116
+ this.priceImpact = crossChainTrade.priceImpact;
117
+ this.routerAddress = crossChainTrade.routerAddress;
118
+ this.onChainSubtype = crossChainTrade.onChainTrade
119
+ ? { from: crossChainTrade.onChainTrade.type, to: undefined }
120
+ : { from: undefined, to: undefined };
121
+ this.onChainTrade = crossChainTrade.onChainTrade;
122
+ this.isTokenRegistered = crossChainTrade.tokenRegistered;
123
+ }
124
+ async needApprove() {
125
+ this.checkWalletConnected();
126
+ if (this.from.isNative || (this.isErc677 && !this.isProxyTrade)) {
127
+ return false;
128
+ }
129
+ const allowance = await this.fromWeb3Public.getAllowance(this.from.address, this.walletAddress, this.fromContractAddress);
130
+ return this.from.weiAmount.gt(allowance);
131
+ }
132
+ async swapDirect(options = {}) {
133
+ await this.checkTradeErrors();
134
+ if (!this.isProxyTrade || this.isTokenRegistered) {
135
+ await this.checkAllowanceAndApprove(options);
136
+ }
137
+ const { onConfirm, gasLimit, gasPrice, gasPriceOptions } = options;
138
+ let transactionHash;
139
+ const onTransactionHash = (hash) => {
140
+ if (onConfirm) {
141
+ onConfirm(hash);
142
+ }
143
+ transactionHash = hash;
144
+ };
145
+ // eslint-disable-next-line no-useless-catch
146
+ try {
147
+ const { data, to, value } = this.getTransactionRequest(options.receiverAddress || this.walletAddress, this.from, this.to);
148
+ await this.web3Private.trySendTransaction(to, {
149
+ data,
150
+ value,
151
+ onTransactionHash,
152
+ gas: gasLimit,
153
+ gasPrice,
154
+ gasPriceOptions
155
+ });
156
+ return transactionHash;
157
+ }
158
+ catch (err) {
159
+ throw err;
160
+ }
161
+ }
162
+ async getContractParams(options) {
163
+ const receiverAddress = options?.receiverAddress || this.walletAddress;
164
+ const { data, to, value: providerValue } = this.getTransactionRequest(receiverAddress, this.onChainTrade ? this.onChainTrade.to : this.from, this.to);
165
+ const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData(options, {
166
+ walletAddress: this.walletAddress,
167
+ fromTokenAmount: this.from,
168
+ toTokenAmount: this.to,
169
+ srcChainTrade: this.onChainTrade,
170
+ providerAddress: this.providerAddress,
171
+ type: `native:${this.type}`,
172
+ fromAddress: this.walletAddress
173
+ });
174
+ const swapData = this.onChainTrade &&
175
+ (await proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getSwapData(options, {
176
+ walletAddress: this.walletAddress,
177
+ contractAddress: rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].router,
178
+ fromTokenAmount: this.from,
179
+ toTokenAmount: this.onChainTrade.to,
180
+ onChainEncodeFn: this.onChainTrade.encode.bind(this.onChainTrade)
181
+ }));
182
+ const providerData = this.isErc677
183
+ ? this.getProviderDataForErc677(this.from, this.to, receiverAddress)
184
+ : await proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getGenericProviderData(to, data, this.fromBlockchain, to, '0');
185
+ const methodArguments = swapData
186
+ ? [bridgeData, swapData, providerData]
187
+ : [bridgeData, providerData];
188
+ const value = this.getSwapValue(providerValue);
189
+ const transactionConfiguration = evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].router, evm_common_cross_chain_abi_1.evmCommonCrossChainAbi, this.methodName, methodArguments, value);
190
+ const sendingToken = this.from.isNative ? [] : [this.from.address];
191
+ const sendingAmount = this.from.isNative ? [] : [this.from.stringWeiAmount];
192
+ return {
193
+ contractAddress: rubic_proxy_contract_address_1.rubicProxyContractAddress[this.from.blockchain].gateway,
194
+ contractAbi: gateway_rubic_cross_chain_abi_1.gatewayRubicCrossChainAbi,
195
+ methodName: 'startViaRubic',
196
+ methodArguments: [sendingToken, sendingAmount, transactionConfiguration.data],
197
+ value
198
+ };
199
+ }
200
+ getTradeAmountRatio(fromUsd) {
201
+ return fromUsd.dividedBy(this.to.tokenAmount);
202
+ }
203
+ getTradeInfo() {
204
+ return {
205
+ estimatedGas: this.estimatedGas,
206
+ feeInfo: this.feeInfo,
207
+ priceImpact: this.priceImpact ?? null,
208
+ slippage: this.slippage * 100,
209
+ routePath: this.routePath
210
+ };
211
+ }
212
+ getTransactionRequest(receiverAddress, fromToken, toToken) {
213
+ const sourceBridgeManager = bridge_manager_1.BridgeManager.createBridge(fromToken, toToken);
214
+ const tokenAddress = this.getTokenAddress(fromToken);
215
+ if (fromToken.isNative) {
216
+ return sourceBridgeManager.getDataForNativeSwap(receiverAddress, fromToken.stringWeiAmount);
217
+ }
218
+ return sourceBridgeManager.getDataForTokenSwap(receiverAddress, fromToken.stringWeiAmount, this.isErc677, tokenAddress);
219
+ }
220
+ getTokenAddress(token) {
221
+ if (token.blockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM) {
222
+ return token.isNative ? '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' : token.address;
223
+ }
224
+ return token.isNative ? '0xA1077a294dDE1B09bB078844df40758a5D0f9a27' : token.address;
225
+ }
226
+ getProviderDataForErc677(fromToken, toToken, receiverAddress) {
227
+ const sourceBridgeManager = bridge_manager_1.BridgeManager.createBridge(fromToken, toToken);
228
+ return [sourceBridgeManager.sourceBridgeAddress, receiverAddress];
229
+ }
230
+ }
231
+ exports.PulseChainCrossChainTrade = PulseChainCrossChainTrade;
232
+ //# sourceMappingURL=pulse-chain-cross-chain-trade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulse-chain-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/pulse-chain-bridge/pulse-chain-cross-chain-trade.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import BigNumber from 'bignumber.js';
2
- import { BytesLike } from 'ethers';
3
2
  import { PriceToken, PriceTokenAmount } from "../../../../../common/tokens";
4
3
  import { EvmBlockchainName } from "../../../../../core/blockchain/models/blockchain-name";
5
4
  import { EvmEncodeConfig } from "../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config";
@@ -51,5 +50,5 @@ export declare class StargateCrossChainTrade extends EvmCrossChainTrade {
51
50
  getTradeAmountRatio(fromUsd: BigNumber): BigNumber;
52
51
  getTradeInfo(): TradeInfo;
53
52
  protected checkProviderIsWhitelisted(_providerRouter: string, _providerGateway?: string): Promise<void>;
54
- protected getProviderData(_sourceData: BytesLike, dstSwapData?: string, receiverAddress?: string): unknown[];
53
+ private getProviderData;
55
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stargate-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stargate-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/stargate-provider/stargate-cross-chain-trade.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,8CAAmF;AACnF,gFAAgG;AAChG,sEAAmE;AAEnE,6GAAwG;AAExG,uEAAmE;AACnE,yDAAsD;AAGtD,qHAA+G;AAC/G,uHAAoH;AACpH,uJAAiJ;AACjJ,+KAAwK;AACxK,qJAA+I;AAE/I,kHAA+G;AAM/G,wKAAiK;AACjK,8IAA0I;AAC1I,oJAGkH;AAClH,0IAAqI;AACrI,wJAAmJ;AACnJ,0JAAoJ;AAGpJ,qEAAmE;AACnE,qHAA8G;AAC9G,qEAAgE;AAChE,qFAG+C;AAE/C,yEAAoE;AACpE,iFAA2E;AAE3E,MAAa,uBAAwB,SAAQ,0CAAkB;IAC3D,IAAc,UAAU;QACpB,OAAO,IAAI,CAAC,YAAY;YACpB,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,8BAA8B,CAAC;IACzC,CAAC;IAED,iBAAiB;IACV,MAAM,CAAC,KAAK,CAAC,UAAU,CAC1B,IAAyC,EACzC,OAA4C,EAC5C,OAAgB,EAChB,aAAqC,EACrC,aAAqC,EACrC,iBAAyB,EACzB,eAAuB,EACvB,eAAwB;QAExB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAmD,CAAC;QAChF,MAAM,aAAa,GACf,mBAAQ,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;QAEnF,IAAI,CAAC,aAAa,EAAE;YAChB,OAAO,IAAI,CAAC;SACf;QAED,IAAI;YACA,IAAI,QAA0B,CAAC;YAC/B,IAAI,UAAyC,CAAC;YAC9C,MAAM,UAAU,GAAG,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE5E,IAAI,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC5C,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,GACtE,MAAM,IAAI,uBAAuB,CAC7B;oBACI,IAAI;oBACJ,EAAE,EAAE,OAAO;oBACX,iBAAiB;oBACjB,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE;wBACL,QAAQ,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;wBAC1B,QAAQ,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;qBAC7B;oBACD,OAAO;oBACP,aAAa;oBACb,aAAa;oBACb,cAAc,EAAE,IAAI;iBACvB,EACD,eAAe,IAAI,2BAAW,CAAC,aAAa,EAC5C,EAAE,CACL,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBAE5B,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACvD,UAAU,CAAC,eAAe,CACtB,WAAW,EACX,eAAe,EACf,UAAU,EACV,eAAe,EACf,aAAa,EACb,KAAK,CACR;oBACD,IAAA,sCAAkB,EAAC,MAAM,mBAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;iBAC7E,CAAC,CAAC;gBAEH,QAAQ,GAAG,aAAa,CAAC;gBACzB,UAAU,GAAG,eAAe,CAAC;aAChC;iBAAM;gBACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CACrD,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAClE,CAAC;gBAEF,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,uBAAuB,CAAC,oBAAoB,CACnE,IAAI,EACJ,OAAO,EACP,oBAAQ,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,EAClD,eAAe,CAClB,CAAC;gBAEF,MAAM,QAAQ,GAAG,oBAAQ,CAAC,KAAK,CAC3B,OAAO,CAAC,QAAS,CAAC,SAAU,CAAC,MAAM,EACnC,yBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAC7C,CAAC;gBAEF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAEjF,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,qBAAqB,CAAC,aAAa,EAAE,EAAE,EAAE;oBAC9E,IAAI;oBACJ,KAAK;iBACR,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAA,sCAAkB,EACxC,MAAM,mBAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAC1D,CAAC;gBAEF,QAAQ,GAAG,eAAe,CAAC;gBAC3B,UAAU,GAAG,iBAAiB,CAAC;aAClC;YAED,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBACvB,OAAO,IAAI,CAAC;aACf;YAED,MAAM,iBAAiB,GAAG,oBAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAErE,OAAO;gBACH,QAAQ,EAAE,iBAAiB;gBAC3B,GAAG,UAAU;aAChB,CAAC;SACL;QAAC,OAAO,IAAI,EAAE;YACX,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAwBD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAmD,CAAC;IACzE,CAAC;IAED,IAAc,mBAAmB;QAC7B,OAAO,IAAI,CAAC,YAAY;YACpB,CAAC,CAAC,wDAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO;YACxD,CAAC,CAAC,mDAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAQD,YACI,eAUC,EACD,eAAuB,EACvB,SAAsB;QAEtB,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAnDtB,SAAI,GAAG,+CAAsB,CAAC,QAAQ,CAAC;QAEvC,iBAAY,GAAG,KAAK,CAAC;QAgBrB,eAAU,GAAG,yBAAW,CAAC,QAAQ,CAAC;QAkC9C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;QAC3D,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CACpD,CAAC;YACG,CAAC,eAAe,CAAC,aAAa;gBAC1B,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC;gBAC5B,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG;YAClB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI;YAC7B,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI;SAC/B,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;IACzD,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,UAAkC,EAAE;QAC3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAA,oEAA+B,EAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QACnE,IAAI,eAAuB,CAAC;QAC5B,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YACvC,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,IAAI,CAAC,CAAC;aACnB;YACD,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC;QAEF,4CAA4C;QAC5C,IAAI;YACA,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,MAAM,uBAAuB,CAAC,oBAAoB,CACnE,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,oBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EACvD,OAAO,EAAE,eAAe,CAC3B,CAAC;YAEF,MAAM,QAAQ,GAAG,oBAAQ,CAAC,KAAK,CAC3B,IAAI,CAAC,OAAO,CAAC,QAAS,CAAC,SAAU,CAAC,MAAM,EACxC,yBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAClD,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;gBAC9C,CAAC,CAAC,QAAQ,CAAC;YAEf,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EAAE;gBAC1C,IAAI;gBACJ,KAAK;gBACL,iBAAiB;gBACjB,GAAG,EAAE,QAAQ;gBACb,QAAQ;gBACR,eAAe;aAClB,CAAC,CAAC;YAEH,OAAO,eAAgB,CAAC;SAC3B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,CAAC;SACb;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,oBAAoB,CACpC,IAAyC,EACzC,EAAuC,EACvC,iBAAyB,EAAE,CAAC,eAAe,EAC3C,eAAwB,EACxB,OAAgB;QAEhB,MAAM,aAAa,GACf,mBAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,uBAAU,CAAC,GAAG,CAAC,CAAC,OAAO;YAClE,2BAAW,CAAC,aAAa,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAmD,CAAC;QAChF,MAAM,YAAY,GAAG,EAAE,CAAC,UAAmD,CAAC;QAC5E,MAAM,UAAU,GAAG,sCAAiB,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,IAAI,aAAa,CAAC;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChD,MAAM,qBAAqB,GAAG,UAAU;YACpC,CAAC,CAAC,sDAA0B,CAAC,cAAc,CAAE;YAC7C,CAAC,CAAC,mDAAuB,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,mCAAe,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,qBAAqB,GAAG,YAAY,KAAK,iCAAe,CAAC,KAAK,CAAC;QACrE,MAAM,uBAAuB,GAAG,cAAc,KAAK,iCAAe,CAAC,KAAK,CAAC;QAEzE,MAAM,UAAU,GAAG,0DAA0B,CAAC,SAAS,CACnD,IAAI,CAAC,MAAM,EACX,cAAc,EACd,qBAAqB,CACxB,CAAC;QACF,MAAM,QAAQ,GAAG,0DAA0B,CAAC,SAAS,CACjD,EAAE,CAAC,MAAM,EACT,YAAY,EACZ,uBAAuB,CAC1B,CAAC;QAEF,IAAI,SAAS,GAAG,iCAAc,CAAC,UAAiC,CAAC,CAAC;QAClE,IAAI,SAAS,GAAG,iCAAc,CAAC,QAA+B,CAAC,CAAC;QAEhE,oCAAoC;QACpC,IACI,SAAS,KAAK,iCAAc,CAAC,2CAAmB,CAAC,IAAI,CAAC;YACtD,SAAS,KAAK,iCAAc,CAAC,2CAAmB,CAAC,IAAI,CAAC,EACxD;YACE,SAAS,GAAG,iCAAc,CAAC,2CAAmB,CAAC,IAAI,CAAC,CAAC;SACxD;QACD,IACI,SAAS,KAAK,iCAAc,CAAC,2CAAmB,CAAC,IAAI,CAAC;YACtD,SAAS,KAAK,iCAAc,CAAC,2CAAmB,CAAC,IAAI,CAAC,EACxD;YACE,SAAS,GAAG,iCAAc,CAAC,2CAAmB,CAAC,IAAI,CAAC,CAAC;SACxD;QAED,MAAM,SAAS,GAAG,OAAO;YACrB,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,sCAAiB,CAAC,YAAY,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QAEhC,MAAM,eAAe,GAAG,UAAU;YAC9B,CAAC,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC;YAClF,CAAC,CAAC;gBACI,UAAU;gBACV,SAAS;gBACT,SAAS;gBACT,aAAa;gBACb,IAAI,CAAC,eAAe;gBACpB,cAAc;gBACd,SAAS;gBACT,kBAAkB;gBAClB,OAAO,IAAI,IAAI;aAClB,CAAC;QACR,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,8CAAoB,CAAC,CAAC,CAAC,uCAAiB,CAAC;QAClE,OAAO,2BAAW,CAAC,gBAAgB,CAC/B,qBAAqB,EACrB,GAAG,EACH,UAAU,EACV,eAAe,CAClB,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa;YAClC,CAAC,CAAC,CACI,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBAClC,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,2BAAW,CAAC,aAAa;aACjE,CAAC,CACL,CAAC,IAAI;YACR,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,SAAS,GAAG,CACd,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAC9B,CAAC;QAEzC,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,oBAAoB,CACjE,SAAS,EACT,IAAI,CAAC,EAAE,EACP,oBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EACvD,OAAO,EAAE,eAAe,EACxB,WAAW,CACd,CAAC;QAEF,MAAM,UAAU,GAAG,qDAAuB,CAAC,aAAa,CAAC,OAAO,EAAE;YAC9D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,eAAe,EAAE,IAAI,CAAC,IAAI;YAC1B,aAAa,EAAE,IAAI,CAAC,EAAE;YACtB,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;SACjD,CAAC,CAAC;QACH,MAAM,QAAQ,GACV,IAAI,CAAC,YAAY;YACjB,CAAC,MAAM,qDAAuB,CAAC,WAAW,CAAC,OAAO,EAAE;gBAChD,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,eAAe,EAAE,wDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM;gBACvE,eAAe,EAAE,IAAI,CAAC,IAAI;gBAC1B,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;gBACnC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;aACpE,CAAC,CAAC,CAAC;QAER,IAAI,oBAAwC,CAAC;QAC7C,IAAI,WAAW,EAAE;YACb,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,aAAa,GAAG,4CAA4C,CAAC;YAEnE,oBAAoB,GAAG,2BAAW,CAAC,gBAAgB,CAC/C,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAC1C,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,CACpF,CAAC;SACL;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CACrC,UAAU,CAAC,IAAI,EACf,oBAAoB,EACpB,OAAO,CAAC,eAAe,CAC1B,CAAC;QAEF,MAAM,eAAe,GAAG,QAAQ;YAC5B,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC;YACtC,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAEjC,MAAM,QAAQ,GAAG,oBAAQ,CAAC,KAAK,CAC3B,IAAI,CAAC,OAAO,CAAC,QAAS,CAAC,SAAU,CAAC,MAAM,EACxC,yBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAClD,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;YACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;YAC9C,CAAC,CAAC,QAAQ,CAAC;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,wBAAwB,GAAG,2BAAW,CAAC,gBAAgB,CACzD,wDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EACtD,mDAAsB,EACtB,IAAI,CAAC,UAAU,EACf,eAAe,EACf,KAAK,CACR,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE5E,OAAO;YACH,eAAe,EAAE,wDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO;YACxE,WAAW,EAAE,yDAAyB;YACtC,UAAU,EAAE,eAAe;YAC3B,eAAe,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,wBAAwB,CAAC,IAAI,CAAC;YAC7E,KAAK;SACR,CAAC;IACN,CAAC;IAEM,mBAAmB,CAAC,OAAkB;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,CAChD,CAAC;QACF,IAAI,YAAY,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACpC,OAAO,OAAO;iBACT,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;iBAC7C,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;SACvC;QAED,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,CAAC,WAAW,IAAI,IAAI;YACrC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IAES,KAAK,CAAC,0BAA0B,CACtC,eAAuB,EACvB,gBAAyB;QAEzB,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,eAAe,CACnB,WAAsB,EACtB,WAAoB,EACpB,eAAwB;QAExB,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,KAAK,iCAAe,CAAC,KAAK,CAAC;QAE9E,MAAM,QAAQ,GAAG,0DAA0B,CAAC,SAAS,CACjD,IAAI,CAAC,EAAE,CAAC,MAAM,EACd,IAAI,CAAC,EAAE,CAAC,UAAU,EAClB,uBAAuB,CAC1B,CAAC;QACF,MAAM,IAAI,GAAG,iCAAc,CAAC,QAA+B,CAAC,CAAC;QAC7D,MAAM,kBAAkB,GACpB,+CAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,MAA6B,CAAC;YAC5D,+CAAqB,CAAC,QAA+B,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,oBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,oBAAQ,CAAC,KAAK,CACtB,IAAI,CAAC,OAAO,CAAC,QAAS,CAAC,SAAU,CAAC,MAAM,EACxC,yBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAClD,CAAC;QACF,MAAM,kBAAkB,GAAG,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC;QAEjE,OAAO;YACH,IAAI;YACJ,MAAM;YACN,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;YAC5B,GAAG;YACH,IAAI,CAAC,aAAa;YAClB,WAAW;gBACP,CAAC,CAAC,sCAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,UAAmD,CAAC;gBAChF,CAAC,CAAC,kBAAkB;YACxB,WAAW,IAAI,IAAI;SACtB,CAAC;IACN,CAAC;CACJ;AApdD,0DAodC"}
@@ -83,5 +83,6 @@ export declare class CrossChainStatusManager {
83
83
  private getSquidrouterDstSwapStatus;
84
84
  getScrollBridgeDstSwapStatus(data: CrossChainTradeData): Promise<TxStatusData>;
85
85
  getTaikoBridgeDstSwapStatus(data: CrossChainTradeData): Promise<TxStatusData>;
86
+ getPulseChainDstSwapStatus(data: CrossChainTradeData): Promise<TxStatusData>;
86
87
  private getRangoDstSwapStatus;
87
88
  }
@@ -72,7 +72,8 @@ class CrossChainStatusManager {
72
72
  [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.SQUIDROUTER]: this.getSquidrouterDstSwapStatus,
73
73
  [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.SCROLL_BRIDGE]: this.getScrollBridgeDstSwapStatus,
74
74
  [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.TAIKO_BRIDGE]: this.getTaikoBridgeDstSwapStatus,
75
- [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO]: this.getRangoDstSwapStatus
75
+ [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.RANGO]: this.getRangoDstSwapStatus,
76
+ [cross_chain_trade_type_1.CROSS_CHAIN_TRADE_TYPE.PULSE_CHAIN_BRIDGE]: this.getPulseChainDstSwapStatus
76
77
  };
77
78
  }
78
79
  /**
@@ -533,6 +534,19 @@ class CrossChainStatusManager {
533
534
  }
534
535
  return { status: tx_status_1.TX_STATUS.PENDING, hash: null };
535
536
  }
537
+ async getPulseChainDstSwapStatus(data) {
538
+ try {
539
+ const network = data.fromBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM ? 'ethereum' : 'ethereum';
540
+ const result = await injector_1.Injector.httpClient.get(`https://dev-api.rubic.exchange/api/v2/trades/crosschain/pulsechain_bridge_status?tx_hash=${data.srcTxHash}&network=${network}`);
541
+ if (result.status === 'SUCCESS') {
542
+ return { status: tx_status_1.TX_STATUS.SUCCESS, hash: result.dest_transaction };
543
+ }
544
+ return { status: tx_status_1.TX_STATUS.PENDING, hash: null };
545
+ }
546
+ catch {
547
+ return { status: tx_status_1.TX_STATUS.PENDING, hash: null };
548
+ }
549
+ }
536
550
  async getRangoDstSwapStatus(data) {
537
551
  if (!data.rangoRequestId) {
538
552
  throw new errors_1.RubicSdkError('Must provide rangoRequestId');