crypto-wallet-core
Version:
A multi-currency support library for address derivation, private key creation, and transaction creation
55 lines (51 loc) • 1.36 kB
text/typescript
export const EVM_CHAIN_DEFAULT_TESTNET = {
ETH: 'sepolia',
MATIC: 'amoy',
ARB: 'sepolia',
BASE: 'sepolia',
OP: 'sepolia'
}
export const EVM_CHAIN_NETWORK_TO_CHAIN_ID = {
// Mainnets
ETH_mainnet: 1,
MATIC_mainnet: 137,
ARB_mainnet: 42161,
BASE_mainnet: 8453,
OP_mainnet: 10,
// ETH testnets
ETH_holesky: 17000,
ETH_sepolia: 11155111,
ETH_goerli: 5,
ETH_kovan: 42,
ETH_ropsten: 3,
ETH_rinkeby: 4,
// MATIC testnets
MATIC_mumbai: 80001,
MATIC_amoy: 80002,
// ARB testnets
ARB_sepolia: 421614,
ARB_goerli: 421613,
// BASE testnets
BASE_sepolia: 84532,
BASE_goerli: 84531,
// OP testnets
OP_sepolia: 11155420,
OP_goerli: 28528,
// Regtests
ETH_regtest: 1337,
MATIC_regtest: 13375,
ARB_regtest: 442161,
BASE_regtest: 88453,
OP_regtest: 111554201
}
const reverseObject = <K extends string, V extends number | string>(obj: Record<K, V>, split = false): Record<V, K> => {
const reversed = {} as Record<V, K>;
const entries = Object.entries(obj) as [K, V][];
for (const [key, value] of entries) {
const _key = split ? key.split('_')[0] as K : key;
reversed[value] = _key;
}
return reversed;
};
export const EVM_CHAIN_ID_TO_CHAIN_NETWORK = reverseObject(EVM_CHAIN_NETWORK_TO_CHAIN_ID);
export const EVM_CHAIN_ID_TO_CHAIN = reverseObject(EVM_CHAIN_NETWORK_TO_CHAIN_ID, true);