@alys-chain/verto-v2-core
Version:
Core Smart Contracts of Verto V2
139 lines (123 loc) • 5.22 kB
text/typescript
/********
*
* 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];