Source code for polywrap_ethereum_wallet.networks

"""This module contains a list of known networks."""
from enum import IntEnum, unique
from typing import List


[docs]@unique class KnownNetwork(IntEnum): """Defines a list of known networks.""" mainnet = 1, "1", "mainnet" goerli = 5, "5", "goerli" sepolia = 11155111, "11155111", "sepolia" celo_mainnet = 42220, "42220", "celo_mainnet" celo_alfajores = 44787, "44787", "celo_alfajores" avalanche_mainnet = 43114, "43114", "avalanche_mainnet" avalanche_fuji = 43113, "43113", "avalanche_fuji" palm_mainnet = 11297108109, "11297108109", "palm_mainnet" palm_testnet = 11297108099, "11297108099", "palm_testnet" aurora_mainnet = 1313161554, "1313161554", "aurora_mainnet" aurora_testnet = 1313161555, "1313161555", "aurora_testnet" def __new__(cls, value: int, *aliases: str): """Construct a new member of the enum with aliases.""" obj = int.__new__(cls) obj._value_ = value for alias in aliases: cls._value2member_map_[alias] = obj return obj
[docs] @classmethod def has(cls, obj: object) -> bool: """Returns true if the object is a member of the enum.""" if isinstance(obj, KnownNetwork): return obj.value in cls._value2member_map_ return obj in cls._value2member_map_
[docs] @classmethod def chain_ids(cls) -> List[int]: """Returns a list of chain IDs.""" return [member.value for member in cls]