From 291f0fad3e7a806c2d51053c87880a5f12113263 Mon Sep 17 00:00:00 2001 From: Evaldas Latoskinas Date: Fri, 13 Sep 2024 16:55:16 +0300 Subject: [PATCH] test: add tests --- contracts/gas-snapshots/ccip.gas-snapshot | 109 +++++++++--------- .../ccip/test/capability/CCIPConfig.t.sol | 45 +++----- .../ccip/generated/ccip_config/ccip_config.go | 18 +-- .../ocr3_config_encoder.go | 14 ++- ...rapper-dependency-versions-do-not-edit.txt | 4 +- 5 files changed, 90 insertions(+), 100 deletions(-) diff --git a/contracts/gas-snapshots/ccip.gas-snapshot b/contracts/gas-snapshots/ccip.gas-snapshot index 2c44a021e8..43cb51c4ce 100644 --- a/contracts/gas-snapshots/ccip.gas-snapshot +++ b/contracts/gas-snapshots/ccip.gas-snapshot @@ -35,61 +35,62 @@ BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurnRevertNotHealthy_Revert() (gas BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurn_Success() (gas: 243707) BurnWithFromMintTokenPool_lockOrBurn:test_Setup_Success() (gas: 23951) CCIPClientExample_sanity:test_ImmutableExamples_Success() (gas: 2091438) -CCIPConfigSetup:test_getCapabilityConfiguration_Success() (gas: 9539) -CCIPConfig_ConfigStateMachine:test__computeConfigDigest_Success() (gas: 66000) -CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_InitToRunning_Success() (gas: 358959) -CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_RunningToStaging_Success() (gas: 476474) -CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_StagingToRunning_Success() (gas: 442826) -CCIPConfig_ConfigStateMachine:test__groupByPluginType_TooManyOCR3Configs_Reverts() (gas: 33848) -CCIPConfig_ConfigStateMachine:test__groupByPluginType_threeCommitConfigs_Reverts() (gas: 56914) -CCIPConfig_ConfigStateMachine:test__groupByPluginType_threeExecutionConfigs_Reverts() (gas: 56852) -CCIPConfig_ConfigStateMachine:test__stateFromConfigLength_Success() (gas: 11719) -CCIPConfig_ConfigStateMachine:test__validateConfigStateTransition_Success() (gas: 8849) -CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_Success() (gas: 309789) -CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_WrongConfigCount_Reverts() (gas: 45865) -CCIPConfig_ConfigStateMachine:test__validateConfigTransition_NonExistentConfigTransition_Reverts() (gas: 29690) -CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_Success() (gas: 370076) -CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigCount_Reverts() (gas: 111376) -CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigDigestBlueGreen_Reverts() (gas: 145446) -CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_Success() (gas: 369852) -CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_WrongConfigDigest_Reverts() (gas: 145513) -CCIPConfig_ConfigStateMachine:test_getCapabilityConfiguration_Success() (gas: 9627) -CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitAndExecConfig_Success() (gas: 1792577) -CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitConfigOnly_Success() (gas: 1039157) -CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ExecConfigOnly_Success() (gas: 1039188) +CCIPConfigSetup:test_getCapabilityConfiguration_Success() (gas: 9496) +CCIPConfig_ConfigStateMachine:test__computeConfigDigest_Success() (gas: 81288) +CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_InitToRunning_Success() (gas: 351506) +CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_RunningToStaging_Success() (gas: 459892) +CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_StagingToRunning_Success() (gas: 427187) +CCIPConfig_ConfigStateMachine:test__groupByPluginType_TooManyOCR3Configs_Reverts() (gas: 27049) +CCIPConfig_ConfigStateMachine:test__groupByPluginType_threeCommitConfigs_Reverts() (gas: 59262) +CCIPConfig_ConfigStateMachine:test__groupByPluginType_threeExecutionConfigs_Reverts() (gas: 59200) +CCIPConfig_ConfigStateMachine:test__stateFromConfigLength_Success() (gas: 11650) +CCIPConfig_ConfigStateMachine:test__validateConfigStateTransition_Success() (gas: 8783) +CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_Success() (gas: 304312) +CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_WrongConfigCount_Reverts() (gas: 45002) +CCIPConfig_ConfigStateMachine:test__validateConfigTransition_NonExistentConfigTransition_Reverts() (gas: 24194) +CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_Success() (gas: 358817) +CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigCount_Reverts() (gas: 106815) +CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigDigestBlueGreen_Reverts() (gas: 137508) +CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_Success() (gas: 358593) +CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_WrongConfigDigest_Reverts() (gas: 137575) +CCIPConfig_ConfigStateMachine:test_getCapabilityConfiguration_Success() (gas: 9584) +CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitAndExecConfig_Success() (gas: 1696208) +CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitConfigOnly_Success() (gas: 989652) +CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ExecConfigOnly_Success() (gas: 989683) CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_OnlyCapabilitiesRegistryCanCall_Reverts() (gas: 9611) -CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ZeroLengthConfig_Success() (gas: 15996) -CCIPConfig_beforeCapabilityConfigSet:test_getCapabilityConfiguration_Success() (gas: 9627) -CCIPConfig_chainConfig:test__applyChainConfigUpdates_FChainNotPositive_Reverts() (gas: 184771) -CCIPConfig_chainConfig:test_applyChainConfigUpdates_addChainConfigs_Success() (gas: 346687) -CCIPConfig_chainConfig:test_applyChainConfigUpdates_nodeNotInRegistry_Reverts() (gas: 20340) -CCIPConfig_chainConfig:test_applyChainConfigUpdates_removeChainConfigs_Success() (gas: 270334) -CCIPConfig_chainConfig:test_applyChainConfigUpdates_selectorNotFound_Reverts() (gas: 14819) -CCIPConfig_chainConfig:test_getCapabilityConfiguration_Success() (gas: 9648) -CCIPConfig_chainConfig:test_getPaginatedCCIPConfigs_Success() (gas: 370293) -CCIPConfig_constructor:test_constructor_Success() (gas: 3364563) -CCIPConfig_constructor:test_constructor_ZeroAddressNotAllowed_Revert() (gas: 61471) -CCIPConfig_updatePluginConfig:test__updatePluginConfig_InvalidConfigLength_Reverts() (gas: 25819) -CCIPConfig_updatePluginConfig:test__updatePluginConfig_InvalidConfigStateTransition_Reverts() (gas: 21913) -CCIPConfig_updatePluginConfig:test_getCapabilityConfiguration_Success() (gas: 9649) -CCIPConfig_updatePluginConfig:test_updatePluginConfig_InitToRunning_Success() (gas: 1088595) -CCIPConfig_updatePluginConfig:test_updatePluginConfig_RunningToStaging_Success() (gas: 2034382) -CCIPConfig_updatePluginConfig:test_updatePluginConfig_StagingToRunning_Success() (gas: 2034416) -CCIPConfig_validateConfig:test__validateConfigLessTransmittersThanSigners_Success() (gas: 334727) -CCIPConfig_validateConfig:test__validateConfigSmallerFChain_Success() (gas: 470319) -CCIPConfig_validateConfig:test__validateConfig_ABIEncodedAddress_OfframpAddressCannotBeZero_Reverts() (gas: 291171) -CCIPConfig_validateConfig:test__validateConfig_ChainSelectorNotFound_Reverts() (gas: 293905) -CCIPConfig_validateConfig:test__validateConfig_ChainSelectorNotSet_Reverts() (gas: 290826) -CCIPConfig_validateConfig:test__validateConfig_FChainTooHigh_Reverts() (gas: 339498) -CCIPConfig_validateConfig:test__validateConfig_FMustBePositive_Reverts() (gas: 291640) -CCIPConfig_validateConfig:test__validateConfig_FTooHigh_Reverts() (gas: 292976) -CCIPConfig_validateConfig:test__validateConfig_NodeNotInRegistry_Reverts() (gas: 346203) -CCIPConfig_validateConfig:test__validateConfig_NotEnoughTransmittersEmptyAddresses_Reverts() (gas: 308248) -CCIPConfig_validateConfig:test__validateConfig_NotEnoughTransmitters_Reverts() (gas: 1209756) -CCIPConfig_validateConfig:test__validateConfig_OfframpAddressCannotBeZero_Reverts() (gas: 290865) -CCIPConfig_validateConfig:test__validateConfig_P2PIdsLengthNotMatching_Reverts() (gas: 293693) -CCIPConfig_validateConfig:test__validateConfig_Success() (gas: 300892) -CCIPConfig_validateConfig:test__validateConfig_TooManySigners_Reverts() (gas: 494367) +CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ZeroLengthConfig_Success() (gas: 15850) +CCIPConfig_beforeCapabilityConfigSet:test_getCapabilityConfiguration_Success() (gas: 9584) +CCIPConfig_chainConfig:test__applyChainConfigUpdates_FChainNotPositive_Reverts() (gas: 184686) +CCIPConfig_chainConfig:test_applyChainConfigUpdates_addChainConfigs_Success() (gas: 346519) +CCIPConfig_chainConfig:test_applyChainConfigUpdates_nodeNotInRegistry_Reverts() (gas: 20326) +CCIPConfig_chainConfig:test_applyChainConfigUpdates_removeChainConfigs_Success() (gas: 270291) +CCIPConfig_chainConfig:test_applyChainConfigUpdates_selectorNotFound_Reverts() (gas: 14841) +CCIPConfig_chainConfig:test_getCapabilityConfiguration_Success() (gas: 9605) +CCIPConfig_chainConfig:test_getPaginatedCCIPConfigs_Success() (gas: 369963) +CCIPConfig_constructor:test_constructor_Success() (gas: 3331483) +CCIPConfig_constructor:test_constructor_ZeroAddressNotAllowed_Revert() (gas: 61430) +CCIPConfig_updatePluginConfig:test__updatePluginConfig_InvalidConfigLength_Reverts() (gas: 21608) +CCIPConfig_updatePluginConfig:test__updatePluginConfig_InvalidConfigStateTransition_Reverts() (gas: 19107) +CCIPConfig_updatePluginConfig:test_getCapabilityConfiguration_Success() (gas: 9606) +CCIPConfig_updatePluginConfig:test_updatePluginConfig_InitToRunning_Success() (gas: 1036184) +CCIPConfig_updatePluginConfig:test_updatePluginConfig_RunningToStaging_Success() (gas: 1918020) +CCIPConfig_updatePluginConfig:test_updatePluginConfig_StagingToRunning_Success() (gas: 1918055) +CCIPConfig_validateConfig:test__validateConfigLessTransmittersThanSigners_Success() (gas: 331749) +CCIPConfig_validateConfig:test__validateConfigSmallerFChain_Success() (gas: 461988) +CCIPConfig_validateConfig:test__validateConfig_ABIEncodedAddress_OfframpAddressCannotBeZero_Reverts() (gas: 287563) +CCIPConfig_validateConfig:test__validateConfig_ChainSelectorNotFound_Reverts() (gas: 290340) +CCIPConfig_validateConfig:test__validateConfig_ChainSelectorNotSet_Reverts() (gas: 287196) +CCIPConfig_validateConfig:test__validateConfig_FChainTooHigh_Reverts() (gas: 334132) +CCIPConfig_validateConfig:test__validateConfig_FMustBePositive_Reverts() (gas: 288724) +CCIPConfig_validateConfig:test__validateConfig_FTooHigh_Reverts() (gas: 288163) +CCIPConfig_validateConfig:test__validateConfig_NodeNotInRegistry_Reverts() (gas: 340860) +CCIPConfig_validateConfig:test__validateConfig_NotEnoughTransmittersEmptyAddresses_Reverts() (gas: 305440) +CCIPConfig_validateConfig:test__validateConfig_NotEnoughTransmitters_Reverts() (gas: 1204532) +CCIPConfig_validateConfig:test__validateConfig_OfframpAddressCannotBeZero_Reverts() (gas: 287302) +CCIPConfig_validateConfig:test__validateConfig_Success() (gas: 297907) +CCIPConfig_validateConfig:test__validateConfig_TooManySigners_Reverts() (gas: 769732) +CCIPConfig_validateConfig:test__validateConfig_ZeroP2PId_Reverts() (gas: 291482) +CCIPConfig_validateConfig:test__validateConfig_ZeroSignerKey_Reverts() (gas: 291537) CCIPConfig_validateConfig:test_getCapabilityConfiguration_Success() (gas: 9584) CommitStore_constructor:test_Constructor_Success() (gas: 3013980) CommitStore_isUnpausedAndRMNHealthy:test_RMN_Success() (gas: 73477) diff --git a/contracts/src/v0.8/ccip/test/capability/CCIPConfig.t.sol b/contracts/src/v0.8/ccip/test/capability/CCIPConfig.t.sol index 2511fac12c..a64fee8b9a 100644 --- a/contracts/src/v0.8/ccip/test/capability/CCIPConfig.t.sol +++ b/contracts/src/v0.8/ccip/test/capability/CCIPConfig.t.sol @@ -43,25 +43,6 @@ contract CCIPConfigSetup is Test { return subset; } - //TODO: Use OZ's Arrays.sort when we upgrade to OZ v5 - function _sort(bytes32[] memory arr, int256 left, int256 right) private pure { - int256 i = left; - int256 j = right; - if (i == j) return; - bytes32 pivot = arr[uint256(left + (right - left) / 2)]; - while (i <= j) { - while (arr[uint256(i)] < pivot) i++; - while (pivot < arr[uint256(j)]) j--; - if (i <= j) { - (arr[uint256(i)], arr[uint256(j)]) = (arr[uint256(j)], arr[uint256(i)]); - i++; - j--; - } - } - if (left < j) _sort(arr, left, j); - if (i < right) _sort(arr, i, right); - } - function _addChainConfig(uint256 numNodes) internal returns (CCIPConfigTypes.OCR3Node[] memory nodes) { return _addChainConfig(numNodes, 1); } @@ -533,21 +514,21 @@ contract CCIPConfig_validateConfig is CCIPConfigSetup { s_ccipCC.validateConfig(config); } - // TODO: rewrite test - // function test__validateConfig_P2PIdsLengthNotMatching_Reverts() public { - // CCIPConfigTypes.OCR3Config memory config = _getCorrectOCR3Config(); + function test__validateConfig_ZeroP2PId_Reverts() public { + CCIPConfigTypes.OCR3Config memory config = _getCorrectOCR3Config(); + config.nodes[1].p2pId = bytes32(0); + + vm.expectRevert(abi.encodeWithSelector(CCIPConfig.InvalidNode.selector, config.nodes[1])); + s_ccipCC.validateConfig(config); + } - // uint256 expectedNumberOfP2pIds = config.signers.length; - // uint256 wrongNumberOfP2pIds = expectedNumberOfP2pIds - 1; - // config.p2pIds = new bytes32[](wrongNumberOfP2pIds); // Not enough + function test__validateConfig_ZeroSignerKey_Reverts() public { + CCIPConfigTypes.OCR3Config memory config = _getCorrectOCR3Config(); + config.nodes[2].signerKey = bytes(""); - // vm.expectRevert( - // abi.encodeWithSelector( - // CCIPConfig.P2PIdsLengthNotMatching.selector, wrongNumberOfP2pIds, expectedNumberOfP2pIds, expectedNumberOfP2pIds - // ) - // ); - // s_ccipCC.validateConfig(config); - // } + vm.expectRevert(abi.encodeWithSelector(CCIPConfig.InvalidNode.selector, config.nodes[2])); + s_ccipCC.validateConfig(config); + } function test__validateConfig_NodeNotInRegistry_Reverts() public { CCIPConfigTypes.OCR3Node[] memory nodes = _addChainConfig(4); diff --git a/core/gethwrappers/ccip/generated/ccip_config/ccip_config.go b/core/gethwrappers/ccip/generated/ccip_config/ccip_config.go index 2f9b9e8303..990209e958 100644 --- a/core/gethwrappers/ccip/generated/ccip_config/ccip_config.go +++ b/core/gethwrappers/ccip/generated/ccip_config/ccip_config.go @@ -44,12 +44,10 @@ type CCIPConfigTypesChainConfigInfo struct { type CCIPConfigTypesOCR3Config struct { PluginType uint8 ChainSelector uint64 - F uint8 + FRoleDON uint8 OffchainConfigVersion uint64 OfframpAddress []byte - P2pIds [][32]byte - Signers [][]byte - Transmitters [][]byte + Nodes []CCIPConfigTypesOCR3Node OffchainConfig []byte } @@ -59,9 +57,15 @@ type CCIPConfigTypesOCR3ConfigWithMeta struct { ConfigDigest [32]byte } +type CCIPConfigTypesOCR3Node struct { + P2pId [32]byte + SignerKey []byte + TransmitterKey []byte +} + var CCIPConfigMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"capabilitiesRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"}],\"name\":\"ChainSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ChainSelectorNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FChainMustBePositive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FChainTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FTooHigh\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidConfigLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enumCCIPConfigTypes.ConfigState\",\"name\":\"currentState\",\"type\":\"uint8\"},{\"internalType\":\"enumCCIPConfigTypes.ConfigState\",\"name\":\"proposedState\",\"type\":\"uint8\"}],\"name\":\"InvalidConfigStateTransition\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPluginType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"p2pId\",\"type\":\"bytes32\"}],\"name\":\"NodeNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonExistentConfigTransition\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"got\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"}],\"name\":\"NotEnoughTransmitters\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OfframpAddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCapabilitiesRegistryCanCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"p2pIdsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"signersLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transmittersLength\",\"type\":\"uint256\"}],\"name\":\"P2PIdsLengthNotMatching\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManyOCR3Configs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManySigners\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"got\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"}],\"name\":\"WrongConfigCount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"got\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"}],\"name\":\"WrongConfigDigest\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"got\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"}],\"name\":\"WrongConfigDigestBlueGreen\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"CapabilityConfigurationSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"}],\"name\":\"ChainConfigRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"readers\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fChain\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"config\",\"type\":\"bytes\"}],\"indexed\":false,\"internalType\":\"structCCIPConfigTypes.ChainConfig\",\"name\":\"chainConfig\",\"type\":\"tuple\"}],\"name\":\"ChainConfigSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"donId\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"pluginType\",\"type\":\"uint8\"},{\"components\":[{\"components\":[{\"internalType\":\"enumInternal.OCRPluginType\",\"name\":\"pluginType\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"F\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"offchainConfigVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"offrampAddress\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"p2pIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"signers\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"transmitters\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"offchainConfig\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Config\",\"name\":\"config\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"configCount\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"configDigest\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"structCCIPConfigTypes.OCR3ConfigWithMeta[]\",\"name\":\"config\",\"type\":\"tuple[]\"}],\"name\":\"ConfigSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64[]\",\"name\":\"chainSelectorRemoves\",\"type\":\"uint64[]\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"readers\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fChain\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"config\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.ChainConfig\",\"name\":\"chainConfig\",\"type\":\"tuple\"}],\"internalType\":\"structCCIPConfigTypes.ChainConfigInfo[]\",\"name\":\"chainConfigAdds\",\"type\":\"tuple[]\"}],\"name\":\"applyChainConfigUpdates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"config\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"donId\",\"type\":\"uint32\"}],\"name\":\"beforeCapabilityConfigSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pageIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getAllChainConfigs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"readers\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fChain\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"config\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.ChainConfig\",\"name\":\"chainConfig\",\"type\":\"tuple\"}],\"internalType\":\"structCCIPConfigTypes.ChainConfigInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"getCapabilityConfiguration\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"configuration\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCapabilityRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNumChainConfigurations\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"donId\",\"type\":\"uint32\"},{\"internalType\":\"enumInternal.OCRPluginType\",\"name\":\"pluginType\",\"type\":\"uint8\"}],\"name\":\"getOCRConfig\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumInternal.OCRPluginType\",\"name\":\"pluginType\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"F\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"offchainConfigVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"offrampAddress\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"p2pIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"signers\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"transmitters\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"offchainConfig\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Config\",\"name\":\"config\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"configCount\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"configDigest\",\"type\":\"bytes32\"}],\"internalType\":\"structCCIPConfigTypes.OCR3ConfigWithMeta[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"typeAndVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x60a06040523480156200001157600080fd5b5060405162004117380380620041178339810160408190526200003491620001a6565b33806000816200008b5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0384811691909117909155811615620000be57620000be81620000fb565b5050506001600160a01b038116620000e9576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b0316608052620001d8565b336001600160a01b03821603620001555760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640162000082565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b600060208284031215620001b957600080fd5b81516001600160a01b0381168114620001d157600080fd5b9392505050565b608051613f15620002026000396000818161010301528181610ed901526111490152613f156000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80638318ed5d11610081578063f2fde38b1161005b578063f2fde38b14610230578063f442c89a14610243578063fba64a7c1461025657600080fd5b80638318ed5d146101d15780638da5cb5b146101f2578063b74b23561461021057600080fd5b80634bd0473f116100b25780634bd0473f1461019157806379ba5097146101b15780637ac0d41e146101bb57600080fd5b806301ffc9a7146100d9578063020330e614610101578063181f5a7714610148575b600080fd5b6100ec6100e7366004612d8b565b610269565b60405190151581526020015b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f8565b6101846040518060400160405280601481526020017f43434950436f6e66696720312e362e302d64657600000000000000000000000081525081565b6040516100f89190612e31565b6101a461019f366004612e75565b610302565b6040516100f89190612f94565b6101b961077a565b005b6101c361087c565b6040519081526020016100f8565b6101846101df366004613150565b5060408051602081019091526000815290565b60005473ffffffffffffffffffffffffffffffffffffffff16610123565b61022361021e36600461316d565b61088d565b6040516100f891906131d3565b6101b961023e366004613263565b610b0e565b6101b96102513660046132e5565b610b22565b6101b9610264366004613369565b610ec1565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f78bea7210000000000000000000000000000000000000000000000000000000014806102fc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b63ffffffff8216600090815260056020526040812060609183600181111561032c5761032c612eaa565b600181111561033d5761033d612eaa565b8152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561076e57600084815260209020604080516101808101909152600884029091018054829060608201908390829060ff1660018111156103b0576103b0612eaa565b60018111156103c1576103c1612eaa565b8152815467ffffffffffffffff61010082048116602084015260ff690100000000000000000083041660408401526a010000000000000000000090910416606082015260018201805460809092019161041990613426565b80601f016020809104026020016040519081016040528092919081815260200182805461044590613426565b80156104925780601f1061046757610100808354040283529160200191610492565b820191906000526020600020905b81548152906001019060200180831161047557829003601f168201915b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156104ea57602002820191906000526020600020905b8154815260200190600101908083116104d6575b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b828210156105c457838290600052602060002001805461053790613426565b80601f016020809104026020016040519081016040528092919081815260200182805461056390613426565b80156105b05780601f10610585576101008083540402835291602001916105b0565b820191906000526020600020905b81548152906001019060200180831161059357829003601f168201915b505050505081526020019060010190610518565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b8282101561069d57838290600052602060002001805461061090613426565b80601f016020809104026020016040519081016040528092919081815260200182805461063c90613426565b80156106895780601f1061065e57610100808354040283529160200191610689565b820191906000526020600020905b81548152906001019060200180831161066c57829003601f168201915b5050505050815260200190600101906105f1565b5050505081526020016005820180546106b590613426565b80601f01602080910402602001604051908101604052809291908181526020018280546106e190613426565b801561072e5780601f106107035761010080835404028352916020019161072e565b820191906000526020600020905b81548152906001019060200180831161071157829003601f168201915b505050919092525050508152600682015467ffffffffffffffff16602080830191909152600790920154604090910152908252600192909201910161036b565b50505050905092915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610800576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e65720000000000000000000060448201526064015b60405180910390fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b60006108886003610f7c565b905090565b6060600061089b6003610f7c565b905060006108a984866134a8565b90508315806108b85750818110155b156108f85760408051600080825260208201909252906108ee565b6108db612b2a565b8152602001906001900390816108d35790505b50925050506102fc565b600061090485836134ee565b9050828111156109115750815b600061091d8383613501565b67ffffffffffffffff811115610935576109356134bf565b60405190808252806020026020018201604052801561096e57816020015b61095b612b2a565b8152602001906001900390816109535790505b509050600061097d6003610f86565b9050835b83811015610b0157600082828151811061099d5761099d613514565b60209081029190910181015160408051808201825267ffffffffffffffff831680825260009081526002855282902082518154608081880283018101909552606082018181529597509295860194909391928492849190840182828015610a2357602002820191906000526020600020905b815481526020019060010190808311610a0f575b5050509183525050600182015460ff166020820152600282018054604090920191610a4d90613426565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7990613426565b8015610ac65780601f10610a9b57610100808354040283529160200191610ac6565b820191906000526020600020905b815481529060010190602001808311610aa957829003601f168201915b50505091909252505050905284610add8885613501565b81518110610aed57610aed613514565b602090810291909101015250600101610981565b5090979650505050505050565b610b16610f9a565b610b1f8161101d565b50565b610b2a610f9a565b60005b83811015610d1057610b71858583818110610b4a57610b4a613514565b9050602002016020810190610b5f9190613543565b60039067ffffffffffffffff16611112565b610bdb57848482818110610b8757610b87613514565b9050602002016020810190610b9c9190613543565b6040517f1bd4d2d200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff90911660048201526024016107f7565b60026000868684818110610bf157610bf1613514565b9050602002016020810190610c069190613543565b67ffffffffffffffff1681526020810191909152604001600090812090610c2d8282612b72565b6001820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055610c65600283016000612b90565b5050610ca3858583818110610c7c57610c7c613514565b9050602002016020810190610c919190613543565b60039067ffffffffffffffff1661112a565b507f2a680691fef3b2d105196805935232c661ce703e92d464ef0b94a7bc62d714f0858583818110610cd757610cd7613514565b9050602002016020810190610cec9190613543565b60405167ffffffffffffffff909116815260200160405180910390a1600101610b2d565b5060005b81811015610eba576000838383818110610d3057610d30613514565b9050602002810190610d42919061355e565b610d5090602081019061359c565b610d599061379e565b90506000848484818110610d6f57610d6f613514565b9050602002810190610d81919061355e565b610d8f906020810190613543565b9050610d9e8260000151611136565b816020015160ff16600003610ddf576040517fa9b3766e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff81166000908152600260209081526040909120835180518593610e0f928492910190612bca565b5060208201516001820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff90921691909117905560408201516002820190610e5c9082613882565b50610e7691506003905067ffffffffffffffff8316611282565b507f05dd57854af2c291a94ea52e7c43d80bc3be7fa73022f98b735dea86642fa5e08183604051610ea892919061399c565b60405180910390a15050600101610d14565b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610f30576040517fac7a7efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610f47610f4286880188613a47565b61128e565b8151919350915015610f5f57610f5f836000846114d9565b805115610f7257610f72836001836114d9565b5050505050505050565b60006102fc825490565b60606000610f9383611c98565b9392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461101b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e65720000000000000000000060448201526064016107f7565b565b3373ffffffffffffffffffffffffffffffffffffffff82160361109c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000060448201526064016107f7565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60008181526001830160205260408120541515610f93565b6000610f938383611cf4565b60005b815181101561127e5760008019167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166350c946fe84848151811061119557611195613514565b60200260200101516040518263ffffffff1660e01b81526004016111bb91815260200190565b600060405180830381865afa1580156111d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261121e9190810190613c92565b60800151036112765781818151811061123957611239613514565b60200260200101516040517f8907a4fa0000000000000000000000000000000000000000000000000000000081526004016107f791815260200190565b600101611139565b5050565b6000610f938383611dee565b606080600460ff16835111156112d0576040517f8854586400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160028082526060820190925290816020015b61134d6040805161012081019091528060008152602001600067ffffffffffffffff168152602001600060ff168152602001600067ffffffffffffffff16815260200160608152602001606081526020016060815260200160608152602001606081525090565b8152602001906001900390816112e657505060408051600280825260608201909252919350602082015b6113de6040805161012081019091528060008152602001600067ffffffffffffffff168152602001600060ff168152602001600067ffffffffffffffff16815260200160608152602001606081526020016060815260200160608152602001606081525090565b81526020019060019003908161137757905050905060008060005b85518110156114cc57600086828151811061141657611416613514565b602002602001015160000151600181111561143357611433612eaa565b036114805785818151811061144a5761144a613514565b602002602001015185848151811061146457611464613514565b60200260200101819052508261147990613d6a565b92506114c4565b85818151811061149257611492613514565b60200260200101518483815181106114ac576114ac613514565b6020026020010181905250816114c190613d6a565b91505b6001016113f9565b5090835281529092909150565b63ffffffff831660009081526005602052604081208184600181111561150157611501612eaa565b600181111561151257611512612eaa565b8152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561194357600084815260209020604080516101808101909152600884029091018054829060608201908390829060ff16600181111561158557611585612eaa565b600181111561159657611596612eaa565b8152815467ffffffffffffffff61010082048116602084015260ff690100000000000000000083041660408401526a01000000000000000000009091041660608201526001820180546080909201916115ee90613426565b80601f016020809104026020016040519081016040528092919081815260200182805461161a90613426565b80156116675780601f1061163c57610100808354040283529160200191611667565b820191906000526020600020905b81548152906001019060200180831161164a57829003601f168201915b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156116bf57602002820191906000526020600020905b8154815260200190600101908083116116ab575b5050505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b8282101561179957838290600052602060002001805461170c90613426565b80601f016020809104026020016040519081016040528092919081815260200182805461173890613426565b80156117855780601f1061175a57610100808354040283529160200191611785565b820191906000526020600020905b81548152906001019060200180831161176857829003601f168201915b5050505050815260200190600101906116ed565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b828210156118725783829060005260206000200180546117e590613426565b80601f016020809104026020016040519081016040528092919081815260200182805461181190613426565b801561185e5780601f106118335761010080835404028352916020019161185e565b820191906000526020600020905b81548152906001019060200180831161184157829003601f168201915b5050505050815260200190600101906117c6565b50505050815260200160058201805461188a90613426565b80601f01602080910402602001604051908101604052809291908181526020018280546118b690613426565b80156119035780601f106118d857610100808354040283529160200191611903565b820191906000526020600020905b8154815290600101906020018083116118e657829003601f168201915b505050919092525050508152600682015467ffffffffffffffff166020808301919091526007909201546040909101529082526001929092019101611540565b50505050905060006119558251611e3d565b905060006119638451611e3d565b905061196f8282611e8f565b600061197e8785878686611f4b565b905061198a848261232f565b63ffffffff87166000908152600560205260408120908760018111156119b2576119b2612eaa565b60018111156119c3576119c3612eaa565b815260200190815260200160002060006119dd9190612c15565b60005b8151811015611c3b5763ffffffff8816600090815260056020526040812090886001811115611a1157611a11612eaa565b6001811115611a2257611a22612eaa565b8152602001908152602001600020828281518110611a4257611a42613514565b6020908102919091018101518254600181810185556000948552929093208151805160089095029091018054929490939192849283917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016908381811115611aac57611aac612eaa565b021790555060208201518154604084015160608501517fffffffffffffffffffffffffffffffffffffffffffff000000000000000000ff90921661010067ffffffffffffffff948516027fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff1617690100000000000000000060ff90921691909102177fffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffff166a0100000000000000000000929091169190910217815560808201516001820190611b7b9082613882565b5060a08201518051611b97916002840191602090910190612bca565b5060c08201518051611bb3916003840191602090910190612c36565b5060e08201518051611bcf916004840191602090910190612c36565b506101008201516005820190611be59082613882565b50505060208201516006820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9092169190911790556040909101516007909101556001016119e0565b50856001811115611c4e57611c4e612eaa565b60ff168763ffffffff167f403420f960fcf8fdad51d01bc3af8668c5963e6746c63c8f5363c26d9d44514883604051611c879190612f94565b60405180910390a350505050505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ce857602002820191906000526020600020905b815481526020019060010190808311611cd4575b50505050509050919050565b60008181526001830160205260408120548015611ddd576000611d18600183613501565b8554909150600090611d2c90600190613501565b9050808214611d91576000866000018281548110611d4c57611d4c613514565b9060005260206000200154905080876000018481548110611d6f57611d6f613514565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611da257611da2613da2565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506102fc565b60009150506102fc565b5092915050565b6000818152600183016020526040812054611e35575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b60006002821115611e7d576040517f3e478526000000000000000000000000000000000000000000000000000000008152600481018390526024016107f7565b8160028111156102fc576102fc612eaa565b6000826002811115611ea357611ea3612eaa565b826002811115611eb557611eb5612eaa565b611ebf9190613dd1565b90508060011480611f0b5750807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff148015611f0b57506002836002811115611f0957611f09612eaa565b145b15611f1557505050565b82826040517f0a6b675b0000000000000000000000000000000000000000000000000000000081526004016107f7929190613e01565b60606000845167ffffffffffffffff811115611f6957611f696134bf565b604051908082528060200260200182016040528015611f92578160200160208202803683370190505b5090506000846002811115611fa957611fa9612eaa565b148015611fc757506001836002811115611fc557611fc5612eaa565b145b1561200857600181600081518110611fe157611fe1613514565b602002602001019067ffffffffffffffff16908167ffffffffffffffff1681525050612170565b600184600281111561201c5761201c612eaa565b14801561203a5750600283600281111561203857612038612eaa565b145b156120d1578560008151811061205257612052613514565b6020026020010151602001518160008151811061207157612071613514565b602002602001019067ffffffffffffffff16908167ffffffffffffffff1681525050856000815181106120a6576120a6613514565b60200260200101516020015160016120be9190613e1c565b81600181518110611fe157611fe1613514565b60028460028111156120e5576120e5612eaa565b1480156121035750600183600281111561210157612101612eaa565b145b1561213a578560018151811061211b5761211b613514565b60200260200101516020015181600081518110611fe157611fe1613514565b83836040517f0a6b675b0000000000000000000000000000000000000000000000000000000081526004016107f7929190613e01565b6000855167ffffffffffffffff81111561218c5761218c6134bf565b60405190808252806020026020018201604052801561223a57816020015b6040805161018081018252600060608083018281526080840183905260a0840183905260c0840183905260e08401829052610100840182905261012084018290526101408401829052610160840191909152825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816121aa5790505b50905060005b82518110156123235761226b87828151811061225e5761225e613514565b60200260200101516126ae565b604051806060016040528088838151811061228857612288613514565b602002602001015181526020018483815181106122a7576122a7613514565b602002602001015167ffffffffffffffff1681526020016122fb8b8685815181106122d4576122d4613514565b60200260200101518b86815181106122ee576122ee613514565b6020026020010151612a5c565b81525082828151811061231057612310613514565b6020908102919091010152600101612240565b50979650505050505050565b81518151811580156123415750806001145b156123e3578260008151811061235957612359613514565b60200260200101516020015167ffffffffffffffff166001146123dd578260008151811061238957612389613514565b60209081029190910181015101516040517fc1658eb800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9091166004820152600160248201526044016107f7565b50505050565b8160011480156123f35750806002145b156125a9578360008151811061240b5761240b613514565b6020026020010151604001518360008151811061242a5761242a613514565b602002602001015160400151146124b6578260008151811061244e5761244e613514565b6020026020010151604001518460008151811061246d5761246d613514565b6020026020010151604001516040517fc7ccdd7f0000000000000000000000000000000000000000000000000000000081526004016107f7929190918252602082015260400190565b836000815181106124c9576124c9613514565b60200260200101516020015160016124e19190613e1c565b67ffffffffffffffff16836001815181106124fe576124fe613514565b60200260200101516020015167ffffffffffffffff16146123dd578260018151811061252c5761252c613514565b6020026020010151602001518460008151811061254b5761254b613514565b60200260200101516020015160016125639190613e1c565b6040517fc1658eb800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9283166004820152911660248201526044016107f7565b8160021480156125b95750806001145b1561267c57836001815181106125d1576125d1613514565b602002602001015160400151836000815181106125f0576125f0613514565b602002602001015160400151146123dd578260008151811061261457612614613514565b6020026020010151604001518460018151811061263357612633613514565b6020026020010151604001516040517f9e9756700000000000000000000000000000000000000000000000000000000081526004016107f7929190918252602082015260400190565b6040517f1f1b2bb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806020015167ffffffffffffffff166000036126f6576040517f698cf8e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008151600181111561270b5761270b612eaa565b1415801561272c575060018151600181111561272957612729612eaa565b14155b15612763576040517f3302dbd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808101515115806127a0575060408051600060208201520160405160208183030381529060405280519060200120816080015180519060200120145b156127d7576040517f358c192700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101516127f29060039067ffffffffffffffff16611112565b61283a5760208101516040517f1bd4d2d200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff90911660048201526024016107f7565b60408082015160208084015167ffffffffffffffff1660009081526002909152919091206001015460ff9182169116818111156128a3576040517f17c0b81900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8460e00151518110156128f0578460e0015181815181106128ca576128ca613514565b6020026020010151516000146128e857816128e481613d6a565b9250505b6001016128a7565b5060006128fe8360036134a8565b6129099060016134ee565b90508082101561294f576040517f548dd21f00000000000000000000000000000000000000000000000000000000815260048101839052602481018290526044016107f7565b60c085015151610100811115612991576040517f1b925da600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8560a0015151811415806129aa57508560e00151518114155b15612a045760a08601515160c08701515160e0880151516040517fba900f6d0000000000000000000000000000000000000000000000000000000081526004810193909352602483019190915260448201526064016107f7565b612a0f8560036134a8565b8111612a47576040517f4856694e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612a548660a00151611136565b505050505050565b60008082602001518584600001518560800151878760a001518860c001518960e001518a604001518b606001518c6101000151604051602001612aa99b9a99989796959493929190613e3d565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905280516020909101207dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e0a000000000000000000000000000000000000000000000000000000000000179150509392505050565b6040518060400160405280600067ffffffffffffffff168152602001612b6d604051806060016040528060608152602001600060ff168152602001606081525090565b905290565b5080546000825590600052602060002090810190610b1f9190612c88565b508054612b9c90613426565b6000825580601f10612bac575050565b601f016020900490600052602060002090810190610b1f9190612c88565b828054828255906000526020600020908101928215612c05579160200282015b82811115612c05578251825591602001919060010190612bea565b50612c11929150612c88565b5090565b5080546000825560080290600052602060002090810190610b1f9190612c9d565b828054828255906000526020600020908101928215612c7c579160200282015b82811115612c7c5782518290612c6c9082613882565b5091602001919060010190612c56565b50612c11929150612d50565b5b80821115612c115760008155600101612c89565b80821115612c115780547fffffffffffffffffffffffffffff00000000000000000000000000000000000016815560008181612cdc6001830182612b90565b612cea600283016000612b72565b612cf8600383016000612d6d565b612d06600483016000612d6d565b612d14600583016000612b90565b5050506006810180547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016905560006007820155600801612c9d565b80821115612c11576000612d648282612b90565b50600101612d50565b5080546000825590600052602060002090810190610b1f9190612d50565b600060208284031215612d9d57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610f9357600080fd5b6000815180845260005b81811015612df357602081850181015186830182015201612dd7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610f936020830184612dcd565b63ffffffff81168114610b1f57600080fd5b8035612e6181612e44565b919050565b803560028110612e6157600080fd5b60008060408385031215612e8857600080fd5b8235612e9381612e44565b9150612ea160208401612e66565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110612ee957612ee9612eaa565b9052565b60008151808452602080850194506020840160005b83811015612f1e57815187529582019590820190600101612f02565b509495945050505050565b60008282518085526020808601955060208260051b8401016020860160005b84811015610b01577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868403018952612f82838351612dcd565b98840198925090830190600101612f48565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015613142577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08984030185528151606081518186526130028287018251612ed9565b89810151608061301d8189018367ffffffffffffffff169052565b8a830151915060a0613033818a018460ff169052565b938301519360c092506130518984018667ffffffffffffffff169052565b818401519450610120915060e082818b01526130716101808b0187612dcd565b95508185015191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0610100818c890301818d01526130b08885612eed565b958701518c87038301868e01529597506130ca8887612f29565b9750828701519550818c8903016101408d01526130e78887612f29565b975080870151965050808b8803016101608c0152505050505061310a8282612dcd565b915050888201516131268a87018267ffffffffffffffff169052565b5090870151938701939093529386019390860190600101612fbd565b509098975050505050505050565b60006020828403121561316257600080fd5b8135610f9381612e44565b6000806040838503121561318057600080fd5b50508035926020909101359150565b60008151606084526131a46060850182612eed565b905060ff6020840151166020850152604083015184820360408601526131ca8282612dcd565b95945050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015613142578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805167ffffffffffffffff1684528701518784018790526132508785018261318f565b95880195935050908601906001016131fc565b60006020828403121561327557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610f9357600080fd5b60008083601f8401126132ab57600080fd5b50813567ffffffffffffffff8111156132c357600080fd5b6020830191508360208260051b85010111156132de57600080fd5b9250929050565b600080600080604085870312156132fb57600080fd5b843567ffffffffffffffff8082111561331357600080fd5b61331f88838901613299565b9096509450602087013591508082111561333857600080fd5b5061334587828801613299565b95989497509550505050565b803567ffffffffffffffff81168114612e6157600080fd5b6000806000806000806080878903121561338257600080fd5b863567ffffffffffffffff8082111561339a57600080fd5b6133a68a838b01613299565b909850965060208901359150808211156133bf57600080fd5b818901915089601f8301126133d357600080fd5b8135818111156133e257600080fd5b8a60208285010111156133f457600080fd5b60208301965080955050505061340c60408801613351565b915061341a60608801612e56565b90509295509295509295565b600181811c9082168061343a57607f821691505b602082108103613473577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176102fc576102fc613479565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b808201808211156102fc576102fc613479565b818103818111156102fc576102fc613479565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561355557600080fd5b610f9382613351565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261359257600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261359257600080fd5b604051610120810167ffffffffffffffff811182821017156135f4576135f46134bf565b60405290565b60405160e0810167ffffffffffffffff811182821017156135f4576135f46134bf565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613664576136646134bf565b604052919050565b600067ffffffffffffffff821115613686576136866134bf565b5060051b60200190565b600082601f8301126136a157600080fd5b813560206136b66136b18361366c565b61361d565b8083825260208201915060208460051b8701019350868411156136d857600080fd5b602086015b848110156136f457803583529183019183016136dd565b509695505050505050565b803560ff81168114612e6157600080fd5b600082601f83011261372157600080fd5b813567ffffffffffffffff81111561373b5761373b6134bf565b61376c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161361d565b81815284602083860101111561378157600080fd5b816020850160208301376000918101602001919091529392505050565b6000606082360312156137b057600080fd5b6040516060810167ffffffffffffffff82821081831117156137d4576137d46134bf565b8160405284359150808211156137e957600080fd5b6137f536838701613690565b8352613803602086016136ff565b6020840152604085013591508082111561381c57600080fd5b5061382936828601613710565b60408301525092915050565b601f82111561387d576000816000526020600020601f850160051c8101602086101561385e5750805b601f850160051c820191505b81811015612a545782815560010161386a565b505050565b815167ffffffffffffffff81111561389c5761389c6134bf565b6138b0816138aa8454613426565b84613835565b602080601f83116001811461390357600084156138cd5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612a54565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561395057888601518255948401946001909101908401613931565b508582101561398c57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b67ffffffffffffffff831681526040602082015260006139bf604083018461318f565b949350505050565b600082601f8301126139d857600080fd5b813560206139e86136b18361366c565b82815260059290921b84018101918181019086841115613a0757600080fd5b8286015b848110156136f457803567ffffffffffffffff811115613a2b5760008081fd5b613a398986838b0101613710565b845250918301918301613a0b565b60006020808385031215613a5a57600080fd5b823567ffffffffffffffff80821115613a7257600080fd5b818501915085601f830112613a8657600080fd5b8135613a946136b18261366c565b81815260059190911b83018401908481019088831115613ab357600080fd5b8585015b83811015613c1b57803585811115613ace57600080fd5b8601610120818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001811315613b0457600080fd5b613b0c6135d0565b613b178a8401612e66565b8152613b2560408401613351565b8a820152613b35606084016136ff565b6040820152613b4660808401613351565b606082015260a083013588811115613b5d57600080fd5b613b6b8e8c83870101613710565b60808301525060c083013588811115613b8357600080fd5b613b918e8c83870101613690565b60a08301525060e083013588811115613baa5760008081fd5b613bb88e8c838701016139c7565b60c0830152506101008084013589811115613bd35760008081fd5b613be18f8d838801016139c7565b60e084015250918301359188831115613bfa5760008081fd5b613c088e8c85870101613710565b9082015285525050918601918601613ab7565b5098975050505050505050565b8051612e6181612e44565b600082601f830112613c4457600080fd5b81516020613c546136b18361366c565b8083825260208201915060208460051b870101935086841115613c7657600080fd5b602086015b848110156136f45780518352918301918301613c7b565b600060208284031215613ca457600080fd5b815167ffffffffffffffff80821115613cbc57600080fd5b9083019060e08286031215613cd057600080fd5b613cd86135fa565b613ce183613c28565b8152613cef60208401613c28565b6020820152613d0060408401613c28565b6040820152606083015160608201526080830151608082015260a083015182811115613d2b57600080fd5b613d3787828601613c33565b60a08301525060c083015182811115613d4f57600080fd5b613d5b87828601613c33565b60c08301525095945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d9b57613d9b613479565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b8181036000831280158383131683831282161715611de757611de7613479565b60038110612ee957612ee9612eaa565b60408101613e0f8285613df1565b610f936020830184613df1565b67ffffffffffffffff818116838216019080821115611de757611de7613479565b600061016067ffffffffffffffff8e16835263ffffffff8d166020840152613e68604084018d612ed9565b806060840152613e7a8184018c612dcd565b67ffffffffffffffff8b166080850152905082810360a0840152613e9e818a612eed565b905082810360c0840152613eb28189612f29565b905082810360e0840152613ec68188612f29565b60ff8716610100850152905067ffffffffffffffff8516610120840152828103610140840152613ef68185612dcd565b9e9d505050505050505050505050505056fea164736f6c6343000818000a", + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"capabilitiesRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"}],\"name\":\"ChainSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ChainSelectorNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FChainMustBePositive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fChain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"FRoleDON\",\"type\":\"uint256\"}],\"name\":\"FChainTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FTooHigh\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidConfigLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enumCCIPConfigTypes.ConfigState\",\"name\":\"currentState\",\"type\":\"uint8\"},{\"internalType\":\"enumCCIPConfigTypes.ConfigState\",\"name\":\"proposedState\",\"type\":\"uint8\"}],\"name\":\"InvalidConfigStateTransition\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"p2pId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signerKey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"transmitterKey\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Node\",\"name\":\"node\",\"type\":\"tuple\"}],\"name\":\"InvalidNode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPluginType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"p2pId\",\"type\":\"bytes32\"}],\"name\":\"NodeNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NonExistentConfigTransition\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"got\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minimum\",\"type\":\"uint256\"}],\"name\":\"NotEnoughTransmitters\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OfframpAddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCapabilitiesRegistryCanCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManyOCR3Configs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooManySigners\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"got\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expected\",\"type\":\"uint64\"}],\"name\":\"WrongConfigCount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"got\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"}],\"name\":\"WrongConfigDigest\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"got\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"expected\",\"type\":\"bytes32\"}],\"name\":\"WrongConfigDigestBlueGreen\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"CapabilityConfigurationSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"}],\"name\":\"ChainConfigRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"readers\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fChain\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"config\",\"type\":\"bytes\"}],\"indexed\":false,\"internalType\":\"structCCIPConfigTypes.ChainConfig\",\"name\":\"chainConfig\",\"type\":\"tuple\"}],\"name\":\"ChainConfigSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"donId\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"pluginType\",\"type\":\"uint8\"},{\"components\":[{\"components\":[{\"internalType\":\"enumInternal.OCRPluginType\",\"name\":\"pluginType\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"FRoleDON\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"offchainConfigVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"offrampAddress\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"p2pId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signerKey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"transmitterKey\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Node[]\",\"name\":\"nodes\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"offchainConfig\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Config\",\"name\":\"config\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"configCount\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"configDigest\",\"type\":\"bytes32\"}],\"indexed\":false,\"internalType\":\"structCCIPConfigTypes.OCR3ConfigWithMeta[]\",\"name\":\"config\",\"type\":\"tuple[]\"}],\"name\":\"ConfigSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"acceptOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64[]\",\"name\":\"chainSelectorRemoves\",\"type\":\"uint64[]\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"readers\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fChain\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"config\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.ChainConfig\",\"name\":\"chainConfig\",\"type\":\"tuple\"}],\"internalType\":\"structCCIPConfigTypes.ChainConfigInfo[]\",\"name\":\"chainConfigAdds\",\"type\":\"tuple[]\"}],\"name\":\"applyChainConfigUpdates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"config\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"donId\",\"type\":\"uint32\"}],\"name\":\"beforeCapabilityConfigSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pageIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getAllChainConfigs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"readers\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fChain\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"config\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.ChainConfig\",\"name\":\"chainConfig\",\"type\":\"tuple\"}],\"internalType\":\"structCCIPConfigTypes.ChainConfigInfo[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"getCapabilityConfiguration\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"configuration\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCapabilityRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNumChainConfigurations\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"donId\",\"type\":\"uint32\"},{\"internalType\":\"enumInternal.OCRPluginType\",\"name\":\"pluginType\",\"type\":\"uint8\"}],\"name\":\"getOCRConfig\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumInternal.OCRPluginType\",\"name\":\"pluginType\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"FRoleDON\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"offchainConfigVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"offrampAddress\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"p2pId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signerKey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"transmitterKey\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Node[]\",\"name\":\"nodes\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"offchainConfig\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Config\",\"name\":\"config\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"configCount\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"configDigest\",\"type\":\"bytes32\"}],\"internalType\":\"structCCIPConfigTypes.OCR3ConfigWithMeta[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"typeAndVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + Bin: "0x60a06040523480156200001157600080fd5b506040516200410a3803806200410a8339810160408190526200003491620001a6565b33806000816200008b5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0384811691909117909155811615620000be57620000be81620000fb565b5050506001600160a01b038116620000e9576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b0316608052620001d8565b336001600160a01b03821603620001555760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640162000082565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b600060208284031215620001b957600080fd5b81516001600160a01b0381168114620001d157600080fd5b9392505050565b608051613f08620002026000396000818161010301528181610e5c01526110cc0152613f086000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80638318ed5d11610081578063f2fde38b1161005b578063f2fde38b14610230578063f442c89a14610243578063fba64a7c1461025657600080fd5b80638318ed5d146101d15780638da5cb5b146101f2578063b74b23561461021057600080fd5b80634bd0473f116100b25780634bd0473f1461019157806379ba5097146101b15780637ac0d41e146101bb57600080fd5b806301ffc9a7146100d9578063020330e614610101578063181f5a7714610148575b600080fd5b6100ec6100e7366004612d37565b610269565b60405190151581526020015b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f8565b6101846040518060400160405280601481526020017f43434950436f6e66696720312e362e302d64657600000000000000000000000081525081565b6040516100f89190612ddd565b6101a461019f366004612e21565b610302565b6040516100f89190612f45565b6101b96106fd565b005b6101c36107ff565b6040519081526020016100f8565b6101846101df3660046130b7565b5060408051602081019091526000815290565b60005473ffffffffffffffffffffffffffffffffffffffff16610123565b61022361021e3660046130d4565b610810565b6040516100f89190613164565b6101b961023e3660046131f4565b610a91565b6101b9610251366004613276565b610aa5565b6101b96102643660046132fa565b610e44565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f78bea7210000000000000000000000000000000000000000000000000000000014806102fc57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b63ffffffff8216600090815260056020526040812060609183600181111561032c5761032c612e56565b600181111561033d5761033d612e56565b8152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156106f157600084815260209020604080516101408101909152600684029091018054829060608201908390829060ff1660018111156103b0576103b0612e56565b60018111156103c1576103c1612e56565b8152815467ffffffffffffffff61010082048116602084015260ff690100000000000000000083041660408401526a0100000000000000000000909104166060820152600182018054608090920191610419906133b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610445906133b7565b80156104925780601f1061046757610100808354040283529160200191610492565b820191906000526020600020905b81548152906001019060200180831161047557829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b828210156106205783829060005260206000209060030201604051806060016040529081600082015481526020016001820180546104fd906133b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610529906133b7565b80156105765780601f1061054b57610100808354040283529160200191610576565b820191906000526020600020905b81548152906001019060200180831161055957829003601f168201915b5050505050815260200160028201805461058f906133b7565b80601f01602080910402602001604051908101604052809291908181526020018280546105bb906133b7565b80156106085780601f106105dd57610100808354040283529160200191610608565b820191906000526020600020905b8154815290600101906020018083116105eb57829003601f168201915b505050505081525050815260200190600101906104c0565b505050508152602001600382018054610638906133b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610664906133b7565b80156106b15780601f10610686576101008083540402835291602001916106b1565b820191906000526020600020905b81548152906001019060200180831161069457829003601f168201915b505050919092525050508152600482015467ffffffffffffffff16602080830191909152600590920154604090910152908252600192909201910161036b565b50505050905092915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314610783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e65720000000000000000000060448201526064015b60405180910390fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b600061080b6003610eff565b905090565b6060600061081e6003610eff565b9050600061082c8486613439565b905083158061083b5750818110155b1561087b576040805160008082526020820190925290610871565b61085e612b31565b8152602001906001900390816108565790505b50925050506102fc565b6000610887858361347f565b9050828111156108945750815b60006108a08383613492565b67ffffffffffffffff8111156108b8576108b8613450565b6040519080825280602002602001820160405280156108f157816020015b6108de612b31565b8152602001906001900390816108d65790505b50905060006109006003610f09565b9050835b83811015610a84576000828281518110610920576109206134a5565b60209081029190910181015160408051808201825267ffffffffffffffff8316808252600090815260028552829020825181546080818802830181019095526060820181815295975092958601949093919284928491908401828280156109a657602002820191906000526020600020905b815481526020019060010190808311610992575b5050509183525050600182015460ff1660208201526002820180546040909201916109d0906133b7565b80601f01602080910402602001604051908101604052809291908181526020018280546109fc906133b7565b8015610a495780601f10610a1e57610100808354040283529160200191610a49565b820191906000526020600020905b815481529060010190602001808311610a2c57829003601f168201915b50505091909252505050905284610a608885613492565b81518110610a7057610a706134a5565b602090810291909101015250600101610904565b5090979650505050505050565b610a99610f1d565b610aa281610fa0565b50565b610aad610f1d565b60005b83811015610c9357610af4858583818110610acd57610acd6134a5565b9050602002016020810190610ae291906134d4565b60039067ffffffffffffffff16611095565b610b5e57848482818110610b0a57610b0a6134a5565b9050602002016020810190610b1f91906134d4565b6040517f1bd4d2d200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff909116600482015260240161077a565b60026000868684818110610b7457610b746134a5565b9050602002016020810190610b8991906134d4565b67ffffffffffffffff1681526020810191909152604001600090812090610bb08282612b79565b6001820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055610be8600283016000612b97565b5050610c26858583818110610bff57610bff6134a5565b9050602002016020810190610c1491906134d4565b60039067ffffffffffffffff166110ad565b507f2a680691fef3b2d105196805935232c661ce703e92d464ef0b94a7bc62d714f0858583818110610c5a57610c5a6134a5565b9050602002016020810190610c6f91906134d4565b60405167ffffffffffffffff909116815260200160405180910390a1600101610ab0565b5060005b81811015610e3d576000838383818110610cb357610cb36134a5565b9050602002810190610cc591906134ef565b610cd390602081019061352d565b610cdc906136bf565b90506000848484818110610cf257610cf26134a5565b9050602002810190610d0491906134ef565b610d129060208101906134d4565b9050610d2182600001516110b9565b816020015160ff16600003610d62576040517fa9b3766e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff81166000908152600260209081526040909120835180518593610d92928492910190612bd1565b5060208201516001820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff90921691909117905560408201516002820190610ddf90826137e7565b50610df991506003905067ffffffffffffffff8316611205565b507f05dd57854af2c291a94ea52e7c43d80bc3be7fa73022f98b735dea86642fa5e08183604051610e2b929190613901565b60405180910390a15050600101610c97565b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610eb3576040517fac7a7efd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610eca610ec586880188613a3f565b611211565b8151919350915015610ee257610ee28360008461143e565b805115610ef557610ef58360018361143e565b5050505050505050565b60006102fc825490565b60606000610f1683611c70565b9392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610f9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015260640161077a565b565b3373ffffffffffffffffffffffffffffffffffffffff82160361101f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640161077a565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60008181526001830160205260408120541515610f16565b6000610f168383611ccc565b60005b81518110156112015760008019167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166350c946fe848481518110611118576111186134a5565b60200260200101516040518263ffffffff1660e01b815260040161113e91815260200190565b600060405180830381865afa15801561115b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526111a19190810190613c44565b60800151036111f9578181815181106111bc576111bc6134a5565b60200260200101516040517f8907a4fa00000000000000000000000000000000000000000000000000000000815260040161077a91815260200190565b6001016110bc565b5050565b6000610f168383611dc6565b606080600460ff1683511115611253576040517f8854586400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160028082526060820190925290816020015b6112c16040805160e081019091528060008152602001600067ffffffffffffffff168152602001600060ff168152602001600067ffffffffffffffff1681526020016060815260200160608152602001606081525090565b81526020019060019003908161126957505060408051600280825260608201909252919350602082015b6113436040805160e081019091528060008152602001600067ffffffffffffffff168152602001600060ff168152602001600067ffffffffffffffff1681526020016060815260200160608152602001606081525090565b8152602001906001900390816112eb57905050905060008060005b855181101561143157600086828151811061137b5761137b6134a5565b602002602001015160000151600181111561139857611398612e56565b036113e5578581815181106113af576113af6134a5565b60200260200101518584815181106113c9576113c96134a5565b6020026020010181905250826113de90613d1c565b9250611429565b8581815181106113f7576113f76134a5565b6020026020010151848381518110611411576114116134a5565b60200260200101819052508161142690613d1c565b91505b60010161135e565b5090835281529092909150565b63ffffffff831660009081526005602052604081208184600181111561146657611466612e56565b600181111561147757611477612e56565b8152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561182b57600084815260209020604080516101408101909152600684029091018054829060608201908390829060ff1660018111156114ea576114ea612e56565b60018111156114fb576114fb612e56565b8152815467ffffffffffffffff61010082048116602084015260ff690100000000000000000083041660408401526a0100000000000000000000909104166060820152600182018054608090920191611553906133b7565b80601f016020809104026020016040519081016040528092919081815260200182805461157f906133b7565b80156115cc5780601f106115a1576101008083540402835291602001916115cc565b820191906000526020600020905b8154815290600101906020018083116115af57829003601f168201915b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b8282101561175a578382906000526020600020906003020160405180606001604052908160008201548152602001600182018054611637906133b7565b80601f0160208091040260200160405190810160405280929190818152602001828054611663906133b7565b80156116b05780601f10611685576101008083540402835291602001916116b0565b820191906000526020600020905b81548152906001019060200180831161169357829003601f168201915b505050505081526020016002820180546116c9906133b7565b80601f01602080910402602001604051908101604052809291908181526020018280546116f5906133b7565b80156117425780601f1061171757610100808354040283529160200191611742565b820191906000526020600020905b81548152906001019060200180831161172557829003601f168201915b505050505081525050815260200190600101906115fa565b505050508152602001600382018054611772906133b7565b80601f016020809104026020016040519081016040528092919081815260200182805461179e906133b7565b80156117eb5780601f106117c0576101008083540402835291602001916117eb565b820191906000526020600020905b8154815290600101906020018083116117ce57829003601f168201915b505050919092525050508152600482015467ffffffffffffffff1660208083019190915260059092015460409091015290825260019290920191016114a5565b505050509050600061183d8251611e15565b9050600061184b8451611e15565b90506118578282611e67565b60006118668785878686611f23565b905061187284826122f7565b63ffffffff871660009081526005602052604081209087600181111561189a5761189a612e56565b60018111156118ab576118ab612e56565b815260200190815260200160002060006118c59190612c1c565b60005b8151811015611c135763ffffffff88166000908152600560205260408120818960018111156118f9576118f9612e56565b600181111561190a5761190a612e56565b8152602001908152602001600020600181600181540180825580915050039060005260206000209060060201905082828151811061194a5761194a6134a5565b6020026020010151604001518160050181905550828281518110611970576119706134a5565b6020026020010151602001518160040160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600081600001905060008484815181106119c2576119c26134a5565b602090810291909101015151805183549192509083907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115611a0d57611a0d612e56565b021790555060208101518254604083015160608401517fffffffffffffffffffffffffffffffffffffffffffff000000000000000000ff90921661010067ffffffffffffffff948516027fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff1617690100000000000000000060ff90921691909102177fffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffff166a0100000000000000000000929091169190910217825560808101516001830190611adc90826137e7565b5060c08101516003830190611af190826137e7565b505b60a08101515160028301541115611b725781600201805480611b1757611b17613d54565b60008281526020812060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020181815590611b5b6001830182612b97565b611b69600283016000612b97565b50509055611af3565b60005b8160a0015151811015611c045760028301548110611bfc57826002018260a001518281518110611ba757611ba76134a5565b6020908102919091018101518254600181810185556000948552938390208251600390920201908155918101519092820190611be390826137e7565b5060408201516002820190611bf890826137e7565b5050505b600101611b75565b505050508060010190506118c8565b50856001811115611c2657611c26612e56565b60ff168763ffffffff167f0fe4c45ffc7f05233ddfee7d79ac01d075176a0aa116068c486a2f7490088a0b83604051611c5f9190612f45565b60405180910390a350505050505050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611cc057602002820191906000526020600020905b815481526020019060010190808311611cac575b50505050509050919050565b60008181526001830160205260408120548015611db5576000611cf0600183613492565b8554909150600090611d0490600190613492565b9050808214611d69576000866000018281548110611d2457611d246134a5565b9060005260206000200154905080876000018481548110611d4757611d476134a5565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611d7a57611d7a613d54565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506102fc565b60009150506102fc565b5092915050565b6000818152600183016020526040812054611e0d575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102fc565b5060006102fc565b60006002821115611e55576040517f3e4785260000000000000000000000000000000000000000000000000000000081526004810183905260240161077a565b8160028111156102fc576102fc612e56565b6000826002811115611e7b57611e7b612e56565b826002811115611e8d57611e8d612e56565b611e979190613d83565b90508060011480611ee35750807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff148015611ee357506002836002811115611ee157611ee1612e56565b145b15611eed57505050565b82826040517f0a6b675b00000000000000000000000000000000000000000000000000000000815260040161077a929190613db3565b60606000845167ffffffffffffffff811115611f4157611f41613450565b604051908082528060200260200182016040528015611f6a578160200160208202803683370190505b5090506000846002811115611f8157611f81612e56565b148015611f9f57506001836002811115611f9d57611f9d612e56565b145b15611fe057600181600081518110611fb957611fb96134a5565b602002602001019067ffffffffffffffff16908167ffffffffffffffff1681525050612148565b6001846002811115611ff457611ff4612e56565b1480156120125750600283600281111561201057612010612e56565b145b156120a9578560008151811061202a5761202a6134a5565b60200260200101516020015181600081518110612049576120496134a5565b602002602001019067ffffffffffffffff16908167ffffffffffffffff16815250508560008151811061207e5761207e6134a5565b60200260200101516020015160016120969190613dce565b81600181518110611fb957611fb96134a5565b60028460028111156120bd576120bd612e56565b1480156120db575060018360028111156120d9576120d9612e56565b145b1561211257856001815181106120f3576120f36134a5565b60200260200101516020015181600081518110611fb957611fb96134a5565b83836040517f0a6b675b00000000000000000000000000000000000000000000000000000000815260040161077a929190613db3565b6000855167ffffffffffffffff81111561216457612164613450565b60405190808252806020026020018201604052801561220257816020015b6040805161014081018252600060608083018281526080840183905260a0840183905260c0840183905260e084018290526101008401829052610120840191909152825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816121825790505b50905060005b82518110156122eb57612233878281518110612226576122266134a5565b6020026020010151612676565b6040518060600160405280888381518110612250576122506134a5565b6020026020010151815260200184838151811061226f5761226f6134a5565b602002602001015167ffffffffffffffff1681526020016122c38b86858151811061229c5761229c6134a5565b60200260200101518b86815181106122b6576122b66134a5565b6020026020010151612a70565b8152508282815181106122d8576122d86134a5565b6020908102919091010152600101612208565b50979650505050505050565b81518151811580156123095750806001145b156123ab5782600081518110612321576123216134a5565b60200260200101516020015167ffffffffffffffff166001146123a55782600081518110612351576123516134a5565b60209081029190910181015101516040517fc1658eb800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff90911660048201526001602482015260440161077a565b50505050565b8160011480156123bb5750806002145b1561257157836000815181106123d3576123d36134a5565b602002602001015160400151836000815181106123f2576123f26134a5565b6020026020010151604001511461247e5782600081518110612416576124166134a5565b60200260200101516040015184600081518110612435576124356134a5565b6020026020010151604001516040517fc7ccdd7f00000000000000000000000000000000000000000000000000000000815260040161077a929190918252602082015260400190565b83600081518110612491576124916134a5565b60200260200101516020015160016124a99190613dce565b67ffffffffffffffff16836001815181106124c6576124c66134a5565b60200260200101516020015167ffffffffffffffff16146123a557826001815181106124f4576124f46134a5565b60200260200101516020015184600081518110612513576125136134a5565b602002602001015160200151600161252b9190613dce565b6040517fc1658eb800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff92831660048201529116602482015260440161077a565b8160021480156125815750806001145b156126445783600181518110612599576125996134a5565b602002602001015160400151836000815181106125b8576125b86134a5565b602002602001015160400151146123a557826000815181106125dc576125dc6134a5565b602002602001015160400151846001815181106125fb576125fb6134a5565b6020026020010151604001516040517f9e97567000000000000000000000000000000000000000000000000000000000815260040161077a929190918252602082015260400190565b6040517f1f1b2bb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806020015167ffffffffffffffff166000036126be576040517f698cf8e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815160018111156126d3576126d3612e56565b141580156126f457506001815160018111156126f1576126f1612e56565b14155b1561272b576040517f3302dbd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6080810151511580612768575060408051600060208201520160405160208183030381529060405280519060200120816080015180519060200120145b1561279f576040517f358c192700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101516127ba9060039067ffffffffffffffff16611095565b6128025760208101516040517f1bd4d2d200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff909116600482015260240161077a565b60408082015160208084015167ffffffffffffffff1660009081526002909152919091206001015460ff918216911681811115612875576040517f2db22040000000000000000000000000000000000000000000000000000000008152600481018290526024810183905260440161077a565b60a0830151516101008111156128b7576040517f1b925da600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128c2836003613439565b81116128fa576040517f4856694e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808267ffffffffffffffff81111561291657612916613450565b60405190808252806020026020018201604052801561293f578160200160208202803683370190505b50905060005b838110156129ff5760008760a001518281518110612965576129656134a5565b6020026020010151905080604001515160001461298a578361298681613d1c565b9450505b602081015151158061299b57508051155b156129d457806040517f9fa4031400000000000000000000000000000000000000000000000000000000815260040161077a9190613def565b80600001518383815181106129eb576129eb6134a5565b602090810291909101015250600101612945565b506000612a0d856003613439565b612a1890600161347f565b905080831015612a5e576040517f548dd21f000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260440161077a565b612a67826110b9565b50505050505050565b60008082602001518584600001518560800151878760a00151886040015189606001518a60c00151604051602001612ab099989796959493929190613e02565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291905280516020909101207dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e0a000000000000000000000000000000000000000000000000000000000000179150509392505050565b6040518060400160405280600067ffffffffffffffff168152602001612b74604051806060016040528060608152602001600060ff168152602001606081525090565b905290565b5080546000825590600052602060002090810190610aa29190612c3d565b508054612ba3906133b7565b6000825580601f10612bb3575050565b601f016020900490600052602060002090810190610aa29190612c3d565b828054828255906000526020600020908101928215612c0c579160200282015b82811115612c0c578251825591602001919060010190612bf1565b50612c18929150612c3d565b5090565b5080546000825560060290600052602060002090810190610aa29190612c52565b5b80821115612c185760008155600101612c3e565b80821115612c185780547fffffffffffffffffffffffffffff00000000000000000000000000000000000016815560008181612c916001830182612b97565b612c9f600283016000612ce9565b612cad600383016000612b97565b5050506004810180547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016905560006005820155600601612c52565b5080546000825560030290600052602060002090810190610aa291905b80821115612c18576000808255612d206001830182612b97565b612d2e600283016000612b97565b50600301612d06565b600060208284031215612d4957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610f1657600080fd5b6000815180845260005b81811015612d9f57602081850181015186830182015201612d83565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610f166020830184612d79565b63ffffffff81168114610aa257600080fd5b8035612e0d81612df0565b919050565b803560028110612e0d57600080fd5b60008060408385031215612e3457600080fd5b8235612e3f81612df0565b9150612e4d60208401612e12565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60028110612e9557612e95612e56565b9052565b805182526000602082015160606020850152612eb86060850182612d79565b905060408301518482036040860152612ed18282612d79565b95945050505050565b60008282518085526020808601955060208260051b8401016020860160005b84811015610a84577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868403018952612f33838351612e99565b98840198925090830190600101612ef9565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156130a9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0898403018552815160608151818652612fb38287018251612e85565b89810151608067ffffffffffffffff8216818901528a830151915060a060ff8316818a015284840151945060c09250612ff7838a018667ffffffffffffffff169052565b81840151945060e0915081828a01526130146101408a0186612d79565b9450808401519150507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa080898603016101008a01526130538583612eda565b92909301518883039093016101208901525091506130718282612d79565b9150508882015161308d8a87018267ffffffffffffffff169052565b5090870151938701939093529386019390860190600101612f6e565b509098975050505050505050565b6000602082840312156130c957600080fd5b8135610f1681612df0565b600080604083850312156130e757600080fd5b50508035926020909101359150565b805160608084528151908401819052600091602091908201906080860190845b8181101561313257835183529284019291840191600101613116565b505060ff602086015116602087015260408501519250858103604087015261315a8184612d79565b9695505050505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156130a9578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805167ffffffffffffffff1684528701518784018790526131e1878501826130f6565b958801959350509086019060010161318d565b60006020828403121561320657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610f1657600080fd5b60008083601f84011261323c57600080fd5b50813567ffffffffffffffff81111561325457600080fd5b6020830191508360208260051b850101111561326f57600080fd5b9250929050565b6000806000806040858703121561328c57600080fd5b843567ffffffffffffffff808211156132a457600080fd5b6132b08883890161322a565b909650945060208701359150808211156132c957600080fd5b506132d68782880161322a565b95989497509550505050565b803567ffffffffffffffff81168114612e0d57600080fd5b6000806000806000806080878903121561331357600080fd5b863567ffffffffffffffff8082111561332b57600080fd5b6133378a838b0161322a565b9098509650602089013591508082111561335057600080fd5b818901915089601f83011261336457600080fd5b81358181111561337357600080fd5b8a602082850101111561338557600080fd5b60208301965080955050505061339d604088016132e2565b91506133ab60608801612e02565b90509295509295509295565b600181811c908216806133cb57607f821691505b602082108103613404577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176102fc576102fc61340a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b808201808211156102fc576102fc61340a565b818103818111156102fc576102fc61340a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156134e657600080fd5b610f16826132e2565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261352357600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261352357600080fd5b6040516060810167ffffffffffffffff8111828210171561358457613584613450565b60405290565b60405160e0810167ffffffffffffffff8111828210171561358457613584613450565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156135f4576135f4613450565b604052919050565b600067ffffffffffffffff82111561361657613616613450565b5060051b60200190565b803560ff81168114612e0d57600080fd5b600082601f83011261364257600080fd5b813567ffffffffffffffff81111561365c5761365c613450565b61368d60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016135ad565b8181528460208386010111156136a257600080fd5b816020850160208301376000918101602001919091529392505050565b6000606082360312156136d157600080fd5b6136d9613561565b823567ffffffffffffffff808211156136f157600080fd5b9084019036601f83011261370457600080fd5b81356020613719613714836135fc565b6135ad565b82815260059290921b8401810191818101903684111561373857600080fd5b948201945b838610156137565785358252948201949082019061373d565b865250613764878201613620565b9085015250604085013591508082111561377d57600080fd5b5061378a36828601613631565b60408301525092915050565b601f8211156137e2576000816000526020600020601f850160051c810160208610156137bf5750805b601f850160051c820191505b818110156137de578281556001016137cb565b5050505b505050565b815167ffffffffffffffff81111561380157613801613450565b6138158161380f84546133b7565b84613796565b602080601f83116001811461386857600084156138325750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556137de565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156138b557888601518255948401946001909101908401613896565b50858210156138f157878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b67ffffffffffffffff8316815260406020820152600061392460408301846130f6565b949350505050565b600082601f83011261393d57600080fd5b8135602061394d613714836135fc565b82815260059290921b8401810191818101908684111561396c57600080fd5b8286015b84811015613a3457803567ffffffffffffffff808211156139915760008081fd5b81890191506060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d030112156139ca5760008081fd5b6139d2613561565b878401358152604080850135848111156139ec5760008081fd5b6139fa8e8b83890101613631565b838b015250918401359183831115613a125760008081fd5b613a208d8a85880101613631565b908201528652505050918301918301613970565b509695505050505050565b60006020808385031215613a5257600080fd5b823567ffffffffffffffff80821115613a6a57600080fd5b818501915085601f830112613a7e57600080fd5b8135613a8c613714826135fc565b81815260059190911b83018401908481019088831115613aab57600080fd5b8585015b83811015613bcd57803585811115613ac657600080fd5b860160e0818c037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0011215613afb5760008081fd5b613b0361358a565b613b0e898301612e12565b81526040613b1d8184016132e2565b8a8301526060613b2e818501613620565b8284015260809150613b418285016132e2565b9083015260a08381013589811115613b595760008081fd5b613b678f8d83880101613631565b838501525060c091508184013589811115613b825760008081fd5b613b908f8d8388010161392c565b82850152505060e083013588811115613ba95760008081fd5b613bb78e8c83870101613631565b9183019190915250845250918601918601613aaf565b5098975050505050505050565b8051612e0d81612df0565b600082601f830112613bf657600080fd5b81516020613c06613714836135fc565b8083825260208201915060208460051b870101935086841115613c2857600080fd5b602086015b84811015613a345780518352918301918301613c2d565b600060208284031215613c5657600080fd5b815167ffffffffffffffff80821115613c6e57600080fd5b9083019060e08286031215613c8257600080fd5b613c8a61358a565b613c9383613bda565b8152613ca160208401613bda565b6020820152613cb260408401613bda565b6040820152606083015160608201526080830151608082015260a083015182811115613cdd57600080fd5b613ce987828601613be5565b60a08301525060c083015182811115613d0157600080fd5b613d0d87828601613be5565b60c08301525095945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d4d57613d4d61340a565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b8181036000831280158383131683831282161715611dbf57611dbf61340a565b60038110612e9557612e95612e56565b60408101613dc18285613da3565b610f166020830184613da3565b67ffffffffffffffff818116838216019080821115611dbf57611dbf61340a565b602081526000610f166020830184612e99565b600061012067ffffffffffffffff808d168452602063ffffffff8d1681860152613e2f604086018d612e85565b826060860152613e418386018c612d79565b918a16608086015284820360a0860152885180835291925080830191600581901b84018201828b0160005b83811015613eb8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0878403018652613ea6838351612e99565b95850195925090840190600101613e6c565b505060ff8a1660c088015267ffffffffffffffff891660e0880152868103610100880152613ee68189612d79565b955050505050509a995050505050505050505056fea164736f6c6343000818000a", } var CCIPConfigABI = CCIPConfigMetaData.ABI @@ -1217,7 +1221,7 @@ func (CCIPConfigChainConfigSet) Topic() common.Hash { } func (CCIPConfigConfigSet) Topic() common.Hash { - return common.HexToHash("0x403420f960fcf8fdad51d01bc3af8668c5963e6746c63c8f5363c26d9d445148") + return common.HexToHash("0x0fe4c45ffc7f05233ddfee7d79ac01d075176a0aa116068c486a2f7490088a0b") } func (CCIPConfigOwnershipTransferRequested) Topic() common.Hash { diff --git a/core/gethwrappers/ccip/generated/ocr3_config_encoder/ocr3_config_encoder.go b/core/gethwrappers/ccip/generated/ocr3_config_encoder/ocr3_config_encoder.go index 737a768dbe..5056db1005 100644 --- a/core/gethwrappers/ccip/generated/ocr3_config_encoder/ocr3_config_encoder.go +++ b/core/gethwrappers/ccip/generated/ocr3_config_encoder/ocr3_config_encoder.go @@ -31,17 +31,21 @@ var ( type CCIPConfigTypesOCR3Config struct { PluginType uint8 ChainSelector uint64 - F uint8 + FRoleDON uint8 OffchainConfigVersion uint64 OfframpAddress []byte - P2pIds [][32]byte - Signers [][]byte - Transmitters [][]byte + Nodes []CCIPConfigTypesOCR3Node OffchainConfig []byte } +type CCIPConfigTypesOCR3Node struct { + P2pId [32]byte + SignerKey []byte + TransmitterKey []byte +} + var IOCR3ConfigEncoderMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"components\":[{\"internalType\":\"enumInternal.OCRPluginType\",\"name\":\"pluginType\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"F\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"offchainConfigVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"offrampAddress\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"p2pIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"signers\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"transmitters\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes\",\"name\":\"offchainConfig\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Config[]\",\"name\":\"config\",\"type\":\"tuple[]\"}],\"name\":\"exposeOCR3Config\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[{\"components\":[{\"internalType\":\"enumInternal.OCRPluginType\",\"name\":\"pluginType\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"chainSelector\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"FRoleDON\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"offchainConfigVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"offrampAddress\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"p2pId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signerKey\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"transmitterKey\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Node[]\",\"name\":\"nodes\",\"type\":\"tuple[]\"},{\"internalType\":\"bytes\",\"name\":\"offchainConfig\",\"type\":\"bytes\"}],\"internalType\":\"structCCIPConfigTypes.OCR3Config[]\",\"name\":\"config\",\"type\":\"tuple[]\"}],\"name\":\"exposeOCR3Config\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", } var IOCR3ConfigEncoderABI = IOCR3ConfigEncoderMetaData.ABI diff --git a/core/gethwrappers/ccip/generation/generated-wrapper-dependency-versions-do-not-edit.txt b/core/gethwrappers/ccip/generation/generated-wrapper-dependency-versions-do-not-edit.txt index 45ee748312..93b931298f 100644 --- a/core/gethwrappers/ccip/generation/generated-wrapper-dependency-versions-do-not-edit.txt +++ b/core/gethwrappers/ccip/generation/generated-wrapper-dependency-versions-do-not-edit.txt @@ -4,7 +4,7 @@ burn_mint_token_pool: ../../../contracts/solc/v0.8.24/BurnMintTokenPool/BurnMint burn_mint_token_pool_and_proxy: ../../../contracts/solc/v0.8.24/BurnMintTokenPoolAndProxy/BurnMintTokenPoolAndProxy.abi ../../../contracts/solc/v0.8.24/BurnMintTokenPoolAndProxy/BurnMintTokenPoolAndProxy.bin 717c079d5d13300cf3c3ee871c6e5bf9af904411f204fb081a9f3b263cca1391 burn_with_from_mint_token_pool: ../../../contracts/solc/v0.8.24/BurnWithFromMintTokenPool/BurnWithFromMintTokenPool.abi ../../../contracts/solc/v0.8.24/BurnWithFromMintTokenPool/BurnWithFromMintTokenPool.bin 6333d0314d0bd29e75ea5e05fe62a4516ade0c6db91c30b6f93645035db52ed8 burn_with_from_mint_token_pool_and_proxy: ../../../contracts/solc/v0.8.24/BurnWithFromMintTokenPoolAndProxy/BurnWithFromMintTokenPoolAndProxy.abi ../../../contracts/solc/v0.8.24/BurnWithFromMintTokenPoolAndProxy/BurnWithFromMintTokenPoolAndProxy.bin 08ed1235dda921ce8841b26aa18d0c0f36db4884779dd7670857159801b6d597 -ccip_config: ../../../contracts/solc/v0.8.24/CCIPConfig/CCIPConfig.abi ../../../contracts/solc/v0.8.24/CCIPConfig/CCIPConfig.bin eb0a0470626cb9fbc6277a0085ea788718e02aa74d859919798b92f6966e91b7 +ccip_config: ../../../contracts/solc/v0.8.24/CCIPConfig/CCIPConfig.abi ../../../contracts/solc/v0.8.24/CCIPConfig/CCIPConfig.bin f67d4a98804a9534a6554da3a57779632d55ad76db5ecc16ade74774769cdd69 ccip_reader_tester: ../../../contracts/solc/v0.8.24/CCIPReaderTester/CCIPReaderTester.abi ../../../contracts/solc/v0.8.24/CCIPReaderTester/CCIPReaderTester.bin 481d461f14c98308cd788b64be1151e92bac6f95ddd55eefc926296454316f13 commit_store: ../../../contracts/solc/v0.8.24/CommitStore/CommitStore.abi ../../../contracts/solc/v0.8.24/CommitStore/CommitStore.bin 274d87db70b643e00ab0a7e7845bb4b791f3b613bfc87708d33fc5a8369e2a41 commit_store_helper: ../../../contracts/solc/v0.8.24/CommitStoreHelper/CommitStoreHelper.abi ../../../contracts/solc/v0.8.24/CommitStoreHelper/CommitStoreHelper.bin f7128dcc2ee6dbcbc976288abcc16970ffb19b59412c5202ef6b259d2007f801 @@ -22,7 +22,7 @@ mock_v3_aggregator_contract: ../../../contracts/solc/v0.8.24/MockV3Aggregator/Mo multi_aggregate_rate_limiter: ../../../contracts/solc/v0.8.24/MultiAggregateRateLimiter/MultiAggregateRateLimiter.abi ../../../contracts/solc/v0.8.24/MultiAggregateRateLimiter/MultiAggregateRateLimiter.bin 0b541232e49727e947dc164eadf35963c66e67576f21baa0ecaa06a8833148ed multi_ocr3_helper: ../../../contracts/solc/v0.8.24/MultiOCR3Helper/MultiOCR3Helper.abi ../../../contracts/solc/v0.8.24/MultiOCR3Helper/MultiOCR3Helper.bin 04b6b261dd71925670bf4d904aaf7bf08543452009feefb88e07d4c49d12e969 nonce_manager: ../../../contracts/solc/v0.8.24/NonceManager/NonceManager.abi ../../../contracts/solc/v0.8.24/NonceManager/NonceManager.bin 6f64e1083b356c06ee66b9138e398b9c97a4cd3e8c9ec38cf3010cebc79af536 -ocr3_config_encoder: ../../../contracts/solc/v0.8.24/IOCR3ConfigEncoder/IOCR3ConfigEncoder.abi ../../../contracts/solc/v0.8.24/IOCR3ConfigEncoder/IOCR3ConfigEncoder.bin 9254b35a86f00fde7b7193a033ca58f6521a66e87b9cf9da6ce5660082e79f5d +ocr3_config_encoder: ../../../contracts/solc/v0.8.24/IOCR3ConfigEncoder/IOCR3ConfigEncoder.abi ../../../contracts/solc/v0.8.24/IOCR3ConfigEncoder/IOCR3ConfigEncoder.bin d507c3ac70a7d1033b75151c1e5b854b41aaee164dfaa3e5477de400db1aa1f7 offramp: ../../../contracts/solc/v0.8.24/OffRamp/OffRamp.abi ../../../contracts/solc/v0.8.24/OffRamp/OffRamp.bin d66a8056718fc386176dcd0f8c941901f06745dd0dd8934159dbc0c1c543965c onramp: ../../../contracts/solc/v0.8.24/OnRamp/OnRamp.abi ../../../contracts/solc/v0.8.24/OnRamp/OnRamp.bin 594439983f963f4158f9c5009dee7cba4ee56be61900bb1d5b9108eaeac3d6a6 ping_pong_demo: ../../../contracts/solc/v0.8.24/PingPongDemo/PingPongDemo.abi ../../../contracts/solc/v0.8.24/PingPongDemo/PingPongDemo.bin c1c2f8a65c7ffd971899cae7fe62f2da57d09e936151e2b92163c4bebe699d6b