Skip to content

Commit

Permalink
Merge pull request #1077 from reserve-protocol/3.3.0
Browse files Browse the repository at this point in the history
3.3.0
  • Loading branch information
akshatmittal authored Apr 16, 2024
2 parents 5a1902c + ca3261b commit bc81210
Show file tree
Hide file tree
Showing 165 changed files with 4,469 additions and 2,937 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,6 @@ scripts/playground.ts
# tenderly deployment/verification artifacts
deployments/
backtests/

# output files
output.log
92 changes: 92 additions & 0 deletions .openzeppelin/base_8453.json
Original file line number Diff line number Diff line change
Expand Up @@ -3328,6 +3328,98 @@
}
}
}
},
"d1e021b854c3f6ab5e998969c8df7e648a147f5001337ec8f2bb065c4ea04d6f": {
"address": "0x87F0ec2f8C9C595612eC3534c7517B55277B811e",
"txHash": "0xdee9e0e2c378668088fa6d185e47ed0a013ee62e86f6da11f9909e427dd494b3",
"layout": {
"solcVersion": "0.8.19",
"storage": [
{
"label": "_initialized",
"offset": 0,
"slot": "0",
"type": "t_uint8",
"contract": "Initializable",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
"retypedFrom": "bool"
},
{
"label": "_initializing",
"offset": 1,
"slot": "0",
"type": "t_bool",
"contract": "Initializable",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
},
{
"label": "__gap",
"offset": 0,
"slot": "1",
"type": "t_array(t_uint256)50_storage",
"contract": "ContextUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
},
{
"label": "_owner",
"offset": 0,
"slot": "51",
"type": "t_address",
"contract": "OwnableUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
},
{
"label": "__gap",
"offset": 0,
"slot": "52",
"type": "t_array(t_uint256)49_storage",
"contract": "OwnableUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94"
},
{
"label": "__gap",
"offset": 0,
"slot": "101",
"type": "t_array(t_uint256)50_storage",
"contract": "ERC1967UpgradeUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
},
{
"label": "__gap",
"offset": 0,
"slot": "151",
"type": "t_array(t_uint256)50_storage",
"contract": "UUPSUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
}
],
"types": {
"t_address": {
"label": "address",
"numberOfBytes": "20"
},
"t_array(t_uint256)49_storage": {
"label": "uint256[49]",
"numberOfBytes": "1568"
},
"t_array(t_uint256)50_storage": {
"label": "uint256[50]",
"numberOfBytes": "1600"
},
"t_bool": {
"label": "bool",
"numberOfBytes": "1"
},
"t_uint256": {
"label": "uint256",
"numberOfBytes": "32"
},
"t_uint8": {
"label": "uint8",
"numberOfBytes": "1"
}
}
}
}
}
}
108 changes: 105 additions & 3 deletions .openzeppelin/mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -3747,7 +3747,10 @@
},
"t_enum(TradeKind)25002": {
"label": "enum TradeKind",
"members": ["DUTCH_AUCTION", "BATCH_AUCTION"],
"members": [
"DUTCH_AUCTION",
"BATCH_AUCTION"
],
"numberOfBytes": "1"
},
"t_mapping(t_contract(IERC20)15191,t_contract(ITrade)27151)": {
Expand Down Expand Up @@ -4040,7 +4043,11 @@
},
"t_enum(CollateralStatus)24460": {
"label": "enum CollateralStatus",
"members": ["SOUND", "IFFY", "DISABLED"],
"members": [
"SOUND",
"IFFY",
"DISABLED"
],
"numberOfBytes": "1"
},
"t_mapping(t_bytes32,t_bytes32)": {
Expand Down Expand Up @@ -6333,7 +6340,10 @@
},
"t_enum(TradeKind)17751": {
"label": "enum TradeKind",
"members": ["DUTCH_AUCTION", "BATCH_AUCTION"],
"members": [
"DUTCH_AUCTION",
"BATCH_AUCTION"
],
"numberOfBytes": "1"
},
"t_mapping(t_contract(IERC20)11113,t_contract(ITrade)19704)": {
Expand Down Expand Up @@ -6826,6 +6836,98 @@
}
}
}
},
"e6946280d3c82dd717cab5378fad9380289483dbb5e3bb62b934ad7569d33c94": {
"address": "0xf1B06c2305445E34CF0147466352249724c2EAC1",
"txHash": "0x9ed3ac012f65ff06d34129d211a4b455be0a1d60a2677c16f2a8a2f163772fcd",
"layout": {
"solcVersion": "0.8.19",
"storage": [
{
"label": "_initialized",
"offset": 0,
"slot": "0",
"type": "t_uint8",
"contract": "Initializable",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62",
"retypedFrom": "bool"
},
{
"label": "_initializing",
"offset": 1,
"slot": "0",
"type": "t_bool",
"contract": "Initializable",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67"
},
{
"label": "__gap",
"offset": 0,
"slot": "1",
"type": "t_array(t_uint256)50_storage",
"contract": "ContextUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36"
},
{
"label": "_owner",
"offset": 0,
"slot": "51",
"type": "t_address",
"contract": "OwnableUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22"
},
{
"label": "__gap",
"offset": 0,
"slot": "52",
"type": "t_array(t_uint256)49_storage",
"contract": "OwnableUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94"
},
{
"label": "__gap",
"offset": 0,
"slot": "101",
"type": "t_array(t_uint256)50_storage",
"contract": "ERC1967UpgradeUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:211"
},
{
"label": "__gap",
"offset": 0,
"slot": "151",
"type": "t_array(t_uint256)50_storage",
"contract": "UUPSUpgradeable",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:107"
}
],
"types": {
"t_address": {
"label": "address",
"numberOfBytes": "20"
},
"t_array(t_uint256)49_storage": {
"label": "uint256[49]",
"numberOfBytes": "1568"
},
"t_array(t_uint256)50_storage": {
"label": "uint256[50]",
"numberOfBytes": "1600"
},
"t_bool": {
"label": "bool",
"numberOfBytes": "1"
},
"t_uint256": {
"label": "uint256",
"numberOfBytes": "32"
},
"t_uint8": {
"label": "uint8",
"numberOfBytes": "1"
}
}
}
}
}
}
54 changes: 54 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,59 @@
# Changelog

# 3.3.0

This release improves how collateral plugins price LP tokens and moves reward claiming out to the asset plugin level.

## Upgrade Steps

Swapout all collateral plugins with appreciation.

All collateral plugins should be upgraded. The compound-v2 ERC20 wrapper will be traded out for the raw underlying CToken, as well as aave-v3 USDC/USDCbC for canonical wrappers.

### Core Protocol Contracts

- `BackingManager` + `RevenueTrader`
- Change `claimRewards()` to delegatecall to the list of registered plugins

## Plugins

### Assets

- aave-v3
- On mainnet: switch from one-off USDC wrapper to canonical USDC wrapper
- On base: switch from one-off USDbC wrapper to canonical USDC wrapper
- compound-v2
- Remove `CTokenWrapper`
- Add reward claiming logic to `claimRewards()`
- Emit `RewardsClaimed` event during `claimRewards()`
- compound-v3
- Emit `RewardsClaimed` event during `claimRewards()`
- curve
- Make `price()` more resistant to manipulation by MEV
- Emit `RewardsClaimed` event during `claimRewards()`
- convex
- Make `price()` more resistant to manipulation by MEV
- Emit `RewardsClaimed` event during `claimRewards()`
- Add new `crvUSD-USDC` plugin
- morpho-aave
- Emit `RewardsClaimed` event during `claimRewards()`
- stargate
- Emit `RewardsClaimed` event during `claimRewards()`
- yearn-v2
- Make `price()` more resistant to manipulation by MEV

### Trading

- `GnosisTrade`
- Add `version()` getter
- `DutchTrade`
- Add `version()` getter

### Facades

- `FacadeMonitor.sol`
- Update compound-v2 implemention to deal with with-wrappper and without-wrapper cases

# 3.2.0

This release makes bidding in dutch auctions easier for MEV searchers and gives new RTokens being deployed the option to enable a variable target basket, or to be "reweightable". An RToken that is not reweightable cannot have its target basket changed in terms of quantities of target units.
Expand Down
Loading

0 comments on commit bc81210

Please sign in to comment.