-
Notifications
You must be signed in to change notification settings - Fork 7
feat: scaled price adaptor #23
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
Conversation
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
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.
Verification Results
- Group ID: 5305b307-f0e8-45ad-9e64-d4c1d72dc485
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| VariableDebtToken.conf | ✅ | 15 | Link |
| UserConfiguration.conf | ✅ | 13 | Link |
| stableRemoved.conf | ✅ | 2 | Link |
| RwaAToken.conf | ✅ | 13 | Link |
| ReserveConfiguration.conf | ✅ | 19 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnReserveDisabledForBorrowing | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnFrozenReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawFromInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInFrozenReserve | ✅ | 1 | Link |
| NEW-pool-no-summarizations.conf | ✅ | 3 | Link |
| EModeConfiguration.conf | ✅ | 5 | Link |
| AToken.conf | ✅ | 13 | Link |
Forge Build Sizes🔕 Unchanged
|
♻️ Forge Gas Snapshots🔕 Unchanged
|
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.
Verification Results
- Group ID: e0ccb6fc-fe4b-46de-b08a-8ae2372031a6
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| verifyStataToken.conf --rule totalClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule totalAssets_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_total_asset_geq_total_supply | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_positive_total_supply_only_if_positive_asset | ✅ | 2 | Link |
| verifyStataToken.conf --rule singleAssetAccruedRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsTotalDeclinesOnlyByClaim | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenSufficientRewardsExist | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenInsufficientRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_refreshRewardTokens | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_deposit | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewardsBefore_leq_claimed_claimRewardsOnBehalf | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemSum | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemATokensSum | ✅ | 2 | Link |
| verifyERC4626DepositSummarization.conf --rule depositCheckIndexGRayAssert1 depositATokensCheckIndexGRayAssert1 depositWithPermitCheckIndexGRayAssert1 depositCheckIndexERayAssert1 depositATokensCheckIndexERayAssert1 depositWithPermitCheckIndexERayAssert1 | ✅ | 7 | Link |
| verifyERC4626.conf --rule maxMintMustntRevert maxDepositMustntRevert maxRedeemMustntRevert maxWithdrawMustntRevert totalAssetsMustntRevert | ✅ | 6 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_sufficient | ✅ | 2 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_insufficient | ✅ | 2 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_collectAndUpdateRewards aTokenBalanceIsFixed_for_claimRewards aTokenBalanceIsFixed_for_claimRewardsOnBehalf | ✅ | 4 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_claimSingleRewardOnBehalf aTokenBalanceIsFixed_for_claimRewardsToSelf | ✅ | 3 | Link |
| tWithPermitCheckIndexGRayAssert2 depositCheckIndexERayAssert2 depositATokensCheckIndexERayAssert2 depositWithPermitCheckIndexERayAssert2 mintCheckIndexGRayUpperBound mintCheckIndexGRayLowerBound mintCheckIndexEqualsRay | ✅ | 10 | Link |
| ToAssetsCheck convertToSharesCheck toAssetsDoesNotRevert sharesConversionRoundedDown toSharesDoesNotRevert previewDepositAmountCheck maxRedeemCompliance maxWithdrawConversionCompliance previewMintIndependentOfAllowance | ✅ | 23 | Link |
| ingRange previewRedeemRoundingRange amountConversionPreserved sharesConversionPreserved accountsJoiningSplittingIsLimited convertSumOfAssetsPreserved previewDepositSameAsDeposit previewMintSameAsMint maxDepositConstant | ✅ | 10 | Link |
|
|
||
| /// @inheritdoc IScaledPriceAdaptor | ||
| function description() external view returns (string memory) { | ||
| return string.concat(_SOURCE.description(), ' (USD Scaled)'); |
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.
why USD? should we omit it?
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.
'USD' unit for the 8 decimals (that we've fixed here)
most RWA feeds are 'NAV' base unit which isn't consistent with decimals
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
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.
Verification Results
- Group ID: dae457aa-3485-45e9-9500-d380a83787f4
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| VariableDebtToken.conf | ✅ | 15 | Link |
| UserConfiguration.conf | ✅ | 13 | Link |
| stableRemoved.conf | ✅ | 2 | Link |
| RwaAToken.conf | ✅ | 13 | Link |
| ReserveConfiguration.conf | ✅ | 19 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnReserveDisabledForBorrowing | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnFrozenReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawFromInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInFrozenReserve | ✅ | 1 | Link |
| NEW-pool-no-summarizations.conf | ✅ | 3 | Link |
| EModeConfiguration.conf | ✅ | 5 | Link |
| AToken.conf | ✅ | 13 | Link |
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.
Verification Results
- Group ID: 5a0d1e38-6292-4561-a9da-9f88169b71c6
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| verifyStataToken.conf --rule totalClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule totalAssets_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_total_asset_geq_total_supply | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_positive_total_supply_only_if_positive_asset | ✅ | 2 | Link |
| verifyStataToken.conf --rule singleAssetAccruedRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsTotalDeclinesOnlyByClaim | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenSufficientRewardsExist | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenInsufficientRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_refreshRewardTokens | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_deposit | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewardsBefore_leq_claimed_claimRewardsOnBehalf | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemSum | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemATokensSum | ✅ | 2 | Link |
| verifyERC4626DepositSummarization.conf --rule depositCheckIndexGRayAssert1 depositATokensCheckIndexGRayAssert1 depositWithPermitCheckIndexGRayAssert1 depositCheckIndexERayAssert1 depositATokensCheckIndexERayAssert1 depositWithPermitCheckIndexERayAssert1 | ✅ | 7 | Link |
| verifyERC4626.conf --rule maxMintMustntRevert maxDepositMustntRevert maxRedeemMustntRevert maxWithdrawMustntRevert totalAssetsMustntRevert | ✅ | 6 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_sufficient | ✅ | 2 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_insufficient | ✅ | 2 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_collectAndUpdateRewards aTokenBalanceIsFixed_for_claimRewards aTokenBalanceIsFixed_for_claimRewardsOnBehalf | ✅ | 4 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_claimSingleRewardOnBehalf aTokenBalanceIsFixed_for_claimRewardsToSelf | ✅ | 3 | Link |
| tWithPermitCheckIndexGRayAssert2 depositCheckIndexERayAssert2 depositATokensCheckIndexERayAssert2 depositWithPermitCheckIndexERayAssert2 mintCheckIndexGRayUpperBound mintCheckIndexGRayLowerBound mintCheckIndexEqualsRay | ✅ | 10 | Link |
| ToAssetsCheck convertToSharesCheck toAssetsDoesNotRevert sharesConversionRoundedDown toSharesDoesNotRevert previewDepositAmountCheck maxRedeemCompliance maxWithdrawConversionCompliance previewMintIndependentOfAllowance | ✅ | 23 | Link |
| ingRange previewRedeemRoundingRange amountConversionPreserved sharesConversionPreserved accountsJoiningSplittingIsLimited convertSumOfAssetsPreserved previewDepositSameAsDeposit previewMintSameAsMint maxDepositConstant | ✅ | 10 | Link |
|
should we write a deployment script for adapters in this PR? |
|
also a failing test in CI atm: test_revert_deploy_ACLADMIN_zeroAddress |
discussed to be tackled independently
pls see desc, waiting on foundry-rs/foundry#11021 fix to be released on nightly |
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
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.
Verification Results
- Group ID: f74e38e5-8342-465c-8a77-ab7d60491486
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| VariableDebtToken.conf | ✅ | 15 | Link |
| UserConfiguration.conf | ✅ | 13 | Link |
| stableRemoved.conf | ✅ | 2 | Link |
| RwaAToken.conf | ✅ | 13 | Link |
| ReserveConfiguration.conf | ✅ | 19 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnReserveDisabledForBorrowing | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnFrozenReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawFromInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInFrozenReserve | ✅ | 0 | Link |
| NEW-pool-no-summarizations.conf | ✅ | 3 | Link |
| EModeConfiguration.conf | ✅ | 5 | Link |
| AToken.conf | ✅ | 13 | Link |
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.
Verification Results
- Group ID: 334e8a91-0801-474b-8415-632590e9a4b3
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| verifyStataToken.conf --rule totalClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule totalAssets_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_total_asset_geq_total_supply | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_positive_total_supply_only_if_positive_asset | ✅ | 2 | Link |
| verifyStataToken.conf --rule singleAssetAccruedRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsTotalDeclinesOnlyByClaim | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenSufficientRewardsExist | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenInsufficientRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_refreshRewardTokens | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_deposit | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewardsBefore_leq_claimed_claimRewardsOnBehalf | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemSum | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemATokensSum | ✅ | 2 | Link |
| verifyERC4626DepositSummarization.conf --rule depositCheckIndexGRayAssert1 depositATokensCheckIndexGRayAssert1 depositWithPermitCheckIndexGRayAssert1 depositCheckIndexERayAssert1 depositATokensCheckIndexERayAssert1 depositWithPermitCheckIndexERayAssert1 | ✅ | 7 | Link |
| verifyERC4626.conf --rule maxMintMustntRevert maxDepositMustntRevert maxRedeemMustntRevert maxWithdrawMustntRevert totalAssetsMustntRevert | ✅ | 6 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_sufficient | ✅ | 2 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_insufficient | ✅ | 2 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_collectAndUpdateRewards aTokenBalanceIsFixed_for_claimRewards aTokenBalanceIsFixed_for_claimRewardsOnBehalf | ✅ | 4 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_claimSingleRewardOnBehalf aTokenBalanceIsFixed_for_claimRewardsToSelf | ✅ | 3 | Link |
| tWithPermitCheckIndexGRayAssert2 depositCheckIndexERayAssert2 depositATokensCheckIndexERayAssert2 depositWithPermitCheckIndexERayAssert2 mintCheckIndexGRayUpperBound mintCheckIndexGRayLowerBound mintCheckIndexEqualsRay | ✅ | 10 | Link |
| ToAssetsCheck convertToSharesCheck toAssetsDoesNotRevert sharesConversionRoundedDown toSharesDoesNotRevert previewDepositAmountCheck maxRedeemCompliance maxWithdrawConversionCompliance previewMintIndependentOfAllowance | ✅ | 23 | Link |
| ingRange previewRedeemRoundingRange amountConversionPreserved sharesConversionPreserved accountsJoiningSplittingIsLimited convertSumOfAssetsPreserved previewDepositSameAsDeposit previewMintSameAsMint maxDepositConstant | ✅ | 10 | Link |
🌈 Test ResultsNo files changed, compilation skipped
2025-07-17T12:01:00.515329Z 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-17T12:01:00.521474Z 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-17T12:01:00.524543Z 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 26 tests for tests/treasury/Collector.t.sol:StreamsTest
[PASS] testApprove() (gas: 49653)
[PASS] testApproveWhenNotFundsAdmin() (gas: 18345)
[PASS] testCancelStreamByFundsAdmin() (gas: 206193)
[PASS] testCancelStreamByRecipient() (gas: 231303)
[PASS] testCancelStreamWhenNotAdminOrRecipient() (gas: 242254)
[PASS] testCancelStreamWhenStreamNotExists() (gas: 22848)
[PASS] testCreateStream() (gas: 244333)
[PASS] testCreateStreamWhenDepositIsZero() (gas: 27266)
[PASS] testCreateStreamWhenNotFundsAdmin() (gas: 24611)
[PASS] testCreateStreamWhenRecipientIsCollector() (gas: 25055)
[PASS] testCreateStreamWhenRecipientIsTheCaller() (gas: 25310)
[PASS] testCreateStreamWhenRecipientIsZero() (gas: 25078)
[PASS] testCreateStreamWhenStartTimeInThePast() (gas: 25778)
[PASS] testCreateStreamWhenStopTimeBeforeStart() (gas: 23224)
[PASS] testGetNextStreamId() (gas: 17598)
[PASS] testGetNotExistingStream() (gas: 18426)
[PASS] testGetStream() (gas: 234368)
[PASS] testTransfer() (gas: 54962)
[PASS] testTransferWhenNotFundsAdmin() (gas: 18347)
[PASS] testWithdrawFromStream() (gas: 307230)
[PASS] testWithdrawFromStreamFinishesSuccessfully() (gas: 230235)
[PASS] testWithdrawFromStreamWhenAmountExceedsBalance() (gas: 243637)
[PASS] testWithdrawFromStreamWhenAmountIsZero() (gas: 238129)
[PASS] testWithdrawFromStreamWhenNotAdminOrRecipient() (gas: 240288)
[PASS] testWithdrawFromStreamWhenStreamNotExists() (gas: 23014)
[PASS] test_receiveEth() (gas: 20319)
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 6.12ms (2.87ms CPU time)
Ran 20 tests for tests/protocol/configuration/ACLManager.t.sol:ACLManagerTest
[PASS] testDefaultAdminRoleAfterDeploy() (gas: 20689)
[PASS] test_defaultAdmin_grantAdminRole_FlashBorrowAdmin() (gas: 65510)
[PASS] test_defaultAdmin_grants_AssetsListingRole() (gas: 37593)
[PASS] test_defaultAdmin_grants_BridgeRole() (gas: 37659)
[PASS] test_defaultAdmin_grants_EmergencyAdminRole() (gas: 37606)
[PASS] test_defaultAdmin_grants_PoolAdminRole() (gas: 37726)
[PASS] test_defaultAdmin_grants_RiskRole() (gas: 37723)
[PASS] test_defaultAdmin_remove_AssetsListingRole() (gas: 29442)
[PASS] test_defaultAdmin_remove_BridgeRole() (gas: 29531)
[PASS] test_defaultAdmin_remove_EmergencyAdminRole() (gas: 29426)
[PASS] test_defaultAdmin_remove_PoolAdminRole() (gas: 29548)
[PASS] test_defaultAdmin_remove_RiskRole() (gas: 29432)
[PASS] test_flashBorrowAdmin_grantRole_FlashBorrowRole() (gas: 91916)
[PASS] test_flashBorrowAdmin_removeRole_FlashBorrowRole() (gas: 76438)
[PASS] test_remove_riskAdmin() (gas: 29442)
[PASS] test_revert_anyUser_grantAdminRole_FlashBorrowAdmin() (gas: 72851)
[PASS] test_revert_deploy_ACLADMIN_zeroAddress() (gas: 1469924)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_addRole_FlashBorrowRole() (gas: 98836)
[PASS] test_reverts_defaultAdmin_notRoleAdmin_revokeRole_FlashBorrowRole() (gas: 125219)
[PASS] test_reverts_notAdmin_grantRole_FlashBorrow() (gas: 113990)
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 8.97ms (2.91ms CPU time)
Ran 11 tests for tests/protocol/pool/pool-configurator/PoolConfigurator.supplyCaps.t.sol:PoolConfiguratorSupplyCapTests
[PASS] test_default_supplyCap_zero() (gas: 27525)
[PASS] test_multiple_setSupplyCap() (gas: 369124)
[PASS] test_reverts_interests_gt_cap_and_supply() (gas: 478444)
[PASS] test_reverts_setSupplyCap_gt_max_cap() (gas: 48667)
[PASS] test_reverts_supply_gt_cap() (gas: 122598)
[PASS] test_reverts_unauthorized_setSupplyCap() (gas: 35454)
[PASS] test_setSupplyCap() (gas: 76762)
[PASS] test_setSupplyCap_them_setBorrowCap_zero() (gas: 316749)
[PASS] test_supply_eq_cap() (gas: 298070)
[PASS] test_supply_interests_reach_cap() (gas: 439848)
[PASS] test_supply_lt_cap() (gas: 298071)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 56.19ms (6.34ms CPU time)
2025-07-17T12:01:00.570784Z 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/protocol/pool-rwa/pool-configurator/PoolConfigurator.upgradeability.Rwa.t.sol:PoolConfiguratorUpgradeabilityRwaTests
[PASS] test_getConfiguratorLogic() (gas: 13610)
[PASS] test_interestRateStrategy_update() (gas: 4071286)
[PASS] test_setReserveInterestRateData() (gas: 152244)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1008800)
[PASS] test_updateAToken() (gas: 2284668)
[PASS] test_updateVariableDebtToken() (gas: 1681854)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 46.05ms (5.22ms CPU time)
2025-07-17T12:01:00.617151Z 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/protocol/pool/pool-configurator/PoolConfigurator.upgradeabilty.t.sol:PoolConfiguratorUpgradeabilityTests
[PASS] test_getConfiguratorLogic() (gas: 13610)
[PASS] test_interestRateStrategy_update() (gas: 1852668)
[PASS] test_setReserveInterestRateData() (gas: 152244)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 1008800)
[PASS] test_updateAToken() (gas: 2284668)
[PASS] test_updateVariableDebtToken() (gas: 1681854)
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 44.92ms (4.71ms CPU time)
2025-07-17T12:01:00.662462Z 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/libraries/logic/PoolLogic.initReserves.edge.t.sol:PoolLogicInitReservesTests
[PASS] test_initReserves_return_false_after_dropped_reserve() (gas: 680706)
[PASS] test_reverts_initReserves_max() (gas: 197181)
[PASS] test_reverts_initReserves_reserveAlreadyAdded() (gas: 220586)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 41.01ms (739.24µs CPU time)
2025-07-17T12:01:00.703818Z 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: 27223)
[PASS] test_isBorrowAllowed_network_up_not_grace_period() (gas: 46925)
[PASS] test_isBorrowAllowed_true_network_up_grace_period_pass() (gas: 46979)
[PASS] test_isLiquidationAllowed_network_down() (gas: 27134)
[PASS] test_isLiquidationAllowed_network_up_not_grace_period() (gas: 46902)
[PASS] test_isLiquidationAllowed_true_network_up_grace_period_pass() (gas: 47000)
[PASS] test_new_PriceOracleSentinel() (gas: 423731)
[PASS] test_reverts_setGracePeriod_not_poolAdmin() (gas: 25829)
[PASS] test_reverts_setSequencerOracle_not_poolAdmin() (gas: 22737)
[PASS] test_setGracePeriod() (gas: 32496)
[PASS] test_setSequencerOracle() (gas: 24631)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 46.81ms (1.08ms CPU time)
2025-07-17T12:01:00.752662Z 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: 45824)
[PASS] test_getDebtCeiling() (gas: 27099)
[PASS] test_getFlashLoanEnabled() (gas: 27199)
[PASS] test_getInterestRateStrategyAddress() (gas: 50707)
[PASS] test_getIsVirtualAccActive() (gas: 27206)
[PASS] test_getLiquidationProtocolFee() (gas: 27158)
[PASS] test_getPaused() (gas: 27250)
[PASS] test_getReserveCaps() (gas: 27176)
[PASS] test_getReserveConfigurationData() (gas: 28077)
[PASS] test_getReserveTokensAddresses() (gas: 31054)
[PASS] test_getSiloedBorrowing() (gas: 27254)
[PASS] test_getTotalDebt() (gas: 45846)
[PASS] test_getUnbackedMintCap() (gas: 27097)
[PASS] test_getUserReserveData() (gas: 539271)
[PASS] test_getVirtualUnderlyingBalance() (gas: 26880)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 49.75ms (2.71ms CPU time)
2025-07-17T12:01:00.802549Z 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 28 tests for tests/invariants/CryticToFoundry.t.sol:CryticToFoundry
[PASS] test_replay_V33_setUserEMode() (gas: 3701776)
[PASS] test_replay_V33_supply() (gas: 2082225)
[PASS] test_replay_V33_transferFrom() (gas: 2561112)
[PASS] test_replay_v33_2liquidationCall() (gas: 2765522)
[PASS] test_replay_v33_2repayWithAtokens() (gas: 2099354)
[PASS] test_replay_v33_2setUserEMode() (gas: 2588993)
[PASS] test_replay_v33_2transfer() (gas: 2103815)
[PASS] test_replay_v33_3liquidationCall() (gas: 2867888)
[PASS] test_replay_v33_assert_BORROWING_HSPOST_C() (gas: 2211520)
[PASS] test_replay_v33_assert_BORROWING_HSPOST_G() (gas: 2607357)
[PASS] test_replay_v33_borrow() (gas: 6400295)
[PASS] test_replay_v33_echidna_BASE_INVARIANT_B() (gas: 3557830)
[PASS] test_replay_v33_echidna_BORROWING_INVARIANT_B() (gas: 7580867)
[PASS] test_replay_v33_echidna_BORROWING_INVARIANT_C() (gas: 19466607)
[PASS] test_replay_v33_eliminateReserveDeficit() (gas: 3557812)
[PASS] test_replay_v33_liquidationCall() (gas: 2280446)
[PASS] test_replay_v33_repayWithATokens() (gas: 2606738)
[PASS] test_replay_v33_setPoolPause() (gas: 3762970)
[PASS] test_replay_v33_setReserveActive() (gas: 2158095)
[PASS] test_replay_v33_supply() (gas: 2727304)
[PASS] test_v32_2_borrow() (gas: 2286442)
[PASS] test_v32_2_liquidationCall() (gas: 2674297)
[PASS] test_v32_borrow() (gas: 2131991)
[PASS] test_v32_liquidationCall() (gas: 2890097)
[PASS] test_v32_mintToTreasury() (gas: 2552053)
[PASS] test_v32_repay() (gas: 1971625)
[PASS] test_v32_setPoolPause() (gas: 4681145)
[PASS] test_v32_withdrawEchidna() (gas: 2120583)
Suite result: ok. 28 passed; 0 failed; 0 skipped; finished in 529.72ms (486.94ms CPU time)
Ran 13 tests for tests/deployments/DeploymentsGasLimits.t.sol:DeploymentsGasLimits
[PASS] test0AaveV3SetupDeployment() (gas: 4587275)
[PASS] test10ConfigEngineDeployment() (gas: 6574845)
[PASS] test11StaticATokenDeployment() (gas: 6703281)
[PASS] test12PeripheralsTreasuryPartner() (gas: 7595730)
[PASS] test1AaveV3GettersBatch1Deployment() (gas: 6573257)
[PASS] test2AaveV3GettersBatch2Deployment() (gas: 2063021)
[PASS] test3AaveV3PoolDeployment() (gas: 8514974)
[PASS] test4AaveV3L2PoolDeployment() (gas: 8765607)
[PASS] test5PeripheralsRelease() (gas: 7109059)
[PASS] test6MiscDeployment() (gas: 1360629)
[PASS] test7ParaswapDeployment() (gas: 5156198)
[PASS] test8SetupMarket() (gas: 2715177)
[PASS] test9TokensMarket() (gas: 5984955)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 18.64ms (7.75ms CPU time)
2025-07-17T12:01:01.070668Z 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/horizon/AToken.Horizon.t.sol:ATokenHorizonTests
[PASS] test_fuzz_reverts_rwaAToken_approve_OperationNotSupported(address,address,uint256) (runs: 1000, μ: 17642, ~: 17642)
[PASS] test_fuzz_reverts_rwaAToken_authorizedTransfer_CallerNotRwaATokenTransferAdmin(address,address,address,uint256) (runs: 1000, μ: 31544, ~: 31544)
[PASS] test_fuzz_reverts_rwaAToken_authorizedTransfer_NotEnoughBalance(address,address,uint256) (runs: 1000, μ: 98621, ~: 98412)
[PASS] test_fuzz_reverts_rwaAToken_decreaseAllowance_OperationNotSupported(address,address,uint256) (runs: 1000, μ: 17729, ~: 17729)
[PASS] test_fuzz_reverts_rwaAToken_increaseAllowance_OperationNotSupported(address,address,uint256) (runs: 1000, μ: 17640, ~: 17640)
[PASS] test_fuzz_reverts_rwaAToken_permit_OperationNotSupported(address,address,address,uint256,uint256,uint8,bytes32,bytes32) (runs: 1000, μ: 18169, ~: 18169)
[PASS] test_fuzz_reverts_rwaAToken_transferFrom_OperationNotSupported(address,address,address,uint256) (runs: 1000, μ: 17998, ~: 17998)
[PASS] test_fuzz_reverts_rwaAToken_transferOnLiquidation_OperationNotSupported(address,address,address,uint256) (runs: 1000, μ: 17863, ~: 17863)
[PASS] test_fuzz_reverts_rwaAToken_transfer_OperationNotSupported(address,address,uint256) (runs: 1000, μ: 17617, ~: 17620)
[PASS] test_fuzz_rwaAToken_authorizedTransfer_by_rwaATokenTransferAdmin(address,address,uint256) (runs: 1000, μ: 166791, ~: 166796)
[PASS] test_reverts_rwaAToken_approve_OperationNotSupported() (gas: 21705)
[PASS] test_reverts_rwaAToken_authorizedTransfer_CallerNotRwaATokenTransferAdmin() (gas: 37652)
[PASS] test_reverts_rwaAToken_authorizedTransfer_NotEnoughBalance() (gas: 86878)
Logs:
Bound result 101000000
[PASS] test_reverts_rwaAToken_decreaseAllowance_OperationNotSupported() (gas: 21702)
[PASS] test_reverts_rwaAToken_increaseAllowance_OperationNotSupported() (gas: 21681)
[PASS] test_reverts_rwaAToken_permit_OperationNotSupported() (gas: 21997)
[PASS] test_reverts_rwaAToken_transferFrom_OperationNotSupported() (gas: 23930)
[PASS] test_reverts_rwaAToken_transfer_OperationNotSupported() (gas: 21635)
[PASS] test_reverts_rwaAtoken_transferOnLiquidation_OperationNotSupported() (gas: 23862)
[PASS] test_rwaAToken_authorizedTransfer_by_rwaATokenTransferAdmin_all() (gas: 184225)
Logs:
Bound result 100000000
[PASS] test_rwaAToken_authorizedTransfer_by_rwaATokenTransferAdmin_partial() (gas: 180507)
Logs:
Bound result 1
[PASS] test_rwaAToken_authorizedTransfer_by_rwaATokenTransferAdmin_zero() (gas: 150380)
Logs:
Bound result 0
Suite result: ok. 22 passed; 0 failed; 0 skipped; finished in 1.30s (1.26s CPU time)
2025-07-17T12:01:01.825048Z 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/gas/AToken.Transfer.gas.t.sol:ATokenTransfer_gas_Tests
[PASS] test_transfer_fullAmount() (gas: 604123)
[PASS] test_transfer_fullAmount_dirtyReceiver() (gas: 1062068)
[PASS] test_transfer_fullAmount_senderCollateralDisabled() (gas: 700037)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds() (gas: 1103240)
[PASS] test_transfer_fullAmount_senderCollateralDisabled_receiverNonZeroFunds2() (gas: 1007350)
[PASS] test_transfer_partialAmount() (gas: 700131)
[PASS] test_transfer_partialAmount_receiverNonZeroFunds() (gas: 1103315)
[PASS] test_transfer_partialAmount_senderCollateralEnabled() (gas: 609006)
[PASS] test_transfer_partialAmount_senderCollateralEnabled_receiverNonZeroFunds() (gas: 1012168)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 65.84ms (18.52ms CPU time)
2025-07-17T12:01:01.890187Z 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-rwa/ATokenEdgeCases.Rwa.t.sol:ATokenEdgeCasesRwaTests
[SKIP: Not applicable to RWAs] testApprove() (gas: 0)
[SKIP: Not applicable to RWAs] testApproveMax() (gas: 0)
[SKIP: Not applicable to RWAs] testApproveWithZeroAddressSpender() (gas: 0)
[PASS] testCheckGetters() (gas: 259921)
[SKIP: Not applicable to RWAs] testDecreaseAllowance() (gas: 0)
[SKIP: Not applicable to RWAs] testIncreaseAllowance() (gas: 0)
[SKIP: Not applicable to RWAs] testIncreaseAllowanceFromZero() (gas: 0)
[SKIP: Not applicable to RWAs] testMintToTreasury_amount_zero() (gas: 0)
[SKIP: Not applicable to RWAs] testTransferFromZeroAmount() (gas: 0)
[PASS] test_burn_zeroAddress() (gas: 259360)
[PASS] test_mintToZeroAddress() (gas: 82518)
[PASS] test_poolAdmin_setIncentivesController() (gas: 35712)
[PASS] test_revert_notAdmin_setIncentivesController() (gas: 40281)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19478)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19798)
[SKIP: Not applicable to RWAs] test_transferFrom_zeroAddress_origin() (gas: 0)
[SKIP: Not applicable to RWAs] test_transfer_amount_MAX_UINT_128() (gas: 0)
Suite result: ok. 7 passed; 0 failed; 10 skipped; finished in 43.78ms (2.58ms CPU time)
2025-07-17T12:01:01.934971Z 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/ATokenEdgeCases.t.sol:ATokenEdgeCasesTests
[PASS] testApprove() (gas: 45105)
[PASS] testApproveMax() (gas: 45208)
[PASS] testApproveWithZeroAddressSpender() (gas: 42159)
[PASS] testCheckGetters() (gas: 259762)
[PASS] testDecreaseAllowance() (gas: 53034)
[PASS] testIncreaseAllowance() (gas: 53078)
[PASS] testIncreaseAllowanceFromZero() (gas: 48398)
[PASS] testMintToTreasury_amount_zero() (gas: 15793)
[PASS] testTransferFromZeroAmount() (gas: 129523)
[PASS] test_burn_zeroAddress() (gas: 259125)
[PASS] test_mintToZeroAddress() (gas: 82271)
[PASS] test_poolAdmin_setIncentivesController() (gas: 35820)
[PASS] test_revert_notAdmin_setIncentivesController() (gas: 40389)
[PASS] test_reverts_burnAmountScaledZero() (gas: 19433)
[PASS] test_reverts_mintAmountScaledZero() (gas: 19577)
[PASS] test_transferFrom_zeroAddress_origin() (gas: 129334)
[PASS] test_transfer_amount_MAX_UINT_128() (gas: 16460)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 44.58ms (3.51ms CPU time)
2025-07-17T12:01:01.982838Z 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-rwa/ATokenEvents.Rwa.t.sol:ATokenEventsRwaTests
[PASS] test_atoken_burnEvents_fullBalance() (gas: 563072)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 650691)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 573674)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 2358721)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 576522)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 2371530)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 629294)
[PASS] test_mintToTreasury_events() (gas: 90151)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 56.49ms (12.54ms CPU time)
2025-07-17T12:01:02.038049Z 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: 563072)
[PASS] test_atoken_burnEvents_multipleWithdrawals_withInterests() (gas: 650691)
[PASS] test_atoken_burnEvents_singleWithdraw_WithInterests() (gas: 573674)
[PASS] test_atoken_burnEvents_singleWithdraw_noInterests() (gas: 254908)
[PASS] test_atoken_burnEvents_withdrawAmountLessThanInterests() (gas: 576522)
[PASS] test_atoken_mintEvents_firstSupply() (gas: 252188)
[PASS] test_atoken_mintEvents_supplyAfterBorrow() (gas: 629294)
[PASS] test_mintToTreasury_events() (gas: 90162)
Suite result: ok. 8 passed; 0 failed; 0 skipped; finished in 53.35ms (11.57ms CPU time)
2025-07-17T12:01:02.092148Z 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/protocol/tokenization-rwa/ATokenModifiers.Rwa.t.sol:ATokenModifiersRwaTests
[PASS] test_revert_notAdmin_burn() (gas: 17129)
[PASS] test_revert_notAdmin_mint() (gas: 17399)
[SKIP: Not applicable to RWAs] test_revert_notAdmin_transferOnLiquidation() (gas: 0)
[SKIP: Not applicable to RWAs] test_revert_notAdmin_transferUnderlyingTo() (gas: 0)
Suite result: ok. 2 passed; 0 failed; 2 skipped; finished in 42.73ms (231.70µs CPU time)
2025-07-17T12:01:02.134854Z 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/protocol/tokenization/ATokenModifiers.t.sol:ATokenModifiersTests
[PASS] test_revert_notAdmin_burn() (gas: 17084)
[PASS] test_revert_notAdmin_mint() (gas: 17178)
[PASS] test_revert_notAdmin_transferOnLiquidation() (gas: 17210)
[PASS] test_revert_notAdmin_transferUnderlyingTo() (gas: 17015)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 41.49ms (281.98µs CPU time)
2025-07-17T12:01:02.177170Z 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: 26163)
[PASS] test_cancelPermit() (gas: 100723)
[PASS] test_chain_fork_calculateDomainSeparator() (gas: 32906)
[PASS] test_revert_submitPermit_0_expiration() (gas: 46713)
[PASS] test_revert_submitPermit_invalid_expiration_previosCurrentBlock() (gas: 47192)
[PASS] test_revert_submitPermit_invalid_nonce() (gas: 55102)
[PASS] test_revert_submitPermit_invalid_owner() (gas: 46540)
[PASS] test_revert_submitPermit_invalid_signature() (gas: 54962)
[PASS] test_submitPermit() (gas: 94311)
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 45.55ms (4.66ms CPU time)
2025-07-17T12:01:02.223118Z 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-rwa/ATokenRepay.Rwa.t.sol:ATokenRepayRwaTests
[PASS] test_repay_allDebt() (gas: 275412)
[PASS] test_repay_partialDebt() (gas: 274535)
[PASS] test_revert_repay_withoutFunds() (gas: 180152)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 43.03ms (2.05ms CPU time)
2025-07-17T12:01:02.267515Z 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: 275412)
[PASS] test_repay_partialDebt() (gas: 274535)
[PASS] test_revert_repay_withoutFunds() (gas: 180152)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 41.72ms (2.04ms CPU time)
2025-07-17T12:01:02.309459Z 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-rwa/ATokenRescueTokens.Rwa.t.sol:ATokenRescueTokensRwaTests
[PASS] test_rescueTokens() (gas: 77921)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70834)
[PASS] test_reverts_rescueTokens_UNDERLYING_CANNOT_BE_RESCUED() (gas: 71573)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 42.91ms (650.22µs CPU time)
2025-07-17T12:01:02.352806Z 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: 77965)
[PASS] test_reverts_rescueTokens_CALLER_NOT_POOL_ADMIN() (gas: 70878)
[PASS] test_reverts_rescueTokens_UNDERLYING_CANNOT_BE_RESCUED() (gas: 71617)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 41.53ms (649.82µs CPU time)
2025-07-17T12:01:02.395179Z 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/tokenization/ATokenTransfers.t.sol:ATokenTransferTests
[PASS] test_atoken_alice_transfer_all_to_bob() (gas: 162086)
[PASS] test_atoken_alice_transfer_to_bob() (gas: 232071)
[PASS] test_atoken_alice_transfer_to_bob_zero() (gas: 160039)
[PASS] test_atoken_alice_transfer_to_carol_accrues_interests() (gas: 224488)
[PASS] test_atoken_alice_transfer_to_herself() (gas: 81567)
[PASS] test_atoken_alice_transfer_to_herself_zero() (gas: 81608)
[PASS] test_atoken_multiple_transfers() (gas: 201287)
[PASS] test_atoken_transfer_sets_enabled_as_collateral(uint64,uint256) (runs: 1000, μ: 391578, ~: 395469)
[PASS] test_atoken_transfer_some_collateral_from_bob_borrower_to_alice() (gas: 526503)
[PASS] test_atoken_transfer_to_bob_them_bob_borrows() (gas: 396745)
[PASS] test_reverts_atoken_transfer_all_collateral_from_bob_borrower_to_alice() (gas: 407119)
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.26s (1.22s CPU time)
2025-07-17T12:01:03.653655Z 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: 936825)
[PASS] testAssetZeroPriceAndZeroFallbackPrice() (gas: 1076118)
[PASS] testAssetZeroPriceNonZeroFallback() (gas: 1096069)
[PASS] testAssetZeroPriceWithoutFallback() (gas: 918563)
[PASS] testEmptySource() (gas: 821552)
[PASS] testGetBaseCurrencyPrice() (gas: 12315)
[PASS] testGetPriceViaFallbackOracle() (gas: 1000286)
[PASS] testUpdateFallbackOracle() (gas: 178617)
[PASS] testUpdateSingleSource() (gas: 126927)
[PASS] testUpdateSourceBaseCurrency() (gas: 138544)
[PASS] test_revert_setAssetSources_inconsistentParams() (gas: 822966)
[PASS] test_revert_setAssetSources_wrongCaller() (gas: 24620)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 44.51ms (2.77ms CPU time)
2025-07-17T12:01:03.699266Z 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-17T12:01:03.716055Z 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-17T12:01:03.748515Z 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-17T12:01:03.764986Z 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-17T12:01:03.804780Z 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: 56614449)
[PASS] testAaveV3BatchDeploymentCheck() (gas: 77040442)
[PASS] testAaveV3Batch_reuseIncentivesProxy() (gas: 56091263)
[PASS] testAaveV3L2BatchDeploymentCheck() (gas: 78868205)
[PASS] testAaveV3TreasuryPartnerBatchDeploymentCheck() (gas: 77547510)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 144.90ms (139.68ms CPU time)
Ran 12 tests for tests/deployments/AaveV3BatchTests.t.sol:AaveV3BatchTests
[PASS] test0AaveV3SetupDeployment() (gas: 4587362)
[PASS] test10StaticATokenDeployment() (gas: 6703331)
[PASS] test1AaveV3GettersDeployment() (gas: 7834796)
[PASS] test2AaveV3PoolDeployment() (gas: 8515008)
[PASS] test3AaveV3L2PoolDeployment() (gas: 8765684)
[PASS] test4PeripheralsRelease() (gas: 7109081)
[PASS] test5MiscDeployment() (gas: 929335)
[PASS] test6ParaswapRelease() (gas: 5156175)
[PASS] test7SetupMarket() (gas: 2690501)
[PASS] test8TokensMarket() (gas: 5984964)
[PASS] test9ConfigEngineDeployment() (gas: 6574908)
[PASS] testAaveV3FullBatchOrchestration() (gas: 56610758)
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 25.86ms (14.80ms CPU time)
2025-07-17T12:01:03.872240Z 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: 48587)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_bps_usage() (gas: 48706)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage() (gas: 91357)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage_and_50_percent_supply_usage_due_minted_tokens() (gas: 46912)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_80_percent_usage_and_80_bps_supply_usage_due_minted_tokens() (gas: 46934)
Logs:
Bound result 8000
Bound result 400
[PASS] test_calculate_rates_above_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 124303, ~: 124622)
[PASS] test_calculate_rates_below_op_usage((uint16,uint32,uint32,uint32),uint256,uint256,uint256) (runs: 1000, μ: 119273, ~: 121027)
[PASS] test_calculate_rates_below_op_usage_when_no_debt((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 75649, ~: 76058)
[PASS] test_calculate_rates_empty_reserve((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 44200, ~: 44123)
[PASS] test_calculate_rates_when_not_using_virtual_valance((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 68079, ~: 69107)
[PASS] test_calculate_rates_when_total_debt_0((uint16,uint32,uint32,uint32),uint256,uint256) (runs: 1000, μ: 68297, ~: 69327)
[PASS] test_fuzz_calculate_rates_80_percent_usage_added_and_virtual_equal(uint256) (runs: 1000, μ: 33320, ~: 32997)
[PASS] test_zero_rates_strategy_calculate_rates() (gas: 19289)
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 4.54s (4.50s CPU time)
2025-07-17T12:01:05.362538Z 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, μ: 52592, ~: 52483)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26283, ~: 26215)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29723, ~: 29829)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22536, ~: 22536)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 22584, ~: 22584)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27226, ~: 27140)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23886, ~: 23886)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.38s (2.31s CPU time)
2025-07-17T12:01:07.742432Z 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, μ: 51954, ~: 51882)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 25668, ~: 25598)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 29127, ~: 29220)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21927, ~: 21927)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 21975, ~: 21975)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26606, ~: 26531)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 23277, ~: 23277)
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 1.86s (1.78s CPU time)
2025-07-17T12:01:09.587916Z 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-rwa/Pool.Repay.Rwa.t.sol:PoolRepayRwaTests
[PASS] test_full_repay_borrow_variable_in_isolation() (gas: 579625)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 632062)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 620264)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 416055)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 606719, ~: 608300)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 573756, ~: 571795)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 578450, ~: 577287)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 529227, ~: 525247)
[PASS] test_repay_full_variable_borrow() (gas: 402685)
[PASS] test_revert_repay_full_stable_borrow() (gas: 354256)
[PASS] test_reverts_borrow_invalidAmount() (gas: 2182239)
[PASS] test_reverts_borrow_reserveInactive() (gas: 2239926)
[PASS] test_reverts_borrow_reservePaused() (gas: 2207177)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 328243)
[PASS] test_reverts_repay_no_debt() (gas: 2190810)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 10.83s (10.79s CPU time)
2025-07-17T12:01:11.348468Z 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, μ: 40412, ~: 40356)
[PASS] test_getInterestRateDataRay((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 41344, ~: 41282)
[PASS] test_getMaxVariableBorrowRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 38842, ~: 38790)
[PASS] test_initialization() (gas: 27078)
[PASS] test_new_DefaultReserveInterestRateStrategy_wrong_provider() (gas: 42406)
[PASS] test_new_SetReserveInterestRateParams((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 52539, ~: 52454)
[PASS] test_new_SetReserveInterestRateParams_override_method((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 49726, ~: 49659)
[PASS] test_new_SetReserveInterestRateParams_when_not_configurator((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 26322, ~: 26241)
[PASS] test_overflow_liquidity_rates() (gas: 59548)
[PASS] test_overflow_variable_rates() (gas: 546836)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_maxRate((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 34978, ~: 34978)
[PASS] test_reverts_SetReserveInterestRateParams_when_gt_max_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31521, ~: 31521)
[PASS] test_reverts_SetReserveInterestRateParams_when_lt_min_op((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 31597, ~: 31597)
[PASS] test_reverts_SetReserveInterestRateParams_when_reserve_0((uint16,uint32,uint32,uint32)) (runs: 1000, μ: 27959, ~: 27959)
[PASS] test_reverts_SetReserveInterestRateParams_when_slope1_gt_slope2(uint16,uint32,uint32,uint32) (runs: 1000, μ: 33710, ~: 33710)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 3.44s (3.40s CPU time)
Ran 15 tests for tests/extensions/RevenueSplitter.t.sol:RevenueSplitterTest
[PASS] test_constructor() (gas: 15312)
[PASS] test_constructor_fuzzing(uint16) (runs: 1000, μ: 455456, ~: 455456)
[PASS] test_constructor_revert_invalid_split_percentage() (gas: 174521)
[PASS] test_splitFund_oneToken() (gas: 410764)
[PASS] test_splitFund_reverts_randomAddress() (gas: 51331)
[PASS] test_splitFund_zeroAmount_noOp() (gas: 371636)
[PASS] test_splitFund_zeroFunds_noOp() (gas: 50896)
[PASS] test_splitFund_zeroTokens_noOp() (gas: 370555)
[PASS] test_splitFunds_fixed() (gas: 447716)
[PASS] test_splitFunds_fuzz_max(uint256,uint256) (runs: 1000, μ: 448318, ~: 449896)
[PASS] test_splitFunds_fuzz_realistic(uint256,uint256) (runs: 1000, μ: 447467, ~: 448359)
[PASS] test_splitNativeFund_fixedAmount() (gas: 100469)
[PASS] test_splitNativeFund_walletNotAcceptingFunds() (gas: 535352)
[PASS] test_splitNativeFund_zeroAmount_noOp() (gas: 29713)
[PASS] test_splitNativeFunds_fuzz_max(uint256) (runs: 1000, μ: 100304, ~: 101887)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.27s (4.27s CPU time)
2025-07-17T12:01:17.298984Z 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 19 tests for tests/rewards/RewardsController.t.sol:RewardsControllerTest
[PASS] test_accrueRewards() (gas: 930633)
[PASS] test_claimAllRewards() (gas: 886376)
[PASS] test_claimAllRewardsOnBehalf() (gas: 920081)
[PASS] test_claimAllRewardsToSelf() (gas: 886003)
[PASS] test_claimRewards() (gas: 883288)
[PASS] test_claimRewardsOnBehalf() (gas: 921807)
[PASS] test_claimRewardsToSelf() (gas: 882970)
[PASS] test_claimRewards_partial() (gas: 883625)
[PASS] test_claimRewards_zero() (gas: 636115)
[PASS] test_claimRewards_zero_with_rewards() (gas: 642727)
[PASS] test_configureAssets() (gas: 617301)
[PASS] test_initialize_no_op() (gas: 3625231)
[PASS] test_new_RewardsController() (gas: 3601581)
[PASS] test_reverts_initialize_twice() (gas: 3626810)
[PASS] test_setClaimer() (gas: 58252)
[PASS] test_setDistributionEnd() (gas: 633160)
[PASS] test_setEmissionPerSecond() (gas: 637169)
[PASS] test_setRewardOracle() (gas: 710918)
[PASS] test_setTransferStrategy_PullRewardsTransferStrategy() (gas: 913390)
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 64.96ms (19.87ms CPU time)
2025-07-17T12:01:17.364139Z 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/Rwa.Operations.gas.t.sol:RwaOperations_gas_Tests
[PASS] test_authorizedTransfer() (gas: 344176)
[PASS] test_supply() (gas: 602856)
[PASS] test_transferRwaAToken() (gas: 412632)
[PASS] test_withdraw() (gas: 522312)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 52.54ms (3.75ms CPU time)
2025-07-17T12:01:17.420989Z 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/misc/RwaATokenManager.t.sol:RwaATokenManagerTest
[PASS] test_authorizedATokenTransferRole() (gas: 8389)
[PASS] test_fuzz_getAuthorizedTransferRole(address) (runs: 1000, μ: 9808, ~: 9808)
[PASS] test_fuzz_grantAuthorizedTransferRole(uint256) (runs: 1000, μ: 56736, ~: 56800)
[PASS] test_fuzz_hasAuthorizedTransferRole_False(address,address) (runs: 1000, μ: 11581, ~: 11581)
[PASS] test_fuzz_hasAuthorizedTransferRole_true(uint256) (runs: 1000, μ: 60647, ~: 60720)
[PASS] test_fuzz_hasAuthorizedTransfer_False_Scenario() (gas: 71010)
Logs:
Bound result 0
Bound result 0
[PASS] test_fuzz_reverts_grantAuthorizedTransferRole_AccountIsMissingDefaultAdminRole(uint256,address) (runs: 1000, μ: 61943, ~: 62020)
[PASS] test_fuzz_reverts_revokeAuthorizedTransferRole_AccountIsMissingDefaultAdminRole(uint256,address) (runs: 1000, μ: 61934, ~: 61999)
[PASS] test_fuzz_reverts_transferRwaAToken_AuthorizedTransferFails(uint256,address,address,uint256) (runs: 1000, μ: 63454, ~: 63521)
[PASS] test_fuzz_reverts_transferRwaAToken_CallerNotATokenTransferAdmin(uint256,address,address,uint256) (runs: 1000, μ: 100987, ~: 102552)
[PASS] test_fuzz_reverts_transferRwaAToken_NotATokenTransferRole(uint256,address,address,address,uint256) (runs: 1000, μ: 60118, ~: 60184)
[PASS] test_fuzz_reverts_transferRwaAToken_NotEnoughBalance(uint256,address,address,uint256) (runs: 1000, μ: 145728, ~: 145586)
[PASS] test_fuzz_revokeAuthorizedTransferRole(uint256) (runs: 1000, μ: 49397, ~: 49429)
[PASS] test_fuzz_revokeAuthorizedTransferRole_NoEffect(uint256) (runs: 1000, μ: 32538, ~: 32606)
[PASS] test_fuzz_transferRwaAToken(uint256,address,address,uint256) (runs: 1000, μ: 426572, ~: 426428)
[PASS] test_getAuthorizedTransferRole() (gas: 11849)
[PASS] test_grantAuthorizedTransferRole_twice() (gas: 64559)
Logs:
Bound result 0
[PASS] test_reverts_grantAuthorizedTransferRole_AccountIsMissingDefaultAdminRole() (gas: 63275)
Logs:
Bound result 0
[PASS] test_reverts_revokeAuthorizedTransferRole_AccountIsMissingDefaultAdminRole() (gas: 63254)
Logs:
Bound result 0
[PASS] test_reverts_transferRwaAToken_NotATokenTransferRole() (gas: 101852)
Logs:
Bound result 0
Bound result 0
Suite result: ok. 20 passed; 0 failed; 0 skipped; finished in 3.90s (3.85s CPU time)
2025-07-17T12:01:21.324159Z 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/protocol/tokenization/ScaledBalanceTokenBase.t.sol:ScaledBalanceTokenBaseEdgeTests
[PASS] test_scaled_balance_token_base_alice_transfer_to_bob_accrues_interests() (gas: 98768)
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 49.75ms (310.33µs CPU time)
Ran 5 tests for tests/extensions/price-adaptors/ScaledPriceAdapter.t.sol:ScaledPriceAdapterTests
[PASS] test_adapter_equal_to_base() (gas: 406261)
Logs:
Bound result 8
Bound result 100000000
[PASS] test_adapter_greater_than_base() (gas: 406711)
Logs:
Bound result 12
Bound result 1000000000000
[PASS] test_adapter_invalid_source_feed() (gas: 40546)
[PASS] test_adapter_less_than_base() (gas: 808119)
Logs:
Bound result 2
Bound result 100
Bound result 6
Bound result 32323000
[PASS] test_fuzz_adapter(uint256,int256) (runs: 1000, μ: 407574, ~: 407550)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 210.18ms (205.82ms CPU time)
2025-07-17T12:01:21.575844Z 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: 576922)
[PASS] test_partial_repay_borrow_variable_in_isolation() (gas: 629359)
[PASS] test_repayWithATokens_full_collateral_variable_borrow() (gas: 617517)
[PASS] test_repayWithATokens_full_variable_borrow() (gas: 416055)
[PASS] test_repayWithATokens_fuzz_collateral_variable_borrow(uint256,uint32) (runs: 1000, μ: 604375, ~: 605553)
[PASS] test_repayWithPermit(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 572238, ~: 571795)
[PASS] test_repayWithPermit_not_failing_if_permit_was_used(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 579495, ~: 577287)
[PASS] test_repayWithPermit_should_revert_if_permit_is_less_then_repay_amount(uint128,uint128,uint128,uint128,uint128) (runs: 1000, μ: 529146, ~: 525247)
[PASS] test_repay_full_variable_borrow() (gas: 402685)
[PASS] test_revert_repay_full_stable_borrow() (gas: 354256)
[PASS] test_reverts_borrow_invalidAmount() (gas: 51504)
[PASS] test_reverts_borrow_reserveInactive() (gas: 129691)
[PASS] test_reverts_borrow_reservePaused() (gas: 92442)
[PASS] test_reverts_no_explicit_repay_on_behalf() (gas: 328243)
[PASS] test_reverts_repay_no_debt() (gas: 52075)
Suite result: ok. 15 passed; 0 failed; 0 skipped; finished in 10.25s (10.18s CPU time)
2025-07-17T12:01:21.594111Z 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: 18982)
[PASS] test_emergencyTransfer() (gas: 211683)
[PASS] test_getters() (gas: 18731)
[PASS] test_performTransfer() (gas: 22028)
[PASS] test_renewApproval() (gas: 23102)
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 46.24ms (1.20ms CPU time)
2025-07-17T12:01:21.622502Z 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/StataToken.gas.t.sol:StataToken_gas_Tests
[PASS] test_claimRewards() (gas: 2750334)
[PASS] test_deposit() (gas: 719555)
[PASS] test_depositATokens() (gas: 904991)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 59.94ms (9.81ms CPU time)
2025-07-17T12:01:21.685452Z 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/extensions/stata-token/StataTokenV2Getters.sol:StataTokenV2GettersTest
[PASS] test_getters() (gas: 72051)
[PASS] test_initializeShouldRevert() (gas: 21696)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 51.09ms (327.33µs CPU time)
2025-07-17T12:01:21.734524Z 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/extensions/stata-token/StataTokenV2Pausable.t.sol:StataTokenV2PausableTest
[PASS] test_canPause() (gas: 26898)
[PASS] test_canPause_shouldReturnFalse(address) (runs: 1000, μ: 27394, ~: 27394)
[PASS] test_claimingRewards_shouldRevert() (gas: 546919)
[PASS] test_deposit_shouldRevert() (gas: 469848)
[PASS] test_mint_shouldRevert() (gas: 473924)
[PASS] test_redeem_shouldRevert() (gas: 566652)
[PASS] test_setPaused_shouldRevertForInvalidCaller(address) (runs: 1000, μ: 30455, ~: 30455)
[PASS] test_setPaused_shouldSucceedForOwner() (gas: 53972)
[PASS] test_transfer_shouldRevert() (gas: 544828)
[PASS] test_withdraw_shouldRevert() (gas: 562504)
Suite result: ok. 10 passed; 0 failed; 0 skipped; finished in 222.26ms (180.33ms CPU time)
2025-07-17T12:01:21.956826Z 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: 89457)
[PASS] test_permit_expired() (gas: 37491)
[PASS] test_permit_invalidSigner() (gas: 66080)
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 47.08ms (1.33ms CPU time)
2025-07-17T12:01:22.004681Z 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 37 tests for tests/protocol/pool-rwa/Pool.Rwa.t.sol:PoolRwaTests
[PASS] test_dropReserve() (gas: 99058)
[PASS] test_getBorrowLogic() (gas: 13619)
[PASS] test_getBridgeLogic() (gas: 13617)
[PASS] test_getEModeLogic() (gas: 13618)
[PASS] test_getFlashLoanLogic() (gas: 13598)
[PASS] test_getLiquidationLogic() (gas: 13687)
[PASS] test_getPoolLogic() (gas: 13683)
[PASS] test_getSupplyLogic() (gas: 13682)
[PASS] test_getVirtualUnderlyingBalance() (gas: 244743)
[PASS] test_getters_getUserAccountData() (gas: 603228)
[PASS] test_mintToTreasury() (gas: 696895)
[PASS] test_mintToTreasury_skip_invalid_addresses() (gas: 701520)
[PASS] test_noop_setUserUseReserveAsCollateral_true_when_already_is_activated() (gas: 290768)
[PASS] test_pool_defaultValues() (gas: 4368459)
[PASS] test_rescueTokens(uint256) (runs: 1000, μ: 81873, ~: 82155)
[PASS] test_resetIsolationModeTotalDebt() (gas: 725164)
[PASS] test_reverts_initReserve_not_poolConfigurator(address) (runs: 1000, μ: 25430, ~: 25430)
[PASS] test_reverts_modifiers_not_poolConfigurator(address) (runs: 1000, μ: 127079, ~: 127079)
[PASS] test_reverts_new_Pool_invalidAddressesProvider() (gas: 4380474)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_AssetNotListed(address,address) (runs: 1000, μ: 54183, ~: 54183)
[PASS] test_reverts_setReserveInterestRateStrategyAddress_ZeroAssetAddress(address) (runs: 1000, μ: 22732, ~: 22732)
[PASS] test_reverts_setUserEmode_0_bad_hf() (gas: 974029)
[PASS] test_reverts_setUserUseReserveAsCollateral_false_hf_lower_lqt() (gas: 605142)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_ltv_zero() (gas: 296779)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_inactive() (gas: 212145)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_reserve_paused() (gas: 291639)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_balance_zero() (gas: 71802)
[PASS] test_reverts_setUserUseReserveAsCollateral_true_user_isolation_mode() (gas: 782467)
[PASS] test_setLiquidationGracePeriod(uint40) (runs: 1000, μ: 34764, ~: 34834)
[PASS] test_setLiquidationGracePeriod_assetNotListed(uint40) (runs: 1000, μ: 27115, ~: 27115)
[PASS] test_setReserveInterestRateStrategyAddress() (gas: 899626)
[PASS] test_setUserEmode() (gas: 227533)
[PASS] test_setUserEmode_twice() (gas: 358044)
[PASS] test_setUserEmode_twice_inconsistent_category() (gas: 972101)
[PASS] test_setUserUseReserveAsCollateral_false() (gas: 240328)
[PASS] test_setUserUseReserveAsCollateral_true() (gas: 277847)
[PASS] test_updateBridgeProtocolFee() (gas: 253)
Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 1.17s (1.12s CPU time)
2025-07-17T12:01:22.763444Z 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/gas/Pool.Setters.gas.t.sol:PoolSetters_gas_Tests
[PASS] test_setUserEMode() (gas: 1762143)
[PASS] test_setUserUseReserveAsCollateral() (gas: 650249)
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 53.16ms (6.41ms CPU time)
2025-07-17T12:01:22.816226Z 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/extensions/stata-token/ERC20AaveLMUpgradable.t.sol:ERC20AaveLMUpgradableTest
[PASS] test_7201() (gas: 3358)
[PASS] test_claimRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 836157, ~: 796331)
[PASS] test_claimRewardsOnBehalfOf_self(uint256,uint32,uint88,uint32) (runs: 1000, μ: 835413, ~: 796546)
[PASS] test_claimRewardsOnBehalfOf_shouldRevertForInvalidClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 770759, ~: 772556)
[PASS] test_claimRewardsOnBehalfOf_validClaimer(uint256,uint32,uint88,uint32) (runs: 1000, μ: 866446, ~: 828943)
[PASS] test_claimRewardsToSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 833639, ~: 796244)
[PASS] test_claimableRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 771732, ~: 773480)
[PASS] test_collectAndUpdateRewards(uint256,uint32,uint88,uint32) (runs: 1000, μ: 813885, ~: 792599)
[PASS] test_correctAccountingForDelayedRegistration() (gas: 822120)
[PASS] test_getReferenceAsset() (gas: 12908)
[PASS] test_isRegisteredRewardToken() (gas: 632952)
[PASS] test_noRewardsInitialized() (gas: 39241)
[PASS] test_noopWhenNotInitialized() (gas: 52824)
[PASS] test_rewardTokens() (gas: 631057)
[PASS] test_transfer(uint256,uint32,uint88,uint32,address,uint256) (runs: 1000, μ: 847597, ~: 863123)
[PASS] test_transfer_toSelf(uint256,uint32,uint88,uint32) (runs: 1000, μ: 803748, ~: 797175)
[PASS] test_zeroIncentivesController() (gas: 37692)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.10s (22.06s CPU time)
2025-07-17T12:01:23.176890Z 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, μ: 762542, ~: 762547)
[PASS] test_rescuable_shouldRevertForInvalidCaller() (gas: 189989)
[PASS] test_rescuable_shouldTransferAssetsToCollector() (gas: 216931)
[PASS] test_rescuable_shouldWorkForAToken() (gas: 441884)
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 2.97s (2.91s CPU time)
2025-07-17T12:01:24.981522Z 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/extensions/v3-config-engine/AaveV3ConfigEngineTest.t.sol:AaveV3ConfigEngineTest
[PASS] testAssetEModeUpdates() (gas: 6585338)
[PASS] testBorrowUpdatesNoChange() (gas: 5608300)
[PASS] testBorrowsUpdates() (gas: 5675487)
[PASS] testCapsUpdate() (gas: 5617730)
[PASS] testCollateralUpdateCorrectBonus() (gas: 5632902)
[PASS] testCollateralUpdateWrongBonus() (gas: 732663)
[PASS] testCollateralsUpdates() (gas: 5632391)
[PASS] testCollateralsUpdatesNoChange() (gas: 5606275)
[PASS] testCollateralsUpdatesNoChangeShouldNotEmit() (gas: 738297)
[PASS] testEModeCategoryUpdates() (gas: 5712936)
[PASS] testEModeCategoryUpdatesNoChange() (gas: 5604778)
[PASS] testEModeCategoryUpdatesNoChangeShouldNotEmit() (gas: 717805)
[PASS] testEModeCategoryUpdatesWrongBonus() (gas: 720961)
[PASS] testListings() (gas: 8938036)
[PASS] testListingsCustom() (gas: 12661271)
[PASS] testPriceFeedsUpdates() (gas: 5689362)
[PASS] testRateStrategiesUpdates() (gas: 5687804)
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 22.87s (22.83s CPU time)
2025-07-17T12:01:26.743837Z 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 ...*[Comment body truncated]* |
🔮 Coverage report
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
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.
Verification Results
- Group ID: c6340447-e004-436a-9eaa-2158b78b4d5c
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| VariableDebtToken.conf | ✅ | 15 | Link |
| UserConfiguration.conf | ✅ | 13 | Link |
| stableRemoved.conf | ✅ | 2 | Link |
| RwaAToken.conf | ✅ | 13 | Link |
| ReserveConfiguration.conf | ✅ | 19 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnReserveDisabledForBorrowing | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnFrozenReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawFromInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInFrozenReserve | ✅ | 1 | Link |
| NEW-pool-no-summarizations.conf | ✅ | 3 | Link |
| EModeConfiguration.conf | ✅ | 5 | Link |
| AToken.conf | ✅ | 13 | Link |
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.
Verification Results
- Group ID: 86be1c3d-b754-4f62-913c-1ad501123d5f
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| verifyStataToken.conf --rule totalClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule totalAssets_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_total_asset_geq_total_supply | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_positive_total_supply_only_if_positive_asset | ✅ | 2 | Link |
| verifyStataToken.conf --rule singleAssetAccruedRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsTotalDeclinesOnlyByClaim | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenSufficientRewardsExist | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenInsufficientRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_refreshRewardTokens | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_deposit | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewardsBefore_leq_claimed_claimRewardsOnBehalf | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemSum | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemATokensSum | ✅ | 2 | Link |
| verifyERC4626DepositSummarization.conf --rule depositCheckIndexGRayAssert1 depositATokensCheckIndexGRayAssert1 depositWithPermitCheckIndexGRayAssert1 depositCheckIndexERayAssert1 depositATokensCheckIndexERayAssert1 depositWithPermitCheckIndexERayAssert1 | ✅ | 7 | Link |
| verifyERC4626.conf --rule maxMintMustntRevert maxDepositMustntRevert maxRedeemMustntRevert maxWithdrawMustntRevert totalAssetsMustntRevert | ✅ | 6 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_sufficient | ✅ | 2 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_insufficient | ✅ | 2 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_collectAndUpdateRewards aTokenBalanceIsFixed_for_claimRewards aTokenBalanceIsFixed_for_claimRewardsOnBehalf | ✅ | 4 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_claimSingleRewardOnBehalf aTokenBalanceIsFixed_for_claimRewardsToSelf | ✅ | 3 | Link |
| tWithPermitCheckIndexGRayAssert2 depositCheckIndexERayAssert2 depositATokensCheckIndexERayAssert2 depositWithPermitCheckIndexERayAssert2 mintCheckIndexGRayUpperBound mintCheckIndexGRayLowerBound mintCheckIndexEqualsRay | ✅ | 10 | Link |
| ToAssetsCheck convertToSharesCheck toAssetsDoesNotRevert sharesConversionRoundedDown toSharesDoesNotRevert previewDepositAmountCheck maxRedeemCompliance maxWithdrawConversionCompliance previewMintIndependentOfAllowance | ✅ | 23 | Link |
| ingRange previewRedeemRoundingRange amountConversionPreserved sharesConversionPreserved accountsJoiningSplittingIsLimited convertSumOfAssetsPreserved previewDepositSameAsDeposit previewMintSameAsMint maxDepositConstant | ✅ | 10 | Link |
|
|
||
| function test_fuzz_adapter(uint256 sourceDecimals, int256 price) public { | ||
| sourceDecimals = bound(sourceDecimals, 1, 36); | ||
| price = bound(price, 1, int256(10 ** sourceDecimals)); |
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.
this is wrong no? because price will only go up to 1 USD then?
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.
ah yeah, good call; was originally written differently & got overlooked. the min is incorrect as well, the adaptor should forward 0 price as well
thinking of setting 1e10 source feed units
price = bound(price, 0, int256(10 ** (10 + sourceDecimals)));
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
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.
Verification Results
- Group ID: 48012ea3-2c0a-4fac-af01-07333e41c0cb
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| VariableDebtToken.conf | ✅ | 15 | Link |
| UserConfiguration.conf | ✅ | 13 | Link |
| stableRemoved.conf | ✅ | 2 | Link |
| RwaAToken.conf | ✅ | 13 | Link |
| ReserveConfiguration.conf | ✅ | 19 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnReserveDisabledForBorrowing | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule_sanity none --rule cannotBorrowOnFrozenReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotWithdrawFromInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositZeroAmount | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInInactiveReserve | ✅ | 1 | Link |
| NEW-pool-simple-properties.conf --rule cannotDepositInFrozenReserve | ✅ | 1 | Link |
| NEW-pool-no-summarizations.conf | ✅ | 3 | Link |
| EModeConfiguration.conf | ✅ | 5 | Link |
| AToken.conf | ✅ | 13 | Link |
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.
Verification Results
- Group ID: 46f5fad1-9e21-4037-8bc4-a6eeb97d6511
| Job | Result | VERIFIED | Link |
|---|---|---|---|
| verifyStataToken.conf --rule totalClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule totalAssets_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_total_asset_geq_total_supply | ✅ | 2 | Link |
| verifyStataToken.conf --rule solvency_positive_total_supply_only_if_positive_asset | ✅ | 2 | Link |
| verifyStataToken.conf --rule singleAssetAccruedRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsTotalDeclinesOnlyByClaim | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenSufficientRewardsExist | ✅ | 2 | Link |
| verifyStataToken.conf --rule rewardsConsistencyWhenInsufficientRewards | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_refreshRewardTokens | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewards_stable_after_deposit | ✅ | 2 | Link |
| verifyStataToken.conf --rule getClaimableRewardsBefore_leq_claimed_claimRewardsOnBehalf | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemSum | ✅ | 2 | Link |
| verifyERC4626Extended.conf --rule redeemATokensSum | ✅ | 2 | Link |
| verifyERC4626DepositSummarization.conf --rule depositCheckIndexGRayAssert1 depositATokensCheckIndexGRayAssert1 depositWithPermitCheckIndexGRayAssert1 depositCheckIndexERayAssert1 depositATokensCheckIndexERayAssert1 depositWithPermitCheckIndexERayAssert1 | ✅ | 7 | Link |
| verifyERC4626.conf --rule maxMintMustntRevert maxDepositMustntRevert maxRedeemMustntRevert maxWithdrawMustntRevert totalAssetsMustntRevert | ✅ | 6 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_sufficient | ✅ | 2 | Link |
| verifyDoubleClaim.conf --rule prevent_duplicate_reward_claiming_single_reward_insufficient | ✅ | 2 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_collectAndUpdateRewards aTokenBalanceIsFixed_for_claimRewards aTokenBalanceIsFixed_for_claimRewardsOnBehalf | ✅ | 4 | Link |
| verifyAToken.conf --rule aTokenBalanceIsFixed_for_claimSingleRewardOnBehalf aTokenBalanceIsFixed_for_claimRewardsToSelf | ✅ | 3 | Link |
| tWithPermitCheckIndexGRayAssert2 depositCheckIndexERayAssert2 depositATokensCheckIndexERayAssert2 depositWithPermitCheckIndexERayAssert2 mintCheckIndexGRayUpperBound mintCheckIndexGRayLowerBound mintCheckIndexEqualsRay | ✅ | 10 | Link |
| ToAssetsCheck convertToSharesCheck toAssetsDoesNotRevert sharesConversionRoundedDown toSharesDoesNotRevert previewDepositAmountCheck maxRedeemCompliance maxWithdrawConversionCompliance previewMintIndependentOfAllowance | ✅ | 23 | Link |
| ingRange previewRedeemRoundingRange amountConversionPreserved sharesConversionPreserved accountsJoiningSplittingIsLimited convertSumOfAssetsPreserved previewDepositSameAsDeposit previewMintSameAsMint maxDepositConstant | ✅ | 10 | Link |
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Certora Run Started (Certora Prover Run)
Certora Run Summary
|
Price Adapter for Chainlink price feeds to scale price to standard USD unit of 8 decimals.
For CI: waiting on foundry-rs/foundry#11021 fix to be released on nightly.