@pooltogether/pooltogether-prizestrategy-upkeep
v1.0.6
Published
Upkeep integration contracts for the PoolTogether protocol
Downloads
10
Readme
PoolTogether PrizePool Upkeep
PoolTogether Operations contracts is PoolTogether's integration with ChainLinks upkeep system, currently in beta.
How it works
The goal of this system is to fully automate the awarding of the PoolTogether governance owned prize pools.
A registry of these prize pools exists (as an Ownable MappedSinglyLinkedList) and the prize strategy for each prize pool checked every block (canStartAward()
and canCompleteAward()
) to see if upkeep is required.
If upkeep is required then either startAward()
or completeAward()
are called on the prize pool.
To prevent out-of-gas situations, an owner updatable upkeepBatchSize
is maintained to prevent attempting to award too many prize strategies in the same transaction.
An owner updatable upkeepMinimumBlockInterval
is also maintained so as to mitigate multiple performUpkeep()
transactions within the same block - if a transaction is to be included in the same block, it will revert.
Installation
Install the repo and dependencies by running:
yarn
Deployment
These contracts can be deployed to a network by running:
yarn deploy <networkName>
Testing
Run the unit tests locally with:
yarn test
Coverage
Generate the test coverage report with:
yarn coverage