Update CI: add stmatic #9
GitHub Actions / Scenario Tests (mainnet)
succeeded
Aug 25, 2023 in 1s
Scenario Tests (mainnet) ✅
✅ scenario-results.json
235 tests were completed in 291s with 194 passed, 0 failed and 41 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
plugins/scenario/Loader.ts | 41⚪ | 0ms | ||
scenario/AddStMaticCollateralScenario.ts | 1✅ | 2ms | ||
scenario/AllowBySigScenario.ts | 11✅ | 3s | ||
scenario/AllowScenario.ts | 2✅ | 574ms | ||
scenario/ApproveThisScenario.ts | 3✅ | 1s | ||
scenario/BulkerScenario.ts | 4✅ | 16s | ||
scenario/CometScenario.ts | 3✅ | 852ms | ||
scenario/ConfiguratorScenario.ts | 3✅ | 6s | ||
scenario/CrossChainGovernanceScenario.ts | 4✅ | 3ms | ||
scenario/GovernanceScenario.ts | 4✅ | 16s | ||
scenario/InterestRateScenario.ts | 4✅ | 50s | ||
scenario/LiquidationBotScenario.ts | 3✅ | 16s | ||
scenario/LiquidationScenario.ts | 4✅ | 11s | ||
scenario/MainnetBulkerScenario.ts | 4✅ | 8ms | ||
scenario/PauseGuardianScenario.ts | 3✅ | 984ms | ||
scenario/RewardsScenario.ts | 8✅ | 10s | ||
scenario/SupplyScenario.ts | 44✅ | 18s | ||
scenario/TransferScenario.ts | 46✅ | 32s | ||
scenario/WithdrawReservesScenario.ts | 3✅ | 2s | ||
scenario/WithdrawScenario.ts | 40✅ | 20s |
✅ plugins/scenario/Loader.ts
mainnet
⚪ Comet#interestRate > when utilization is 50%
⚪ Comet#liquidation > governor can withdraw collateral after successful liquidation
⚪ Comet#withdraw reverts if asset is not supported
⚪ Comet#withdraw reverts if not enough asset in protocol
⚪ Compound v2 > allows a user to mint & redeem cDAI
⚪ Compound v2 > allows a user to mint & redeem cUSDC
⚪ Compound v2 > allows a user to repay, borrow, repay cETH
⚪ Compound v2 > allows a user to repay, borrow, repay cWBTC2
⚪ fallbacks to implementation if called by non-admin
⚪ LiquidationBot > liquidates an underwater position of $asset0 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset1 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset10 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset11 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset12 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset13 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset14 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset2 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset3 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset4 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset5 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset6 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset7 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset8 with no maxAmountToPurchase
⚪ LiquidationBot > liquidates an underwater position of $asset9 with no maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset0, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset1, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset10, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset11, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset12, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset13, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset14, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset2, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset3, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset4, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset5, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset6, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset7, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset8, by setting maxAmountToPurchase
⚪ LiquidationBot > partially liquidates large position of $asset9, by setting maxAmountToPurchase
⚪ reverts if proxy is not upgraded by ProxyAdmin
⚪ transfer admin of configurator
✅ scenario/AddStMaticCollateralScenario.ts
mainnet
✅ add new asset stmatic
✅ scenario/AllowBySigScenario.ts
mainnet
✅ Comet#allowBySig > allows a user to authorize a manager by signature
✅ Comet#allowBySig > fails if expiry argument is altered
✅ Comet#allowBySig > fails if isAllowed argument is altered
✅ Comet#allowBySig > fails if manager argument is altered
✅ Comet#allowBySig > fails if nonce argument is altered
✅ Comet#allowBySig > fails if owner argument is altered
✅ Comet#allowBySig fails for invalid expiry
✅ Comet#allowBySig fails if s is too high
✅ Comet#allowBySig fails if signature contains invalid nonce
✅ Comet#allowBySig fails if v not in {27,28}
✅ Comet#allowBySig rejects a repeated message
✅ scenario/AllowScenario.ts
mainnet
✅ Comet#allow > allows a user to authorize a manager
✅ Comet#allow > allows a user to rescind authorization
✅ scenario/ApproveThisScenario.ts
mainnet
✅ Comet#approveThis > allows governor to authorize and rescind authorization for Comet ERC20
✅ Comet#approveThis > allows governor to authorize and rescind authorization for non-Comet ERC20
✅ Comet#approveThis > reverts if not called by governor
✅ scenario/BulkerScenario.ts
mainnet
✅ Comet#bulker > (non-WETH base) all actions in one txn
✅ Comet#bulker > (non-WETH base) all non-reward actions in one txn
✅ Comet#bulker > (WETH base) all actions in one txn
✅ Comet#bulker > (WETH base) all non-reward actions in one txn
✅ scenario/CometScenario.ts
mainnet
✅ has assets
✅ initializes governor correctly
✅ requires upgrade
✅ scenario/ConfiguratorScenario.ts
mainnet
✅ add assets
✅ reverts if configurator is not called by admin
✅ upgrade governor
✅ scenario/CrossChainGovernanceScenario.ts
mainnet
✅ execute cross-chain governance proposal
✅ upgrade Arbitrum governance contracts and ensure they work properly
✅ upgrade Linea governance contracts and ensure they work properly
✅ upgrade Polygon governance contracts and ensure they work properly
✅ scenario/GovernanceScenario.ts
mainnet
✅ add new asset
✅ upgrade Comet implementation and call new function
✅ upgrade Comet implementation and initialize
✅ upgrade Comet implementation and initialize using deployUpgradeToAndCall
✅ scenario/InterestRateScenario.ts
mainnet
✅ Comet#interestRate > above kink rates using hypothetical configuration constants
✅ Comet#interestRate > below kink rates using hypothetical configuration constants
✅ Comet#interestRate > rates using fuzzed configuration constants
✅ Comet#interestRate > rates using on-chain configuration constants
✅ scenario/LiquidationBotScenario.ts
mainnet
✅ LiquidationBot > absorbs, but does not attempt to purchase collateral when maxAmountToPurchase=0
✅ LiquidationBot > absorbs, but does not attempt to purchase collateral when value is beneath liquidationThreshold
✅ LiquidationBot > reverts when price slippage is too high
✅ scenario/LiquidationScenario.ts
mainnet
✅ Comet#liquidation > allows liquidation of underwater positions
✅ Comet#liquidation > isLiquidatable=true for underwater position
✅ Comet#liquidation > prevents liquidation when absorb is paused
✅ Comet#liquidation > user can end up with a minted supply
✅ scenario/MainnetBulkerScenario.ts
mainnet
✅ MainnetBulker > it reverts when passed an action that does not exist
✅ MainnetBulker > unwraps wstETH before withdrawing
✅ MainnetBulker > withdraw max stETH leaves no dust
✅ MainnetBulker > wraps stETH before supplying
✅ scenario/PauseGuardianScenario.ts
mainnet
✅ Comet#pause > governor pauses market actions
✅ Comet#pause > pause guardian pauses market actions
✅ CometRevertCustom#pause > reverts if not called by governor or pause guardian
✅ scenario/RewardsScenario.ts
mainnet
✅ Comet#rewards > can claim borrow rewards for self
✅ Comet#rewards > can claim supply rewards for self
✅ Comet#rewards > can claim supply rewards on scaling rewards contract with multiplier of 10000000000000000
✅ Comet#rewards > can claim supply rewards on scaling rewards contract with multiplier of 1000000000000000000
✅ Comet#rewards > can claim supply rewards on scaling rewards contract with multiplier of 10000000000000000000
✅ Comet#rewards > can claim supply rewards on scaling rewards contract with multiplier of 3550000000000000
✅ Comet#rewards > can claim supply rewards on scaling rewards contract with multiplier of 55000000000000000000
✅ Comet#rewards > manager can claimTo supply rewards from a managed account
✅ scenario/SupplyScenario.ts
mainnet
✅ Comet#supply > base asset
✅ Comet#supply > collateral asset 0
✅ Comet#supply > collateral asset 1
✅ Comet#supply > collateral asset 10
✅ Comet#supply > collateral asset 11
✅ Comet#supply > collateral asset 12
✅ Comet#supply > collateral asset 13
✅ Comet#supply > collateral asset 14
✅ Comet#supply > collateral asset 2
✅ Comet#supply > collateral asset 3
✅ Comet#supply > collateral asset 4
✅ Comet#supply > collateral asset 5
✅ Comet#supply > collateral asset 6
✅ Comet#supply > collateral asset 7
✅ Comet#supply > collateral asset 8
✅ Comet#supply > collateral asset 9
✅ Comet#supply > repay borrow
✅ Comet#supply reverts if asset is not supported
✅ Comet#supply reverts if not enough ERC20 approval
✅ Comet#supply reverts if not enough ERC20 balance
✅ Comet#supply reverts when supply is paused
✅ Comet#supplyFrom > base asset
✅ Comet#supplyFrom > collateral asset 0
✅ Comet#supplyFrom > collateral asset 1
✅ Comet#supplyFrom > collateral asset 10
✅ Comet#supplyFrom > collateral asset 11
✅ Comet#supplyFrom > collateral asset 12
✅ Comet#supplyFrom > collateral asset 13
✅ Comet#supplyFrom > collateral asset 14
✅ Comet#supplyFrom > collateral asset 2
✅ Comet#supplyFrom > collateral asset 3
✅ Comet#supplyFrom > collateral asset 4
✅ Comet#supplyFrom > collateral asset 5
✅ Comet#supplyFrom > collateral asset 6
✅ Comet#supplyFrom > collateral asset 7
✅ Comet#supplyFrom > collateral asset 8
✅ Comet#supplyFrom > collateral asset 9
✅ Comet#supplyFrom > repay borrow
✅ Comet#supplyFrom reverts if not enough ERC20 base approval
✅ Comet#supplyFrom reverts if not enough ERC20 base balance
✅ Comet#supplyFrom reverts if not enough ERC20 collateral approval
✅ Comet#supplyFrom reverts if not enough ERC20 collateral balance
✅ Comet#supplyFrom reverts if operator not given permission
✅ Comet#supplyFrom reverts when supply is paused
✅ scenario/TransferScenario.ts
mainnet
✅ Comet#transfer > base asset, enough balance
✅ Comet#transfer > base asset, total and user balances are summed up properly
✅ Comet#transfer > collateral asset 0, enough balance
✅ Comet#transfer > collateral asset 1, enough balance
✅ Comet#transfer > collateral asset 10, enough balance
✅ Comet#transfer > collateral asset 11, enough balance
✅ Comet#transfer > collateral asset 12, enough balance
✅ Comet#transfer > collateral asset 13, enough balance
✅ Comet#transfer > collateral asset 14, enough balance
✅ Comet#transfer > collateral asset 2, enough balance
✅ Comet#transfer > collateral asset 3, enough balance
✅ Comet#transfer > collateral asset 4, enough balance
✅ Comet#transfer > collateral asset 5, enough balance
✅ Comet#transfer > collateral asset 6, enough balance
✅ Comet#transfer > collateral asset 7, enough balance
✅ Comet#transfer > collateral asset 8, enough balance
✅ Comet#transfer > collateral asset 9, enough balance
✅ Comet#transfer > partial withdraw / borrow base to partial repay / supply
✅ Comet#transfer base reverts if undercollateralized
✅ Comet#transfer collateral reverts if undercollateralized
✅ Comet#transfer disallows self-transfer of base
✅ Comet#transfer disallows self-transfer of collateral
✅ Comet#transfer reverts if borrow is less than minimum borrow
✅ Comet#transfer reverts when transfer is paused
✅ Comet#transferFrom > collateral asset 0, enough balance
✅ Comet#transferFrom > collateral asset 1, enough balance
✅ Comet#transferFrom > collateral asset 10, enough balance
✅ Comet#transferFrom > collateral asset 11, enough balance
✅ Comet#transferFrom > collateral asset 12, enough balance
✅ Comet#transferFrom > collateral asset 13, enough balance
✅ Comet#transferFrom > collateral asset 14, enough balance
✅ Comet#transferFrom > collateral asset 2, enough balance
✅ Comet#transferFrom > collateral asset 3, enough balance
✅ Comet#transferFrom > collateral asset 4, enough balance
✅ Comet#transferFrom > collateral asset 5, enough balance
✅ Comet#transferFrom > collateral asset 6, enough balance
✅ Comet#transferFrom > collateral asset 7, enough balance
✅ Comet#transferFrom > collateral asset 8, enough balance
✅ Comet#transferFrom > collateral asset 9, enough balance
✅ Comet#transferFrom > withdraw to repay
✅ Comet#transferFrom base reverts if undercollateralized
✅ Comet#transferFrom collateral reverts if undercollateralized
✅ Comet#transferFrom disallows self-transfer of base
✅ Comet#transferFrom disallows self-transfer of collateral
✅ Comet#transferFrom reverts if operator not given permission
✅ Comet#transferFrom reverts when transfer is paused
✅ scenario/WithdrawReservesScenario.ts
mainnet
✅ Comet#withdrawReserves > governor withdraws reserves
✅ Comet#withdrawReserves > reverts if not called by governor
✅ Comet#withdrawReserves > reverts if not enough reserves are owned by protocol
✅ scenario/WithdrawScenario.ts
mainnet
✅ Comet#withdraw > base asset
✅ Comet#withdraw > borrow base
✅ Comet#withdraw > collateral asset 0
✅ Comet#withdraw > collateral asset 1
✅ Comet#withdraw > collateral asset 10
✅ Comet#withdraw > collateral asset 11
✅ Comet#withdraw > collateral asset 12
✅ Comet#withdraw > collateral asset 13
✅ Comet#withdraw > collateral asset 14
✅ Comet#withdraw > collateral asset 2
✅ Comet#withdraw > collateral asset 3
✅ Comet#withdraw > collateral asset 4
✅ Comet#withdraw > collateral asset 5
✅ Comet#withdraw > collateral asset 6
✅ Comet#withdraw > collateral asset 7
✅ Comet#withdraw > collateral asset 8
✅ Comet#withdraw > collateral asset 9
✅ Comet#withdraw base reverts if position is undercollateralized
✅ Comet#withdraw collateral reverts if position is undercollateralized
✅ Comet#withdraw reverts if borrow is less than minimum borrow
✅ Comet#withdraw reverts when withdraw is paused
✅ Comet#withdrawFrom > base asset
✅ Comet#withdrawFrom > borrow base
✅ Comet#withdrawFrom > collateral asset 0
✅ Comet#withdrawFrom > collateral asset 1
✅ Comet#withdrawFrom > collateral asset 10
✅ Comet#withdrawFrom > collateral asset 11
✅ Comet#withdrawFrom > collateral asset 12
✅ Comet#withdrawFrom > collateral asset 13
✅ Comet#withdrawFrom > collateral asset 14
✅ Comet#withdrawFrom > collateral asset 2
✅ Comet#withdrawFrom > collateral asset 3
✅ Comet#withdrawFrom > collateral asset 4
✅ Comet#withdrawFrom > collateral asset 5
✅ Comet#withdrawFrom > collateral asset 6
✅ Comet#withdrawFrom > collateral asset 7
✅ Comet#withdrawFrom > collateral asset 8
✅ Comet#withdrawFrom > collateral asset 9
✅ Comet#withdrawFrom reverts if operator not given permission
✅ Comet#withdrawFrom reverts when withdraw is paused
Loading