While it is true that any registered contract can write to any key in Storage, we view all of the separate contracts comprising the GoGoPool Protocol as a single system. A single entity (either the Guardian Multisig or in future the ProtocolDAO) will be in control of all of the contracts. In this model, if an attacker can register a single malicious contract, then they are also in full control of the Protocol itself. Because all of the contracts are treated as a single entity, there is no additional security benefit to be gained by providing access controls between the various contract’s storage keys.
Team Comment:
The price of GGP is used in the Protocol to determine collateralization ratios for minipools as well as slashing amounts. At Protocol Launch, the price of GGP will be reported via an off-chain Oracle operated by the Protocol Guardians. If the price of GGP is unknown or outdated, the Protocol cannot operate.
Team Comment:
In the startRewardsCycle, the allotment each party is supposed to receive is calculated; however, due to the nature of the arithmetics, some tokens might be left out due to rounding errors.
Team Comment:
Just before rewards are distributed, a NodeOp can increase their GGP stake to claim a bigger share of rewards, even if they have no minipools currently running.
A staker is eligible for the upcoming rewards cycle if they have staked their tokens for a long enough period of time. The reward amount is distributed in proportion to the amount of funds staked by the user from the total amount of funds staked by all users who claim the reward.
rewardsStartTime (tracking eligibility for rewards) is set when the first minipool is created, and users are eligible for rewards during the period their minipool ends. So a NodeOp can have 0 current minipools (but have run at least one during the period) and deposit additional GGP before rewards are distributed and take an outsized proportion of rewards.
Team Comment: