UNPKG

@alys-chain/verto-v2-core

Version:

Core Smart Contracts of Verto V2

139 lines (123 loc) 5.22 kB
/******** * * test-alys * * V2: * * WALYS/Dai:0x821C1FE4fE2700fc138377cBcb04E823dd2a717d * WALYS/USDT:0x028a5fdb725C90333EF8162f9a7A1dDA7C52769C * WALYS/USDC:0x83e9cdc4F70B1114E8bDaee928C7D000C39470b2 * USDT/USDC:0x5b13e4F93323941Ad952b4f9E1468D83166c5237 * * * * Linea-sepolia * * V2 : * USDT/USDC: 0x214605812f6221a337b509Df464B4E5b8B8f01dE * WETH/USDT: 0xcC5dd3C193f9714B9c13d8E9ba9AE7b4F6F9788A * WETH/USDC: 0x791DB2751bbE2acDC6A7e469761fACC13F25C8a4 * * V3: * USDC/USDT(500): 0x2135C71480561B93645D20bBDF1146354A08bb9F * USDC/USDT(3000): 0x8B185C3d5b42EfD6C430ae6a3b489Ad96EA2faA1 * USDC/USDT(10000): 0x28AccE8B1f695b1131727c5aDFeb5aa689782729 * * WALYS/USDC(500): 0x9C09D1aeB552A9b0Ab393F1Bd921aB099F821F16 * WALYS/USDC(3000): 0xa05387c7150EfcD878CDf0732eA9c3d5179860BC * WALYS/USDC(10000): 0xf67F7AB70BC258cbE2d4CB7B2532A29789e2bFe9 * * * WALYS/USDT(500): 0x5bca4A50559848218BDA7DE4a3D5B4Ccd9Eb8a1D * WALYS/USDT(3000): 0x987a02Bb62770Fe3E4c128960509005854B9C013 * WALYS/USDT(10000): 0xeFe0DbB6E500C3d9F8239fBE683DFB258Af351a9 * * *****/ import {network} from "hardhat"; export enum NETWORK { talys = 'ALYS_ALPHA', linea_sepolia = 'LINEA_SEPOLIA', } export enum ChainId { MAINNET = 1, RINKEBY = 4, SEPOLIA = 11155111, LINEA_SEPOLIA = 59141, ALYS_ALPHA = 212121, }; // export const CurrentChainID = ChainId.ALYS_ALPHA; export const CurrentChainID = getChainId(); /** * 根据 --network 参数获取对应的 ChainId */ export function getChainId(): number { const networkName = network.name; const networkKey = NETWORK[networkName as keyof typeof NETWORK]; if (networkKey === undefined) return ChainId.ALYS_ALPHA; return ChainId[networkKey]; } export type MarketToken = { WALYS: string, Dai: string, USDT: string, USDC: string, WBTC: string}; export const ERC20_TOKEN_LISTS: Array<string> = ["WALYS", "Dai", "USDT", "USDC", "WBTC", "TBTC"]; export const VERTO_SWAP_NAMES: Array<string> = ["V2FACTORY", "INITIALHASH", "V2ROUTER", "FEE_ON_TRANSFER_DETECTOR", "Token_VALIDATOR_ADDRESS","ROUTER01","ROUTER02"]; export const DEPLOYER = "0x627306090abaB3A6e1400e9345bC60c78a8BEf57"; export const INIT_HASH_CODE = "0xeeb682ecf9822f8680f593f26e4ee01931f717f61c92d6cbb50626ea4c81a08f"; type ERC20Token = typeof ERC20_TOKEN_LISTS[number]; type VertoSwapName = typeof VERTO_SWAP_NAMES[number]; export type CurrencyToken = Record<keyof MarketToken, string>; export type VertoSwapContractAddr = Record<VertoSwapName, string>; const _ERC20_TOKENS: { [chainId: number]: CurrencyToken } = { [ChainId.ALYS_ALPHA]: { WALYS: "0x0158dfed32446c7A2f5E9BaD16F3A2f86f1952dE", Dai: "0x969d1126FA409D44cd0A9261CB8bDE40Daa3e83b", USDT: "0xEc7A3fd3e4Ce411f867dD982E710b0Ef61F67958", USDC: "0x8587691Fd9712f9B09385F0bBFC3872343D10ED9", WBTC: "", }, [ChainId.LINEA_SEPOLIA]: { WALYS: "0xF12b5dd4EAD5F743C6BaA640B0216200e89B60Da", Dai: "0x345cA3e014Aaf5dcA488057592ee47305D9B3e10", USDT: "0xf25186B5081Ff5cE73482AD761DB0eB0d25abfBF", USDC: "0x8f0483125FCb9aaAEFA9209D8E9d7b9C8B9Fb90F", WBTC: "", }, }; const VERTO_SWAP_ADDRESSES: { [chainId: number]: VertoSwapContractAddr } = { [ChainId.ALYS_ALPHA]: { V2FACTORY: "0xF7f913cf0E7E45C2BF1f0a91610E63ec15300C6F", UniswapV2Library: "", V2INITIALHASH: "", V2ROUTER: "", FEE_ON_TRANSFER_DETECTOR: "", TOKEN_VALIDATOR_ADDRESS: "", VERTOFACTORY: "", NONFUNGIBLETOKENPOSITIONDESCRIPTOR: "", NONFUNGIBLEPOSITIONMANAGERADDRESS: "", TICKLENSADDRESS: "", V3MIGRATORADDRESS: "", QUOTER: "", QUOTER2: "", VERTOMULTICALL: "0x75c35C980C0d37ef46DF04d31A140b65503c0eEd", SWAPROUTER: "", ROUTER01:"0x82D50AD3C1091866E258Fd0f1a7cC9674609D254", ROUTER02:"0xdDA6327139485221633A1FcD65f4aC932E60A2e1", }, [ChainId.LINEA_SEPOLIA]: { V2FACTORY: "0x9eFec315E368e8812025B85b399a69513Cd0e716", UniswapV2Library: "0x23e84570f7b28aD0d5E5545d398009194a8734f3", V2INITIALHASH: "53723e4e3f283ad6da1a958aca530d8e28cb7491424adfd3b77f8620878f06f1", V2ROUTER: "0xbbE595Df857805ab3734f15BE990f9A30CBB89F3", FEE_ON_TRANSFER_DETECTOR: "0xC7c8C0B1DE01285b15bF4023A921926700ed9c03", TOKEN_VALIDATOR_ADDRESS: "0x8EFA7b48b74320B9dD70f85157293BeA2D31d56f", VERTOFACTORY: "0x2C2B9C9a4a25e24B174f26114e8926a9f2128FE4", NONFUNGIBLETOKENPOSITIONDESCRIPTOR: "0xFB88dE099e13c3ED21F80a7a1E49f8CAEcF10df6", NONFUNGIBLEPOSITIONMANAGERADDRESS: "0xAa588d3737B611baFD7bD713445b314BD453a5C8", TICKLENSADDRESS: "0xf204a4Ef082f5c04bB89F7D5E6568B796096735a", V3MIGRATORADDRESS: "0x75c35C980C0d37ef46DF04d31A140b65503c0eEd", QUOTER: "0xB529f14AA8096f943177c09Ca294Ad66d2E08b1f", QUOTER2: "0xA4392264a2d8c998901D10C154C91725b1BF0158", VERTOMULTICALL: "0x3d49d1eF2adE060a33c6E6Aa213513A7EE9a6241", SWAPROUTER: "0x82D50AD3C1091866E258Fd0f1a7cC9674609D254", }, }; export const ERC20_TOKENS = _ERC20_TOKENS[CurrentChainID]; export const VERTO_SWAP_ADDRESS = VERTO_SWAP_ADDRESSES[CurrentChainID];