diff --git a/contracts/gas-snapshots/ccip.gas-snapshot b/contracts/gas-snapshots/ccip.gas-snapshot index c8ab8b87838..6d088fafded 100644 --- a/contracts/gas-snapshots/ccip.gas-snapshot +++ b/contracts/gas-snapshots/ccip.gas-snapshot @@ -1,16 +1,16 @@ ARMProxy_constructor:test_Constructor() (gas: 302231) -ARMProxy_isCursed:test_IsCursed() (gas: 47231) +ARMProxy_isCursed:test_IsCursed_GlobalCurseSubject() (gas: 92086) ARMProxy_setARM:test_SetARM() (gas: 16599) ARMProxy_setARM:test_SetARMzero() (gas: 11275) -BurnFromMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 244460) -BurnFromMintTokenPool_lockOrBurn:test_setup() (gas: 24189) -BurnMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 242378) +BurnFromMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 238946) +BurnFromMintTokenPool_lockOrBurn:test_setup() (gas: 24168) +BurnMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 236868) BurnMintTokenPool_lockOrBurn:test_Setup() (gas: 17809) -BurnMintTokenPool_releaseOrMint:test_PoolMint() (gas: 109425) -BurnMintWithLockReleaseFlagTokenPool_lockOrBurn:test_LockOrBurn_CorrectReturnData() (gas: 242804) -BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 244522) -BurnWithFromMintTokenPool_lockOrBurn:test_Setup() (gas: 24180) -CCIPClientExample_sanity:test_ImmutableExamples() (gas: 2077757) +BurnMintTokenPool_releaseOrMint:test_PoolMint() (gas: 102532) +BurnMintWithLockReleaseFlagTokenPool_lockOrBurn:test_LockOrBurn_CorrectReturnData() (gas: 237295) +BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 239008) +BurnWithFromMintTokenPool_lockOrBurn:test_Setup() (gas: 24159) +CCIPClientExample_sanity:test_ImmutableExamples() (gas: 2065135) CCIPHome__validateConfig:test__validateConfig() (gas: 299752) CCIPHome__validateConfig:test__validateConfigLessTransmittersThanSigners() (gas: 332617) CCIPHome__validateConfig:test__validateConfigSmallerFChain() (gas: 458568) @@ -28,7 +28,7 @@ CCIPHome_setCandidate:test_setCandidate() (gas: 1365438) CCIPHome_supportsInterface:test_supportsInterface() (gas: 9885) DefensiveExampleTest:test_HappyPath() (gas: 200521) DefensiveExampleTest:test_Recovery() (gas: 425013) -E2E:test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: 1512391) +E2E:test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: 1487677) EtherSenderReceiverTest_ccipReceive:test_ccipReceive_fallbackToWethTransfer() (gas: 96980) EtherSenderReceiverTest_ccipReceive:test_ccipReceive_happyPath() (gas: 49812) EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongToken() (gas: 17479) @@ -46,10 +46,10 @@ EtherSenderReceiverTest_validatedMessage:test_validatedMessage_emptyDataOverwrit EtherSenderReceiverTest_validatedMessage:test_validatedMessage_invalidTokenAmounts() (gas: 17969) EtherSenderReceiverTest_validatedMessage:test_validatedMessage_tokenOverwrittenToWeth() (gas: 25328) EtherSenderReceiverTest_validatedMessage:test_validatedMessage_validMessage_extraArgs() (gas: 26348) -FactoryBurnMintERC20_approve:test_Approve() (gas: 55784) +FactoryBurnMintERC20_approve:test_Approve() (gas: 55783) FactoryBurnMintERC20_burn:test_BasicBurn() (gas: 172448) -FactoryBurnMintERC20_burnFrom:test_BurnFrom() (gas: 58291) -FactoryBurnMintERC20_burnFromAlias:test_BurnFrom() (gas: 58265) +FactoryBurnMintERC20_burnFrom:test_BurnFrom() (gas: 58290) +FactoryBurnMintERC20_burnFromAlias:test_BurnFrom() (gas: 58264) FactoryBurnMintERC20_constructor:test_Constructor() (gas: 1450594) FactoryBurnMintERC20_decreaseApproval:test_DecreaseApproval() (gas: 31420) FactoryBurnMintERC20_getCCIPAdmin:test_getCCIPAdmin() (gas: 12740) @@ -75,9 +75,9 @@ FeeQuoter_convertTokenAmount:test_ConvertTokenAmount() (gas: 68350) FeeQuoter_getDataAvailabilityCost:test_EmptyMessageCalculatesDataAvailabilityCost() (gas: 96410) FeeQuoter_getDataAvailabilityCost:test_SimpleMessageCalculatesDataAvailabilityCost() (gas: 20988) FeeQuoter_getDataAvailabilityCost:test_SimpleMessageCalculatesDataAvailabilityCostUnsupportedDestChainSelector() (gas: 14836) -FeeQuoter_getTokenAndGasPrices:test_GetFeeTokenAndGasPrices() (gas: 73050) -FeeQuoter_getTokenAndGasPrices:test_StalenessCheckDisabled() (gas: 112087) -FeeQuoter_getTokenAndGasPrices:test_ZeroGasPrice() (gas: 109174) +FeeQuoter_getTokenAndGasPrices:test_GetFeeTokenAndGasPrices() (gas: 73065) +FeeQuoter_getTokenAndGasPrices:test_StalenessCheckDisabled() (gas: 112102) +FeeQuoter_getTokenAndGasPrices:test_ZeroGasPrice() (gas: 109189) FeeQuoter_getTokenPrice:test_GetTokenPriceFromFeed() (gas: 68126) FeeQuoter_getTokenPrice:test_GetTokenPrice_LocalMoreRecent() (gas: 33553) FeeQuoter_getTokenPrices:test_GetTokenPrices() (gas: 78451) @@ -90,10 +90,10 @@ FeeQuoter_getTokenTransferCost:test_SmallTokenTransferChargesMinFeeAndGas() (gas FeeQuoter_getTokenTransferCost:test_ZeroAmountTokenTransferChargesMinFeeAndGas() (gas: 27986) FeeQuoter_getTokenTransferCost:test_ZeroFeeConfigChargesMinFee() (gas: 40800) FeeQuoter_getTokenTransferCost:test_getTokenTransferCost_selfServeUsesDefaults() (gas: 29713) -FeeQuoter_getValidatedFee:test_EmptyMessage() (gas: 83317) -FeeQuoter_getValidatedFee:test_HighGasMessage() (gas: 239757) -FeeQuoter_getValidatedFee:test_MessageWithDataAndTokenTransfer() (gas: 143268) -FeeQuoter_getValidatedFee:test_SingleTokenMessage() (gas: 114531) +FeeQuoter_getValidatedFee:test_EmptyMessage() (gas: 83320) +FeeQuoter_getValidatedFee:test_HighGasMessage() (gas: 239760) +FeeQuoter_getValidatedFee:test_MessageWithDataAndTokenTransfer() (gas: 143271) +FeeQuoter_getValidatedFee:test_SingleTokenMessage() (gas: 114534) FeeQuoter_getValidatedFee:test_ZeroDataAvailabilityMultiplier() (gas: 63932) FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPrice() (gas: 58871) FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeed() (gas: 65113) @@ -130,14 +130,14 @@ FeeQuoter_updateTokenPriceFeeds:test_ZeroFeeds() (gas: 12495) FeeQuoter_validateDestFamilyAddress:test_ValidEVMAddress() (gas: 6798) FeeQuoter_validateDestFamilyAddress:test_ValidNonEVMAddress() (gas: 6523) HybridLockReleaseUSDCTokenPool_TransferLiquidity:test_transferLiquidity() (gas: 167004) -HybridLockReleaseUSDCTokenPool_lockOrBurn:test_PrimaryMechanism() (gas: 135852) -HybridLockReleaseUSDCTokenPool_lockOrBurn:test_onLockReleaseMechanism() (gas: 146983) -HybridLockReleaseUSDCTokenPool_lockOrBurn:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 209160) -HybridLockReleaseUSDCTokenPool_releaseOrMint:test_OnLockReleaseMechanism() (gas: 213117) -HybridLockReleaseUSDCTokenPool_releaseOrMint:test_incomingMessageWithPrimaryMechanism() (gas: 265910) -LockReleaseTokenPool_canAcceptLiquidity:test_CanAcceptLiquidity() (gas: 3209960) -LockReleaseTokenPool_lockOrBurn:test_LockOrBurnWithAllowList() (gas: 80580) -LockReleaseTokenPool_releaseOrMint:test_ReleaseOrMint() (gas: 223316) +HybridLockReleaseUSDCTokenPool_lockOrBurn:test_PrimaryMechanism() (gas: 130340) +HybridLockReleaseUSDCTokenPool_lockOrBurn:test_onLockReleaseMechanism() (gas: 140093) +HybridLockReleaseUSDCTokenPool_lockOrBurn:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 202936) +HybridLockReleaseUSDCTokenPool_releaseOrMint:test_OnLockReleaseMechanism() (gas: 206227) +HybridLockReleaseUSDCTokenPool_releaseOrMint:test_incomingMessageWithPrimaryMechanism() (gas: 260398) +LockReleaseTokenPool_canAcceptLiquidity:test_CanAcceptLiquidity() (gas: 3209963) +LockReleaseTokenPool_lockOrBurn:test_LockOrBurnWithAllowList() (gas: 72800) +LockReleaseTokenPool_releaseOrMint:test_ReleaseOrMint() (gas: 217909) LockReleaseTokenPool_setRebalancer:test_SetRebalancer() (gas: 18183) LockReleaseTokenPool_supportsInterface:test_SupportsInterface() (gas: 10251) LockReleaseTokenPool_transferLiquidity:test_transferLiquidity() (gas: 83263) @@ -147,7 +147,7 @@ MerkleMultiProofTest:test_MerkleRootSingleLeaf() (gas: 3684) MerkleMultiProofTest:test_SpecSync_gas() (gas: 34152) MockRouterTest:test_ccipSendWithEVMExtraArgsV1() (gas: 110127) MockRouterTest:test_ccipSendWithEVMExtraArgsV2() (gas: 132625) -MockRouterTest:test_ccipSendWithLinkFeeTokenAndValidMsgValue() (gas: 126719) +MockRouterTest:test_ccipSendWithLinkFeeTokenAndValidMsgValue() (gas: 126731) MockRouterTest:test_ccipSendWithSufficientNativeFeeTokens() (gas: 44094) MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_MultipleConfigs() (gas: 316641) MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_MultipleConfigsBothLanes() (gas: 133974) @@ -195,11 +195,11 @@ NonceManager_applyPreviousRampsUpdates:test_MultipleRampsUpdates() (gas: 123593) NonceManager_applyPreviousRampsUpdates:test_PreviousRampAlreadySet_overrideAllowed() (gas: 45963) NonceManager_applyPreviousRampsUpdates:test_SingleRampUpdate() (gas: 66943) NonceManager_applyPreviousRampsUpdates:test_ZeroInput() (gas: 12191) -NonceManager_getInboundNonce:test_getInboundNonce_NoPrevOffRampForChain() (gas: 185821) -NonceManager_getInboundNonce:test_getInboundNonce_Upgraded() (gas: 152976) -NonceManager_getInboundNonce:test_getInboundNonce_UpgradedNonceNewSenderStartsAtZero() (gas: 189296) -NonceManager_getInboundNonce:test_getInboundNonce_UpgradedNonceStartsAtV1Nonce() (gas: 252384) -NonceManager_getInboundNonce:test_getInboundNonce_UpgradedOffRampNonceSkipsIfMsgInFlight() (gas: 220672) +NonceManager_getInboundNonce:test_getInboundNonce_NoPrevOffRampForChain() (gas: 178734) +NonceManager_getInboundNonce:test_getInboundNonce_Upgraded() (gas: 145889) +NonceManager_getInboundNonce:test_getInboundNonce_UpgradedNonceNewSenderStartsAtZero() (gas: 182209) +NonceManager_getInboundNonce:test_getInboundNonce_UpgradedNonceStartsAtV1Nonce() (gas: 244710) +NonceManager_getInboundNonce:test_getInboundNonce_UpgradedOffRampNonceSkipsIfMsgInFlight() (gas: 213585) NonceManager_getInboundNonce:test_getInboundNonce_UpgradedSenderNoncesReadsPreviousRamp() (gas: 60520) NonceManager_getIncrementedOutboundNonce:test_getIncrementedOutboundNonce() (gas: 37979) NonceManager_getIncrementedOutboundNonce:test_incrementInboundNonce() (gas: 38756) @@ -215,93 +215,93 @@ OffRamp_applySourceChainConfigUpdates:test_ApplyZeroUpdates() (gas: 16720) OffRamp_applySourceChainConfigUpdates:test_ReplaceExistingChain() (gas: 181035) OffRamp_applySourceChainConfigUpdates:test_ReplaceExistingChainOnRamp() (gas: 168558) OffRamp_applySourceChainConfigUpdates:test_allowNonOnRampUpdateAfterLaneIsUsed() (gas: 284716) -OffRamp_batchExecute:test_MultipleReportsDifferentChains() (gas: 333326) -OffRamp_batchExecute:test_MultipleReportsDifferentChainsSkipCursedChain() (gas: 177473) -OffRamp_batchExecute:test_MultipleReportsSameChain() (gas: 276625) -OffRamp_batchExecute:test_MultipleReportsSkipDuplicate() (gas: 168498) -OffRamp_batchExecute:test_SingleReport() (gas: 156429) -OffRamp_batchExecute:test_Unhealthy() (gas: 545240) -OffRamp_commit:test_OnlyGasPriceUpdates() (gas: 112705) -OffRamp_commit:test_OnlyTokenPriceUpdates() (gas: 112659) +OffRamp_batchExecute:test_MultipleReportsDifferentChains() (gas: 325065) +OffRamp_batchExecute:test_MultipleReportsDifferentChainsSkipCursedChain() (gas: 170394) +OffRamp_batchExecute:test_MultipleReportsSameChain() (gas: 268364) +OffRamp_batchExecute:test_MultipleReportsSkipDuplicate() (gas: 161411) +OffRamp_batchExecute:test_SingleReport() (gas: 149342) +OffRamp_batchExecute:test_Unhealthy() (gas: 532022) +OffRamp_commit:test_OnlyGasPriceUpdates() (gas: 112719) +OffRamp_commit:test_OnlyTokenPriceUpdates() (gas: 112673) OffRamp_commit:test_PriceSequenceNumberCleared() (gas: 354787) OffRamp_commit:test_ReportAndPriceUpdate() (gas: 163895) OffRamp_commit:test_ReportOnlyRootSuccess_gas() (gas: 140878) -OffRamp_commit:test_RootWithRMNDisabled() (gas: 153660) +OffRamp_commit:test_RootWithRMNDisabled() (gas: 153674) OffRamp_commit:test_StaleReportWithRoot() (gas: 231732) OffRamp_commit:test_ValidPriceUpdateThenStaleReportWithRoot() (gas: 206199) -OffRamp_constructor:test_Constructor() (gas: 6210273) -OffRamp_execute:test_LargeBatch() (gas: 3378528) -OffRamp_execute:test_MultipleReports() (gas: 298846) -OffRamp_execute:test_MultipleReportsWithPartialValidationFailures() (gas: 371225) -OffRamp_execute:test_SingleReport() (gas: 175672) -OffRamp_executeSingleMessage:test_executeSingleMessage_NoTokens() (gas: 56180) +OffRamp_constructor:test_Constructor() (gas: 6210275) +OffRamp_execute:test_LargeBatch() (gas: 3354418) +OffRamp_execute:test_MultipleReports() (gas: 290585) +OffRamp_execute:test_MultipleReportsWithPartialValidationFailures() (gas: 364141) +OffRamp_execute:test_SingleReport() (gas: 168585) +OffRamp_executeSingleMessage:test_executeSingleMessage_NoTokens() (gas: 51593) OffRamp_executeSingleMessage:test_executeSingleMessage_NonContract() (gas: 20508) -OffRamp_executeSingleMessage:test_executeSingleMessage_NonContractWithTokens() (gas: 238130) -OffRamp_executeSingleMessage:test_executeSingleMessage_WithMessageInterceptor() (gas: 92016) -OffRamp_executeSingleMessage:test_executeSingleMessage_WithTokens() (gas: 268223) -OffRamp_executeSingleReport:test_InvalidSourcePoolAddress() (gas: 474893) -OffRamp_executeSingleReport:test_ReceiverError() (gas: 187752) -OffRamp_executeSingleReport:test_SingleMessageNoTokens() (gas: 212498) -OffRamp_executeSingleReport:test_SingleMessageNoTokensOtherChain() (gas: 248809) -OffRamp_executeSingleReport:test_SingleMessageNoTokensUnordered() (gas: 192507) +OffRamp_executeSingleMessage:test_executeSingleMessage_NonContractWithTokens() (gas: 230350) +OffRamp_executeSingleMessage:test_executeSingleMessage_WithMessageInterceptor() (gas: 87432) +OffRamp_executeSingleMessage:test_executeSingleMessage_WithTokens() (gas: 259856) +OffRamp_executeSingleReport:test_InvalidSourcePoolAddress() (gas: 454636) +OffRamp_executeSingleReport:test_ReceiverError() (gas: 180665) +OffRamp_executeSingleReport:test_SingleMessageNoTokens() (gas: 204824) +OffRamp_executeSingleReport:test_SingleMessageNoTokensOtherChain() (gas: 241135) +OffRamp_executeSingleReport:test_SingleMessageNoTokensUnordered() (gas: 184833) OffRamp_executeSingleReport:test_SingleMessageToNonCCIPReceiver() (gas: 243821) -OffRamp_executeSingleReport:test_SingleMessagesNoTokensSuccess_gas() (gas: 141522) +OffRamp_executeSingleReport:test_SingleMessagesNoTokensSuccess_gas() (gas: 134435) OffRamp_executeSingleReport:test_SkippedIncorrectNonce() (gas: 58298) -OffRamp_executeSingleReport:test_SkippedIncorrectNonceStillExecutes() (gas: 402664) -OffRamp_executeSingleReport:test_TwoMessagesWithTokensAndGE() (gas: 574510) -OffRamp_executeSingleReport:test_TwoMessagesWithTokensSuccess_gas() (gas: 522874) -OffRamp_executeSingleReport:test_Unhealthy() (gas: 541023) -OffRamp_executeSingleReport:test_WithCurseOnAnotherSourceChain() (gas: 452076) -OffRamp_executeSingleReport:test__execute_SkippedAlreadyExecutedMessage() (gas: 164910) -OffRamp_executeSingleReport:test__execute_SkippedAlreadyExecutedMessageUnordered() (gas: 135301) +OffRamp_executeSingleReport:test_SkippedIncorrectNonceStillExecutes() (gas: 391797) +OffRamp_executeSingleReport:test_TwoMessagesWithTokensAndGE() (gas: 561276) +OffRamp_executeSingleReport:test_TwoMessagesWithTokensSuccess_gas() (gas: 509640) +OffRamp_executeSingleReport:test_Unhealthy() (gas: 527805) +OffRamp_executeSingleReport:test_WithCurseOnAnotherSourceChain() (gas: 438850) +OffRamp_executeSingleReport:test__execute_SkippedAlreadyExecutedMessage() (gas: 157823) +OffRamp_executeSingleReport:test__execute_SkippedAlreadyExecutedMessageUnordered() (gas: 128214) OffRamp_getExecutionState:test_FillExecutionState() (gas: 3905742) OffRamp_getExecutionState:test_GetDifferentChainExecutionState() (gas: 121049) OffRamp_getExecutionState:test_GetExecutionState() (gas: 89738) -OffRamp_manuallyExecute:test_manuallyExecute() (gas: 226160) -OffRamp_manuallyExecute:test_manuallyExecute_DoesNotRevertIfUntouched() (gas: 172639) -OffRamp_manuallyExecute:test_manuallyExecute_LowGasLimit() (gas: 489669) -OffRamp_manuallyExecute:test_manuallyExecute_ReentrancyFails() (gas: 2224794) -OffRamp_manuallyExecute:test_manuallyExecute_WithGasOverride() (gas: 226710) -OffRamp_manuallyExecute:test_manuallyExecute_WithMultiReportGasOverride() (gas: 774741) -OffRamp_manuallyExecute:test_manuallyExecute_WithPartialMessages() (gas: 344802) -OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken() (gas: 101487) -OffRamp_releaseOrMintTokens:test_releaseOrMintTokens() (gas: 168872) -OffRamp_releaseOrMintTokens:test_releaseOrMintTokens_WithGasOverride() (gas: 170742) -OffRamp_releaseOrMintTokens:test_releaseOrMintTokens_destDenominatedDecimals() (gas: 181981) +OffRamp_manuallyExecute:test_manuallyExecute() (gas: 211986) +OffRamp_manuallyExecute:test_manuallyExecute_DoesNotRevertIfUntouched() (gas: 165552) +OffRamp_manuallyExecute:test_manuallyExecute_LowGasLimit() (gas: 475495) +OffRamp_manuallyExecute:test_manuallyExecute_ReentrancyFails() (gas: 2214817) +OffRamp_manuallyExecute:test_manuallyExecute_WithGasOverride() (gas: 212536) +OffRamp_manuallyExecute:test_manuallyExecute_WithMultiReportGasOverride() (gas: 729871) +OffRamp_manuallyExecute:test_manuallyExecute_WithPartialMessages() (gas: 335954) +OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken() (gas: 94597) +OffRamp_releaseOrMintTokens:test_releaseOrMintTokens() (gas: 161092) +OffRamp_releaseOrMintTokens:test_releaseOrMintTokens_WithGasOverride() (gas: 162962) +OffRamp_releaseOrMintTokens:test_releaseOrMintTokens_destDenominatedDecimals() (gas: 174201) OffRamp_setDynamicConfig:test_SetDynamicConfig() (gas: 25397) OffRamp_setDynamicConfig:test_SetDynamicConfigWithInterceptor() (gas: 47448) -OffRamp_trialExecute:test_trialExecute() (gas: 271859) -OffRamp_trialExecute:test_trialExecute_RateLimitError() (gas: 127545) -OffRamp_trialExecute:test_trialExecute_TokenHandlingErrorIsCaught() (gas: 138855) -OffRamp_trialExecute:test_trialExecute_TokenPoolIsNotAContract() (gas: 289500) -OnRampTokenPoolReentrancy:test_OnRampTokenPoolReentrancy() (gas: 251618) -OnRamp_applyAllowlistUpdates:test_applyAllowlistUpdates() (gas: 325982) +OffRamp_trialExecute:test_trialExecute() (gas: 263492) +OffRamp_trialExecute:test_trialExecute_RateLimitError() (gas: 120655) +OffRamp_trialExecute:test_trialExecute_TokenHandlingErrorIsCaught() (gas: 131965) +OffRamp_trialExecute:test_trialExecute_TokenPoolIsNotAContract() (gas: 281133) +OnRampTokenPoolReentrancy:test_OnRampTokenPoolReentrancy() (gas: 243944) +OnRamp_applyAllowlistUpdates:test_applyAllowlistUpdates() (gas: 325984) OnRamp_applyAllowlistUpdates:test_applyAllowlistUpdates_InvalidAllowListRequestDisabledAllowListWithAdds() (gas: 17227) -OnRamp_applyDestChainConfigUpdates:test_ApplyDestChainConfigUpdates() (gas: 65890) -OnRamp_constructor:test_Constructor() (gas: 2647504) -OnRamp_forwardFromRouter:test_ForwardFromRouter() (gas: 145447) -OnRamp_forwardFromRouter:test_ForwardFromRouterExtraArgsV2() (gas: 146257) -OnRamp_forwardFromRouter:test_ForwardFromRouterExtraArgsV2AllowOutOfOrderTrue() (gas: 115431) -OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessCustomExtraArgs() (gas: 145853) -OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessEmptyExtraArgs() (gas: 144013) -OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessLegacyExtraArgs() (gas: 146094) -OnRamp_forwardFromRouter:test_ForwardFromRouter_ConfigurableSourceRouter() (gas: 140644) +OnRamp_applyDestChainConfigUpdates:test_ApplyDestChainConfigUpdates() (gas: 65893) +OnRamp_constructor:test_Constructor() (gas: 2647502) +OnRamp_forwardFromRouter:test_ForwardFromRouter() (gas: 145456) +OnRamp_forwardFromRouter:test_ForwardFromRouterExtraArgsV2() (gas: 146263) +OnRamp_forwardFromRouter:test_ForwardFromRouterExtraArgsV2AllowOutOfOrderTrue() (gas: 115437) +OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessCustomExtraArgs() (gas: 145859) +OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessEmptyExtraArgs() (gas: 144031) +OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessLegacyExtraArgs() (gas: 146100) +OnRamp_forwardFromRouter:test_ForwardFromRouter_ConfigurableSourceRouter() (gas: 140650) OnRamp_forwardFromRouter:test_ShouldIncrementNonceOnlyOnOrdered() (gas: 186736) OnRamp_forwardFromRouter:test_ShouldIncrementSeqNumAndNonce() (gas: 213146) -OnRamp_forwardFromRouter:test_ShouldStoreLinkFees() (gas: 147092) +OnRamp_forwardFromRouter:test_ShouldStoreLinkFees() (gas: 147101) OnRamp_forwardFromRouter:test_ShouldStoreNonLinkFees() (gas: 161303) -OnRamp_forwardFromRouter:test_forwardFromRouter_WithInterception() (gas: 281550) -OnRamp_getFee:test_EmptyMessage() (gas: 98736) +OnRamp_forwardFromRouter:test_forwardFromRouter_WithInterception() (gas: 274675) +OnRamp_getFee:test_EmptyMessage() (gas: 98739) OnRamp_getFee:test_GetFeeOfZeroForTokenMessage() (gas: 87031) -OnRamp_getFee:test_SingleTokenMessage() (gas: 113842) +OnRamp_getFee:test_SingleTokenMessage() (gas: 113845) OnRamp_getTokenPool:test_GetTokenPool() (gas: 35382) OnRamp_setDynamicConfig:test_setDynamicConfig() (gas: 56440) OnRamp_withdrawFeeTokens:test_WithdrawFeeTokens() (gas: 125834) -PingPong_ccipReceive:test_CcipReceive() (gas: 172878) +PingPong_ccipReceive:test_CcipReceive() (gas: 165791) PingPong_setOutOfOrderExecution:test_OutOfOrderExecution() (gas: 20350) PingPong_setPaused:test_Pausing() (gas: 17738) -PingPong_startPingPong:test_StartPingPong_With_OOO() (gas: 151992) -PingPong_startPingPong:test_StartPingPong_With_Sequenced_Ordered() (gas: 177650) +PingPong_startPingPong:test_StartPingPong_With_OOO() (gas: 144905) +PingPong_startPingPong:test_StartPingPong_With_Sequenced_Ordered() (gas: 170563) RMNHome_getConfigDigests:test_getConfigDigests() (gas: 1079662) RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive() (gas: 1085011) RMNHome_revokeCandidate:test_revokeCandidate() (gas: 28148) @@ -311,7 +311,7 @@ RMNRemote_constructor:test_constructor() (gas: 8398) RMNRemote_curse:test_curse() (gas: 149452) RMNRemote_global_and_legacy_curses:test_global_and_legacy_curses() (gas: 133442) RMNRemote_isBlessed:test_isBlessed() (gas: 17566) -RMNRemote_setConfig:test_setConfig_addSigner_removeSigner() (gas: 993448) +RMNRemote_setConfig:test_setConfig_addSigner_removeSigner() (gas: 989476) RMNRemote_uncurse:test_uncurse() (gas: 40154) RMNRemote_verify_withConfigSet:test_verify() (gas: 86204) RateLimiter_constructor:test_Constructor() (gas: 19762) @@ -325,32 +325,32 @@ RateLimiter_setTokenBucketConfig:test_SetRateLimiterConfig() (gas: 38510) RegistryModuleOwnerCustom_registerAccessControlDefaultAdmin:test_registerAccessControlDefaultAdmin() (gas: 130631) RegistryModuleOwnerCustom_registerAdminViaGetCCIPAdmin:test_registerAdminViaGetCCIPAdmin() (gas: 130126) RegistryModuleOwnerCustom_registerAdminViaOwner:test_registerAdminViaOwner() (gas: 129931) -Router_applyRampUpdates:test_applyRampUpdates_OffRampUpdatesWithRouting() (gas: 10749802) -Router_applyRampUpdates:test_applyRampUpdates_OnRampDisable() (gas: 56404) -Router_ccipSend:test_CCIPSendLinkFeeNoTokenSuccess_gas() (gas: 131469) -Router_ccipSend:test_CCIPSendLinkFeeOneTokenSuccess_gas() (gas: 221733) -Router_ccipSend:test_InvalidMsgValue() (gas: 32411) -Router_ccipSend:test_NativeFeeToken() (gas: 191923) -Router_ccipSend:test_NativeFeeTokenInsufficientValue() (gas: 69458) -Router_ccipSend:test_NativeFeeTokenOverpay() (gas: 193340) -Router_ccipSend:test_NativeFeeTokenZeroValue() (gas: 61550) -Router_ccipSend:test_NonLinkFeeToken() (gas: 226603) -Router_ccipSend:test_WrappedNativeFeeToken() (gas: 194188) -Router_ccipSend:test_ccipSend_nativeFeeNoTokenSuccess_gas() (gas: 140630) -Router_ccipSend:test_ccipSend_nativeFeeOneTokenSuccess_gas() (gas: 230938) -Router_constructor:test_Constructor() (gas: 13156) +Router_applyRampUpdates:test_applyRampUpdates_OffRampUpdatesWithRouting() (gas: 10415191) +Router_applyRampUpdates:test_applyRampUpdates_OnRampDisable() (gas: 56424) +Router_ccipSend:test_CCIPSendLinkFeeNoTokenSuccess_gas() (gas: 124382) +Router_ccipSend:test_CCIPSendLinkFeeOneTokenSuccess_gas() (gas: 211756) +Router_ccipSend:test_InvalidMsgValue() (gas: 27824) +Router_ccipSend:test_NativeFeeToken() (gas: 184836) +Router_ccipSend:test_NativeFeeTokenInsufficientValue() (gas: 62371) +Router_ccipSend:test_NativeFeeTokenOverpay() (gas: 186253) +Router_ccipSend:test_NativeFeeTokenZeroValue() (gas: 54463) +Router_ccipSend:test_NonLinkFeeToken() (gas: 219519) +Router_ccipSend:test_WrappedNativeFeeToken() (gas: 187071) +Router_ccipSend:test_ccipSend_nativeFeeNoTokenSuccess_gas() (gas: 133543) +Router_ccipSend:test_ccipSend_nativeFeeOneTokenSuccess_gas() (gas: 220961) +Router_constructor:test_Constructor() (gas: 13152) Router_getArmProxy:test_getArmProxy() (gas: 10573) Router_getFee:test_GetFeeSupportedChain() (gas: 51934) Router_recoverTokens:test_RecoverTokens() (gas: 52668) -Router_routeMessage:test_routeMessage_AutoExec() (gas: 43255) -Router_routeMessage:test_routeMessage_ExecutionEvent() (gas: 159472) -Router_routeMessage:test_routeMessage_ManualExec() (gas: 35712) +Router_routeMessage:test_routeMessage_AutoExec() (gas: 38081) +Router_routeMessage:test_routeMessage_ExecutionEvent() (gas: 153711) +Router_routeMessage:test_routeMessage_ManualExec() (gas: 31125) TokenAdminRegistry_acceptAdminRole:test_acceptAdminRole() (gas: 44224) TokenAdminRegistry_addRegistryModule:test_addRegistryModule() (gas: 67110) TokenAdminRegistry_getAllConfiguredTokens:test_getAllConfiguredTokens_outOfBounds() (gas: 11373) TokenAdminRegistry_getPool:test_getPool() (gas: 17679) TokenAdminRegistry_getPools:test_getPools() (gas: 40331) -TokenAdminRegistry_isAdministrator:test_isAdministrator() (gas: 106336) +TokenAdminRegistry_isAdministrator:test_isAdministrator() (gas: 106335) TokenAdminRegistry_proposeAdministrator:test_proposeAdministrator_module() (gas: 113028) TokenAdminRegistry_proposeAdministrator:test_proposeAdministrator_owner() (gas: 107987) TokenAdminRegistry_proposeAdministrator:test_proposeAdministrator_reRegisterWhileUnclaimed() (gas: 116195) @@ -363,44 +363,44 @@ TokenPoolFactory_createTokenPool:test_createTokenPool_BurnFromMintTokenPool() (g TokenPoolFactory_createTokenPool:test_createTokenPool_ExistingRemoteToken_AndPredictPool() (gas: 13434180) TokenPoolFactory_createTokenPool:test_createTokenPool_RemoteTokenHasDifferentDecimals() (gas: 13441657) TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingRemoteContracts_predict() (gas: 13771038) -TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingTokenOnRemoteChain() (gas: 6301089) +TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingTokenOnRemoteChain() (gas: 6301092) TokenPoolFactory_createTokenPool:test_createTokenPool_WithRemoteTokenAndRemotePool() (gas: 6510292) TokenPoolWithAllowList_applyAllowListUpdates:test_SetAllowList() (gas: 178460) TokenPoolWithAllowList_applyAllowListUpdates:test_SetAllowListSkipsZero() (gas: 23579) TokenPoolWithAllowList_getAllowList:test_GetAllowList() (gas: 23906) TokenPoolWithAllowList_getAllowListEnabled:test_GetAllowListEnabled() (gas: 8386) -TokenPoolWithAllowList_setRouter:test_SetRouter() (gas: 24982) +TokenPoolWithAllowList_setRouter:test_SetRouter() (gas: 24994) TokenPool_addRemotePool:test_addRemotePool() (gas: 157118) -TokenPool_addRemotePool:test_addRemotePool_MultipleActive() (gas: 472820) +TokenPool_addRemotePool:test_addRemotePool_MultipleActive() (gas: 453964) TokenPool_applyChainUpdates:test_applyChainUpdates() (gas: 592143) TokenPool_applyChainUpdates:test_applyChainUpdates_UpdatesRemotePoolHashes() (gas: 1077758) TokenPool_calculateLocalAmount:test_calculateLocalAmount() (gas: 93680) TokenPool_constructor:test_constructor() (gas: 21930) TokenPool_constructor:test_constructor_DecimalCallFails() (gas: 2824091) TokenPool_getRemotePool:test_getRemotePools() (gas: 330500) -TokenPool_onlyOffRamp:test_onlyOffRamp() (gas: 94335) -TokenPool_onlyOnRamp:test_onlyOnRamp() (gas: 49239) +TokenPool_onlyOffRamp:test_onlyOffRamp() (gas: 94344) +TokenPool_onlyOnRamp:test_onlyOnRamp() (gas: 49248) TokenPool_parseRemoteDecimals:test_parseRemoteDecimals() (gas: 14020) TokenPool_parseRemoteDecimals:test_parseRemoteDecimals_NoDecimalsDefaultsToLocalDecimals() (gas: 9705) TokenPool_removeRemotePool:test_removeRemotePool() (gas: 188409) TokenPool_setRateLimitAdmin:test_SetRateLimitAdmin() (gas: 37630) -USDCBridgeMigrator_BurnLockedUSDC:test_PrimaryMechanism() (gas: 135852) -USDCBridgeMigrator_BurnLockedUSDC:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 309868) -USDCBridgeMigrator_BurnLockedUSDC:test_onLockReleaseMechanism() (gas: 146918) -USDCBridgeMigrator_BurnLockedUSDC:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 209177) +USDCBridgeMigrator_BurnLockedUSDC:test_PrimaryMechanism() (gas: 130340) +USDCBridgeMigrator_BurnLockedUSDC:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 303644) +USDCBridgeMigrator_BurnLockedUSDC:test_onLockReleaseMechanism() (gas: 140028) +USDCBridgeMigrator_BurnLockedUSDC:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 202953) USDCBridgeMigrator_cancelMigrationProposal:test_cancelExistingCCTPMigrationProposal() (gas: 56120) -USDCBridgeMigrator_provideLiquidity:test_PrimaryMechanism() (gas: 136004) -USDCBridgeMigrator_provideLiquidity:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 310127) -USDCBridgeMigrator_provideLiquidity:test_onLockReleaseMechanism() (gas: 147103) -USDCBridgeMigrator_provideLiquidity:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 209466) -USDCBridgeMigrator_releaseOrMint:test_OnLockReleaseMechanism() (gas: 213150) -USDCBridgeMigrator_releaseOrMint:test_incomingMessageWithPrimaryMechanism() (gas: 265963) -USDCBridgeMigrator_releaseOrMint:test_unstickManualTxAfterMigration_destChain() (gas: 150537) -USDCBridgeMigrator_releaseOrMint:test_unstickManualTxAfterMigration_homeChain() (gas: 511763) -USDCBridgeMigrator_updateChainSelectorMechanism:test_PrimaryMechanism() (gas: 135986) -USDCBridgeMigrator_updateChainSelectorMechanism:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 310109) -USDCBridgeMigrator_updateChainSelectorMechanism:test_onLockReleaseMechanism() (gas: 147103) -USDCBridgeMigrator_updateChainSelectorMechanism:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 209448) -USDCTokenPool_lockOrBurn:test_LockOrBurn() (gas: 133426) -USDCTokenPool_releaseOrMint:test_ReleaseOrMintRealTx() (gas: 265712) +USDCBridgeMigrator_provideLiquidity:test_PrimaryMechanism() (gas: 130492) +USDCBridgeMigrator_provideLiquidity:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 303903) +USDCBridgeMigrator_provideLiquidity:test_onLockReleaseMechanism() (gas: 140213) +USDCBridgeMigrator_provideLiquidity:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 203242) +USDCBridgeMigrator_releaseOrMint:test_OnLockReleaseMechanism() (gas: 206260) +USDCBridgeMigrator_releaseOrMint:test_incomingMessageWithPrimaryMechanism() (gas: 260451) +USDCBridgeMigrator_releaseOrMint:test_unstickManualTxAfterMigration_destChain() (gas: 142757) +USDCBridgeMigrator_releaseOrMint:test_unstickManualTxAfterMigration_homeChain() (gas: 505539) +USDCBridgeMigrator_updateChainSelectorMechanism:test_PrimaryMechanism() (gas: 130474) +USDCBridgeMigrator_updateChainSelectorMechanism:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 303885) +USDCBridgeMigrator_updateChainSelectorMechanism:test_onLockReleaseMechanism() (gas: 140213) +USDCBridgeMigrator_updateChainSelectorMechanism:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 203224) +USDCTokenPool_lockOrBurn:test_LockOrBurn() (gas: 127914) +USDCTokenPool_releaseOrMint:test_ReleaseOrMintRealTx() (gas: 260200) USDCTokenPool_supportsInterface:test_SupportsInterface() (gas: 10108) \ No newline at end of file diff --git a/contracts/src/v0.8/ccip/rmn/RMNRemote.sol b/contracts/src/v0.8/ccip/rmn/RMNRemote.sol index 4e7ce766443..75ae4fe9d38 100644 --- a/contracts/src/v0.8/ccip/rmn/RMNRemote.sol +++ b/contracts/src/v0.8/ccip/rmn/RMNRemote.sol @@ -99,7 +99,7 @@ contract RMNRemote is Ownable2StepMsgSender, ITypeAndVersion, IRMNRemote, IRMN { /// @inheritdoc IRMNRemote function verify( - address offrampAddress, + address offRampAddress, Internal.MerkleRoot[] calldata merkleRoots, Signature[] calldata signatures ) external view { @@ -115,7 +115,7 @@ contract RMNRemote is Ownable2StepMsgSender, ITypeAndVersion, IRMNRemote, IRMN { destChainId: block.chainid, destChainSelector: i_localChainSelector, rmnRemoteContractAddress: address(this), - offrampAddress: offrampAddress, + offrampAddress: offRampAddress, rmnHomeContractConfigDigest: s_config.rmnHomeContractConfigDigest, merkleRoots: merkleRoots }) diff --git a/contracts/src/v0.8/ccip/test/rmn/RMNRemote/RMNRemote.verifywithConfigSet.t.sol b/contracts/src/v0.8/ccip/test/rmn/RMNRemote/RMNRemote.verifywithConfigSet.t.sol index f8f36224c52..ce7d3bb78bd 100644 --- a/contracts/src/v0.8/ccip/test/rmn/RMNRemote/RMNRemote.verifywithConfigSet.t.sol +++ b/contracts/src/v0.8/ccip/test/rmn/RMNRemote/RMNRemote.verifywithConfigSet.t.sol @@ -8,6 +8,7 @@ import {RMNRemoteSetup} from "./RMNRemoteSetup.t.sol"; contract RMNRemote_verify_withConfigSet is RMNRemoteSetup { function setUp() public override { super.setUp(); + RMNRemote.Config memory config = RMNRemote.Config({rmnHomeContractConfigDigest: _randomBytes32(), signers: s_signers, f: 3}); s_rmnRemote.setConfig(config); @@ -19,37 +20,32 @@ contract RMNRemote_verify_withConfigSet is RMNRemoteSetup { } function test_verify_RevertWhen_InvalidSignature() public { - IRMNRemote.Signature memory sig = s_signatures[s_signatures.length - 1]; - sig.r = _randomBytes32(); - s_signatures.pop(); - s_signatures.push(sig); + s_signatures[s_signatures.length - 1].r = 0x0; vm.expectRevert(RMNRemote.InvalidSignature.selector); + s_rmnRemote.verify(OFF_RAMP_ADDRESS, s_merkleRoots, s_signatures); } - function test_RevertWhen_verify_OutOfOrderSignatures_not_sorted() public { + function test_verify_RevertWhen_OutOfOrderSignatures_not_sorted() public { IRMNRemote.Signature memory sig1 = s_signatures[s_signatures.length - 1]; - s_signatures.pop(); - IRMNRemote.Signature memory sig2 = s_signatures[s_signatures.length - 1]; - s_signatures.pop(); - s_signatures.push(sig1); - s_signatures.push(sig2); + IRMNRemote.Signature memory sig2 = s_signatures[s_signatures.length - 2]; + + s_signatures[s_signatures.length - 1] = sig2; + s_signatures[s_signatures.length - 2] = sig1; vm.expectRevert(RMNRemote.OutOfOrderSignatures.selector); s_rmnRemote.verify(OFF_RAMP_ADDRESS, s_merkleRoots, s_signatures); } - function test_RevertWhen_verify_OutOfOrderSignatures_duplicateSignature() public { - IRMNRemote.Signature memory sig = s_signatures[s_signatures.length - 2]; - s_signatures.pop(); - s_signatures.push(sig); + function test_verify_RevertWhen_OutOfOrderSignatures_duplicateSignature() public { + s_signatures[s_signatures.length - 1] = s_signatures[s_signatures.length - 2]; vm.expectRevert(RMNRemote.OutOfOrderSignatures.selector); s_rmnRemote.verify(OFF_RAMP_ADDRESS, s_merkleRoots, s_signatures); } - function test_RevertWhen_verify_UnexpectedSigner() public { + function test_verify_RevertWhen_UnexpectedSigner() public { _setupSigners(4); // create new signers that aren't configured on RMNRemote _generatePayloadAndSigs(2, 4); @@ -57,7 +53,7 @@ contract RMNRemote_verify_withConfigSet is RMNRemoteSetup { s_rmnRemote.verify(OFF_RAMP_ADDRESS, s_merkleRoots, s_signatures); } - function test_RevertWhen_verify_ThresholdNotMet() public { + function test_verify_RevertWhen_ThresholdNotMet() public { RMNRemote.Config memory config = RMNRemote.Config({rmnHomeContractConfigDigest: _randomBytes32(), signers: s_signers, f: 2}); // 3 = f+1 sigs required s_rmnRemote.setConfig(config);