Skip to content

Releases: mstable/mStable-contracts

Release 4.2.3

11 May 00:58
Compare
Choose a tag to compare

Instead of the mStable MTA/WETH Staking BPT (mBPT) being held in the Staking Token BPT (stkBPT) contract, it is deposited into the new Balancer mBPT Gauge Deposit (mBPT-gauge).

MCCP 21: Stake BPT staked in mStable into Balancer Staking contract has details on why the change was done.

See Pull Request #350 for the detailed contract changes.

Full Changelog: v2.4.2...v2.4.3

Release 2.4.2

23 Feb 06:20
Compare
Choose a tag to compare

The main feature of this release is being able to withdraw base assets (bAssets) or Feeder Pool assets (fAssets) from Vaults or Save in one transaction.

Examples:

  • Withdraw USDC bAsset from the Savings Vault (v-imUSD).
  • Withdraw WBTC bAsset from Save (imBTC).
  • Withdraw FEI fAsset from the Savings Vault (v-imUSD).
  • Withdraw HBTC fAsset from from Save (imBTC).

See the following for more details on how the processes work
https://github.com/mstable/mStable-process-docs/blob/main/unwrapper/README.md#unwrapper

Contract changes

  • New ISavingsContract v3 interface with
    • new redeemAndUnwrap function
    • depositSavings override with referrer param
  • Added withdrawAndUnwrap function to vault contracts: BoostedVault, BoostedDualVault, StakingRewards and StakingRewardsWithPlatformToken.
  • New Unwrapper contract.
  • SaveWrapper contract added deposit override with referrer param

Full Changelog: v2.4.1...v2.4.2

Release 2.4.1

25 Jan 06:30
Compare
Choose a tag to compare

What's Changed

  • restore missing TypeScript files in @mstable/protocol package
  • Updates to Hardhat tasks
    • Changed times from UTC to local times.
    • over-boost includes new Feeder Pools TBTCV2, RAI and FEI.
    • rewards now includes min AAVE/GUSD and AAVE/WBTC rates
    • rewards fixed so it can handle zero COMP accrued
    • staked-snap now has optional block argument to get historical data
    • staked-snap now reports earned MTA
    • deploy-dud-contracts for migration of mUSD from Iron Bank for BUSD and GUSD Feeder Pools
    • quest-complete-queue can now run again different quests. eg the new Metanaut Space Program
    • feeder-mint can now do a single mint or multi mint
    • Fixed staked tasks against mBPT which were resolving to the wrong contract address.
    • staked-snap now has more info and better formatting
    • deployVault added optional boostCoeff argument that defaults to 9 as per Staking V2 update.
  • New Hardhat tasks
    • dials-snap which reports votes and donations for new staking dials
    • staked-time which updates a staker's time multiplier
  • New dummy contracts to migrate the mUSD in the GUSD and BUSD Feeder Pools back from Iron Bank
    • DudIntegration is the replacement integration contract that a Feeder Pools use.
    • DudPlatform to temporally act as the platform, needed because otherwise, the migration will fail. Can be later called by governance to clear which short-circuits all following deposits and sends all back to the DudIntegration, like in the cache it would.

Full Changelog: v2.4.0...v2.4.1

Release 2.4.0

10 Dec 14:35
Compare
Choose a tag to compare

What's Changed

  • Adds EmissionsController main contracts: Allows governors to vote on the weekly distribution of $MTA
    • VotiumBribeForwarder: Allows users reward tokens to bribe vlCVX holders to vote for a Curve gauge using Votium
    • DisperseForwarder: Transfers reward tokens to a list of off-chain calculated recipients and amounts.
    • RevenueBuyBack : Uses protocol revenue to buy MTA rewards for stakers
    • BasicRewardsForwarder: Transfers any received reward tokens to another contract or account
  • Adds Polygon Integration Contracts
    • L2EmissionsController
    • L2BridgeRecipient
    • BridgeForwarder
  • Hardhat tasks NonPeggedFeederPool to Deploy Non Pegged Feeder Pool

New Contributors

Full Changelog: v2.3.2...v2.4.0

Release 2.3.2

30 Sep 12:31
Compare
Choose a tag to compare

Post Staking V2 deployment

  • Added exit to IIncentivisedVotingLockup interface used by MTA Staking V1
  • Hardhat tasks to impersonate staking V1 txs
  • Hardhat tasks to interact and impersonate with staking V2 contracts
  • support for private transactions using the Taichi network
  • AAVE and COMP liquidation Hardhat task now using private transactions
  • Hardhat rewards task now catches error if it can't get ALCX price from Uniswap V3

Release 2.3.1

14 Sep 14:10
f8dd268
Compare
Choose a tag to compare

Minor updates

  • Optimised StakedToken
  • Removed redundant files from package

Release 2.3.0

08 Sep 11:58
Compare
Choose a tag to compare

StakedToken

Introduces StakedToken, StakedTokenMTA, StakedTokenBPT, QuestManager etc

See PR #195

Release 2.2.4

21 Jul 12:25
Compare
Choose a tag to compare

Solidity upgrade and Hardhat task refactor

  • Upgraded Solidity from 0.8.2 to 0.8.6
  • Fixes to the over-boost and rewards tasks
  • Refactor of Hardhat tasks
    • getSigner factory that will work against Defender Relay of the DEFENDER_API_KEY and DEFENDER_API_SECRET environment variables
    • have been set, else uses the IMPERSONATE environment variable if set, otherwise uses a random account.
    • getChain will resolve a Chain enum from hardhat network and config.
    • getNetworkAddress will resolve a contract name to an address across different chains
    • resolveAddress will resolve a contract name or token symbol to an address across different chains
    • resolveToken will resolve a token symbol and type to a Token object

Release 2.2.3

16 Jul 01:20
Compare
Choose a tag to compare

Alchemix Feeder Pool Integration

  • New AlchemixIntegration contract to connect the alUSD Feeder Pool to the Alchemix alUSD staking pool
  • New BoostedDualVault contract that can pay two reward tokens. eg MTA and ALCX
  • Upgraded Liquidator to liquidate ALCX for alUSD

Release 2.2.2

06 Jul 09:11
Compare
Choose a tag to compare
  • In the StakingReward and StakingRewardsWithPlatformToken contracts, change the duration from a 7 days constant to an immutable set in the constructor.
  • Generate contract types into dist/types/generated folder during compile.