All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- SIP-75: Burn XAI credit line in RAI silo
- SIP-72: Setup for wstETH and OHMv2 on Arbitrum
- SIP-73: Fix Setup for wstETH and OHM on Arbitrum
- SIP-74: Setup for PEPE, XDEFI, boxETH, BLUR on Mainnet
- SIP-70 Update XAI config for USDC
- Update XAI config
- merging two IRM models into one
- optimizing model behavior
- gas optimizations
- SIP-53: Change rDPX oracle to DIA (Arbitrum)
- SIP-52: Setup for WBTC and VELA on Arbitrum
- DIA oracle
- SIP-50: Setup for JONES and SPA on Arbitrum
- SIP-51: proposal to change XAI price to USDC
- fix changelog
- SIP-48 ARB launch
- SIP-49 update ARB setup
- SIP-47: launching PREMIA
- SIP-46: Transfer admin functions to core team (emergency proposal)
- SIP-45: Migrate rETH to Chainlink price oracle
- exclude
PREMIAfrom SIP-44 and put it in separate SIP
- new address of
ethEmergencyMultisig
- fix vested dates for 8 new vesters
- SIP-44: Setup for 3 assets on Arbitrum
- 8 new vesters contracts
- SIP-42: Mint/Burn XAI (February)
- SIP-43: Set protocol fees to 25% (Arbitrum)
SiloIncentivesController- reward distributor- SIP-41: Setup rewards notifications for Silos
- fix silo unit tests
- view method to calculate used deposits with interests
ManualLiquidationcontract
- Arbitrum production
- SIP-39 Initial Setup For Arbitrum
- SIP-40 Phase 1: Assets Setup For Arbitrum
LiquidationHelper
- SIP-37: Proposal to set protocol fees to 10%
- SIP-38: Claim DAO's vested SILO
- option to force liquidation even when it might be not profitable
- SIP-35: Disable sETH2, FTT and xSushi Silos
- SIP-36: Mint XAI to silos
- SIP-34: Change IRM config for WETH in all silos
- SIP-33:
rETHandagEURSilos- Update IRM for
OHMasset
- SIP-32: Setup fallback providers for
DAIandUSDP
- support non-standard
ERC20.approveinLiquidationHelpereg forUSDT
- cbETH aggregator in the
ChainlinkV3PriceProvider.
0xsupport forLiquidationHelperXAICurveMagicianETH
- Send all earnings from liquidation process to executor, not to LiquidationHelper.owner()
- changed OHM pool in
GOHMMagicianto Balancer OHM-ETH.
- add
OHMMagicianto supportOHMliquidation
GOHMMagiciangOHM magician to support liquidation
WSTETHMagicianwstETH magician to support liquidationSTETHMagicianstETH magician to support liquidation
LiquidationHelperto supportmagiciansfor assets liquidation
- fix gas calculation in
LiquidationHelper, ensure it is closer to reality
- Control
Towerfor keeping track of some contract addresses
- fix changelog for
1.23.0
- SIP-30: Update interest rate models and price providers for existing Silos
- improve
testLiquidationtask
- SIP-29: cancel SIP-24, GOHMPriceProvider and gOHM Silo proposals
- Support
IndividualPriceProviderinGOHMPriceProvider
- SIP-28: 3 new markets
- SIP-27: WSTETHPriceProvider
testLiquidationtask for testing liquidation process for any asset
- WSTETHPriceProvider created and deployed
- Support two
ChainlinkPriceProvidersinLiquidationHelper
- SIP-26: 7 new markets
- SIP 25: Setup Chainlink price provider, Uniswap fallback pool for cbETH
- SIP 24: GOHMPriceProvider and gOHM Silo
- SIP 23: XAI Fallback
UniswapV3PriceProviderXAI
- gOHM Silo deployments
- proposals for 47 markets
GOHMPriceProvider
ChainlinkV3ReverseAggregator- SIP-19: new XAI market / XAI minting and configuration for existing assets
ChainlinkV3PriceProvider
- New proposal flow
- Use
ethers.Walletto send proposals (EIP-1559)
- SIP-18: unregister old and register new
ChainlinkV3PriceProvider
- Expose
getAggregatorPricemethod and make all methodsvirtualinChainlinkV3PriceProvider.
- New
InterestRateModelXAImodel
- Add proposal for registering new Uniswap and Chainlink providers (SIP-17)
- fixed issue with hubflow, adding tag that will include missing deployments
- Add ChainlinkV3 provider support in liquidation helper
- Add missing functionality to ChainlinkV3 provider
- Chainlink provider formal verification
- Add UniswapV3 provider V2 with support for non-eth prices
- Add UniswapV3SwapV2 related to UniswapV3 V2
- Add polygon as staging environment
- add
depositAPYtoInterestRateDataResolver
- fix issue with redeployment of
PRBMathCommonandPRBMathSD59x18
(deployment was done, and then license was changed and artifacts were modified manually) - fix issue with redeployment of
UniswapV3PriceProvider(package@uniswap/v3-core/contracts/libraries/FullMath.solwas updated)
- cbETH Silo
- remove rinkeby support
- testnets deployments
- code verification (and silo verification task)
- remove kovan support
- mainnet deployments
- when setting up model config, call
silo.accrueInterestbefore new config is saved - fix non-checksum address comparison in deployment scripts
- license update for PRBMathSD59x18 and PRBMathCommon
- betaConfig with receipts
- testnets deployments
- license
- detection of issues with
SiloRepositorydeployments
- handle UniswapV3
OLDerror ongetPrice - beta deployments with fixed configuration
- certora
nonReentrantforinitAssetsTokensandsyncBridgeAssets
- add
managertoGuardedLaunch - beta deployments scripts + initial configuration
- return timestamp with Silo assets data in
InterestRateDataResolver
- sync share token state and Silo state on repay, when burning tokens
- added
calculateCompoundInterestRateWithOverflowDetection,overflowDetectedmethods to InterestRateModel - added overflow check in InterestRateModel and rcomp restriction to not cause
_accrueInterestto revert in BaseSilo
- Round in favor of the protocol (introduced
EasyMath.toShareRoundUpandEasyMath.toAmountRoundUp)
toShareandtoAmountrevert if the result is0and amount is not0- Support specifying
type(uint256).maxfor repaying through the router
- add
UniswapV3PriceProvider.quotePricemethod that allows to check the quote price
- make
siloRepositorypublic onTokensFactoryandSiloFactoryand addInitSiloRepositoryevent
- fixed usage of the
liquidityfunction inside the_withdrawAssetfunction
- outdated reentracy comment
- minimal operational share amount
- improvements, fixes based on audit from ABDK and Quantstamp
- a lot of "nice to haves"
- improvements, fixes based on internal audit
- added
SiloLens.hasPosition(silo, user)
- make
depositAPYreturn0when no deposit.
- testnets deployments
- contract verification
ping-pong
- Oracle pools can be added manually only by manager
- rename
Oracle=>'PriceProvider
- automatic oracle detection removed
- remove signature check for off-chain verification for new silo
- license
- license
- generated tests for interest rate model
- flash liquidation (TODO: splitting rewards)
- Silo Factory
- Tokens Factory
- add support to transfer collateral (deposit) and debt (new token standard ERC20R)
- signature check for off-chain verification for new silo
- expose methods for off-chain verifications
- liquidation helper contract
- Support multiple Silo versions
- Dynamic Interest Rate Model
- combine Silo and Bridge
- multiple bridge assets
- increased decimal points for variables and calculations basis points
- better support for TWAP prices for UniswapV3 and BalancerV2: check if pool is ready for TWAP calculations
- collateral only Silo deposits
repayForwill be possible to execute by anyone but only for not solvent borrowers
- remove cloning (it is more efficient to pay more for creation and less for usage)
- remove standard liquidation
- removed cloning for share tokens
- Wrapper for SILO token contract to allow voting with unvested tokens in snapshot off-chain votings
- Silo Governance Token
- Silo Governor based on OZ Governor
- Treasury Vester contract forked from Uniswap
- linters, CI workflows
- BalancerV2 as oracle
- with method for FE to filter pools for asset
- Aragon DAO script to create voting for new Silo
- oracles workflow:
- separate oracles and made them work in more automatic way
- common event for any asset operation in oracles
- update UniswapV3 to follow new oracle patterns
- interest rate calculation based on intervals (virtual balances)
- made
getPricea view - split
lastUpdateTimestampinto timestamps for balance and interest rates - split InterestModel into VirtualBalances and Model
- unify naming, remove
liquidityanddebt, usedepositandborrowAmount
- oracle initialization when new Silo is created
- Chainlink and UniswapV2 oracles
- initial version of Silo protocol
- initial versions of oracles (Chainlink, UniswapV2, UniswapV3)