Skip to content
This repository has been archived by the owner on Jul 2, 2024. It is now read-only.

[230522 Audit][v1.4] Dev -> Master #168

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open

[230522 Audit][v1.4] Dev -> Master #168

wants to merge 16 commits into from

Conversation

arjun-io
Copy link
Collaborator

No description provided.

@arjun-io arjun-io changed the title [v1.4 Audit] Dev -> Master [Next Audit][v1.4] Dev -> Master Apr 25, 2023
@arjun-io arjun-io changed the title [Next Audit][v1.4] Dev -> Master [230522 Audit][v1.4] Dev -> Master May 15, 2023
arjun-io and others added 7 commits May 17, 2023 17:15
* Fix rounding when accumulator values are negative

* distribute maker fees to makers

* [size optimizations] clean up if cases, types

* add and update tests

* update Fee integration tests

* Revert "Fix rounding when accumulator values are negative"

This reverts commit 50d5830.

* revert fee rounding changes
* Add AccessControlledCoordinatorOwner periphery contract

* remove funding and position fee updates from param admin

* fix integration test

* add natspec, test to transfer ownership
* Add AccessControlledCoordinatorOwner periphery contract

* remove funding and position fee updates from param admin

* fix integration test

* add natspec, test to transfer ownership

* Add fee and accumulator events

* emit PositionFeeCharged event on 0 value fees
* Add AccessControlledCoordinatorOwner periphery contract

* remove funding and position fee updates from param admin

* fix integration test

* add natspec, test to transfer ownership

* Add fee and accumulator events

* Add maxLeverage check during redemption

* wip tests

* more test investigation

* updates

* remove maxLeverage

* cleanup

* remove .only

* min version

* max redeem fixes

* fix tests

* use most fresh price in rebalance

---------

Co-authored-by: Kevin Britz <kevin@equilibria.xyz>
* Add optional phases initialization to feed oracle

* set _lastSyncedroundId to latestRound
@github-actions
Copy link

github-actions bot commented Jun 2, 2023

Integration Test Coverage Report

Coverage after merging dev2 into dev will be
50.00%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
packages/perennial/contracts/collateral
   Collateral.sol83.57%65%100%96.72%110, 112–113, 120–121, 161, 212, 236, 236, 246, 257, 278–279, 53, 55–57, 86, 88–89, 91–93
packages/perennial/contracts/collateral/types
   OptimisticLedger.sol100%100%100%100%
packages/perennial/contracts/controller
   Controller.sol75.96%48.44%88.37%92.11%126, 140, 153, 166–167, 181–182, 191–192, 201–202, 211–212, 221–222, 232–233, 243–244, 254–255, 265, 274, 283, 292, 312, 320, 329, 337, 355, 355, 355–356, 376, 386, 392, 399, 60, 85
   UControllerProvider.sol74.36%56.25%87.50%86.67%33–34, 40, 47, 54, 54, 54, 56, 61
packages/perennial/contracts/incentivizer
   Incentivizer.sol81.82%58.62%100%96.67%128, 140, 153, 166, 168, 183–184, 201, 213, 300, 310, 332, 339, 42–45, 50–53, 83–86, 97
packages/perennial/contracts/incentivizer/types
   ProductManager.sol94.03%75%100%97.73%158–159, 163, 223
   Program.sol100%100%100%100%
packages/perennial/contracts/interfaces
   ICollateral.sol100%100%100%100%
   IContractPayoffProvider.sol100%100%100%100%
   IController.sol100%100%100%100%
   IIncentivizer.sol100%100%100%100%
   IMultiInvoker.sol100%100%100%100%
   IMultiInvokerRollup.sol100%100%100%100%
   IParamProvider.sol100%100%100%100%
   IPayoffProvider.sol100%100%100%100%
   IPerennialLens.sol100%100%100%100%
   IProduct.sol100%100%100%100%
packages/perennial/contracts/interfaces/types
   Accumulator.sol60%100%60%60%30, 40
   PackedAccumulator.sol0%100%0%0%28
   PackedPosition.sol0%100%0%0%28
   PayoffDefinition.sol0%0%0%0%107, 111, 113–115, 121, 39, 39, 39, 42, 55–57, 60, 60, 60–61, 61, 65, 65, 65–66, 66, 79, 79, 79, 81, 94, 97
   PendingFeeUpdates.sol0%0%0%0%104, 108, 115, 34, 34, 34–36, 41, 51, 51, 51–53, 58, 68, 68, 68–70, 75, 80, 80, 80, 80, 80, 85–90
   Position.sol35.71%0%41.67%41.67%107, 126, 144, 144, 144, 156, 156, 156, 33, 42, 52
   PrePosition.sol0%0%0%0%112, 114, 119–120, 134–135, 135, 135, 40, 50–51, 61–62, 72–73, 83–84, 98
   ProgramInfo.sol80%33.33%100%100%51–52, 52, 52
packages/perennial/contracts/lens
   PerennialLens.sol0%0%0%0%103, 103, 106–116, 133, 142, 151–160, 168, 168–169, 177, 177–178, 186, 186–187, 19, 195, 195–196, 205, 205–206, 214, 214–215, 226, 226, 229–231, 240, 240–242, 250, 250–252, 261, 261–263, 265–266, 27, 274, 274–275, 292, 292–293, 302, 302–303, 312, 312–313, 322, 322–323, 334, 334, 337, 348, 348, 351, 363, 363, 366, 375, 375–376, 387, 387, 39, 390, 399, 399, 40, 400–401, 401, 401, 403–404, 404, 404–405, 408–409, 41–42, 423, 423–425, 43, 437, 437, 44, 440, 442–448, 45, 464, 464–471, 490, 500, 513–514, 519–520, 54–56, 65, 65–77, 89–91
packages/perennial/contracts/multiinvoker
   MultiInvoker.sol98.19%94.23%100%100%356, 372, 50
   MultiInvokerRollup.sol91.84%85%92.86%94.62%187, 219, 225–226, 228, 239–240, 240, 240, 298, 71
packages/perennial/contracts/periphery
   CoordinatorDelegatable.sol98.46%97.06%100%100%99
packages/perennial/contracts/product
   Product.sol0%0%0%0%102–103, 106, 110, 113, 116, 116, 116, 118, 123, 127, 129, 136, 136, 136, 136–138, 155, 158, 158, 158, 161–163, 163, 167, 170, 174, 177, 177, 177, 179, 182, 188, 190, 198, 208, 208–209, 209–210, 210–211, 211–212, 212–213, 213–214, 214–215, 215–216, 216, 218, 22, 220–221, 223–224, 224, 224, 226–227, 235, 245, 245–246, 246–247, 247–248, 248–249, 249–250, 250, 252, 256, 258–259, 261–262, 262, 262, 264–265, 273, 283, 283–284,

Base automatically changed from dev to master July 24, 2023 19:55
@github-actions
Copy link

[Oracle] Integration Test Coverage Report

Coverage after merging dev2 into master will be
67.67%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
packages/perennial-oracle/contracts
   ChainlinkFeedOracle.sol96%90.91%100%97.73%140, 51, 97
   ChainlinkOracle.sol0%0%0%0%105–107, 118–119, 128–129, 138–142, 151, 43–45, 48, 50, 52, 61, 64, 64, 64, 64, 64, 67–68, 78, 86, 95
packages/perennial-oracle/contracts/interfaces
   IOracleProvider.sol100%100%100%100%
packages/perennial-oracle/contracts/test
   PassthroughChainlinkFeed.sol0%100%0%0%10, 14, 18, 22, 26
   PassthroughDataFeed.sol84.62%50%100%83.33%32, 39
   TestnetChainlinkFeedRegistry.sol0%100%0%0%8
packages/perennial-oracle/contracts/types
   ChainlinkAggregator.sol95.31%81.25%100%100%109, 153, 75
   ChainlinkRegistry.sol0%0%0%0%24, 35, 37, 49, 51, 65, 79, 84, 84, 84–85
   ChainlinkRound.sol100%100%100%100%

@github-actions
Copy link

Unit Test Coverage Report

Coverage after merging dev2 into master will be
53.92%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
packages/perennial/contracts/collateral
   Collateral.sol93.57%85%100%100%110, 113, 236, 53, 57, 86, 91–93
packages/perennial/contracts/collateral/types
   OptimisticLedger.sol100%100%100%100%
packages/perennial/contracts/controller
   Controller.sol100%100%100%100%
   UControllerProvider.sol84.62%81.25%87.50%86.67%33, 54, 54, 54, 56
packages/perennial/contracts/incentivizer
   Incentivizer.sol95.80%89.66%100%100%140, 153, 166, 185, 42, 83
packages/perennial/contracts/incentivizer/types
   ProductManager.sol100%100%100%100%
   Program.sol100%100%100%100%
packages/perennial/contracts/interfaces
   ICollateral.sol100%100%100%100%
   IContractPayoffProvider.sol100%100%100%100%
   IController.sol100%100%100%100%
   IIncentivizer.sol100%100%100%100%
   IMultiInvoker.sol100%100%100%100%
   IMultiInvokerRollup.sol100%100%100%100%
   IParamProvider.sol100%100%100%100%
   IPayoffProvider.sol100%100%100%100%
   IPerennialLens.sol100%100%100%100%
   IProduct.sol100%100%100%100%
packages/perennial/contracts/interfaces/types
   Accumulator.sol60%100%60%60%30, 40
   PackedAccumulator.sol0%100%0%0%28
   PackedPosition.sol0%100%0%0%28
   PayoffDefinition.sol0%0%0%0%107, 111, 113–115, 121, 39, 39, 39, 42, 55–57, 60, 60, 60–61, 61, 65, 65, 65–66, 66, 79, 79, 79, 81, 94, 97
   PendingFeeUpdates.sol0%0%0%0%104, 108, 115, 34, 34, 34–36, 41, 51, 51, 51–53, 58, 68, 68, 68–70, 75, 80, 80, 80, 80, 80, 85–90
   Position.sol35.71%0%41.67%41.67%107, 126, 144, 144, 144, 156, 156, 156, 33, 42, 52
   PrePosition.sol0%0%0%0%112, 114, 119–120, 134–135, 135, 135, 40, 50–51, 61–62, 72–73, 83–84, 98
   ProgramInfo.sol100%100%100%100%
packages/perennial/contracts/lens
   PerennialLens.sol0%0%0%0%103, 103, 106–116, 133, 142, 151–160, 168, 168–169, 177, 177–178, 186, 186–187, 19, 195, 195–196, 205, 205–206, 214, 214–215, 226, 226, 229–231, 240, 240–242, 250, 250–252, 261, 261–263, 265–266, 27, 274, 274–275, 292, 292–293, 302, 302–303, 312, 312–313, 322, 322–323, 334, 334, 337, 348, 348, 351, 363, 363, 366, 375, 375–376, 387, 387, 39, 390, 399, 399, 40, 400–401, 401, 401, 403–404, 404, 404–405, 408–409, 41–42, 423, 423–425, 43, 437, 437, 44, 440, 442–448, 45, 464, 464–471, 490, 500, 513–514, 519–520, 54–56, 65, 65–77, 89–91
packages/perennial/contracts/multiinvoker
   MultiInvoker.sol92.77%90.38%95.24%93.55%156–157, 159, 372, 386, 386, 386–388, 390, 49
   MultiInvokerRollup.sol92.52%90%92.86%93.55%180, 187, 187–190, 192, 240, 250–251
packages/perennial/contracts/periphery
   CoordinatorDelegatable.sol98.46%97.06%100%100%99
packages/perennial/contracts/product
   Product.sol0%0%0%0%102–103, 106, 110, 113, 116, 116, 116, 118, 123, 127, 129, 136, 136, 136, 136–138, 155, 158, 158, 158, 161–163, 163, 167, 170, 174, 177, 177, 177, 179, 182, 188, 190, 198, 208, 208–209, 209–210, 210–211, 211–212, 212–213, 213–214, 214–215, 215–216, 216, 218, 22, 220–221, 223–224, 224, 224, 226–227, 235, 245, 245–246, 246–247, 247–248, 248–249, 249–250, 250, 252, 256, 258–259, 261–262, 262, 262, 264–265, 273, 283, 283–284, 284–285, 285–286, 286–287, 287–288, 288–289, 289–290, 290–291, 291–292, 292, 294, 296–297, 299–300, 300, 300, 302–303, 311, 321, 321–322, 322–323, 323–324, 324–325, 325–326, 326–327, 327, 329, 333, 335–336, 338–339, 339, 339, 341–342, 350, 350, 350, 350, 350, 350–352, 355–356, 359, 368, 378, 387, 396, 405, 414, 422, 432, 440, 450, 460, 469, 47, 47, 479, 48, 480–481, 49,

@github-actions
Copy link

[Vaults] Integration Test Coverage Report

Coverage after merging dev2 into master will be
37.53%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
packages/perennial-vaults/contracts/balanced
   BalancedVault.sol0%0%0%0%119, 119–121, 124–125, 129, 133–134, 134, 134–135, 144, 153–154, 163–164, 164, 164, 166, 166, 166–170, 172–175, 178, 180, 191, 191, 191, 193–194, 194, 194, 196, 196, 196–200, 202–205, 208, 210, 218, 220–224, 227–229, 229, 229, 231, 233, 243–245, 254–255, 265–266, 274–275, 283–284, 293–294, 302–303, 312–313, 322–323, 332–333, 341, 341, 341, 350–351, 351, 351, 356, 365–366, 366, 366, 371, 382, 384, 384, 384–389, 391–392, 394–397, 399, 401–402, 405–408, 411, 411, 411–412, 412, 412–417, 419, 419, 419–425, 427, 438–439, 448–449, 449, 449–450, 453–454, 456, 456, 456–458, 458, 458–459, 463–464, 466, 466, 466–468, 468, 468–469, 480, 484, 484, 484–485, 488–490, 490, 490, 490, 490, 492–493, 495–496, 506, 508, 508, 508, 510–512, 512, 514, 517, 517, 517, 519–521, 521, 521, 523, 533, 535, 535, 535–537, 537, 537–538, 547–549, 557, 566–567, 578, 578, 578–579, 589–591, 594, 604–605, 617, 617, 617–619, 619, 619, 621, 631, 631, 631, 631, 631, 631, 631, 643, 643, 643–645, 645, 645, 660, 660, 660–661, 664–665, 667–668, 670, 672–673, 675–676, 678–680, 682, 691, 695, 695, 695, 704, 704, 704–705, 715, 715, 715–716, 725, 725, 725–726, 736, 736, 736–737, 747–748, 758–759, 767–769, 782, 782, 782–783, 793, 793, 793–794, 804–806, 810, 819, 830–831, 834, 844–845, 847, 861, 861, 861–863, 863, 863
   BalancedVaultDefinition.sol0%0%0%0%100, 100, 100–101, 101, 101, 103–104, 104, 104–105, 105, 105–106, 106, 106–107, 107, 107, 109–111, 111, 111–112, 112, 112–113, 113, 113, 115–116, 116, 116, 119, 119, 119, 121–123, 125, 125, 125, 127–128, 128, 128–131, 131, 131–132, 132, 132, 143, 143, 143–144, 144, 144, 146, 81, 81, 81, 83–86, 88, 90–91, 91, 91–93, 95, 95, 95–96, 96, 96–97, 97, 97, 99, 99, 99
packages/perennial-vaults/contracts/interfaces
   IBalancedVault.sol100%100%100%100%
   IBalancedVaultDefinition.sol100%100%100%100%
   ISingleBalancedVault.sol100%100%100%100%
packages/perennial-vaults/contracts/single-balanced
   SingleBalancedVault.sol100%100%100%100%

@github-actions
Copy link

[Oracle] Unit Test Coverage Report

Coverage after merging dev2 into master will be
99.25%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
packages/perennial-oracle/contracts
   ChainlinkFeedOracle.sol98.67%95.45%100%100%51
   ChainlinkOracle.sol100%100%100%100%
packages/perennial-oracle/contracts/interfaces
   IOracleProvider.sol100%100%100%100%
packages/perennial-oracle/contracts/test
   PassthroughChainlinkFeed.sol100%100%100%100%
   PassthroughDataFeed.sol76.92%50%80%83.33%32, 49
   TestnetChainlinkFeedRegistry.sol100%100%100%100%
packages/perennial-oracle/contracts/types
   ChainlinkAggregator.sol93.75%75%100%100%109, 153, 75, 77
   ChainlinkRegistry.sol100%100%100%100%
   ChainlinkRound.sol100%100%100%100%

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants