Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CCIP-4476 remove legacy curse check in rmnRemote #15523

Merged
merged 12 commits into from
Dec 17, 2024
Prev Previous commit
Next Next commit
snapshot, wrapper, and changeset fix
  • Loading branch information
jhweintraub committed Dec 5, 2024
commit 59b3fa5e292049baee8ec544c65cddd8e3e4935f
5 changes: 5 additions & 0 deletions contracts/.changeset/eighty-cycles-film.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@chainlink/contracts': patch
---

remove legacy curse check from RMNRemote isCursed() method #bugfix
176 changes: 88 additions & 88 deletions contracts/gas-snapshots/ccip.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -21,75 +21,75 @@ BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurnRevertNotHealthy_Revert() (gas
BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurn_Success() (gas: 244496)
BurnWithFromMintTokenPool_lockOrBurn:test_Setup_Success() (gas: 24223)
CCIPClientExample_sanity:test_ImmutableExamples_Success() (gas: 2077779)
CCIPHome__validateConfig:test__validateConfigLessTransmittersThanSigners_Success() (gas: 332619)
CCIPHome__validateConfig:test__validateConfigSmallerFChain_Success() (gas: 458568)
CCIPHome__validateConfig:test__validateConfig_ABIEncodedAddress_OfframpAddressCannotBeZero_Reverts() (gas: 289191)
CCIPHome__validateConfig:test__validateConfig_ABIEncodedAddress_RMNHomeAddressCannotBeZero_Reverts() (gas: 289486)
CCIPHome__validateConfig:test__validateConfig_ChainSelectorNotFound_Reverts() (gas: 292216)
CCIPHome__validateConfig:test__validateConfig_ChainSelectorNotSet_Reverts() (gas: 288824)
CCIPHome__validateConfig:test__validateConfig_FChainTooHigh_Reverts() (gas: 336363)
CCIPHome__validateConfig:test__validateConfig_FMustBePositive_Reverts() (gas: 290590)
CCIPHome__validateConfig:test__validateConfig_FTooHigh_Reverts() (gas: 290055)
CCIPHome__validateConfig:test__validateConfig_NotEnoughTransmittersEmptyAddresses_Reverts() (gas: 308646)
CCIPHome__validateConfig:test__validateConfig_NotEnoughTransmitters_Reverts() (gas: 1191231)
CCIPHome__validateConfig:test__validateConfig_OfframpAddressCannotBeZero_Reverts() (gas: 288918)
CCIPHome__validateConfig:test__validateConfig_RMNHomeAddressCannotBeZero_Reverts() (gas: 289112)
CCIPHome__validateConfig:test__validateConfig_Success() (gas: 299797)
CCIPHome__validateConfig:test__validateConfig_TooManySigners_Reverts() (gas: 773105)
CCIPHome__validateConfig:test__validateConfig_ZeroP2PId_Reverts() (gas: 293455)
CCIPHome__validateConfig:test__validateConfig_ZeroSignerKey_Reverts() (gas: 293503)
CCIPHome_applyChainConfigUpdates:test__applyChainConfigUpdates_FChainNotPositive_Reverts() (gas: 187738)
CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_addChainConfigs_Success() (gas: 349623)
CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_nodeNotInRegistry_Reverts() (gas: 18065)
CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_removeChainConfigs_Success() (gas: 272742)
CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_selectorNotFound_Reverts() (gas: 14952)
CCIPHome_applyChainConfigUpdates:test_getPaginatedCCIPHomes_Success() (gas: 372561)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_DONIdMismatch_reverts() (gas: 38098)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_InnerCallReverts_reverts() (gas: 11827)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_InvalidSelector_reverts() (gas: 11015)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_OnlyCapabilitiesRegistryCanCall_reverts() (gas: 37072)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_success() (gas: 1455716)
CCIPHome_constructor:test_constructor_CapabilitiesRegistryAddressZero_reverts() (gas: 63767)
CCIPHome_constructor:test_constructor_success() (gas: 3455841)
CCIPHome_getAllConfigs:test_getAllConfigs_success() (gas: 2773000)
CCIPHome_getCapabilityConfiguration:test_getCapabilityConfiguration_success() (gas: 9138)
CCIPHome_getConfigDigests:test_getConfigDigests_success() (gas: 2547397)
CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_CanOnlySelfCall_reverts() (gas: 9087)
CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_ConfigDigestMismatch_reverts() (gas: 23005)
CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_NoOpStateTransitionNotAllowed_reverts() (gas: 8817)
CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_multiplePlugins_success() (gas: 5113570)
CCIPHome_revokeCandidate:test_revokeCandidate_CanOnlySelfCall_reverts() (gas: 9068)
CCIPHome_revokeCandidate:test_revokeCandidate_ConfigDigestMismatch_reverts() (gas: 19105)
CCIPHome_revokeCandidate:test_revokeCandidate_RevokingZeroDigestNotAllowed_reverts() (gas: 8817)
CCIPHome_revokeCandidate:test_revokeCandidate_success() (gas: 30674)
CCIPHome_setCandidate:test_setCandidate_CanOnlySelfCall_reverts() (gas: 29383)
CCIPHome_setCandidate:test_setCandidate_ConfigDigestMismatch_reverts() (gas: 1395154)
CCIPHome_setCandidate:test_setCandidate_success() (gas: 1365439)
CCIPHome_supportsInterface:test_supportsInterface_success() (gas: 9885)
CCIPHome__validateConfig:test__validateConfigLessTransmittersThanSigners_Success() (gas: 380773)
CCIPHome__validateConfig:test__validateConfigSmallerFChain_Success() (gas: 558994)
CCIPHome__validateConfig:test__validateConfig_ABIEncodedAddress_OfframpAddressCannotBeZero_Reverts() (gas: 323319)
CCIPHome__validateConfig:test__validateConfig_ABIEncodedAddress_RMNHomeAddressCannotBeZero_Reverts() (gas: 323792)
CCIPHome__validateConfig:test__validateConfig_ChainSelectorNotFound_Reverts() (gas: 326840)
CCIPHome__validateConfig:test__validateConfig_ChainSelectorNotSet_Reverts() (gas: 322566)
CCIPHome__validateConfig:test__validateConfig_FChainTooHigh_Reverts() (gas: 396028)
CCIPHome__validateConfig:test__validateConfig_FMustBePositive_Reverts() (gas: 325553)
CCIPHome__validateConfig:test__validateConfig_FTooHigh_Reverts() (gas: 324473)
CCIPHome__validateConfig:test__validateConfig_NotEnoughTransmittersEmptyAddresses_Reverts() (gas: 354424)
CCIPHome__validateConfig:test__validateConfig_NotEnoughTransmitters_Reverts() (gas: 1424879)
CCIPHome__validateConfig:test__validateConfig_OfframpAddressCannotBeZero_Reverts() (gas: 322684)
CCIPHome__validateConfig:test__validateConfig_RMNHomeAddressCannotBeZero_Reverts() (gas: 323067)
CCIPHome__validateConfig:test__validateConfig_Success() (gas: 340335)
CCIPHome__validateConfig:test__validateConfig_TooManySigners_Reverts() (gas: 1177201)
CCIPHome__validateConfig:test__validateConfig_ZeroP2PId_Reverts() (gas: 328982)
CCIPHome__validateConfig:test__validateConfig_ZeroSignerKey_Reverts() (gas: 329095)
CCIPHome_applyChainConfigUpdates:test__applyChainConfigUpdates_FChainNotPositive_Reverts() (gas: 199206)
CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_addChainConfigs_Success() (gas: 371830)
CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_nodeNotInRegistry_Reverts() (gas: 23171)
CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_removeChainConfigs_Success() (gas: 286616)
CCIPHome_applyChainConfigUpdates:test_applyChainConfigUpdates_selectorNotFound_Reverts() (gas: 16588)
CCIPHome_applyChainConfigUpdates:test_getPaginatedCCIPHomes_Success() (gas: 411194)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_DONIdMismatch_reverts() (gas: 53139)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_InnerCallReverts_reverts() (gas: 14017)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_InvalidSelector_reverts() (gas: 12740)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_OnlyCapabilitiesRegistryCanCall_reverts() (gas: 51199)
CCIPHome_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_success() (gas: 1553472)
CCIPHome_constructor:test_constructor_CapabilitiesRegistryAddressZero_reverts() (gas: 67022)
CCIPHome_constructor:test_constructor_success() (gas: 5322506)
CCIPHome_getAllConfigs:test_getAllConfigs_success() (gas: 2917876)
CCIPHome_getCapabilityConfiguration:test_getCapabilityConfiguration_success() (gas: 10244)
CCIPHome_getConfigDigests:test_getConfigDigests_success() (gas: 2632384)
CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_CanOnlySelfCall_reverts() (gas: 10152)
CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_ConfigDigestMismatch_reverts() (gas: 27337)
CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_NoOpStateTransitionNotAllowed_reverts() (gas: 9924)
CCIPHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_multiplePlugins_success() (gas: 5320500)
CCIPHome_revokeCandidate:test_revokeCandidate_CanOnlySelfCall_reverts() (gas: 10097)
CCIPHome_revokeCandidate:test_revokeCandidate_ConfigDigestMismatch_reverts() (gas: 21525)
CCIPHome_revokeCandidate:test_revokeCandidate_RevokingZeroDigestNotAllowed_reverts() (gas: 9666)
CCIPHome_revokeCandidate:test_revokeCandidate_success() (gas: 39075)
CCIPHome_setCandidate:test_setCandidate_CanOnlySelfCall_reverts() (gas: 43957)
CCIPHome_setCandidate:test_setCandidate_ConfigDigestMismatch_reverts() (gas: 1489850)
CCIPHome_setCandidate:test_setCandidate_success() (gas: 1435475)
CCIPHome_supportsInterface:test_supportsInterface_success() (gas: 11363)
DefensiveExampleTest:test_HappyPath_Success() (gas: 200540)
DefensiveExampleTest:test_Recovery() (gas: 425013)
E2E:test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: 1512127)
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_fallbackToWethTransfer() (gas: 96980)
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_happyPath() (gas: 49812)
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongToken() (gas: 17479)
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongTokenAmount() (gas: 15753)
EtherSenderReceiverTest_ccipSend:test_ccipSend_reverts_insufficientFee_feeToken() (gas: 99953)
EtherSenderReceiverTest_ccipSend:test_ccipSend_reverts_insufficientFee_native() (gas: 76182)
EtherSenderReceiverTest_ccipSend:test_ccipSend_reverts_insufficientFee_weth() (gas: 99974)
EtherSenderReceiverTest_ccipSend:test_ccipSend_success_feeToken() (gas: 145007)
EtherSenderReceiverTest_ccipSend:test_ccipSend_success_native() (gas: 80439)
EtherSenderReceiverTest_ccipSend:test_ccipSend_success_nativeExcess() (gas: 80604)
EtherSenderReceiverTest_ccipSend:test_ccipSend_success_weth() (gas: 96107)
EtherSenderReceiverTest_constructor:test_constructor() (gas: 17575)
EtherSenderReceiverTest_getFee:test_getFee() (gas: 27456)
EtherSenderReceiverTest_validateFeeToken:test_validateFeeToken_reverts_feeToken_tokenAmountNotEqualToMsgValue() (gas: 20355)
EtherSenderReceiverTest_validateFeeToken:test_validateFeeToken_valid_feeToken() (gas: 16682)
EtherSenderReceiverTest_validateFeeToken:test_validateFeeToken_valid_native() (gas: 16615)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_dataOverwrittenToMsgSender() (gas: 25456)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_emptyDataOverwrittenToMsgSender() (gas: 25373)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_invalidTokenAmounts() (gas: 17969)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_tokenOverwrittenToWeth() (gas: 25328)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_validMessage_extraArgs() (gas: 26348)
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_fallbackToWethTransfer() (gas: 103832)
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_happyPath() (gas: 54732)
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongToken() (gas: 21903)
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongTokenAmount() (gas: 20674)
EtherSenderReceiverTest_ccipSend:test_ccipSend_reverts_insufficientFee_feeToken() (gas: 116423)
EtherSenderReceiverTest_ccipSend:test_ccipSend_reverts_insufficientFee_native() (gas: 91360)
EtherSenderReceiverTest_ccipSend:test_ccipSend_reverts_insufficientFee_weth() (gas: 116371)
EtherSenderReceiverTest_ccipSend:test_ccipSend_success_feeToken() (gas: 167929)
EtherSenderReceiverTest_ccipSend:test_ccipSend_success_native() (gas: 98200)
EtherSenderReceiverTest_ccipSend:test_ccipSend_success_nativeExcess() (gas: 98574)
EtherSenderReceiverTest_ccipSend:test_ccipSend_success_weth() (gas: 117880)
EtherSenderReceiverTest_constructor:test_constructor() (gas: 19659)
EtherSenderReceiverTest_getFee:test_getFee() (gas: 41273)
EtherSenderReceiverTest_validateFeeToken:test_validateFeeToken_reverts_feeToken_tokenAmountNotEqualToMsgValue() (gas: 22872)
EtherSenderReceiverTest_validateFeeToken:test_validateFeeToken_valid_feeToken() (gas: 18368)
EtherSenderReceiverTest_validateFeeToken:test_validateFeeToken_valid_native() (gas: 18398)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_dataOverwrittenToMsgSender() (gas: 34950)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_emptyDataOverwrittenToMsgSender() (gas: 34719)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_invalidTokenAmounts() (gas: 23796)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_tokenOverwrittenToWeth() (gas: 34674)
EtherSenderReceiverTest_validatedMessage:test_validatedMessage_validMessage_extraArgs() (gas: 36217)
FactoryBurnMintERC20_approve:test_Approve_Success() (gas: 55819)
FactoryBurnMintERC20_approve:test_InvalidAddress_Reverts() (gas: 10703)
FactoryBurnMintERC20_burn:test_BasicBurn_Success() (gas: 172464)
Expand Down Expand Up @@ -550,28 +550,28 @@ PingPong_setOutOfOrderExecution:test_OutOfOrderExecution_Success() (gas: 20283)
PingPong_setPaused:test_Pausing_Success() (gas: 17738)
PingPong_startPingPong:test_StartPingPong_With_OOO_Success() (gas: 151993)
PingPong_startPingPong:test_StartPingPong_With_Sequenced_Ordered_Success() (gas: 177608)
RMNHome_getConfigDigests:test_getConfigDigests_success() (gas: 1079685)
RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_ConfigDigestMismatch_reverts() (gas: 23879)
RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_NoOpStateTransitionNotAllowed_reverts() (gas: 10597)
RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_OnlyOwner_reverts() (gas: 10843)
RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_success() (gas: 1085033)
RMNHome_revokeCandidate:test_revokeCandidate_ConfigDigestMismatch_reverts() (gas: 19041)
RMNHome_revokeCandidate:test_revokeCandidate_OnlyOwner_reverts() (gas: 10889)
RMNHome_revokeCandidate:test_revokeCandidate_RevokingZeroDigestNotAllowed_reverts() (gas: 10628)
RMNHome_revokeCandidate:test_revokeCandidate_success() (gas: 28147)
RMNHome_setCandidate:test_setCandidate_ConfigDigestMismatch_reverts() (gas: 597564)
RMNHome_setCandidate:test_setCandidate_OnlyOwner_reverts() (gas: 15071)
RMNHome_setCandidate:test_setCandidate_success() (gas: 589330)
RMNHome_setDynamicConfig:test_setDynamicConfig_DigestNotFound_reverts() (gas: 30186)
RMNHome_setDynamicConfig:test_setDynamicConfig_MinObserversTooHigh_reverts() (gas: 18854)
RMNHome_setDynamicConfig:test_setDynamicConfig_OnlyOwner_reverts() (gas: 14009)
RMNHome_setDynamicConfig:test_setDynamicConfig_success() (gas: 104862)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_DuplicateOffchainPublicKey_reverts() (gas: 18850)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_DuplicatePeerId_reverts() (gas: 18710)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_DuplicateSourceChain_reverts() (gas: 20387)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_NotEnoughObservers_reverts() (gas: 21405)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_OutOfBoundsNodesLength_reverts() (gas: 137318)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_OutOfBoundsObserverNodeIndex_reverts() (gas: 20522)
RMNHome_getConfigDigests:test_getConfigDigests_success() (gas: 1141201)
RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_ConfigDigestMismatch_reverts() (gas: 27408)
RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_NoOpStateTransitionNotAllowed_reverts() (gas: 11404)
RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_OnlyOwner_reverts() (gas: 11832)
RMNHome_promoteCandidateAndRevokeActive:test_promoteCandidateAndRevokeActive_success() (gas: 1155666)
RMNHome_revokeCandidate:test_revokeCandidate_ConfigDigestMismatch_reverts() (gas: 20941)
RMNHome_revokeCandidate:test_revokeCandidate_OnlyOwner_reverts() (gas: 11645)
RMNHome_revokeCandidate:test_revokeCandidate_RevokingZeroDigestNotAllowed_reverts() (gas: 11193)
RMNHome_revokeCandidate:test_revokeCandidate_success() (gas: 34858)
RMNHome_setCandidate:test_setCandidate_ConfigDigestMismatch_reverts() (gas: 663743)
RMNHome_setCandidate:test_setCandidate_OnlyOwner_reverts() (gas: 19206)
RMNHome_setCandidate:test_setCandidate_success() (gas: 634730)
RMNHome_setDynamicConfig:test_setDynamicConfig_DigestNotFound_reverts() (gas: 35645)
RMNHome_setDynamicConfig:test_setDynamicConfig_MinObserversTooHigh_reverts() (gas: 21662)
RMNHome_setDynamicConfig:test_setDynamicConfig_OnlyOwner_reverts() (gas: 16620)
RMNHome_setDynamicConfig:test_setDynamicConfig_success() (gas: 130187)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_DuplicateOffchainPublicKey_reverts() (gas: 27054)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_DuplicatePeerId_reverts() (gas: 26920)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_DuplicateSourceChain_reverts() (gas: 29055)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_NotEnoughObservers_reverts() (gas: 31068)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_OutOfBoundsNodesLength_reverts() (gas: 370126)
RMNHome_validateStaticAndDynamicConfig:test_validateStaticAndDynamicConfig_OutOfBoundsObserverNodeIndex_reverts() (gas: 29313)
RMNRemote_constructor:test_constructor() (gas: 8398)
RMNRemote_curse:test_curse_AlreadyCursed_duplicateSubject_reverts() (gas: 154501)
RMNRemote_curse:test_curse_calledByNonOwner_reverts() (gas: 18734)
Expand Down
1 change: 0 additions & 1 deletion contracts/src/v0.8/ccip/offRamp/OffRamp.sol
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,6 @@ contract OffRamp is ITypeAndVersion, MultiOCR3Base {
) internal {
uint64 sourceChainSelector = report.sourceChainSelector;
bool manualExecution = manualExecGasExecOverrides.length != 0;
// A double call to the RMNRemote is to check for both chainwise and legacy cursing before proceeding
if (i_rmnRemote.isCursed(bytes16(uint128(sourceChainSelector)))) {
if (manualExecution) {
// For manual execution we don't want to silently fail so we revert.
Expand Down
Loading
Loading