Skip to main content

Type Alias: ProtocolState

type ProtocolState = object;

Defined in: packages/overcast-core/src/types/index.ts:230

The protocol's single global on-chain record: the mutable ProtocolConfig governance can change, plus the domain fixed at genesis. Read with OvercastReader.getProtocolState.

The two halves differ in lifetime, which is why they stay separate fields rather than one flat shape: every field of config can move (via the authority's config update, or the pause authority's breaker), while domain is written once at initialization and immutable thereafter — it is the id an option's terms commit to, so it cannot move without invalidating every offer signed against this deployment.

Chain-neutral, and deliberately narrower than either chain's own record: the Solana ProtocolState account also carries the PDA bump, which is an artifact of how that chain addresses the account rather than protocol state, and has no EVM counterpart at all.

Properties

config

config: ProtocolConfig;

Defined in: packages/overcast-core/src/types/index.ts:231


domain

domain: number;

Defined in: packages/overcast-core/src/types/index.ts:236

The chain domain id this deployment was initialized with. Part of every OptionDetails, so an offer built for another domain is rejected.