Skip to main content

Interface: EvmConfig<N>

Defined in: evm-client/src/config.ts:73

Extends​

  • OvercastConfig<N>

Type Parameters​

Type Parameter
N extends ChainName

Properties​

account?​

optional account?: Account;

Defined in: evm-client/src/config.ts:176

The viem Account that signs and pays, overriding one derived from OvercastConfig.privateKey. Either a local account (privateKeyToAccount, mnemonicToAccount, an HSM/KMS toAccount) or a JSON-RPC account whose key lives in the wallet behind walletClient / rpcTransport.


ackTimeoutMs?​

optional ackTimeoutMs?: number;

Defined in: overcast-core/dist/config.d.ts:61

How long (ms) to wait for a server ack on request/response calls before failing with an INTERNAL RfqError. Optional — defaults to 10s.

Inherited from​

OvercastConfig.ackTimeoutMs

apiKey?​

optional apiKey?: string;

Defined in: overcast-core/dist/config.d.ts:56

The API Key used for authentication against the backend

Inherited from​

OvercastConfig.apiKey

axios?​

optional axios?: CreateAxiosDefaults<any>;

Defined in: overcast-core/dist/config.d.ts:68

Extra axios defaults merged into the HTTP client backing the read-only OvercastView (see HttpOvercastView). Use it for headers, timeouts, auth interceptors, proxies, etc. baseURL is always derived from backend and cannot be overridden here.

Inherited from​

OvercastConfig.axios

backend?​

optional backend?: string;

Defined in: overcast-core/dist/config.d.ts:27

backend service of overcast. Optional — relayers (the backend itself) have none, and no client currently reads it.

Inherited from​

OvercastConfig.backend

chain?​

optional chain?: Chain;

Defined in: evm-client/src/config.ts:134

The viem Chain the clients are bound to, overriding the minimal one resolveEvmChain synthesizes from chainId / rpcUrl.

Pass a definition from viem/chains (mainnet, base, sepolia, …) when you want the metadata that comes with it — the multicall3 address, the native-currency symbol, the block explorers. Nothing this package does needs that metadata, which is why the synthesized default is enough and why importing the whole viem/chains barrel is left to the caller rather than paid for by every consumer's bundle.

Supplying this also fills chainId and rpcUrl (see evmConfig), so { chain: sepolia } is a complete config on its own.


chainId​

chainId: number;

Defined in: evm-client/src/config.ts:89

The chain the deployment lives on.


chainlinkFeeds?​

optional chainlinkFeeds?: ReadonlyMap<Bytes32, `0x${string}`>;

Defined in: evm-client/src/config.ts:118

The Chainlink Data Feed each asset is priced off, overriding the built-in table for chainId (see chainlinkFeedsFor). Keyed by asset as core spells it — build one from plain addresses with chainlinkFeedMap.

Needed on any chain the table has no entries for: a local node, whose fixture tokens and mock feeds are deployed per run, or an asset pair the table does not cover.


chainlinkSettlementFactoryAddress​

chainlinkSettlementFactoryAddress: string;

Defined in: evm-client/src/config.ts:107

ChainlinkSettlementFactory address — the oracle layer's factory. Defaults to the canonical deployment on chainId generated into @overcast-xyz/evm-contracts.


chainName​

chainName: N;

Defined in: overcast-core/dist/config.d.ts:18

The name this chain is filed under

Inherited from​

OvercastConfig.chainName

domain​

domain: number;

Defined in: overcast-core/dist/config.d.ts:22

The domain of the overcast app.

Inherited from​

OvercastConfig.domain

finality?​

optional finality?: EvmFinality;

Defined in: evm-client/src/config.ts:198

How this chain's finalized head is resolved. See EvmFinality.


logBlockRange?​

optional logBlockRange?: number;

Defined in: evm-client/src/config.ts:210

Widest block span the indexer passes to a single eth_getLogs.

Not the indexer's chunkSize, which bounds events per page and defaults to 10 — a 10-block window would make a backfill take one request per ten blocks. Kept well under the ~10k cap public providers enforce, since a window that trips their "query returned more than N results" limit fails the whole page rather than degrading, and how busy the contract is decides where that line falls: a deployment with heavy traffic wants this lower.


overcastApi?​

optional overcastApi?: OvercastView;

Defined in: overcast-core/dist/config.d.ts:72

Optional api client that will be used instead of the default HttpOvercastView that hits the REST backend

Inherited from​

OvercastConfig.overcastApi

overcastCoreAddress​

overcastCoreAddress: string;

Defined in: evm-client/src/config.ts:94

Core proxy address.


owner?​

optional owner?: Address;

Defined in: overcast-core/dist/config.d.ts:48

The wallet address the app acts as when it holds no key of its own or a different one. Automatically set to the chainSigner's address if owner is not present. Either chainSigner or owner is required

Inherited from​

OvercastConfig.owner

physicalSettlementFactoryAddress​

physicalSettlementFactoryAddress: string;

Defined in: evm-client/src/config.ts:100

PhysicalSettlementFactory address. Defaults to the canonical deployment on chainId generated into @overcast-xyz/evm-contracts.


privateKey?​

optional privateKey?: string | number[];

Defined in: overcast-core/dist/config.d.ts:42

This is either the private key directly (raw bytes or base58) or a path to a key file. Optional so read-only clients can omit it; required by any wallet that signs.

Inherited from​

OvercastConfig.privateKey

protocolSigner?​

optional protocolSigner?: OvercastProtocolSigner;

Defined in: overcast-core/dist/config.d.ts:81

Optional protocol signer used to sign protocol payloads, taking precedence over one derived from privateKey. Supply your own (e.g. a remote / HSM signer) to override the default ed25519 signer built by createProtocolSigner. This is the protocol signer for this chain. Make sure that this signer operates on the correct curve

Inherited from​

OvercastConfig.protocolSigner

publicClient?​

optional publicClient?: object;

Defined in: evm-client/src/config.ts:154

A pre-built viem PublicClient to read through, overriding the one built from chain + rpcTransport. The reader, writer and indexer all share it, so this is the single seam for supplying an instrumented, cached or mocked read path.


receiptPollInterval?​

optional receiptPollInterval?: number;

Defined in: evm-client/src/config.ts:195

How often, in milliseconds, EvmChainSigner.submit re-checks for a submitted transaction's receipt. Defaults to DEFAULT_RECEIPT_POLL_INTERVAL.


rpcTransport?​

optional rpcTransport?: Transport;

Defined in: evm-client/src/config.ts:146

The viem Transport the clients speak over, overriding the http(rpcUrl) default. Use it for a websocket subscription transport, a fallback over several providers, a rate-limited/batched HTTP transport, or an injected browser provider (custom(window.ethereum)).

Named rpcTransport rather than transport because OvercastConfig.transport already means something unrelated — how the off-chain RFQ socket connects ("websocket" | "polling").


rpcUrl​

rpcUrl: string;

Defined in: evm-client/src/config.ts:77

EVM Chains RPC endpoint.


socketConfig?​

optional socketConfig?: Partial<ManagerOptions & SocketOptions>;

Defined in: overcast-core/dist/config.d.ts:52

The configuration used for the socket.io websocket connection

Inherited from​

OvercastConfig.socketConfig

socketUrl?​

optional socketUrl?: string;

Defined in: overcast-core/dist/config.d.ts:36

Base URL the realtime RFQ socket connects to. Socket.io derives the namespace from this URL's path, so it must NOT carry a REST prefix (the namespace is always /rfq). Optional — defaults to backend. Set it separately when REST and the socket need different bases, e.g. a same-origin proxy where REST is under /api/backend but the socket must stay at the origin root ("") so the namespace resolves to /rfq.

Inherited from​

OvercastConfig.socketUrl

txConfirmations?​

optional txConfirmations?: number;

Defined in: evm-client/src/config.ts:188

Blocks to wait for before a submitted transaction is reported back as a receipt. Defaults to DEFAULT_TX_CONFIRMATIONS (0 — mined, and nothing beyond it; viem treats 0 and 1 identically).

Deliberately separate from finality: that one says what the indexer may treat as canonical, and waiting for it here would park every write for the two epochs finalized takes on Ethereum. Raise this for a chain where a one-block reorg is a real risk for the caller.


walletClient?​

optional walletClient?: object;

Defined in: evm-client/src/config.ts:167

A pre-built viem WalletClient to submit through, overriding the one built from account. This is the hook for a submission path this package cannot construct: a browser wallet, a relayer, an account-abstraction bundler.

It must be able to name the account it sends as — either carry its own account, or have one supplied via account. A wallet client with neither is rejected eagerly rather than quietly degrading the app to read-only, since passing one at all says you meant to sign.


wsUrl?​

optional wsUrl?: string;

Defined in: evm-client/src/config.ts:84

Optional websocket endpoint, used only to subscribe to Core logs so the indexer's live tail is pushed instead of polled. Everything else stays on rpcUrl.