Skip to content

Releases: yearn/tokenized-strategy

Amanar

Choose a tag to compare

@Schlagonia Schlagonia released this 19 Jun 21:32
8c8929f

Overview

This bumps the Tokenized Strategy API to v3.1.0 and adds constant accrual accounting while keeping the existing report flow available for harvest-style accounting.

Feats:

Constant Accrual

  • Strategies totalAssets() is not dynamically derived from strategyTotalAssets() callback function. Defualt behaviour uses lastTotalAssets to match previous verions, but allows for overridden function to cause instant profit accrual/realization.
  • ERC4626 views and write paths now use the strategy current _totalAssets() estimate once the accounting latch opens.
  • Deposits, mints, withdrawals, redeems, and relevant management setters sync through _accrue() before changing state.
  • Gains become visible in PPS as they accrue. Losses burn locked-profit buffer shares where possible, then flow through to PPS.
  • Performance and protocol fees are minted on accrued profit using the post-accrual PPS.
  • report() keeps the same role: it still calls _harvestAndReport(), records harvestable or lumpy deltas, charges fees, and locks reported profit according to profitMaxUnlockTime.
  • NOTE: Care should be taken when overriding _strategyTotalAssets since inaccurate values can now lead to instant vault share mispricing.

Changes

  • Splits read-only valuation into _totalAssets() and mutable reporting into _harvestAndReport().
  • Adds strategyTotalAssets() as a public view so integrations and the tokenized strategy can read the strategy valuation directly.
  • Adds TokenizedStrategyLib so strategy code can read tokenized strategy storage and views without the old self-call pattern.
  • Makes BaseStrategy initialization overridable for custom management, keeper, and performance fee recipient setup.
  • Adds lastAccrual() and lastTotalAssets() views for accounting state.
  • Mints dead shares for unsolicited assets before first deposit to avoid first depositor capture.
  • Blocks transfers from the strategy itself so locked-profit buffer shares cannot be moved.
  • Expands tests for live accrual, fee syncs, loss handling, public total-assets reads, library views, custom init, and profit locking.

Yurchenko

Choose a tag to compare

@Schlagonia Schlagonia released this 31 Oct 21:07
8280628
v3.0.4

chore: add ts

v3.0.3

Choose a tag to compare

@Schlagonia Schlagonia released this 24 Sep 22:18
6e12ce0

CHANGES:

  • Add an optional maxLoss variable to the maxRedeem and maxWithdraw functions to match the multi strategy vault abi .
  • Change the domain separator to use "Yearn vault" instead of strategies name to match multi strategy and since name can be updated.

FEATURES:

  • Allow the strategy name to be updated post deployment.
  • Allow for max uint256 to be passed on deposits, will pull the full user balance.

FIXES:

  • Don't cache initial chain ID or initial domain separator since they can not be immutables.

Korbut-1

Choose a tag to compare

@Schlagonia Schlagonia released this 08 Apr 20:53
  • Change all pragma versions to all be >=0.8.18instead of0.8.18`

Korbut

Choose a tag to compare

@Schlagonia Schlagonia released this 06 Mar 00:33
0d90dee

Version 3.0.2

Changes

  • Remove increase and decrease allowance.
  • Remove minimum performance fee.
  • Name change from is{specificRole} => require{specificRole}
  • Removal of totalIdle and totalDebt.

Features

  • Increased gas efficiency on all state changing functions.
  • Better struct packing.
  • Reporting efficiency improvements.

Fixes

  • maxRedeem rounding direction.

v3.0.1

Choose a tag to compare

@Schlagonia Schlagonia released this 19 Oct 19:24
c5c34db

Features:

Allow for instant profit unlocking.
Add an option Emergency Admin.
Improved balance updates during tend and emergency withdraws.
Improved revert messages.
Make all base functions virtual.

v3.0.0

Choose a tag to compare

@Schlagonia Schlagonia released this 24 Jul 01:19
0bd2a0a

First Official Release!

3.0.1-beta

3.0.1-beta Pre-release
Pre-release

Choose a tag to compare

@Schlagonia Schlagonia released this 05 Jun 02:40
72a71b1

Second Audit version.