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

Implement CCIPHome based on RMNHome #1459

Draft
wants to merge 36 commits into
base: ccip-develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b250524
init rmn home
RensR Sep 17, 2024
a2633a3
refactor rmn home
RensR Sep 18, 2024
606981c
add dynamic/static
RensR Sep 19, 2024
36720d2
add more tests
RensR Sep 19, 2024
21e8308
rm promoteSecondary
RensR Sep 23, 2024
053aa99
store bytes instead of struct
RensR Sep 23, 2024
e5814d0
extract HomeBase
RensR Sep 23, 2024
3992dac
extract digest calc
RensR Sep 23, 2024
7ddbf72
add version to storedConfig
RensR Sep 23, 2024
451a2fc
add getters for configs in base
RensR Sep 23, 2024
3647d25
have getters use base getters
RensR Sep 23, 2024
97c1471
extract validation functions
RensR Sep 23, 2024
32a3cda
move all setters to HomeBase
RensR Sep 23, 2024
0b33d7a
add donId and pluginType to HomeBase
RensR Sep 23, 2024
35e56e5
add CR support to RMN
RensR Sep 23, 2024
725a3d9
add ccipHome
RensR Sep 23, 2024
0c07613
fix getter types
RensR Sep 23, 2024
f1766b2
fix tests & make all config methods callable
RensR Sep 23, 2024
72b0884
add getAllChainConfigs
RensR Sep 23, 2024
4318f80
add don and type to getAllConfig
RensR Sep 23, 2024
ed271dc
add DON id and plugin type to getConfig
RensR Sep 23, 2024
d572c5c
add basic tests
RensR Sep 23, 2024
488c5e6
use single key to index
RensR Sep 23, 2024
5309aa2
move CR to CCIPHome
RensR Sep 23, 2024
ce86ed6
extract caller validation into implementations
RensR Sep 24, 2024
0b64028
improve comments, rm ccipConfig
RensR Sep 24, 2024
2d7ed93
put base into CCIPHome
RensR Sep 25, 2024
fff5d77
ccipHome without inheritance
RensR Sep 25, 2024
68b96a7
rm pluginKey in rmn
RensR Sep 25, 2024
a445b38
use correct types in RMNHome
RensR Sep 25, 2024
17b57ab
cleanup
RensR Sep 25, 2024
57f63e3
add storing of ccip config
RensR Sep 25, 2024
d309e11
fix typos
RensR Sep 26, 2024
3854ec9
rename blue/green/primary/secondary -> active/candidate
RensR Sep 26, 2024
9426e0c
improve comments
RensR Sep 26, 2024
60d07b4
full cov rmn
RensR Sep 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 26 additions & 57 deletions contracts/gas-snapshots/ccip.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -35,63 +35,6 @@ BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurnRevertNotHealthy_Revert() (gas
BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurn_Success() (gas: 244050)
BurnWithFromMintTokenPool_lockOrBurn:test_Setup_Success() (gas: 24170)
CCIPClientExample_sanity:test_ImmutableExamples_Success() (gas: 2052431)
CCIPConfigSetup:test_getCapabilityConfiguration_Success() (gas: 9508)
CCIPConfig_ConfigStateMachine:test__computeConfigDigest_Success() (gas: 83274)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_InitToRunning_Success() (gas: 354656)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_RunningToStaging_Success() (gas: 466876)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_StagingToRunning_Success() (gas: 433253)
CCIPConfig_ConfigStateMachine:test__groupByPluginType_TooManyOCR3Configs_Reverts() (gas: 28063)
CCIPConfig_ConfigStateMachine:test__groupByPluginType_threeCommitConfigs_Reverts() (gas: 61002)
CCIPConfig_ConfigStateMachine:test__groupByPluginType_threeExecutionConfigs_Reverts() (gas: 60940)
CCIPConfig_ConfigStateMachine:test__stateFromConfigLength_Success() (gas: 11668)
CCIPConfig_ConfigStateMachine:test__validateConfigStateTransition_Success() (gas: 8783)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_Success() (gas: 305974)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_WrongConfigCount_Reverts() (gas: 46142)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_NonExistentConfigTransition_Reverts() (gas: 25040)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_Success() (gas: 362471)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigCount_Reverts() (gas: 110001)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigDigestBlueGreen_Reverts() (gas: 141606)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_Success() (gas: 362211)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_WrongConfigDigest_Reverts() (gas: 141673)
CCIPConfig_ConfigStateMachine:test_getCapabilityConfiguration_Success() (gas: 9632)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitAndExecConfig_Success() (gas: 1699166)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitConfigOnly_Success() (gas: 991503)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ExecConfigOnly_Success() (gas: 991534)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_OnlyCapabilitiesRegistryCanCall_Reverts() (gas: 9665)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ZeroLengthConfig_Success() (gas: 16042)
CCIPConfig_beforeCapabilityConfigSet:test_getCapabilityConfiguration_Success() (gas: 9596)
CCIPConfig_chainConfig:test__applyChainConfigUpdates_FChainNotPositive_Reverts() (gas: 185139)
CCIPConfig_chainConfig:test_applyChainConfigUpdates_addChainConfigs_Success() (gas: 347170)
CCIPConfig_chainConfig:test_applyChainConfigUpdates_nodeNotInRegistry_Reverts() (gas: 20599)
CCIPConfig_chainConfig:test_applyChainConfigUpdates_removeChainConfigs_Success() (gas: 270867)
CCIPConfig_chainConfig:test_applyChainConfigUpdates_selectorNotFound_Reverts() (gas: 14943)
CCIPConfig_chainConfig:test_getCapabilityConfiguration_Success() (gas: 9617)
CCIPConfig_chainConfig:test_getPaginatedCCIPConfigs_Success() (gas: 370770)
CCIPConfig_constructor:test_constructor_Success() (gas: 3155264)
CCIPConfig_constructor:test_constructor_ZeroAddressNotAllowed_Revert() (gas: 61226)
CCIPConfig_updatePluginConfig:test__updatePluginConfig_InvalidConfigLength_Reverts() (gas: 22160)
CCIPConfig_updatePluginConfig:test__updatePluginConfig_InvalidConfigStateTransition_Reverts() (gas: 19491)
CCIPConfig_updatePluginConfig:test_getCapabilityConfiguration_Success() (gas: 9654)
CCIPConfig_updatePluginConfig:test_updatePluginConfig_InitToRunning_Success() (gas: 1039133)
CCIPConfig_updatePluginConfig:test_updatePluginConfig_RunningToStaging_Success() (gas: 1923111)
CCIPConfig_updatePluginConfig:test_updatePluginConfig_StagingToRunning_Success() (gas: 1923145)
CCIPConfig_validateConfig:test__validateConfigLessTransmittersThanSigners_Success() (gas: 333177)
CCIPConfig_validateConfig:test__validateConfigSmallerFChain_Success() (gas: 464532)
CCIPConfig_validateConfig:test__validateConfig_ABIEncodedAddress_OfframpAddressCannotBeZero_Reverts() (gas: 288463)
CCIPConfig_validateConfig:test__validateConfig_ChainSelectorNotFound_Reverts() (gas: 291264)
CCIPConfig_validateConfig:test__validateConfig_ChainSelectorNotSet_Reverts() (gas: 288096)
CCIPConfig_validateConfig:test__validateConfig_FChainTooHigh_Reverts() (gas: 335512)
CCIPConfig_validateConfig:test__validateConfig_FMustBePositive_Reverts() (gas: 289648)
CCIPConfig_validateConfig:test__validateConfig_FTooHigh_Reverts() (gas: 289087)
CCIPConfig_validateConfig:test__validateConfig_NodeNotInRegistry_Reverts() (gas: 342330)
CCIPConfig_validateConfig:test__validateConfig_NotEnoughTransmittersEmptyAddresses_Reverts() (gas: 306844)
CCIPConfig_validateConfig:test__validateConfig_NotEnoughTransmitters_Reverts() (gas: 1209806)
CCIPConfig_validateConfig:test__validateConfig_OfframpAddressCannotBeZero_Reverts() (gas: 288202)
CCIPConfig_validateConfig:test__validateConfig_Success() (gas: 299119)
CCIPConfig_validateConfig:test__validateConfig_TooManySigners_Reverts() (gas: 788872)
CCIPConfig_validateConfig:test__validateConfig_ZeroP2PId_Reverts() (gas: 292418)
CCIPConfig_validateConfig:test__validateConfig_ZeroSignerKey_Reverts() (gas: 292467)
CCIPConfig_validateConfig:test_getCapabilityConfiguration_Success() (gas: 9596)
CommitStore_constructor:test_Constructor_Success() (gas: 2855567)
CommitStore_isUnpausedAndRMNHealthy:test_RMN_Success() (gas: 73954)
CommitStore_report:test_InvalidIntervalMinLargerThanMax_Revert() (gas: 28739)
Expand Down Expand Up @@ -809,6 +752,32 @@ PingPong_plumbing:test_OutOfOrderExecution_Success() (gas: 20310)
PingPong_plumbing:test_Pausing_Success() (gas: 17810)
PingPong_startPingPong:test_StartPingPong_With_OOO_Success() (gas: 162091)
PingPong_startPingPong:test_StartPingPong_With_Sequenced_Ordered_Success() (gas: 181509)
RMNHome_promoteSecondaryAndRevokePrimary:test_promoteSecondaryAndRevokePrimary_InvalidCaller_reverts() (gas: 10972)
RMNHome_promoteSecondaryAndRevokePrimary:test_promoteSecondaryAndRevokePrimary_OnlyOwner_reverts() (gas: 10967)
RMNHome_promoteSecondaryAndRevokePrimary:test_promoteSecondaryAndRevokePrimary_success() (gas: 187)
RMNHome_promoteSecondaryAndRevokePrimary:test_promoteSecondaryAndRevokePrimary_success() (gas: 209)
RMNHome_revokeSecondary:test_revokeSecondary_ConfigDigestMismatch_reverts() (gas: 19366)
RMNHome_revokeSecondary:test_revokeSecondary_ConfigDigestMismatch_reverts() (gas: 19408)
RMNHome_revokeSecondary:test_revokeSecondary_InvalidCaller_reverts() (gas: 10866)
RMNHome_revokeSecondary:test_revokeSecondary_OnlyOwner_reverts() (gas: 10997)
RMNHome_revokeSecondary:test_revokeSecondary_success() (gas: 27257)
RMNHome_revokeSecondary:test_revokeSecondary_success() (gas: 29136)
RMNHome_setDynamicConfig:test_setDynamicConfig_DigestNotFound_reverts() (gas: 33400)
RMNHome_setDynamicConfig:test_setDynamicConfig_InvalidCaller_reverts() (gas: 11766)
RMNHome_setDynamicConfig:test_setDynamicConfig_MinObserversTooHigh_reverts() (gas: 20489)
RMNHome_setDynamicConfig:test_setDynamicConfig_OnlyOwner_reverts() (gas: 15584)
RMNHome_setDynamicConfig:test_setDynamicConfig_success() (gas: 133281)
RMNHome_setDynamicConfig:test_setDynamicConfig_success() (gas: 63155)
RMNHome_setSecondary:test_setSecondary_DuplicateOffchainPublicKey_reverts() (gas: 20894)
RMNHome_setSecondary:test_setSecondary_DuplicatePeerId_reverts() (gas: 20688)
RMNHome_setSecondary:test_setSecondary_DuplicateSourceChain_reverts() (gas: 24479)
RMNHome_setSecondary:test_setSecondary_InvalidCaller_reverts() (gas: 12615)
RMNHome_setSecondary:test_setSecondary_MinObserversTooHigh_reverts() (gas: 24918)
RMNHome_setSecondary:test_setSecondary_OnlyOwner_reverts() (gas: 18130)
RMNHome_setSecondary:test_setSecondary_OutOfBoundsNodesLength_reverts() (gas: 186826)
RMNHome_setSecondary:test_setSecondary_OutOfBoundsObserverNodeIndex_reverts() (gas: 24623)
RMNHome_setSecondary:test_setSecondary_success() (gas: 283227)
RMNHome_setSecondary:test_setSecondary_success() (gas: 821491)
RMNRemote_constructor:test_constructor_success() (gas: 8334)
RMNRemote_constructor:test_constructor_zeroChainSelector_reverts() (gas: 59165)
RMNRemote_curse:test_curse_AlreadyCursed_duplicateSubject_reverts() (gas: 154457)
Expand Down
Loading
Loading