Files
staking-reward-streamer/CHANGELOG.md
2025-04-04 13:40:25 +02:00

11 KiB

Changelog

All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.

0.2.1 (2025-04-03)

Bug Fixes

  • StakeManager: don't allow migrating to unregistered vaults (22feed8)

0.2.0 (2025-03-28)

⚠ BREAKING CHANGES


  • RewardsStreamerMP is now StakeManager
  • StakingManager__* error selectors are now StakeManager__* selectors
    • VaultData.mpStaked no longer exists, use VaultData.mpAccrued instead.
  • Compound(address,uint256) is now VaultUpdated(address,uint256,uint256)

  • AccountLeft(address) is now VaultLeft(address)

  • mintAllowance() no longer exists.
  • getStakedBalance(address) is now stakedBalanceOf(address)
  • The previous public rewardIndex field is now called lastRewardIndex.
  • RewardsStreamerMP: A couple of APIs have been removed or replaced.

-> inline _compound into _updateVault() -> remove compond() in favor of updateVaultMP() -> rename updateVaultMP() to updateVault() -> rename compoundAccount() to updateAccount()

  • !refactor(RewardsStreamerMP): rename RewardsStreamerMP to StakeManager (801740f)
  • !refactor(RewardsStreamerMP): remove VaultData.mpStaked (7bd0c16)
  • !refactor(Karma): remove mintAllowance() (ce982b9), closes #192
  • !refactor: rename getStakedBalance() -> stakedBalanceOf() (695a208), closes #188 #188
  • !refactor(RewardsStreamerMP): rename internal functions and rewardIndex (8e4aa68), closes #189
  • RewardsStreamerMP: merge compound() with _updateVault() (2e01e0d), closes #187 #187

Features

  • RewardsStreamerMP: allow for staking multiple times with lock (4fa3eb0), closes #152

Bug Fixes

  • RewardsStreamerMP: remove double totalMPStaked substraction (dabcf5c)
  • StakeManager: Allow extending the lock after increasing stake to allow account reaching absolute max MP (8df475a)

0.1.1 (2025-03-18)

Features

  • add TrustedCodehashAccess contract and interface (6fea58b), closes #39 #15
  • introduce StakeVault (0e14b7b), closes #14 #14
  • introduce deployment script for RewardsStreamerMP (a565dbb), closes #88
  • introduce proxy clones (70a7f30), closes #101
  • Karma: allocate external rewards using the Karma contract (ed3577f)
  • Karma: make karma upgradeable (aa3442b)
  • RewardsStreamerMP.t.sol: Make tests use calc functions and test those functions (6afc760)
  • RewardsStreamerMP: add lock(uint256) function (5bc7ebf), closes #40
  • RewardsStreamerMP: add function to compound all MPs for an account (5e2dcba), closes #175
  • RewardsStreamerMP: allow vaults to migrate to other vaults (6f19931), closes #127
  • RewardsStreamerMP: enable extending lock period (e4d21b6)
  • RewardsStreamerMP: introduce leave() function (fcfe72d), closes #66
  • RewardsStreamerMP: make RewardsStreamerMP upgradeable (8561a68), closes #22
  • RewardsStreamerMP: rewards are streamed and dynamically "minted" (56e9244)
  • RewardsStreamerMP: rewardsBalanceOf uses account's accrued + pending MPs (a413f4c)
  • RewardsStreamerMP: stream rewards for a period without checking a real reward token balance (dffaea2)
  • RewardsStreamerMP: vaults shares are stakedBalance + mpStaked (6b31d39)
  • RewardStreamerMP: add emergency mode so users can exit the system (1e703e3), closes #66
  • scripts: add upgrade script (b5ce251)
  • StakeManager: add capabilities to register vaults (9374025), closes #70
  • XPNFTToken: add base XPNFTToken (7ed87fa)
  • XPNFTToken: add NFTMetadataGeneratorURL (43536a4)
  • XPNFTToken: add XPNFTMetadataGenerator (7352f88)
  • XPToken: add base XPToken with IXPProvider interface (f816755)
  • XPToken: external supply and balances are 1:1 to providers numbers (c6623c3)
  • XPToken: introduce mintAllowance. cannot mint if totalSupply is >= external supply * 3 (c54ad8f)
  • XPToken: XPToken extends ERC20 and use its balanceOf/totalSupply adding external supply/balances (7e7c513)

Bug Fixes

  • certora: add prover args to config to prevent timeouts (b4b9187)
  • certora: fix timeout on certora with specific config (6c89793)
  • ci: run MPLessEqualMaxMP spec on CI (#171) (fed4446)
  • EmergencyMode.spec: add YEAR() to isViewFunction (106ec98)
  • improve precision loss when unstaking and add testso (0af58f9)
  • RewardsStreamerMP: change account mp update time only if necessary (aa15954), closes #52
  • RewardsStreamerMP: ensure registerVault reverts in emergency mode (fb79e24)
  • RewardsStreamerMP: prevent attack causes accounts to not accrue MP (619b541), closes #176
  • RewardsStreamerMP: rename _calculateAccruedRewards to _calculatePendingRewards and fix specs (b1a4e5a)
  • RewardStreamerMP.t: minor fix on use of variables (eff15a8)