generated from bgd-labs/bgd-forge-template
-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: initial commit * feat: finish tests * chore: update readme
- Loading branch information
1 parent
d766be0
commit 308146d
Showing
8 changed files
with
305 additions
and
0 deletions.
There are no files selected for viewing
30 changes: 30 additions & 0 deletions
30
..._before_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229_after.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
## Reserve changes | ||
|
||
### Reserves altered | ||
|
||
#### GHO ([0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f](https://etherscan.io/address/0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f)) | ||
|
||
| description | value before | value after | | ||
| --- | --- | --- | | ||
| aTokenUnderlyingBalance | 6,108,315.1602 GHO [6108315160265916496775469] | 16,108,315.1602 GHO [16108315160265916496775469] | | ||
| virtualBalance | 6,108,315.1602 GHO [6108315160265916496775469] | 16,108,315.1602 GHO [16108315160265916496775469] | | ||
|
||
|
||
## Raw diff | ||
|
||
```json | ||
{ | ||
"reserves": { | ||
"0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f": { | ||
"aTokenUnderlyingBalance": { | ||
"from": "6108315160265916496775469", | ||
"to": "16108315160265916496775469" | ||
}, | ||
"virtualBalance": { | ||
"from": "6108315160265916496775469", | ||
"to": "16108315160265916496775469" | ||
} | ||
} | ||
} | ||
} | ||
``` |
47 changes: 47 additions & 0 deletions
47
...IntoAaveV3LidoInstance/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229.sol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol'; | ||
import {AaveV3EthereumLido} from 'aave-address-book/AaveV3EthereumLido.sol'; | ||
import {IAccessControl} from 'openzeppelin-contracts/contracts/access/IAccessControl.sol'; | ||
import {IGhoBucketSteward} from '../interfaces/IGhoBucketSteward.sol'; | ||
import {IGhoToken} from '../interfaces/IGhoToken.sol'; | ||
import {IGhoDirectMinter} from './IGhoDirectMinter.sol'; | ||
import {IProposalGenericExecutor} from 'aave-helpers/src/interfaces/IProposalGenericExecutor.sol'; | ||
|
||
/** | ||
* @title Deploy 10M GHO into Aave v3 Lido Instance | ||
* @author karpatkey_TokenLogic & BGD Labs | ||
* - Snapshot: https://snapshot.box/#/s:aave.eth/proposal/0x4af37d6b4a1c9029c7693c4bdfb646931a9815c4a56d9066ac1fbdbef7cd15e5 | ||
* - Discussion: https://governance.aave.com/t/arfc-mint-deploy-10m-gho-into-aave-v3-lido-instance/19700 | ||
*/ | ||
contract AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229 is | ||
IProposalGenericExecutor | ||
{ | ||
uint128 public constant GHO_MINT_AMOUNT = 10_000_000e18; | ||
|
||
// https://etherscan.io/address/0x2cE01c87Fec1b71A9041c52CaED46Fc5f4807285 | ||
address public constant FACILITATOR = 0x2cE01c87Fec1b71A9041c52CaED46Fc5f4807285; | ||
|
||
function execute() external { | ||
IAccessControl(address(AaveV3EthereumLido.ACL_MANAGER)).grantRole( | ||
AaveV3EthereumLido.ACL_MANAGER.RISK_ADMIN_ROLE(), | ||
FACILITATOR | ||
); | ||
IGhoToken(AaveV3EthereumAssets.GHO_UNDERLYING).addFacilitator( | ||
FACILITATOR, | ||
'LidoGhoDirectMinter', | ||
GHO_MINT_AMOUNT | ||
); | ||
IGhoDirectMinter(FACILITATOR).mintAndSupply(GHO_MINT_AMOUNT); | ||
|
||
// Allow risk council to control the bucket capacity | ||
address[] memory vaults = new address[](1); | ||
vaults[0] = FACILITATOR; | ||
// https://etherscan.io/address/0x46Aa1063e5265b43663E81329333B47c517A5409 | ||
IGhoBucketSteward(0x46Aa1063e5265b43663E81329333B47c517A5409).setControlledFacilitator( | ||
vaults, | ||
true | ||
); | ||
} | ||
} |
92 changes: 92 additions & 0 deletions
92
...toAaveV3LidoInstance/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229.t.sol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; | ||
import {AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol'; | ||
import {AaveV3EthereumLido, AaveV3EthereumLidoAssets} from 'aave-address-book/AaveV3EthereumLido.sol'; | ||
import {IAccessControl} from 'openzeppelin-contracts/contracts/access/IAccessControl.sol'; | ||
import {IGhoBucketSteward} from '../interfaces/IGhoBucketSteward.sol'; | ||
import {IGhoToken} from '../interfaces/IGhoToken.sol'; | ||
import {IGhoDirectMinter} from './IGhoDirectMinter.sol'; | ||
import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/src/ProtocolV3TestBase.sol'; | ||
|
||
import {AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229} from './AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229.sol'; | ||
|
||
/** | ||
* @dev Test for AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229 | ||
* command: FOUNDRY_PROFILE=mainnet forge test --match-path=src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229.t.sol -vv | ||
*/ | ||
contract AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229_Test is ProtocolV3TestBase { | ||
AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229 internal proposal; | ||
|
||
function setUp() public { | ||
vm.createSelectFork(vm.rpcUrl('mainnet'), 21516467); | ||
proposal = new AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229(); | ||
} | ||
|
||
/** | ||
* @dev executes the generic test suite including e2e and config snapshots | ||
*/ | ||
function test_defaultProposalExecution() public { | ||
defaultTest( | ||
'AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229', | ||
AaveV3EthereumLido.POOL, | ||
address(proposal) | ||
); | ||
} | ||
|
||
function test_accessControl() public { | ||
assertEq( | ||
IAccessControl(address(AaveV3EthereumLido.ACL_MANAGER)).hasRole( | ||
AaveV3EthereumLido.ACL_MANAGER.RISK_ADMIN_ROLE(), | ||
proposal.FACILITATOR() | ||
), | ||
false | ||
); | ||
|
||
address[] memory facilitators = IGhoToken(AaveV3EthereumAssets.GHO_UNDERLYING) | ||
.getFacilitatorsList(); | ||
uint256 facilitatorsLength = facilitators.length; | ||
|
||
assertNotEq(proposal.FACILITATOR(), facilitators[facilitators.length - 1]); | ||
|
||
executePayload(vm, address(proposal)); | ||
|
||
assertEq( | ||
IAccessControl(address(AaveV3EthereumLido.ACL_MANAGER)).hasRole( | ||
AaveV3EthereumLido.ACL_MANAGER.RISK_ADMIN_ROLE(), | ||
proposal.FACILITATOR() | ||
), | ||
true | ||
); | ||
|
||
facilitators = IGhoToken(AaveV3EthereumAssets.GHO_UNDERLYING).getFacilitatorsList(); | ||
|
||
assertEq(proposal.FACILITATOR(), facilitators[facilitators.length - 1]); | ||
assertEq(facilitators.length, facilitatorsLength + 1); | ||
} | ||
|
||
function test_supplyIncreases() public { | ||
uint256 ghoBalanceBefore = IGhoToken(AaveV3EthereumAssets.GHO_UNDERLYING).balanceOf( | ||
AaveV3EthereumLidoAssets.GHO_A_TOKEN | ||
); | ||
|
||
uint256 aGhoBalanceBefore = IERC20(AaveV3EthereumLidoAssets.GHO_A_TOKEN).balanceOf( | ||
proposal.FACILITATOR() | ||
); | ||
|
||
executePayload(vm, address(proposal)); | ||
|
||
assertEq( | ||
IGhoToken(AaveV3EthereumAssets.GHO_UNDERLYING).balanceOf( | ||
AaveV3EthereumLidoAssets.GHO_A_TOKEN | ||
), | ||
ghoBalanceBefore + proposal.GHO_MINT_AMOUNT() | ||
); | ||
|
||
assertEq( | ||
IERC20(AaveV3EthereumLidoAssets.GHO_A_TOKEN).balanceOf(proposal.FACILITATOR()), | ||
aGhoBalanceBefore + proposal.GHO_MINT_AMOUNT() | ||
); | ||
} | ||
} |
35 changes: 35 additions & 0 deletions
35
...umLido_Deploy10MGHOIntoAaveV3LidoInstance/Deploy10MGHOIntoAaveV3LidoInstance.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
title: "Deploy 10M GHO into Aave v3 Lido Instance" | ||
author: "karpatkey_TokenLogic & BGD Labs" | ||
discussions: "https://governance.aave.com/t/arfc-mint-deploy-10m-gho-into-aave-v3-lido-instance/19700" | ||
snapshot: "https://snapshot.box/#/s:aave.eth/proposal/0x4af37d6b4a1c9029c7693c4bdfb646931a9815c4a56d9066ac1fbdbef7cd15e5" | ||
--- | ||
|
||
## Simple Summary | ||
|
||
Following the addition of GHO to the Lido instance of Aave v3 on Ethereum, this publication proposes supporting GHO liquidity by minting 10M units of GHO and depositing into Aave Lido. | ||
|
||
## Motivation | ||
|
||
By providing liquidity on the Lido instance, the Aave DAO shall provide the initial bootstrapping liquidity in a very cost efficient manner and, in doing so, enhance the DAO's revenue generated from the Lido instance. GHO holders will be able to deposit GHO to earn the deposit yield whilst benefit from small than otherwise concentration risk within the reserve due to the DAO providing the bootstrapping liquidity. | ||
|
||
With strong demand for GHO using wstETH as collateral resulting in 23.7% of GHO supply sourced from the Main market being backed by wstETH, this demonstrates that users actively seek to benefit from the capital efficiency of using an LST as collateral. Deploying additional GHO into the Lido instance is expected to further encourage this positive behavior, reinforcing the appeal of wstETH as a reliable, yield-bearing collateral for GHO. | ||
|
||
## Specification | ||
|
||
- Prior to proposal, GhoDirectMinter contract was deployed [here](https://etherscan.io/address/0x2cE01c87Fec1b71A9041c52CaED46Fc5f4807285) | ||
- Grant RISK_ADMIN_ROLE to GhoDirectMinter referenced above | ||
- Add GhoDirectMinter as a GHO token facilitator | ||
- Mint 10M GHO and supply into Aave Lido | ||
- Allow GhoBucketSteward to control GhoDirectMinter | ||
|
||
## References | ||
|
||
- Implementation: [AaveV3EthereumLido](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229.sol) | ||
- Tests: [AaveV3EthereumLido](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229.t.sol) | ||
- [Snapshot](https://snapshot.box/#/s:aave.eth/proposal/0x4af37d6b4a1c9029c7693c4bdfb646931a9815c4a56d9066ac1fbdbef7cd15e5) | ||
- [Discussion](https://governance.aave.com/t/arfc-mint-deploy-10m-gho-into-aave-v3-lido-instance/19700) | ||
|
||
## Copyright | ||
|
||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). |
60 changes: 60 additions & 0 deletions
60
...Lido_Deploy10MGHOIntoAaveV3LidoInstance/Deploy10MGHOIntoAaveV3LidoInstance_20241229.s.sol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aave-helpers/src/GovV3Helpers.sol'; | ||
import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol'; | ||
import {EthereumScript} from 'solidity-utils/contracts/utils/ScriptUtils.sol'; | ||
import {AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229} from './AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229.sol'; | ||
|
||
/** | ||
* @dev Deploy Ethereum | ||
* deploy-command: make deploy-ledger contract=src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/Deploy10MGHOIntoAaveV3LidoInstance_20241229.s.sol:DeployEthereum chain=mainnet | ||
* verify-command: FOUNDRY_PROFILE=mainnet npx catapulta-verify -b broadcast/Deploy10MGHOIntoAaveV3LidoInstance_20241229.s.sol/1/run-latest.json | ||
*/ | ||
contract DeployEthereum is EthereumScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Create Proposal | ||
* command: make deploy-ledger contract=src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/Deploy10MGHOIntoAaveV3LidoInstance_20241229.s.sol:CreateProposal chain=mainnet | ||
*/ | ||
contract CreateProposal is EthereumScript { | ||
function run() external { | ||
// create payloads | ||
PayloadsControllerUtils.Payload[] memory payloads = new PayloadsControllerUtils.Payload[](1); | ||
|
||
// compose actions for validation | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsEthereum = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsEthereum[0] = GovV3Helpers.buildAction( | ||
type(AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229).creationCode | ||
); | ||
payloads[0] = GovV3Helpers.buildMainnetPayload(vm, actionsEthereum); | ||
|
||
// create proposal | ||
vm.startBroadcast(); | ||
GovV3Helpers.createProposal( | ||
vm, | ||
payloads, | ||
GovernanceV3Ethereum.VOTING_PORTAL_ETH_POL, | ||
GovV3Helpers.ipfsHashFile( | ||
vm, | ||
'src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/Deploy10MGHOIntoAaveV3LidoInstance.md' | ||
) | ||
); | ||
} | ||
} |
6 changes: 6 additions & 0 deletions
6
src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/IGhoDirectMinter.sol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
// SPDX-License-Identifier: BUSL-1.1 | ||
pragma solidity ^0.8.0; | ||
|
||
interface IGhoDirectMinter { | ||
function mintAndSupply(uint256 amount) external; | ||
} |
16 changes: 16 additions & 0 deletions
16
src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/config.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import {ConfigFile} from '../../generator/types'; | ||
export const config: ConfigFile = { | ||
rootOptions: { | ||
pools: ['AaveV3EthereumLido'], | ||
title: 'Deploy 10M GHO into Aave v3 Lido Instance', | ||
shortName: 'Deploy10MGHOIntoAaveV3LidoInstance', | ||
date: '20241229', | ||
author: 'karpatkey_TokenLogic & BGD Labs', | ||
discussion: | ||
'https://governance.aave.com/t/arfc-mint-deploy-10m-gho-into-aave-v3-lido-instance/19700', | ||
snapshot: | ||
'https://snapshot.box/#/s:aave.eth/proposal/0x4af37d6b4a1c9029c7693c4bdfb646931a9815c4a56d9066ac1fbdbef7cd15e5', | ||
votingNetwork: 'POLYGON', | ||
}, | ||
poolOptions: {AaveV3EthereumLido: {configs: {OTHERS: {}}, cache: {blockNumber: 21510730}}}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
308146d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔧 Build logs
🔧 Build logs zksync
308146d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🌈Test Results
No files changed, compilation skipped 2025-01-06T09:52:48.535325Z ERROR cheatcodes: non-empty stderr input=["npx", "@bgd-labs/aave-cli@^1.1.12", "diff-snapshots", "./reports/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229_before.json", "./reports/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229_after.json", "-o", "./diffs/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229_before_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229_after.md"] stderr="npm warn exec The following package was not found and will be installed: @bgd-labs/[email protected]\n"Ran 3 tests for src/20241229_AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance/AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229.t.sol:AaveV3EthereumLido_Deploy10MGHOIntoAaveV3LidoInstance_20241229_Test
[PASS] test_accessControl() (gas: 527556)
[PASS] test_defaultProposalExecution() (gas: 17984408)
Logs:
0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0
0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
0xdC035D45d973E3EC169d2276DDab16f1e407384F
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
0xbf5495Efe5DB9ce00f80364C8B423567e58d2110
0x9D39A5DE30e57443BfF2A8307A4256c8797A3497
0xA1290d69c65A6Fe4DF752f95823fae25cB99e5A7
E2E: Collateral wstETH, TestAsset wstETH
SUPPLY: wstETH, Amount: 25285486768104684487
SUPPLY: wstETH, Amount: 252854867681046844
WITHDRAW: wstETH, Amount: 126427433840523422
WITHDRAW: wstETH, Amount: 126427433840523422
BORROW: wstETH, Amount 252854867681046844
REPAY: wstETH, Amount: 252854867681046844
E2E: Collateral wstETH, TestAsset WETH
SUPPLY: wstETH, Amount: 25285486768104684487
SUPPLY: WETH, Amount: 300702139495722512
WITHDRAW: WETH, Amount: 150351069747861256
WITHDRAW: WETH, Amount: 150351069747861257
BORROW: WETH, Amount 300702139495722512
REPAY: WETH, Amount: 300702139495722512
E2E: Collateral wstETH, TestAsset USDS
SUPPLY: wstETH, Amount: 25285486768104684487
SUPPLY: USDS, Amount: 999518302144647430064
WITHDRAW: USDS, Amount: 499759151072323715032
WITHDRAW: USDS, Amount: 499759151072323715032
BORROW: USDS, Amount 999518302144647430064
REPAY: USDS, Amount: 999518302144647430064
E2E: Collateral wstETH, TestAsset USDC
SUPPLY: wstETH, Amount: 25285486768104684487
SUPPLY: USDC, Amount: 999960001
WITHDRAW: USDC, Amount: 499980000
WITHDRAW: USDC, Amount: 499980001
BORROW: USDC, Amount 999960001
REPAY: USDC, Amount: 999960001
E2E: Collateral wstETH, TestAsset ezETH
SUPPLY: wstETH, Amount: 25285486768104684487
SUPPLY: ezETH, Amount: 291536846982005607
WITHDRAW: ezETH, Amount: 145768423491002803
WITHDRAW: ezETH, Amount: 145768423491002804
E2E: Collateral wstETH, TestAsset sUSDe
SUPPLY: wstETH, Amount: 25285486768104684487
SUPPLY: sUSDe, Amount: 877480426570612745283
WITHDRAW: sUSDe, Amount: 438740213285306372641
WITHDRAW: sUSDe, Amount: 438740213285306372642
E2E: Collateral wstETH, TestAsset GHO
SUPPLY: wstETH, Amount: 25285486768104684487
BORROW: GHO, Amount 1000000000000000000000
REPAY: GHO, Amount: 1000000000000000000000
E2E: Collateral wstETH, TestAsset rsETH
SUPPLY: wstETH, Amount: 25285486768104684487
SUPPLY: rsETH, Amount: 291038908314192526
WITHDRAW: rsETH, Amount: 145519454157096263
WITHDRAW: rsETH, Amount: 145519454157096263
[PASS] test_supplyIncreases() (gas: 519207)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 91.61s (110.36s CPU time)
Ran 1 test suite in 91.61s (91.61s CPU time): 3 tests passed, 0 failed, 0 skipped (3 total tests)