Skip to main content

Class: SettlementLayerRegistry<L>

Defined in: packages/overcast-core/src/protocol/settlement-layer.ts:75

The set of settlement layers a chain implements, keyed by type. Built by the chain's ProtocolFactory (which layers exist is a per-chain fact) and surfaced to consumers as app.settlement.

Constructed from an exhaustive Record over KnownSettlementLayer | L["settlement"], so the compiler guarantees two things: the registry covers every layer the chain's OvercastLayer declares (declare "cash" and forgetting to register it is a type error), and it always covers the KnownSettlementLayer subset every chain must support — a chain cannot build its app without a physical layer.

Type Parameters

Type ParameterDescription
L extends OvercastLayerthe OvercastLayer describing this settlement layer.

Constructors

Constructor

new SettlementLayerRegistry<L>(layers, defaultType): SettlementLayerRegistry<L>;

Defined in: packages/overcast-core/src/protocol/settlement-layer.ts:76

Parameters

ParameterType
layersRecord< | KnownSettlementLayer | L["settlement"], OvercastSettlementLayer<L>>
defaultTypeL["settlement"]

Returns

SettlementLayerRegistry<L>

Methods

default()

default(): OvercastSettlementLayer<L>;

Defined in: packages/overcast-core/src/protocol/settlement-layer.ts:85

The chain's default layer, used when a caller doesn't pick one.

Returns

OvercastSettlementLayer<L>


defaultConfig()

defaultConfig(details?): string;

Defined in: packages/overcast-core/src/protocol/settlement-layer.ts:90

The chain's default layer config id

Parameters

ParameterType
details?Partial<OptionDetails>

Returns

string


has()

has(type): boolean;

Defined in: packages/overcast-core/src/protocol/settlement-layer.ts:100

Whether this chain implements the given layer type.

Parameters

ParameterType
typestring

Returns

boolean


resolve()

resolve(selection?): OvercastSettlementLayer<L>;

Defined in: packages/overcast-core/src/protocol/settlement-layer.ts:110

Resolve a SettlementSelection (or undefined → the chain default) to its OvercastSettlementLayer logic. Throws with the available layers if the type isn't implemented — a runtime guard for untyped callers; typed call sites can't reach it.

Parameters

ParameterType
selection?SettlementSelection<L>

Returns

OvercastSettlementLayer<L>


types()

types(): L["settlement"][];

Defined in: packages/overcast-core/src/protocol/settlement-layer.ts:95

The type keys of the layers this chain implements.

Returns

L["settlement"][]