{"version":3,"sources":["../src/wallets/evm.ts"],"sourcesContent":["import type { Abi, TypedDataDomain as AbiTypedDataDomainType } from \"abitype\";\nimport type { Signature, WalletClient } from \"./core\";\n\nexport function isEVMWalletClient(wallet: WalletClient): wallet is EVMWalletClient {\n    return wallet.getChain().type === \"evm\";\n}\n\nexport type EVMTransaction = {\n    to: string;\n    functionName?: string;\n    args?: unknown[];\n    value?: bigint;\n    abi?: Abi;\n    options?: EVMTransactionOptions;\n};\n\nexport type EVMTransactionOptions = {\n    paymaster?: {\n        address: `0x${string}`;\n        input: `0x${string}`;\n    };\n};\n\nexport type EVMReadRequest = {\n    address: string;\n    functionName: string;\n    args?: unknown[];\n    abi: Abi;\n};\n\nexport type EVMTransactionResult = {\n    hash: string;\n    status: string;\n};\n\nexport type EVMReadResult = {\n    value: unknown;\n};\n\nexport type EVMTypedData = {\n    domain: TypedDataDomain;\n    types: Record<string, unknown>;\n    primaryType: string;\n    message: Record<string, unknown>;\n};\n\nexport type TypedDataDomain = AbiTypedDataDomainType;\n\nexport interface EVMWalletClient extends WalletClient {\n    sendTransaction: (transaction: EVMTransaction) => Promise<EVMTransactionResult>;\n    read: (request: EVMReadRequest) => Promise<EVMReadResult>;\n    resolveAddress: (address: string) => Promise<`0x${string}`>;\n    signTypedData: (data: EVMTypedData) => Promise<Signature>;\n}\n"],"mappings":";AAGO,SAAS,kBAAkB,QAAiD;AAC/E,SAAO,OAAO,SAAS,EAAE,SAAS;AACtC;","names":[]}