Git Source
mapping(address referredBy => mapping(address user => bool wasReferred)) public referredByRegistry;
mapping(address user => address referredBy) public referralsForUserRegistry;
mapping(address referredBy => address[] users) public referralRegistry;
mapping(address referredBy => uint256 total) public totalReferred;
mapping(address user => bool wasReferred) public isUserReferred;
mapping(address user => uint256 nonce) public nonces;
modifier onlyNewUser();
function claimReferral(bytes calldata signature, address referrer) external onlyNewUser;
event ReferralClaimed(address indexed referred, address indexed referrer);
event ReferralRejected(address indexed referred, address indexed referrer, string reason);
error ReferralSigning_SameUser();
error ReferralSigning_InvalidSignature();
error ReferralSigning_UserAlreadyReferred();
error ReferralSigning_ContractReferrerNotAllowed();