opstack-kit-chains
Version:
Support your OP-Stack network with 'opstack-kit'
26 lines (24 loc) • 960 B
text/typescript
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
}
>