Skip to main content

Class: SolanaFactory

Defined in: solana-client/src/factory.ts:31

The Solana ProtocolFactory: a single SolanaConfig is all the SDK needs to build every per-layer piece — the SolanaChainSigner, the transaction-building SolanaWriter, the SolanaReader and the SolanaIndexerClient. Hand it to OvercastApp.create and the rest of the SDK stays chain-agnostic. (Protocol-payload signing is chain-agnostic and lives in core — see createProtocolSigner.)

The chain signer is built once and shared: the writer runs against the signer's Anchor program, so the fee payer it bakes into each transaction (provider.publicKey) and the key the signer signs with are guaranteed to match, and the reader / indexer reuse the same RPC connection.

Extends

Constructors

Constructor

new SolanaFactory(config?): SolanaFactory;

Defined in: solana-client/src/factory.ts:34

Parameters

ParameterType
configPartial<SolanaConfig>

Returns

SolanaFactory

Overrides

ProtocolFactory<SolanaLayer>.constructor

Properties

config

readonly config: SolanaConfig;

Defined in: overcast-core/dist/layer/factory.d.ts:19

Inherited from

ProtocolFactory.config

Accessors

settlementLayers

Get Signature

get settlementLayers(): SettlementLayerRegistry<SolanaLayer>;

Defined in: solana-client/src/factory.ts:69

The settlement layers Solana implements. The exhaustive Record over SolanaLayer["settlement"] makes the compiler enforce every declared layer is registered — add "cash" to SolanaLayer and this won't compile until it's wired up here.

Returns

SettlementLayerRegistry<SolanaLayer>

Overrides

ProtocolFactory.settlementLayers

utils

Get Signature

get utils(): OvercastUtils;

Defined in: solana-client/src/factory.ts:59

The Solana address helpers — stateless, so a shared instance is reused.

Returns

OvercastUtils

Overrides

ProtocolFactory.utils

Methods

createChainSigner()

createChainSigner(): Promise<SolanaChainSigner>;

Defined in: solana-client/src/factory.ts:38

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

Returns

Promise<SolanaChainSigner>

Overrides

ProtocolFactory.createChainSigner

createIndexerClient()

createIndexerClient(): Promise<OvercastIndexerClient>;

Defined in: solana-client/src/factory.ts:50

Returns

Promise<OvercastIndexerClient>

Overrides

ProtocolFactory.createIndexerClient

createReader()

createReader(): Promise<OvercastReader>;

Defined in: solana-client/src/factory.ts:46

Returns

Promise<OvercastReader>

Overrides

ProtocolFactory.createReader

createWriter()

createWriter(): Promise<OvercastWriter<Transaction>>;

Defined in: solana-client/src/factory.ts:42

Returns

Promise<OvercastWriter<Transaction>>

Overrides

ProtocolFactory.createWriter