@okx-dex/okx-dex-sdk
Version:
OKX DEX SDK
75 lines (74 loc) • 2.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SwapExecutorFactory = void 0;
const solana_swap_1 = require("./solana/solana-swap");
const sui_swap_1 = require("./sui/sui-swap");
const evm_swap_1 = require("./evm/evm-swap");
const evm_approve_1 = require("./evm/evm-approve");
class SwapExecutorFactory {
static createExecutor(chainIndex, config, networkConfig) {
switch (chainIndex) {
case "501": // Solana
return new solana_swap_1.SolanaSwapExecutor(config, networkConfig);
case "784": // Sui
return new sui_swap_1.SuiSwapExecutor(config, networkConfig);
case "196": // X Layer
case "1": // Ethereum
case "137": // Polygon
case "146": // Sonic
case "8453": // Base
case "10": // Optimism
case "42161": // Arbitrum
case "56": // Binance Smart Chain
case "100": // Gnosis
case "169": // Manta Pacific
case "250": // Fantom Opera
case "324": // zkSync Era
case "1101": // Polygon zkEVM
case "5000": // Mantle
case "43114": // Avalanche C-Chain
case "25": // Cronos
case "534352": // Scroll
case "59144": // Linea
case "1088": // Metis
case "1030": // Conflux
case "81457": // Blast
case "7000": // Zeta Chain
case "66": // OKT Chain
return new evm_swap_1.EVMSwapExecutor(config, networkConfig);
default:
throw new Error(`Chain ${chainIndex} not supported for swap execution`);
}
}
static createApproveExecutor(chainIndex, config, networkConfig) {
switch (chainIndex) {
case "196": // X Layer
case "1": // Ethereum
case "137": // Polygon
case "146": // Sonic
case "8453": // Base
case "10": // Optimism
case "42161": // Arbitrum
case "56": // Binance Smart Chain
case "100": // Gnosis
case "169": // Manta Pacific
case "250": // Fantom Opera
case "324": // zkSync Era
case "1101": // Polygon zkEVM
case "5000": // Mantle
case "43114": // Avalanche C-Chain
case "25": // Cronos
case "534352": // Scroll
case "59144": // Linea
case "1088": // Metis
case "1030": // Conflux
case "81457": // Blast
case "7000": // Zeta Chain
case "66": // OKT Chain
return new evm_approve_1.EVMApproveExecutor(config, networkConfig);
default:
throw new Error(`Chain ${chainIndex} not supported for approve execution`);
}
}
}
exports.SwapExecutorFactory = SwapExecutorFactory;