KawaseChain
Defined in: src/chains/types.ts:25
A viem Chain extended with kawasekit-specific routing + finality metadata.
All standard chain fields (id, rpcUrls, blockExplorers,
nativeCurrency, …) are inherited from viem’s Chain. kawasekit adds only
the fields below; per-token deployment info lives in src/tokens/.
defaultConfirmations / blockTimeMs are config-as-data: the facilitator
reads them instead of branching on chain identity, so finality depth is a
per-chain property rather than a code path (cf. the finality-tuning recipe at
docs/recipes/facilitator-finality-tuning.md).
Example
import { polygon } from "kawasekit";
console.log(polygon.id); // 137console.log(polygon.isTestnet); // falseconsole.log(polygon.defaultConfirmations); // 4Extends
Chain
Properties
blockExplorers?
optionalblockExplorers?:object
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:15
Collection of block explorers
Index Signature
[key: string]: ChainBlockExplorer
default
default:
ChainBlockExplorer
Inherited from
Chain.blockExplorers
blockTime?
optionalblockTime?:number
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:20
Block time in milliseconds.
Inherited from
Chain.blockTime
blockTimeMs
readonlyblockTimeMs:number
Defined in: src/chains/types.ts:41
Approximate block time in milliseconds. Used to auto-size the settle
receiptTimeoutMs default from the confirmation depth, and as the basis
for the finality-tuning recipe’s wall-time estimates.
contracts?
optionalcontracts?:object
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:22
Collection of contracts
Index Signature
[key: string]: ChainContract | {[sourceId: number]: ChainContract | undefined; } | undefined
ensRegistry?
optionalensRegistry?:ChainContract
ensUniversalResolver?
optionalensUniversalResolver?:ChainContract
erc6492Verifier?
optionalerc6492Verifier?:ChainContract
multicall3?
optionalmulticall3?:ChainContract
Inherited from
Chain.contracts
custom?
optionalcustom?:Record<string,unknown>
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:59
Custom chain data.
Inherited from
Chain.custom
defaultConfirmations
readonlydefaultConfirmations:number
Defined in: src/chains/types.ts:35
Default settle confirmation depth for this chain (threat 2.8 / §6.6). Set
by the chain’s finality model, not copied across chains: probabilistic
chains (Polygon) need depth; deterministic-finality chains (Avalanche
Snowman, Kaia IBFT) need 1-2; Ethereum needs ~32. Operators override
via CreateSelfFacilitatorParams.confirmations.
ensTlds?
optionalensTlds?: readonlystring[]
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:33
Collection of ENS TLDs for the chain.
Inherited from
Chain.ensTlds
experimental_preconfirmationTime?
optionalexperimental_preconfirmationTime?:number
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:41
Preconfirmation time in milliseconds.
Inherited from
Chain.experimental_preconfirmationTime
extendSchema?
optionalextendSchema?:Record<string,unknown>
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:61
Extend schema.
Inherited from
Chain.extendSchema
fees?
optionalfees?:ChainFees<ChainFormatters|undefined>
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:63
Modifies how fees are derived.
Inherited from
Chain.fees
formatters?
optionalformatters?:ChainFormatters
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:65
Modifies how data is formatted and typed (e.g. blocks and transactions)
Inherited from
Chain.formatters
id
id:
number
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:35
ID in number form
Inherited from
Chain.id
isTestnet
readonlyisTestnet:boolean
Defined in: src/chains/types.ts:27
true for test networks, false for production networks.
name
name:
string
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:37
Human-readable name
Inherited from
Chain.name
nativeCurrency
nativeCurrency:
ChainNativeCurrency
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:39
Currency used by chain
Inherited from
Chain.nativeCurrency
prepareTransactionRequest?
optionalprepareTransactionRequest?:PrepareTransactionRequestFn| [PrepareTransactionRequestFn,object]
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:67
Function to prepare a transaction request. Runs before the transaction is filled.
Inherited from
Chain.prepareTransactionRequest
rpcUrls
rpcUrls:
object
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:43
Collection of RPC endpoints
Index Signature
[key: string]: ChainRpcUrls
default
default:
ChainRpcUrls
Inherited from
Chain.rpcUrls
serializers?
optionalserializers?:ChainSerializers<ChainFormatters|undefined,TransactionSerializable>
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:81
Modifies how data is serialized (e.g. transactions).
Inherited from
Chain.serializers
sourceId?
optionalsourceId?:number
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:48
Source Chain ID (ie. the L1 chain)
Inherited from
Chain.sourceId
testnet?
optionaltestnet?:boolean
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:50
Flag for test networks
Inherited from
Chain.testnet
verifyHash?
optionalverifyHash?:ChainVerifyHashFn
Defined in: node_modules/.pnpm/viem@2.50.4_typescript@6.0.3_zod@4.4.3/node_modules/viem/_types/types/chain.d.ts:83
Chain-specific signature verification.
Inherited from
Chain.verifyHash