Centralised place to track quest management and completion status. Contracts are upgradable.
function getQuest () external returns (struct Quest)
Gets raw quest data
function hasCompleted (address _account, uint256 _id) public returns (bool)
Simply checks if a given user has already completed a given quest
function balanceData () external returns (struct QuestBalance)
Raw quest balance
function completeUserQuests (address _account, uint256 _ids, bytes _signature) external
Called by anyone to complete one or more quests for a staker. The user must first collect a signed message from the whitelisted _signer.
function checkForSeasonFinish (address _account) public returns (uint8 newQuestMultiplier)
Checks if the season has just finished between now and the users last action. If it has, we reset the seasonMultiplier. Either way, we update the lastAction for the user. NOTE - it is important that this is called as a hook before each state change operation