mirror of
https://github.com/lux-tel/websites.git
synced 2026-10-30 20:31:36 +00:00
67 lines
2.6 KiB
TypeScript
67 lines
2.6 KiB
TypeScript
import type { Address } from 'viem';
|
|
import { arbitrum, arbitrumSepolia, mainnet } from 'viem/chains';
|
|
import type { ContractWithAbiName } from './abis';
|
|
|
|
const contracts = [
|
|
'RewardRatePool',
|
|
'Token',
|
|
'ServiceNodeRewards',
|
|
'ServiceNodeContributionFactory',
|
|
'ServiceNodeContribution',
|
|
'TokenVestingStaking',
|
|
] as const satisfies Array<ContractWithAbiName>;
|
|
export type ContractName = (typeof contracts)[number];
|
|
|
|
const ethChainId = mainnet.id;
|
|
const arbitrumChainId = arbitrum.id;
|
|
const arbitrumSepoliaChainId = arbitrumSepolia.id;
|
|
|
|
export type ChainId = typeof ethChainId | typeof arbitrumChainId | typeof arbitrumSepoliaChainId;
|
|
|
|
export const isValidChainId = (chainId?: number | undefined): chainId is ChainId =>
|
|
chainId === arbitrumChainId || chainId === arbitrumSepoliaChainId || chainId === ethChainId;
|
|
|
|
export const addresses: Record<ContractName, Record<ChainId, Address>> = {
|
|
Token: {
|
|
[arbitrumChainId]: '0x10Ea9E5303670331Bdddfa66A4cEA47dae4fcF3b',
|
|
[ethChainId]: '0x10Ea9E5303670331Bdddfa66A4cEA47dae4fcF3b',
|
|
[arbitrumSepoliaChainId]: '0x7D7fD4E91834A96cD9Fb2369E7f4EB72383bbdEd',
|
|
},
|
|
ServiceNodeRewards: {
|
|
[arbitrumChainId]: '0xC2B9fC251aC068763EbDfdecc792E3352E351c00',
|
|
/** @deprecated - The contract is not deployed on eth mainnet */
|
|
[ethChainId]: '0x0000000000000000000000000000000000000000',
|
|
[arbitrumSepoliaChainId]: '0x9d8aB00880CBBdc2Dcd29C179779469A82E7be35',
|
|
},
|
|
RewardRatePool: {
|
|
[arbitrumChainId]: '0x11f040E89dFAbBA9070FFE6145E914AC68DbFea0',
|
|
/** @deprecated - The contract is not deployed on eth mainnet */
|
|
[ethChainId]: '0x0000000000000000000000000000000000000000',
|
|
[arbitrumSepoliaChainId]: '0xaAD853fE7091728dac0DAa7b69990ee68abFC636',
|
|
},
|
|
ServiceNodeContributionFactory: {
|
|
[arbitrumChainId]: '0x8129bE2D5eF7ACd39483C19F28DE86b7EF19DBCA',
|
|
/** @deprecated - The contract is not deployed on eth mainnet */
|
|
[ethChainId]: '0x0000000000000000000000000000000000000000',
|
|
[arbitrumSepoliaChainId]: '0x36Ee2Da54a7E727cC996A441826BBEdda6336B71',
|
|
},
|
|
ServiceNodeContribution: {
|
|
[arbitrumChainId]: '0x0000000000000000000000000000000000000000',
|
|
[ethChainId]: '0x0000000000000000000000000000000000000000',
|
|
[arbitrumSepoliaChainId]: '0x0000000000000000000000000000000000000000',
|
|
},
|
|
TokenVestingStaking: {
|
|
[arbitrumChainId]: '0x0000000000000000000000000000000000000000',
|
|
[ethChainId]: '0x0000000000000000000000000000000000000000',
|
|
[arbitrumSepoliaChainId]: '0x0000000000000000000000000000000000000000',
|
|
},
|
|
} as const;
|
|
|
|
export enum TOKEN {
|
|
DECIMALS = 9,
|
|
SYMBOL = 'SESH',
|
|
}
|
|
|
|
export const SENT_DECIMALS = 9;
|
|
export const SENT_SYMBOL = 'SESH';
|