export const CardPurchaserABI = [ { inputs: [ { internalType: 'address', name: '_owner', type: 'address' }, { internalType: 'address', name: '_unlockAddress', type: 'address' }, { internalType: 'address', name: '_usdc', type: 'address' }, ], stateMutability: 'nonpayable', type: 'constructor', }, { inputs: [], name: 'LOCK_CALL_FAILED', type: 'error' }, { inputs: [], name: 'MISSING_LOCK', type: 'error' }, { inputs: [], name: 'PURCHASER_DOES_NOT_MATCH_PAYER', type: 'error' }, { inputs: [], name: 'SIGNER_DOES_NOT_MATCH', type: 'error' }, { inputs: [], name: 'TOO_LATE', type: 'error' }, { inputs: [], name: 'TOO_MUCH_SPENT', type: 'error' }, { inputs: [], name: 'WITHDRAW_FAILED', type: 'error' }, { anonymous: false, inputs: [ { indexed: true, internalType: 'address', name: 'previousOwner', type: 'address', }, { indexed: true, internalType: 'address', name: 'newOwner', type: 'address', }, ], name: 'OwnershipTransferred', type: 'event', }, { inputs: [], name: 'name', outputs: [{ internalType: 'string', name: '', type: 'string' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'owner', outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [ { components: [ { internalType: 'address', name: 'from', type: 'address' }, { internalType: 'address', name: 'to', type: 'address' }, { internalType: 'uint256', name: 'value', type: 'uint256' }, { internalType: 'uint256', name: 'validAfter', type: 'uint256' }, { internalType: 'uint256', name: 'validBefore', type: 'uint256' }, { internalType: 'bytes32', name: 'nonce', type: 'bytes32' }, ], internalType: 'struct CardPurchaser.ApprovalMessage', name: 'approvalMessage', type: 'tuple', }, { internalType: 'bytes', name: 'approvalSignature', type: 'bytes' }, { components: [ { internalType: 'address', name: 'lock', type: 'address' }, { internalType: 'address', name: 'sender', type: 'address' }, { internalType: 'uint256', name: 'expiration', type: 'uint256' }, ], internalType: 'struct CardPurchaser.PurchaseMessage', name: 'purchaseMessage', type: 'tuple', }, { internalType: 'bytes', name: 'purchaseSignature', type: 'bytes' }, { internalType: 'bytes', name: 'callData', type: 'bytes' }, ], name: 'purchase', outputs: [{ internalType: 'bytes', name: '', type: 'bytes' }], stateMutability: 'nonpayable', type: 'function', }, { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }], name: 'transferOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function', }, { inputs: [], name: 'unlockAddress', outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'usdc', outputs: [{ internalType: 'address', name: '', type: 'address' }], stateMutability: 'view', type: 'function', }, { inputs: [], name: 'version', outputs: [{ internalType: 'string', name: '', type: 'string' }], stateMutability: 'view', type: 'function', }, { inputs: [ { internalType: 'address', name: 'tokenAddress', type: 'address' }, { internalType: 'address', name: 'recipient', type: 'address' }, { internalType: 'uint256', name: 'amount', type: 'uint256' }, ], name: 'withdraw', outputs: [], stateMutability: 'nonpayable', type: 'function', }, ]