Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release r4.0.0 #1127

Open
wants to merge 83 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
71c2490
Starting of new release
akshatmittal Apr 26, 2024
f28d127
Merge branch 'master' into 4.0.0
akshatmittal May 30, 2024
a21fedd
fix GnosisTrade approval (#1150)
tbrent May 31, 2024
d2f8627
Registries Setup (#1140)
akshatmittal Jun 12, 2024
e135fab
Reset fork on every plugin test (#1155)
julianmrodri Jun 12, 2024
bf2308f
Merge branch 'master' into 4.0.0
tbrent Jun 12, 2024
718b22d
CHANGELOG
tbrent Jun 12, 2024
dd288e7
Fix Rtoken Exteme test (#1157)
julianmrodri Jun 14, 2024
35057d7
Tweaks
akshatmittal Jun 17, 2024
80a9fea
fix comment
tbrent Jun 17, 2024
448b633
distributor small simplification
tbrent Jun 17, 2024
9972e7e
change name of priceNotDecayed function
tbrent Jun 17, 2024
62542ec
document DAO fee rounding
tbrent Jun 18, 2024
9571eb8
rename to pricedAtTimestamp
tbrent Jun 18, 2024
94ef476
uncomment .skip
tbrent Jun 18, 2024
4c1be60
add test cases for >uint96 amounts in Broker.openTrade
tbrent Jun 18, 2024
edc464a
switch to better approach of tracking worst case price at qTok level
tbrent Jun 18, 2024
80c2344
lint clean
tbrent Jun 18, 2024
f486bdc
Role Registry
akshatmittal Jun 19, 2024
b894407
Merge branch '4.0.0' into registry-roles
akshatmittal Jun 19, 2024
84440a0
Fix tests
akshatmittal Jun 19, 2024
e4c3ed8
Role Registry (#1158)
akshatmittal Jun 19, 2024
93d2831
Scenario test large decimals (#1159)
julianmrodri Jun 19, 2024
e17a559
reserveGas()
tbrent Jun 21, 2024
25a3525
Update DAO Fee Registry
akshatmittal Jun 21, 2024
5ad47d9
Merge branch 'registry-roles' into 4.0.0
akshatmittal Jun 21, 2024
349c922
upgrade mismatch check
akshatmittal Jun 21, 2024
6c1740c
Fix test
akshatmittal Jun 21, 2024
2f0e735
add 1e9 precision to GnosisTrade price calculations
tbrent Jun 24, 2024
8702fed
Document up to 21 decimals supported (#1162)
julianmrodri Jun 26, 2024
16b615d
add rounding to _quantity()
tbrent Jul 4, 2024
321a216
remove comment
tbrent Jul 5, 2024
841d927
add clarifying trackStatus() comments
tbrent Jul 5, 2024
49e8334
add comment
tbrent Jul 5, 2024
0e3fd42
Add comment in version registry (#1170)
julianmrodri Jul 5, 2024
dc42b06
Run prettier (#1168)
julianmrodri Jul 5, 2024
297d06e
Add explicit rounding direction (#1167)
julianmrodri Jul 5, 2024
b5469ee
Merge branch 'master' into 4.0.0
tbrent Jul 5, 2024
f25f6c3
fix revenue hiding test (#1171)
julianmrodri Jul 9, 2024
d47d996
easy auction test case
julianmrodri Jul 9, 2024
d9283c6
document 21 decimals with caveats
tbrent Jul 9, 2024
792e193
document non-manipulable price
tbrent Jul 9, 2024
7050979
high price for trade sizing (#1172)
tbrent Jul 11, 2024
2b4a529
few additional comments
tbrent Jul 12, 2024
72d9278
revert over selling large lot
tbrent Jul 15, 2024
a2f9eba
document bm should not sell unpriced assets
tbrent Jul 15, 2024
a44bbb4
add revert for [>0, FIX_MAX] case
tbrent Jul 15, 2024
d0315e7
nit
tbrent Jul 15, 2024
429eaa6
Merge branch 'master' into 4.0.0
tbrent Jul 22, 2024
a743a05
Issuance Premium v2 (#1175)
tbrent Jul 25, 2024
5a82ec4
Merge branch 'master' into 4.0.0
tbrent Jul 25, 2024
1c961c9
upload 4.0.0 audit
tbrent Jul 26, 2024
72fc1f6
Registry tests (#1176)
tbrent Jul 29, 2024
baad94d
Housekeeping (#1181)
akshatmittal Aug 19, 2024
a3c7b0f
Ethx plugin (#1183)
julianmrodri Aug 20, 2024
72a1ef5
Lower default thresholds (#1185)
julianmrodri Aug 20, 2024
010053b
compounding error (#1186)
tbrent Aug 21, 2024
21613ee
nit: comments
tbrent Aug 23, 2024
55e41cb
Merge branch 'master' into 4.0.0
tbrent Aug 23, 2024
d7774bd
keep backwards-compatible quote() on interface
tbrent Aug 23, 2024
bf50495
Revert "keep backwards-compatible quote() on interface"
tbrent Aug 26, 2024
4f783ab
fix compiling
tbrent Aug 26, 2024
fcc3bd7
4.0.0 facet compatibility
tbrent Aug 26, 2024
aad34ac
update facade tests
tbrent Aug 26, 2024
5102082
fix bad merge
tbrent Aug 26, 2024
468df05
safeMulDiv round (#1187)
tbrent Aug 29, 2024
325c973
Merge branch 'master' into 4.0.0
akshatmittal Sep 9, 2024
f532a2a
Test Fix
akshatmittal Sep 9, 2024
72a9c2d
prevent batch auction cancellations during final 10% of auction (#1203)
tbrent Sep 10, 2024
57456f9
enable governance to call resetStakes() (#1193)
tbrent Sep 10, 2024
8697de8
accmumulate throttles during dissolve()/mint() (#1197)
tbrent Sep 10, 2024
f90e0e0
make future withdrawals unimpacted by previous cancellations (#1194)
tbrent Sep 10, 2024
f8e5f5c
prevent distributor configuration to RToken/RSR contracts directly (#…
tbrent Sep 10, 2024
03c4a6c
give governance a way to forcibly settle an auction, ie in case of ce…
tbrent Sep 10, 2024
2d5a599
make EasyAuction address a detail of the GnosisTrade plugin (#1192)
tbrent Sep 10, 2024
75b0b01
prevent queueing of proposals from different eras (#1196)
tbrent Sep 10, 2024
56f5e65
QA (#1188)
tbrent Sep 10, 2024
95231c0
update stakeRate/draftRate only when well-defined (#1198)
tbrent Sep 10, 2024
36ab2de
allow resetStakes when either rate is unsafe (#1199)
tbrent Sep 10, 2024
cee7bc2
unblock rebalancing after an auction ends early (#1195)
tbrent Sep 10, 2024
e29f94f
add test for non-governance forceSettleTrade
tbrent Sep 10, 2024
023ef08
Merge pull request #1204 from reserve-protocol/c4-mitigations-2024-07
akshatmittal Sep 24, 2024
14da963
Merge branch 'master' into 4.0.0
akshatmittal Sep 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.yarn
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NODE_OPTIONS='--max-old-space-size=32768'
2 changes: 1 addition & 1 deletion .github/workflows/4byte.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
fetch-depth: 1
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn run:4byte
8 changes: 4 additions & 4 deletions .github/workflows/docgen-netlify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 16
node-version: 18
cache: yarn

- name: Install Foundry
Expand All @@ -45,8 +45,8 @@ jobs:
with:
NETLIFY_AUTH_TOKEN: ${{ env.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ env.NETLIFY_SITE_ID }}
NETLIFY_DEPLOY_MESSAGE: "Prod deploy v${{ github.ref }}"
NETLIFY_DEPLOY_MESSAGE: 'Prod deploy v${{ github.ref }}'
NETLIFY_DEPLOY_TO_PROD: true
build_directory: tools/docgen/book
install_command: "echo Skipping installing the dependencies"
build_command: "echo Skipping building the web files"
install_command: 'echo Skipping installing the dependencies'
build_command: 'echo Skipping building the web files'
105 changes: 75 additions & 30 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@ name: Tests
on:
push:
branches:
- main
- master
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}

jobs:
deployment-scripts:
name: 'Deployment Scripts'
Expand All @@ -16,7 +20,7 @@ jobs:
fetch-depth: 1
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn devchain &
Expand All @@ -34,7 +38,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn lint
Expand All @@ -51,19 +55,19 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn test:plugins

plugin-tests-mainnet-1:
name: 'Plugin Integration Tests (Mainnet) - 1/2'
name: 'Plugin Integration Tests (Mainnet) - 1/3'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- name: 'Cache hardhat network fork'
Expand All @@ -76,21 +80,48 @@ jobs:
hardhat-network-fork-
- run: yarn hardhat test ./test/plugins/individual-collateral/[A-Ca-c]*/*.test.ts ./test/plugins/individual-collateral/[A-Ca-c]*/*/*.test.ts
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'
TS_NODE_SKIP_IGNORE: true
MAINNET_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/${{ secrets.ALCHEMY_MAINNET_KEY }}
FORK_NETWORK: mainnet
PROTO_IMPL: 1
FORK: 1

plugin-tests-mainnet-2:
name: 'Plugin Integration Tests (Mainnet) - 2/2'
name: 'Plugin Integration Tests (Mainnet) - 2/3'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- name: 'Cache hardhat network fork'
uses: actions/cache@v3
with:
path: cache/hardhat-network-fork
key: hardhat-network-fork-${{ runner.os }}-${{ hashFiles('test/integration/fork-block-numbers.ts') }}
restore-keys: |
hardhat-network-fork-${{ runner.os }}-
hardhat-network-fork-
- run: yarn hardhat test ./test/plugins/individual-collateral/[D-Ld-l]*/*.test.ts
env:
NODE_OPTIONS: '--max-old-space-size=32768'
TS_NODE_SKIP_IGNORE: true
MAINNET_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/${{ secrets.ALCHEMY_MAINNET_KEY }}
FORK_NETWORK: mainnet
PROTO_IMPL: 1
FORK: 1

plugin-tests-mainnet-3:
name: 'Plugin Integration Tests (Mainnet) - 3/3'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- name: 'Cache hardhat network fork'
Expand All @@ -101,9 +132,9 @@ jobs:
restore-keys: |
hardhat-network-fork-${{ runner.os }}-
hardhat-network-fork-
- run: yarn hardhat test ./test/plugins/individual-collateral/[D-Zd-z]*/*.test.ts
- run: yarn hardhat test ./test/plugins/individual-collateral/[M-Zm-z]*/*.test.ts
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'
TS_NODE_SKIP_IGNORE: true
MAINNET_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/${{ secrets.ALCHEMY_MAINNET_KEY }}
FORK_NETWORK: mainnet
Expand All @@ -117,7 +148,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- name: 'Cache hardhat network fork'
Expand All @@ -128,9 +159,9 @@ jobs:
restore-keys: |
hardhat-network-fork-${{ runner.os }}-
hardhat-network-fork-
- run: npx hardhat test ./test/plugins/individual-collateral/{cbeth,aave-v3,compoundv3,stargate,lido}/*.test.ts
- run: yarn hardhat test ./test/plugins/individual-collateral/{cbeth,aave-v3,compoundv3,stargate,lido}/*.test.ts
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'
TS_NODE_SKIP_IGNORE: true
BASE_RPC_URL: https://base-mainnet.infura.io/v3/${{ secrets.INFURA_BASE_KEY }}
FORK_NETWORK: base
Expand All @@ -145,7 +176,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- name: 'Cache hardhat network fork'
Expand All @@ -156,9 +187,9 @@ jobs:
restore-keys: |
hardhat-network-fork-${{ runner.os }}-
hardhat-network-fork-
- run: npx hardhat test ./test/plugins/individual-collateral/{aave-v3,compoundv3,curve/cvx,mountain}/*.test.ts
- run: yarn hardhat test ./test/plugins/individual-collateral/{aave-v3,compoundv3,curve/cvx,mountain}/*.test.ts
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'
TS_NODE_SKIP_IGNORE: true
ARBITRUM_RPC_URL: https://arb-mainnet.g.alchemy.com/v2/${{ secrets.ALCHEMY_ARBITRUM_KEY }}
FORK_NETWORK: arbitrum
Expand All @@ -173,12 +204,12 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn test:p0
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'

p1-tests:
name: 'P1 Tests'
Expand All @@ -187,12 +218,12 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn test:p1
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'

scenario-tests:
name: 'Scenario Tests'
Expand All @@ -201,12 +232,12 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn test:scenario
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'

extreme-tests:
name: 'Extreme Tests'
Expand All @@ -215,7 +246,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn test:extreme
Expand All @@ -229,7 +260,7 @@ jobs:
hardhat-network-fork-
- run: yarn test:extreme:integration
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'
TS_NODE_SKIP_IGNORE: true
MAINNET_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/${{ secrets.ALCHEMY_MAINNET_KEY }}
FORK_NETWORK: mainnet
Expand All @@ -243,7 +274,7 @@ jobs:
fetch-depth: 1
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- name: 'Cache hardhat network fork'
uses: actions/cache@v3
Expand All @@ -256,7 +287,7 @@ jobs:
- run: yarn install --immutable
- run: yarn test:integration
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'
TS_NODE_SKIP_IGNORE: true
MAINNET_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/${{ secrets.ALCHEMY_MAINNET_KEY }}
FORK_NETWORK: mainnet
Expand All @@ -268,7 +299,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- name: 'Cache hardhat network fork'
Expand All @@ -279,11 +310,25 @@ jobs:
restore-keys: |
hardhat-network-fork-${{ runner.os }}-
hardhat-network-fork-
- run: npx hardhat test ./test/monitor/*.test.ts
- run: yarn hardhat test ./test/monitor/*.test.ts
env:
NODE_OPTIONS: '--max-old-space-size=8192'
NODE_OPTIONS: '--max-old-space-size=32768'
TS_NODE_SKIP_IGNORE: true
MAINNET_RPC_URL: https://eth-mainnet.alchemyapi.io/v2/${{ secrets.ALCHEMY_MAINNET_KEY }}
FORK_NETWORK: mainnet
FORK: 1
PROTO_IMPL: 1

registry-tests:
name: 'Registry Tests'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'yarn'
- run: yarn install --immutable
- run: yarn test:registries
env:
NODE_OPTIONS: '--max-old-space-size=32768'
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@
}
}
]
}
}
1 change: 1 addition & 0 deletions .solhintignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ contracts/vendor
contracts/plugins/assets/compound/vendor
contracts/plugins/assets/curve/crv
contracts/plugins/assets/curve/cvx
contracts/plugins/governance/vendor
363 changes: 0 additions & 363 deletions .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs

This file was deleted.

Loading
Loading