UNPKG

viem

Version:

TypeScript Interface for Ethereum

44 lines (38 loc) 1.24 kB
import type { Address } from 'abitype' import type { Account, JsonRpcAccount } from '../accounts/types.js' import type { IsUndefined, MaybeRequired, Prettify } from './utils.js' export type DeriveAccount< account extends Account | undefined, accountOverride extends Account | Address | undefined, > = accountOverride extends Account | Address ? accountOverride : account export type GetAccountParameter< account extends Account | undefined = Account | undefined, accountOverride extends Account | Address | undefined = Account | Address, required extends boolean = true, nullish extends boolean = false, > = MaybeRequired< { account?: | accountOverride | Account | Address | (nullish extends true ? null : never) | undefined }, IsUndefined<account> extends true ? required extends true ? true : false : false > export type ParseAccount< accountOrAddress extends Account | Address | null | undefined = | Account | Address | null | undefined, > = accountOrAddress extends Address ? Prettify<JsonRpcAccount<accountOrAddress>> : accountOrAddress export type { Account } from '../accounts/types.js' export type { HDKey } from '@scure/bip32'