rubic-sdk 4.53.1 → 4.53.3
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/dist/rubic-sdk.min.js +6 -0
- package/lib/features/common/constants/fake-wallet-address.d.ts +1 -0
- package/lib/features/common/constants/fake-wallet-address.js +6 -0
- package/lib/features/common/constants/fake-wallet-address.js.map +1 -0
- package/lib/features/common/providers/rango/models/rango-parser-types.d.ts +2 -3
- package/lib/features/common/providers/rango/services/rango-parser.js +8 -4
- package/lib/features/common/providers/rango/services/rango-parser.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.d.ts +3 -3
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.js +11 -12
- 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/changenow-provider/models/changenow-payment-info.d.ts +2 -2
- package/lib/features/cross-chain/calculation-manager/providers/changenow-provider/models/changenow-trade.d.ts +3 -0
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js +2 -2
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.d.ts +2 -0
- package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js +3 -1
- package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/constants/odos-api-consts.d.ts +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/constants/odos-api-consts.js +5 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/constants/odos-api-consts.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-api-best-route-types.d.ts +49 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-api-best-route-types.js +3 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-api-best-route-types.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-api-swap-types.d.ts +47 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-api-swap-types.js +3 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-api-swap-types.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-on-chain-parser-types.d.ts +13 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-on-chain-parser-types.js +3 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-on-chain-parser-types.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-on-chain-trade-types.d.ts +8 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-on-chain-trade-types.js +3 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-on-chain-trade-types.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-supported-blockchains.d.ts +2 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-supported-blockchains.js +16 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-supported-blockchains.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/odos-on-chain-provider.d.ts +14 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/odos-on-chain-provider.js +97 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/odos-on-chain-provider.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/odos-on-chain-trade.d.ts +17 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/odos-on-chain-trade.js +103 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/odos-on-chain-trade.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/services/odos-on-chain-api-service.d.ts +6 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/services/odos-on-chain-api-service.js +21 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/services/odos-on-chain-api-service.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/services/odos-on-chain-parser.d.ts +5 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/services/odos-on-chain-parser.js +33 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/odos/services/odos-on-chain-parser.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/rango-on-chain-trade.d.ts +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/rango-on-chain-trade.js +5 -2
- package/lib/features/on-chain/calculation-manager/providers/aggregators/rango/rango-on-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/symbiosis/symbiosis-on-chain-trade.js +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/symbiosis/symbiosis-on-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.d.ts +1 -0
- package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.js +1 -0
- package/lib/features/on-chain/calculation-manager/providers/common/models/on-chain-trade-type.js.map +1 -1
- package/lib/index.d.ts +11 -0
- package/lib/index.js +11 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/node_modules_isomorphic-ws_browser_js.rubic-sdk.min.js +0 -36
- package/dist/node_modules_isomorphic-ws_browser_js.rubic-sdk.min.js.map +0 -1
- package/dist/rubic-sdk.min.js.map +0 -1
- package/dist/vendors-node_modules_noble_curves_esm_secp256k1_js.rubic-sdk.min.js +0 -2982
- package/dist/vendors-node_modules_noble_curves_esm_secp256k1_js.rubic-sdk.min.js.map +0 -1
package/dist/rubic-sdk.min.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FAKE_WALLET_ADDRESS = "0xe388Ed184958062a2ea29B7fD049ca21244AE02e";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FAKE_WALLET_ADDRESS = void 0;
|
|
4
|
+
/* used for passing fromAddress in swap/quote requests with disabled wallet */
|
|
5
|
+
exports.FAKE_WALLET_ADDRESS = '0xe388Ed184958062a2ea29B7fD049ca21244AE02e';
|
|
6
|
+
//# sourceMappingURL=fake-wallet-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-wallet-address.js","sourceRoot":"","sources":["../../../../src/features/common/constants/fake-wallet-address.ts"],"names":[],"mappings":";;;AAAA,8EAA8E;AACjE,QAAA,mBAAmB,GAAG,4CAA4C,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { RangoTradeType } from './rango-api-trade-types';
|
|
2
1
|
export interface RangoSwapQueryParams {
|
|
3
2
|
apiKey: string;
|
|
4
3
|
from: string;
|
|
@@ -10,7 +9,7 @@ export interface RangoSwapQueryParams {
|
|
|
10
9
|
/**
|
|
11
10
|
* List of all accepted swappers (e.g. providers), an empty list means no filter is required
|
|
12
11
|
*/
|
|
13
|
-
swapperGroups?:
|
|
12
|
+
swapperGroups?: string;
|
|
14
13
|
/**
|
|
15
14
|
* Indicates include/exclude mode for the swappers param
|
|
16
15
|
*/
|
|
@@ -22,7 +21,7 @@ export interface RangoBestRouteQueryParams {
|
|
|
22
21
|
to: string;
|
|
23
22
|
amount: string;
|
|
24
23
|
slippage?: number;
|
|
25
|
-
swapperGroups?:
|
|
24
|
+
swapperGroups?: string;
|
|
26
25
|
swappersGroupsExclude?: boolean;
|
|
27
26
|
}
|
|
28
27
|
/**
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RangoCommonParser = void 0;
|
|
4
4
|
const web3_pure_1 = require("../../../../../core/blockchain/web3-pure/web3-pure");
|
|
5
5
|
const injector_1 = require("../../../../../core/injector/injector");
|
|
6
|
+
const fake_wallet_address_1 = require("../../../constants/fake-wallet-address");
|
|
6
7
|
const rango_api_common_1 = require("../constants/rango-api-common");
|
|
7
8
|
const rango_utils_1 = require("../utils/rango-utils");
|
|
8
9
|
class RangoCommonParser {
|
|
@@ -14,7 +15,9 @@ class RangoCommonParser {
|
|
|
14
15
|
const toParam = await rango_utils_1.RangoUtils.getFromToQueryParam(toToken);
|
|
15
16
|
const amountParam = web3_pure_1.Web3Pure.toWei(from.tokenAmount, from.decimals);
|
|
16
17
|
const apiKey = rango_api_common_1.RANGO_API_KEY;
|
|
17
|
-
const swapperGroups = options.swapperGroups
|
|
18
|
+
const swapperGroups = options.swapperGroups
|
|
19
|
+
?.map(swapper => rango_utils_1.RangoUtils.getTradeTypeForRango(swapper))
|
|
20
|
+
.join(',');
|
|
18
21
|
return {
|
|
19
22
|
apiKey,
|
|
20
23
|
from: fromParam,
|
|
@@ -31,11 +34,12 @@ class RangoCommonParser {
|
|
|
31
34
|
const to = await rango_utils_1.RangoUtils.getFromToQueryParam(toToken);
|
|
32
35
|
const walletAddress = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(fromToken.blockchain).address;
|
|
33
36
|
const fromAddress = options.fromAddress || walletAddress;
|
|
34
|
-
const
|
|
35
|
-
const toAddress = options?.receiverAddress || walletAddress || fakeAddress;
|
|
37
|
+
const toAddress = options?.receiverAddress || walletAddress || fake_wallet_address_1.FAKE_WALLET_ADDRESS;
|
|
36
38
|
const slippage = options.slippageTolerance * 100;
|
|
37
39
|
const apiKey = rango_api_common_1.RANGO_API_KEY;
|
|
38
|
-
const swapperGroups = options.swapperGroups
|
|
40
|
+
const swapperGroups = options.swapperGroups
|
|
41
|
+
?.map(swapper => rango_utils_1.RangoUtils.getTradeTypeForRango(swapper))
|
|
42
|
+
.join(',');
|
|
39
43
|
return {
|
|
40
44
|
apiKey,
|
|
41
45
|
amount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rango-parser.js","sourceRoot":"","sources":["../../../../../../src/features/common/providers/rango/services/rango-parser.ts"],"names":[],"mappings":";;;AAEA,uEAAmE;AACnE,yDAAsD;
|
|
1
|
+
{"version":3,"file":"rango-parser.js","sourceRoot":"","sources":["../../../../../../src/features/common/providers/rango/services/rango-parser.ts"],"names":[],"mappings":";;;AAEA,uEAAmE;AACnE,yDAAsD;AACtD,2FAAwF;AAExF,oEAA8D;AAS9D,sDAAkD;AAElD,MAAa,iBAAiB;IAC1B;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,uBAAuB,CACvC,IAAyC,EACzC,OAAsC,EACtC,OAAqC;QAErC,MAAM,SAAS,GAAG,MAAM,wBAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,wBAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE9D,MAAM,WAAW,GAAG,oBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,gCAAa,CAAC;QAE7B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa;YACvC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,wBAAU,CAAC,oBAAoB,CAAC,OAAiC,CAAC,CAAC;aACnF,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,OAAO;YACH,MAAM;YACN,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,WAAW;YACnB,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC;YAC/E,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,aAAa,EAAE,CAAC;YAC/C,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,IAAI;SAChE,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAClC,SAA8C,EAC9C,OAAsC,EACtC,OAAgC;QAEhC,MAAM,MAAM,GAAG,oBAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,wBAAU,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,MAAM,wBAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEzD,MAAM,aAAa,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,0BAA0B,CACxE,SAAS,CAAC,UAAU,CACvB,CAAC,OAAO,CAAC;QACV,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC;QACzD,MAAM,SAAS,GAAG,OAAO,EAAE,eAAe,IAAI,aAAa,IAAI,yCAAmB,CAAC;QAEnF,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC;QACjD,MAAM,MAAM,GAAG,gCAAa,CAAC;QAE7B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa;YACvC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,wBAAU,CAAC,oBAAoB,CAAC,OAAiC,CAAC,CAAC;aACnF,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,OAAO;YACH,MAAM;YACN,MAAM;YACN,IAAI;YACJ,EAAE;YACF,WAAW;YACX,QAAQ;YACR,SAAS;YACT,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,aAAa,EAAE,CAAC;YAC/C,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,IAAI;SAChE,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAChC,SAAiB,EACjB,SAAiB;QAEjB,MAAM,MAAM,GAAG,gCAAa,CAAC;QAE7B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;CACJ;AA3ED,8CA2EC"}
|
|
@@ -13,10 +13,10 @@ import { GasData } from '../common/emv-cross-chain-trade/models/gas-data';
|
|
|
13
13
|
import { FeeInfo } from '../common/models/fee-info';
|
|
14
14
|
import { GetContractParamsOptions } from '../common/models/get-contract-params-options';
|
|
15
15
|
import { RubicStep } from '../common/models/rubicStep';
|
|
16
|
-
import { TradeInfo } from '../common/models/trade-info';
|
|
17
16
|
import { EvmOnChainTrade } from '../../../../on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
|
|
18
17
|
import { MarkRequired } from 'ts-essentials';
|
|
19
18
|
import { TransactionConfig } from 'web3-core';
|
|
19
|
+
import { TradeInfo } from '../common/models/trade-info';
|
|
20
20
|
export declare class ChangenowCrossChainTrade extends EvmCrossChainTrade {
|
|
21
21
|
/** @internal */
|
|
22
22
|
static getGasData(changenowTrade: ChangenowTrade, providerAddress: string, receiverAddress?: string): Promise<GasData | null>;
|
|
@@ -29,7 +29,7 @@ export declare class ChangenowCrossChainTrade extends EvmCrossChainTrade {
|
|
|
29
29
|
readonly gasData: GasData;
|
|
30
30
|
readonly feeInfo: FeeInfo;
|
|
31
31
|
readonly onChainSubtype: {
|
|
32
|
-
from: "SOLANA" | "LIFI" | "BRIDGERS" | "RANGO" | "OPEN_OCEAN" | "SYNAPSE" | "10K_SWAP" | "AERODROME" | "ACRYPTOS" | "ALDRIN_EXCHANGE" | "ALGEBRA" | "ALGEBRA_INTEGRAL" | "ANNEX" | "APE_SWAP" | "ARTH_SWAP" | "ASTRO_SWAP" | "AURORA_SWAP" | "AVNU" | "BABY_SWAP" | "BALANCER" | "BASE_SWAP" | "BEAM_SWAP" | "BI_SWAP" | "CHERRY_SWAP" | "CLAIM_SWAP" | "CREMA_FINANCE" | "CRO_SWAP" | "CRONA_SWAP" | "CROPPER_FINANCE" | "CROW_FI" | "CRO_DEX" | "CURVE" | "DEFI_PLAZA" | "DEFI_SWAP" | "DFYN" | "DODO" | "DYSTOPIA" | "ECHO_DEX" | "ELK" | "FINKUJIRA" | "FUSIONX" | "HONEY_SWAP" | "HORIZONDEX" | "JET_SWAP" | "JOE" | "JUPITER" | "JUPITER_SWAP" | "J_SWAP" | "KYBER_SWAP" | "LUA_SWAP" | "MAVERICK" | "MDEX" | "MESH_SWAP" | "MM_FINANCE" | "MOJITO_SWAP" | "MUTE_SWAP" | "NET_SWAP" | "OKC_SWAP" | "ONE_INCH" | "ONE_MOON" | "ONE_SOL" | "OMNIDEX" | "OOLONG_SWAP" | "ORCA_SWAP" | "OSMOSIS_SWAP" | "PANCAKE_SWAP" | "PANCAKE_SWAP_V3" | "PANGOLIN" | "PARA_SWAP" | "PEGASYS" | "PHOTON_SWAP" | "POLYDEX" | "QUICK_SWAP" | "QUICK_SWAP_V3" | "PULSEX_V1" | "PULSEX_V2" | "RAYDIUM" | "REF_FINANCE" | "REN_BTC" | "SABER_STABLE_SWAP" | "SAROS_SWAP" | "SERUM" | "SHIBA_SWAP" | "SMOOTHY" | "SOLAR_BEAM" | "SPACEFI_SWAP" | "SPIRIT_SWAP" | "SPL_TOKEN_SWAP" | "SPOOKY_SWAP" | "SOUL_SWAP" | "STELLA_SWAP" | "SUN_SWAP" | "SURFDEX" | "SUSHI_SWAP" | "SYNC_SWAP" | "SYMBIOSIS_SWAP" | "TRADER" | "TRISOLARIS" | "IZUMI" | "UBE_SWAP" | "UNISWAP_V2" | "UNI_SWAP_V3" | "VERSE" | "VIPER_SWAP" | "VOLTAGE_SWAP" | "VOOI" | "VVS_FINANCE" | "WAGYU_SWAP" | "WANNA_SWAP" | "WAULT_SWAP" | "WOO_FI" | "WRAPPED" | "WYND" | "YUZU_SWAP" | "XY_DEX" | "ZAPPY" | "ZIP_SWAP" | "ZRX";
|
|
32
|
+
from: "SOLANA" | "LIFI" | "BRIDGERS" | "RANGO" | "OPEN_OCEAN" | "SYNAPSE" | "10K_SWAP" | "AERODROME" | "ACRYPTOS" | "ALDRIN_EXCHANGE" | "ALGEBRA" | "ALGEBRA_INTEGRAL" | "ANNEX" | "APE_SWAP" | "ARTH_SWAP" | "ASTRO_SWAP" | "AURORA_SWAP" | "AVNU" | "BABY_SWAP" | "BALANCER" | "BASE_SWAP" | "BEAM_SWAP" | "BI_SWAP" | "CHERRY_SWAP" | "CLAIM_SWAP" | "CREMA_FINANCE" | "CRO_SWAP" | "CRONA_SWAP" | "CROPPER_FINANCE" | "CROW_FI" | "CRO_DEX" | "CURVE" | "DEFI_PLAZA" | "DEFI_SWAP" | "DFYN" | "DODO" | "DYSTOPIA" | "ECHO_DEX" | "ELK" | "FINKUJIRA" | "FUSIONX" | "HONEY_SWAP" | "HORIZONDEX" | "JET_SWAP" | "JOE" | "JUPITER" | "JUPITER_SWAP" | "J_SWAP" | "KYBER_SWAP" | "LUA_SWAP" | "MAVERICK" | "MDEX" | "MESH_SWAP" | "MM_FINANCE" | "MOJITO_SWAP" | "MUTE_SWAP" | "NET_SWAP" | "OKC_SWAP" | "ODOS" | "ONE_INCH" | "ONE_MOON" | "ONE_SOL" | "OMNIDEX" | "OOLONG_SWAP" | "ORCA_SWAP" | "OSMOSIS_SWAP" | "PANCAKE_SWAP" | "PANCAKE_SWAP_V3" | "PANGOLIN" | "PARA_SWAP" | "PEGASYS" | "PHOTON_SWAP" | "POLYDEX" | "QUICK_SWAP" | "QUICK_SWAP_V3" | "PULSEX_V1" | "PULSEX_V2" | "RAYDIUM" | "REF_FINANCE" | "REN_BTC" | "SABER_STABLE_SWAP" | "SAROS_SWAP" | "SERUM" | "SHIBA_SWAP" | "SMOOTHY" | "SOLAR_BEAM" | "SPACEFI_SWAP" | "SPIRIT_SWAP" | "SPL_TOKEN_SWAP" | "SPOOKY_SWAP" | "SOUL_SWAP" | "STELLA_SWAP" | "SUN_SWAP" | "SURFDEX" | "SUSHI_SWAP" | "SYNC_SWAP" | "SYMBIOSIS_SWAP" | "TRADER" | "TRISOLARIS" | "IZUMI" | "UBE_SWAP" | "UNISWAP_V2" | "UNI_SWAP_V3" | "VERSE" | "VIPER_SWAP" | "VOLTAGE_SWAP" | "VOOI" | "VVS_FINANCE" | "WAGYU_SWAP" | "WANNA_SWAP" | "WAULT_SWAP" | "WOO_FI" | "WRAPPED" | "WYND" | "YUZU_SWAP" | "XY_DEX" | "ZAPPY" | "ZIP_SWAP" | "ZRX";
|
|
33
33
|
to: undefined;
|
|
34
34
|
} | {
|
|
35
35
|
from: undefined;
|
|
@@ -41,7 +41,7 @@ export declare class ChangenowCrossChainTrade extends EvmCrossChainTrade {
|
|
|
41
41
|
* id of changenow trade, used to get trade status.
|
|
42
42
|
*/
|
|
43
43
|
id: string | undefined;
|
|
44
|
-
private
|
|
44
|
+
private payinAddress;
|
|
45
45
|
private readonly fromCurrency;
|
|
46
46
|
private readonly toCurrency;
|
|
47
47
|
private get transitToken();
|
|
@@ -111,14 +111,9 @@ class ChangenowCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
|
|
|
111
111
|
transactionHash = hash;
|
|
112
112
|
};
|
|
113
113
|
try {
|
|
114
|
-
await this.
|
|
115
|
-
if (!options.directTransaction) {
|
|
116
|
-
const { id, payinAddress } = await this.getPaymentInfo(this.transitToken.tokenAmount, options.receiverAddress ? options.receiverAddress : this.walletAddress, false);
|
|
117
|
-
this.id = id;
|
|
118
|
-
this.txTo = payinAddress;
|
|
119
|
-
}
|
|
114
|
+
const { payinAddress } = await this.getPaymentInfo(this.transitToken.tokenAmount, options.receiverAddress ? options.receiverAddress : this.walletAddress, false, options.directTransaction);
|
|
120
115
|
if (this.from.isNative) {
|
|
121
|
-
await this.web3Private.trySendTransaction(
|
|
116
|
+
await this.web3Private.trySendTransaction(payinAddress, {
|
|
122
117
|
value: this.from.weiAmount,
|
|
123
118
|
onTransactionHash,
|
|
124
119
|
gasPrice,
|
|
@@ -126,7 +121,7 @@ class ChangenowCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
|
|
|
126
121
|
});
|
|
127
122
|
}
|
|
128
123
|
else {
|
|
129
|
-
await this.web3Private.tryExecuteContractMethod(this.from.address, erc_20_token_abi_1.ERC20_TOKEN_ABI, 'transfer', [
|
|
124
|
+
await this.web3Private.tryExecuteContractMethod(this.from.address, erc_20_token_abi_1.ERC20_TOKEN_ABI, 'transfer', [payinAddress, this.from.stringWeiAmount], {
|
|
130
125
|
onTransactionHash,
|
|
131
126
|
gas: gasLimit,
|
|
132
127
|
gasPrice,
|
|
@@ -156,7 +151,10 @@ class ChangenowCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
|
|
|
156
151
|
...(extraField && { extraField })
|
|
157
152
|
};
|
|
158
153
|
}
|
|
159
|
-
async getPaymentInfo(fromAmount, receiverAddress, skipAmountChangeCheck = false) {
|
|
154
|
+
async getPaymentInfo(fromAmount, receiverAddress, skipAmountChangeCheck = false, directTransaction) {
|
|
155
|
+
if (directTransaction && this.payinAddress && this.id) {
|
|
156
|
+
return { id: this.id, payinAddress: this.payinAddress };
|
|
157
|
+
}
|
|
160
158
|
const params = {
|
|
161
159
|
fromCurrency: this.fromCurrency.ticker,
|
|
162
160
|
toCurrency: this.toCurrency.ticker,
|
|
@@ -168,6 +166,8 @@ class ChangenowCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
|
|
|
168
166
|
};
|
|
169
167
|
const res = await changenow_cross_chain_api_service_1.ChangeNowCrossChainApiService.getSwapTx(params);
|
|
170
168
|
const toAmountWei = web3_pure_1.Web3Pure.toWei(res.toAmount, this.to.decimals);
|
|
169
|
+
this.payinAddress = res.payinAddress;
|
|
170
|
+
this.id = res.id;
|
|
171
171
|
if (!skipAmountChangeCheck) {
|
|
172
172
|
// Mock EvmConfig cause CN doesn't provide tx-data
|
|
173
173
|
evm_cross_chain_trade_1.EvmCrossChainTrade.checkAmountChange({ data: '', to: '', value: '' }, toAmountWei, this.to.stringWeiAmount);
|
|
@@ -175,8 +175,7 @@ class ChangenowCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
|
|
|
175
175
|
return res;
|
|
176
176
|
}
|
|
177
177
|
async getContractParams(options, skipAmountChangeCheck) {
|
|
178
|
-
const paymentInfo = await this.getPaymentInfo(this.transitToken.tokenAmount, options?.receiverAddress || this.walletAddress, skipAmountChangeCheck);
|
|
179
|
-
this.id = paymentInfo.id;
|
|
178
|
+
const paymentInfo = await this.getPaymentInfo(this.transitToken.tokenAmount, options?.receiverAddress || this.walletAddress, skipAmountChangeCheck, options.directTransaction);
|
|
180
179
|
const toToken = this.to.clone({ address: evm_web3_pure_1.EvmWeb3Pure.EMPTY_ADDRESS });
|
|
181
180
|
const bridgeData = proxy_cross_chain_evm_trade_1.ProxyCrossChainEvmTrade.getBridgeData({
|
|
182
181
|
...options,
|
|
@@ -238,7 +237,7 @@ class ChangenowCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
|
|
|
238
237
|
const { contractAddress, contractAbi, methodName, methodArguments, value } = await this.getContractParams({
|
|
239
238
|
fromAddress: options.fromAddress,
|
|
240
239
|
receiverAddress: options.receiverAddress || options.fromAddress
|
|
241
|
-
});
|
|
240
|
+
}, true);
|
|
242
241
|
return evm_web3_pure_1.EvmWeb3Pure.encodeMethodCall(contractAddress, contractAbi, methodName, methodArguments, value, {
|
|
243
242
|
gas: gasLimit || this.gasData?.gasLimit.toFixed(0),
|
|
244
243
|
...(0, options_1.getGasOptions)(options)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changenow-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.ts"],"names":[],"mappings":";;;AACA,8CAA2F;AAE3F,sDAAyD;AAEzD,kGAA8F;AAE9F,qIAAiI;AACjI,6GAAwG;
|
|
1
|
+
{"version":3,"file":"changenow-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../src/features/cross-chain/calculation-manager/providers/changenow-provider/changenow-cross-chain-trade.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ import { ChangenowCurrency } from './changenow-currencies-api';
|
|
|
5
5
|
import { GasData } from '../../common/emv-cross-chain-trade/models/gas-data';
|
|
6
6
|
import { FeeInfo } from '../../common/models/fee-info';
|
|
7
7
|
import { EvmOnChainTrade } from '../../../../../on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade';
|
|
8
|
+
import { MarkRequired } from 'ts-essentials';
|
|
9
|
+
import { ChangenowSwapResponse } from './changenow-swap.api';
|
|
8
10
|
export interface ChangenowTrade {
|
|
9
11
|
from: PriceTokenAmount<ChangenowCrossChainSupportedBlockchain>;
|
|
10
12
|
to: PriceTokenAmount<ChangenowCrossChainSupportedBlockchain>;
|
|
@@ -15,3 +17,4 @@ export interface ChangenowTrade {
|
|
|
15
17
|
gasData: GasData;
|
|
16
18
|
onChainTrade: EvmOnChainTrade | null;
|
|
17
19
|
}
|
|
20
|
+
export type GetPaymentInfoReturnType = MarkRequired<Partial<ChangenowSwapResponse>, 'id' | 'payinAddress'>;
|
|
@@ -37,7 +37,7 @@ export declare abstract class EvmCrossChainTrade extends CrossChainTrade {
|
|
|
37
37
|
private swapWithParams;
|
|
38
38
|
encode(options: EncodeTransactionOptions): Promise<TransactionConfig>;
|
|
39
39
|
encodeApprove(tokenAddress: string, spenderAddress: string, value: BigNumber | 'infinity', options?: EvmTransactionOptions): Promise<TransactionConfig>;
|
|
40
|
-
protected abstract getContractParams(options: GetContractParamsOptions): Promise<ContractParams>;
|
|
40
|
+
protected abstract getContractParams(options: GetContractParamsOptions, skipAmountChangeCheck?: boolean): Promise<ContractParams>;
|
|
41
41
|
static checkAmountChange(transactionRequest: EvmEncodeConfig, newWeiAmount: string, oldWeiAmount: string): void;
|
|
42
42
|
getUsdPrice(providerFeeToken?: BigNumber): BigNumber;
|
|
43
43
|
}
|
|
@@ -89,7 +89,7 @@ class EvmCrossChainTrade extends cross_chain_trade_1.CrossChainTrade {
|
|
|
89
89
|
}
|
|
90
90
|
transactionHash = hash;
|
|
91
91
|
};
|
|
92
|
-
const { contractAddress, contractAbi, methodName, methodArguments, value } = await this.getContractParams(options);
|
|
92
|
+
const { contractAddress, contractAbi, methodName, methodArguments, value } = await this.getContractParams(options, false);
|
|
93
93
|
try {
|
|
94
94
|
let method = 'tryExecuteContractMethod';
|
|
95
95
|
if (options?.testMode) {
|
|
@@ -131,7 +131,7 @@ class EvmCrossChainTrade extends cross_chain_trade_1.CrossChainTrade {
|
|
|
131
131
|
static checkAmountChange(transactionRequest, newWeiAmount, oldWeiAmount) {
|
|
132
132
|
const oldAmount = new bignumber_js_1.default(oldWeiAmount);
|
|
133
133
|
const newAmount = new bignumber_js_1.default(newWeiAmount);
|
|
134
|
-
const acceptablePercentPriceChange = new bignumber_js_1.default(0.
|
|
134
|
+
const acceptablePercentPriceChange = new bignumber_js_1.default(0.01).dividedBy(100);
|
|
135
135
|
const amountPlusPercent = oldAmount.multipliedBy(acceptablePercentPriceChange.plus(1));
|
|
136
136
|
const amountMinusPercent = oldAmount.multipliedBy(new bignumber_js_1.default(1).minus(acceptablePercentPriceChange));
|
|
137
137
|
const shouldThrowError = newAmount.lt(amountMinusPercent) || newAmount.gt(amountPlusPercent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"evm-cross-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.ts"],"names":[],"mappings":"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"}
|
package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { LifiProvider } from '../providers/aggregators/lifi/lifi-provider';
|
|
2
|
+
import { OdosOnChainProvider } from '../providers/aggregators/odos/odos-on-chain-provider';
|
|
2
3
|
import { OpenOceanProvider } from '../providers/aggregators/open-ocean/open-ocean-provider';
|
|
3
4
|
import { RangoOnChainProvider } from '../providers/aggregators/rango/rango-on-chain-provider';
|
|
4
5
|
export declare const AGGREGATORS_ON_CHAIN: {
|
|
5
6
|
readonly LIFI: typeof LifiProvider;
|
|
6
7
|
readonly OPEN_OCEAN: typeof OpenOceanProvider;
|
|
7
8
|
readonly RANGO: typeof RangoOnChainProvider;
|
|
9
|
+
readonly ODOS: typeof OdosOnChainProvider;
|
|
8
10
|
};
|
package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AGGREGATORS_ON_CHAIN = void 0;
|
|
4
4
|
const lifi_provider_1 = require("../providers/aggregators/lifi/lifi-provider");
|
|
5
|
+
const odos_on_chain_provider_1 = require("../providers/aggregators/odos/odos-on-chain-provider");
|
|
5
6
|
const open_ocean_provider_1 = require("../providers/aggregators/open-ocean/open-ocean-provider");
|
|
6
7
|
const rango_on_chain_provider_1 = require("../providers/aggregators/rango/rango-on-chain-provider");
|
|
7
8
|
exports.AGGREGATORS_ON_CHAIN = {
|
|
8
9
|
LIFI: lifi_provider_1.LifiProvider,
|
|
9
10
|
OPEN_OCEAN: open_ocean_provider_1.OpenOceanProvider,
|
|
10
|
-
RANGO: rango_on_chain_provider_1.RangoOnChainProvider
|
|
11
|
+
RANGO: rango_on_chain_provider_1.RangoOnChainProvider,
|
|
12
|
+
ODOS: odos_on_chain_provider_1.OdosOnChainProvider
|
|
11
13
|
// SYMBIOSIS: SymbiosisOnChainProvider
|
|
12
14
|
};
|
|
13
15
|
//# sourceMappingURL=on-chain-manager-aggregators-types.js.map
|
package/lib/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-chain-manager-aggregators-types.js","sourceRoot":"","sources":["../../../../../src/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.ts"],"names":[],"mappings":";;;AAAA,+EAA2E;AAC3E,iGAA4F;AAC5F,oGAA8F;AAEjF,QAAA,oBAAoB,GAAG;IAChC,IAAI,EAAE,4BAAY;IAClB,UAAU,EAAE,uCAAiB;IAC7B,KAAK,EAAE,8CAAoB;IAC3B,sCAAsC;CAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"on-chain-manager-aggregators-types.js","sourceRoot":"","sources":["../../../../../src/features/on-chain/calculation-manager/models/on-chain-manager-aggregators-types.ts"],"names":[],"mappings":";;;AAAA,+EAA2E;AAC3E,iGAA2F;AAC3F,iGAA4F;AAC5F,oGAA8F;AAEjF,QAAA,oBAAoB,GAAG;IAChC,IAAI,EAAE,4BAAY;IAClB,UAAU,EAAE,uCAAiB;IAC7B,KAAK,EAAE,8CAAoB;IAC3B,IAAI,EAAE,4CAAmB;IACzB,sCAAsC;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ODOS_API_BASE_URL = "https://api.odos.xyz";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odos-api-consts.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/odos/constants/odos-api-consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Any } from '../../../../../../../common/utils/types';
|
|
2
|
+
export interface OdosBestRouteRequestBody {
|
|
3
|
+
chainId: number;
|
|
4
|
+
inputTokens: OdosInputTokenRequest[];
|
|
5
|
+
outputTokens: OdosOutputTokenRequest[];
|
|
6
|
+
userAddr: string;
|
|
7
|
+
slippageLimitPercent: number;
|
|
8
|
+
sourceBlacklist: string[];
|
|
9
|
+
sourceWhitelist: string[];
|
|
10
|
+
simple?: boolean;
|
|
11
|
+
compact?: boolean;
|
|
12
|
+
likeAsset?: boolean;
|
|
13
|
+
disableRFQs?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface OdosInputTokenRequest {
|
|
16
|
+
tokenAddress: string;
|
|
17
|
+
amount: string;
|
|
18
|
+
}
|
|
19
|
+
export interface OdosOutputTokenRequest {
|
|
20
|
+
tokenAddress: string;
|
|
21
|
+
proportion: number;
|
|
22
|
+
}
|
|
23
|
+
export interface OdosBestRouteResponse {
|
|
24
|
+
pathId: string;
|
|
25
|
+
inTokens: string[];
|
|
26
|
+
outTokens: string[];
|
|
27
|
+
/**
|
|
28
|
+
* inAmounts/outAmounts - wei-amount (string)
|
|
29
|
+
*/
|
|
30
|
+
inAmounts: string[];
|
|
31
|
+
outAmounts: string[];
|
|
32
|
+
/**
|
|
33
|
+
* inValues/outValues - float number with comma between integer and decimals
|
|
34
|
+
*/
|
|
35
|
+
inValues: number[];
|
|
36
|
+
outValues: number[];
|
|
37
|
+
netOutValue: number;
|
|
38
|
+
priceImpact: number | null;
|
|
39
|
+
percentDiff: number;
|
|
40
|
+
partnerFeePercent: number;
|
|
41
|
+
gasEstimate: number;
|
|
42
|
+
gasEstimateValue: number;
|
|
43
|
+
dataGasEstimate: string;
|
|
44
|
+
gweiPerGas: number;
|
|
45
|
+
deprecated: string | null;
|
|
46
|
+
blockNumber: number;
|
|
47
|
+
pathViz: Record<string, Any>;
|
|
48
|
+
pathVizImage: string | null;
|
|
49
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odos-api-best-route-types.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-api-best-route-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface OdosSwapRequestBody {
|
|
2
|
+
userAddr: string;
|
|
3
|
+
pathId: string;
|
|
4
|
+
simulate?: boolean;
|
|
5
|
+
receiver?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface OdosSwapResponse {
|
|
8
|
+
inputTokens: OdosInputTokenResponse[];
|
|
9
|
+
outputTokens: OdosOutputTokenResponse[];
|
|
10
|
+
outValues: string[];
|
|
11
|
+
transaction: OdosTx | null;
|
|
12
|
+
simulation: OdosSimulation | null;
|
|
13
|
+
netOutValue: number;
|
|
14
|
+
blockNumber: number;
|
|
15
|
+
gasEstimate: number;
|
|
16
|
+
gasEstimateValue: number;
|
|
17
|
+
deprecated: string | null;
|
|
18
|
+
}
|
|
19
|
+
export interface OdosTx {
|
|
20
|
+
gas: number;
|
|
21
|
+
gasPrice: number;
|
|
22
|
+
value: string;
|
|
23
|
+
to: string;
|
|
24
|
+
from: string;
|
|
25
|
+
data: string;
|
|
26
|
+
nonce: number;
|
|
27
|
+
chainId: number;
|
|
28
|
+
}
|
|
29
|
+
interface OdosSimulation {
|
|
30
|
+
isSuccess: boolean;
|
|
31
|
+
amountsOut: number[];
|
|
32
|
+
gasEstimate: number;
|
|
33
|
+
simulationError: OdosSimulationError | null;
|
|
34
|
+
}
|
|
35
|
+
interface OdosSimulationError {
|
|
36
|
+
type: string;
|
|
37
|
+
errorMessage: string;
|
|
38
|
+
}
|
|
39
|
+
interface OdosInputTokenResponse {
|
|
40
|
+
tokenAddress: string;
|
|
41
|
+
amount: string;
|
|
42
|
+
}
|
|
43
|
+
interface OdosOutputTokenResponse {
|
|
44
|
+
tokenAddress: string;
|
|
45
|
+
amount: string;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odos-api-swap-types.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-api-swap-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PriceToken, PriceTokenAmount } from '../../../../../../../common/tokens';
|
|
2
|
+
import { EvmBlockchainName } from '../../../../../../../core/blockchain/models/blockchain-name';
|
|
3
|
+
import { RequiredOnChainCalculationOptions } from '../../../common/models/on-chain-calculation-options';
|
|
4
|
+
export interface GetBestRouteBodyType {
|
|
5
|
+
from: PriceTokenAmount<EvmBlockchainName>;
|
|
6
|
+
toToken: PriceToken<EvmBlockchainName>;
|
|
7
|
+
options: RequiredOnChainCalculationOptions;
|
|
8
|
+
/**
|
|
9
|
+
* to exclude/include swappers need to find name in odos-api - check /info/liquidity-sources/{chain_id} endpoint
|
|
10
|
+
*/
|
|
11
|
+
swappersBlacklist: string[];
|
|
12
|
+
swappersWhitelist: string[];
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odos-on-chain-parser-types.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-on-chain-parser-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EvmOnChainTradeStruct } from '../../../common/on-chain-trade/evm-on-chain-trade/models/evm-on-chain-trade-struct';
|
|
2
|
+
import { OdosBestRouteRequestBody } from './odos-api-best-route-types';
|
|
3
|
+
export interface OdosOnChainTradeStruct extends EvmOnChainTradeStruct {
|
|
4
|
+
/**
|
|
5
|
+
* Used to get fresh active pathId for swap request
|
|
6
|
+
*/
|
|
7
|
+
bestRouteRequestBody: OdosBestRouteRequestBody;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odos-on-chain-trade-types.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-on-chain-trade-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.odosSupportedBlockchains = void 0;
|
|
4
|
+
const blockchain_name_1 = require("../../../../../../../core/blockchain/models/blockchain-name");
|
|
5
|
+
exports.odosSupportedBlockchains = [
|
|
6
|
+
blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM,
|
|
7
|
+
blockchain_name_1.BLOCKCHAIN_NAME.ZK_SYNC,
|
|
8
|
+
blockchain_name_1.BLOCKCHAIN_NAME.BASE,
|
|
9
|
+
blockchain_name_1.BLOCKCHAIN_NAME.POLYGON,
|
|
10
|
+
blockchain_name_1.BLOCKCHAIN_NAME.OPTIMISM,
|
|
11
|
+
blockchain_name_1.BLOCKCHAIN_NAME.AVALANCHE,
|
|
12
|
+
blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM,
|
|
13
|
+
blockchain_name_1.BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN,
|
|
14
|
+
blockchain_name_1.BLOCKCHAIN_NAME.FANTOM
|
|
15
|
+
];
|
|
16
|
+
//# sourceMappingURL=odos-supported-blockchains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odos-supported-blockchains.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/odos/models/odos-supported-blockchains.ts"],"names":[],"mappings":";;;AAAA,gFAA6E;AAEhE,QAAA,wBAAwB,GAAG;IACpC,iCAAe,CAAC,QAAQ;IACxB,iCAAe,CAAC,OAAO;IACvB,iCAAe,CAAC,IAAI;IACpB,iCAAe,CAAC,OAAO;IACvB,iCAAe,CAAC,QAAQ;IACxB,iCAAe,CAAC,SAAS;IACzB,iCAAe,CAAC,QAAQ;IACxB,iCAAe,CAAC,mBAAmB;IACnC,iCAAe,CAAC,MAAM;CAChB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PriceToken, PriceTokenAmount } from '../../../../../../common/tokens';
|
|
2
|
+
import { BlockchainName, EvmBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
|
|
3
|
+
import { OnChainTradeError } from '../../../models/on-chain-trade-error';
|
|
4
|
+
import { RequiredOnChainCalculationOptions } from '../../common/models/on-chain-calculation-options';
|
|
5
|
+
import { AggregatorOnChainProvider } from '../../common/on-chain-aggregator/aggregator-on-chain-provider-abstract';
|
|
6
|
+
import { GasFeeInfo } from '../../common/on-chain-trade/evm-on-chain-trade/models/gas-fee-info';
|
|
7
|
+
import { OnChainTrade } from '../../common/on-chain-trade/on-chain-trade';
|
|
8
|
+
import { OdosOnChainTradeStruct } from './models/odos-on-chain-trade-types';
|
|
9
|
+
export declare class OdosOnChainProvider extends AggregatorOnChainProvider {
|
|
10
|
+
readonly tradeType: "ODOS";
|
|
11
|
+
protected isSupportedBlockchain(blockchainName: BlockchainName): boolean;
|
|
12
|
+
calculate(from: PriceTokenAmount<EvmBlockchainName>, toToken: PriceToken<EvmBlockchainName>, options: RequiredOnChainCalculationOptions): Promise<OnChainTrade | OnChainTradeError>;
|
|
13
|
+
protected getGasFeeInfo(tradeStruct: OdosOnChainTradeStruct, providerGateway: string): Promise<GasFeeInfo | null>;
|
|
14
|
+
}
|