UNPKG

viem

Version:

TypeScript Interface for Ethereum

26 lines (24 loc) 935 B
import type { ChainFormatters } from '../../types/chain.js' import type { Chain, ChainFormatter } from '../../types/chain.js' import type { EIP712DomainFn } from './eip712.js' import type { ZkSyncTransactionSerializable } from './transaction.js' export type ChainEIP712< formatters extends ChainFormatters | undefined = ChainFormatters | undefined, TransactionSignable = {}, /// transactionSerializable extends ZkSyncTransactionSerializable = formatters extends ChainFormatters ? formatters['transactionRequest'] extends ChainFormatter ? ZkSyncTransactionSerializable & Parameters<formatters['transactionRequest']['format']>[0] : ZkSyncTransactionSerializable : ZkSyncTransactionSerializable, > = Chain< formatters, { /** Return EIP712 Domain for EIP712 transaction */ getEip712Domain?: | EIP712DomainFn<transactionSerializable, TransactionSignable> | undefined } >