Skip to content

Commit

Permalink
Merge branch 'ccip-develop' into CCIP-2837-multi-on-ramp-make-router-…
Browse files Browse the repository at this point in the history
…destination-chain-specific-2
  • Loading branch information
RyanRHall committed Aug 5, 2024
2 parents 3b85277 + 49cfead commit 8c07f16
Show file tree
Hide file tree
Showing 14 changed files with 104 additions and 836 deletions.
68 changes: 35 additions & 33 deletions contracts/gas-snapshots/ccip.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -35,43 +35,45 @@ BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurnRevertNotHealthy_Revert() (gas
BurnWithFromMintTokenPool_lockOrBurn:test_PoolBurn_Success() (gas: 243517)
BurnWithFromMintTokenPool_lockOrBurn:test_Setup_Success() (gas: 24304)
CCIPClientExample_sanity:test_ImmutableExamples_Success() (gas: 2132877)
CCIPConfigSetup:test_getCapabilityConfiguration_Success() (gas: 9495)
CCIPConfig_ConfigStateMachine:test__computeConfigDigest_Success() (gas: 70755)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_InitToRunning_Success() (gas: 363647)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_RunningToStaging_Success() (gas: 488774)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_StagingToRunning_Success() (gas: 453384)
CCIPConfigSetup:test_getCapabilityConfiguration_Success() (gas: 9517)
CCIPConfig_ConfigStateMachine:test__computeConfigDigest_Success() (gas: 70831)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_InitToRunning_Success() (gas: 363708)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_RunningToStaging_Success() (gas: 488870)
CCIPConfig_ConfigStateMachine:test__computeNewConfigWithMeta_StagingToRunning_Success() (gas: 453483)
CCIPConfig_ConfigStateMachine:test__groupByPluginType_TooManyOCR3Configs_Reverts() (gas: 37027)
CCIPConfig_ConfigStateMachine:test__groupByPluginType_threeCommitConfigs_Reverts() (gas: 61043)
CCIPConfig_ConfigStateMachine:test__groupByPluginType_threeExecutionConfigs_Reverts() (gas: 60963)
CCIPConfig_ConfigStateMachine:test__stateFromConfigLength_Success() (gas: 11764)
CCIPConfig_ConfigStateMachine:test__validateConfigStateTransition_Success() (gas: 8765)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_Success() (gas: 311991)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_WrongConfigCount_Reverts() (gas: 49663)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_NonExistentConfigTransition_Reverts() (gas: 32275)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_Success() (gas: 376576)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigCount_Reverts() (gas: 120943)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigDigestBlueGreen_Reverts() (gas: 157105)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_Success() (gas: 376352)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_WrongConfigDigest_Reverts() (gas: 157172)
CCIPConfig_ConfigStateMachine:test_getCapabilityConfiguration_Success() (gas: 9583)
CCIPConfig__updatePluginConfig:test__updatePluginConfig_InitToRunning_Success() (gas: 1057393)
CCIPConfig__updatePluginConfig:test__updatePluginConfig_InvalidConfigLength_Reverts() (gas: 27539)
CCIPConfig__updatePluginConfig:test__updatePluginConfig_InvalidConfigStateTransition_Reverts() (gas: 23105)
CCIPConfig__updatePluginConfig:test__updatePluginConfig_RunningToStaging_Success() (gas: 2009309)
CCIPConfig__updatePluginConfig:test__updatePluginConfig_StagingToRunning_Success() (gas: 2616177)
CCIPConfig__updatePluginConfig:test_getCapabilityConfiguration_Success() (gas: 9583)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitAndExecConfig_Success() (gas: 1851188)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitConfigOnly_Success() (gas: 1068362)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ExecConfigOnly_Success() (gas: 1068393)
CCIPConfig_ConfigStateMachine:test__stateFromConfigLength_Success() (gas: 11635)
CCIPConfig_ConfigStateMachine:test__validateConfigStateTransition_Success() (gas: 8831)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_Success() (gas: 312055)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_InitToRunning_WrongConfigCount_Reverts() (gas: 49727)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_NonExistentConfigTransition_Reverts() (gas: 32320)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_Success() (gas: 376678)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigCount_Reverts() (gas: 121045)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_RunningToStaging_WrongConfigDigestBlueGreen_Reverts() (gas: 157245)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_Success() (gas: 376454)
CCIPConfig_ConfigStateMachine:test__validateConfigTransition_StagingToRunning_WrongConfigDigest_Reverts() (gas: 157312)
CCIPConfig_ConfigStateMachine:test_getCapabilityConfiguration_Success() (gas: 9605)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitAndExecConfig_Success() (gas: 1851094)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_CommitConfigOnly_Success() (gas: 1068315)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ExecConfigOnly_Success() (gas: 1068346)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_OnlyCapabilitiesRegistryCanCall_Reverts() (gas: 9599)
CCIPConfig_beforeCapabilityConfigSet:test_beforeCapabilityConfigSet_ZeroLengthConfig_Success() (gas: 16070)
CCIPConfig_beforeCapabilityConfigSet:test_getCapabilityConfiguration_Success() (gas: 9583)
CCIPConfig_beforeCapabilityConfigSet:test_getCapabilityConfiguration_Success() (gas: 9605)
CCIPConfig_chainConfig:test__applyChainConfigUpdates_FChainNotPositive_Reverts() (gas: 184703)
CCIPConfig_chainConfig:test_applyChainConfigUpdates_addChainConfigs_Success() (gas: 344332)
CCIPConfig_chainConfig:test_applyChainConfigUpdates_nodeNotInRegistry_Reverts() (gas: 20258)
CCIPConfig_chainConfig:test_applyChainConfigUpdates_removeChainConfigs_Success() (gas: 267558)
CCIPConfig_chainConfig:test_applyChainConfigUpdates_selectorNotFound_Reverts() (gas: 14829)
CCIPConfig_chainConfig:test_getCapabilityConfiguration_Success() (gas: 9626)
CCIPConfig_chainConfig:test_getCapabilityConfiguration_Success() (gas: 9648)
CCIPConfig_constructor:test_constructor_Success() (gas: 3567986)
CCIPConfig_constructor:test_constructor_ZeroAddressNotAllowed_Revert() (gas: 61720)
CCIPConfig_updatePluginConfig:test__updatePluginConfig_InitToRunning_Success() (gas: 1057346)
CCIPConfig_updatePluginConfig:test__updatePluginConfig_InvalidConfigLength_Reverts() (gas: 27539)
CCIPConfig_updatePluginConfig:test__updatePluginConfig_InvalidConfigStateTransition_Reverts() (gas: 23105)
CCIPConfig_updatePluginConfig:test__updatePluginConfig_RunningToStaging_Success() (gas: 2009267)
CCIPConfig_updatePluginConfig:test__updatePluginConfig_StagingToRunning_Success() (gas: 2616097)
CCIPConfig_updatePluginConfig:test_getCapabilityConfiguration_Success() (gas: 9605)
CCIPConfig_validateConfig:test__validateConfig_BootstrapP2PIdsHasDuplicates_Reverts() (gas: 294893)
CCIPConfig_validateConfig:test__validateConfig_BootstrapP2PIdsNotASubsetOfP2PIds_Reverts() (gas: 298325)
CCIPConfig_validateConfig:test__validateConfig_BootstrapP2PIdsNotSorted_Reverts() (gas: 295038)
Expand All @@ -89,7 +91,7 @@ CCIPConfig_validateConfig:test__validateConfig_Success() (gas: 302186)
CCIPConfig_validateConfig:test__validateConfig_TooManyBootstrapP2PIds_Reverts() (gas: 294539)
CCIPConfig_validateConfig:test__validateConfig_TooManySigners_Reverts() (gas: 1215861)
CCIPConfig_validateConfig:test__validateConfig_TooManyTransmitters_Reverts() (gas: 1214264)
CCIPConfig_validateConfig:test_getCapabilityConfiguration_Success() (gas: 9562)
CCIPConfig_validateConfig:test_getCapabilityConfiguration_Success() (gas: 9584)
CommitStore_constructor:test_Constructor_Success() (gas: 3091326)
CommitStore_isUnpausedAndRMNHealthy:test_RMN_Success() (gas: 73420)
CommitStore_report:test_InvalidIntervalMinLargerThanMax_Revert() (gas: 28670)
Expand Down Expand Up @@ -252,11 +254,11 @@ EVM2EVMMultiOffRamp_verify:test_NotBlessed_Success() (gas: 141477)
EVM2EVMMultiOffRamp_verify:test_TooManyLeaves_Revert() (gas: 51508)
EVM2EVMMultiOnRamp_applyDestChainConfigUpdates:test_ApplyDestChainConfigUpdates_Success() (gas: 63649)
EVM2EVMMultiOnRamp_applyDestChainConfigUpdates:test_ApplyDestChainConfigUpdates_WithInalidChainSelector_Revert() (gas: 13308)
EVM2EVMMultiOnRamp_constructor:test_Constructor_InvalidConfigChainSelectorEqZero_Revert() (gas: 94195)
EVM2EVMMultiOnRamp_constructor:test_Constructor_InvalidConfigNonceManagerEqAddressZero_Revert() (gas: 92112)
EVM2EVMMultiOnRamp_constructor:test_Constructor_InvalidConfigRMNProxyEqAddressZero_Revert() (gas: 97133)
EVM2EVMMultiOnRamp_constructor:test_Constructor_InvalidConfigTokenAdminRegistryEqAddressZero_Revert() (gas: 92170)
EVM2EVMMultiOnRamp_constructor:test_Constructor_Success() (gas: 2388458)
EVM2EVMMultiOnRamp_constructor:test_Constructor_InvalidConfigChainSelectorEqZero_Revert() (gas: 94175)
EVM2EVMMultiOnRamp_constructor:test_Constructor_InvalidConfigNonceManagerEqAddressZero_Revert() (gas: 92092)
EVM2EVMMultiOnRamp_constructor:test_Constructor_InvalidConfigRMNProxyEqAddressZero_Revert() (gas: 97113)
EVM2EVMMultiOnRamp_constructor:test_Constructor_InvalidConfigTokenAdminRegistryEqAddressZero_Revert() (gas: 92150)
EVM2EVMMultiOnRamp_constructor:test_Constructor_Success() (gas: 2384439)
EVM2EVMMultiOnRamp_forwardFromRouter:test_CannotSendZeroTokens_Revert() (gas: 71918)
EVM2EVMMultiOnRamp_forwardFromRouter:test_ForwardFromRouterExtraArgsV2AllowOutOfOrderTrue_Success() (gas: 111914)
EVM2EVMMultiOnRamp_forwardFromRouter:test_ForwardFromRouterExtraArgsV2_Success() (gas: 142684)
Expand Down
3 changes: 0 additions & 3 deletions contracts/src/v0.8/ccip/MultiAggregateRateLimiter.sol
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import {Client} from "./libraries/Client.sol";
import {RateLimiter} from "./libraries/RateLimiter.sol";
import {USDPriceWith18Decimals} from "./libraries/USDPriceWith18Decimals.sol";

import {EnumerableSet} from "./../vendor/openzeppelin-solidity/v4.7.3/contracts/utils/structs/EnumerableSet.sol";

/// @notice The aggregate rate limiter is a wrapper of the token bucket rate limiter
/// which permits rate limiting based on the aggregate value of a group of
/// token transfers, using a price registry to convert to a numeraire asset (e.g. USD).
Expand All @@ -22,7 +20,6 @@ contract MultiAggregateRateLimiter is IMessageInterceptor, AuthorizedCallers, IT
using RateLimiter for RateLimiter.TokenBucket;
using USDPriceWith18Decimals for uint224;
using EnumerableMapAddresses for EnumerableMapAddresses.AddressToBytes32Map;
using EnumerableSet for EnumerableSet.AddressSet;

error PriceNotFoundForToken(address token);
error ZeroChainSelectorNotAllowed();
Expand Down
5 changes: 0 additions & 5 deletions contracts/src/v0.8/ccip/PriceRegistry.sol
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,11 @@ contract PriceRegistry is AuthorizedCallers, IPriceRegistry, ITypeAndVersion {
error MessageTooLarge(uint256 maxSize, uint256 actualSize);
error UnsupportedNumberOfTokens();

event PriceUpdaterSet(address indexed priceUpdater);
event PriceUpdaterRemoved(address indexed priceUpdater);
event FeeTokenAdded(address indexed feeToken);
event FeeTokenRemoved(address indexed feeToken);
event UsdPerUnitGasUpdated(uint64 indexed destChain, uint256 value, uint256 timestamp);
event UsdPerTokenUpdated(address indexed token, uint256 value, uint256 timestamp);
event PriceFeedPerTokenUpdated(address indexed token, IPriceRegistry.TokenPriceFeedConfig priceFeedConfig);

event TokenTransferFeeConfigUpdated(
uint64 indexed destChainSelector, address indexed token, TokenTransferFeeConfig tokenTransferFeeConfig
);
Expand Down Expand Up @@ -178,8 +175,6 @@ contract PriceRegistry is AuthorizedCallers, IPriceRegistry, ITypeAndVersion {
/// @dev The link token address
address internal immutable i_linkToken;

// Price updaters are allowed to update the prices.
EnumerableSet.AddressSet private s_priceUpdaters;
// Subset of tokens which prices tracked by this registry which are fee tokens.
EnumerableSet.AddressSet private s_feeTokens;
// The amount of time a gas price can be stale before it is considered invalid.
Expand Down
21 changes: 14 additions & 7 deletions contracts/src/v0.8/ccip/capability/CCIPConfig.sol
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ contract CCIPConfig is ITypeAndVersion, ICapabilityConfiguration, OwnerIsCreator
/// @param chainSelector The chain selector.
event ChainConfigRemoved(uint64 chainSelector);

error ChainConfigNotSetForChain(uint64 chainSelector);
error NodeNotInRegistry(bytes32 p2pId);
error OnlyCapabilitiesRegistryCanCall();
error ChainSelectorNotFound(uint64 chainSelector);
Expand All @@ -55,6 +54,7 @@ contract CCIPConfig is ITypeAndVersion, ICapabilityConfiguration, OwnerIsCreator
error WrongConfigCount(uint64 got, uint64 expected);
error WrongConfigDigest(bytes32 got, bytes32 expected);
error WrongConfigDigestBlueGreen(bytes32 got, bytes32 expected);
error ZeroAddressNotAllowed();

/// @notice Type and version override.
string public constant override typeAndVersion = "CCIPConfig 1.6.0-dev";
Expand All @@ -75,15 +75,18 @@ contract CCIPConfig is ITypeAndVersion, ICapabilityConfiguration, OwnerIsCreator
uint32 donId => mapping(Internal.OCRPluginType pluginType => CCIPConfigTypes.OCR3ConfigWithMeta[] ocr3Configs)
) internal s_ocr3Configs;

/// @notice The DONs that have been configured.
EnumerableSet.UintSet internal s_donIds;

uint8 internal constant MAX_OCR3_CONFIGS_PER_PLUGIN = 2;
uint8 internal constant MAX_OCR3_CONFIGS_PER_DON = 4;
uint8 internal constant MAX_NUM_ORACLES = 31;
uint256 internal constant CONFIG_DIGEST_PREFIX_MASK = type(uint256).max << (256 - 16); // 0xFFFF00..0
/// @dev must be equal to libocr multi role: https://github.com/smartcontractkit/libocr/blob/ae747ca5b81236ffdbf1714318c652e923a5ff4d/offchainreporting2plus/types/config_digest.go#L28
uint256 internal constant CONFIG_DIGEST_PREFIX = 0x000a << (256 - 16); // 0x000a00..00

/// @param capabilitiesRegistry the canonical capabilities registry address.
constructor(address capabilitiesRegistry) {
if (capabilitiesRegistry == address(0)) {
revert ZeroAddressNotAllowed();
}
i_capabilitiesRegistry = capabilitiesRegistry;
}

Expand All @@ -95,6 +98,11 @@ contract CCIPConfig is ITypeAndVersion, ICapabilityConfiguration, OwnerIsCreator
// ================================================================
// │ Config Getters │
// ================================================================
/// @notice Returns the capabilities registry address.
/// @return The capabilities registry address.
function getCapabilityRegistry() external view returns (address) {
return i_capabilitiesRegistry;
}

/// @notice Returns all the chain configurations.
/// @return The chain configurations.
Expand Down Expand Up @@ -413,9 +421,8 @@ contract CCIPConfig is ITypeAndVersion, ICapabilityConfiguration, OwnerIsCreator
)
)
);
uint256 prefixMask = type(uint256).max << (256 - 16); // 0xFFFF00..00
uint256 prefix = 0x000a << (256 - 16); // 0x000a00..00
return bytes32((prefix & prefixMask) | (h & ~prefixMask));

return bytes32((CONFIG_DIGEST_PREFIX & CONFIG_DIGEST_PREFIX_MASK) | (h & ~CONFIG_DIGEST_PREFIX_MASK));
}

// ================================================================
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/offRamp/EVM2EVMMultiOffRamp.sol
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ contract EVM2EVMMultiOffRamp is ITypeAndVersion, MultiOCR3Base {

/// @notice Returns the sequence number of the last price update.
/// @return the latest price update sequence number.
function getLatestPriceSequenceNumber() public view returns (uint64) {
function getLatestPriceSequenceNumber() external view returns (uint64) {
return s_latestPriceSequenceNumber;
}

Expand Down
13 changes: 0 additions & 13 deletions contracts/src/v0.8/ccip/onRamp/EVM2EVMMultiOnRamp.sol
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@ contract EVM2EVMMultiOnRamp is IEVM2AnyOnRampClient, ITypeAndVersion, OwnerIsCre
using USDPriceWith18Decimals for uint224;

error CannotSendZeroTokens();
error InvalidExtraArgsTag();
error ExtraArgOutOfOrderExecutionMustBeTrue();
error OnlyCallableByOwnerOrAdmin();
error MessageGasLimitTooHigh();
error UnsupportedToken(address token);
error MustBeCalledByRouter();
error RouterMustSetOriginalSender();
Expand All @@ -40,7 +36,6 @@ contract EVM2EVMMultiOnRamp is IEVM2AnyOnRampClient, ITypeAndVersion, OwnerIsCre
error GetSupportedTokensFunctionalityRemovedCheckAdminRegistry();
error InvalidDestChainConfig(uint64 sourceChainSelector);

event AdminSet(address newAdmin);
event ConfigSet(StaticConfig staticConfig, DynamicConfig dynamicConfig);
event DestChainConfigSet(uint64 indexed destChainSelector, DestChainConfig destChainConfig);
event FeePaid(address indexed feeToken, uint256 feeValueJuels);
Expand Down Expand Up @@ -95,8 +90,6 @@ contract EVM2EVMMultiOnRamp is IEVM2AnyOnRampClient, ITypeAndVersion, OwnerIsCre
/// @dev The address of the token admin registry
address internal immutable i_tokenAdminRegistry;
/// @dev the maximum number of nops that can be configured at the same time.
/// Used to bound gas for loops over nops.
uint256 private constant MAX_NUMBER_OF_NOPS = 64;

// DYNAMIC CONFIG
/// @dev The config for the onRamp
Expand All @@ -105,12 +98,6 @@ contract EVM2EVMMultiOnRamp is IEVM2AnyOnRampClient, ITypeAndVersion, OwnerIsCre
/// @dev The destination chain specific configs
mapping(uint64 destChainSelector => DestChainConfig destChainConfig) internal s_destChainConfigs;

// STATE
/// @dev The amount of LINK available to pay NOPS
uint96 internal s_nopFeesJuels;
/// @dev The combined weight of all NOPs weights
uint32 internal s_nopWeightsTotal;

constructor(
StaticConfig memory staticConfig,
DynamicConfig memory dynamicConfig,
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/v0.8/ccip/test/NonceManager.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ contract NonceManager_typeAndVersion is Test {
s_nonceManager = new NonceManager(new address[](0));
}

function test_typeAndVersion() public {
function test_typeAndVersion() public view {
assertEq(s_nonceManager.typeAndVersion(), "NonceManager 1.6.0-dev");
}
}
Expand Down
23 changes: 20 additions & 3 deletions contracts/src/v0.8/ccip/test/capability/CCIPConfig.t.sol
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.24;

import {Test} from "forge-std/Test.sol";

import {SortedSetValidationUtil} from "../../../shared/util/SortedSetValidationUtil.sol";
import {CCIPConfig} from "../../capability/CCIPConfig.sol";
import {ICapabilitiesRegistry} from "../../capability/interfaces/ICapabilitiesRegistry.sol";
import {CCIPConfigTypes} from "../../capability/libraries/CCIPConfigTypes.sol";
import {Internal} from "../../libraries/Internal.sol";
import {CCIPConfigHelper} from "../helpers/CCIPConfigHelper.sol";
import {Test} from "forge-std/Test.sol";

contract CCIPConfigSetup is Test {
address public constant OWNER = 0x82ae2B4F57CA5C1CBF8f744ADbD3697aD1a35AFe;
Expand Down Expand Up @@ -109,6 +108,24 @@ contract CCIPConfigSetup is Test {
}
}

contract CCIPConfig_constructor is Test {
// Successes.

function test_constructor_Success() public {
address capabilitiesRegistry = makeAddr("capabilitiesRegistry");
CCIPConfigHelper ccipCC = new CCIPConfigHelper(capabilitiesRegistry);
assertEq(address(ccipCC.getCapabilityRegistry()), capabilitiesRegistry);
assertEq(ccipCC.typeAndVersion(), "CCIPConfig 1.6.0-dev");
}

// Reverts.

function test_constructor_ZeroAddressNotAllowed_Revert() public {
vm.expectRevert(CCIPConfig.ZeroAddressNotAllowed.selector);
new CCIPConfigHelper(address(0));
}
}

contract CCIPConfig_chainConfig is CCIPConfigSetup {
// Successes.

Expand Down Expand Up @@ -1360,7 +1377,7 @@ contract CCIPConfig_ConfigStateMachine is CCIPConfigSetup {
}
}

contract CCIPConfig__updatePluginConfig is CCIPConfigSetup {
contract CCIPConfig_updatePluginConfig is CCIPConfigSetup {
// Successes.

function test__updatePluginConfig_InitToRunning_Success() public {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ contract EVM2EVMMultiOnRamp_forwardFromRouter is EVM2EVMMultiOnRampSetup {
Client.EVM2AnyMessage memory message = _generateEmptyMessage();
message.extraArgs = bytes("bad args");

vm.expectRevert(EVM2EVMMultiOnRamp.InvalidExtraArgsTag.selector);
vm.expectRevert(PriceRegistry.InvalidExtraArgsTag.selector);

s_onRamp.forwardFromRouter(DEST_CHAIN_SELECTOR, message, 0, OWNER);
}
Expand Down
Loading

0 comments on commit 8c07f16

Please sign in to comment.