UNPKG

@syncswap/sdk

Version:

SyncSwap TypeScript SDK for building DeFi applications

44 lines 3.44 kB
import ContractRegistry from "./contractRegistry.js"; import { ContractTypes } from "./contractTypes.js"; const SOPHON_MAINNET = "sophonMainnet"; export class ContractInitiator { /** * @dev Initialize all contracts with necessary metadata. * * Provider / Signer is not required as they will be connected on using. */ static async initialize(provider, network = SOPHON_MAINNET) { ContractRegistry.resetContracts(); ContractRegistry.setNetwork(network); ContractRegistry.setProviderOrSigner(provider); if (network === SOPHON_MAINNET) { await registerSophonMainnetContracts(provider); } } } async function registerSophonMainnetContracts(provider) { await Promise.all([ // WSOPH ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.WETH, "weth", "0x2b1a859de6a55c553520d7780bc5805712b128f9"), // V2 ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.ROUTER_V2, "router", "0x2da10A1e27bF85cEdD8FFb1AbBe97e53391C0295"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.POOL_MASTER, "pool_master3", "0x5b9f21d407F35b10CbfDDca17D5D84b129356ea3"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.CLASSIC_FACTORY, "classic_factory3", "0x432bcc3BC62DE9186f9E8763C82d43e418681e6C"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.STABLE_FACTORY, "stable_factory3", "0x8C9d66bA3E1D7681cfFFfa3C7d9807adae368E74"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.CRYPTO_FACTORY, "crypto_factory3", "0xA2E2F6B5dB704fDe654DB69895C89523332E538E"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.MULTICALL, "multicall", "0x6e5056cBaa4082d4eeE06906Be7680A8524Ed675"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.ROUTE_HELPER, "route_helper", "0xb9f34758a571052ABe9CBcB242434EfA5894Ea69"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.TOKEN_HELPER, "token_helper", "0x3c027273b160eF29C9b5Bce641881B9e96245C92"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.POOL_HELPER, "pool_helper", "0x46384918127fBd1679C757DF7b495C3F61481467"), // V3 ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.NFT_POSITION_MANAGER, "nft_position_manager", "0x55A853462862d54Ef6Fce380CE83dFd60494cf7a"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.QUOTER, "quoter", "0x7339B33F149B51616a01966Ba23bE63F11226b77"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.ROUTER_V3, ContractTypes.ROUTER_V3.name, "0x69663Ea7C713756A2cf34e9fEf1997C7e0d21bC5"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.POOL_MASTER, "pool_master_range", "0x9012C7CE4d1f677aaf9241CF7d4D05fC596556e8"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.CRYPTO_FACTORY, "ranged_factory", "0x0f6e27007e257e74c86522387BD071D561ba3C97"), ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.MULTICALL2, "multicall2", "0x5ecb88d35096bA7B89d75d13b8753F719F8C3feD"), // eth multicall3 ContractRegistry.register(provider, SOPHON_MAINNET, ContractTypes.MULTICALL3, "multicall3", "0x159cf4d7016e77624950bCaBd1215332BdC9CFDA"), ]); } //# sourceMappingURL=contractInitiator.js.map