Skip to content

Commit

Permalink
Merge pull request #5 from pooltogether/pool-2667-design-incentivized…
Browse files Browse the repository at this point in the history
…-rng-mechanism

feat(contracts): add DrawAuction contract
  • Loading branch information
PierrickGT authored Jun 29, 2023
2 parents 0d5d603 + 0013c31 commit ccf857a
Show file tree
Hide file tree
Showing 31 changed files with 3,489 additions and 567 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,6 @@
[submodule "lib/v5-prize-pool"]
path = lib/v5-prize-pool
url = https://github.com/pooltogether/v5-prize-pool
[submodule "lib/optimism"]
path = lib/optimism
url = https://github.com/ethereum-optimism/optimism
323 changes: 315 additions & 8 deletions lcov.info
Original file line number Diff line number Diff line change
@@ -1,10 +1,317 @@
TN:
SF:src/DrawBeacon.sol
FN:5,DrawBeacon.getDrawBeacon
FNDA:1,DrawBeacon.getDrawBeacon
FNF:1
FNH:1
DA:6,1
LF:1
LH:1
SF:src/DrawAuction.sol
FN:59,DrawAuction.prizePool
FN:68,DrawAuction.reward
FN:81,DrawAuction._afterAuctionEnds
FNDA:1,DrawAuction.prizePool
FNDA:7,DrawAuction.reward
FNDA:3,DrawAuction._afterAuctionEnds
FNF:3
FNH:3
DA:60,1
DA:69,7
DA:85,3
DA:87,3
DA:89,3
DA:90,3
DA:92,3
DA:93,2
DA:95,1
DA:96,1
DA:99,3
DA:100,3
DA:101,3
DA:103,3
DA:104,3
DA:105,3
DA:107,3
LF:17
LH:17
end_of_record
TN:
SF:src/DrawAuctionDispatcher.sol
FN:107,DrawAuctionDispatcher.dispatcher
FN:115,DrawAuctionDispatcher.drawAuctionExecutor
FN:123,DrawAuctionDispatcher.toChainId
FN:134,DrawAuctionDispatcher.setDispatcher
FN:143,DrawAuctionDispatcher.setDrawAuctionExecutor
FN:156,DrawAuctionDispatcher._afterAuctionEnds
FN:186,DrawAuctionDispatcher._setDispatcher
FN:196,DrawAuctionDispatcher._setDrawAuctionExecutor
FNDA:3,DrawAuctionDispatcher.dispatcher
FNDA:3,DrawAuctionDispatcher.drawAuctionExecutor
FNDA:2,DrawAuctionDispatcher.toChainId
FNDA:5,DrawAuctionDispatcher.setDispatcher
FNDA:13,DrawAuctionDispatcher.setDrawAuctionExecutor
FNDA:3,DrawAuctionDispatcher._afterAuctionEnds
FNDA:3,DrawAuctionDispatcher._setDispatcher
FNDA:13,DrawAuctionDispatcher._setDrawAuctionExecutor
FNF:8
FNH:8
DA:108,3
DA:116,3
DA:124,2
DA:135,3
DA:144,13
DA:160,3
DA:171,3
DA:187,3
DA:188,1
DA:189,1
DA:197,13
DA:198,13
DA:199,13
LF:13
LH:13
end_of_record
TN:
SF:src/DrawAuctionExecutor.sol
FN:132,DrawAuctionExecutor.originChainId
FN:140,DrawAuctionExecutor.drawAuctionDispatcher
FN:148,DrawAuctionExecutor.prizePool
FN:159,DrawAuctionExecutor.setDrawAuctionDispatcher
FN:176,DrawAuctionExecutor._checkSender
FN:94,DrawAuctionExecutor.completeAuction
FNDA:1,DrawAuctionExecutor.originChainId
FNDA:2,DrawAuctionExecutor.drawAuctionDispatcher
FNDA:1,DrawAuctionExecutor.prizePool
FNDA:15,DrawAuctionExecutor.setDrawAuctionDispatcher
FNDA:2,DrawAuctionExecutor._checkSender
FNDA:2,DrawAuctionExecutor.completeAuction
FNF:6
FNH:6
DA:99,2
DA:101,2
DA:103,2
DA:105,2
DA:106,2
DA:108,2
DA:109,1
DA:111,1
DA:112,1
DA:115,2
DA:116,2
DA:117,2
DA:119,2
DA:120,2
DA:121,2
DA:123,2
DA:133,1
DA:141,2
DA:149,1
DA:160,15
DA:161,14
DA:163,13
DA:165,13
DA:177,2
DA:178,2
DA:179,2
LF:26
LH:26
end_of_record
TN:
SF:src/RNGRequestor.sol
FN:163,RNGRequestor.startRNGRequest
FN:185,RNGRequestor.completeRNGRequest
FN:197,RNGRequestor.cancelRNGRequest
FN:214,RNGRequestor.isRNGRequested
FN:222,RNGRequestor.isRNGCompleted
FN:230,RNGRequestor.isRNGTimedOut
FN:238,RNGRequestor.canStartRNGRequest
FN:246,RNGRequestor.canCompleteRNGRequest
FN:256,RNGRequestor.getRNGLockBlock
FN:265,RNGRequestor.getRNGRequestId
FN:273,RNGRequestor.getRNGTimeout
FN:281,RNGRequestor.getRNGService
FN:293,RNGRequestor.setRNGService
FN:303,RNGRequestor.setRNGTimeout
FN:313,RNGRequestor._afterRNGStart
FN:320,RNGRequestor._afterRNGComplete
FN:326,RNGRequestor._currentTime
FN:334,RNGRequestor._isRNGRequested
FN:342,RNGRequestor._isRNGCompleted
FN:350,RNGRequestor._isRNGTimedOut
FN:362,RNGRequestor._setRNGService
FN:372,RNGRequestor._setRNGTimeout
FNDA:20,RNGRequestor.startRNGRequest
FNDA:9,RNGRequestor.completeRNGRequest
FNDA:2,RNGRequestor.cancelRNGRequest
FNDA:2,RNGRequestor.isRNGRequested
FNDA:2,RNGRequestor.isRNGCompleted
FNDA:2,RNGRequestor.isRNGTimedOut
FNDA:2,RNGRequestor.canStartRNGRequest
FNDA:2,RNGRequestor.canCompleteRNGRequest
FNDA:3,RNGRequestor.getRNGLockBlock
FNDA:3,RNGRequestor.getRNGRequestId
FNDA:3,RNGRequestor.getRNGTimeout
FNDA:3,RNGRequestor.getRNGService
FNDA:2,RNGRequestor.setRNGService
FNDA:2,RNGRequestor.setRNGTimeout
FNDA:11,RNGRequestor._afterRNGStart
FNDA:1,RNGRequestor._afterRNGComplete
FNDA:22,RNGRequestor._currentTime
FNDA:35,RNGRequestor._isRNGRequested
FNDA:11,RNGRequestor._isRNGCompleted
FNDA:4,RNGRequestor._isRNGTimedOut
FNDA:2,RNGRequestor._setRNGService
FNDA:2,RNGRequestor._setRNGTimeout
FNF:22
FNH:22
DA:164,19
DA:166,19
DA:167,1
DA:170,19
DA:171,19
DA:172,19
DA:173,19
DA:175,19
DA:177,19
DA:186,7
DA:187,7
DA:189,7
DA:191,7
DA:193,7
DA:198,2
DA:200,1
DA:201,1
DA:203,1
DA:205,1
DA:215,2
DA:223,2
DA:231,2
DA:239,2
DA:247,2
DA:257,3
DA:266,3
DA:274,3
DA:282,3
DA:294,2
DA:304,2
DA:327,22
DA:335,35
DA:343,11
DA:351,4
DA:352,1
DA:354,3
DA:363,2
DA:364,1
DA:365,1
DA:373,2
DA:374,1
DA:375,1
LF:42
LH:42
end_of_record
TN:
SF:src/abstract/ExecutorAware.sol
FN:37,ExecutorAware.isTrustedExecutor
FN:47,ExecutorAware._messageId
FN:61,ExecutorAware._fromChainId
FN:75,ExecutorAware._msgSender
FNDA:0,ExecutorAware.isTrustedExecutor
FNDA:0,ExecutorAware._messageId
FNDA:2,ExecutorAware._fromChainId
FNDA:2,ExecutorAware._msgSender
FNF:4
FNH:2
DA:38,4
DA:50,0
DA:52,0
DA:64,2
DA:66,2
DA:76,2
DA:78,2
DA:80,2
LF:8
LH:6
end_of_record
TN:
SF:src/auctions/Auction.sol
FN:104,Auction.getPhase
FN:117,Auction._afterAuctionEnds
FN:128,Auction._getPhases
FN:137,Auction._getPhase
FN:151,Auction._setPhase
FN:87,Auction.auctionDuration
FN:95,Auction.getPhases
FNDA:6,Auction.getPhase
FNDA:1,Auction._afterAuctionEnds
FNDA:1,Auction._getPhases
FNDA:20,Auction._getPhase
FNDA:20,Auction._setPhase
FNDA:2,Auction.auctionDuration
FNDA:1,Auction.getPhases
FNF:7
FNH:7
DA:88,2
DA:96,1
DA:105,6
DA:129,1
DA:138,20
DA:157,20
DA:164,20
DA:166,20
DA:168,20
LF:9
LH:9
end_of_record
TN:
SF:src/auctions/TwoStepsAuction.sol
FN:37,TwoStepsAuction._afterRNGStart
FN:47,TwoStepsAuction._afterRNGComplete
FNDA:9,TwoStepsAuction._afterRNGStart
FNDA:7,TwoStepsAuction._afterRNGComplete
FNF:2
FNH:2
DA:38,9
DA:39,9
DA:48,7
DA:54,7
DA:56,7
DA:57,7
DA:58,7
DA:60,7
LF:8
LH:8
end_of_record
TN:
SF:src/libraries/RewardLib.sol
FN:23,RewardLib.rewards
FN:54,RewardLib.reward
FN:82,RewardLib._reward
FNDA:5,RewardLib.rewards
FNDA:22,RewardLib.reward
FNDA:32,RewardLib._reward
FNF:3
FNH:3
DA:28,5
DA:29,5
DA:30,5
DA:31,5
DA:33,5
DA:34,5
DA:36,5
DA:37,10
DA:40,5
DA:59,22
DA:60,22
DA:62,22
DA:64,22
DA:90,32
DA:91,5
DA:96,27
DA:97,16
DA:100,27
DA:101,27
DA:102,27
DA:103,27
DA:107,27
DA:108,2
DA:112,25
DA:113,4
DA:119,25
DA:120,5
DA:123,25
LF:28
LH:28
end_of_record
1 change: 1 addition & 0 deletions lib/optimism
Submodule optimism added at 13c710
2 changes: 1 addition & 1 deletion lib/v5-prize-pool
Submodule v5-prize-pool updated 37 files
+29 −0 .envrc.example
+2 −2 .github/workflows/coverage.yml
+6 −1 .gitignore
+4 −0 .husky/pre-commit
+8 −0 .lintstagedrc
+10 −0 .prettierignore
+12 −0 .prettierrc
+11 −0 .solhint.json
+106 −1 README.md
+27 −1 foundry.toml
+4,522 −0 package-lock.json
+37 −0 package.json
+819 −520 src/PrizePool.sol
+1,079 −418 src/abstract/TieredLiquidityDistributor.sol
+19 −20 src/libraries/BitLib.sol
+389 −301 src/libraries/DrawAccumulatorLib.sol
+126 −124 src/libraries/TierCalculationLib.sol
+16 −16 src/libraries/UD34x4.sol
+1,028 −740 test/PrizePool.t.sol
+182 −58 test/abstract/TieredLiquidityDistributor.t.sol
+45 −17 test/abstract/helper/TieredLiquidityDistributorWrapper.sol
+8 −9 test/invariants/DrawAccumulatorInvariants.t.sol
+12 −9 test/invariants/PrizePoolInvariants.t.sol
+39 −0 test/invariants/TierCalculationInvariants.t.sol
+40 −60 test/invariants/TieredLiquidityDistributorInvariants.t.sol
+17 −19 test/invariants/helpers/DrawAccumulatorFuzzHarness.sol
+60 −56 test/invariants/helpers/PrizePoolFuzzHarness.sol
+56 −0 test/invariants/helpers/TierCalculationFuzzHarness.sol
+49 −44 test/invariants/helpers/TieredLiquidityDistributorFuzzHarness.sol
+43 −45 test/libraries/BitLib.t.sol
+254 −232 test/libraries/DrawAccumulatorLib.t.sol
+143 −75 test/libraries/TierCalculationLib.t.sol
+38 −48 test/libraries/UD34x4.t.sol
+1 −4 test/mocks/ERC20Mintable.sol
+16 −19 test/wrappers/BitLibWrapper.sol
+85 −67 test/wrappers/DrawAccumulatorLibWrapper.sol
+21 −11 test/wrappers/TierCalculationLibWrapper.sol
2 changes: 2 additions & 0 deletions remappings.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
ds-test/=lib/forge-std/lib/ds-test/src/
forge-std/=lib/forge-std/src/
openzeppelin=lib/openzeppelin-contracts/contracts/
optimism/=lib/optimism/packages/contracts-bedrock/contracts/
owner-manager/=lib/owner-manager-contracts/contracts/
rng/=lib/pooltogether-rng-contracts/contracts/

v5-prize-pool/=lib/v5-prize-pool/src/

src/=src/
test/=test/
Loading

0 comments on commit ccf857a

Please sign in to comment.