{"version":3,"sources":["../../../src/common/types/viemTypes.ts"],"sourcesContent":["import {\n  Abi,\n  Account,\n  Chain,\n  GetContractReturnType,\n  PublicClient,\n  RpcSchema,\n  Transport,\n  WalletClient,\n} from 'viem';\n\n/**\n * An account with its corresponding private key. Viem does not allow private keys to be accessible from an account\n */\nexport interface AccountWithPrivateKey {\n  account: Account;\n  privateKey: string;\n}\n\n/**\n * A viem WalletClient that is fully initialized with a Transport, Chain, Account, and RpcSchema\n */\nexport type WalletClientWithAccount = WalletClient<\n  Transport,\n  Chain,\n  Account,\n  RpcSchema\n>;\n\n/**\n * A viem contract instance that has a connected WalletClient, thus allowing write operations\n */\nexport type WriteableContractInstance<TAbi extends Abi = Abi> =\n  GetContractReturnType<TAbi, WalletClientWithAccount>;\n\n/**\n * A viem contract instance that has a connected WalletClient or PublicClient\n */\nexport type ContractInstance<TAbi extends Abi = Abi> = GetContractReturnType<\n  TAbi,\n  WalletClient | PublicClient\n>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}