degenbot.types.chain¶

Chain identifiers and EVM type aliases — the eth_typing replacement home.

degenbot consumes only a small slice of eth_typing: the ChainId int-enum (as hash-equal dict keys into deployment registries) and a handful of address/hash/block/ABI annotation aliases. This module owns those; the eth_typing dependency has since been dropped outright.

Address and hash aliases are plain str (not NewType): the runtime is already plain strings (EIP-55 checksummed), matching degenbot.types.aliases and the degenbot._ffi stub contract.

Module Contents¶

class degenbot.types.chain.ChainId¶

Bases: enum.IntEnum

Chain identifiers degenbot deploys against.

IntEnum so members hash-equal their plain ints (deployment-registry lookups use both forms interchangeably).

ETH = 1¶
FTM = 250¶
AVAX = 43114¶
ARB1 = 42161¶
BASE = 8453¶
type degenbot.types.chain.HexStr = str¶
type degenbot.types.chain.HexAddress = str¶
type degenbot.types.chain.ChecksummedAddress = str¶
type degenbot.types.chain.Hash32 = str¶
type degenbot.types.chain.Address = str¶
degenbot.types.chain.BlockParams¶
type degenbot.types.chain.TypeStr = str¶
class degenbot.types.chain.ABIComponent¶

Bases: TypedDict

TypedDict representing an ABI element component.

type: str¶
name: NotRequired[str]¶
components: NotRequired[collections.abc.Sequence[ABIComponent]]¶
class degenbot.types.chain.ABIComponentIndexed¶

Bases: ABIComponent

TypedDict for a component usable as a topic filter.

indexed: bool¶
class degenbot.types.chain.ABIEvent¶

Bases: TypedDict

TypedDict to represent the ABI for an event (was eth_typing.ABIEvent).

name: str¶
type: Literal['event']¶
anonymous: NotRequired[bool]¶
inputs: NotRequired[collections.abc.Sequence[ABIComponentIndexed]]¶