Sandclock
  • Introduction
    • Glossary
    • Disclaimer
  • Strategies
    • v1 (Deprecated)
      • Amethyst
      • Jade
    • v2
      • scETH
      • scUSDC
      • scLUSD
      • scDAI
      • scSDAI
      • scUSDS
      • scUSDT
  • QUARTZ & The DAO
    • QUARTZ
    • Staking
    • Governance
    • Allocation
  • Partnerships
  • Technical Documentation
    • Specification
      • Vault
        • Vault Properties
      • Strategies
        • Strategy Properties
    • Security
      • External
      • Internal
      • Emergency Procedure
    • Resources
    • Integration
    • Deployments
Powered by GitBook
On this page
  • Liquity
  • Rysk
  1. Technical Documentation
  2. Specification
  3. Strategies

Strategy Properties

Liquity

Property
Echidna
Formally Verified

invest: reverts if msg.sender is not manager

✓

✓

invest: reverts if underlying balance is zero

✓

✓

invest: deposits underlying to the stabilityPool

✓

✓

withdrawToVault: reverts if msg.sender is not manager

✓

✓

withdrawToVault: reverts if amount is zero

✓

✓

withdrawToVault: reverts if amount is greater than invested assets

✓

✓

withdrawToVault: works if amount is less than invested assets

✓

✓

withdrawToVault: works if amount is equal than invested assets

✓

✓

allowSwapTarget: reverts if msg.sender is not settings role

✓

✓

allowSwapTarget: add _swapTarget to allowedSwapTargets.

✓

denySwapTarget: reverts if msg.sender is not settings role

✓

✓

denySwapTarget: remove _swapTarget from allowedSwapTargets.

✓

setMinPrincipalProtectionPct: reverts if msg.sender is not settings role

✓

✓

reinvest: reverts if msg.sender is not keeper role

✓

✓

initialize: can be called only once

✓

harvest: claim ETH and LQTY rewards from stability pool

✓

investedAssets() > 0 <=> hasAssets()

✓

isSync() == true

✓

transferAdminRights: reverts if msg.sender is not admin.

✓

transferAdminRights: transfer admin rights to the new admin

✓

Rysk

Property
Echidna
Formally Verified

invest: reverts if msg.sender is not manager

✓

invest: reverts if underlying balance is zero

✓

invest: deposits underlying to the ryskLqPool.

✓

withdrawToVault: reverts if msg.sender is not manager

✓

withdrawToVault: reverts if amount is zero

✓

withdrawToVault: initiate withdraw from the ryskLqPool if amount > 0

✓

completeWithdrawal: reverts if msg.sender is not keeper

✓

completeWithdrawal: withdraw underlying from the ryskLqPool to vault

✓

investedAssets() > 0 <=> hasAssets()

✓

isSync() == false

✓

transferAdminRights: reverts if msg.sender is not admin.

✓

transferAdminRights: transfer admin rights to the new admin

✓

PreviousStrategiesNextSecurity

Last updated 1 year ago