zonder
Version:
Ergonomic multi-chain indexing framework with dual runtime support for Ponder and Envio.
21 lines (20 loc) • 660 B
TypeScript
import type { Abi, AbiEvent, Address, Chain as ViemChain } from 'viem';
export type ZonderConfig<TChains extends Record<string, ViemChain>, TContracts extends Record<string, Abi>> = {
chains: TChains;
contracts: TContracts;
addresses: {
[K in keyof TChains]: Partial<Record<keyof TContracts, Address | Address[]>>;
};
factoryDeployed?: Partial<Record<keyof TContracts, {
event: AbiEvent;
parameter: string;
deployedBy: keyof TContracts;
}>>;
startBlocks?: {
[K in keyof TChains]?: {
[contractName: string]: number;
} & {
default?: number;
};
};
};