Skip to main content

Abstract Class: ProtocolFactory<L>

Defined in: packages/overcast-core/src/layer/factory.ts:19

The single chain-specific entry point: builds every per-layer piece the SDK composes into an OvercastApp — the on-chain OvercastReader, the transaction-building OvercastWriter, the OvercastChainSigner and the OvercastIndexerClient. A settlement layer implements this one factory (e.g. a Solana factory) and is good to go; the rest of the SDK stays chain-agnostic.

Type Parameters

Type ParameterDescription
L extends OvercastLayerthe OvercastLayer describing this settlement layer.

Constructors

Constructor

new ProtocolFactory<L>(config): ProtocolFactory<L>;

Defined in: packages/overcast-core/src/layer/factory.ts:22

Parameters

ParameterType
configL["config"]

Returns

ProtocolFactory<L>

Properties

config

readonly config: L["config"];

Defined in: packages/overcast-core/src/layer/factory.ts:20

Accessors

settlementLayers

Get Signature

get abstract settlementLayers(): SettlementLayerRegistry<L>;

Defined in: packages/overcast-core/src/layer/factory.ts:45

The settlement layers this chain implements, keyed by type. Which layers exist is a per-chain fact, so it lives on the factory alongside utils. A caller-side helper (surfaced as app.settlement) for picking the config an offer commits to — the writer never consults it.

Returns

SettlementLayerRegistry<L>


utils

Get Signature

get abstract utils(): OvercastUtils;

Defined in: packages/overcast-core/src/layer/factory.ts:37

The layer's OvercastUtils (address validation etc.). Stateless and connection-free, so — unlike the create* methods — it is resolved synchronously.

Returns

OvercastUtils

Methods

createChainSigner()

abstract createChainSigner(): Promise<OvercastChainSigner<L>>;

Defined in: packages/overcast-core/src/layer/factory.ts:29

The layer's transaction signer (build → sign → submit).

Returns

Promise<OvercastChainSigner<L>>


createIndexerClient()

abstract createIndexerClient(): Promise<OvercastIndexerClient>;

Defined in: packages/overcast-core/src/layer/factory.ts:30

Returns

Promise<OvercastIndexerClient>


createReader()

abstract createReader(): Promise<OvercastReader>;

Defined in: packages/overcast-core/src/layer/factory.ts:26

Returns

Promise<OvercastReader>


createWriter()

abstract createWriter(): Promise<OvercastWriter<L["tx"]>>;

Defined in: packages/overcast-core/src/layer/factory.ts:27

Returns

Promise<OvercastWriter<L["tx"]>>