export const USD1Abi = [ { type: 'constructor', inputs: [ { name: '_usdc', type: 'address', internalType: 'address' }, { name: '_entryPoint', type: 'address', internalType: 'address' }, ], stateMutability: 'nonpayable', }, { type: 'function', name: 'allowContracts', inputs: [ { name: 'contractAddresses', type: 'address[]', internalType: 'address[]', }, { name: 'shouldEnableAllowlist', type: 'bool', internalType: 'bool' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'allowedContracts', inputs: [ { name: 'user', type: 'address', internalType: 'address' }, { name: 'contractAddress', type: 'address', internalType: 'address' }, ], outputs: [{ name: '', type: 'bool', internalType: 'bool' }], stateMutability: 'view', }, { type: 'function', name: 'disallowContracts', inputs: [ { name: 'contractAddresses', type: 'address[]', internalType: 'address[]', }, { name: 'shouldEnableAllowlist', type: 'bool', internalType: 'bool' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'entryPoint', inputs: [], outputs: [{ name: '', type: 'address', internalType: 'address' }], stateMutability: 'view', }, { type: 'function', name: 'execute', inputs: [ { name: 'amount', type: 'uint256', internalType: 'uint256' }, { name: 'ops', type: 'tuple[]', internalType: 'struct PackedUserOperation[]', components: [ { name: 'sender', type: 'address', internalType: 'address' }, { name: 'nonce', type: 'uint256', internalType: 'uint256' }, { name: 'initCode', type: 'bytes', internalType: 'bytes' }, { name: 'callData', type: 'bytes', internalType: 'bytes' }, { name: 'accountGasLimits', type: 'bytes32', internalType: 'bytes32', }, { name: 'preVerificationGas', type: 'uint256', internalType: 'uint256', }, { name: 'gasFees', type: 'bytes32', internalType: 'bytes32' }, { name: 'paymasterAndData', type: 'bytes', internalType: 'bytes' }, { name: 'signature', type: 'bytes', internalType: 'bytes' }, ], }, { name: 'beneficiary', type: 'address', internalType: 'address payable' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'executeWithPermit', inputs: [ { name: 'permit', type: 'tuple', internalType: 'struct IUSD1.Permit', components: [ { name: 'owner', type: 'address', internalType: 'address' }, { name: 'spender', type: 'address', internalType: 'address' }, { name: 'value', type: 'uint256', internalType: 'uint256' }, { name: 'deadline', type: 'uint256', internalType: 'uint256' }, { name: 'v', type: 'uint8', internalType: 'uint8' }, { name: 'r', type: 'bytes32', internalType: 'bytes32' }, { name: 's', type: 'bytes32', internalType: 'bytes32' }, ], }, { name: 'ops', type: 'tuple[]', internalType: 'struct PackedUserOperation[]', components: [ { name: 'sender', type: 'address', internalType: 'address' }, { name: 'nonce', type: 'uint256', internalType: 'uint256' }, { name: 'initCode', type: 'bytes', internalType: 'bytes' }, { name: 'callData', type: 'bytes', internalType: 'bytes' }, { name: 'accountGasLimits', type: 'bytes32', internalType: 'bytes32', }, { name: 'preVerificationGas', type: 'uint256', internalType: 'uint256', }, { name: 'gasFees', type: 'bytes32', internalType: 'bytes32' }, { name: 'paymasterAndData', type: 'bytes', internalType: 'bytes' }, { name: 'signature', type: 'bytes', internalType: 'bytes' }, ], }, { name: 'beneficiary', type: 'address', internalType: 'address payable' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'executed', inputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }], outputs: [{ name: '', type: 'bool', internalType: 'bool' }], stateMutability: 'view', }, { type: 'function', name: 'isAllowlistEnabled', inputs: [{ name: 'user', type: 'address', internalType: 'address' }], outputs: [{ name: '', type: 'bool', internalType: 'bool' }], stateMutability: 'view', }, { type: 'function', name: 'usdc', inputs: [], outputs: [{ name: '', type: 'address', internalType: 'address' }], stateMutability: 'view', }, { type: 'event', name: 'ContractsAllowed', inputs: [ { name: 'user', type: 'address', indexed: true, internalType: 'address' }, { name: 'contractAddresses', type: 'address[]', indexed: false, internalType: 'address[]', }, { name: 'shouldEnableAllowlist', type: 'bool', indexed: false, internalType: 'bool', }, ], anonymous: false, }, { type: 'event', name: 'ContractsDisallowed', inputs: [ { name: 'user', type: 'address', indexed: true, internalType: 'address' }, { name: 'contractAddresses', type: 'address[]', indexed: false, internalType: 'address[]', }, { name: 'shouldEnableAllowlist', type: 'bool', indexed: false, internalType: 'bool', }, ], anonymous: false, }, { type: 'event', name: 'Executed', inputs: [ { name: 'id', type: 'bytes32', indexed: false, internalType: 'bytes32' }, ], anonymous: false, }, { type: 'error', name: 'AlreadyExecuted', inputs: [] }, { type: 'error', name: 'ContractNotAllowed', inputs: [] }, { type: 'error', name: 'EmptyOps', inputs: [] }, { type: 'error', name: 'InvalidAmount', inputs: [] }, { type: 'error', name: 'OpSenderMismatch', inputs: [] }, { type: 'error', name: 'SafeERC20FailedOperation', inputs: [{ name: 'token', type: 'address', internalType: 'address' }], }, { type: 'error', name: 'UnsupportedToken', inputs: [] }, ] as const;