diff --git a/contracts/DrawHistory.sol b/contracts/DrawHistory.sol index 47beca0f..9161c7e0 100644 --- a/contracts/DrawHistory.sol +++ b/contracts/DrawHistory.sol @@ -11,13 +11,13 @@ import "./libraries/DrawRingBufferLib.sol"; /** * @title PoolTogether V4 DrawHistory * @author PoolTogether Inc Team - * @notice The DrawHistory keeps a historical record of Draws created/pushed by DrawBeacon(s). - Once a DrawBeacon (on mainnet) completes a RNG request, a new Draw will be added - to the DrawHistory draws ring buffer. A DrawHistory will store a limited number - of Draws before beginning to overwrite (managed via the cardinality) previous Draws. - All mainnet DrawHistory(s) are updated directly from a DrawBeacon, but non-mainnet - DrawHistory(s) (Matic, Optimism, Arbitrum, etc...) will receive a cross-chain message, - duplicating the mainnet Draw configuration - enabling a prize savings liquidity network. + * @notice The DrawHistory provides historical lookups of Draws via a circular ring buffer. + Historical Draws can be accessed on-chain using a drawId to calculate ring buffer storage slot. + The Draw settings can be created by manager/owner and existing Draws can only be updated the owner. + Once a starting Draw has been added to the ring buffer, all following draws must have a sequential Draw ID. + @dev A DrawHistory store a limited number of Draws before beginning to overwrite (managed via the cardinality) previous Draws. + @dev All mainnet DrawHistory(s) are updated directly from a DrawBeacon, but non-mainnet DrawHistory(s) (Matic, Optimism, Arbitrum, etc...) + will receive a cross-chain message, duplicating the mainnet Draw configuration - enabling a prize savings liquidity network. */ contract DrawHistory is IDrawHistory, Manageable { using DrawRingBufferLib for DrawRingBufferLib.Buffer; diff --git a/contracts/PrizeDistributionHistory.sol b/contracts/PrizeDistributionHistory.sol index 480071e5..754a1b24 100644 --- a/contracts/PrizeDistributionHistory.sol +++ b/contracts/PrizeDistributionHistory.sol @@ -11,9 +11,9 @@ import "./interfaces/IPrizeDistributionHistory.sol"; /** * @title PoolTogether V4 PrizeDistributionHistory * @author PoolTogether Inc Team - * @notice The PrizeDistributionHistory contract stores PrizeDistribution struct parameters (linked with a Draw ID) in a + * @notice The PrizeDistributionHistory contract provides historical lookups of PrizeDistribution struct parameters (linked with a Draw ID) via a circular ring buffer. Historical PrizeDistribution parameters can be accessed on-chain using a drawId to calculate - ring buffer storage slot. The PrizeDistribution parameters can be created my manager/owner and existing PrizeDistribution + ring buffer storage slot. The PrizeDistribution parameters can be created by manager/owner and existing PrizeDistribution parameters can only be updated the owner. When adding a new PrizeDistribution basic sanity checks will be used to validate the incoming parameters. */ diff --git a/contracts/Reserve.sol b/contracts/Reserve.sol index 327f3c75..2b79b474 100644 --- a/contracts/Reserve.sol +++ b/contracts/Reserve.sol @@ -12,7 +12,7 @@ import "./libraries/ObservationLib.sol"; /** * @title PoolTogether V4 Reserve * @author PoolTogether Inc Team - * @notice The Reserve contract enables historical searches of a token balance increase during a target timerange. + * @notice The Reserve contract provides historical lookups of a token balance increase during a target timerange. As the Reserve contract transfers OUT tokens, the withdraw accumulator is increased. When tokens are transfered IN new checkpoint *can* be created if checkpoint() is called after transfering tokens. By using the reserve and withdraw accumulators to create a new checkpoint, any contract or account