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.