Skip to content

Conversation

@miguelmtzinf
Copy link
Collaborator

@miguelmtzinf miguelmtzinf commented Aug 27, 2025

This update enables GSM support for remote chain deployments. Since GHO is only minted on Ethereum, the DAO must pre-mint liquidity and bridge it to destination chains for later use.

To support this flow, the following contracts are introduced:

  • GhoReserve: Holds pre-minted GHO on the destination chain, allowing authorized entities to use liquidity up to a defined limit.
  • OwnableFacilitator: A minimal facilitator contract with minting/burning functions, controlled by a single entity.

Modifications were made to Gsm and Gsm4626 to decouple from GhoToken direct mint/burn logic. Instead, they now interact with GhoReserve, enabling a unified and maintainable architecture for both Ethereum and remote chains.

These new contracts are reusable for other facilitator strategies, regardless of the network.

Contributors:

  • TokenLogic: development
  • Aave Labs: design, support and review
  • Certora: security review

* feat: initial commit

* feat: finish tests

* fix: safecast overflow

* feat: overflow tests

* feat: add entity checks and delete usage

* fix: update test

* feat: add limit check on remove entity

* chore: remove unnecesarry check

* chore: remove deletion

* feat: add audit

* chore: run lint

* for PR

* chore: lint certora

* chore: run ci without if

* chore: add all certora ci

* chore: explicit certora key

---------

Co-authored-by: nisnislevi <[email protected]>
@github-actions
Copy link

Download Logs

@github-actions
Copy link

Download Logs

@github-actions
Copy link

Download Logs

@github-actions
Copy link

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: 5740019b-5e49-4e94-b15a-5c18e82752e6
Config Status Link Log File
verifyFlashMinter.conf --rule balanceOfFlashMinterGrows integrityOfTreasurySet integrityOfFeeSet availableLiquidityDoesntChange integrityOfDistributeFeesToTreasury feeSimulationEqualsActualFee Submitted link certora/gho/conf/verifyFlashMinter.conf-07b9c7f6e77c.log
verifyGhoAToken.conf --rule noMint noBurn noTransfer transferUnderlyingToCantExceedCapacity totalSupplyAlwaysZero userBalanceAlwaysZero level_does_not_decrease_after_transferUnderlyingTo_followed_by_handleRepayment Submitted link certora/gho/conf/verifyGhoAToken.conf-e953bf5be3ff.log
verifyGhoDiscountRateStrategy.conf --rule equivalenceOfWadMulCVLAndWadMulSol maxDiscountForHighDiscountTokenBalance zeroDiscountForSmallDiscountTokenBalance partialDiscountForIntermediateTokenBalance limitOnDiscountRate Submitted link certora/gho/conf/verifyGhoDiscountRateStrategy.conf-dff4d783cc7a.log
verifyGhoToken.conf Submitted link certora/gho/conf/verifyGhoToken.conf-a473969de5f4.log
verifyGhoVariableDebtToken-rayMulDiv-summarization.conf Submitted link certora/gho/conf/verifyGhoVariableDebtToken-rayMulDiv-summarization.conf-77b6a67f4718.log
verifyGhoVariableDebtToken.conf --rule accumulated_interest_increase_after_mint Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-67566bb93956.log
verifyGhoVariableDebtToken.conf --rule disallowedFunctionalities nonMintFunctionCantIncreaseBalance nonMintFunctionCantIncreaseScaledBalance debtTokenIsNotTransferable onlyCertainFunctionsCanModifyScaledBalance userAccumulatedDebtInterestWontDecrease integrityOfMint_updateDiscountRate integrityOfMint_updateIndex integrityOfMint_updateScaledBalance_fixedIndex integrityOfMint_userIsolation integrityMint_atoken integrityOfBurn_updateDiscountRate integrityOfBurn_updateIndex burnZeroDoesntChangeBalance integrityOfBurn_fullRepay_concrete integrityOfBurn_userIsolation integrityOfUpdateDiscountDistribution_updateIndex integrityOfUpdateDiscountDistribution_userIsolation integrityOfRebalanceUserDiscountPercent_updateDiscountRate integrityOfRebalanceUserDiscountPercent_updateIndex integrityOfRebalanceUserDiscountPercent_userIsolation integrityOfBalanceOf_fullDiscount integrityOfBalanceOf_noDiscount integrityOfBalanceOf_zeroScaledBalance burnAllDebtReturnsZeroDebt integrityOfUpdateDiscountRateStrategy user_index_up_to_date Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-40b7028b3ca9.log
verifyGhoVariableDebtToken.conf --rule discountCantExceed100Percent Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-7803686cc9e6.log
verifyGhoVariableDebtToken.conf --rule discountCantExceedDiscountRate Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-e40001096386.log
verifyGhoVariableDebtToken.conf --rule onlyMintForUserCanIncreaseUsersBalance Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-8f805b5ea6d9.log
verifyGhoVariableDebtToken.conf --rule userCantNullifyItsDebt Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-29821beac000.log
verifyGhoVariableDebtToken.conf --rule user_index_after_mint user_index_ge_one_ray nonzeroNewDiscountToken Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-0f0edf8da391.log
verifyGhoVariableDebtTokenInternal.conf Submitted link certora/gho/conf/verifyGhoVariableDebtTokenInternal.conf-6e1cbc62b802.log
verifyGhoVariableDebtToken_specialBranch.conf --rule sendersDiscountPercentCannotIncrease Submitted link certora/gho/conf/verifyGhoVariableDebtToken_specialBranch.conf-6928cc57259b.log
verifyGhoVariableDebtToken_summarized.conf --rule accrueAlwaysCalleldBeforeRefresh Submitted link certora/gho/conf/verifyGhoVariableDebtToken_summarized.conf-f38f6a0c3cd0.log
verifyUpgradeableGhoToken.conf Submitted link certora/gho/conf/verifyUpgradeableGhoToken.conf-fa279982c644.log

Certora Run Summary

  • Started 16 jobs
  • 0 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: 77aec904-159c-4087-a0aa-54d1e4507f45
Config Status Link Log File
GhoAaveSteward.conf Submitted link certora/steward/conf/GhoAaveSteward.conf-52e3e8c4b709.log
GhoBucketSteward.conf Submitted link certora/steward/conf/GhoBucketSteward.conf-a1b03fdccb04.log
GhoCcipSteward.conf Submitted link certora/steward/conf/GhoCcipSteward.conf-492030949089.log
GhoGsmSteward.conf Submitted link certora/steward/conf/GhoGsmSteward.conf-c59ae92c9f10.log

Certora Run Summary

  • Started 4 jobs
  • 0 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: f38b11d4-a6c6-419b-9f58-4d7939e43648
Config Status Link Log File
FixedFeeStrategy.conf Submitted link certora/gsm/conf/gsm/FixedFeeStrategy.conf-f4511e81d440.log
OracleSwapFreezer.conf Submitted link certora/gsm/conf/gsm/OracleSwapFreezer.conf-2f0b341b5462.log
balances-buy.conf Submitted link certora/gsm/conf/gsm/balances-buy.conf-862982087054.log
balances-sell.conf --exclude_rule R3_sellAssetUpdatesAssetBalanceCorrectly R4_buyGhoUpdatesGhoBalanceCorrectly Submitted link certora/gsm/conf/gsm/balances-sell.conf-c8d139623add.log
fees-buy.conf Submitted link certora/gsm/conf/gsm/fees-buy.conf-36001bcd18ef.log
fees-sell.conf --exclude_rule R3_estimatedSellFeeCanBeHigherThanActualSellFee Submitted link certora/gsm/conf/gsm/fees-sell.conf-064693a09a7a.log
fees-sell.conf --rule R3_estimatedSellFeeCanBeHigherThanActualSellFee Submitted link certora/gsm/conf/gsm/fees-sell.conf-7170628cbc12.log
finishedRules.conf --rule whoCanChangeExposure whoCanChangeAccruedFees sellingDoesntExceedExposureCap cantBuyOrSellWhenSeized giftingGhoDoesntAffectStorageSIMPLE giftingUnderlyingDoesntAffectStorageSIMPLE collectedBuyFeePlus1IsAtLeastAsRequired sellAssetSameAsGetGhoAmountForSellAsset collectedSellFeeIsAtLeastAsRequired collectedBuyFeeIsAtLeastAsRequired correctnessOfBuyAsset collectedBuyFeePlus2IsAtLeastAsRequired getAssetAmountForSellAsset_correctness cantBuyOrSellWhenFrozen whoCanChangeExposureCap cantSellIfExposureTooHigh sellAssetIncreasesExposure buyAssetDecreasesExposure rescuingGhoKeepsAccruedFees rescuingAssetKeepsAccruedFees Submitted link certora/gsm/conf/gsm/finishedRules.conf-c4eda28a4f4b.log
getAmount_properties.conf --rule getAssetAmountForBuyAsset_funcProperty_LR getAssetAmountForBuyAsset_funcProperty_RL Submitted link certora/gsm/conf/gsm/getAmount_properties.conf-bf938a187df1.log
gho-assetToGhoInvertibility.conf --rule basicProperty2_getAssetAmountForBuyAsset Submitted link certora/gsm/conf/gsm/gho-assetToGhoInvertibility.conf-c3ac80d0ddbd.log
gho-assetToGhoInvertibility.conf --rule basicProperty_getAssetAmountForBuyAsset sellAssetInverse_all buyAssetInverse_all basicProperty_getGhoAmountForSellAsset basicProperty_getAssetAmountForSellAsset basicProperty_getGhoAmountForBuyAsset Submitted link certora/gsm/conf/gsm/gho-assetToGhoInvertibility.conf-2f00a3e92712.log
gho-fixedPriceStrategy.conf Submitted link certora/gsm/conf/gsm/gho-fixedPriceStrategy.conf-eed7db429920.log
gho-gsm-1.conf Submitted link certora/gsm/conf/gsm/gho-gsm-1.conf-94c4b28ba10e.log
gho-gsm-2.conf Submitted link certora/gsm/conf/gsm/gho-gsm-2.conf-a4ad6f938825.log
gho-gsm-inverse.conf Submitted link certora/gsm/conf/gsm/gho-gsm-inverse.conf-28cbb86e4a0e.log
optimality.conf --rule R3_optimalityOfSellAsset_v1 R1_optimalityOfBuyAsset_v1 R6a_externalOptimalityOfBuyAsset R5a_externalOptimalityOfSellAsset R2_optimalityOfBuyAsset_v2 Submitted link certora/gsm/conf/gsm/optimality.conf-d1cfe9589032.log

Certora Run Summary

  • Started 16 jobs
  • 0 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: c168b9f0-102e-49d8-baed-12ee58e807e2
Config Status Link Log File
balances-buy-4626.conf Submitted link certora/gsm/conf/gsm4626/balances-buy-4626.conf-9dcd5fe01254.log
balances-sell-4626.conf --rule R1_getAssetAmountForSellAsset_arg_vs_return R1a_buyGhoUpdatesGhoBalanceCorrectly1 R2_getAssetAmountForSellAsset_sellAsset_eq Submitted link certora/gsm/conf/gsm4626/balances-sell-4626.conf-49cf2c0d9237.log
balances-sell-4626.conf --rule R3a_sellAssetUpdatesAssetBalanceCorrectly Submitted link certora/gsm/conf/gsm4626/balances-sell-4626.conf-ed91d9c336bb.log
balances-sell-4626.conf --rule R4_buyGhoUpdatesGhoBalanceCorrectly R4a_buyGhoAmountGtGhoBalanceChange Submitted link certora/gsm/conf/gsm4626/balances-sell-4626.conf-6c10dadb9670.log
fees-buy-4626.conf Submitted link certora/gsm/conf/gsm4626/fees-buy-4626.conf-b44c81cd740b.log
fees-sell-4626.conf --rule R3a_estimatedSellFeeCanBeLowerThanActualSellFee R2_getAssetAmountForSellAssetVsActualSellFee R4a_getSellFeeVsgetAssetAmountForSellAsset R4_getSellFeeVsgetAssetAmountForSellAsset R1a_getAssetAmountForSellAssetFeeNeGetSellFee R2a_getAssetAmountForSellAssetNeActualSellFee R4b_getSellFeeVsgetAssetAmountForSellAsset R1_getAssetAmountForSellAssetFeeGeGetSellFee R3b_estimatedSellFeeEqActualSellFee Submitted link certora/gsm/conf/gsm4626/fees-sell-4626.conf-afa3459221b5.log
finishedRules-4626.conf --rule cantBuyOrSellWhenSeized cantBuyOrSellWhenFrozen sellAssetIncreasesExposure buyAssetDecreasesExposure rescuingAssetKeepsAccruedFees rescuingGhoKeepsAccruedFees giftingGhoDoesntAffectStorageSIMPLE correctnessOfBuyAsset giftingUnderlyingDoesntAffectStorageSIMPLE sellAssetSameAsGetGhoAmountForSellAsset correctnessOfSellAsset giftingGhoDoesntCreateExcessOrDearth backWithGhoDoesntCreateExcess getAssetAmountForSellAsset_correctness collectedSellFeeIsAtLeastAsRequired collectedBuyFeePlus2IsAtLeastAsRequired collectedBuyFeePlus1IsAtLeastAsRequired collectedBuyFeeIsAtLeastAsRequired sellingDoesntExceedExposureCap whoCanChangeAccruedFees whoCanChangeExposure Submitted link certora/gsm/conf/gsm4626/finishedRules-4626.conf-9e26ac914ed6.log
finishedRules-4626.conf --rule giftingUnderlyingDoesntCreateExcessOrDearth Submitted link certora/gsm/conf/gsm4626/finishedRules-4626.conf-6e97f794e8fa.log
getAmount-properties-4626.conf --rule getAssetAmountForBuyAsset_correctness_bound1 getAssetAmountForBuyAsset_correctness_bound2 getGhoAmountForBuyAsset_correctness_bound1 getAssetAmountForSellAsset_correctness getAssetAmountForBuyAsset_optimality getAssetAmountForBuyAsset_correctness Submitted link certora/gsm/conf/gsm4626/getAmount-properties-4626.conf-d82f78bafa36.log
getAmount-properties-4626.conf --rule getAssetAmountForSellAsset_optimality getAssetAmountForBuyAsset_funcProperty Submitted link certora/gsm/conf/gsm4626/getAmount-properties-4626.conf-54237338b525.log
getAmount-properties-4626.conf --rule getGhoAmountForBuyAsset_correctness Submitted link certora/gsm/conf/gsm4626/getAmount-properties-4626.conf-6d973eb9e742.log
getAmount-properties-4626.conf --rule getGhoAmountForBuyAsset_optimality Submitted link certora/gsm/conf/gsm4626/getAmount-properties-4626.conf-f2554985e250.log
gho-gsm4626-1.conf Submitted link certora/gsm/conf/gsm4626/gho-gsm4626-1.conf-be7be17088f9.log
gho-gsm4626-2.conf --rule accruedFeesLEGhoBalanceOfThis Submitted link certora/gsm/conf/gsm4626/gho-gsm4626-2.conf-bee501b9aabd.log
gho-gsm4626-2.conf --rule accruedFeesNeverDecrease Submitted link certora/gsm/conf/gsm4626/gho-gsm4626-2.conf-fe83aa12e7e4.log
gho-gsm4626-inverse.conf --rule buySellInverse27 buySellInverse26 buySellInverse25 buySellInverse24 buySellInverse23 buySellInverse22 buySellInverse21 buySellInverse20 buySellInverse19 Submitted link certora/gsm/conf/gsm4626/gho-gsm4626-inverse.conf-8167f07693ee.log
optimality4626.conf --rule R1_optimalityOfBuyAsset_v1 Submitted link certora/gsm/conf/gsm4626/optimality4626.conf-0a8ce237fe35.log
optimality4626.conf --rule R3_optimalityOfSellAsset_v1 Submitted link certora/gsm/conf/gsm4626/optimality4626.conf-0214978b534a.log
optimality4626.conf --rule R5a_externalOptimalityOfSellAsset R6a_externalOptimalityOfBuyAsset Submitted link certora/gsm/conf/gsm4626/optimality4626.conf-abe1b07948c7.log

Certora Run Summary

  • Started 19 jobs
  • 0 jobs failed

Download Logs

Copy link

@certora-run certora-run bot left a 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: 5740019b-5e49-4e94-b15a-5c18e82752e6
Job Result VERIFIED Link
verifyUpgradeableGhoToken.conf 29 Link
verifyGhoVariableDebtToken_summarized.conf --rule accrueAlwaysCalleldBeforeRefresh 2 Link
verifyGhoVariableDebtToken_specialBranch.conf --rule sendersDiscountPercentCannotIncrease 2 Link
verifyGhoVariableDebtToken-rayMulDiv-summarization.conf 8 Link
verifyGhoVariableDebtTokenInternal.conf 2 Link
verifyGhoVariableDebtToken.conf --rule user_index_after_mint user_index_ge_one_ray nonzeroNewDiscountToken 4 Link
verifyGhoVariableDebtToken.conf --rule userCantNullifyItsDebt 2 Link
verifyGhoVariableDebtToken.conf --rule onlyMintForUserCanIncreaseUsersBalance 2 Link
verifyGhoVariableDebtToken.conf --rule discountCantExceedDiscountRate 2 Link
verifyGhoVariableDebtToken.conf --rule discountCantExceed100Percent 2 Link
verifyGhoVariableDebtToken.conf --rule accumulated_interest_increase_after_mint 2 Link
verifyGhoToken.conf 29 Link
verifyGhoDiscountRateStrategy.conf --rule equivalenceOfWadMulCVLAndWadMulSol maxDiscountForHighDiscountTokenBalance zeroDiscountForSmallDiscountTokenBalance partialDiscountForIntermediateTokenBalance limitOnDiscountRate 6 Link
verifyGhoAToken.conf --rule noMint noBurn noTransfer transferUnderlyingToCantExceedCapacity totalSupplyAlwaysZero userBalanceAlwaysZero level_does_not_decrease_after_transferUnderlyingTo_followed_by_handleRepayment 8 Link
verifyFlashMinter.conf --rule balanceOfFlashMinterGrows integrityOfTreasurySet integrityOfFeeSet availableLiquidityDoesntChange integrityOfDistributeFeesToTreasury feeSimulationEqualsActualFee 7 Link
scountPercent_userIsolation integrityOfBalanceOf_fullDiscount integrityOfBalanceOf_noDiscount integrityOfBalanceOf_zeroScaledBalance burnAllDebtReturnsZeroDebt integrityOfUpdateDiscountRateStrategy user_index_up_to_date 28 Link

Copy link

@certora-run certora-run bot left a 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: f38b11d4-a6c6-419b-9f58-4d7939e43648
Job Result VERIFIED Link
ssetAmountForSellAsset_correctness cantBuyOrSellWhenFrozen whoCanChangeExposureCap cantSellIfExposureTooHigh sellAssetIncreasesExposure buyAssetDecreasesExposure rescuingGhoKeepsAccruedFees rescuingAssetKeepsAccruedFees 21 Link
OracleSwapFreezer.conf 5 Link
optimality.conf --rule R3_optimalityOfSellAsset_v1 R1_optimalityOfBuyAsset_v1 R6a_externalOptimalityOfBuyAsset R5a_externalOptimalityOfSellAsset R2_optimalityOfBuyAsset_v2 6 Link
gho-gsm-inverse.conf 24 Link
gho-gsm-2.conf 6 Link
gho-gsm-1.conf 7 Link
gho-fixedPriceStrategy.conf 5 Link
gho-assetToGhoInvertibility.conf --rule basicProperty_getAssetAmountForBuyAsset sellAssetInverse_all buyAssetInverse_all basicProperty_getGhoAmountForSellAsset basicProperty_getAssetAmountForSellAsset basicProperty_getGhoAmountForBuyAsset 7 Link
gho-assetToGhoInvertibility.conf --rule basicProperty2_getAssetAmountForBuyAsset 2 Link
getAmount_properties.conf --rule getAssetAmountForBuyAsset_funcProperty_LR getAssetAmountForBuyAsset_funcProperty_RL 3 Link
FixedFeeStrategy.conf 11 Link
fees-sell.conf --rule R3_estimatedSellFeeCanBeHigherThanActualSellFee 2 Link
fees-sell.conf --exclude_rule R3_estimatedSellFeeCanBeHigherThanActualSellFee 8 Link
fees-buy.conf 8 Link
balances-sell.conf --exclude_rule R3_sellAssetUpdatesAssetBalanceCorrectly R4_buyGhoUpdatesGhoBalanceCorrectly 6 Link
balances-buy.conf 11 Link

Copy link

@certora-run certora-run bot left a 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: 77aec904-159c-4087-a0aa-54d1e4507f45
Job Result VERIFIED Link
GhoGsmSteward.conf 12 Link
GhoCcipSteward.conf 11 Link
GhoBucketSteward.conf 8 Link
GhoAaveSteward.conf 0 Link

Copy link

@certora-run certora-run bot left a 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: c168b9f0-102e-49d8-baed-12ee58e807e2
Job Result VERIFIED Link
set R1a_getAssetAmountForSellAssetFeeNeGetSellFee R2a_getAssetAmountForSellAssetNeActualSellFee R4b_getSellFeeVsgetAssetAmountForSellAsset R1_getAssetAmountForSellAssetFeeGeGetSellFee R3b_estimatedSellFeeEqActualSellFee 10 Link
orrectness_bound1 getAssetAmountForBuyAsset_correctness_bound2 getGhoAmountForBuyAsset_correctness_bound1 getAssetAmountForSellAsset_correctness getAssetAmountForBuyAsset_optimality getAssetAmountForBuyAsset_correctness 7 Link
optimality4626.conf --rule R5a_externalOptimalityOfSellAsset R6a_externalOptimalityOfBuyAsset 3 Link
optimality4626.conf --rule R3_optimalityOfSellAsset_v1 2 Link
optimality4626.conf --rule R1_optimalityOfBuyAsset_v1 2 Link
gho-gsm4626-inverse.conf --rule buySellInverse27 buySellInverse26 buySellInverse25 buySellInverse24 buySellInverse23 buySellInverse22 buySellInverse21 buySellInverse20 buySellInverse19 10 Link
gho-gsm4626-2.conf --rule accruedFeesNeverDecrease 2 Link
gho-gsm4626-2.conf --rule accruedFeesLEGhoBalanceOfThis 2 Link
gho-gsm4626-1.conf 4 Link
getAmount-properties-4626.conf --rule getGhoAmountForBuyAsset_optimality 2 Link
getAmount-properties-4626.conf --rule getGhoAmountForBuyAsset_correctness 2 Link
getAmount-properties-4626.conf --rule getAssetAmountForSellAsset_optimality getAssetAmountForBuyAsset_funcProperty 3 Link
finishedRules-4626.conf --rule giftingUnderlyingDoesntCreateExcessOrDearth 2 Link
fees-buy-4626.conf 8 Link
edSellFeeIsAtLeastAsRequired collectedBuyFeePlus2IsAtLeastAsRequired collectedBuyFeePlus1IsAtLeastAsRequired collectedBuyFeeIsAtLeastAsRequired sellingDoesntExceedExposureCap whoCanChangeAccruedFees whoCanChangeExposure 22 Link
balances-sell-4626.conf --rule R4_buyGhoUpdatesGhoBalanceCorrectly R4a_buyGhoAmountGtGhoBalanceChange 3 Link
balances-sell-4626.conf --rule R3a_sellAssetUpdatesAssetBalanceCorrectly 2 Link
balances-sell-4626.conf --rule R1_getAssetAmountForSellAsset_arg_vs_return R1a_buyGhoUpdatesGhoBalanceCorrectly1 R2_getAssetAmountForSellAsset_sellAsset_eq 4 Link
balances-buy-4626.conf 8 Link

@DhairyaSethi DhairyaSethi merged commit 859b070 into main Aug 28, 2025
12 of 16 checks passed
@DhairyaSethi DhairyaSethi deleted the feat/remote-gsm-TL branch August 28, 2025 12:19
@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: 5d4a06d4-6707-4a73-9aa6-c3fb05050d84
Config Status Link Log File
GhoAaveSteward.conf Submitted link certora/steward/conf/GhoAaveSteward.conf-ab1b39d5ac3b.log
GhoBucketSteward.conf Submitted link certora/steward/conf/GhoBucketSteward.conf-16d2e6160ebb.log
GhoCcipSteward.conf Submitted link certora/steward/conf/GhoCcipSteward.conf-25b12166454f.log
GhoGsmSteward.conf Submitted link certora/steward/conf/GhoGsmSteward.conf-3947f2473350.log

Certora Run Summary

  • Started 4 jobs
  • 0 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: 155afa8e-1773-4b0b-913d-7d87f3d48d73
Config Status Link Log File
verifyFlashMinter.conf --rule balanceOfFlashMinterGrows integrityOfTreasurySet integrityOfFeeSet availableLiquidityDoesntChange integrityOfDistributeFeesToTreasury feeSimulationEqualsActualFee Submitted link certora/gho/conf/verifyFlashMinter.conf-240b1a8d43c3.log
verifyGhoAToken.conf --rule noMint noBurn noTransfer transferUnderlyingToCantExceedCapacity totalSupplyAlwaysZero userBalanceAlwaysZero level_does_not_decrease_after_transferUnderlyingTo_followed_by_handleRepayment Submitted link certora/gho/conf/verifyGhoAToken.conf-bcbc4e7678ca.log
verifyGhoDiscountRateStrategy.conf --rule equivalenceOfWadMulCVLAndWadMulSol maxDiscountForHighDiscountTokenBalance zeroDiscountForSmallDiscountTokenBalance partialDiscountForIntermediateTokenBalance limitOnDiscountRate Submitted link certora/gho/conf/verifyGhoDiscountRateStrategy.conf-eac4fc75eded.log
verifyGhoToken.conf Submitted link certora/gho/conf/verifyGhoToken.conf-3b550b9debb6.log
verifyGhoVariableDebtToken-rayMulDiv-summarization.conf Submitted link certora/gho/conf/verifyGhoVariableDebtToken-rayMulDiv-summarization.conf-fd8a6c1b92e2.log
verifyGhoVariableDebtToken.conf --rule accumulated_interest_increase_after_mint Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-e36942687405.log
verifyGhoVariableDebtToken.conf --rule disallowedFunctionalities nonMintFunctionCantIncreaseBalance nonMintFunctionCantIncreaseScaledBalance debtTokenIsNotTransferable onlyCertainFunctionsCanModifyScaledBalance userAccumulatedDebtInterestWontDecrease integrityOfMint_updateDiscountRate integrityOfMint_updateIndex integrityOfMint_updateScaledBalance_fixedIndex integrityOfMint_userIsolation integrityMint_atoken integrityOfBurn_updateDiscountRate integrityOfBurn_updateIndex burnZeroDoesntChangeBalance integrityOfBurn_fullRepay_concrete integrityOfBurn_userIsolation integrityOfUpdateDiscountDistribution_updateIndex integrityOfUpdateDiscountDistribution_userIsolation integrityOfRebalanceUserDiscountPercent_updateDiscountRate integrityOfRebalanceUserDiscountPercent_updateIndex integrityOfRebalanceUserDiscountPercent_userIsolation integrityOfBalanceOf_fullDiscount integrityOfBalanceOf_noDiscount integrityOfBalanceOf_zeroScaledBalance burnAllDebtReturnsZeroDebt integrityOfUpdateDiscountRateStrategy user_index_up_to_date Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-bc395e31fd84.log
verifyGhoVariableDebtToken.conf --rule discountCantExceed100Percent Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-46db0d6df91c.log
verifyGhoVariableDebtToken.conf --rule discountCantExceedDiscountRate Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-37dee6fb0d87.log
verifyGhoVariableDebtToken.conf --rule onlyMintForUserCanIncreaseUsersBalance Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-a1b471962a24.log
verifyGhoVariableDebtToken.conf --rule userCantNullifyItsDebt Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-9b49a54b9380.log
verifyGhoVariableDebtToken.conf --rule user_index_after_mint user_index_ge_one_ray nonzeroNewDiscountToken Submitted link certora/gho/conf/verifyGhoVariableDebtToken.conf-4deae1eee2c9.log
verifyGhoVariableDebtTokenInternal.conf Submitted link certora/gho/conf/verifyGhoVariableDebtTokenInternal.conf-02d397988216.log
verifyGhoVariableDebtToken_specialBranch.conf --rule sendersDiscountPercentCannotIncrease Submitted link certora/gho/conf/verifyGhoVariableDebtToken_specialBranch.conf-ff4c348c40e4.log
verifyGhoVariableDebtToken_summarized.conf --rule accrueAlwaysCalleldBeforeRefresh Submitted link certora/gho/conf/verifyGhoVariableDebtToken_summarized.conf-477727e63883.log
verifyUpgradeableGhoToken.conf Submitted link certora/gho/conf/verifyUpgradeableGhoToken.conf-b04621a52ebf.log

Certora Run Summary

  • Started 16 jobs
  • 0 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: 8c418e47-6317-4285-bd0e-610608fe6926
Config Status Link Log File
FixedFeeStrategy.conf Submitted link certora/gsm/conf/gsm/FixedFeeStrategy.conf-fbd7c3ac0caa.log
OracleSwapFreezer.conf Submitted link certora/gsm/conf/gsm/OracleSwapFreezer.conf-e2e5c42c2601.log
balances-buy.conf Submitted link certora/gsm/conf/gsm/balances-buy.conf-5c9908672c3b.log
balances-sell.conf --exclude_rule R3_sellAssetUpdatesAssetBalanceCorrectly R4_buyGhoUpdatesGhoBalanceCorrectly Submitted link certora/gsm/conf/gsm/balances-sell.conf-b16727bc9b6c.log
fees-buy.conf Submitted link certora/gsm/conf/gsm/fees-buy.conf-df48a03693a3.log
fees-sell.conf --exclude_rule R3_estimatedSellFeeCanBeHigherThanActualSellFee Submitted link certora/gsm/conf/gsm/fees-sell.conf-f391f0ed8050.log
fees-sell.conf --rule R3_estimatedSellFeeCanBeHigherThanActualSellFee Submitted link certora/gsm/conf/gsm/fees-sell.conf-cba64b556f0b.log
finishedRules.conf --rule whoCanChangeExposure whoCanChangeAccruedFees sellingDoesntExceedExposureCap cantBuyOrSellWhenSeized giftingGhoDoesntAffectStorageSIMPLE giftingUnderlyingDoesntAffectStorageSIMPLE collectedBuyFeePlus1IsAtLeastAsRequired sellAssetSameAsGetGhoAmountForSellAsset collectedSellFeeIsAtLeastAsRequired collectedBuyFeeIsAtLeastAsRequired correctnessOfBuyAsset collectedBuyFeePlus2IsAtLeastAsRequired getAssetAmountForSellAsset_correctness cantBuyOrSellWhenFrozen whoCanChangeExposureCap cantSellIfExposureTooHigh sellAssetIncreasesExposure buyAssetDecreasesExposure rescuingGhoKeepsAccruedFees rescuingAssetKeepsAccruedFees Submitted link certora/gsm/conf/gsm/finishedRules.conf-8312d55d855b.log
getAmount_properties.conf --rule getAssetAmountForBuyAsset_funcProperty_LR getAssetAmountForBuyAsset_funcProperty_RL Submitted link certora/gsm/conf/gsm/getAmount_properties.conf-ed77d7c60b2a.log
gho-assetToGhoInvertibility.conf --rule basicProperty2_getAssetAmountForBuyAsset Submitted link certora/gsm/conf/gsm/gho-assetToGhoInvertibility.conf-8a8cf5618a1d.log
gho-assetToGhoInvertibility.conf --rule basicProperty_getAssetAmountForBuyAsset sellAssetInverse_all buyAssetInverse_all basicProperty_getGhoAmountForSellAsset basicProperty_getAssetAmountForSellAsset basicProperty_getGhoAmountForBuyAsset Submitted link certora/gsm/conf/gsm/gho-assetToGhoInvertibility.conf-d487937cc0df.log
gho-fixedPriceStrategy.conf Submitted link certora/gsm/conf/gsm/gho-fixedPriceStrategy.conf-748108ef861f.log
gho-gsm-1.conf Submitted link certora/gsm/conf/gsm/gho-gsm-1.conf-71e18959b268.log
gho-gsm-2.conf Submitted link certora/gsm/conf/gsm/gho-gsm-2.conf-3464db0ffdd0.log
gho-gsm-inverse.conf Submitted link certora/gsm/conf/gsm/gho-gsm-inverse.conf-457a116ef364.log
optimality.conf --rule R3_optimalityOfSellAsset_v1 R1_optimalityOfBuyAsset_v1 R6a_externalOptimalityOfBuyAsset R5a_externalOptimalityOfSellAsset R2_optimalityOfBuyAsset_v2 Submitted link certora/gsm/conf/gsm/optimality.conf-ec47b1444ce9.log

Certora Run Summary

  • Started 16 jobs
  • 0 jobs failed

Download Logs

@github-actions
Copy link

Certora Run Started (Certora Prover Run)

  • Group ID: a326c402-35b2-4c97-a1af-bf2544f16399
Config Status Link Log File
balances-buy-4626.conf Submitted link certora/gsm/conf/gsm4626/balances-buy-4626.conf-4b2678b7e7c7.log
balances-sell-4626.conf --rule R1_getAssetAmountForSellAsset_arg_vs_return R1a_buyGhoUpdatesGhoBalanceCorrectly1 R2_getAssetAmountForSellAsset_sellAsset_eq Submitted link certora/gsm/conf/gsm4626/balances-sell-4626.conf-3e3b52641550.log
balances-sell-4626.conf --rule R3a_sellAssetUpdatesAssetBalanceCorrectly Submitted link certora/gsm/conf/gsm4626/balances-sell-4626.conf-349d8e5a7dee.log
balances-sell-4626.conf --rule R4_buyGhoUpdatesGhoBalanceCorrectly R4a_buyGhoAmountGtGhoBalanceChange Submitted link certora/gsm/conf/gsm4626/balances-sell-4626.conf-8a36609095bd.log
fees-buy-4626.conf Submitted link certora/gsm/conf/gsm4626/fees-buy-4626.conf-e2da3016236d.log
fees-sell-4626.conf --rule R3a_estimatedSellFeeCanBeLowerThanActualSellFee R2_getAssetAmountForSellAssetVsActualSellFee R4a_getSellFeeVsgetAssetAmountForSellAsset R4_getSellFeeVsgetAssetAmountForSellAsset R1a_getAssetAmountForSellAssetFeeNeGetSellFee R2a_getAssetAmountForSellAssetNeActualSellFee R4b_getSellFeeVsgetAssetAmountForSellAsset R1_getAssetAmountForSellAssetFeeGeGetSellFee R3b_estimatedSellFeeEqActualSellFee Submitted link certora/gsm/conf/gsm4626/fees-sell-4626.conf-22b93f143c7c.log
finishedRules-4626.conf --rule cantBuyOrSellWhenSeized cantBuyOrSellWhenFrozen sellAssetIncreasesExposure buyAssetDecreasesExposure rescuingAssetKeepsAccruedFees rescuingGhoKeepsAccruedFees giftingGhoDoesntAffectStorageSIMPLE correctnessOfBuyAsset giftingUnderlyingDoesntAffectStorageSIMPLE sellAssetSameAsGetGhoAmountForSellAsset correctnessOfSellAsset giftingGhoDoesntCreateExcessOrDearth backWithGhoDoesntCreateExcess getAssetAmountForSellAsset_correctness collectedSellFeeIsAtLeastAsRequired collectedBuyFeePlus2IsAtLeastAsRequired collectedBuyFeePlus1IsAtLeastAsRequired collectedBuyFeeIsAtLeastAsRequired sellingDoesntExceedExposureCap whoCanChangeAccruedFees whoCanChangeExposure Submitted link certora/gsm/conf/gsm4626/finishedRules-4626.conf-cd3be632c610.log
finishedRules-4626.conf --rule giftingUnderlyingDoesntCreateExcessOrDearth Submitted link certora/gsm/conf/gsm4626/finishedRules-4626.conf-9e34ee7f52be.log
getAmount-properties-4626.conf --rule getAssetAmountForBuyAsset_correctness_bound1 getAssetAmountForBuyAsset_correctness_bound2 getGhoAmountForBuyAsset_correctness_bound1 getAssetAmountForSellAsset_correctness getAssetAmountForBuyAsset_optimality getAssetAmountForBuyAsset_correctness Submitted link certora/gsm/conf/gsm4626/getAmount-properties-4626.conf-a41f13bd62de.log
getAmount-properties-4626.conf --rule getAssetAmountForSellAsset_optimality getAssetAmountForBuyAsset_funcProperty Submitted link certora/gsm/conf/gsm4626/getAmount-properties-4626.conf-403d2fa8db47.log
getAmount-properties-4626.conf --rule getGhoAmountForBuyAsset_correctness Submitted link certora/gsm/conf/gsm4626/getAmount-properties-4626.conf-ef653281d5e0.log
getAmount-properties-4626.conf --rule getGhoAmountForBuyAsset_optimality Submitted link certora/gsm/conf/gsm4626/getAmount-properties-4626.conf-548e8110f436.log
gho-gsm4626-1.conf Submitted link certora/gsm/conf/gsm4626/gho-gsm4626-1.conf-ac9d8e7584d3.log
gho-gsm4626-2.conf --rule accruedFeesLEGhoBalanceOfThis Submitted link certora/gsm/conf/gsm4626/gho-gsm4626-2.conf-33bd0eb48b99.log
gho-gsm4626-2.conf --rule accruedFeesNeverDecrease Submitted link certora/gsm/conf/gsm4626/gho-gsm4626-2.conf-dec4a6f2f8b7.log
gho-gsm4626-inverse.conf --rule buySellInverse27 buySellInverse26 buySellInverse25 buySellInverse24 buySellInverse23 buySellInverse22 buySellInverse21 buySellInverse20 buySellInverse19 Submitted link certora/gsm/conf/gsm4626/gho-gsm4626-inverse.conf-40ca44f8d865.log
optimality4626.conf --rule R1_optimalityOfBuyAsset_v1 Submitted link certora/gsm/conf/gsm4626/optimality4626.conf-ca0cc484f2d2.log
optimality4626.conf --rule R3_optimalityOfSellAsset_v1 Submitted link certora/gsm/conf/gsm4626/optimality4626.conf-63f4fe64b38a.log
optimality4626.conf --rule R5a_externalOptimalityOfSellAsset R6a_externalOptimalityOfBuyAsset Submitted link certora/gsm/conf/gsm4626/optimality4626.conf-1471ab763ba0.log

Certora Run Summary

  • Started 19 jobs
  • 0 jobs failed

Download Logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants