{ "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "WHERE_REGISTRY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WHO_REGISTRY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "where", "type": "address" } ], "name": "increaseNonce", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address" }, { "internalType": "address", "name": "where", "type": "address" } ], "name": "isOptedIn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address" }, { "internalType": "address", "name": "where", "type": "address" }, { "internalType": "uint48", "name": "timestamp", "type": "uint48" }, { "internalType": "bytes", "name": "hint", "type": "bytes" } ], "name": "isOptedInAt", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address" }, { "internalType": "address", "name": "where", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "nonce", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "where", "type": "address" } ], "name": "optIn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address" }, { "internalType": "address", "name": "where", "type": "address" }, { "internalType": "uint48", "name": "deadline", "type": "uint48" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "optIn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "optInService", "type": "address" }, { "internalType": "address", "name": "who", "type": "address" }, { "internalType": "address", "name": "where", "type": "address" }, { "internalType": "uint48", "name": "timestamp", "type": "uint48" } ], "name": "optInHint", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address" }, { "internalType": "address", "name": "where", "type": "address" }, { "internalType": "uint48", "name": "timestamp", "type": "uint48" } ], "name": "optInHintInternal", "outputs": [ { "internalType": "bool", "name": "exists", "type": "bool" }, { "internalType": "uint32", "name": "hint", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address" }, { "internalType": "address", "name": "where", "type": "address" }, { "internalType": "uint48", "name": "deadline", "type": "uint48" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "optOut", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "where", "type": "address" } ], "name": "optOut", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "staticDelegateCall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "who", "type": "address" }, { "indexed": true, "internalType": "address", "name": "where", "type": "address" } ], "name": "IncreaseNonce", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "who", "type": "address" }, { "indexed": true, "internalType": "address", "name": "where", "type": "address" } ], "name": "OptIn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "who", "type": "address" }, { "indexed": true, "internalType": "address", "name": "where", "type": "address" } ], "name": "OptOut", "type": "event" }, { "inputs": [], "name": "AlreadyOptedIn", "type": "error" }, { "inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error" }, { "inputs": [], "name": "ExpiredSignature", "type": "error" }, { "inputs": [], "name": "ExternalCall", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [], "name": "InvalidSignature", "type": "error" }, { "inputs": [], "name": "NotOptedIn", "type": "error" }, { "inputs": [], "name": "NotWhereEntity", "type": "error" }, { "inputs": [], "name": "NotWho", "type": "error" }, { "inputs": [], "name": "OptOutCooldown", "type": "error" }, { "inputs": [ { "internalType": "uint8", "name": "bits", "type": "uint8" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "SafeCastOverflowedUintDowncast", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" } ] }