Skip to content

Releases: ebtc-protocol/ebtc

Release 0.7

12 Mar 11:47
3406f0d
Compare
Choose a tag to compare
Release 0.7 Pre-release
Pre-release

Release Candidate Changelog

Release 0.6 Changes

High Level Features

  • Simplified priceFeed, with governance over primary oracle. Hybrid solution uses the existing PriceFeed mechanics (which combines dual chainlink feeds with validity state machine + potential backup oracle) as the primary oracle in the new design.
  • Rounding issue scope verification and research project around potential rearchitectures
    • Practically mitigated by enforcing a 1000 wei minimum debt, and 1000 wei minimum change of debt. There is also a 1000 wei minimum change of collShares on user operations.
  • New TWAP on totalDebt to prevent spot manipulation of totalDebt via flashloan to reduce redemption fee scaling.
  • Governance work on timelock and configuration of highsec / lowsec timelocks.

PRs

  • #720 Mid-contest fix for Certora prover
  • #737 Introduce simplified "brainead" oracle
  • #727 Fixes for Leverage macro, now used as a basis for Zaps
  • #721 Forge coverage doesn't work with multiple complier versions, resolved so we can use it
  • #730 Track the source CDP for each collSurplus as well as independenly account for collateralShares and liquidatorRewardShares
  • #725 Reinsert partially redeemed CDP after all fully redeemed CDPs are removed
  • #742 Implement more view functions on Governance
  • #741 Allow flashLoans to be called in TargetFunctions (oversight), and clamps partialRedemption parameters to create more valid runs.
  • #739 Made test Collateral function exactly like stETH
  • #723 Braindead Oracle primary PR with Echidna Tester
  • #747 Enforce minimum 100 wei debt, and 1000 wei changes for debt, along with required test modifications.
  • #722 Add timelocks and lowsec / highsec governance configuration
  • #736 Minimum viable TWAP - track totalDebt value over time to prevent spot manipulation of totalDebt via FL to reduce redemption fee at scale
  • #744 Rename braindeadFeed to eBTC feed

Release 0.7 Changes

High Level Changes

  • CdpId's array was removed as it's sole purpose was to allow random access on-chain into list which was deemed not worth of storage.
  • Combined with switching liquidatorRewardShares to a uint128, it frees up a storage slot write on Cdp opens which is meaningful optimisation at low risk.
  • A new chainlink adapter combines the ETH/USD and BTC/USD feeds to get the ETH/BTC price, rather than using that feed directly.
  • The stETH:ETH rate is now read as a fixed 1:1 by default, rather than the market rate. There is a governance ability to switch the feed to the market rate oracle.

PRs

  • #760 removes CdpId's array for random access into list to free up storage space
  • #759 lastGoodPrice is no longer stored on priceFeed contract, just on EbtcFeed
  • #761 prevents authority address from being changed on all system contracts except governor.
  • #762 cap liquidator reward shares at uin128 to free up one storage slot (when combined with removal of CdpIds array)
  • #763 Chainlink adapter to combine ETH/USD and BTC/USD feeds to ETH/BTC
  • #767 some governance changes, see PR
  • #777 More precise properties around debt and collateral rounding behavior
  • #779 TWAP emergency switch in case of revert
  • #780 Fix sequenceLiqToBatchLiq inequality to test recovery mode

Release 0.5

04 Nov 23:09
84945e7
Compare
Choose a tag to compare

C4 Contest Release

Spearbit Fixed

22 Jun 02:14
bd73ac8
Compare
Choose a tag to compare
  • eBTCToken safemath removal
  • Audit files scope fixed

Spearbit

21 Jun 11:53
be80620
Compare
Choose a tag to compare

Spearbit audit

v0.1.0

15 May 12:17
181cb50
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

Feature-complete, first audit target