import { IContractDetails } from '../../models/IContractDetails'; import { ITokenGlob } from '../../models/ITokenGlob'; import { TAddress } from '../../models/TAddress'; import { TPlatform } from '../../models/TPlatform'; import { IRpcConfig } from '../../clients/ClientPool'; import { TChain } from '../../models/TChain'; export interface IConfigData { settings: { /** Root path of the dequanto library */ base?: string; /** Default generator options */ generate?: { target?: 'js' | 'mjs' | 'ts'; }; }; accounts: { [platform in TPlatform]: { [name: string]: { address: string; key?: string; }; }; }; tokens: ITokenGlob[]; blockchainExplorer: { [platform in TPlatform]: { key: string; host?: string; api?: string; wwww?: string; }; }; chains: TChain[]; web3: { [platform in TPlatform]: { chainId?: number; chainToken?: string; aliases?: string[]; endpoints: IRpcConfig[]; }; }; contracts?: { [platform in TPlatform]: IContractDetails[]; }; erc4337?: { name: string; contracts: { entryPoint: TAddress; accountFactory: TAddress; }; platforms: TPlatform[]; }[]; safe?: { transactionService: Record; contracts: Record; }; flashbots?: { [platform in TPlatform]: { url: string; }; }; spotPriceAggregator?: { [platform in TPlatform]: TAddress; }; }