Releases: yearn/tokenized-strategy
Releases · yearn/tokenized-strategy
Release list
Amanar
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
lastTotalAssetsto 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 toprofitMaxUnlockTime.- 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
TokenizedStrategyLibso 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()andlastTotalAssets()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
v3.0.3
CHANGES:
- Add an optional
maxLossvariable to themaxRedeemandmaxWithdrawfunctions 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
- Change all pragma versions to all be >=0.8.18
instead of0.8.18`
Korbut
Version 3.0.2
Changes
- Remove increase and decrease allowance.
- Remove minimum performance fee.
- Name change from
is{specificRole}=>require{specificRole} - Removal of
totalIdleandtotalDebt.
Features
- Increased gas efficiency on all state changing functions.
- Better struct packing.
- Reporting efficiency improvements.
Fixes
maxRedeemrounding direction.
v3.0.1
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
3.0.1-beta
Second Audit version.