Skip to main content

Variable: SOLANA_CONFIG_SCHEMA

const SOLANA_CONFIG_SCHEMA: ZodObject<{
ackTimeoutMs: ConfigField<number>;
apiKey: ConfigField<string>;
backend: ConfigField<string>;
commitment: ConfigField<"processed" | "confirmed" | "finalized">;
domain: ConfigField<number>;
feeHookProgramId: ConfigField<string>;
owner: ConfigField<string>;
privateKey: ConfigField<string>;
programId: ConfigField<string>;
rpcUrl: ConfigField<string>;
settlementOracleProgramId: ConfigField<string>;
settlementPhysicalProgramId: ConfigField<string>;
socketConfig: ConfigField<{
transports: ("polling" | "websocket")[];
}>;
}, $strip>;

Defined in: solana-client/src/schema.ts:22

How a Solana deployment is configured from strings. See EVM_CONFIG_SCHEMA for the shape and the reasoning; this is the same contract for the svm layer.

The program ids are all here rather than only programId, because a deployment that is not the canonical one is not the canonical one for any of them: a local validator has its own core, layer and hook programs, and an operator who could override only the first would get a config that half pointed at devnet.