import { BigNumberish, BytesLike } from "ethers"; export interface IProvider { network: {chainId: number}; connector?: {peerMeta?: {name: string}}; send(method: string, params: Array): Promise; signTypedData_v4(account: string, data: SignedDataStruct): Promise; } // EIP-712 Typed Data // See: https://eips.ethereum.org/EIPS/eip-712 export interface TypedDataDomain { name?: string; version?: string; chainId?: BigNumberish; verifyingContract?: string; salt?: BytesLike; } export interface TypedDataField { name: string; type: string; } export interface SignedDataStruct { types: Record>, domain: TypedDataDomain, primaryType: string, message: Record, }