@bronlabs/intents-sdk
Version:
SDK for Intents DeFi smart contracts
35 lines • 1.93 kB
JavaScript
import { EvmNetwork } from './evm.js';
import { TrxNetwork } from './trx.js';
import { SolNetwork } from './sol.js';
import { CantonNetwork } from './canton.js';
import { BtcNetwork } from './btc.js';
import { CosmosNetwork } from "./cosmos.js";
const networkBuilders = {
"testBTC": (cf) => new BtcNetwork(cf.rpcUrl, 1),
"testETH": (cf) => new EvmNetwork(cf.rpcUrl, 1),
"testOP": (cf) => new EvmNetwork(cf.rpcUrl, 10),
"testTRX": (cf) => new TrxNetwork(cf.rpcUrl, 10),
"testSOL": (cf) => new SolNetwork(cf.rpcUrl, 10),
"testCC": (cf) => new CantonNetwork(cf.rpcUrl, cf.ledgerApiUrl, cf.scanApiUrl, cf.authUrl, cf.clientId, cf.clientSecret, cf.walletAddress, cf.daUtilitiesApiUrl),
"BTC": (cf) => new BtcNetwork(cf.rpcUrl, 2),
"ETH": (cf) => new EvmNetwork(cf.rpcUrl, 4),
"OP": (cf) => new EvmNetwork(cf.rpcUrl, 20),
"BSC": (cf) => new EvmNetwork(cf.rpcUrl, 15),
"BASE": (cf) => new EvmNetwork(cf.rpcUrl, 2),
"POL": (cf) => new EvmNetwork(cf.rpcUrl, 30),
"ARB": (cf) => new EvmNetwork(cf.rpcUrl, 2),
"HYPE": (cf) => new EvmNetwork(cf.rpcUrl, 15),
"TRX": (cf) => new TrxNetwork(cf.rpcUrl, 20),
"SOL": (cf) => new SolNetwork(cf.rpcUrl, 20),
"CC": (cf) => new CantonNetwork(cf.rpcUrl, cf.ledgerApiUrl, cf.scanApiUrl, cf.authUrl, cf.clientId, cf.clientSecret, cf.walletAddress, cf.daUtilitiesApiUrl),
"GNK": (cf) => new CosmosNetwork(cf.rpcUrl, 'ngonka', 'gonka', 0, 1),
"testGNK": (cf) => new CosmosNetwork(cf.rpcUrl, 'ngonka', 'gonka', 0, 1)
};
export const initNetworks = (configs, filter) => Object.entries(networkBuilders).reduce((acc, [networkName, builder]) => {
if (configs[networkName]?.rpcUrl && (!filter || filter(configs[networkName]))) {
acc[networkName] = builder(configs[networkName]);
acc[networkName].reconcileInterval = configs[networkName].reconcileInterval;
}
return acc;
}, {});
//# sourceMappingURL=index.js.map