FAQ & Troubleshooting
Tips for deploying and debugging the Staker system.
Last updated
Was this helpful?
Tips for deploying and debugging the Staker system.
Last updated
Was this helpful?
Insufficient reward balance:
Ensure reward tokens are transferred to the staking contract before notification
Check that the reward notifier has sufficient balance or approval
Oracle operations
If using an oracle-based calculator, tools like OpenZeppelin Defender can push earning power updates onchain
The PauseGuardian should monitor the oracle’s updates and react quickly if the oracle goes offline or posts incorrect earning power
Earning power not updating:
Earning power doesn’t automatically update.
Anyone can run a bot to update earning power. There’s an economic incentive for MEV searchers to do updates, but they might not know about the incentive.
We recommend running the scripts in the repo as a backup, in case the MEV searchers don’t.
How often do rewards get distributed, and how is earning power recalculated?
The REWARD_INTERVAL is configurable when deploying a new reward source. When there’s a new reward, the staking system updates everyone’s reward schedules based on earning power. The rewards are distributed over a period of time, the REWARD_DURATION.
How does the system handle vote checkpoints/snapshots?
The underlying governance token handles snapshotting. Staker puts the governance tokens for each delegate into a separate account, called a “surrogate”. Then, it calls delegate() on the underlying governance token to distribute voting power. This way, the underlying governance system does not have to change.