Developer Docs
  • Introduction
  • Meta Vaults
    • USDC 3Pool Convex Meta Vault
      • 3Pool Convex Meta Vault
      • Meta Vault of Convex 3Crv Vaults
      • Convex 3Crv Vaults
    • General ERC-4626 Vault Interface
    • Liquidator
  • Ethereum Mainnet
    • mAssets
    • imAssets (SAVE)
    • Feeder Pools
    • Vaults
      • BoostedSavingsVault
      • BoostedSavingsVault V2
      • BoostedDualVault
    • Shared Addresses
    • Governance
      • stkMTA
      • stkBPT
      • Quest Manager
    • Save Wrapper
  • Emissions Controller
    • EmissionsController
    • Polygon Integration
      • Bridge Forwarder
      • L2 Bridge Recipient
      • L2 Emissions Controller
      • Disperse Forwarder
    • RevenueSplitBuyBack
    • BasicRewardsForwarder
    • VotiumBribeForwarder
  • Polygon
    • mUSD
    • imUSD
    • Feeder Pool
    • Vaults
    • Save Wrapper
    • Shared Addresses
  • Security
    • Multisig Admin Rights
    • Security Audits
      • Hacken Vault Security Audit
    • Bug Bounty
Powered by GitBook
On this page
  • getQuest()
  • hasCompleted()
  • balanceData()
  • completeUserQuests()
  • checkForSeasonFinish()

Was this helpful?

  1. Ethereum Mainnet
  2. Governance

Quest Manager

PreviousstkBPTNextSave Wrapper

Last updated 3 years ago

Was this helpful?

Centralised place to track quest management and completion status. Contracts are upgradable.

Contract:

getQuest()

function getQuest () external returns (struct Quest)

Gets raw quest data

hasCompleted()

function hasCompleted (address _account, uint256 _id) public returns (bool)

Simply checks if a given user has already completed a given quest

Parameter

Type

Description

_account

address

User address

_id

uint256

Position of quest in array

balanceData()

function balanceData () external returns (struct QuestBalance)

Raw quest balance

completeUserQuests()

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.

Parameter

Type

Description

_account

address

Account that has completed the quest

_ids

uint256[]

Quest IDs (its position in the array)

_signature

bytes

Signature from the verified _questSigner, containing keccak hash of account & ids

checkForSeasonFinish()

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

Parameter

Type

Description

_account

address

Address of user that should be updated

QuestManager.sol