diff --git a/contracts/.gas-snapshot b/contracts/.gas-snapshot index e793f8ce549..5a32426c5a0 100644 --- a/contracts/.gas-snapshot +++ b/contracts/.gas-snapshot @@ -1,142 +1,835 @@ -ArbitrumCrossDomainForwarder_AcceptL1Ownership:test_CallableByPendingL1Owner() (gas: 37568) -ArbitrumCrossDomainForwarder_AcceptL1Ownership:test_NotCallableByNonPendingOwners() (gas: 12963) -ArbitrumCrossDomainForwarder_Constructor:test_InitialState() (gas: 22163) -ArbitrumCrossDomainForwarder_Forward:test_Forward() (gas: 47867) -ArbitrumCrossDomainForwarder_Forward:test_ForwardRevert() (gas: 22181) -ArbitrumCrossDomainForwarder_Forward:test_NotCallableByUnknownAddress() (gas: 16056) -ArbitrumCrossDomainForwarder_TransferL1Ownership:test_CallableByL1Owner() (gas: 41453) -ArbitrumCrossDomainForwarder_TransferL1Ownership:test_CallableByL1OwnerOrZeroAddress() (gas: 19290) -ArbitrumCrossDomainForwarder_TransferL1Ownership:test_NotCallableByL2Owner() (gas: 18637) -ArbitrumCrossDomainForwarder_TransferL1Ownership:test_NotCallableByNonOwners() (gas: 13242) -ArbitrumCrossDomainGovernor_AcceptL1Ownership:test_CallableByPendingL1Owner() (gas: 37568) -ArbitrumCrossDomainGovernor_AcceptL1Ownership:test_NotCallableByNonPendingOwners() (gas: 12963) -ArbitrumCrossDomainGovernor_Constructor:test_InitialState() (gas: 22186) -ArbitrumCrossDomainGovernor_Forward:test_CallableByL2Owner() (gas: 50003) -ArbitrumCrossDomainGovernor_Forward:test_Forward() (gas: 47896) -ArbitrumCrossDomainGovernor_Forward:test_ForwardRevert() (gas: 24326) -ArbitrumCrossDomainGovernor_Forward:test_NotCallableByUnknownAddress() (gas: 18233) -ArbitrumCrossDomainGovernor_ForwardDelegate:test_BubbleUpRevert() (gas: 19386) -ArbitrumCrossDomainGovernor_ForwardDelegate:test_CallableByCrossDomainMessengerAddressOrL1Owner() (gas: 60874) -ArbitrumCrossDomainGovernor_ForwardDelegate:test_CallableByL2Owner() (gas: 63003) -ArbitrumCrossDomainGovernor_ForwardDelegate:test_NotCallableByUnknownAddress() (gas: 18245) -ArbitrumCrossDomainGovernor_ForwardDelegate:test_RevertsBatchWhenOneCallFails() (gas: 64368) -ArbitrumCrossDomainGovernor_TransferL1Ownership:test_CallableByL1Owner() (gas: 41453) -ArbitrumCrossDomainGovernor_TransferL1Ownership:test_CallableByL1OwnerOrZeroAddress() (gas: 19290) -ArbitrumCrossDomainGovernor_TransferL1Ownership:test_NotCallableByL2Owner() (gas: 18637) -ArbitrumCrossDomainGovernor_TransferL1Ownership:test_NotCallableByNonOwners() (gas: 13242) -ArbitrumSequencerUptimeFeed_AggregatorV3Interface:test_AggregatorV3Interface() (gas: 104862) -ArbitrumSequencerUptimeFeed_AggregatorV3Interface:test_Return0WhenRoundDoesNotExistYet() (gas: 19967) -ArbitrumSequencerUptimeFeed_Constants:test_InitialState() (gas: 8518) -ArbitrumSequencerUptimeFeed_ProtectReadsOnAggregatorV2V3InterfaceFunctions:test_AggregatorV2V3InterfaceAllowReadsIfConsumingContractIsWhitelisted() (gas: 604370) -ArbitrumSequencerUptimeFeed_ProtectReadsOnAggregatorV2V3InterfaceFunctions:test_AggregatorV2V3InterfaceDisallowReadsIfConsumingContractIsNotWhitelisted() (gas: 574432) -ArbitrumSequencerUptimeFeed_UpdateStatus:test_IgnoreOutOfOrderUpdates() (gas: 99629) -ArbitrumSequencerUptimeFeed_UpdateStatus:test_RevertIfNotL2CrossDomainMessengerAddr() (gas: 15447) -ArbitrumSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenStatusChangeAndNoTimeChange() (gas: 114625) -ArbitrumSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenStatusChangeAndTimeChange() (gas: 114708) -ArbitrumValidator_Validate:test_PostSequencerOffline() (gas: 69086) -OptimismCrossDomainForwarder_AcceptL1Ownership:test_CallableByPendingL1Owner() (gas: 47160) -OptimismCrossDomainForwarder_AcceptL1Ownership:test_NotCallableByNonPendingOwners() (gas: 22160) -OptimismCrossDomainForwarder_Constructor:test_InitialState() (gas: 21998) -OptimismCrossDomainForwarder_Forward:test_Forward() (gas: 58281) -OptimismCrossDomainForwarder_Forward:test_ForwardRevert() (gas: 32560) -OptimismCrossDomainForwarder_Forward:test_NotCallableByUnknownAddress() (gas: 13867) -OptimismCrossDomainForwarder_TransferL1Ownership:test_CallableByL1Owner() (gas: 48933) -OptimismCrossDomainForwarder_TransferL1Ownership:test_CallableByL1OwnerOrZeroAddress() (gas: 28753) -OptimismCrossDomainForwarder_TransferL1Ownership:test_NotCallableByL2Owner() (gas: 16448) -OptimismCrossDomainForwarder_TransferL1Ownership:test_NotCallableByNonOwners() (gas: 11053) -OptimismCrossDomainGovernor_AcceptL1Ownership:test_CallableByPendingL1Owner() (gas: 47160) -OptimismCrossDomainGovernor_AcceptL1Ownership:test_NotCallableByNonPendingOwners() (gas: 22160) -OptimismCrossDomainGovernor_Constructor:test_InitialState() (gas: 22021) -OptimismCrossDomainGovernor_Forward:test_CallableByL2Owner() (gas: 47846) -OptimismCrossDomainGovernor_Forward:test_Forward() (gas: 58330) -OptimismCrossDomainGovernor_Forward:test_ForwardRevert() (gas: 32619) -OptimismCrossDomainGovernor_Forward:test_NotCallableByUnknownAddress() (gas: 16047) -OptimismCrossDomainGovernor_ForwardDelegate:test_BubbleUpRevert() (gas: 29189) -OptimismCrossDomainGovernor_ForwardDelegate:test_CallableByCrossDomainMessengerAddressOrL1Owner() (gas: 72942) -OptimismCrossDomainGovernor_ForwardDelegate:test_CallableByL2Owner() (gas: 72947) -OptimismCrossDomainGovernor_ForwardDelegate:test_NotCallableByUnknownAddress() (gas: 16059) -OptimismCrossDomainGovernor_ForwardDelegate:test_RevertsBatchWhenOneCallFails() (gas: 76156) -OptimismCrossDomainGovernor_TransferL1Ownership:test_CallableByL1Owner() (gas: 48933) -OptimismCrossDomainGovernor_TransferL1Ownership:test_CallableByL1OwnerOrZeroAddress() (gas: 28753) -OptimismCrossDomainGovernor_TransferL1Ownership:test_NotCallableByL2Owner() (gas: 16448) -OptimismCrossDomainGovernor_TransferL1Ownership:test_NotCallableByNonOwners() (gas: 11053) -OptimismSequencerUptimeFeed_AggregatorV3Interface:test_AggregatorV3Interface() (gas: 72400) -OptimismSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetAnswerWhenRoundDoesNotExistYet() (gas: 17653) -OptimismSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetRoundDataWhenRoundDoesNotExistYet() (gas: 17893) -OptimismSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetTimestampWhenRoundDoesNotExistYet() (gas: 17642) -OptimismSequencerUptimeFeed_Constructor:test_InitialState() (gas: 22050) -OptimismSequencerUptimeFeed_ProtectReadsOnAggregatorV2V3InterfaceFunctions:test_AggregatorV2V3InterfaceAllowReadsIfConsumingContractIsWhitelisted() (gas: 601594) -OptimismSequencerUptimeFeed_ProtectReadsOnAggregatorV2V3InterfaceFunctions:test_AggregatorV2V3InterfaceDisallowReadsIfConsumingContractIsNotWhitelisted() (gas: 574437) -OptimismSequencerUptimeFeed_UpdateStatus:test_IgnoreOutOfOrderUpdates() (gas: 67873) -OptimismSequencerUptimeFeed_UpdateStatus:test_RevertIfNotL2CrossDomainMessengerAddr() (gas: 13079) -OptimismSequencerUptimeFeed_UpdateStatus:test_RevertIfNotL2CrossDomainMessengerAddrAndNotL1SenderAddr() (gas: 23542) -OptimismSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenNoChange() (gas: 77322) -OptimismSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenStatusChangeAndNoTimeChange() (gas: 96182) -OptimismSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenStatusChangeAndTimeChange() (gas: 96265) -OptimismValidator_SetGasLimit:test_CorrectlyUpdatesTheGasLimit() (gas: 18671) -OptimismValidator_Validate:test_PostSequencerOffline() (gas: 74790) -OptimismValidator_Validate:test_PostSequencerStatusWhenThereIsNotStatusChange() (gas: 74869) -OptimismValidator_Validate:test_RevertsIfCalledByAnAccountWithNoAccess() (gas: 15571) -ScrollCrossDomainForwarder_AcceptL1Ownership:test_CallableByPendingL1Owner() (gas: 47255) -ScrollCrossDomainForwarder_AcceptL1Ownership:test_NotCallableByNonPendingOwners() (gas: 22212) -ScrollCrossDomainForwarder_Constructor:test_InitialState() (gas: 21674) -ScrollCrossDomainForwarder_Forward:test_Forward() (gas: 58348) -ScrollCrossDomainForwarder_Forward:test_ForwardRevert() (gas: 32618) -ScrollCrossDomainForwarder_Forward:test_NotCallableByUnknownAddress() (gas: 13867) -ScrollCrossDomainForwarder_TransferL1Ownership:test_CallableByL1Owner() (gas: 48999) -ScrollCrossDomainForwarder_TransferL1Ownership:test_CallableByL1OwnerOrZeroAddress() (gas: 28819) -ScrollCrossDomainForwarder_TransferL1Ownership:test_NotCallableByL2Owner() (gas: 16448) -ScrollCrossDomainForwarder_TransferL1Ownership:test_NotCallableByNonOwners() (gas: 11053) -ScrollCrossDomainGovernor_AcceptL1Ownership:test_CallableByPendingL1Owner() (gas: 47255) -ScrollCrossDomainGovernor_AcceptL1Ownership:test_NotCallableByNonPendingOwners() (gas: 22212) -ScrollCrossDomainGovernor_Constructor:test_InitialState() (gas: 21697) -ScrollCrossDomainGovernor_Forward:test_CallableByL2Owner() (gas: 47841) -ScrollCrossDomainGovernor_Forward:test_Forward() (gas: 58392) -ScrollCrossDomainGovernor_Forward:test_ForwardRevert() (gas: 32674) -ScrollCrossDomainGovernor_Forward:test_NotCallableByUnknownAddress() (gas: 16044) -ScrollCrossDomainGovernor_ForwardDelegate:test_BubbleUpRevert() (gas: 29250) -ScrollCrossDomainGovernor_ForwardDelegate:test_CallableByCrossDomainMessengerAddressOrL1Owner() (gas: 73009) -ScrollCrossDomainGovernor_ForwardDelegate:test_CallableByL2Owner() (gas: 73014) -ScrollCrossDomainGovernor_ForwardDelegate:test_NotCallableByUnknownAddress() (gas: 16056) -ScrollCrossDomainGovernor_ForwardDelegate:test_RevertsBatchWhenOneCallFails() (gas: 76224) -ScrollCrossDomainGovernor_TransferL1Ownership:test_CallableByL1Owner() (gas: 48999) -ScrollCrossDomainGovernor_TransferL1Ownership:test_CallableByL1OwnerOrZeroAddress() (gas: 28819) -ScrollCrossDomainGovernor_TransferL1Ownership:test_NotCallableByL2Owner() (gas: 16448) -ScrollCrossDomainGovernor_TransferL1Ownership:test_NotCallableByNonOwners() (gas: 11053) -ScrollSequencerUptimeFeed_AggregatorV3Interface:test_AggregatorV3Interface() (gas: 72423) -ScrollSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetAnswerWhenRoundDoesNotExistYet() (gas: 17653) -ScrollSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetRoundDataWhenRoundDoesNotExistYet() (gas: 17893) -ScrollSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetTimestampWhenRoundDoesNotExistYet() (gas: 17642) -ScrollSequencerUptimeFeed_Constructor:test_InitialState() (gas: 173935) -ScrollSequencerUptimeFeed_ProtectReadsOnAggregatorV2V3InterfaceFunctions:test_AggregatorV2V3InterfaceAllowReadsIfConsumingContractIsWhitelisted() (gas: 601594) -ScrollSequencerUptimeFeed_ProtectReadsOnAggregatorV2V3InterfaceFunctions:test_AggregatorV2V3InterfaceDisallowReadsIfConsumingContractIsNotWhitelisted() (gas: 574437) -ScrollSequencerUptimeFeed_UpdateStatus:test_IgnoreOutOfOrderUpdates() (gas: 67919) -ScrollSequencerUptimeFeed_UpdateStatus:test_RevertIfNotL2CrossDomainMessengerAddr() (gas: 13079) -ScrollSequencerUptimeFeed_UpdateStatus:test_RevertIfNotL2CrossDomainMessengerAddrAndNotL1SenderAddr() (gas: 23542) -ScrollSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenNoChange() (gas: 77368) -ScrollSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenStatusChangeAndNoTimeChange() (gas: 96228) -ScrollSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenStatusChangeAndTimeChange() (gas: 96311) -ScrollValidator_SetGasLimit:test_CorrectlyUpdatesTheGasLimit() (gas: 18805) -ScrollValidator_Validate:test_PostSequencerOffline() (gas: 78326) -ScrollValidator_Validate:test_PostSequencerStatusWhenThereIsNotStatusChange() (gas: 78411) -ScrollValidator_Validate:test_RevertsIfCalledByAnAccountWithNoAccess() (gas: 15571) -ZKSyncSequencerUptimeFeed_AggregatorV3Interface:test_AggregatorV3Interface() (gas: 67166) -ZKSyncSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetAnswerWhenRoundDoesNotExistYet() (gas: 17653) -ZKSyncSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetRoundDataWhenRoundDoesNotExistYet() (gas: 17893) -ZKSyncSequencerUptimeFeed_AggregatorV3Interface:test_RevertGetTimestampWhenRoundDoesNotExistYet() (gas: 17642) -ZKSyncSequencerUptimeFeed_Constructor:test_InitialState() (gas: 22054) -ZKSyncSequencerUptimeFeed_ProtectReadsOnAggregatorV2V3InterfaceFunctions:test_AggregatorV2V3InterfaceAllowReadsIfConsumingContractIsWhitelisted() (gas: 601614) -ZKSyncSequencerUptimeFeed_ProtectReadsOnAggregatorV2V3InterfaceFunctions:test_AggregatorV2V3InterfaceDisallowReadsIfConsumingContractIsNotWhitelisted() (gas: 574443) -ZKSyncSequencerUptimeFeed_UpdateStatus:test_IgnoreOutOfOrderUpdates() (gas: 61924) -ZKSyncSequencerUptimeFeed_UpdateStatus:test_RevertIfNotL2CrossDomainMessengerAddr() (gas: 13035) -ZKSyncSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenNoChange() (gas: 71379) -ZKSyncSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenStatusChangeAndNoTimeChange() (gas: 90241) -ZKSyncSequencerUptimeFeed_UpdateStatus:test_UpdateStatusWhenStatusChangeAndTimeChange() (gas: 90324) -ZKSyncValidator_Constructor:test_ConstructingRevertedWithInvalidChainId() (gas: 103725) -ZKSyncValidator_Constructor:test_ConstructingRevertedWithZeroL1BridgeAddress() (gas: 81440) -ZKSyncValidator_Constructor:test_ConstructingRevertedWithZeroL2UpdateFeedAddress() (gas: 81497) -ZKSyncValidator_GetChainId:test_CorrectlyGetsTheChainId() (gas: 8350) -ZKSyncValidator_GetSetL2GasPerPubdataByteLimit:test_CorrectlyGetsAndUpdatesTheGasPerPubdataByteLimit() (gas: 18915) -ZKSyncValidator_Validate:test_PostSequencerOffline() (gas: 52255) -ZKSyncValidator_Validate:test_PostSequencerStatusWhenThereIsNotStatusChange() (gas: 52355) -ZKSyncValidator_Validate:test_RevertsIfCalledByAnAccountWithNoAccess() (gas: 15644) \ No newline at end of file +BurnFromMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 238950) +BurnFromMintTokenPool_lockOrBurn:test_RevertWhen_ChainNotAllowed() (gas: 20450) +BurnFromMintTokenPool_lockOrBurn:test_RevertWhen_PoolBurnRevertNotHealthy() (gas: 28089) +BurnFromMintTokenPool_lockOrBurn:test_setup() (gas: 24178) +BurnMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 236872) +BurnMintTokenPool_lockOrBurn:test_RevertWhen_ChainNotAllowed() (gas: 20609) +BurnMintTokenPool_lockOrBurn:test_RevertWhen_PoolBurnRevertNotHealthy() (gas: 28089) +BurnMintTokenPool_lockOrBurn:test_Setup() (gas: 17819) +BurnMintTokenPool_releaseOrMint:test_PoolMint() (gas: 102527) +BurnMintTokenPool_releaseOrMint:test_RevertWhen_ChainNotAllowed() (gas: 20436) +BurnMintTokenPool_releaseOrMint:test_RevertWhen_PoolMintNotHealthy() (gas: 27764) +BurnMintWithLockReleaseFlagTokenPool_lockOrBurn:test_LockOrBurn_CorrectReturnData() (gas: 237292) +BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurn() (gas: 239012) +BurnWithFromMintTokenPool_lockOrBurn:test_RevertWhen_ChainNotAllowed() (gas: 20450) +BurnWithFromMintTokenPool_lockOrBurn:test_RevertWhen_PoolBurnRevertNotHealthy() (gas: 28089) +BurnWithFromMintTokenPool_lockOrBurn:test_Setup() (gas: 24169) +CCIPClientExample_sanity:test_ImmutableExamples() (gas: 2074109) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_ABIEncodedAddress_OfframpAddressCannotBeZero() (gas: 289391) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_ABIEncodedAddress_RMNHomeAddressCannotBeZero() (gas: 289610) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_ChainSelectorNotFound() (gas: 292395) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_ChainSelectorNotSet() (gas: 288925) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_FChainTooHigh() (gas: 336557) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_FMustBePositive() (gas: 290757) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_FTooHigh() (gas: 290201) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_NotEnoughTransmitters() (gas: 1192814) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_NotEnoughTransmittersEmptyAddresses() (gas: 308847) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_OfframpAddressCannotBeZero() (gas: 289043) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_RMNHomeAddressCannotBeZero() (gas: 289236) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_TooManySigners() (gas: 776542) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_ZeroP2PId() (gas: 293622) +CCIPHome__validateConfig:test_RevertWhen__validateConfig_ZeroSignerKey() (gas: 293652) +CCIPHome__validateConfig:test__validateConfig() (gas: 300016) +CCIPHome__validateConfig:test__validateConfigLessTransmittersThanSigners() (gas: 332965) +CCIPHome__validateConfig:test__validateConfigSmallerFChain() (gas: 459322) +CCIPHome_applyChainConfigUpdates:test_RevertWhen__applyChainConfigUpdates_FChainNotPositive() (gas: 187800) +CCIPHome_applyChainConfigUpdates:test_RevertWhen_applyChainConfigUpdates_nodeNotInRegistry() (gas: 18065) +CCIPHome_applyChainConfigUpdates:test_RevertWhen_applyChainConfigUpdates_selectorNotFound() (gas: 14956) +CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_addChainConfigs() (gas: 350127) +CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_removeChainConfigs() (gas: 282241) +CCIPHome_applyChainConfigUpdates:test_getPaginatedCCIPHomes() (gas: 373692) +CCIPHome_beforeCapabilityConfigSet:test_RevertWhen_beforeCapabilityConfigSet_DONIdMismatch() (gas: 38008) +CCIPHome_beforeCapabilityConfigSet:test_RevertWhen_beforeCapabilityConfigSet_InnerCallReverts() (gas: 11725) +CCIPHome_beforeCapabilityConfigSet:test_RevertWhen_beforeCapabilityConfigSet_InvalidSelector() (gas: 11056) +CCIPHome_beforeCapabilityConfigSet:test_RevertWhen_beforeCapabilityConfigSet_OnlyCapabilitiesRegistryCanCall() (gas: 37045) +CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet() (gas: 1455733) +CCIPHome_constructor:test_RevertWhen_constructor_CapabilitiesRegistryAddressZero() (gas: 63905) +CCIPHome_constructor:test_constructor() (gas: 3547489) +CCIPHome_getAllConfigs:test_getAllConfigs() (gas: 2772793) +CCIPHome_getCapabilityConfiguration:test_getCapabilityConfiguration() (gas: 9073) +CCIPHome_getConfigDigests:test_getConfigDigests() (gas: 2547587) +CCIPHome_promoteCandidateAndRevokeActive:test_RevertWhen_promoteCandidateAndRevokeActive_CanOnlySelfCall() (gas: 9087) +CCIPHome_promoteCandidateAndRevokeActive:test_RevertWhen_promoteCandidateAndRevokeActive_ConfigDigestMismatch() (gas: 23075) +CCIPHome_promoteCandidateAndRevokeActive:test_RevertWhen_promoteCandidateAndRevokeActive_NoOpStateTransitionNotAllowed() (gas: 8840) +CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_multiplePlugins() (gas: 5113791) +CCIPHome_revokeCandidate:test_RevertWhen_revokeCandidate_CanOnlySelfCall() (gas: 9001) +CCIPHome_revokeCandidate:test_RevertWhen_revokeCandidate_ConfigDigestMismatch() (gas: 19084) +CCIPHome_revokeCandidate:test_RevertWhen_revokeCandidate_RevokingZeroDigestNotAllowed() (gas: 8773) +CCIPHome_revokeCandidate:test_revokeCandidate() (gas: 30647) +CCIPHome_setCandidate:test_RevertWhen_setCandidate_CanOnlySelfCall() (gas: 29277) +CCIPHome_setCandidate:test_RevertWhen_setCandidate_ConfigDigestMismatch() (gas: 1395432) +CCIPHome_setCandidate:test_setCandidate() (gas: 1365392) +CCIPHome_supportsInterface:test_supportsInterface() (gas: 9885) +DefensiveExampleTest:test_HappyPath() (gas: 200517) +DefensiveExampleTest:test_Recovery() (gas: 424996) +E2E:test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: 1491953) +ERC165CheckerReverting_supportsInterfaceReverting:test__supportsInterfaceReverting() (gas: 10445) +ERC165CheckerReverting_supportsInterfaceReverting:test__supportsInterfaceReverting_RevertWhen_NotEnoughGasForSupportsInterface() (gas: 5966) +EtherSenderReceiverTest_ccipReceive:testFuzz_ccipReceive(uint256) (runs: 257, μ: 27583, ~: 49844) +EtherSenderReceiverTest_ccipReceive:test_ccipReceive_fallbackToWethTransfer() (gas: 96964) +EtherSenderReceiverTest_ccipReceive:test_ccipReceive_happyPath() (gas: 49797) +EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongToken() (gas: 17460) +EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongTokenAmount() (gas: 15748) +EtherSenderReceiverTest_ccipSend:testFuzz_ccipSend(uint256,uint256) (runs: 257, μ: 78259, ~: 76795) +EtherSenderReceiverTest_ccipSend:testFuzz_ccipSend_feeToken(uint256,uint256) (runs: 257, μ: 124328, ~: 100474) +EtherSenderReceiverTest_ccipSend:test_RevertWhen_ccipSends_insufficientFee_feeToken() (gas: 100005) +EtherSenderReceiverTest_ccipSend:test_RevertWhen_ccipSends_insufficientFee_native() (gas: 76235) +EtherSenderReceiverTest_ccipSend:test_RevertWhen_ccipSends_insufficientFee_weth() (gas: 99984) +EtherSenderReceiverTest_ccipSend:test_ccipSend_feeToken() (gas: 145087) +EtherSenderReceiverTest_ccipSend:test_ccipSend_native() (gas: 80451) +EtherSenderReceiverTest_ccipSend:test_ccipSend_nativeExcess() (gas: 80616) +EtherSenderReceiverTest_ccipSend:test_ccipSend_weth() (gas: 96167) +EtherSenderReceiverTest_constructor:test_constructor() (gas: 17582) +EtherSenderReceiverTest_getFee:test_getFee() (gas: 27482) +EtherSenderReceiverTest_validateFeeToken:test_RevertWhen_validateFeeTokens_feeToken_tokenAmountNotEqualToMsgValue() (gas: 20396) +EtherSenderReceiverTest_validateFeeToken:test_validateFeeToken_valid_feeToken() (gas: 16700) +EtherSenderReceiverTest_validateFeeToken:test_validateFeeToken_valid_native() (gas: 16611) +EtherSenderReceiverTest_validatedMessage:testFuzz_validatedMessage_msgSenderOverwrite(bytes) (runs: 257, μ: 25886, ~: 25840) +EtherSenderReceiverTest_validatedMessage:testFuzz_validatedMessage_tokenAddressOverwrite(address) (runs: 257, μ: 25438, ~: 25438) +EtherSenderReceiverTest_validatedMessage:test_validatedMessage_dataOverwrittenToMsgSender() (gas: 25455) +EtherSenderReceiverTest_validatedMessage:test_validatedMessage_emptyDataOverwrittenToMsgSender() (gas: 25372) +EtherSenderReceiverTest_validatedMessage:test_validatedMessage_invalidTokenAmounts() (gas: 17955) +EtherSenderReceiverTest_validatedMessage:test_validatedMessage_tokenOverwrittenToWeth() (gas: 25327) +EtherSenderReceiverTest_validatedMessage:test_validatedMessage_validMessage_extraArgs() (gas: 26347) +FactoryBurnMintERC20_approve:test_Approve() (gas: 55786) +FactoryBurnMintERC20_approve:test_RevertWhen_InvalidAddresss() (gas: 10681) +FactoryBurnMintERC20_burn:test_BasicBurn() (gas: 172448) +FactoryBurnMintERC20_burn:test_RevertWhen_BurnFromZeroAddresss() (gas: 47412) +FactoryBurnMintERC20_burn:test_RevertWhen_ExceedsBalances() (gas: 21983) +FactoryBurnMintERC20_burn:test_RevertWhen_SenderNotBurners() (gas: 13541) +FactoryBurnMintERC20_burnFrom:test_BurnFrom() (gas: 58290) +FactoryBurnMintERC20_burnFrom:test_RevertWhen_ExceedsBalances() (gas: 36164) +FactoryBurnMintERC20_burnFrom:test_RevertWhen_InsufficientAllowances() (gas: 22113) +FactoryBurnMintERC20_burnFrom:test_RevertWhen_SenderNotBurners() (gas: 13541) +FactoryBurnMintERC20_burnFromAlias:test_BurnFrom() (gas: 58264) +FactoryBurnMintERC20_burnFromAlias:test_RevertWhen_ExceedsBalances() (gas: 36128) +FactoryBurnMintERC20_burnFromAlias:test_RevertWhen_InsufficientAllowances() (gas: 22068) +FactoryBurnMintERC20_burnFromAlias:test_RevertWhen_SenderNotBurners() (gas: 13496) +FactoryBurnMintERC20_constructor:test_Constructor() (gas: 1450297) +FactoryBurnMintERC20_decreaseApproval:test_DecreaseApproval() (gas: 31420) +FactoryBurnMintERC20_getCCIPAdmin:test_getCCIPAdmin() (gas: 12740) +FactoryBurnMintERC20_getCCIPAdmin:test_setCCIPAdmin() (gas: 23852) +FactoryBurnMintERC20_grantMintAndBurnRoles:test_GrantMintAndBurnRoles() (gas: 121216) +FactoryBurnMintERC20_grantRole:test_GrantBurnAccess() (gas: 53386) +FactoryBurnMintERC20_grantRole:test_GrantMany() (gas: 961708) +FactoryBurnMintERC20_grantRole:test_GrantMintAccess() (gas: 94181) +FactoryBurnMintERC20_increaseApproval:test_IncreaseApproval() (gas: 44421) +FactoryBurnMintERC20_mint:test_BasicMint() (gas: 149826) +FactoryBurnMintERC20_mint:test_RevertWhen_MaxSupplyExceededs() (gas: 50711) +FactoryBurnMintERC20_mint:test_RevertWhen_SenderNotMinters() (gas: 11373) +FactoryBurnMintERC20_supportsInterface:test_SupportsInterface() (gas: 11539) +FactoryBurnMintERC20_transfer:test_RevertWhen_InvalidAddresss() (gas: 10723) +FactoryBurnMintERC20_transfer:test_Transfer() (gas: 42505) +FeeQuoter_applyDestChainConfigUpdates:testFuzz_applyDestChainConfigUpdates_Success((uint64,(bool,uint16,uint32,uint32,uint32,uint16,uint32,uint16,uint16,uint16,uint32,uint32,uint64,uint32,uint32,bool,bytes4))) (runs: 257, μ: 95942, ~: 96402) +FeeQuoter_applyDestChainConfigUpdates:test_RevertWhen_InvalidChainFamilySelector() (gas: 16946) +FeeQuoter_applyDestChainConfigUpdates:test_RevertWhen_InvalidDestChainConfigDestChainSelectorEqZero() (gas: 16857) +FeeQuoter_applyDestChainConfigUpdates:test_RevertWhen_applyDestChainConfigUpdatesDefaultTxGasLimitEqZero() (gas: 16877) +FeeQuoter_applyDestChainConfigUpdates:test_RevertWhen_applyDestChainConfigUpdatesDefaultTxGasLimitGtMaxPerMessageGasLimit() (gas: 41471) +FeeQuoter_applyDestChainConfigUpdates:test_applyDestChainConfigUpdates() (gas: 141541) +FeeQuoter_applyDestChainConfigUpdates:test_applyDestChainConfigUpdatesZeroInput() (gas: 12536) +FeeQuoter_applyFeeTokensUpdates:test_ApplyFeeTokensUpdates() (gas: 162691) +FeeQuoter_applyFeeTokensUpdates:test_RevertWhen_OnlyCallableByOwner() (gas: 12203) +FeeQuoter_applyPremiumMultiplierWeiPerEthUpdates:testFuzz_applyPremiumMultiplierWeiPerEthUpdates_Success((address,uint64)) (runs: 257, μ: 38919, ~: 39307) +FeeQuoter_applyPremiumMultiplierWeiPerEthUpdates:test_RevertWhen_OnlyCallableByOwnerOrAdmin() (gas: 11506) +FeeQuoter_applyPremiumMultiplierWeiPerEthUpdates:test_applyPremiumMultiplierWeiPerEthUpdatesMultipleTokens() (gas: 54793) +FeeQuoter_applyPremiumMultiplierWeiPerEthUpdates:test_applyPremiumMultiplierWeiPerEthUpdatesSingleToken() (gas: 45276) +FeeQuoter_applyPremiumMultiplierWeiPerEthUpdates:test_applyPremiumMultiplierWeiPerEthUpdatesZeroInput() (gas: 12380) +FeeQuoter_applyTokenTransferFeeConfigUpdates:testFuzz_ApplyTokenTransferFeeConfig_Success((uint32,uint32,uint16,uint32,uint32,bool)[2]) (runs: 257, μ: 159579, ~: 159632) +FeeQuoter_applyTokenTransferFeeConfigUpdates:test_ApplyTokenTransferFeeConfig() (gas: 88736) +FeeQuoter_applyTokenTransferFeeConfigUpdates:test_ApplyTokenTransferFeeZeroInput() (gas: 13218) +FeeQuoter_applyTokenTransferFeeConfigUpdates:test_RevertWhen_InvalidDestBytesOverhead() (gas: 17189) +FeeQuoter_applyTokenTransferFeeConfigUpdates:test_RevertWhen_OnlyCallableByOwnerOrAdmin() (gas: 12305) +FeeQuoter_constructor:test_RevertWhen_InvalidLinkTokenEqZeroAddress() (gas: 106818) +FeeQuoter_constructor:test_RevertWhen_InvalidMaxFeeJuelsPerMsg() (gas: 111147) +FeeQuoter_constructor:test_RevertWhen_InvalidStalenessThreshold() (gas: 111179) +FeeQuoter_constructor:test_Setup() (gas: 5039899) +FeeQuoter_convertTokenAmount:testFuzz_ConvertTokenAmount_Success(uint256,uint224,uint160,uint224) (runs: 257, μ: 85620, ~: 85328) +FeeQuoter_convertTokenAmount:test_ConvertTokenAmount() (gas: 68417) +FeeQuoter_convertTokenAmount:test_RevertWhen_LinkTokenNotSupported() (gas: 29299) +FeeQuoter_getDataAvailabilityCost:testFuzz_CalculateDataAvailabilityCost_Success(uint64,uint32,uint16,uint16,uint112,uint64,uint32,uint32) (runs: 257, μ: 82788, ~: 82933) +FeeQuoter_getDataAvailabilityCost:testFuzz_ZeroDataAvailabilityGasPriceAlwaysCalculatesZeroDataAvailabilityCost_Success(uint64,uint32,uint32) (runs: 257, μ: 15228, ~: 15228) +FeeQuoter_getDataAvailabilityCost:test_EmptyMessageCalculatesDataAvailabilityCost() (gas: 96377) +FeeQuoter_getDataAvailabilityCost:test_SimpleMessageCalculatesDataAvailabilityCost() (gas: 21075) +FeeQuoter_getDataAvailabilityCost:test_SimpleMessageCalculatesDataAvailabilityCostUnsupportedDestChainSelector() (gas: 14836) +FeeQuoter_getTokenAndGasPrices:test_GetFeeTokenAndGasPrices() (gas: 73123) +FeeQuoter_getTokenAndGasPrices:test_RevertWhen_StaleGasPrice() (gas: 26493) +FeeQuoter_getTokenAndGasPrices:test_RevertWhen_UnsupportedChain() (gas: 16218) +FeeQuoter_getTokenAndGasPrices:test_StalenessCheckDisabled() (gas: 111926) +FeeQuoter_getTokenAndGasPrices:test_ZeroGasPrice() (gas: 109013) +FeeQuoter_getTokenPrice:test_GetTokenPriceFromFeed() (gas: 68180) +FeeQuoter_getTokenPrice:test_GetTokenPrice_LocalMoreRecent() (gas: 33568) +FeeQuoter_getTokenPrices:test_GetTokenPrices() (gas: 78534) +FeeQuoter_getTokenTransferCost:testFuzz_TokenTransferFeeDuplicateTokens_Success(uint256,uint256) (runs: 257, μ: 60683, ~: 60696) +FeeQuoter_getTokenTransferCost:test_CustomTokenBpsFee() (gas: 37322) +FeeQuoter_getTokenTransferCost:test_FeeTokenBpsFee() (gas: 35101) +FeeQuoter_getTokenTransferCost:test_LargeTokenTransferChargesMaxFeeAndGas() (gas: 28149) +FeeQuoter_getTokenTransferCost:test_MixedTokenTransferFee() (gas: 96077) +FeeQuoter_getTokenTransferCost:test_NoTokenTransferChargesZeroFee() (gas: 20587) +FeeQuoter_getTokenTransferCost:test_SmallTokenTransferChargesMinFeeAndGas() (gas: 27978) +FeeQuoter_getTokenTransferCost:test_ZeroAmountTokenTransferChargesMinFeeAndGas() (gas: 27979) +FeeQuoter_getTokenTransferCost:test_ZeroFeeConfigChargesMinFee() (gas: 40537) +FeeQuoter_getTokenTransferCost:test_getTokenTransferCost_selfServeUsesDefaults() (gas: 29706) +FeeQuoter_getValidatedFee:testFuzz_EnforceOutOfOrder(bool,bool) (runs: 257, μ: 55615, ~: 55054) +FeeQuoter_getValidatedFee:test_EmptyMessage() (gas: 83608) +FeeQuoter_getValidatedFee:test_HighGasMessage() (gas: 240058) +FeeQuoter_getValidatedFee:test_MessageWithDataAndTokenTransfer() (gas: 143671) +FeeQuoter_getValidatedFee:test_RevertWhen_DestinationChainNotEnabled() (gas: 18472) +FeeQuoter_getValidatedFee:test_RevertWhen_EnforceOutOfOrder() (gas: 53397) +FeeQuoter_getValidatedFee:test_RevertWhen_InvalidEVMAddress() (gas: 22662) +FeeQuoter_getValidatedFee:test_RevertWhen_MessageGasLimitTooHigh() (gas: 29930) +FeeQuoter_getValidatedFee:test_RevertWhen_MessageTooLarge() (gas: 100430) +FeeQuoter_getValidatedFee:test_RevertWhen_NotAFeeToken() (gas: 21298) +FeeQuoter_getValidatedFee:test_RevertWhen_TooManyTokens() (gas: 23419) +FeeQuoter_getValidatedFee:test_SingleTokenMessage() (gas: 115178) +FeeQuoter_getValidatedFee:test_ZeroDataAvailabilityMultiplier() (gas: 63919) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPrice() (gas: 58905) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeed() (gas: 65115) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeedErc20Above18Decimals() (gas: 1897724) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeedErc20Below18Decimals() (gas: 1897766) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeedFeedAt0Decimals() (gas: 1877822) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeedFeedAt18Decimals() (gas: 1897564) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeedFlippedDecimals() (gas: 1897700) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeedMaxInt224Value() (gas: 1897534) +FeeQuoter_getValidatedTokenPrice:test_GetValidatedTokenPriceFromFeedOverStalenessPeriod() (gas: 65233) +FeeQuoter_getValidatedTokenPrice:test_RevertWhen_OverflowFeedPrice() (gas: 1897163) +FeeQuoter_getValidatedTokenPrice:test_RevertWhen_TokenNotSupported() (gas: 14182) +FeeQuoter_getValidatedTokenPrice:test_RevertWhen_TokenNotSupportedFeed() (gas: 116988) +FeeQuoter_getValidatedTokenPrice:test_RevertWhen_UnderflowFeedPrice() (gas: 1895862) +FeeQuoter_getValidatedTokenPrice:test_StaleFeeToken() (gas: 61854) +FeeQuoter_onReport:test_OnReport_SkipPriceUpdateWhenStaleUpdateReceived() (gas: 52631) +FeeQuoter_onReport:test_RevertWhen_onReportWhen_InvalidForwarder() (gas: 29701) +FeeQuoter_onReport:test_RevertWhen_onReportWhen_TokenNotSupported() (gas: 35418) +FeeQuoter_onReport:test_onReport() (gas: 89096) +FeeQuoter_onReport:test_onReport_withKeystoneForwarderContract() (gas: 122724) +FeeQuoter_parseEVMExtraArgsFromBytes:test_EVMExtraArgsDefault() (gas: 17207) +FeeQuoter_parseEVMExtraArgsFromBytes:test_EVMExtraArgsV1() (gas: 18283) +FeeQuoter_parseEVMExtraArgsFromBytes:test_EVMExtraArgsV2() (gas: 18391) +FeeQuoter_parseEVMExtraArgsFromBytes:test_RevertWhen_EVMExtraArgsEnforceOutOfOrder() (gas: 21263) +FeeQuoter_parseEVMExtraArgsFromBytes:test_RevertWhen_EVMExtraArgsGasLimitTooHigh() (gas: 18373) +FeeQuoter_parseEVMExtraArgsFromBytes:test_RevertWhen_EVMExtraArgsInvalidExtraArgsTag() (gas: 17849) +FeeQuoter_processMessageArgs:test_RevertWhen_applyTokensTransferFeeConfigUpdates_InvalidFeeRange() (gas: 21152) +FeeQuoter_processMessageArgs:test_RevertWhen_processMessageArgs_InvalidEVMAddressDestToken() (gas: 44980) +FeeQuoter_processMessageArgs:test_RevertWhen_processMessageArgs_InvalidExtraArgs() (gas: 19980) +FeeQuoter_processMessageArgs:test_RevertWhen_processMessageArgs_MalformedEVMExtraArgs() (gas: 20408) +FeeQuoter_processMessageArgs:test_RevertWhen_processMessageArgs_MessageFeeTooHigh() (gas: 17972) +FeeQuoter_processMessageArgs:test_RevertWhen_processMessageArgs_SourceTokenDataTooLarge() (gas: 123241) +FeeQuoter_processMessageArgs:test_RevertWhen_processMessageArgs_TokenAmountArraysMismatching() (gas: 42284) +FeeQuoter_processMessageArgs:test_processMessageArgs_WitEVMExtraArgsV2() (gas: 28669) +FeeQuoter_processMessageArgs:test_processMessageArgs_WithConvertedTokenAmount() (gas: 30001) +FeeQuoter_processMessageArgs:test_processMessageArgs_WithCorrectPoolReturnData() (gas: 76624) +FeeQuoter_processMessageArgs:test_processMessageArgs_WithEVMExtraArgsV1() (gas: 28300) +FeeQuoter_processMessageArgs:test_processMessageArgs_WithEmptyEVMExtraArgs() (gas: 26158) +FeeQuoter_processMessageArgs:test_processMessageArgs_WithLinkTokenAmount() (gas: 19641) +FeeQuoter_supportsInterface:test_SupportsInterface() (gas: 13264) +FeeQuoter_updatePrices:test_OnlyGasPrice() (gas: 23912) +FeeQuoter_updatePrices:test_OnlyTokenPrice() (gas: 28761) +FeeQuoter_updatePrices:test_RevertWhen_OnlyCallableByUpdater() (gas: 12255) +FeeQuoter_updatePrices:test_UpdatableByAuthorizedCaller() (gas: 74821) +FeeQuoter_updatePrices:test_UpdateMultiplePrices() (gas: 146024) +FeeQuoter_updateTokenPriceFeeds:test_FeedNotUpdated() (gas: 52517) +FeeQuoter_updateTokenPriceFeeds:test_FeedUnset() (gas: 66506) +FeeQuoter_updateTokenPriceFeeds:test_MultipleFeedUpdate() (gas: 93647) +FeeQuoter_updateTokenPriceFeeds:test_RevertWhen_FeedUpdatedByNonOwner() (gas: 20053) +FeeQuoter_updateTokenPriceFeeds:test_SingleFeedUpdate() (gas: 53215) +FeeQuoter_updateTokenPriceFeeds:test_ZeroFeeds() (gas: 12471) +FeeQuoter_validateDestFamilyAddress:test_RevertWhen_InvalidEVMAddress() (gas: 10985) +FeeQuoter_validateDestFamilyAddress:test_RevertWhen_InvalidEVMAddressEncodePacked() (gas: 10744) +FeeQuoter_validateDestFamilyAddress:test_RevertWhen_InvalidEVMAddressPrecompiles() (gas: 4055822) +FeeQuoter_validateDestFamilyAddress:test_ValidEVMAddress() (gas: 6789) +FeeQuoter_validateDestFamilyAddress:test_ValidNonEVMAddress() (gas: 6514) +HybridLockReleaseUSDCTokenPool_TransferLiquidity:test_RevertWhen_cannotTransferLiquidityDuringPendingMigration() (gas: 176881) +HybridLockReleaseUSDCTokenPool_TransferLiquidity:test_transferLiquidity() (gas: 167013) +HybridLockReleaseUSDCTokenPool_lockOrBurn:test_PrimaryMechanism() (gas: 130356) +HybridLockReleaseUSDCTokenPool_lockOrBurn:test_RevertWhen_WhileMigrationPause() (gas: 109804) +HybridLockReleaseUSDCTokenPool_lockOrBurn:test_onLockReleaseMechanism() (gas: 140104) +HybridLockReleaseUSDCTokenPool_lockOrBurn:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 202967) +HybridLockReleaseUSDCTokenPool_releaseOrMint:test_OnLockReleaseMechanism() (gas: 206218) +HybridLockReleaseUSDCTokenPool_releaseOrMint:test_RevertWhen_WhileMigrationPause() (gas: 102796) +HybridLockReleaseUSDCTokenPool_releaseOrMint:test_incomingMessageWithPrimaryMechanism() (gas: 260387) +LockReleaseTokenPool_canAcceptLiquidity:test_CanAcceptLiquidity() (gas: 3222607) +LockReleaseTokenPool_lockOrBurn:testFuzz_LockOrBurnNoAllowList_Success(uint256) (runs: 257, μ: 52322, ~: 52056) +LockReleaseTokenPool_lockOrBurn:test_LockOrBurnWithAllowList() (gas: 72828) +LockReleaseTokenPool_lockOrBurn:test_RevertWhen_LockOrBurnWithAllowList() (gas: 22923) +LockReleaseTokenPool_lockOrBurn:test_RevertWhen_PoolBurnRevertNotHealthy() (gas: 32449) +LockReleaseTokenPool_provideLiquidity:testFuzz_ExceedsAllowance(uint256) (runs: 257, μ: 17797, ~: 17797) +LockReleaseTokenPool_provideLiquidity:testFuzz_ProvideLiquidity_Success(uint256) (runs: 257, μ: 60147, ~: 60401) +LockReleaseTokenPool_provideLiquidity:test_RevertWhen_LiquidityNotAccepted() (gas: 3218910) +LockReleaseTokenPool_provideLiquidity:test_RevertWhen_Unauthorized() (gas: 11489) +LockReleaseTokenPool_releaseOrMint:testFuzz_ReleaseOrMint_Success(address,uint256) (runs: 257, μ: 222227, ~: 232806) +LockReleaseTokenPool_releaseOrMint:test_ReleaseOrMint() (gas: 217898) +LockReleaseTokenPool_releaseOrMint:test_RevertWhen_ChainNotAllowed() (gas: 68535) +LockReleaseTokenPool_releaseOrMint:test_RevertWhen_PoolMintNotHealthy() (gas: 27918) +LockReleaseTokenPool_setRebalancer:test_RevertWhen_SetRebalancer() (gas: 11003) +LockReleaseTokenPool_setRebalancer:test_SetRebalancer() (gas: 18183) +LockReleaseTokenPool_supportsInterface:test_SupportsInterface() (gas: 10251) +LockReleaseTokenPool_transferLiquidity:test_RevertWhen_transferLiquidity_transferTooMuch() (gas: 56079) +LockReleaseTokenPool_transferLiquidity:test_transferLiquidity() (gas: 83263) +LockReleaseTokenPool_withdrawalLiquidity:testFuzz_WithdrawalLiquidity_Success(uint256) (runs: 257, μ: 64793, ~: 65147) +LockReleaseTokenPool_withdrawalLiquidity:test_RevertWhen_InsufficientLiquidity() (gas: 60197) +LockReleaseTokenPool_withdrawalLiquidity:test_RevertWhen_Unauthorized() (gas: 11420) +MerkleMultiProofTest:testFuzz_MerkleMulti1of4(bytes32,bytes32,bytes32) (runs: 257, μ: 9909, ~: 9908) +MerkleMultiProofTest:testFuzz_MerkleMulti2of4(bytes32,bytes32,bytes32,bytes32) (runs: 257, μ: 11613, ~: 11618) +MerkleMultiProofTest:testFuzz_MerkleMulti3of4(bytes32,bytes32,bytes32,bytes32) (runs: 257, μ: 11629, ~: 11633) +MerkleMultiProofTest:testFuzz_MerkleMulti4of4(bytes32,bytes32,bytes32,bytes32) (runs: 257, μ: 11585, ~: 11590) +MerkleMultiProofTest:testFuzz_MerkleRoot2(bytes32,bytes32) (runs: 257, μ: 8140, ~: 8145) +MerkleMultiProofTest:test_CVE_2023_34459() (gas: 5456) +MerkleMultiProofTest:test_MerkleRoot256() (gas: 396915) +MerkleMultiProofTest:test_MerkleRootSingleLeaf() (gas: 3684) +MerkleMultiProofTest:test_RevertWhen_EmptyLeaf() (gas: 3563) +MerkleMultiProofTest:test_SpecSync_gas() (gas: 34152) +MessageTransformerOffRamp_executeSingleMessage:test_executeSingleMessage_WithMessageTransformer() (gas: 62268) +MessageTransformerOffRamp_executeSingleMessage:test_executeSingleMessage_WithMessageTransformer_RevertWhen_UnknownChain() (gas: 54475) +MessageTransformerOnRamp_forwardFromRouter:test_MessageTransformerError_Revert() (gas: 206072) +MessageTransformerOnRamp_forwardFromRouter:test_forwardFromRouter_WithMessageTransformer_Success() (gas: 244553) +MockRouterTest:test_RevertWhen_ccipSendWithInsufficientNativeTokens() (gas: 34041) +MockRouterTest:test_RevertWhen_ccipSendWithInvalidEVMExtraArgs() (gas: 106708) +MockRouterTest:test_RevertWhen_ccipSendWithInvalidMsgValue() (gas: 60855) +MockRouterTest:test_RevertWhen_ccipSendWithLinkFeeTokenbutInsufficientAllowance() (gas: 63473) +MockRouterTest:test_ccipSendWithEVMExtraArgsV1() (gas: 110081) +MockRouterTest:test_ccipSendWithEVMExtraArgsV2() (gas: 132594) +MockRouterTest:test_ccipSendWithLinkFeeTokenAndValidMsgValue() (gas: 126679) +MockRouterTest:test_ccipSendWithSufficientNativeFeeTokens() (gas: 44038) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_MultipleConfigs() (gas: 317373) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_MultipleConfigsBothLanes() (gas: 134278) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_RevertWhen_ConfigRateMoreThanCapacity() (gas: 16608) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_RevertWhen_ConfigRateZero() (gas: 16688) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_RevertWhen_DiableConfigCapacityNonZero() (gas: 16663) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_RevertWhen_DisableConfigRateNonZero() (gas: 16624) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_RevertWhen_OnlyCallableByOwner() (gas: 17496) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_RevertWhen_ZeroChainSelector() (gas: 17186) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_SingleConfig() (gas: 76755) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_SingleConfigOutbound() (gas: 76797) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_UpdateExistingConfig() (gas: 54084) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_UpdateExistingConfigWithNoDifference() (gas: 38924) +MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_ZeroConfigs() (gas: 12505) +MultiAggregateRateLimiter_constructor:test_Constructor() (gas: 2102740) +MultiAggregateRateLimiter_constructor:test_ConstructorNoAuthorizedCallers() (gas: 1986594) +MultiAggregateRateLimiter_getTokenBucket:test_GetTokenBucket() (gas: 30888) +MultiAggregateRateLimiter_getTokenBucket:test_Refill() (gas: 48378) +MultiAggregateRateLimiter_getTokenBucket:test_RevertWhen_TimeUnderflow() (gas: 15914) +MultiAggregateRateLimiter_getTokenValue:test_GetTokenValue() (gas: 17616) +MultiAggregateRateLimiter_getTokenValue:test_RevertWhen_NoTokenPrices() (gas: 21707) +MultiAggregateRateLimiter_onInboundMessage:test_RevertWhen_ValidateMessageFromUnauthorizedCaller() (gas: 14746) +MultiAggregateRateLimiter_onInboundMessage:test_RevertWhen_ValidateMessageWithRateLimitExceeded() (gas: 46815) +MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithDifferentTokensOnDifferentChains() (gas: 211462) +MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithDisabledRateLimitToken() (gas: 58832) +MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithNoTokens() (gas: 17918) +MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithRateLimitDisabled() (gas: 45460) +MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithRateLimitReset() (gas: 77765) +MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithTokens() (gas: 50967) +MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithTokensOnDifferentChains() (gas: 310077) +MultiAggregateRateLimiter_onOutboundMessage:test_RateLimitValueDifferentLanes() (gas: 51611) +MultiAggregateRateLimiter_onOutboundMessage:test_RevertWhen_onOutboundMessage_ValidateMessageFromUnauthorizedCaller() (gas: 15956) +MultiAggregateRateLimiter_onOutboundMessage:test_RevertWhen_onOutboundMessage_ValidateMessageWithRateLimitExceeded() (gas: 48480) +MultiAggregateRateLimiter_onOutboundMessage:test_ValidateMessageWithNoTokens() (gas: 19379) +MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageWithDifferentTokensOnDifferentChains() (gas: 211014) +MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageWithDisabledRateLimitToken() (gas: 60544) +MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageWithRateLimitDisabled() (gas: 47112) +MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageWithRateLimitReset() (gas: 78506) +MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageWithTokens() (gas: 52677) +MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageWithTokensOnDifferentChains() (gas: 309835) +MultiAggregateRateLimiter_setFeeQuoter:test_Owner() (gas: 19146) +MultiAggregateRateLimiter_setFeeQuoter:test_RevertWhen_OnlyOwner() (gas: 11022) +MultiAggregateRateLimiter_setFeeQuoter:test_RevertWhen_ZeroAddress() (gas: 10632) +MultiAggregateRateLimiter_updateRateLimitTokens:test_RevertWhen_NonOwner() (gas: 18969) +MultiAggregateRateLimiter_updateRateLimitTokens:test_RevertWhen_ZeroDestToken() (gas: 18478) +MultiAggregateRateLimiter_updateRateLimitTokens:test_RevertWhen_ZeroDestToken_AbiEncoded() (gas: 14157) +MultiAggregateRateLimiter_updateRateLimitTokens:test_RevertWhen_ZeroSourceToken() (gas: 18385) +MultiAggregateRateLimiter_updateRateLimitTokens:test_UpdateRateLimitTokensMultipleChains() (gas: 281364) +MultiAggregateRateLimiter_updateRateLimitTokens:test_UpdateRateLimitTokensSingleChain() (gas: 255770) +MultiAggregateRateLimiter_updateRateLimitTokens:test_UpdateRateLimitTokens_AddsAndRemoves() (gas: 205543) +MultiAggregateRateLimiter_updateRateLimitTokens:test_UpdateRateLimitTokens_RemoveNonExistentToken() (gas: 29151) +MultiOCR3Base_setOCR3Configs:testFuzz_SetConfig_Success((bytes32,uint8,uint8,bool,address[],address[]),uint64) (runs: 256, μ: 12400698, ~: 12155010) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_FMustBePositive() (gas: 59437) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_FTooHigh() (gas: 44086) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_MoreTransmittersThanSigners() (gas: 104799) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_NoTransmitters() (gas: 18732) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_RepeatSignerAddress() (gas: 283771) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_RepeatTransmitterAddress() (gas: 422464) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_SignerCannotBeZeroAddress() (gas: 141821) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_StaticConfigChange() (gas: 807733) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_TooManySigners() (gas: 160363) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_TooManyTransmitters() (gas: 113853) +MultiOCR3Base_setOCR3Configs:test_RevertWhen_TransmitterCannotBeZeroAddress() (gas: 254113) +MultiOCR3Base_setOCR3Configs:test_SetConfigIgnoreSigners() (gas: 512335) +MultiOCR3Base_setOCR3Configs:test_SetConfigWithSigners() (gas: 829238) +MultiOCR3Base_setOCR3Configs:test_SetConfigWithSignersMismatchingTransmitters() (gas: 680660) +MultiOCR3Base_setOCR3Configs:test_SetConfigWithoutSigners() (gas: 457485) +MultiOCR3Base_setOCR3Configs:test_SetConfigsZeroInput() (gas: 12437) +MultiOCR3Base_setOCR3Configs:test_SetMultipleConfigs() (gas: 2142785) +MultiOCR3Base_setOCR3Configs:test_UpdateConfigSigners() (gas: 861909) +MultiOCR3Base_setOCR3Configs:test_UpdateConfigTransmittersWithoutSigners() (gas: 476109) +MultiOCR3Base_transmit:testFuzz_TransmitSignersWithSignatures_Success(uint8,uint64) (runs: 257, μ: 23602, ~: 24163) +MultiOCR3Base_transmit:test_RevertWhen_ConfigDigestMismatch() (gas: 42722) +MultiOCR3Base_transmit:test_RevertWhen_ForkedChain() (gas: 48346) +MultiOCR3Base_transmit:test_RevertWhen_InsufficientSignatures() (gas: 76942) +MultiOCR3Base_transmit:test_RevertWhen_NonUniqueSignature() (gas: 65634) +MultiOCR3Base_transmit:test_RevertWhen_SignatureOutOfRegistration() (gas: 33353) +MultiOCR3Base_transmit:test_RevertWhen_TooManySignatures() (gas: 79590) +MultiOCR3Base_transmit:test_RevertWhen_TransmitWithExtraCalldataArgs() (gas: 47094) +MultiOCR3Base_transmit:test_RevertWhen_TransmitWithLessCalldataArgs() (gas: 25585) +MultiOCR3Base_transmit:test_RevertWhen_UnAuthorizedTransmitter() (gas: 24160) +MultiOCR3Base_transmit:test_RevertWhen_UnauthorizedSigner() (gas: 60984) +MultiOCR3Base_transmit:test_RevertWhen_UnconfiguredPlugin() (gas: 39758) +MultiOCR3Base_transmit:test_RevertWhen_ZeroSignatures() (gas: 32898) +MultiOCR3Base_transmit:test_TransmitSigners_gas() (gas: 33559) +MultiOCR3Base_transmit:test_TransmitWithoutSignatureVerification_gas() (gas: 18638) +NonceManager_applyPreviousRampsUpdates:test_MultipleRampsUpdates() (gas: 123595) +NonceManager_applyPreviousRampsUpdates:test_PreviousRampAlreadySet_overrideAllowed() (gas: 45935) +NonceManager_applyPreviousRampsUpdates:test_RevertWhen_applyPreviousRampsUpdatesWhen_PreviousRampAlreadySetOffRamp() (gas: 43351) +NonceManager_applyPreviousRampsUpdates:test_RevertWhen_applyPreviousRampsUpdatesWhen_PreviousRampAlreadySetOnRamp() (gas: 43173) +NonceManager_applyPreviousRampsUpdates:test_RevertWhen_applyPreviousRampsUpdatesWhen_PreviousRampAlreadySetOnRampAndOffRamp_Revert() (gas: 64724) +NonceManager_applyPreviousRampsUpdates:test_SingleRampUpdate() (gas: 66937) +NonceManager_applyPreviousRampsUpdates:test_ZeroInput() (gas: 12145) +NonceManager_getInboundNonce:test_getInboundNonce_NoPrevOffRampForChain() (gas: 179151) +NonceManager_getInboundNonce:test_getInboundNonce_Upgraded() (gas: 146340) +NonceManager_getInboundNonce:test_getInboundNonce_UpgradedNonceNewSenderStartsAtZero() (gas: 182621) +NonceManager_getInboundNonce:test_getInboundNonce_UpgradedNonceStartsAtV1Nonce() (gas: 245579) +NonceManager_getInboundNonce:test_getInboundNonce_UpgradedOffRampNonceSkipsIfMsgInFlight() (gas: 213980) +NonceManager_getInboundNonce:test_getInboundNonce_UpgradedSenderNoncesReadsPreviousRamp() (gas: 60418) +NonceManager_getIncrementedOutboundNonce:test_getIncrementedOutboundNonce() (gas: 37974) +NonceManager_getIncrementedOutboundNonce:test_incrementInboundNonce() (gas: 38746) +NonceManager_getIncrementedOutboundNonce:test_incrementInboundNonce_SkippedIncorrectNonce() (gas: 23739) +NonceManager_getIncrementedOutboundNonce:test_incrementNoncesInboundAndOutbound() (gas: 71886) +NonceManager_getOutboundNonce:test_getOutboundNonce_Upgrade() (gas: 105567) +NonceManager_getOutboundNonce:test_getOutboundNonce_UpgradeNonceNewSenderStartsAtZero() (gas: 166712) +NonceManager_getOutboundNonce:test_getOutboundNonce_UpgradeNonceStartsAtV1Nonce() (gas: 196745) +NonceManager_getOutboundNonce:test_getOutboundNonce_UpgradeSenderNoncesReadsPreviousRamp() (gas: 141040) +OffRamp_afterOC3ConfigSet:test_RevertWhen_afterOCR3ConfigSet_SignatureVerificationDisabled() (gas: 5978190) +OffRamp_applySourceChainConfigUpdates:testFuzz_applySourceChainConfigUpdate_Success((address,uint64,bool,bytes)) (runs: 33, μ: 300644, ~: 288337) +OffRamp_applySourceChainConfigUpdates:test_AddMultipleChains() (gas: 626140) +OffRamp_applySourceChainConfigUpdates:test_AddNewChain() (gas: 166441) +OffRamp_applySourceChainConfigUpdates:test_ApplyZeroUpdates() (gas: 16671) +OffRamp_applySourceChainConfigUpdates:test_ReplaceExistingChain() (gas: 180998) +OffRamp_applySourceChainConfigUpdates:test_ReplaceExistingChainOnRamp() (gas: 168513) +OffRamp_applySourceChainConfigUpdates:test_RevertWhen_InvalidOnRampUpdate() (gas: 274542) +OffRamp_applySourceChainConfigUpdates:test_RevertWhen_RouterAddress() (gas: 13427) +OffRamp_applySourceChainConfigUpdates:test_RevertWhen_ZeroOnRampAddress() (gas: 72716) +OffRamp_applySourceChainConfigUpdates:test_RevertWhen_ZeroSourceChainSelector() (gas: 15483) +OffRamp_applySourceChainConfigUpdates:test_allowNonOnRampUpdateAfterLaneIsUsed() (gas: 284861) +OffRamp_batchExecute:test_MultipleReportsDifferentChains() (gas: 326763) +OffRamp_batchExecute:test_MultipleReportsDifferentChainsSkipCursedChain() (gas: 171097) +OffRamp_batchExecute:test_MultipleReportsSameChain() (gas: 270062) +OffRamp_batchExecute:test_MultipleReportsSkipDuplicate() (gas: 162056) +OffRamp_batchExecute:test_RevertWhen_OutOfBoundsGasLimitsAccess() (gas: 181295) +OffRamp_batchExecute:test_RevertWhen_ZeroReports() (gas: 10643) +OffRamp_batchExecute:test_SingleReport() (gas: 149862) +OffRamp_batchExecute:test_Unhealthy() (gas: 533830) +OffRamp_ccipReceive:test_RevertWhen_Always() (gas: 9253) +OffRamp_commit:test_OnlyGasPriceUpdates() (gas: 112973) +OffRamp_commit:test_OnlyTokenPriceUpdates() (gas: 112927) +OffRamp_commit:test_PriceSequenceNumberCleared() (gas: 355361) +OffRamp_commit:test_ReportAndPriceUpdate() (gas: 164209) +OffRamp_commit:test_ReportOnlyRootSuccess_gas() (gas: 141051) +OffRamp_commit:test_RevertWhen_CommitOnRampMismatch() (gas: 92591) +OffRamp_commit:test_RevertWhen_FailedRMNVerifications() (gas: 63304) +OffRamp_commit:test_RevertWhen_InvalidInterval() (gas: 65947) +OffRamp_commit:test_RevertWhen_InvalidIntervalMinLargerThanMax() (gas: 69745) +OffRamp_commit:test_RevertWhen_InvalidRoot() (gas: 64997) +OffRamp_commit:test_RevertWhen_NoConfig() (gas: 6322647) +OffRamp_commit:test_RevertWhen_NoConfigWithOtherConfigPresent() (gas: 6739333) +OffRamp_commit:test_RevertWhen_OnlyPriceUpdateStaleReport() (gas: 121016) +OffRamp_commit:test_RevertWhen_RootAlreadyCommitted() (gas: 147858) +OffRamp_commit:test_RevertWhen_SourceChainNotEnabled() (gas: 61419) +OffRamp_commit:test_RevertWhen_UnauthorizedTransmitter() (gas: 125315) +OffRamp_commit:test_RevertWhen_Unhealthy() (gas: 60260) +OffRamp_commit:test_RevertWhen_ZeroEpochAndRound() (gas: 53376) +OffRamp_commit:test_RootWithRMNDisabled() (gas: 153873) +OffRamp_commit:test_StaleReportWithRoot() (gas: 232101) +OffRamp_commit:test_ValidPriceUpdateThenStaleReportWithRoot() (gas: 206722) +OffRamp_constructor:test_Constructor() (gas: 6285149) +OffRamp_constructor:test_RevertWhen_SourceChainSelector() (gas: 137198) +OffRamp_constructor:test_RevertWhen_ZeroChainSelector() (gas: 103925) +OffRamp_constructor:test_RevertWhen_ZeroNonceManager() (gas: 101774) +OffRamp_constructor:test_RevertWhen_ZeroOnRampAddress() (gas: 162635) +OffRamp_constructor:test_RevertWhen_ZeroRMNRemote() (gas: 101626) +OffRamp_constructor:test_RevertWhen_ZeroTokenAdminRegistry() (gas: 101717) +OffRamp_execute:test_LargeBatch() (gas: 3381210) +OffRamp_execute:test_MultipleReports() (gas: 292193) +OffRamp_execute:test_MultipleReportsWithPartialValidationFailures() (gas: 365511) +OffRamp_execute:test_RevertWhen_IncorrectArrayType() (gas: 17510) +OffRamp_execute:test_RevertWhen_NoConfig() (gas: 6365280) +OffRamp_execute:test_RevertWhen_NoConfigWithOtherConfigPresent() (gas: 7140878) +OffRamp_execute:test_RevertWhen_NonArray() (gas: 27531) +OffRamp_execute:test_RevertWhen_UnauthorizedTransmitter() (gas: 141105) +OffRamp_execute:test_RevertWhen_WrongConfigWithSigners() (gas: 7039258) +OffRamp_execute:test_RevertWhen_ZeroReports() (gas: 17220) +OffRamp_execute:test_SingleReport() (gas: 169095) +OffRamp_executeSingleMessage:test_RevertWhen_executeSingleMessageWhen_MessageSender() (gas: 18659) +OffRamp_executeSingleMessage:test_RevertWhen_executeSingleMessageWhen_MessageValidationError() (gas: 85780) +OffRamp_executeSingleMessage:test_RevertWhen_executeSingleMessageWhen_TokenHandlingError() (gas: 109569) +OffRamp_executeSingleMessage:test_RevertWhen_executeSingleMessageWhen_WithFailingValidationNoRouterCall() (gas: 213065) +OffRamp_executeSingleMessage:test_RevertWhen_executeSingleMessageWhen_ZeroGasDONExecution() (gas: 44705) +OffRamp_executeSingleMessage:test_executeSingleMessage_NoTokens() (gas: 51855) +OffRamp_executeSingleMessage:test_executeSingleMessage_NonContract() (gas: 20758) +OffRamp_executeSingleMessage:test_executeSingleMessage_NonContractWithTokens() (gas: 230669) +OffRamp_executeSingleMessage:test_executeSingleMessage_WithMessageInterceptor() (gas: 87710) +OffRamp_executeSingleMessage:test_executeSingleMessage_WithTokens() (gas: 260187) +OffRamp_executeSingleReport:testFuzz_InterleavingOrderedAndUnorderedMessages_Success(bool[7]) (runs: 257, μ: 1323107, ~: 1324654) +OffRamp_executeSingleReport:test_InvalidSourcePoolAddress() (gas: 455857) +OffRamp_executeSingleReport:test_ReceiverError() (gas: 181042) +OffRamp_executeSingleReport:test_RevertWhen_DisabledSourceChain() (gas: 28685) +OffRamp_executeSingleReport:test_RevertWhen_EmptyReport() (gas: 15448) +OffRamp_executeSingleReport:test_RevertWhen_ManualExecutionNotYetEnabled() (gas: 48264) +OffRamp_executeSingleReport:test_RevertWhen_MismatchingDestChainSelector() (gas: 34092) +OffRamp_executeSingleReport:test_RevertWhen_NonExistingSourceChain() (gas: 28846) +OffRamp_executeSingleReport:test_RevertWhen_RetryFailedMessageWithoutManualExecution() (gas: 191223) +OffRamp_executeSingleReport:test_RevertWhen_RootNotCommitted() (gas: 40672) +OffRamp_executeSingleReport:test_RevertWhen_RouterYULCall() (gas: 401539) +OffRamp_executeSingleReport:test_RevertWhen_TokenDataMismatch() (gas: 73753) +OffRamp_executeSingleReport:test_RevertWhen_UnexpectedTokenData() (gas: 26847) +OffRamp_executeSingleReport:test_RevertWhen_UnhealthySingleChainCurse() (gas: 529474) +OffRamp_executeSingleReport:test_SingleMessageNoTokens() (gas: 205760) +OffRamp_executeSingleReport:test_SingleMessageNoTokensOtherChain() (gas: 241847) +OffRamp_executeSingleReport:test_SingleMessageNoTokensUnordered() (gas: 185753) +OffRamp_executeSingleReport:test_SingleMessageToNonCCIPReceiver() (gas: 244165) +OffRamp_executeSingleReport:test_SingleMessagesNoTokensSuccess_gas() (gas: 134901) +OffRamp_executeSingleReport:test_SkippedIncorrectNonce() (gas: 58298) +OffRamp_executeSingleReport:test_SkippedIncorrectNonceStillExecutes() (gas: 392646) +OffRamp_executeSingleReport:test_TwoMessagesWithTokensAndGE() (gas: 562931) +OffRamp_executeSingleReport:test_TwoMessagesWithTokensSuccess_gas() (gas: 511312) +OffRamp_executeSingleReport:test_Unhealthy() (gas: 529453) +OffRamp_executeSingleReport:test_WithCurseOnAnotherSourceChain() (gas: 439803) +OffRamp_executeSingleReport:test__execute_SkippedAlreadyExecutedMessage() (gas: 158283) +OffRamp_executeSingleReport:test__execute_SkippedAlreadyExecutedMessageUnordered() (gas: 128667) +OffRamp_getExecutionState:testFuzz_Differential_Success(uint64,uint16[500],uint8[500]) (runs: 33, μ: 8333210, ~: 7822501) +OffRamp_getExecutionState:test_FillExecutionState() (gas: 3955662) +OffRamp_getExecutionState:test_GetDifferentChainExecutionState() (gas: 121311) +OffRamp_getExecutionState:test_GetExecutionState() (gas: 90102) +OffRamp_manuallyExecute:test_RevertWhen_ManualExecGasLimitMismatchSingleReport() (gas: 81957) +OffRamp_manuallyExecute:test_RevertWhen_manuallyExecute_DestinationGasAmountCountMismatch() (gas: 74376) +OffRamp_manuallyExecute:test_RevertWhen_manuallyExecute_FailedTx() (gas: 199803) +OffRamp_manuallyExecute:test_RevertWhen_manuallyExecute_ForkedChain() (gas: 27282) +OffRamp_manuallyExecute:test_RevertWhen_manuallyExecute_GasLimitMismatchMultipleReports() (gas: 166416) +OffRamp_manuallyExecute:test_RevertWhen_manuallyExecute_InvalidReceiverExecutionGasLimit() (gas: 27780) +OffRamp_manuallyExecute:test_RevertWhen_manuallyExecute_InvalidTokenGasOverride() (gas: 55328) +OffRamp_manuallyExecute:test_RevertWhen_manuallyExecute_MultipleReportsWithSingleCursedLane() (gas: 294781) +OffRamp_manuallyExecute:test_RevertWhen_manuallyExecute_SourceChainSelectorMismatch() (gas: 158710) +OffRamp_manuallyExecute:test_manuallyExecute() (gas: 212859) +OffRamp_manuallyExecute:test_manuallyExecute_DoesNotRevertIfUntouched() (gas: 165988) +OffRamp_manuallyExecute:test_manuallyExecute_LowGasLimit() (gas: 479635) +OffRamp_manuallyExecute:test_manuallyExecute_ReentrancyFails() (gas: 2229911) +OffRamp_manuallyExecute:test_manuallyExecute_WithGasOverride() (gas: 213409) +OffRamp_manuallyExecute:test_manuallyExecute_WithMultiReportGasOverride() (gas: 734673) +OffRamp_manuallyExecute:test_manuallyExecute_WithPartialMessages() (gas: 337996) +OffRamp_releaseOrMintSingleToken:test_RevertWhen__releaseOrMintSingleToken_NotACompatiblePool() (gas: 37627) +OffRamp_releaseOrMintSingleToken:test_RevertWhen_releaseOrMintSingleTokenWhen_TokenHandlingError_transfer() (gas: 75429) +OffRamp_releaseOrMintSingleToken:test_RevertWhen_releaseOrMintTokenWhen_TokenHandlingError_BalanceOf() (gas: 37412) +OffRamp_releaseOrMintSingleToken:test_RevertWhen_releaseOrMintToken_InvalidDataLength() (gas: 36797) +OffRamp_releaseOrMintSingleToken:test_RevertWhen_releaseOrMintToken_ReleaseOrMintBalanceMismatch() (gas: 84560) +OffRamp_releaseOrMintSingleToken:test_RevertWhen_releaseOrMintToken_skip_ReleaseOrMintBalanceMismatch_if_pool() (gas: 76715) +OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken() (gas: 94629) +OffRamp_releaseOrMintTokens:testFuzz_releaseOrMintTokens_AnyRevertIsCaught(address) (runs: 1025, μ: 24619, ~: 24619) +OffRamp_releaseOrMintTokens:test_RevertWhen_releaseOrMintTokensWhenInvalidDataLengthReturnData() (gas: 62835) +OffRamp_releaseOrMintTokens:test_RevertWhen_releaseOrMintTokensWhenPoolDoesNotSupportDest() (gas: 71527) +OffRamp_releaseOrMintTokens:test_RevertWhen_releaseOrMintTokensWhen_PoolIsNotAPool() (gas: 23864) +OffRamp_releaseOrMintTokens:test_RevertWhen_releaseOrMintTokensWhen_TokenHandlingError() (gas: 148691) +OffRamp_releaseOrMintTokens:test_releaseOrMintTokens() (gas: 161157) +OffRamp_releaseOrMintTokens:test_releaseOrMintTokens_WithGasOverride() (gas: 163023) +OffRamp_releaseOrMintTokens:test_releaseOrMintTokens_destDenominatedDecimals() (gas: 174276) +OffRamp_setDynamicConfig:test_RevertWhen_FeeQuoterZeroAddress() (gas: 11476) +OffRamp_setDynamicConfig:test_RevertWhen_NonOwner() (gas: 13964) +OffRamp_setDynamicConfig:test_SetDynamicConfig() (gas: 25442) +OffRamp_setDynamicConfig:test_SetDynamicConfigWithInterceptor() (gas: 47493) +OffRamp_trialExecute:test_trialExecute() (gas: 263887) +OffRamp_trialExecute:test_trialExecute_RateLimitError() (gas: 120968) +OffRamp_trialExecute:test_trialExecute_TokenHandlingErrorIsCaught() (gas: 132278) +OffRamp_trialExecute:test_trialExecute_TokenPoolIsNotAContract() (gas: 282122) +OnRampTokenPoolReentrancy:test_OnRampTokenPoolReentrancy() (gas: 244294) +OnRamp_applyAllowlistUpdates:test_RevertWhen_applyAllowlistUpdates() (gas: 67084) +OnRamp_applyAllowlistUpdates:test_applyAllowlistUpdates() (gas: 325979) +OnRamp_applyAllowlistUpdates:test_applyAllowlistUpdates_InvalidAllowListRequestDisabledAllowListWithAdds() (gas: 17190) +OnRamp_applyDestChainConfigUpdates:test_ApplyDestChainConfigUpdates() (gas: 65874) +OnRamp_applyDestChainConfigUpdates:test_RevertWhen_ApplyDestChainConfigUpdates_WithInvalidChainSelector() (gas: 12885) +OnRamp_constructor:test_Constructor() (gas: 2694375) +OnRamp_constructor:test_RevertWhen_Constructor_EnableAllowList_ForwardFromRouter() (gas: 2616155) +OnRamp_constructor:test_RevertWhen_Constructor_InvalidConfigChainSelectorEqZero() (gas: 95223) +OnRamp_constructor:test_RevertWhen_Constructor_InvalidConfigNonceManagerEqAddressZero() (gas: 93187) +OnRamp_constructor:test_RevertWhen_Constructor_InvalidConfigRMNProxyEqAddressZero() (gas: 98163) +OnRamp_constructor:test_RevertWhen_Constructor_InvalidConfigTokenAdminRegistryEqAddressZero() (gas: 93178) +OnRamp_forwardFromRouter:testFuzz_ForwardFromRouter_Success(address,address,uint96) (runs: 257, μ: 302875, ~: 302831) +OnRamp_forwardFromRouter:test_ForwardFromRouter() (gas: 145675) +OnRamp_forwardFromRouter:test_ForwardFromRouterExtraArgsV2() (gas: 146509) +OnRamp_forwardFromRouter:test_ForwardFromRouterExtraArgsV2AllowOutOfOrderTrue() (gas: 115688) +OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessCustomExtraArgs() (gas: 146073) +OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessEmptyExtraArgs() (gas: 144349) +OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessLegacyExtraArgs() (gas: 146314) +OnRamp_forwardFromRouter:test_ForwardFromRouter_ConfigurableSourceRouter() (gas: 140952) +OnRamp_forwardFromRouter:test_RevertWhen_InvalidExtraArgsTag() (gas: 38513) +OnRamp_forwardFromRouter:test_RevertWhen_MessageFeeTooHigh() (gas: 36646) +OnRamp_forwardFromRouter:test_RevertWhen_MessageInterceptionError() (gas: 143273) +OnRamp_forwardFromRouter:test_RevertWhen_MultiCannotSendZeroTokens() (gas: 36553) +OnRamp_forwardFromRouter:test_RevertWhen_OriginalSender() (gas: 18288) +OnRamp_forwardFromRouter:test_RevertWhen_Paused() (gas: 38497) +OnRamp_forwardFromRouter:test_RevertWhen_Permissions() (gas: 23616) +OnRamp_forwardFromRouter:test_RevertWhen_SourceTokenDataTooLarge() (gas: 4087114) +OnRamp_forwardFromRouter:test_RevertWhen_UnAllowedOriginalSender() (gas: 23970) +OnRamp_forwardFromRouter:test_RevertWhen_UnsupportedToken() (gas: 75871) +OnRamp_forwardFromRouter:test_RevertWhen_forwardFromRouter_UnsupportedToken() (gas: 38580) +OnRamp_forwardFromRouter:test_ShouldIncrementNonceOnlyOnOrdered() (gas: 187412) +OnRamp_forwardFromRouter:test_ShouldIncrementSeqNumAndNonce() (gas: 213767) +OnRamp_forwardFromRouter:test_ShouldStoreLinkFees() (gas: 147320) +OnRamp_forwardFromRouter:test_forwardFromRouter_WithInterception() (gas: 275043) +OnRamp_getFee:test_EmptyMessage() (gas: 99005) +OnRamp_getFee:test_GetFeeOfZeroForTokenMessage() (gas: 86961) +OnRamp_getFee:test_RevertWhen_EnforceOutOfOrder() (gas: 65339) +OnRamp_getFee:test_RevertWhen_NotAFeeTokenButPricedToken() (gas: 35142) +OnRamp_getFee:test_RevertWhen_Unhealthy() (gas: 17048) +OnRamp_getFee:test_SingleTokenMessage() (gas: 114125) +OnRamp_getSupportedTokens:test_RevertWhen_GetSupportedTokens() (gas: 10627) +OnRamp_getTokenPool:test_GetTokenPool() (gas: 35382) +OnRamp_setDynamicConfig:test_RevertWhen_setDynamicConfig_InvalidConfigFeeAggregatorEqAddressZero() (gas: 11561) +OnRamp_setDynamicConfig:test_RevertWhen_setDynamicConfig_InvalidConfigFeeQuoterEqAddressZero() (gas: 13197) +OnRamp_setDynamicConfig:test_RevertWhen_setDynamicConfig_InvalidConfigInvalidConfig() (gas: 11570) +OnRamp_setDynamicConfig:test_RevertWhen_setDynamicConfig_InvalidConfigOnlyOwner() (gas: 11964) +OnRamp_setDynamicConfig:test_RevertWhen_setDynamicConfig_InvalidConfigReentrancyGuardEnteredEqTrue() (gas: 13245) +OnRamp_setDynamicConfig:test_setDynamicConfig() (gas: 56650) +OnRamp_withdrawFeeTokens:testFuzz_WithdrawFeeTokens_Success(uint256[5]) (runs: 257, μ: 7228839, ~: 7228839) +OnRamp_withdrawFeeTokens:test_WithdrawFeeTokens() (gas: 125835) +PingPong_ccipReceive:test_CcipReceive() (gas: 166158) +PingPong_setCounterpart:testFuzz_CounterPartAddress_Success(uint64,address) (runs: 257, μ: 22746, ~: 22779) +PingPong_setCounterpartAddress:testFuzz_CounterPartAddress_Success(address) (runs: 257, μ: 16805, ~: 16805) +PingPong_setCounterpartChainSelector:testFuzz_CounterPartChainSelector_Success(uint64) (runs: 257, μ: 14827, ~: 14882) +PingPong_setOutOfOrderExecution:test_OutOfOrderExecution() (gas: 20350) +PingPong_setPaused:test_Pausing() (gas: 17738) +PingPong_startPingPong:test_StartPingPong_With_OOO() (gas: 145309) +PingPong_startPingPong:test_StartPingPong_With_Sequenced_Ordered() (gas: 170962) +RMNHome_getConfigDigests:test_getConfigDigests() (gas: 1081176) +RMNHome_promoteCandidateAndRevokeActive:test_RevertWhen_promoteCandidateAndRevokeActive_ConfigDigestMismatch() (gas: 23903) +RMNHome_promoteCandidateAndRevokeActive:test_RevertWhen_promoteCandidateAndRevokeActive_NoOpStateTransitionNotAllowed() (gas: 10597) +RMNHome_promoteCandidateAndRevokeActive:test_RevertWhen_promoteCandidateAndRevokeActive_OnlyOwner() (gas: 10821) +RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive() (gas: 1086556) +RMNHome_revokeCandidate:test_RevertWhen_revokeCandidate_ConfigDigestMismatch() (gas: 19063) +RMNHome_revokeCandidate:test_RevertWhen_revokeCandidate_OnlyOwner() (gas: 10912) +RMNHome_revokeCandidate:test_RevertWhen_revokeCandidate_RevokingZeroDigestNotAllowed() (gas: 10628) +RMNHome_revokeCandidate:test_revokeCandidate() (gas: 28085) +RMNHome_setCandidate:test_RevertWhen_setCandidate_ConfigDigestMismatch() (gas: 599522) +RMNHome_setCandidate:test_RevertWhen_setCandidate_OnlyOwner() (gas: 15186) +RMNHome_setCandidate:test_setCandidate() (gas: 590250) +RMNHome_setDynamicConfig:test_RevertWhen_setDynamicConfig_DigestNotFound() (gas: 30252) +RMNHome_setDynamicConfig:test_RevertWhen_setDynamicConfig_MinObserversTooHigh() (gas: 18938) +RMNHome_setDynamicConfig:test_RevertWhen_setDynamicConfig_OnlyOwner() (gas: 13987) +RMNHome_setDynamicConfig:test_setDynamicConfig() (gas: 105498) +RMNHome_validateStaticAndDynamicConfig:test_RevertWhen_validateStaticAndDynamicConfig_DuplicateOffchainPublicKey() (gas: 19195) +RMNHome_validateStaticAndDynamicConfig:test_RevertWhen_validateStaticAndDynamicConfig_DuplicatePeerId() (gas: 19097) +RMNHome_validateStaticAndDynamicConfig:test_RevertWhen_validateStaticAndDynamicConfig_DuplicateSourceChain() (gas: 20776) +RMNHome_validateStaticAndDynamicConfig:test_RevertWhen_validateStaticAndDynamicConfig_NotEnoughObservers() (gas: 21772) +RMNHome_validateStaticAndDynamicConfig:test_RevertWhen_validateStaticAndDynamicConfig_OutOfBoundsNodesLength() (gas: 148054) +RMNHome_validateStaticAndDynamicConfig:test_RevertWhen_validateStaticAndDynamicConfig_OutOfBoundsObserverNodeIndex() (gas: 20911) +RMNProxy_constructor:test_Constructor() (gas: 302031) +RMNProxy_isCursed:test_IsCursed_GlobalCurseSubject() (gas: 89809) +RMNProxy_isCursed:test_RevertWhen_call_ARMCallEmptyContract() (gas: 19217) +RMNProxy_isCursed:test_isCursed_RevertWhen_isCursedReasonForwarded() (gas: 20011) +RMNProxy_setARM:test_SetARM() (gas: 16599) +RMNProxy_setARM:test_SetARMzero() (gas: 11275) +RMNRemote_constructor:test_constructor() (gas: 8410) +RMNRemote_curse:test_RevertWhen_curse_AlreadyCursed_duplicateSubject() (gas: 154526) +RMNRemote_curse:test_RevertWhen_curse_calledByNonOwner() (gas: 18769) +RMNRemote_curse:test_curse() (gas: 149422) +RMNRemote_global_curses:test_isCursed_globalCurseSubject() (gas: 71707) +RMNRemote_isBlessed:test_RevertWhen_isBlessedWhen_IsBlessedNotAvailable() (gas: 1455432) +RMNRemote_isBlessed:test_isBlessed() (gas: 17588) +RMNRemote_setConfig:test_RevertWhen_setConfig_ZeroValueNotAllowed() (gas: 38023) +RMNRemote_setConfig:test_RevertWhen_setConfig_duplicateOnChainPublicKey() (gas: 320039) +RMNRemote_setConfig:test_RevertWhen_setConfig_invalidSignerOrder() (gas: 76200) +RMNRemote_setConfig:test_RevertWhen_setConfig_notEnoughSigners() (gas: 50305) +RMNRemote_setConfig:test_setConfig_addSigner_removeSigner() (gas: 994169) +RMNRemote_uncurse:test_RevertWhen_uncurse_NotCursed_duplicatedUncurseSubject() (gas: 51924) +RMNRemote_uncurse:test_RevertWhen_uncurse_calledByNonOwner() (gas: 18647) +RMNRemote_uncurse:test_uncurse() (gas: 40136) +RMNRemote_verify_withConfigNotSet:test_RevertWhen_verifys() (gas: 13655) +RMNRemote_verify_withConfigSet:test_verify() (gas: 86470) +RMNRemote_verify_withConfigSet:test_verify_RevertWhen_InvalidSignature() (gas: 85624) +RMNRemote_verify_withConfigSet:test_verify_RevertWhen_OutOfOrderSignatures_duplicateSignature() (gas: 94093) +RMNRemote_verify_withConfigSet:test_verify_RevertWhen_OutOfOrderSignatures_not_sorted() (gas: 100867) +RMNRemote_verify_withConfigSet:test_verify_RevertWhen_ThresholdNotMet() (gas: 303094) +RMNRemote_verify_withConfigSet:test_verify_RevertWhen_UnexpectedSigner() (gas: 437584) +RateLimiter_constructor:test_Constructor() (gas: 19820) +RateLimiter_consume:test_ConsumeAggregateValue() (gas: 31633) +RateLimiter_consume:test_ConsumeTokens() (gas: 20369) +RateLimiter_consume:test_ConsumeUnlimited() (gas: 40923) +RateLimiter_consume:test_Refill() (gas: 37562) +RateLimiter_consume:test_RevertWhen_AggregateValueMaxCapacityExceeded() (gas: 16067) +RateLimiter_consume:test_RevertWhen_AggregateValueRateLimitReached() (gas: 22529) +RateLimiter_consume:test_RevertWhen_ConsumingMoreThanUint128() (gas: 15881) +RateLimiter_consume:test_RevertWhen_RateLimitReachedOverConsecutiveBlocks() (gas: 25881) +RateLimiter_consume:test_RevertWhen_TokenMaxCapacityExceeded() (gas: 18469) +RateLimiter_consume:test_RevertWhen_TokenRateLimitReached() (gas: 24982) +RateLimiter_currentTokenBucketState:test_CurrentTokenBucketState() (gas: 39126) +RateLimiter_currentTokenBucketState:test_Refill() (gas: 47182) +RateLimiter_setTokenBucketConfig:test_SetRateLimiterConfig() (gas: 38645) +RegistryModuleOwnerCustom_constructor:test_RevertWhen_constructor() (gas: 36125) +RegistryModuleOwnerCustom_registerAccessControlDefaultAdmin:test_RevertWhen_registerAccessControlDefaultAdmin() (gas: 20156) +RegistryModuleOwnerCustom_registerAccessControlDefaultAdmin:test_registerAccessControlDefaultAdmin() (gas: 130641) +RegistryModuleOwnerCustom_registerAdminViaGetCCIPAdmin:test_RevertWhen_registerAdminViaGetCCIPAdmin() (gas: 19819) +RegistryModuleOwnerCustom_registerAdminViaGetCCIPAdmin:test_registerAdminViaGetCCIPAdmin() (gas: 130136) +RegistryModuleOwnerCustom_registerAdminViaOwner:test_RevertWhen_registerAdminViaOwner() (gas: 19647) +RegistryModuleOwnerCustom_registerAdminViaOwner:test_registerAdminViaOwner() (gas: 129941) +Router_applyRampUpdates:testFuzz_applyRampUpdates_OffRampUpdates(address[20]) (runs: 257, μ: 2452358, ~: 2452063) +Router_applyRampUpdates:testFuzz_applyRampUpdates_OnRampUpdates((uint64,address)[]) (runs: 257, μ: 3554066, ~: 3712415) +Router_applyRampUpdates:test_RevertWhen_applyRampUpdatesWhen_OffRampMismatch() (gas: 89626) +Router_applyRampUpdates:test_RevertWhen_applyRampUpdatesWhen_OnlyOwner() (gas: 12367) +Router_applyRampUpdates:test_applyRampUpdates_OffRampUpdatesWithRouting() (gas: 10413055) +Router_applyRampUpdates:test_applyRampUpdates_OnRampDisable() (gas: 56445) +Router_ccipSend:test_CCIPSendLinkFeeNoTokenSuccess_gas() (gas: 124772) +Router_ccipSend:test_CCIPSendLinkFeeOneTokenSuccess_gas() (gas: 212207) +Router_ccipSend:test_InvalidMsgValue() (gas: 27856) +Router_ccipSend:test_NativeFeeToken() (gas: 185309) +Router_ccipSend:test_NativeFeeTokenInsufficientValue() (gas: 62458) +Router_ccipSend:test_NativeFeeTokenOverpay() (gas: 186726) +Router_ccipSend:test_NativeFeeTokenZeroValue() (gas: 54550) +Router_ccipSend:test_NonLinkFeeToken() (gas: 219896) +Router_ccipSend:test_RevertWhen_FeeTokenAmountTooLow() (gas: 64874) +Router_ccipSend:test_RevertWhen_UnsupportedDestinationChain() (gas: 20452) +Router_ccipSend:test_RevertWhen_WhenNotHealthy() (gas: 18358) +Router_ccipSend:test_WrappedNativeFeeToken() (gas: 187548) +Router_ccipSend:test_ccipSend_nativeFeeNoTokenSuccess_gas() (gas: 133929) +Router_ccipSend:test_ccipSend_nativeFeeOneTokenSuccess_gas() (gas: 221408) +Router_constructor:test_Constructor() (gas: 13148) +Router_getArmProxy:test_getArmProxy() (gas: 10573) +Router_getFee:test_GetFeeSupportedChain() (gas: 52021) +Router_getFee:test_RevertWhen_UnsupportedDestinationChain() (gas: 17418) +Router_getSupportedTokens:test_RevertWhen_GetSupportedTokens() (gas: 10627) +Router_recoverTokens:test_RecoverTokens() (gas: 52668) +Router_recoverTokens:test_RevertWhen_RecoverTokensInvalidRecipient() (gas: 11410) +Router_recoverTokens:test_RevertWhen_RecoverTokensNoFunds() (gas: 20221) +Router_recoverTokens:test_RevertWhen_RecoverTokensNonOwner() (gas: 11259) +Router_recoverTokens:test_RevertWhen_RecoverTokensValueReceiver() (gas: 349717) +Router_routeMessage:testFuzz_routeMessage_ExecutionEvent_Success(bytes) (runs: 257, μ: 93191, ~: 83802) +Router_routeMessage:test_RevertWhen_routeMessage_OnlyOffRamp() (gas: 20812) +Router_routeMessage:test_RevertWhen_routeMessage_WhenNotHealthy() (gas: 18224) +Router_routeMessage:test_routeMessage_AutoExec() (gas: 38071) +Router_routeMessage:test_routeMessage_ExecutionEvent() (gas: 153593) +Router_routeMessage:test_routeMessage_ManualExec() (gas: 31120) +Router_setWrappedNative:testFuzz_SetWrappedNative_Success(address) (runs: 257, μ: 16789, ~: 16789) +Router_setWrappedNative:test_RevertWhen_OnlyOwner() (gas: 11052) +TokenAdminRegistry_acceptAdminRole:test_RevertWhen_acceptAdminRole_OnlyPendingAdministrator() (gas: 51465) +TokenAdminRegistry_acceptAdminRole:test_acceptAdminRole() (gas: 44236) +TokenAdminRegistry_addRegistryModule:test_RevertWhen_addRegistryModule_OnlyOwner() (gas: 12681) +TokenAdminRegistry_addRegistryModule:test_addRegistryModule() (gas: 67093) +TokenAdminRegistry_getAllConfiguredTokens:testFuzz_getAllConfiguredTokens_Success(uint8) (runs: 257, μ: 6489724, ~: 3636473) +TokenAdminRegistry_getAllConfiguredTokens:test_getAllConfiguredTokens_outOfBounds() (gas: 11363) +TokenAdminRegistry_getPool:test_getPool() (gas: 17679) +TokenAdminRegistry_getPools:test_getPools() (gas: 40271) +TokenAdminRegistry_isAdministrator:test_isAdministrator() (gas: 106335) +TokenAdminRegistry_proposeAdministrator:testFuzz_proposeAdministrator_Success(address[50],address[50]) (runs: 257, μ: 5962386, ~: 5974044) +TokenAdminRegistry_proposeAdministrator:test_RevertWhen_proposeAdministrator_AlreadyRegistered() (gas: 104411) +TokenAdminRegistry_proposeAdministrator:test_RevertWhen_proposeAdministrator_OnlyRegistryModule() (gas: 15620) +TokenAdminRegistry_proposeAdministrator:test_RevertWhen_proposeAdministrator_ZeroAddress() (gas: 15198) +TokenAdminRegistry_proposeAdministrator:test_proposeAdministrator_module() (gas: 113043) +TokenAdminRegistry_proposeAdministrator:test_proposeAdministrator_owner() (gas: 107992) +TokenAdminRegistry_proposeAdministrator:test_proposeAdministrator_reRegisterWhileUnclaimed() (gas: 116200) +TokenAdminRegistry_removeRegistryModule:test_RevertWhen_removeRegistryModule_OnlyOwner() (gas: 12626) +TokenAdminRegistry_removeRegistryModule:test_removeRegistryModule() (gas: 54757) +TokenAdminRegistry_setPool:test_RevertWhen_setPool_InvalidTokenPoolToken() (gas: 19269) +TokenAdminRegistry_setPool:test_RevertWhen_setPool_OnlyAdministrator() (gas: 18214) +TokenAdminRegistry_setPool:test_setPool() (gas: 36207) +TokenAdminRegistry_setPool:test_setPool_ZeroAddressRemovesPool() (gas: 30852) +TokenAdminRegistry_transferAdminRole:test_RevertWhen_transferAdminRole_OnlyAdministrator() (gas: 18179) +TokenAdminRegistry_transferAdminRole:test_transferAdminRole() (gas: 49558) +TokenPoolFactory_constructor:test_RevertWhen_constructor() (gas: 1137307) +TokenPoolFactory_createTokenPool:test_createTokenPoolLockRelease_ExistingToken_predict() (gas: 12646379) +TokenPoolFactory_createTokenPool:test_createTokenPool_BurnFromMintTokenPool() (gas: 6526762) +TokenPoolFactory_createTokenPool:test_createTokenPool_ExistingRemoteToken_AndPredictPool() (gas: 13480657) +TokenPoolFactory_createTokenPool:test_createTokenPool_RemoteTokenHasDifferentDecimals() (gas: 13488141) +TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingRemoteContracts_predict() (gas: 13819502) +TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingTokenOnRemoteChain() (gas: 6315855) +TokenPoolFactory_createTokenPool:test_createTokenPool_WithRemoteTokenAndRemotePool() (gas: 6523352) +TokenPoolWithAllowList_applyAllowListUpdates:test_RevertWhen_AllowListNotEnabled() (gas: 2840476) +TokenPoolWithAllowList_applyAllowListUpdates:test_RevertWhen_OnlyOwner() (gas: 12119) +TokenPoolWithAllowList_applyAllowListUpdates:test_SetAllowList() (gas: 178482) +TokenPoolWithAllowList_applyAllowListUpdates:test_SetAllowListSkipsZero() (gas: 23580) +TokenPoolWithAllowList_getAllowList:test_GetAllowList() (gas: 23908) +TokenPoolWithAllowList_getAllowListEnabled:test_GetAllowListEnabled() (gas: 8386) +TokenPoolWithAllowList_setRouter:test_RevertWhen_ZeroAddressNotAllowed() (gas: 10684) +TokenPoolWithAllowList_setRouter:test_SetRouter() (gas: 24994) +TokenPool_addRemotePool:test_RevertWhen_NonExistentChain() (gas: 14248) +TokenPool_addRemotePool:test_RevertWhen_PoolAlreadyAdded() (gas: 117153) +TokenPool_addRemotePool:test_RevertWhen_ZeroLengthAddressNotAllowed() (gas: 13991) +TokenPool_addRemotePool:test_addRemotePool() (gas: 157121) +TokenPool_addRemotePool:test_addRemotePool_MultipleActive() (gas: 453937) +TokenPool_applyChainUpdates:test_RevertWhen_applyChainUpdates_InvalidRateLimitRate() (gas: 455571) +TokenPool_applyChainUpdates:test_RevertWhen_applyChainUpdates_NonExistentChain() (gas: 15006) +TokenPool_applyChainUpdates:test_RevertWhen_applyChainUpdates_OnlyCallableByOwner() (gas: 11790) +TokenPool_applyChainUpdates:test_RevertWhen_applyChainUpdates_ZeroAddressNotAllowed() (gas: 226519) +TokenPool_applyChainUpdates:test_applyChainUpdates() (gas: 592354) +TokenPool_applyChainUpdates:test_applyChainUpdates_UpdatesRemotePoolHashes() (gas: 1077690) +TokenPool_calculateLocalAmount:test_RevertWhen_calculateLocalAmountWhen_HighAmountOverflows() (gas: 2838977) +TokenPool_calculateLocalAmount:test_RevertWhen_calculateLocalAmountWhen_HighLocalDecimalsOverflows() (gas: 2838532) +TokenPool_calculateLocalAmount:test_RevertWhen_calculateLocalAmountWhen_HighRemoteDecimalsOverflows() (gas: 9574) +TokenPool_calculateLocalAmount:test_RevertWhen_calculateLocalAmountWhen_LowRemoteDecimalsOverflows() (gas: 2838566) +TokenPool_calculateLocalAmount:test_calculateLocalAmount() (gas: 93680) +TokenPool_constructor:test_RevertWhen_constructorWhen_InvalidDecimalArgs() (gas: 77881) +TokenPool_constructor:test_RevertWhen_constructorWhen_ZeroAddressNotAllowed() (gas: 71649) +TokenPool_constructor:test_constructor() (gas: 21930) +TokenPool_constructor:test_constructor_DecimalCallFails() (gas: 2836717) +TokenPool_getRemotePool:test_getRemotePools() (gas: 330476) +TokenPool_onlyOffRamp:test_RevertWhen_CallerIsNotARampOnRouter() (gas: 21505) +TokenPool_onlyOffRamp:test_RevertWhen_ChainNotAllowed() (gas: 240413) +TokenPool_onlyOffRamp:test_onlyOffRamp() (gas: 94348) +TokenPool_onlyOnRamp:test_RevertWhen_CallerIsNotARampOnRouter() (gas: 21157) +TokenPool_onlyOnRamp:test_RevertWhen_ChainNotAllowed() (gas: 204376) +TokenPool_onlyOnRamp:test_onlyOnRamp() (gas: 49257) +TokenPool_parseRemoteDecimals:test_RevertWhen_parseRemoteDecimalsWhen_InvalidRemoteChainDecimals_DigitTooLarge() (gas: 10701) +TokenPool_parseRemoteDecimals:test_RevertWhen_parseRemoteDecimalsWhen_InvalidRemoteChainDecimals_WrongType() (gas: 11549) +TokenPool_parseRemoteDecimals:test_parseRemoteDecimals() (gas: 14030) +TokenPool_parseRemoteDecimals:test_parseRemoteDecimals_NoDecimalsDefaultsToLocalDecimals() (gas: 9705) +TokenPool_removeRemotePool:test_RevertWhen_InvalidRemotePoolForChain() (gas: 17497) +TokenPool_removeRemotePool:test_RevertWhen_NonExistentChain() (gas: 14314) +TokenPool_removeRemotePool:test_removeRemotePool() (gas: 188402) +TokenPool_setChainRateLimiterConfig:testFuzz_SetChainRateLimiterConfig_Success(uint128,uint128,uint32) (runs: 257, μ: 75918, ~: 75726) +TokenPool_setChainRateLimiterConfig:test_RevertWhen_NonExistentChain() (gas: 17259) +TokenPool_setChainRateLimiterConfig:test_RevertWhen_OnlyOwnerOrRateLimitAdmin() (gas: 15285) +TokenPool_setChainRateLimiterConfigs:testFuzz_SetChainRateLimiterConfigs_Success(uint128,uint128,uint32) (runs: 257, μ: 78717, ~: 78521) +TokenPool_setChainRateLimiterConfigs:test_RevertWhen_MismatchedArrayLengths() (gas: 23933) +TokenPool_setChainRateLimiterConfigs:test_RevertWhen_NonExistentChain() (gas: 19483) +TokenPool_setChainRateLimiterConfigs:test_RevertWhen_OnlyOwnerOrRateLimitAdmin() (gas: 16481) +TokenPool_setRateLimitAdmin:test_RevertWhen_SetRateLimitAdmin() (gas: 10958) +TokenPool_setRateLimitAdmin:test_SetRateLimitAdmin() (gas: 37630) +USDCBridgeMigrator_BurnLockedUSDC:test_PrimaryMechanism() (gas: 130520) +USDCBridgeMigrator_BurnLockedUSDC:test_RevertWhen_WhileMigrationPause() (gas: 109960) +USDCBridgeMigrator_BurnLockedUSDC:test_RevertWhen_invalidPermissions() (gas: 39494) +USDCBridgeMigrator_BurnLockedUSDC:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 303986) +USDCBridgeMigrator_BurnLockedUSDC:test_onLockReleaseMechanism() (gas: 140171) +USDCBridgeMigrator_BurnLockedUSDC:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 203330) +USDCBridgeMigrator_cancelMigrationProposal:test_RevertWhen_cannotCancelANonExistentMigrationProposal() (gas: 12647) +USDCBridgeMigrator_cancelMigrationProposal:test_cancelExistingCCTPMigrationProposal() (gas: 56117) +USDCBridgeMigrator_excludeTokensFromBurn:test_RevertWhen_excludeTokensWhenNoMigrationProposalPending() (gas: 13602) +USDCBridgeMigrator_proposeMigration:test_RevertWhen_ChainNotUsingLockRelease() (gas: 15788) +USDCBridgeMigrator_provideLiquidity:test_PrimaryMechanism() (gas: 130538) +USDCBridgeMigrator_provideLiquidity:test_RevertWhen_WhileMigrationPause() (gas: 109916) +USDCBridgeMigrator_provideLiquidity:test_RevertWhen_cannotModifyLiquidityWithoutPermissions() (gas: 13367) +USDCBridgeMigrator_provideLiquidity:test_RevertWhen_cannotProvideLiquidityWhenMigrationProposalPending() (gas: 67423) +USDCBridgeMigrator_provideLiquidity:test_RevertWhen_cannotProvideLiquidity_AfterMigration() (gas: 307844) +USDCBridgeMigrator_provideLiquidity:test_RevertWhen_invalidPermissions() (gas: 39494) +USDCBridgeMigrator_provideLiquidity:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 303986) +USDCBridgeMigrator_provideLiquidity:test_onLockReleaseMechanism() (gas: 140260) +USDCBridgeMigrator_provideLiquidity:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 203331) +USDCBridgeMigrator_releaseOrMint:test_OnLockReleaseMechanism() (gas: 206251) +USDCBridgeMigrator_releaseOrMint:test_RevertWhen_WhileMigrationPause() (gas: 102851) +USDCBridgeMigrator_releaseOrMint:test_incomingMessageWithPrimaryMechanism() (gas: 260440) +USDCBridgeMigrator_releaseOrMint:test_unstickManualTxAfterMigration_destChain() (gas: 142763) +USDCBridgeMigrator_releaseOrMint:test_unstickManualTxAfterMigration_homeChain() (gas: 505520) +USDCBridgeMigrator_updateChainSelectorMechanism:test_PrimaryMechanism() (gas: 130520) +USDCBridgeMigrator_updateChainSelectorMechanism:test_RevertWhen_WhileMigrationPause() (gas: 109960) +USDCBridgeMigrator_updateChainSelectorMechanism:test_RevertWhen_cannotRevertChainMechanism_afterMigration() (gas: 307370) +USDCBridgeMigrator_updateChainSelectorMechanism:test_RevertWhen_invalidPermissions() (gas: 39494) +USDCBridgeMigrator_updateChainSelectorMechanism:test_lockOrBurn_then_BurnInCCTPMigration() (gas: 303968) +USDCBridgeMigrator_updateChainSelectorMechanism:test_onLockReleaseMechanism() (gas: 140260) +USDCBridgeMigrator_updateChainSelectorMechanism:test_onLockReleaseMechanism_thenSwitchToPrimary() (gas: 203312) +USDCTokenPool__validateMessage:testFuzz_ValidateMessage_Success(uint32,uint64) (runs: 257, μ: 8324, ~: 8324) +USDCTokenPool__validateMessage:test_RevertWhen_ValidateInvalidMessage() (gas: 26052) +USDCTokenPool_lockOrBurn:testFuzz_LockOrBurnWithAllowList_Success(bytes32,uint256) (runs: 257, μ: 137700, ~: 137492) +USDCTokenPool_lockOrBurn:testFuzz_LockOrBurn_Success(bytes32,uint256) (runs: 257, μ: 132378, ~: 132236) +USDCTokenPool_lockOrBurn:test_LockOrBurn() (gas: 128094) +USDCTokenPool_lockOrBurn:test_RevertWhen_CallerIsNotARampOnRouter() (gas: 28574) +USDCTokenPool_lockOrBurn:test_RevertWhen_LockOrBurnWithAllowList() (gas: 23128) +USDCTokenPool_lockOrBurn:test_RevertWhen_UnknownDomain() (gas: 426909) +USDCTokenPool_releaseOrMint:testFuzz_ReleaseOrMint_Success(address,uint256) (runs: 257, μ: 265096, ~: 264962) +USDCTokenPool_releaseOrMint:test_ReleaseOrMintRealTx() (gas: 260189) +USDCTokenPool_releaseOrMint:test_RevertWhen_TokenMaxCapacityExceeded() (gas: 40380) +USDCTokenPool_releaseOrMint:test_RevertWhen_UnlockingUSDCFailed() (gas: 88352) +USDCTokenPool_setDomains:testFuzz_SetDomains_Success(bytes32[5],uint32[5],uint64[5]) (runs: 33, μ: 499035, ~: 503769) +USDCTokenPool_setDomains:test_RevertWhen_InvalidDomain() (gas: 66368) +USDCTokenPool_setDomains:test_RevertWhen_OnlyOwner() (gas: 11302) +USDCTokenPool_supportsInterface:test_SupportsInterface() (gas: 10108) \ No newline at end of file diff --git a/contracts/src/v0.8/ccip/interfaces/IMessageTransformer.sol b/contracts/src/v0.8/ccip/interfaces/IMessageTransformer.sol index c0a7f083fc4..89ad3b826c4 100644 --- a/contracts/src/v0.8/ccip/interfaces/IMessageTransformer.sol +++ b/contracts/src/v0.8/ccip/interfaces/IMessageTransformer.sol @@ -23,4 +23,4 @@ interface IMessageTransformer { function transformOutboundMessage( Internal.EVM2AnyRampMessage memory message ) external returns (Internal.EVM2AnyRampMessage memory); -} \ No newline at end of file +} diff --git a/contracts/src/v0.8/ccip/offRamp/MessageTransformerOffRamp.sol b/contracts/src/v0.8/ccip/offRamp/MessageTransformerOffRamp.sol index 72aaa2a895f..4766e9067d5 100644 --- a/contracts/src/v0.8/ccip/offRamp/MessageTransformerOffRamp.sol +++ b/contracts/src/v0.8/ccip/offRamp/MessageTransformerOffRamp.sol @@ -1,14 +1,13 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.24; -import {OffRamp} from "./OffRamp.sol"; import {IMessageTransformer} from "../interfaces/IMessageTransformer.sol"; import {Internal} from "../libraries/Internal.sol"; +import {OffRamp} from "./OffRamp.sol"; contract MessageTransformerOffRamp is OffRamp { - address internal s_messageTransformer; - + constructor( StaticConfig memory staticConfig, DynamicConfig memory dynamicConfig, @@ -37,4 +36,4 @@ contract MessageTransformerOffRamp is OffRamp { } return transformedMessage; } -} \ No newline at end of file +} diff --git a/contracts/src/v0.8/ccip/offRamp/OffRamp.sol b/contracts/src/v0.8/ccip/offRamp/OffRamp.sol index e5630313095..f2a3a9853a7 100644 --- a/contracts/src/v0.8/ccip/offRamp/OffRamp.sol +++ b/contracts/src/v0.8/ccip/offRamp/OffRamp.sol @@ -557,7 +557,7 @@ contract OffRamp is ITypeAndVersion, MultiOCR3Base { /// @return transformedMessage modified message function _beforeExecuteSingleMessage( Internal.Any2EVMRampMessage memory message - ) internal virtual returns (Internal.Any2EVMRampMessage memory transformedMessage) { + ) internal virtual returns (Internal.Any2EVMRampMessage memory transformedMessage) { return message; } diff --git a/contracts/src/v0.8/ccip/onRamp/MessageTransformerOnRamp.sol b/contracts/src/v0.8/ccip/onRamp/MessageTransformerOnRamp.sol index 8224d5b044b..c639feec74d 100644 --- a/contracts/src/v0.8/ccip/onRamp/MessageTransformerOnRamp.sol +++ b/contracts/src/v0.8/ccip/onRamp/MessageTransformerOnRamp.sol @@ -1,12 +1,11 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.24; -import {OnRamp} from "./OnRamp.sol"; import {IMessageTransformer} from "../interfaces/IMessageTransformer.sol"; import {Internal} from "../libraries/Internal.sol"; +import {OnRamp} from "./OnRamp.sol"; contract MessageTransformerOnRamp is OnRamp { - address internal s_messageTransformer; error ZeroAddressNotAllowed(); @@ -25,18 +24,18 @@ contract MessageTransformerOnRamp is OnRamp { function getMessageTransformerAddress() external view returns (address) { return s_messageTransformer; - } + } function _postProcessMessage( Internal.EVM2AnyRampMessage memory message ) internal override returns (Internal.EVM2AnyRampMessage memory transformedMessage) { - try IMessageTransformer(s_messageTransformer).transformOutboundMessage( - message - ) returns (Internal.EVM2AnyRampMessage memory m) { + try IMessageTransformer(s_messageTransformer).transformOutboundMessage(message) returns ( + Internal.EVM2AnyRampMessage memory m + ) { transformedMessage = m; } catch (bytes memory err) { revert IMessageTransformer.MessageTransformError(err); } return transformedMessage; } -} \ No newline at end of file +} diff --git a/contracts/src/v0.8/ccip/test/helpers/MessageTransformerHelper.sol b/contracts/src/v0.8/ccip/test/helpers/MessageTransformerHelper.sol index eb50fa8e3b9..f273d88c573 100644 --- a/contracts/src/v0.8/ccip/test/helpers/MessageTransformerHelper.sol +++ b/contracts/src/v0.8/ccip/test/helpers/MessageTransformerHelper.sol @@ -35,4 +35,4 @@ contract MessageTransformerHelper is IMessageTransformer { } return message; } -} \ No newline at end of file +} diff --git a/contracts/src/v0.8/ccip/test/offRamp/OffRamp/MessageTransformerOffRamp.executeSingleMessage.t.sol b/contracts/src/v0.8/ccip/test/offRamp/OffRamp/MessageTransformerOffRamp.executeSingleMessage.t.sol index a7ebca3f29c..ad5e8e2ab29 100644 --- a/contracts/src/v0.8/ccip/test/offRamp/OffRamp/MessageTransformerOffRamp.executeSingleMessage.t.sol +++ b/contracts/src/v0.8/ccip/test/offRamp/OffRamp/MessageTransformerOffRamp.executeSingleMessage.t.sol @@ -1,19 +1,18 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.24; -import {OffRamp} from "../../../offRamp/OffRamp.sol"; -import {MessageTransformerOffRamp} from "../../../offRamp/MessageTransformerOffRamp.sol"; -import {OffRampSetup} from "./OffRampSetup.t.sol"; -import {Internal} from "../../../libraries/Internal.sol"; +import {Router} from "../../../Router.sol"; import {IMessageTransformer} from "../../../interfaces/IMessageTransformer.sol"; +import {Internal} from "../../../libraries/Internal.sol"; +import {MessageTransformerOffRamp} from "../../../offRamp/MessageTransformerOffRamp.sol"; +import {OffRamp} from "../../../offRamp/OffRamp.sol"; + import {MessageTransformerHelper} from "../../helpers/MessageTransformerHelper.sol"; -import {Router} from "../../../Router.sol"; +import {OffRampSetup} from "./OffRampSetup.t.sol"; contract MessageTransformerOffRamp_executeSingleMessage is OffRampSetup { - MessageTransformerOffRamp internal s_messageTransformerOffRamp; - function setUp() public virtual override { super.setUp(); s_messageTransformerOffRamp = new MessageTransformerOffRamp( @@ -22,7 +21,7 @@ contract MessageTransformerOffRamp_executeSingleMessage is OffRampSetup { new OffRamp.SourceChainConfigArgs[](0), address(s_inboundMessageTransformer) ); - + OffRamp.SourceChainConfigArgs[] memory sourceChainConfigs = new OffRamp.SourceChainConfigArgs[](1); sourceChainConfigs[0] = OffRamp.SourceChainConfigArgs({ router: s_destRouter, @@ -38,7 +37,8 @@ contract MessageTransformerOffRamp_executeSingleMessage is OffRampSetup { for (uint256 i = 0; i < sourceChainConfigs.length; ++i) { uint64 sourceChainSelector = sourceChainConfigs[i].sourceChainSelector; - offRampUpdates[2 * i] = Router.OffRamp({sourceChainSelector: sourceChainSelector, offRamp: address(s_messageTransformerOffRamp)}); + offRampUpdates[2 * i] = + Router.OffRamp({sourceChainSelector: sourceChainSelector, offRamp: address(s_messageTransformerOffRamp)}); offRampUpdates[2 * i + 1] = Router.OffRamp({ sourceChainSelector: sourceChainSelector, offRamp: s_inboundNonceManager.getPreviousRamps(sourceChainSelector).prevOffRamp @@ -51,14 +51,16 @@ contract MessageTransformerOffRamp_executeSingleMessage is OffRampSetup { function test_executeSingleMessage_WithMessageTransformer() public { vm.stopPrank(); vm.startPrank(address(s_messageTransformerOffRamp)); - Internal.Any2EVMRampMessage memory message = _generateAny2EVMMessageNoTokens(SOURCE_CHAIN_SELECTOR_1, ON_RAMP_ADDRESS_1, 1); + Internal.Any2EVMRampMessage memory message = + _generateAny2EVMMessageNoTokens(SOURCE_CHAIN_SELECTOR_1, ON_RAMP_ADDRESS_1, 1); s_messageTransformerOffRamp.executeSingleMessage(message, new bytes[](message.tokenAmounts.length), new uint32[](0)); } function test_executeSingleMessage_WithMessageTransformer_RevertWhen_UnknownChain() public { vm.stopPrank(); vm.startPrank(address(s_messageTransformerOffRamp)); - Internal.Any2EVMRampMessage memory message = _generateAny2EVMMessageNoTokens(SOURCE_CHAIN_SELECTOR_1, ON_RAMP_ADDRESS_1, 1); + Internal.Any2EVMRampMessage memory message = + _generateAny2EVMMessageNoTokens(SOURCE_CHAIN_SELECTOR_1, ON_RAMP_ADDRESS_1, 1); // Fail with any error (UnknownChain in this case) to check if OffRamp wraps the error with MessageTransformError during the revert s_inboundMessageTransformer.setShouldRevert(true); vm.expectRevert( @@ -69,4 +71,4 @@ contract MessageTransformerOffRamp_executeSingleMessage is OffRampSetup { ); s_messageTransformerOffRamp.executeSingleMessage(message, new bytes[](message.tokenAmounts.length), new uint32[](0)); } -} \ No newline at end of file +} diff --git a/contracts/src/v0.8/ccip/test/onRamp/OnRamp/MessageTransformerOnRamp.forwardFromRouter.t.sol b/contracts/src/v0.8/ccip/test/onRamp/OnRamp/MessageTransformerOnRamp.forwardFromRouter.t.sol index 7e163722925..0a001bceee3 100644 --- a/contracts/src/v0.8/ccip/test/onRamp/OnRamp/MessageTransformerOnRamp.forwardFromRouter.t.sol +++ b/contracts/src/v0.8/ccip/test/onRamp/OnRamp/MessageTransformerOnRamp.forwardFromRouter.t.sol @@ -1,80 +1,84 @@ // SPDX-License-Identifier: BUSL-1.1 pragma solidity ^0.8.24; -import {OnRampSetup} from "./OnRampSetup.t.sol"; -import {OnRamp} from "../../../onRamp/OnRamp.sol"; -import {MessageTransformerOnRamp} from "../../../onRamp/MessageTransformerOnRamp.sol"; -import {MessageTransformerHelper} from "../../helpers/MessageTransformerHelper.sol"; -import {Client} from "../../../libraries/Client.sol"; -import {Internal} from "../../../libraries/Internal.sol"; +import {AuthorizedCallers} from "../../../../shared/access/AuthorizedCallers.sol"; import {IERC20} from "../../../../vendor/openzeppelin-solidity/v4.8.3/contracts/interfaces/IERC20.sol"; -import {IMessageTransformer} from "../../../interfaces/IMessageTransformer.sol"; -import {Router} from "../../../Router.sol"; import {NonceManager} from "../../../NonceManager.sol"; -import {AuthorizedCallers} from "../../../../shared/access/AuthorizedCallers.sol"; +import {Router} from "../../../Router.sol"; +import {IMessageTransformer} from "../../../interfaces/IMessageTransformer.sol"; +import {Client} from "../../../libraries/Client.sol"; +import {Internal} from "../../../libraries/Internal.sol"; +import {MessageTransformerOnRamp} from "../../../onRamp/MessageTransformerOnRamp.sol"; +import {OnRamp} from "../../../onRamp/OnRamp.sol"; +import {MessageTransformerHelper} from "../../helpers/MessageTransformerHelper.sol"; +import {OnRampSetup} from "./OnRampSetup.t.sol"; contract MessageTransformerOnRamp_forwardFromRouter is OnRampSetup { + MessageTransformerOnRamp internal s_messageTransformerOnRamp; + MessageTransformerHelper internal s_messageTransformer; - MessageTransformerOnRamp internal s_messageTransformerOnRamp; - MessageTransformerHelper internal s_messageTransformer; - - function setUp() public virtual override { - super.setUp(); - s_messageTransformer = new MessageTransformerHelper(); - s_messageTransformerOnRamp = new MessageTransformerOnRamp( - s_onRamp.getStaticConfig(), - s_onRamp.getDynamicConfig(), - _generateDestChainConfigArgs(s_sourceRouter), - address(s_messageTransformer) - ); - s_metadataHash = keccak256(abi.encode(Internal.EVM_2_ANY_MESSAGE_HASH, SOURCE_CHAIN_SELECTOR, DEST_CHAIN_SELECTOR, address(s_messageTransformerOnRamp))); - address[] memory authorizedCallers = new address[](1); - authorizedCallers[0] = address(s_messageTransformerOnRamp); + function setUp() public virtual override { + super.setUp(); + s_messageTransformer = new MessageTransformerHelper(); + s_messageTransformerOnRamp = new MessageTransformerOnRamp( + s_onRamp.getStaticConfig(), + s_onRamp.getDynamicConfig(), + _generateDestChainConfigArgs(s_sourceRouter), + address(s_messageTransformer) + ); + s_metadataHash = keccak256( + abi.encode( + Internal.EVM_2_ANY_MESSAGE_HASH, SOURCE_CHAIN_SELECTOR, DEST_CHAIN_SELECTOR, address(s_messageTransformerOnRamp) + ) + ); + address[] memory authorizedCallers = new address[](1); + authorizedCallers[0] = address(s_messageTransformerOnRamp); - NonceManager(s_outboundNonceManager).applyAuthorizedCallerUpdates( - AuthorizedCallers.AuthorizedCallerArgs({addedCallers: authorizedCallers, removedCallers: new address[](0)}) - ); + NonceManager(s_outboundNonceManager).applyAuthorizedCallerUpdates( + AuthorizedCallers.AuthorizedCallerArgs({addedCallers: authorizedCallers, removedCallers: new address[](0)}) + ); - Router.OnRamp[] memory onRampUpdates = new Router.OnRamp[](1); - onRampUpdates[0] = Router.OnRamp({destChainSelector: DEST_CHAIN_SELECTOR, onRamp: address(s_messageTransformerOnRamp)}); + Router.OnRamp[] memory onRampUpdates = new Router.OnRamp[](1); + onRampUpdates[0] = + Router.OnRamp({destChainSelector: DEST_CHAIN_SELECTOR, onRamp: address(s_messageTransformerOnRamp)}); - Router.OffRamp[] memory offRampUpdates = new Router.OffRamp[](2); - offRampUpdates[0] = Router.OffRamp({sourceChainSelector: SOURCE_CHAIN_SELECTOR, offRamp: makeAddr("offRamp0")}); - offRampUpdates[1] = Router.OffRamp({sourceChainSelector: SOURCE_CHAIN_SELECTOR, offRamp: makeAddr("offRamp1")}); - s_sourceRouter.applyRampUpdates(onRampUpdates, new Router.OffRamp[](0), offRampUpdates); - vm.startPrank(address(s_sourceRouter)); - } + Router.OffRamp[] memory offRampUpdates = new Router.OffRamp[](2); + offRampUpdates[0] = Router.OffRamp({sourceChainSelector: SOURCE_CHAIN_SELECTOR, offRamp: makeAddr("offRamp0")}); + offRampUpdates[1] = Router.OffRamp({sourceChainSelector: SOURCE_CHAIN_SELECTOR, offRamp: makeAddr("offRamp1")}); + s_sourceRouter.applyRampUpdates(onRampUpdates, new Router.OffRamp[](0), offRampUpdates); + vm.startPrank(address(s_sourceRouter)); + } - function test_forwardFromRouter_WithMessageTransformer_Success() public { - Client.EVM2AnyMessage memory message = _generateEmptyMessage(); - message.extraArgs = Client._argsToBytes(Client.EVMExtraArgsV1({gasLimit: GAS_LIMIT * 2})); - uint256 feeAmount = 1234567890; - message.tokenAmounts = new Client.EVMTokenAmount[](1); - message.tokenAmounts[0].amount = 1e18; - message.tokenAmounts[0].token = s_sourceTokens[0]; - IERC20(s_sourceFeeToken).transferFrom(OWNER, address(s_messageTransformerOnRamp), feeAmount); - vm.expectEmit(); - emit OnRamp.CCIPMessageSent(DEST_CHAIN_SELECTOR, 1, _messageToEvent(message, 1, 1, feeAmount, OWNER)); - s_messageTransformerOnRamp.forwardFromRouter(DEST_CHAIN_SELECTOR, message, feeAmount, OWNER); - } + function test_forwardFromRouter_WithMessageTransformer_Success() public { + Client.EVM2AnyMessage memory message = _generateEmptyMessage(); + message.extraArgs = Client._argsToBytes(Client.EVMExtraArgsV1({gasLimit: GAS_LIMIT * 2})); + uint256 feeAmount = 1234567890; + message.tokenAmounts = new Client.EVMTokenAmount[](1); + message.tokenAmounts[0].amount = 1e18; + message.tokenAmounts[0].token = s_sourceTokens[0]; + IERC20(s_sourceFeeToken).transferFrom(OWNER, address(s_messageTransformerOnRamp), feeAmount); + vm.expectEmit(); + emit OnRamp.CCIPMessageSent(DEST_CHAIN_SELECTOR, 1, _messageToEvent(message, 1, 1, feeAmount, OWNER)); + s_messageTransformerOnRamp.forwardFromRouter(DEST_CHAIN_SELECTOR, message, feeAmount, OWNER); + } - function test_MessageTransformerError_Revert() public { - Client.EVM2AnyMessage memory message = _generateEmptyMessage(); - message.extraArgs = Client._argsToBytes(Client.EVMExtraArgsV1({gasLimit: GAS_LIMIT * 2})); - uint256 feeAmount = 1234567890; - message.tokenAmounts = new Client.EVMTokenAmount[](1); - message.tokenAmounts[0].amount = 1e18; - message.tokenAmounts[0].token = s_sourceTokens[0]; - IERC20(s_sourceFeeToken).transferFrom(OWNER, address(s_messageTransformerOnRamp), feeAmount); + function test_MessageTransformerError_Revert() public { + Client.EVM2AnyMessage memory message = _generateEmptyMessage(); + message.extraArgs = Client._argsToBytes(Client.EVMExtraArgsV1({gasLimit: GAS_LIMIT * 2})); + uint256 feeAmount = 1234567890; + message.tokenAmounts = new Client.EVMTokenAmount[](1); + message.tokenAmounts[0].amount = 1e18; + message.tokenAmounts[0].token = s_sourceTokens[0]; + IERC20(s_sourceFeeToken).transferFrom(OWNER, address(s_messageTransformerOnRamp), feeAmount); - // Fail with any error (UnknownChain in this case) to check if OnRamp wraps the error with MessageTransformError during the revert - s_messageTransformer.setShouldRevert(true); - vm.expectRevert( - abi.encodeWithSelector( - IMessageTransformer.MessageTransformError.selector, - abi.encodeWithSelector(MessageTransformerHelper.UnknownChain.selector) - ) - ); - s_messageTransformerOnRamp.forwardFromRouter(DEST_CHAIN_SELECTOR, message, feeAmount, OWNER); - } -} \ No newline at end of file + // Fail with any error (UnknownChain in this case) to check if OnRamp wraps the error with MessageTransformError during the revert + s_messageTransformer.setShouldRevert(true); + vm.expectRevert( + abi.encodeWithSelector( + IMessageTransformer.MessageTransformError.selector, + abi.encodeWithSelector(MessageTransformerHelper.UnknownChain.selector) + ) + ); + s_messageTransformerOnRamp.forwardFromRouter(DEST_CHAIN_SELECTOR, message, feeAmount, OWNER); + } +}