-
Notifications
You must be signed in to change notification settings - Fork 151
sGHO standalone - ERC4626 Vault with internal yield management #130
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
Closed
Conversation
This file contains hidden or 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
…iew precision of totalAssets
Contributor
Forge Build Sizes🔕 Unchanged
|
Contributor
♻️ Forge Gas Snapshots🔕 Unchanged
|
Contributor
🌈 Test ResultsNo files changed, compilation skipped
2025-07-15T17:28:03.859923Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20677)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65496)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37587)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37653)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37600)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37720)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37717)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29432)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29521)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29416)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29538)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29423)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91896)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76412)
[PASS] test_remove_riskAdmin() (gas: 29432)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72834)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1523412)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98813)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125190)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 113970)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 20.44ms (4.41ms CPU time)
2025-07-15T17:28:03.868778Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:03.868991Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:03.878989Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 11 tests for tests/misc/PriceOracleSentinel.t.sol:PriceOracleSentinelTest
[PASS] test_isBorrowAllowed_network_down() (gas: 27215)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 47299)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 47353)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27126)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 47276)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47374)
[PASS] test_new_PriceOracleSentinel() (gas: 395850)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25429)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22340)
[PASS] test_setGracePeriod() (gas: 32317)
[PASS] test_setSequencerOracle() (gas: 24455)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 45.20ms (980.33µs CPU time)
Ran 3 tests for tests/gas/StataToken.gas.t.sol:StataToken_gas_Tests
[PASS] test_claimRewards() (gas: 2734466)
[PASS] test_deposit() (gas: 703965)
[PASS] test_depositATokens() (gas: 884393)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 51.29ms (8.37ms CPU time)
2025-07-15T17:28:03.903058Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:03.921157Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 15 tests for tests/gas/ProtocolDataProvider.gas.t.sol:ProtocolDataProvider_gas_Tests
[PASS] test_getATokenTotalSupply() (gas: 40415)
[PASS] test_getDebtCeiling() (gas: 21703)
[PASS] test_getFlashLoanEnabled() (gas: 21803)
[PASS] test_getInterestRateStrategyAddress() (gas: 19259)
[PASS] test_getIsVirtualAccActive() (gas: 10877)
[PASS] test_getLiquidationProtocolFee() (gas: 21762)
[PASS] test_getPaused() (gas: 21854)
[PASS] test_getReserveCaps() (gas: 21788)
[PASS] test_getReserveConfigurationData() (gas: 22767)
[PASS] test_getReserveTokensAddresses() (gas: 25610)
[PASS] test_getSiloedBorrowing() (gas: 21858)
[PASS] test_getTotalDebt() (gas: 40437)
[PASS] test_getUnbackedMintCap() (gas: 10786)
[PASS] test_getUserReserveData() (gas: 525216)
[PASS] test_getVirtualUnderlyingBalance() (gas: 21488)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 36.17ms (2.11ms CPU time)
2025-07-15T17:28:03.937584Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 18 tests for tests/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transferFrom_fullAmount() (gas: 642091)
[PASS] test_transferFrom_fullAmount_dirtyReceiver() (gas: 1072160)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled() (gas: 690912)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1087204)
[PASS] test_transferFrom_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1038316)
[PASS] test_transferFrom_partialAmount() (gas: 691009)
[PASS] test_transferFrom_partialAmount_receiverNonZeroFunds() (gas: 1087271)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled() (gas: 646984)
[PASS] test_transferFrom_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 1043222)
[PASS] test_transfer_fullAmount() (gas: 591178)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 1021273)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 640024)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1036355)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 987533)
[PASS] test_transfer_partialAmount() (gas: 640159)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 1036427)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 596091)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 992360)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 80.37ms (32.41ms CPU time)
Ran 2 tests for tests/extensions/stata-token/StataTokenV2Getters.sol:StataTokenV2GettersTest
[PASS] test_getters() (gas: 69906)
[PASS] test_initializeShouldRevert() (gas: 21681)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 50.81ms (267.05µs CPU time)
2025-07-15T17:28:03.964534Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:03.965470Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 10 tests for tests/protocol/tokenization/ATokenDelegation.t.sol:ATokenDelegationTest
[PASS] test_delegate() (gas: 397852)
[PASS] test_getDelegates() (gas: 131741)
[PASS] test_getPowersCurrent() (gas: 638817)
[PASS] test_getPowersCurrent_with_index_growth() (gas: 738770)
[PASS] test_initial_state_without_delegation() (gas: 47273)
[PASS] test_mint_and_burn() (gas: 2645224)
[PASS] test_precision() (gas: 1107197)
[PASS] test_transfer() (gas: 2347089)
[PASS] test_transferFrom() (gas: 2446688)
[PASS] test_transferOnLiquidation() (gas: 2165598)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 114.25ms (75.19ms CPU time)
2025-07-15T17:28:04.084121Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 15 tests for tests/protocol/tokenization/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45129)
[PASS] testApproveMax() (gas: 45188)
[PASS] testApproveWithZeroAddressSpender() (gas: 42171)
[PASS] testCheckGetters() (gas: 257896)
[PASS] testDecreaseAllowance() (gas: 53104)
[PASS] testIncreaseAllowance() (gas: 53214)
[PASS] testIncreaseAllowanceFromZero() (gas: 48456)
[PASS] testMintToTreasury_amount_zero() (gas: 15671)
[PASS] testTransferFromZeroAmount() (gas: 124591)
[PASS] test_burn_zeroAddress() (gas: 257292)
[PASS] test_mintToZeroAddress() (gas: 79992)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19069)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19163)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 124402)
[PASS] test_transfer_amount_MAX_UINT_120() (gas: 16554)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 58.61ms (5.14ms CPU time)
2025-07-15T17:28:04.148062Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 8 tests for tests/protocol/tokenization/ATokenEvents.t.sol:ATokenEventsTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 525349)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 611281)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 536016)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 248033)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 538862)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 246742)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 590327)
[PASS] test_mintToTreasury_events() (gas: 85487)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 55.63ms (9.70ms CPU time)
Ran 10 tests for tests/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26789)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27282, ~: 27282)
[PASS] test_claimingRewards_shouldRevert() (gas: 538735)
[PASS] test_deposit_shouldRevert() (gas: 464367)
[PASS] test_mint_shouldRevert() (gas: 468433)
[PASS] test_redeem_shouldRevert() (gas: 558460)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30340, ~: 30340)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53839)
[PASS] test_transfer_shouldRevert() (gas: 536651)
[PASS] test_withdraw_shouldRevert() (gas: 554312)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 232.35ms (189.01ms CPU time)
2025-07-15T17:28:04.200748Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:04.201094Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 3 tests for tests/extensions/stata-token/StataTokenV2Permit.sol:StataTokenV2PermitTest
[PASS] test_permit() (gas: 89789)
[PASS] test_permit_expired() (gas: 37844)
[PASS] test_permit_invalidSigner() (gas: 66419)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 35.35ms (1.71ms CPU time)
Ran 4 tests for tests/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 16863)
[PASS] test_revert_notAdmin_mint() (gas: 16911)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 16929)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 16665)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 56.01ms (229.83µs CPU time)
2025-07-15T17:28:04.231628Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:04.263102Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 9 tests for tests/protocol/tokenization/ATokenPermit.t.sol:ATokenPermitTests
[PASS] testCheckDomainSeparator() (gas: 26125)
[PASS] test_cancelPermit() (gas: 101671)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32866)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46281)
[PASS] test_revert_submitPermit_InvalidExpiration_previosCurrentBlock() (gas: 47178)
[PASS] test_revert_submitPermit_InvalidSignature() (gas: 54727)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55301)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46130)
[PASS] test_submitPermit() (gas: 94780)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 65.45ms (9.98ms CPU time)
2025-07-15T17:28:04.329920Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 3 tests for tests/protocol/tokenization/ATokenRepay.t.sol:ATokenRepayTests
[PASS] test_repay_allDebt() (gas: 242202)
[PASS] test_repay_partialDebt() (gas: 241327)
[PASS] test_revert_repay_withoutFunds() (gas: 151154)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 57.52ms (1.62ms CPU time)
2025-07-15T17:28:04.389903Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 3 tests for tests/protocol/tokenization/ATokenRescueTokens.sol:ATokenRescueTokensTests
[PASS] test_rescueTokens() (gas: 77699)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70403)
[PASS] test_reverts_rescueTokens_UnderlyingCannotBeRescued() (gas: 71062)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 59.94ms (560.19µs CPU time)
2025-07-15T17:28:04.449009Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 12 tests for tests/protocol/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 156904)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 218569)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 148979)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 208484)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 76658)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 76677)
[PASS] test_atoken_multiple_transfers() (gas: 194371)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint56,uint256) (runs: 1000, μ: 370675, ~: 373904)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 492958)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 374968)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 376329)
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 114134)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 1.37s (1.31s CPU time)
2025-07-15T17:28:05.814140Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 6 tests for tests/gas/ATokenWithDelegation.Transfer.gas.t.sol:ATokenWithDelegation_gas_Tests
[PASS] test_transfer_fullAmountSenderWithAndReceiverWithoutDelegations() (gas: 270637)
[PASS] test_transfer_fullAmountSenderWithoutAndReceiverWithDelegations_notDelegatees() (gas: 262574)
[PASS] test_transfer_fullAmountWithDelegations_delegatees() (gas: 568830)
[PASS] test_transfer_fullAmountWithDelegations_notDelegatees() (gas: 374683)
[PASS] test_transfer_fullAmountWithoutDelegations_delegatees() (gas: 356759)
[PASS] test_transfer_fullAmountWithoutDelegations_notDelegatees() (gas: 158566)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 73.14ms (6.05ms CPU time)
2025-07-15T17:28:05.890149Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 12 tests for tests/misc/AaveOracle.t.sol:AaveOracleTest
[PASS] testAddSingleSource() (gas: 1012313)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1151410)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1171353)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 994026)
[PASS] testEmptySource() (gas: 897261)
[PASS] testGetBaseCurrencyPrice() (gas: 12312)
[PASS] testGetPriceViaFallbackOracle() (gas: 1075832)
[PASS] testUpdateFallbackOracle() (gas: 178435)
[PASS] testUpdateSingleSource() (gas: 126689)
[PASS] testUpdateSourceBaseCurrency() (gas: 138281)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 898200)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24207)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 62.97ms (5.39ms CPU time)
2025-07-15T17:28:05.955966Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:05.987305Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:06.031403Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:06.068063Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:06.111406Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 5 tests for tests/deployments/AaveV3BatchDeployment.t.sol:AaveV3BatchDeployment
[PASS] testAaveV3BatchDeploy() (gas: 54155952)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 62326474)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 53654523)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 64117594)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 62835760)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 211.49ms (200.70ms CPU time)
Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 5310820)
[PASS] test10StaticATokenDeployment() (gas: 6676156)
[PASS] test1AaveV3GettersDeployment() (gas: 7395953)
[PASS] test2AaveV3PoolDeployment() (gas: 7702550)
[PASS] test3AaveV3L2PoolDeployment() (gas: 7963102)
[PASS] test4PeripheralsRelease() (gas: 7071756)
[PASS] test5MiscDeployment() (gas: 844259)
[PASS] test6ParaswapRelease() (gas: 5160256)
[PASS] test7SetupMarket() (gas: 2645975)
[PASS] test8TokensMarket() (gas: 3760671)
[PASS] test9ConfigEngineDeployment() (gas: 7043528)
[PASS] testAaveV3FullBatchOrchestration() (gas: 54153220)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 43.13ms (24.66ms CPU time)
2025-07-15T17:28:06.211045Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 4 tests for tests/extensions/stata-token/StataTokenV2Rescuable.sol:StataTokenV2RescuableTest
[PASS] test_rescuable_shouldNotCauseInsolvency(uint256,uint256) (runs: 1000, μ: 754822, ~: 754828)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 189988)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 216923)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 435744)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.02s (2.99s CPU time)
2025-07-15T17:28:07.257113Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 13 tests for tests/misc/rates/RateStrategy.calculateRates.t.sol:RateStrategyCalculateRatesTests
[PASS] test_calculate_rates_100_percent_usage() (gas: 47885)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_bps_usage() (gas: 48004)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage() (gas: 90655)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 46210)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 46232)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 123393, ~: 123674)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 117662, ~: 120332)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 74706, ~: 75364)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 43498, ~: 43416)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67577, ~: 68630)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 67780, ~: 68639)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 32764, ~: 32453)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 18549)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 4.37s (4.34s CPU time)
2025-07-15T17:28:08.312115Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTests
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52112, ~: 52029)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25910, ~: 25843)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29074, ~: 29184)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22028, ~: 22028)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22076, ~: 22076)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26769, ~: 26699)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23308, ~: 23308)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 1.57s (1.54s CPU time)
2025-07-15T17:28:09.884314Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 7 tests for tests/misc/rates/RateStrategy.setters.t.sol:RateStrategySettersTestsOverride
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 51477, ~: 51412)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25271, ~: 25210)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 28468, ~: 28561)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21403, ~: 21403)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21451, ~: 21451)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26140, ~: 26074)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22683, ~: 22683)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 1.53s (1.50s CPU time)
2025-07-15T17:28:11.415009Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 17 tests for tests/protocol/tokenization/VariableDebtToken.t.sol:VariableDebtTokenEventsTests
[PASS] test_balanceOf() (gas: 228550)
[PASS] test_cancel_delegationWithSig() (gas: 102832)
[PASS] test_delegationWithSig() (gas: 95792)
[PASS] test_initialize_VariableDebtToken((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3412400, ~: 3411638)
[PASS] test_mint_variableDebt_caller_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3485970, ~: 3484817)
[PASS] test_mint_variableDebt_caller_bob_onBehalf_alice((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3497795, ~: 3499438)
[PASS] test_new_VariableDebtToken_implementation() (gas: 1557747)
[PASS] test_partial_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3500881, ~: 3499497)
[PASS] test_reverts_OperationNotSupported() (gas: 1574318)
[PASS] test_reverts_bad_expiration_delegationWithSig() (gas: 34153)
[PASS] test_reverts_bad_nonce_delegationWithSig() (gas: 111764)
[PASS] test_reverts_initialize_pool_do_not_match((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 2748106, ~: 2748040)
[PASS] test_reverts_zero_address_delegationWithSig() (gas: 33544)
[PASS] test_scaledBalanceOf() (gas: 285314)
[PASS] test_totalScaledSupply() (gas: 322863)
[PASS] test_totalSupply() (gas: 322836)
[PASS] test_total_burn_variableDebt((uint8,string,string,string,string,address,address,address,bool)) (runs: 1000, μ: 3499538, ~: 3499505)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 6.02s (5.99s CPU time)
Ran 12 tests for tests/protocol/libraries/math/WadRayMath.t.sol:WadRayMathTests
[PASS] test_constants() (gas: 13279)
[PASS] test_rayDiv() (gas: 12748)
[PASS] test_rayMul() (gas: 11372)
[PASS] test_rayToWad() (gas: 11057)
[PASS] test_rayToWad_fuzz(uint256) (runs: 1000, μ: 13327, ~: 13277)
[PASS] test_wadDiv() (gas: 12869)
[PASS] test_wadDiv_fuzzing(uint256,uint256) (runs: 1000, μ: 10515, ~: 10721)
[PASS] test_wadMul() (gas: 11142)
[PASS] test_wadMul_edge() (gas: 11184)
[PASS] test_wadMul_fuzzing(uint256,uint256) (runs: 1000, μ: 10761, ~: 11339)
[PASS] test_wadToRay() (gas: 10867)
[PASS] test_wadToRay_fuzz(uint256) (runs: 1000, μ: 12118, ~: 12348)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 209.92ms (208.96ms CPU time)
2025-07-15T17:28:13.488634Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 15 tests for tests/helpers/WrappedTokenGateway.t.sol:WrappedTokenGatewayTests
[PASS] test_borrowDelegateApprove_repay() (gas: 449266)
[PASS] test_borrowVariableDebtWeth_repayWithEth() (gas: 772356)
[PASS] test_borrowVariableDebtWeth_repayWithEth_mismatchedValues() (gas: 764020)
[PASS] test_depositNativeEthInPool() (gas: 248970)
[PASS] test_fallback_revert() (gas: 10080)
[PASS] test_getWETHAddress() (gas: 10589)
[PASS] test_ownerCanRescueEth() (gas: 25215)
[PASS] test_ownerCanRescueTokens() (gas: 96942)
[PASS] test_sendEthFallback_revert() (gas: 16724)
[PASS] test_sendEth_revert() (gas: 16601)
[PASS] test_withdrawEth_full() (gas: 374247)
[PASS] test_withdrawEth_partial() (gas: 391559)
[PASS] test_withdrawEth_permit() (gas: 426415)
[PASS] test_withdrawEth_permit_frontrunRegression() (gas: 427320)
[PASS] test_withdrawEth_permit_full() (gas: 405219)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 40.29ms (10.76ms CPU time)
2025-07-15T17:28:13.528256Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 1 test for tests/gas/WrappedTokenGatewayV3.gas.t.sol:WrappedTokenGatewayV3_gas_Tests
[PASS] test_flow() (gas: 910879)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 36.07ms (2.07ms CPU time)
2025-07-15T17:28:13.564897Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 15 tests for tests/misc/rates/RateStrategy.t.sol:RateStrategyBaseTests
[PASS] test_getInterestRateDataBps((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 39963, ~: 39905)
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 40925, ~: 40852)
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 38374, ~: 38324)
[PASS] test_initialization() (gas: 26143)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 41972)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52054, ~: 51970)
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 49239, ~: 49178)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25892, ~: 25839)
[PASS] test_overflow_liquidity_rates() (gas: 55141)
[PASS] test_overflow_variable_rates() (gas: 664941)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 33629, ~: 33629)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 30448, ~: 30448)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 30524, ~: 30524)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27023, ~: 27023)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 32463, ~: 32463)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 3.25s (3.22s CPU time)
Ran 15 tests for tests/extensions/RevenueSplitter.t.sol:RevenueSplitterTest
[PASS] test_constructor() (gas: 15303)
[PASS] test_constructor_fuzzing(uint16) (runs: 1000, μ: 457649, ~: 457649)
[PASS] test_constructor_revert_invalid_split_percentage() (gas: 174509)
[PASS] test_splitFund_oneToken() (gas: 410660)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51282)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 371538)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50848)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 370457)
[PASS] test_splitFunds_fixed() (gas: 447612)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 448060, ~: 449781)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 446837, ~: 448249)
[PASS] test_splitNativeFund_fixedAmount() (gas: 100484)
[PASS] test_splitNativeFund_walletNotAcceptingFunds() (gas: 537581)
[PASS] test_splitNativeFund_zeroAmount_noOp() (gas: 29728)
[PASS] test_splitNativeFunds_fuzz_max(uint256) (runs: 1000, μ: 100053, ~: 101899)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 3.63s (3.62s CPU time)
2025-07-15T17:28:18.289745Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 18 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 909675)
[PASS] test_claimAllRewards() (gas: 865373)
[PASS] test_claimAllRewardsOnBehalf() (gas: 899066)
[PASS] test_claimAllRewardsToSelf() (gas: 865000)
[PASS] test_claimRewards() (gas: 862306)
[PASS] test_claimRewardsOnBehalf() (gas: 900786)
[PASS] test_claimRewardsToSelf() (gas: 861985)
[PASS] test_claimRewards_partial() (gas: 862621)
[PASS] test_claimRewards_zero() (gas: 619895)
[PASS] test_claimRewards_zero_with_rewards() (gas: 626387)
[PASS] test_configureAssets() (gas: 601005)
[PASS] test_initialize_no_op() (gas: 3614302)
[PASS] test_new_RewardsController() (gas: 3610338)
[PASS] test_setClaimer() (gas: 58207)
[PASS] test_setDistributionEnd() (gas: 616853)
[PASS] test_setEmissionPerSecond() (gas: 620836)
[PASS] test_setRewardOracle() (gas: 694599)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 880457)
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 44.82ms (14.26ms CPU time)
2025-07-15T17:28:18.343405Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 5 tests for tests/rewards/StakedTokenTransferStrategy.t.sol:StakedTokenTransferStrategyTest
[PASS] test_dropApproval() (gas: 18975)
[PASS] test_emergencyTransfer() (gas: 211756)
[PASS] test_getters() (gas: 18719)
[PASS] test_performTransfer() (gas: 22017)
[PASS] test_renewApproval() (gas: 23091)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 36.52ms (1.01ms CPU time)
2025-07-15T17:28:18.380669Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 22 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.ACLModifiers.t.sol:PoolConfiguratorACLModifiersTest
[PASS] test_reverts_disableLiquidationGracePeriod_on_unauth(address,address) (runs: 1000, μ: 38099, ~: 38099)
[PASS] test_reverts_notAdmin_dropReserve(address) (runs: 1000, μ: 35649, ~: 35649)
[PASS] test_reverts_notAdmin_initReserves((uint8,string,string,string,string,address,address,address,bool),address) (runs: 1000, μ: 1126183, ~: 1126243)
[PASS] test_reverts_notAdmin_setReserveActive(address) (runs: 1000, μ: 35776, ~: 35776)
[PASS] test_reverts_notAdmin_updateAToken(address) (runs: 1000, μ: 34653, ~: 34653)
[PASS] test_reverts_notAdmin_updateFlashLoanPremiumTotal(address) (runs: 1000, μ: 33564, ~: 33564)
[PASS] test_reverts_notAdmin_updateVariableDebtToken(address) (runs: 1000, μ: 34607, ~: 34607)
[PASS] test_reverts_notRiskAdmin_configureReserveAsCollateral(address) (runs: 1000, μ: 38186, ~: 38186)
[PASS] test_reverts_notRiskAdmin_setAssetCollateralInEMode(address) (runs: 1000, μ: 38299, ~: 38299)
[PASS] test_reverts_notRiskAdmin_setBorrowCap(address) (runs: 1000, μ: 38088, ~: 38088)
[PASS] test_reverts_notRiskAdmin_setEModeCategory(address) (runs: 1000, μ: 38615, ~: 38615)
[PASS] test_reverts_notRiskAdmin_setReserveBorrowing(address) (runs: 1000, μ: 38150, ~: 38150)
[PASS] test_reverts_notRiskAdmin_setReserveFactor(address) (runs: 1000, μ: 38089, ~: 38089)
[PASS] test_reverts_notRiskAdmin_setReserveInterestRateData(address,address) (runs: 1000, μ: 38852, ~: 38852)
[PASS] test_reverts_notRiskAdmin_setSupplyCap(address) (runs: 1000, μ: 38200, ~: 38200)
[PASS] test_reverts_notRiskOrPoolOrEmergencyAdmin_setReserveFreeze(address) (runs: 1000, μ: 42606, ~: 42606)
[PASS] test_reverts_setDebtCeiling(address) (runs: 1000, μ: 38134, ~: 38134)
[PASS] test_reverts_setPoolPause_noGracePeriod_unauth(address,bool) (runs: 1000, μ: 38062, ~: 38062)
[PASS] test_reverts_setPoolPause_unauth(address,bool,uint40) (runs: 1000, μ: 55221, ~: 55221)
[PASS] test_reverts_setReservePause_noGracePeriod_off_unauth(address,address,bool) (runs: 1000, μ: 38333, ~: 38333)
[PASS] test_reverts_setReservePause_off_unauth(address,address,bool,uint40) (runs: 1000, μ: 38500, ~: 38500)
[PASS] test_reverts_setReservePause_on_unauth(address,address,bool,uint40) (runs: 1000, μ: 38477, ~: 38477)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 3.03s (3.01s CPU time)
2025-07-15T17:28:21.416800Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 10 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.borrowCaps.t.sol:PoolConfiguratorBorrowCapTests
[PASS] test_borrow_eq_cap() (gas: 294384)
[PASS] test_borrow_interests_reach_cap() (gas: 295873)
[PASS] test_borrow_lt_cap() (gas: 283148)
[PASS] test_default_borrowCap_zero() (gas: 22159)
[PASS] test_reverts_borrow_after_borrow_interests_reach_cap() (gas: 318985)
[PASS] test_reverts_borrow_gt_cap() (gas: 133795)
[PASS] test_reverts_setBorrowCap_gt_max_cap() (gas: 48160)
[PASS] test_reverts_unauthorized_setBorrowCap() (gas: 35037)
[PASS] test_setBorrowCap() (gas: 74460)
[PASS] test_setBorrowCap_them_setBorrowCap_zero() (gas: 301522)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 37.07ms (4.55ms CPU time)
2025-07-15T17:28:21.459328Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 13 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.eMode.sol:PoolConfiguratorEModeConfigTests
[PASS] test_addAnotherAssetBorrowableInEMode() (gas: 274265)
[PASS] test_addAnotherAssetCollateralInEMode() (gas: 254472)
[PASS] test_configureEmodeCategory() (gas: 118237)
[PASS] test_removeBorrowableFromEmode() (gas: 191124)
[PASS] test_removeCollateralFromEmode() (gas: 236163)
[PASS] test_reverts_setEmodeCategory_lb_lte_percentageFactor() (gas: 58244)
[PASS] test_reverts_setEmodeCategory_liquidation_threshold_doesnt_match_bonus() (gas: 35016)
[PASS] test_reverts_setEmodeCategory_ltv_gt_liqThreshold() (gas: 33736)
[PASS] test_reverts_setEmodeCategory_zero_liqThreshold() (gas: 33675)
[PASS] test_reverts_setEmodeCategory_zero_ltv() (gas: 33648)
[PASS] test_setAssetBorrowableInEMode() (gas: 211036)
[PASS] test_setAssetCollateralInEMode() (gas: 191179)
[PASS] test_updateEModeCategory() (gas: 200908)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 48.31ms (6.67ms CPU time)
2025-07-15T17:28:21.503291Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 24 tests for tests/protocol/pool/Pool.Liquidations.t.sol:PoolLiquidationTests
[PASS] test_deficit_increased_after_liquidate_bad_debt() (gas: 754900)
[PASS] test_full_liquidate_atokens_multiple_variable_borrows() (gas: 913507)
[PASS] test_full_liquidate_multiple_supplies_and_variable_borrows() (gas: 1086373)
[PASS] test_full_liquidate_multiple_variable_borrows() (gas: 954890)
[PASS] test_liquidate_borrow_bad_debt() (gas: 764139)
[PASS] test_liquidate_borrow_burn_multiple_assets_bad_debt() (gas: 1098499)
[PASS] test_liquidate_emode_position_without_emode_oracle() (gas: 993997)
[PASS] test_liquidate_isolated_position() (gas: 851515)
[PASS] test_liquidate_variable_borrow_no_fee() (gas: 798536)
[PASS] test_liquidate_variable_borrow_repro() (gas: 978828)
[PASS] test_liquidate_variable_borrow_same_collateral_and_borrow() (gas: 643285)
[PASS] test_liquidation_when_grace_period_disabled(uint40) (runs: 1000, μ: 846497, ~: 846801)
[PASS] test_liquidation_with_liquidation_grace_period_collateral_active(uint40) (runs: 1000, μ: 1004230, ~: 1007125)
[PASS] test_liquidation_with_liquidation_grace_period_debt_active(uint40) (runs: 1000, μ: 1002622, ~: 1005593)
[PASS] test_liquidation_with_liquidation_grace_period_debt_collateral_active(uint40) (runs: 1000, μ: 1017681, ~: 1020970)
[PASS] test_partial_liquidate_atokens_variable_borrow() (gas: 836936)
[PASS] test_partial_liquidate_variable_borrow() (gas: 797167)
[PASS] test_reverts_liquidation_collateral_not_active() (gas: 607199)
[PASS] test_reverts_liquidation_hf_gt_liquidation_threshold() (gas: 440817)
[PASS] test_reverts_liquidation_invalid_borrow() (gas: 575878)
[PASS] test_reverts_liquidation_oracle_sentinel_on() (gas: 328174)
[PASS] test_reverts_liquidation_reserveInactive() (gas: 160956)
[PASS] test_reverts_liquidation_reservePaused() (gas: 131853)
[PASS] test_self_liquidate_position_shouldRevert() (gas: 660415)
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 18.21s (18.16s CPU time)
2025-07-15T17:28:22.067466Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 22 tests for tests/gas/Pool.Operations.gas.t.sol:PoolOperations_gas_Tests
[PASS] test_borrow() (gas: 914206)
[PASS] test_borrow_onBehalfOf() (gas: 1000452)
[PASS] test_flashLoanSimple() (gas: 609318)
[PASS] test_flashLoan_with_one_asset() (gas: 738658)
[PASS] test_flashLoan_with_one_asset_with_borrowing() (gas: 1161488)
[PASS] test_flashLoan_with_two_assets() (gas: 1035365)
[PASS] test_flashLoan_with_two_assets_with_borrowing() (gas: 1866951)
[PASS] test_liquidationCall_deficit() (gas: 1335455)
[PASS] test_liquidationCall_deficitInAdditionalReserve() (gas: 1694805)
[PASS] test_liquidationCall_full() (gas: 1335522)
[PASS] test_liquidationCall_partial() (gas: 1321551)
[PASS] test_liquidationCall_receive_ATokens_full() (gas: 1311871)
[PASS] test_liquidationCall_receive_ATokens_partial() (gas: 1297664)
[PASS] test_mintToTreasury_one_asset() (gas: 954021)
[PASS] test_mintToTreasury_one_asset_zero_amount() (gas: 46521)
[PASS] test_mintToTreasury_two_assets() (gas: 1921978)
[PASS] test_mintToTreasury_two_assets_zero_amount() (gas: 54085)
[PASS] test_repay() (gas: 1258413)
[PASS] test_repay_with_ATokens() (gas: 1097185)
[PASS] test_supply() (gas: 1751013)
[PASS] test_withdraw() (gas: 779053)
[PASS] test_withdraw_with_active_borrows() (gas: 921594)
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 99.57ms (58.63ms CPU time)
2025-07-15T17:28:22.169482Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 3 tests for tests/gas/Pool.OperationsComposition.gas.t.sol:PoolOperationsComposition_gas_Tests
[PASS] test_batchLiquidation() (gas: 2149550)
[PASS] test_repayAndWithdraw() (gas: 1254410)
[PASS] test_supplyAndBorrow() (gas: 646871)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 51.06ms (10.72ms CPU time)
2025-07-15T17:28:22.217620Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 15 tests for tests/protocol/pool/Pool.Repay.t.sol:PoolRepayTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 545498)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 615151)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 574093)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 376336)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 561992, ~: 562240)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 548385, ~: 550836)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 554045, ~: 556583)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 504754, ~: 504875)
[PASS] test_repay_full_variable_borrow() (gas: 361630)
[PASS] test_revert_repay_full_stable_borrow() (gas: 314208)
[PASS] test_reverts_borrow_invalidAmount() (gas: 51713)
[PASS] test_reverts_borrow_reserveInactive() (gas: 123594)
[PASS] test_reverts_borrow_reservePaused() (gas: 91818)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 308613)
[PASS] test_reverts_repay_no_debt() (gas: 51974)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 9.93s (9.90s CPU time)
2025-07-15T17:28:32.153105Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 4 tests for tests/gas/Pool.Setters.gas.t.sol:PoolSetters_gas_Tests
[PASS] test_setUserEMode() (gas: 1707226)
[PASS] test_setUserEModeOnBehalfOf() (gas: 1353385)
[PASS] test_setUserUseReserveAsCollateral() (gas: 570676)
[PASS] test_setUserUseReserveAsCollateralonBehalfOf() (gas: 632988)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 49.13ms (8.80ms CPU time)
2025-07-15T17:28:32.202930Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 20 tests for tests/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 2739139)
[PASS] testBorrowUpdatesNoChange() (gas: 2452590)
[PASS] testBorrowsUpdates() (gas: 2521318)
[PASS] testCapsUpdate() (gas: 2462068)
[PASS] testCollateralUpdateCorrectBonus() (gas: 2476444)
[PASS] testCollateralUpdateWrongBonus() (gas: 796163)
[PASS] testCollateralsUpdates() (gas: 2475976)
[PASS] testCollateralsUpdatesNoChange() (gas: 2450745)
[PASS] testCollateralsUpdatesNoChangeShouldNotEmit() (gas: 801779)
[PASS] testEModeCategoryCreation() (gas: 1239619)
[PASS] testEModeCategoryUpdates() (gas: 2605964)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 2607724)
[PASS] testEModeCategoryUpdatesNoChangeShouldNotEmit() (gas: 875932)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 866325)
[PASS] testListingWithEModeCategoryCreation() (gas: 5870626)
[PASS] testListings() (gas: 5580857)
[PASS] testListingsCustom() (gas: 9280566)
[PASS] testListingsCustomWithEModeCategoryCreation() (gas: 9571101)
[PASS] testPriceFeedsUpdates() (gas: 2528345)
[PASS] testRateStrategiesUpdates() (gas: 2515761)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 26.61s (26.55s CPU time)
2025-07-15T17:28:32.805572Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
2025-07-15T17:28:32.825000Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 2 tests for tests/deployments/AaveV3PermissionsTest.t.sol:AaveV3PermissionsTest
[PASS] testCheckPermissions() (gas: 52530794)
[PASS] testCheckPermissionsTreasuryPartner() (gas: 53022360)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 40.81ms (35.97ms CPU time)
2025-07-15T17:28:32.846499Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 7 tests for tests/protocol/configuration/AddressesProviderRegistry.t.sol:PoolAddressesProviderRegistryTest
[PASS] testAddAddressesProvider() (gas: 120369)
[PASS] testRemoveAddressesProvider() (gas: 96895)
[PASS] testRemoveMultipleAddressesProvider() (gas: 242308)
[PASS] test_addressesProviderAddedToRegistry() (gas: 16383)
[PASS] test_removesLastProvider() (gas: 32576)
[PASS] test_revert_registry_0() (gas: 15287)
[PASS] test_revert_removeNonExistingAddressesProvider() (gas: 27258)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 30.37ms (1.63ms CPU time)
2025-07-15T17:28:32.888920Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 1 test for tests/template/BaseTest.t.sol:BaseTest
[PASS] test_default() (gas: 225906)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 32.58ms (337.62µs CPU time)
Ran 5 tests for tests/treasury/Collector.t.sol:CollectorTest
[PASS] testApprove() (gas: 49702)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18183)
[PASS] testTransfer() (gas: 54858)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18207)
[PASS] test_receiveEth() (gas: 20265)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 3.14ms (269.83µs CPU time)
Ran 6 tests for tests/treasury/Collector.t.sol:FundsAdminRoleBytesTest
[PASS] testApprove() (gas: 49658)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18161)
[PASS] testTransfer() (gas: 54903)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18185)
[PASS] test_receiveEth() (gas: 20288)
[PASS] test_successful() (gas: 13383)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.08ms (295.58µs CPU time)
Ran 7 tests for tests/treasury/Collector.t.sol:IsFundsAdminTest
[PASS] testApprove() (gas: 49658)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18183)
[PASS] testTransfer() (gas: 54858)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18207)
[PASS] test_isFundsAdmin() (gas: 24249)
[PASS] test_isNotFundsAdmin() (gas: 17579)
[PASS] test_receiveEth() (gas: 20288)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.25ms (497.11µs CPU time)
Ran 26 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 49636)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18335)
[PASS] testCancelStreamByFundsAdmin() (gas: 206160)
[PASS] testCancelStreamByRecipient() (gas: 231265)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 242221)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 22839)
[PASS] testCreateStream() (gas: 244288)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 27252)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 24600)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 25041)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 25296)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 25064)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 25761)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 23210)
[PASS] testGetNextStreamId() (gas: 17592)
[PASS] testGetNotExistingStream() (gas: 18416)
[PASS] testGetStream() (gas: 234347)
[PASS] testTransfer() (gas: 54947)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18337)
[PASS] testWithdrawFromStream() (gas: 307164)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 230192)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 243607)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 238105)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 240264)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 23004)
[PASS] test_receiveEth() (gas: 20310)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 5.37ms (2.49ms CPU time)
Ran 17 tests for tests/invariants/CryticToFoundry.t.sol:CryticToFoundry
[PASS] test_replay_V33_supply() (gas: 2037193)
[PASS] test_replay_V33_transferFrom() (gas: 2483361)
[PASS] test_replay_v33_2repayWithAtokens() (gas: 2032493)
[PASS] test_replay_v33_2setUserEMode() (gas: 2533216)
[PASS] test_replay_v33_2transfer() (gas: 2044900)
[PASS] test_replay_v33_3liquidationCall() (gas: 2560583)
[PASS] test_replay_v33_assert_BORROWING_HSPOST_G() (gas: 2524430)
[PASS] test_replay_v33_borrow() (gas: 6259662)
[PASS] test_replay_v33_repayWithATokens() (gas: 2558152)
[PASS] test_replay_v33_setReserveActive() (gas: 2088536)
[PASS] test_replay_v33_supply() (gas: 2669153)
[PASS] test_v32_2_borrow() (gas: 2221307)
[PASS] test_v32_borrow() (gas: 2062297)
[PASS] test_v32_mintToTreasury() (gas: 2478397)
[PASS] test_v32_repay() (gas: 1931019)
[PASS] test_v32_setPoolPause() (gas: 4457653)
[PASS] test_v32_withdrawEchidna() (gas: 2049421)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 172.87ms (155.16ms CPU time)
Ran 13 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 5310733)
[PASS] test10ConfigEngineDeployment() (gas: 7043465)
[PASS] test11StaticATokenDeployment() (gas: 6676133)
[PASS] test12PeripheralsTreasuryPartner() (gas: 7560610)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 4570271)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 3599146)
[PASS] test3AaveV3PoolDeployment() (gas: 7702516)
[PASS] test4AaveV3L2PoolDeployment() (gas: 7963025)
[PASS] test5PeripheralsRelease() (gas: 7071734)
[PASS] test6MiscDeployment() (gas: 1247701)
[PASS] test7ParaswapDeployment() (gas: 5160279)
[PASS] test8SetupMarket() (gas: 2670408)
[PASS] test9TokensMarket() (gas: 3760673)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 17.00ms (7.13ms CPU time)
2025-07-15T17:28:33.132651Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 13 tests for tests/protocol/pool/Pool.Supply.t.sol:PoolSupplyTests
[PASS] test_deprecated_deposit() (gas: 233738)
[PASS] test_first_supply() (gas: 233804)
[PASS] test_first_supply_on_behalf() (gas: 235829)
[PASS] test_reverts_SupplyToAToken() (gas: 50067)
[PASS] test_reverts_supply_cap() (gas: 104499)
[PASS] test_reverts_supply_invalidAmount() (gas: 47731)
[PASS] test_reverts_supply_reserveFrozen() (gas: 116747)
[PASS] test_reverts_supply_reserveInactive() (gas: 119532)
[PASS] test_reverts_supply_reservePaused() (gas: 87799)
[PASS] test_supplyWithPermit(uint128,uint120,uint128) (runs: 1000, μ: 407291, ~: 407298)
[PASS] test_supplyWithPermit_not_failing_if_permit_was_used(uint128,uint120,uint128) (runs: 1000, μ: 407851, ~: 407855)
[PASS] test_supplyWithPermit_should_revert_if_permit_is_less_then_supply_amount(uint128,uint128) (runs: 1000, μ: 277683, ~: 277684)
[PASS] test_supply_after_collateral_enabled() (gas: 279391)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 4.44s (4.41s CPU time)
2025-07-15T17:28:36.645426Z ERROR cheatcodes: non-empty stderr input=["bash", "-c", "response=\"$([ -e .env ] && grep -q \"FOUNDRY_LIBRARIES\" .env && echo true || echo false)\"; cast abi-encode \"response(bool)\" $response;"] stderr="Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment. \n\n"
Ran 11 tests for tests/protocol/pool/Pool.Withdraw.t.sol:PoolWithdrawTests
[PASS] test_Reverts_withdraw_transferred_funds() (gas: 526689)
[PASS] test_full_withdraw() (gas: 226899)
[PASS] test_full_withdraw_to() (gas: 232409)
[PASS] test_partial_withdraw() (gas: 223419)
[PASS] test_reverts_WithdrawToAToken() (gas: 237901)
[PASS] test_reverts_withdraw_hf_lt_lqt() (gas: 650057)
[PASS] test_reverts_withdraw_invalidAmount() (gas: 237825)
[PASS] test_reverts_withdraw_invalidBalance() (gas: 239894)
[PASS] test_reverts_withdraw_reserveInactive() (gas: 194731)
[PASS] test_reverts_withdraw_reservePaused() (gas: 276751)
[PASS] test_withdraw_not_enabled_as_collateral() (gas: 231409)
Suite result: ok. 11 passed; 0 fa...*[Comment body truncated]* |
Contributor
🔮 Coverage report
|
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
Contributor
|
Different feedback:
|
sgho: address comments
Contributor
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
sGHO - Savings GHO Vault
About
sGHO is an EIP-4626 vault that allows users to earn yield on their GHO tokens. The vault automatically distributes yield to depositors through internal accounting, with a soft requirement for a buffer of GHO tokens to be maintained for yield distribution during full withdrawals.
Features
Full EIP-4626 compatibility. sGHO implements all standard ERC4626 functions for deposits, withdrawals, and share calculations.
Automatic yield distribution. Yield is calculated and distributed internally during vault operations, eliminating the need for external yield claiming.
Role-based access control. The system uses Aave's ACLManager for managing permissions:
Permit support. Users can approve sGHO to spend their GHO tokens using EIP-2612 permits, enabling gasless approvals.
Donation handling. The vault can handle external GHO donations and automatically incorporate them into the yield distribution system.
Architecture
The system consists of a single main contract:
sGHO.sol: The main vault contract that:
Inheritance and Dependencies
sGHO.sol
ERC4626(OpenZeppelin) - For vault functionalityERC20Permit(OpenZeppelin) - For permit functionalityInitializable(OpenZeppelin) - For initialization patternIsGHO(Custom interface) - Contract interfaceIERC20- For token operationsIAccessControl- For role managementWadRayMath- For precise mathematical calculationsYield Calculation and Distribution
The yield is calculated and distributed automatically during vault operations. The yield compounds upon every vault state update, such as deposits or withdrawals.
Key Components:
Yield Distribution Process:
_updateVault()is calledSecurity Considerations
The system implements several security measures:
Limitations
Security Procedures
For this project, the security procedures applied/being finished are:
Usage Examples
Depositing GHO
Withdrawing GHO
Managing Yield and Configuration
Permit Usage (Gasless Approvals)
Important Notes