@openocean.finance/widget
Version:
Openocean Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.
123 lines • 5.11 kB
JavaScript
import { LifiAdapter, MayanAdapter, RelayAdapter, NearIntentsAdapter, PegasusAdapter,
// SymbiosisAdapter,
// XYFinanceAdapter,
} from './adapters/index.js';
// Factory for creating swap provider instances
export class CrossChainSwapFactory {
// private static optimexInstance: OptimexAdapter
// private static orbiterInstance: OrbiterAdapter
// // Get or create Across adapter
// static getAcrossAdapter(): AcrossAdapter {
// if (!CrossChainSwapFactory.acrossInstance) {
// CrossChainSwapFactory.acrossInstance = new AcrossAdapter()
// }
// return CrossChainSwapFactory.acrossInstance
// }
// // Get or create Relay adapter
static getRelayAdapter() {
if (!CrossChainSwapFactory.relayInstance) {
CrossChainSwapFactory.relayInstance = new RelayAdapter();
}
return CrossChainSwapFactory.relayInstance;
}
// static getXyFinanceAdapter(): XYFinanceAdapter {
// if (!CrossChainSwapFactory.xyFinanceInstance) {
// CrossChainSwapFactory.xyFinanceInstance = new XYFinanceAdapter()
// }
// return CrossChainSwapFactory.xyFinanceInstance
// }
static getNearIntentsAdapter() {
if (!CrossChainSwapFactory.nearIntentsInstance) {
CrossChainSwapFactory.nearIntentsInstance = new NearIntentsAdapter();
}
return CrossChainSwapFactory.nearIntentsInstance;
}
static getMayanAdapter() {
if (!CrossChainSwapFactory.mayanInstance) {
CrossChainSwapFactory.mayanInstance = new MayanAdapter();
}
return CrossChainSwapFactory.mayanInstance;
}
// static getSymbiosisAdapter(): SymbiosisAdapter {
// if (!CrossChainSwapFactory.symbiosisInstance) {
// CrossChainSwapFactory.symbiosisInstance = new SymbiosisAdapter()
// }
// return CrossChainSwapFactory.symbiosisInstance
// }
// static getDebridgeInstance(): DeBridgeAdapter {
// if (!CrossChainSwapFactory.debridgeInstance) {
// CrossChainSwapFactory.debridgeInstance = new DeBridgeAdapter()
// }
// return CrossChainSwapFactory.debridgeInstance
// }
static getLifiInstance() {
if (!CrossChainSwapFactory.lifiInstance) {
CrossChainSwapFactory.lifiInstance = new LifiAdapter();
}
return CrossChainSwapFactory.lifiInstance;
}
static getPegasusAdapter() {
if (!CrossChainSwapFactory.pegasusInstance) {
CrossChainSwapFactory.pegasusInstance = new PegasusAdapter();
}
return CrossChainSwapFactory.pegasusInstance;
}
// static getOptimexAdapter(): OptimexAdapter {
// if (!CrossChainSwapFactory.optimexInstance) {
// CrossChainSwapFactory.optimexInstance = new OptimexAdapter()
// }
// return CrossChainSwapFactory.optimexInstance
// }
// static getOrbiterAdapter(): OrbiterAdapter {
// if (!CrossChainSwapFactory.orbiterInstance) {
// CrossChainSwapFactory.orbiterInstance = new OrbiterAdapter()
// }
// return CrossChainSwapFactory.orbiterInstance
// }
// Get all registered adapters
static getAllAdapters() {
return [
CrossChainSwapFactory.getMayanAdapter(),
CrossChainSwapFactory.getRelayAdapter(),
CrossChainSwapFactory.getNearIntentsAdapter(),
CrossChainSwapFactory.getLifiInstance(),
// CrossChainSwapFactory.getPegasusAdapter(),
// CrossChainSwapFactory.getAcrossAdapter(),
// CrossChainSwapFactory.getXyFinanceAdapter(),
// CrossChainSwapFactory.getSymbiosisAdapter(),
// CrossChainSwapFactory.getDebridgeInstance(),
// CrossChainSwapFactory.getOptimexAdapter(),
// CrossChainSwapFactory.getOrbiterAdapter(),
];
}
// Get adapter by name
static getAdapterByName(name) {
switch (name.toLowerCase()) {
// case 'across':
// return CrossChainSwapFactory.getAcrossAdapter()
case 'relay':
return CrossChainSwapFactory.getRelayAdapter();
// case 'xyfinance':
// return CrossChainSwapFactory.getXyFinanceAdapter()
case 'near intents':
return CrossChainSwapFactory.getNearIntentsAdapter();
case 'mayan':
return CrossChainSwapFactory.getMayanAdapter();
// case 'symbiosis':
// return CrossChainSwapFactory.getSymbiosisAdapter()
// case 'debridge':
// return CrossChainSwapFactory.getDebridgeInstance()
case 'lifi':
return CrossChainSwapFactory.getLifiInstance();
case 'pegasus':
return CrossChainSwapFactory.getPegasusAdapter();
// case 'optimex':
// return CrossChainSwapFactory.getOptimexAdapter()
// case 'orbiter':
// return CrossChainSwapFactory.getOrbiterAdapter()
default:
return undefined;
}
}
}
//# sourceMappingURL=factory.js.map