Appendix 1: Proposed ALLOVR Staking Mechanism

Introduction

The ovr-program exposes a permissionless function which executes an inflation run. It ensures that the minting of new AOVR tokens can only be executed once a week by recording the previous execution time of the previous run on-chain. During execution, a percentage of the total supply of AOVR is minted and the new tokens are to arbitrary addresses e.g., ALLOVR DAO treasury. However, there is a limit to how many accounts the newly minted AOVR can be sent to, driven by the maximum message size of Solana program function execution requests and therefore the number of accounts that can be passed into the ovr-program call.

Discussed here is a proposed solution to allow for the distribution of AOVR to many accounts atomically, without the need to pass in all said accounts into the program call. In essence, rather than attempting to distribute AOVR tokens to all stakeholders in an atomic way at the time of minting, an on-chain register of staking pools (a pool of stakeholder stakes) and staking pool accounts that hold info about individual stakes will be maintained. Updates to the register represent stakeholder balances, allowing values to be updated without exceeding data size of computation limits.

Note on array indexes: positions in an array (a list) of data are referenced by an index starting at 0, meaning the first, third and tenth items in a collection are found at index 0, 2, and 9 respectively.

Last updated