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
ProtocolFactory<SolanaLayer>
Constructors
Constructor
new SolanaFactory(config?): SolanaFactory;
Defined in: solana-client/src/factory.ts:34
Parameters
| Parameter | Type |
|---|---|
config | Partial<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