Skip to content

Commit

Permalink
Cherry pick chainlink PRs (#1549)
Browse files Browse the repository at this point in the history
This brings three changes into the ccip repo

- OZ AccessControl support for RegistryModule
- MockRouter ExtraArgsV2 support
- Adds Ownable2Step, a more efficient ownable contract
- Bump foundry to be in line with `chainlink`
  • Loading branch information
RensR authored Nov 28, 2024
2 parents 75b1a6f + e86b273 commit 3bf1170
Show file tree
Hide file tree
Showing 143 changed files with 2,247 additions and 815 deletions.
10 changes: 10 additions & 0 deletions contracts/.changeset/metal-ducks-hunt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
'@chainlink/contracts': patch
---

#feature adds OZ AccessControl support to the registry module


PR issue: CCIP-4105

Solidity Review issue: CCIP-3966
7 changes: 7 additions & 0 deletions contracts/.changeset/wet-eyes-accept.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@chainlink/contracts': patch
---

Refactor MockCCIPRouter to support EVMExtraArgsV2

PR issue : CCIP-4288
2 changes: 1 addition & 1 deletion contracts/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ mockery: $(mockery) ## Install mockery.

.PHONY: foundry
foundry: ## Install foundry.
foundryup --version nightly-515a4cc8aba1627a717a1057ff4f09c8cd3bf51f
foundryup --version nightly-fb5f0e1c4d9b9b0861be3e3bd07963524c5ac08e

.PHONY: foundry-refresh
foundry-refresh: foundry
Expand Down
2 changes: 1 addition & 1 deletion contracts/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ test = 'src/v0.8/transmission/test'
optimizer_runs = 1_000_000
src = 'src/v0.8/shared'
test = 'src/v0.8/shared/test'
solc_version = '0.8.19'
solc_version = '0.8.24'


# See more config options https://github.com/foundry-rs/foundry/tree/master/config
39 changes: 22 additions & 17 deletions contracts/gas-snapshots/ccip.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,13 @@ CommitStore_verify:test_Paused_Revert() (gas: 18568)
CommitStore_verify:test_TooManyLeaves_Revert() (gas: 36848)
DefensiveExampleTest:test_HappyPath_Success() (gas: 200200)
DefensiveExampleTest:test_Recovery() (gas: 424476)
E2E:test_E2E_3MessagesSuccess_gas() (gas: 1108425)
E2E:test_E2E_3MessagesSuccess_gas() (gas: 1141917)
EVM2EVMOffRamp__releaseOrMintToken:test__releaseOrMintToken_NotACompatiblePool_Revert() (gas: 38322)
EVM2EVMOffRamp__releaseOrMintToken:test__releaseOrMintToken_Success() (gas: 104438)
EVM2EVMOffRamp__releaseOrMintToken:test__releaseOrMintToken_TokenHandlingError_transfer_Revert() (gas: 86026)
EVM2EVMOffRamp__releaseOrMintToken:test__releaseOrMintToken_TokenHandlingError_transfer_Revert() (gas: 83526)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_InvalidDataLength_Revert() (gas: 37365)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_ReleaseOrMintBalanceMismatch_Revert() (gas: 95013)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_TokenHandlingError_BalanceOf_Revert() (gas: 40341)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_TokenHandlingError_BalanceOf_Revert() (gas: 37841)
EVM2EVMOffRamp__releaseOrMintToken:test_releaseOrMintToken_skip_ReleaseOrMintBalanceMismatch_if_pool_Revert() (gas: 87189)
EVM2EVMOffRamp__releaseOrMintTokens:test_OverValueWithARLOff_Success() (gas: 381594)
EVM2EVMOffRamp__releaseOrMintTokens:test_PriceNotFoundForToken_Reverts() (gas: 140568)
Expand Down Expand Up @@ -482,11 +482,14 @@ MerkleMultiProofTest:test_EmptyLeaf_Revert() (gas: 3585)
MerkleMultiProofTest:test_MerkleRoot256() (gas: 394891)
MerkleMultiProofTest:test_MerkleRootSingleLeaf_Success() (gas: 3661)
MerkleMultiProofTest:test_SpecSync_gas() (gas: 34129)
MockRouterTest:test_ccipSendWithEVMExtraArgsV1_Success() (gas: 110073)
MockRouterTest:test_ccipSendWithEVMExtraArgsV2_Success() (gas: 132614)
MockRouterTest:test_ccipSendWithInsufficientNativeTokens_Revert() (gas: 34037)
MockRouterTest:test_ccipSendWithInvalidMsgValue_Revert() (gas: 60842)
MockRouterTest:test_ccipSendWithLinkFeeTokenAndValidMsgValue_Success() (gas: 126576)
MockRouterTest:test_ccipSendWithLinkFeeTokenbutInsufficientAllowance_Revert() (gas: 63455)
MockRouterTest:test_ccipSendWithSufficientNativeFeeTokens_Success() (gas: 44012)
MockRouterTest:test_ccipSendWithInvalidEVMExtraArgs_Revert() (gas: 106684)
MockRouterTest:test_ccipSendWithInvalidMsgValue_Revert() (gas: 60886)
MockRouterTest:test_ccipSendWithLinkFeeTokenAndValidMsgValue_Success() (gas: 126640)
MockRouterTest:test_ccipSendWithLinkFeeTokenButInsufficientAllowance_Revert() (gas: 63478)
MockRouterTest:test_ccipSendWithSufficientNativeFeeTokens_Success() (gas: 44048)
MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_MultipleConfigsBothLanes_Success() (gas: 133528)
MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_MultipleConfigs_Success() (gas: 315630)
MultiAggregateRateLimiter_applyRateLimiterConfigUpdates:test_OnlyCallableByOwner_Revert() (gas: 17864)
Expand All @@ -512,7 +515,7 @@ MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithRateLimitExce
MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithRateLimitReset_Success() (gas: 76561)
MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithTokensOnDifferentChains_Success() (gas: 308233)
MultiAggregateRateLimiter_onInboundMessage:test_ValidateMessageWithTokens_Success() (gas: 50558)
MultiAggregateRateLimiter_onOutboundMessage:test_RateLimitValueDifferentLanes_Success() (gas: 1073669578)
MultiAggregateRateLimiter_onOutboundMessage:test_RateLimitValueDifferentLanes_Success() (gas: 51181)
MultiAggregateRateLimiter_onOutboundMessage:test_ValidateMessageWithNoTokens_Success() (gas: 19302)
MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageFromUnauthorizedCaller_Revert() (gas: 15913)
MultiAggregateRateLimiter_onOutboundMessage:test_onOutboundMessage_ValidateMessageWithDifferentTokensOnDifferentChains_Success() (gas: 209885)
Expand Down Expand Up @@ -566,7 +569,7 @@ MultiOCR3Base_transmit:test_UnauthorizedSigner_Revert() (gas: 61275)
MultiOCR3Base_transmit:test_UnconfiguredPlugin_Revert() (gas: 39933)
MultiOCR3Base_transmit:test_ZeroSignatures_Revert() (gas: 33049)
MultiOnRampTokenPoolReentrancy:test_OnRampTokenPoolReentrancy_Success() (gas: 233732)
MultiRampsE2E:test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: 1501821)
MultiRampsE2E:test_E2E_3MessagesMMultiOffRampSuccess_gas() (gas: 1518567)
NonceManager_NonceIncrementation:test_getIncrementedOutboundNonce_Success() (gas: 37934)
NonceManager_NonceIncrementation:test_incrementInboundNonce_Skip() (gas: 23706)
NonceManager_NonceIncrementation:test_incrementInboundNonce_Success() (gas: 38778)
Expand Down Expand Up @@ -634,7 +637,7 @@ OffRamp_batchExecute:test_Unhealthy_Success() (gas: 554256)
OffRamp_batchExecute:test_ZeroReports_Revert() (gas: 10622)
OffRamp_ccipReceive:test_Reverts() (gas: 15407)
OffRamp_commit:test_CommitOnRampMismatch_Revert() (gas: 92905)
OffRamp_commit:test_FailedRMNVerification_Reverts() (gas: 64099)
OffRamp_commit:test_FailedRMNVerification_Reverts() (gas: 61599)
OffRamp_commit:test_InvalidIntervalMinLargerThanMax_Revert() (gas: 68173)
OffRamp_commit:test_InvalidInterval_Revert() (gas: 64291)
OffRamp_commit:test_InvalidRootRevert() (gas: 63356)
Expand Down Expand Up @@ -728,10 +731,10 @@ OffRamp_manuallyExecute:test_manuallyExecute_WithMultiReportGasOverride_Success(
OffRamp_manuallyExecute:test_manuallyExecute_WithPartialMessages_Success() (gas: 347346)
OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken_NotACompatiblePool_Revert() (gas: 37656)
OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken_Success() (gas: 104404)
OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken_TokenHandlingError_transfer_Revert() (gas: 85342)
OffRamp_releaseOrMintSingleToken:test__releaseOrMintSingleToken_TokenHandlingError_transfer_Revert() (gas: 82842)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_InvalidDataLength_Revert() (gas: 36752)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_ReleaseOrMintBalanceMismatch_Revert() (gas: 94382)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_TokenHandlingError_BalanceOf_Revert() (gas: 39741)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_TokenHandlingError_BalanceOf_Revert() (gas: 37241)
OffRamp_releaseOrMintSingleToken:test_releaseOrMintToken_skip_ReleaseOrMintBalanceMismatch_if_pool_Revert() (gas: 86516)
OffRamp_releaseOrMintTokens:test_TokenHandlingError_Reverts() (gas: 162381)
OffRamp_releaseOrMintTokens:test__releaseOrMintTokens_PoolIsNotAPool_Reverts() (gas: 23903)
Expand Down Expand Up @@ -917,11 +920,13 @@ RateLimiter_consume:test_TokenRateLimitReached_Revert() (gas: 24886)
RateLimiter_currentTokenBucketState:test_CurrentTokenBucketState_Success() (gas: 38944)
RateLimiter_currentTokenBucketState:test_Refill_Success() (gas: 46849)
RateLimiter_setTokenBucketConfig:test_SetRateLimiterConfig_Success() (gas: 38506)
RegistryModuleOwnerCustom_constructor:test_constructor_Revert() (gas: 36033)
RegistryModuleOwnerCustom_registerAdminViaGetCCIPAdmin:test_registerAdminViaGetCCIPAdmin_Revert() (gas: 19739)
RegistryModuleOwnerCustom_registerAdminViaGetCCIPAdmin:test_registerAdminViaGetCCIPAdmin_Success() (gas: 130086)
RegistryModuleOwnerCustom_registerAdminViaOwner:test_registerAdminViaOwner_Revert() (gas: 19559)
RegistryModuleOwnerCustom_registerAdminViaOwner:test_registerAdminViaOwner_Success() (gas: 129905)
RegistryModuleOwnerCustom_constructor:test_constructor_Revert() (gas: 36107)
RegistryModuleOwnerCustom_registerAccessControlDefaultAdmin:test_registerAccessControlDefaultAdmin_Revert() (gas: 20206)
RegistryModuleOwnerCustom_registerAccessControlDefaultAdmin:test_registerAccessControlDefaultAdmin_Success() (gas: 130628)
RegistryModuleOwnerCustom_registerAdminViaGetCCIPAdmin:test_registerAdminViaGetCCIPAdmin_Revert() (gas: 19773)
RegistryModuleOwnerCustom_registerAdminViaGetCCIPAdmin:test_registerAdminViaGetCCIPAdmin_Success() (gas: 130108)
RegistryModuleOwnerCustom_registerAdminViaOwner:test_registerAdminViaOwner_Revert() (gas: 19593)
RegistryModuleOwnerCustom_registerAdminViaOwner:test_registerAdminViaOwner_Success() (gas: 129927)
Router_applyRampUpdates:test_OffRampMismatch_Revert() (gas: 89366)
Router_applyRampUpdates:test_OffRampUpdatesWithRouting() (gas: 10662612)
Router_applyRampUpdates:test_OnRampDisable() (gas: 56007)
Expand Down
18 changes: 9 additions & 9 deletions contracts/gas-snapshots/functions.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -229,13 +229,13 @@ FunctionsTermsOfServiceAllowList_UnblockSender:test_UnblockSender_RevertIfNotOwn
FunctionsTermsOfServiceAllowList_UnblockSender:test_UnblockSender_Success() (gas: 96240)
FunctionsTermsOfServiceAllowList_UpdateConfig:test_UpdateConfig_RevertIfNotOwner() (gas: 13819)
FunctionsTermsOfServiceAllowList_UpdateConfig:test_UpdateConfig_Success() (gas: 22824)
Gas_AcceptTermsOfService:test_AcceptTermsOfService_Gas() (gas: 84725)
Gas_AddConsumer:test_AddConsumer_Gas() (gas: 79140)
Gas_AcceptTermsOfService:test_AcceptTermsOfService_Gas() (gas: 81752)
Gas_AddConsumer:test_AddConsumer_Gas() (gas: 76167)
Gas_CreateSubscription:test_CreateSubscription_Gas() (gas: 73419)
Gas_FulfillRequest_DuplicateRequestID:test_FulfillRequest_DuplicateRequestID_MaximumGas() (gas: 20562)
Gas_FulfillRequest_DuplicateRequestID:test_FulfillRequest_DuplicateRequestID_MinimumGas() (gas: 20024)
Gas_FulfillRequest_Success:test_FulfillRequest_Success_MaximumGas() (gas: 501184)
Gas_FulfillRequest_Success:test_FulfillRequest_Success_MinimumGas() (gas: 202376)
Gas_FundSubscription:test_FundSubscription_Gas() (gas: 38518)
Gas_SendRequest:test_SendRequest_MaximumGas() (gas: 984338)
Gas_SendRequest:test_SendRequest_MinimumGas() (gas: 181561)
Gas_FulfillRequest_DuplicateRequestID:test_FulfillRequest_DuplicateRequestID_MaximumGas() (gas: 17589)
Gas_FulfillRequest_DuplicateRequestID:test_FulfillRequest_DuplicateRequestID_MinimumGas() (gas: 17051)
Gas_FulfillRequest_Success:test_FulfillRequest_Success_MaximumGas() (gas: 498189)
Gas_FulfillRequest_Success:test_FulfillRequest_Success_MinimumGas() (gas: 199381)
Gas_FundSubscription:test_FundSubscription_Gas() (gas: 35545)
Gas_SendRequest:test_SendRequest_MaximumGas() (gas: 981365)
Gas_SendRequest:test_SendRequest_MinimumGas() (gas: 178588)
Loading

0 comments on commit 3bf1170

Please sign in to comment.