@syncswap/sdk
Version:
SyncSwap TypeScript SDK for building DeFi applications
51 lines • 4.25 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContractInitiator = void 0;
const contractRegistry_1 = __importDefault(require("./contractRegistry"));
const contractTypes_1 = require("./contractTypes");
const SOPHON_MAINNET = "sophonMainnet";
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_1.default.resetContracts();
contractRegistry_1.default.setNetwork(network);
contractRegistry_1.default.setProviderOrSigner(provider);
if (network === SOPHON_MAINNET) {
await registerSophonMainnetContracts(provider);
}
}
}
exports.ContractInitiator = ContractInitiator;
async function registerSophonMainnetContracts(provider) {
await Promise.all([
// WSOPH
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.WETH, "weth", "0x2b1a859de6a55c553520d7780bc5805712b128f9"),
// V2
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.ROUTER_V2, "router", "0x2da10A1e27bF85cEdD8FFb1AbBe97e53391C0295"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.POOL_MASTER, "pool_master3", "0x5b9f21d407F35b10CbfDDca17D5D84b129356ea3"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.CLASSIC_FACTORY, "classic_factory3", "0x432bcc3BC62DE9186f9E8763C82d43e418681e6C"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.STABLE_FACTORY, "stable_factory3", "0x8C9d66bA3E1D7681cfFFfa3C7d9807adae368E74"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.CRYPTO_FACTORY, "crypto_factory3", "0xA2E2F6B5dB704fDe654DB69895C89523332E538E"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.MULTICALL, "multicall", "0x6e5056cBaa4082d4eeE06906Be7680A8524Ed675"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.ROUTE_HELPER, "route_helper", "0xb9f34758a571052ABe9CBcB242434EfA5894Ea69"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.TOKEN_HELPER, "token_helper", "0x3c027273b160eF29C9b5Bce641881B9e96245C92"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.POOL_HELPER, "pool_helper", "0x46384918127fBd1679C757DF7b495C3F61481467"),
// V3
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.NFT_POSITION_MANAGER, "nft_position_manager", "0x55A853462862d54Ef6Fce380CE83dFd60494cf7a"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.QUOTER, "quoter", "0x7339B33F149B51616a01966Ba23bE63F11226b77"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.ROUTER_V3, contractTypes_1.ContractTypes.ROUTER_V3.name, "0x69663Ea7C713756A2cf34e9fEf1997C7e0d21bC5"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.POOL_MASTER, "pool_master_range", "0x9012C7CE4d1f677aaf9241CF7d4D05fC596556e8"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.CRYPTO_FACTORY, "ranged_factory", "0x0f6e27007e257e74c86522387BD071D561ba3C97"),
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.MULTICALL2, "multicall2", "0x5ecb88d35096bA7B89d75d13b8753F719F8C3feD"),
// eth multicall3
contractRegistry_1.default.register(provider, SOPHON_MAINNET, contractTypes_1.ContractTypes.MULTICALL3, "multicall3", "0x159cf4d7016e77624950bCaBd1215332BdC9CFDA"),
]);
}
//# sourceMappingURL=contractInitiator.js.map