Skip to content

Commit 8ae35f2

Browse files
authored
bump foundry, go, npm deps + use abi/bin from chainlink (#1519)
* bump foundry & forge fmt * bump solhint * bump deps * replace local abi/bin code with reference * lint
1 parent 1306a2c commit 8ae35f2

File tree

165 files changed

+1494
-1322
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+1494
-1322
lines changed

chains/evm/.gas-snapshot

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ ERC20LockBox_withdraw:test_Withdraw_MultipleWithdrawals() (gas: 145285)
6767
ERC20LockBox_withdraw:test_Withdraw_PartialAmount() (gas: 115190)
6868
ERC20LockBox_withdraw:test_Withdraw_ToDifferentRecipients() (gas: 132506)
6969
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_fallbackToWethTransfer() (gas: 98062)
70-
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_happyPath() (gas: 50412)
70+
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_happyPath() (gas: 48412)
7171
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongToken() (gas: 18116)
7272
EtherSenderReceiverTest_ccipReceive:test_ccipReceive_wrongTokenAmount() (gas: 16341)
7373
EtherSenderReceiverTest_ccipSend:test_ccipSend_feeToken() (gas: 147126)
@@ -386,7 +386,7 @@ OffRamp_trialExecute:test_trialExecute_SenderIsNotGasEstimator_CallWithExactGasR
386386
OffRamp_trialExecute:test_trialExecute_TokenHandlingErrorIsCaught() (gas: 188502)
387387
OffRamp_trialExecute:test_trialExecute_TokenPoolIsNotAContract() (gas: 294938)
388388
OnRampOverSuperchainInterop_extractGasLimit:test_extractGasLimit() (gas: 12289)
389-
OnRampOverSuperchainInterop_forwardFromRouter:test_forwardFromRouter_SingleBasicMessage() (gas: 253692)
389+
OnRampOverSuperchainInterop_forwardFromRouter:test_forwardFromRouter_SingleBasicMessage() (gas: 251192)
390390
OnRampOverSuperchainInterop_forwardFromRouter:test_forwardFromRouter_ThreeConsecutiveMessages() (gas: 391849)
391391
OnRampOverSuperchainInterop_hashInteropMessage:test_hashInteropMessage_BasicMessageHash() (gas: 23770)
392392
OnRampOverSuperchainInterop_hashInteropMessage:test_hashInteropMessage_SameMessageProducesSameHash() (gas: 12410)
@@ -408,7 +408,7 @@ OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessCustomExtraArgs() (gas: 15
408408
OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessEmptyExtraArgs() (gas: 154789)
409409
OnRamp_forwardFromRouter:test_ForwardFromRouterSuccessLegacyExtraArgs() (gas: 157224)
410410
OnRamp_forwardFromRouter:test_ForwardFromRouter_ConfigurableSourceRouter() (gas: 148332)
411-
OnRamp_forwardFromRouter:test_ForwardFromRouter_EVM_WithTokenTransfer() (gas: 241455)
411+
OnRamp_forwardFromRouter:test_ForwardFromRouter_EVM_WithTokenTransfer() (gas: 238955)
412412
OnRamp_forwardFromRouter:test_ForwardFromRouter_SVM_WithTokenTransfer() (gas: 222800)
413413
OnRamp_forwardFromRouter:test_ShouldIncrementNonceOnlyOnOrdered() (gas: 221549)
414414
OnRamp_forwardFromRouter:test_ShouldIncrementSeqNumAndNonce() (gas: 248020)
@@ -469,7 +469,7 @@ Router_ccipSend:test_ccipSend_nativeFeeOneTokenSuccess_gas() (gas: 231150)
469469
Router_constructor:test_Constructor() (gas: 13407)
470470
Router_getArmProxy:test_getArmProxy() (gas: 10647)
471471
Router_getFee:test_GetFeeSupportedChain() (gas: 53618)
472-
Router_recoverTokens:test_RecoverTokens() (gas: 54449)
472+
Router_recoverTokens:test_RecoverTokens() (gas: 52449)
473473
Router_routeMessage:test_routeMessage_AutoExec() (gas: 42281)
474474
Router_routeMessage:test_routeMessage_ExecutionEvent() (gas: 158277)
475475
Router_routeMessage:test_routeMessage_ManualExec() (gas: 35322)

chains/evm/GNUmakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ snapshot-diff: ## Make a snapshot for a specific product.
1010

1111
.PHONY: foundry
1212
foundry: ## Install foundry.
13-
foundryup --install v1.3.5
13+
foundryup --install v1.5.1
1414

1515
# it may be necessary to install libusb on your machine as a dependency for this script to work
1616
.PHONY: foundry-zksync

chains/evm/contracts/DonIDClaimer.sol

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ contract DonIDClaimer is ITypeAndVersion, Ownable2StepMsgSender {
8585
/// @param senderAddress The address to be added or removed as an authorized deployer
8686
/// @param allowed Boolean indicating whether the address is authorized (true) or revoked (false)
8787
/// @dev Can only be called by an existing authorized deployer
88-
function setAuthorizedDeployer(address senderAddress, bool allowed) external onlyOwner {
88+
function setAuthorizedDeployer(
89+
address senderAddress,
90+
bool allowed
91+
) external onlyOwner {
8992
if (senderAddress == address(0)) revert ZeroAddressNotAllowed();
9093

9194
if (allowed) {

chains/evm/contracts/FeeQuoter.sol

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ import {Client} from "./libraries/Client.sol";
99
import {Internal} from "./libraries/Internal.sol";
1010
import {Pool} from "./libraries/Pool.sol";
1111
import {USDPriceWith18Decimals} from "./libraries/USDPriceWith18Decimals.sol";
12-
import {KeystoneFeedsPermissionHandler} from "@chainlink/contracts/src/v0.8/keystone/KeystoneFeedsPermissionHandler.sol";
13-
import {KeystoneFeedDefaultMetadataLib} from
14-
"@chainlink/contracts/src/v0.8/keystone/lib/KeystoneFeedDefaultMetadataLib.sol";
12+
import {
13+
KeystoneFeedsPermissionHandler
14+
} from "@chainlink/contracts/src/v0.8/keystone/KeystoneFeedsPermissionHandler.sol";
15+
import {
16+
KeystoneFeedDefaultMetadataLib
17+
} from "@chainlink/contracts/src/v0.8/keystone/lib/KeystoneFeedDefaultMetadataLib.sol";
1518
import {AuthorizedCallers} from "@chainlink/contracts/src/v0.8/shared/access/AuthorizedCallers.sol";
1619
import {AggregatorV3Interface} from "@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol";
1720

@@ -436,7 +439,10 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
436439
/// @param feeTokensToRemove The addresses of the tokens which are no longer considered feeTokens.
437440
/// @param feeTokensToAdd The addresses of the tokens which are now considered fee tokens.
438441
/// and can be used to calculate fees.
439-
function _applyFeeTokensUpdates(address[] memory feeTokensToRemove, address[] memory feeTokensToAdd) private {
442+
function _applyFeeTokensUpdates(
443+
address[] memory feeTokensToRemove,
444+
address[] memory feeTokensToAdd
445+
) private {
440446
for (uint256 i = 0; i < feeTokensToRemove.length; ++i) {
441447
if (s_feeTokens.remove(feeTokensToRemove[i])) {
442448
emit FeeTokenRemoved(feeTokensToRemove[i]);
@@ -515,7 +521,10 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
515521
/// @dev This function is called to process incoming price feed data.
516522
/// @param metadata Arbitrary metadata associated with the report (not used in this implementation).
517523
/// @param report Encoded report containing an array of `ReceivedCCIPFeedReport` structs.
518-
function onReport(bytes calldata metadata, bytes calldata report) external {
524+
function onReport(
525+
bytes calldata metadata,
526+
bytes calldata report
527+
) external {
519528
(bytes10 workflowName, address workflowOwner, bytes2 reportName) = metadata._extractMetadataInfo();
520529

521530
_validateReportPermission(msg.sender, workflowOwner, workflowName, reportName);
@@ -633,10 +642,11 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
633642
// Total USD fee is in 36 decimals, feeTokenPrice is in 18 decimals USD for 1e18 smallest token denominations.
634643
// The result is the fee in the feeTokens smallest denominations (e.g. wei for ETH).
635644
// uint112(packedGasPrice) = executionGasPrice
636-
return (
637-
totalDestChainGas * uint112(packedGasPrice) * destChainConfig.gasMultiplierWeiPerEth + premiumFeeUSDWei
638-
+ dataAvailabilityCostUSD36Decimals
639-
) / feeTokenPrice;
645+
return (totalDestChainGas
646+
* uint112(packedGasPrice)
647+
* destChainConfig.gasMultiplierWeiPerEth
648+
+ premiumFeeUSDWei
649+
+ dataAvailabilityCostUSD36Decimals) / feeTokenPrice;
640650
}
641651

642652
/// @notice Sets the fee configuration for a token.
@@ -843,7 +853,7 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
843853

844854
for (uint256 j = 0; j < tokenTransferFeeConfigArg.tokenTransferFeeConfigs.length; ++j) {
845855
TokenTransferFeeConfig memory tokenTransferFeeConfig =
846-
tokenTransferFeeConfigArg.tokenTransferFeeConfigs[j].tokenTransferFeeConfig;
856+
tokenTransferFeeConfigArg.tokenTransferFeeConfigs[j].tokenTransferFeeConfig;
847857
address token = tokenTransferFeeConfigArg.tokenTransferFeeConfigs[j].token;
848858

849859
if (tokenTransferFeeConfig.minFeeUSDCents >= tokenTransferFeeConfig.maxFeeUSDCents) {
@@ -1039,12 +1049,14 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
10391049
|| destChainConfig.chainFamilySelector == Internal.CHAIN_FAMILY_SELECTOR_APTOS
10401050
|| destChainConfig.chainFamilySelector == Internal.CHAIN_FAMILY_SELECTOR_TVM
10411051
) {
1042-
gasLimit = _parseGenericExtraArgsFromBytes(
1052+
gasLimit =
1053+
_parseGenericExtraArgsFromBytes(
10431054
message.extraArgs,
10441055
destChainConfig.defaultTxGasLimit,
10451056
destChainConfig.maxPerMsgGasLimit,
10461057
destChainConfig.enforceOutOfOrder
1047-
).gasLimit;
1058+
)
1059+
.gasLimit;
10481060

10491061
_validateDestFamilyAddress(destChainConfig.chainFamilySelector, message.receiver, gasLimit);
10501062
} else if (destChainConfig.chainFamilySelector == Internal.CHAIN_FAMILY_SELECTOR_SUI) {
@@ -1072,8 +1084,8 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
10721084
// The messaging accounts needed for CCIP receiver on SUI are:
10731085
// message receiver,
10741086
// plus remaining accounts specified in Sui extraArgs. Each account is 32 bytes.
1075-
suiExpandedDataLength +=
1076-
((receiverObjectIdsLength + Client.SUI_MESSAGING_ACCOUNTS_OVERHEAD) * Client.SUI_ACCOUNT_BYTE_SIZE);
1087+
suiExpandedDataLength += ((receiverObjectIdsLength + Client.SUI_MESSAGING_ACCOUNTS_OVERHEAD)
1088+
* Client.SUI_ACCOUNT_BYTE_SIZE);
10771089
}
10781090

10791091
if (numberOfTokens > 0 && suiExtraArgsV1.tokenReceiver == bytes32(0)) {
@@ -1128,8 +1140,8 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
11281140
// The messaging accounts needed for CCIP receiver on SVM are:
11291141
// message receiver, offRamp PDA signer,
11301142
// plus remaining accounts specified in SVM extraArgs. Each account is 32 bytes.
1131-
svmExpandedDataLength +=
1132-
((accountsLength + Client.SVM_MESSAGING_ACCOUNTS_OVERHEAD) * Client.SVM_ACCOUNT_BYTE_SIZE);
1143+
svmExpandedDataLength += ((accountsLength + Client.SVM_MESSAGING_ACCOUNTS_OVERHEAD)
1144+
* Client.SVM_ACCOUNT_BYTE_SIZE);
11331145
}
11341146

11351147
if (numberOfTokens > 0 && svmExtraArgsV1.tokenReceiver == bytes32(0)) {
@@ -1229,7 +1241,7 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
12291241
true,
12301242
abi.encode(
12311243
_parseSuiExtraArgsFromBytes(extraArgs, destChainConfig.maxPerMsgGasLimit, destChainConfig.enforceOutOfOrder)
1232-
.tokenReceiver
1244+
.tokenReceiver
12331245
)
12341246
);
12351247
}
@@ -1242,7 +1254,7 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
12421254
true,
12431255
abi.encode(
12441256
_parseSVMExtraArgsFromBytes(extraArgs, destChainConfig.maxPerMsgGasLimit, destChainConfig.enforceOutOfOrder)
1245-
.tokenReceiver
1257+
.tokenReceiver
12461258
)
12471259
);
12481260
}
@@ -1322,13 +1334,11 @@ contract FeeQuoter is AuthorizedCallers, IFeeQuoter, ITypeAndVersion, IReceiver,
13221334
if (
13231335
destChainSelector == 0 || destChainConfig.defaultTxGasLimit == 0
13241336
|| destChainConfig.defaultTxGasLimit > destChainConfig.maxPerMsgGasLimit
1325-
|| (
1326-
destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_EVM
1327-
&& destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_SVM
1328-
&& destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_APTOS
1329-
&& destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_SUI
1330-
&& destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_TVM
1331-
)
1337+
|| (destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_EVM
1338+
&& destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_SVM
1339+
&& destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_APTOS
1340+
&& destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_SUI
1341+
&& destChainConfig.chainFamilySelector != Internal.CHAIN_FAMILY_SELECTOR_TVM)
13321342
) {
13331343
revert InvalidDestChainConfig(destChainSelector);
13341344
}

chains/evm/contracts/NonceManager.sol

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,17 @@ contract NonceManager is INonceManager, AuthorizedCallers, ITypeAndVersion {
5959
/// @param destChainSelector The destination chain selector.
6060
/// @param sender The sender address.
6161
/// @return outboundNonce The outbound nonce.
62-
function getOutboundNonce(uint64 destChainSelector, address sender) external view returns (uint64) {
62+
function getOutboundNonce(
63+
uint64 destChainSelector,
64+
address sender
65+
) external view returns (uint64) {
6366
return _getOutboundNonce(destChainSelector, sender);
6467
}
6568

66-
function _getOutboundNonce(uint64 destChainSelector, address sender) private view returns (uint64) {
69+
function _getOutboundNonce(
70+
uint64 destChainSelector,
71+
address sender
72+
) private view returns (uint64) {
6773
uint64 outboundNonce = s_outboundNonces[destChainSelector][sender];
6874

6975
// When introducing the NonceManager with existing lanes, we still want to have sequential nonces.
@@ -104,11 +110,17 @@ contract NonceManager is INonceManager, AuthorizedCallers, ITypeAndVersion {
104110
/// @param sourceChainSelector The source chain selector.
105111
/// @param sender The encoded sender address.
106112
/// @return inboundNonce The inbound nonce.
107-
function getInboundNonce(uint64 sourceChainSelector, bytes calldata sender) external view returns (uint64) {
113+
function getInboundNonce(
114+
uint64 sourceChainSelector,
115+
bytes calldata sender
116+
) external view returns (uint64) {
108117
return _getInboundNonce(sourceChainSelector, sender);
109118
}
110119

111-
function _getInboundNonce(uint64 sourceChainSelector, bytes calldata sender) private view returns (uint64) {
120+
function _getInboundNonce(
121+
uint64 sourceChainSelector,
122+
bytes calldata sender
123+
) private view returns (uint64) {
112124
uint64 inboundNonce = s_inboundNonces[sourceChainSelector][sender];
113125

114126
// When introducing the NonceManager with existing lanes, we still want to have sequential nonces. Referencing the

chains/evm/contracts/Router.sol

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,10 @@ contract Router is IRouter, IRouterClient, ITypeAndVersion, OwnerIsCreator {
6363
// lookups for specific chain/offramp pairs.
6464
EnumerableSet.UintSet private s_chainSelectorAndOffRamps;
6565

66-
constructor(address wrappedNative, address armProxy) {
66+
constructor(
67+
address wrappedNative,
68+
address armProxy
69+
) {
6770
// Zero address indicates unsupported auto-wrapping, therefore, unsupported
6871
// native fee token payments.
6972
s_wrappedNative = wrappedNative;
@@ -227,7 +230,10 @@ contract Router is IRouter, IRouterClient, ITypeAndVersion, OwnerIsCreator {
227230
}
228231

229232
/// @inheritdoc IRouter
230-
function isOffRamp(uint64 sourceChainSelector, address offRamp) public view returns (bool) {
233+
function isOffRamp(
234+
uint64 sourceChainSelector,
235+
address offRamp
236+
) public view returns (bool) {
231237
// We have to encode the sourceChainSelector and offRamp into a uint256 to use as a key in the set.
232238
return s_chainSelectorAndOffRamps.contains(_mergeChainSelectorAndOffRamp(sourceChainSelector, offRamp));
233239
}
@@ -275,7 +281,11 @@ contract Router is IRouter, IRouterClient, ITypeAndVersion, OwnerIsCreator {
275281
/// @dev Must be onlyOwner to avoid malicious token contract calls.
276282
/// @param tokenAddress ERC20-token to recover
277283
/// @param to Destination address to send the tokens to.
278-
function recoverTokens(address tokenAddress, address to, uint256 amount) external onlyOwner {
284+
function recoverTokens(
285+
address tokenAddress,
286+
address to,
287+
uint256 amount
288+
) external onlyOwner {
279289
if (to == address(0)) revert InvalidRecipientAddress(to);
280290

281291
if (tokenAddress == address(0)) {

chains/evm/contracts/applications/CCIPClientExample.sol

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,18 @@ contract CCIPClientExample is CCIPReceiver, Ownable2StepMsgSender {
4444
// one can simply key based on (chainSelector, messageType) instead of only chainSelector.
4545
mapping(uint64 destChainSelector => bytes extraArgsBytes) public s_chains;
4646

47-
constructor(IRouterClient router, IERC20 feeToken) CCIPReceiver(address(router)) {
47+
constructor(
48+
IRouterClient router,
49+
IERC20 feeToken
50+
) CCIPReceiver(address(router)) {
4851
s_feeToken = feeToken;
4952
s_feeToken.approve(address(router), type(uint256).max);
5053
}
5154

52-
function enableChain(uint64 chainSelector, bytes memory extraArgs) external onlyOwner {
55+
function enableChain(
56+
uint64 chainSelector,
57+
bytes memory extraArgs
58+
) external onlyOwner {
5359
s_chains[chainSelector] = extraArgs;
5460
}
5561

@@ -88,9 +94,10 @@ contract CCIPClientExample is CCIPReceiver, Ownable2StepMsgSender {
8894
extraArgs: s_chains[destChainSelector],
8995
feeToken: address(0) // We leave the feeToken empty indicating we'll pay raw native.
9096
});
91-
bytes32 messageId = IRouterClient(i_ccipRouter).ccipSend{
92-
value: IRouterClient(i_ccipRouter).getFee(destChainSelector, message)
93-
}(destChainSelector, message);
97+
bytes32 messageId = IRouterClient(i_ccipRouter)
98+
.ccipSend{value: IRouterClient(i_ccipRouter).getFee(destChainSelector, message)}(
99+
destChainSelector, message
100+
);
94101
emit MessageSent(messageId);
95102
}
96103

chains/evm/contracts/applications/DefensiveExample.sol

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ contract DefensiveExample is CCIPClientExample {
3939
// This is used to simulate a revert in the processMessage function.
4040
bool internal s_simRevert = false;
4141

42-
constructor(IRouterClient router, IERC20 feeToken) CCIPClientExample(router, feeToken) {}
42+
constructor(
43+
IRouterClient router,
44+
IERC20 feeToken
45+
) CCIPClientExample(router, feeToken) {}
4346

4447
/// @notice The entrypoint for the CCIP router to call. This function should
4548
/// never revert, all errors should be handled internally in this contract.
@@ -82,7 +85,10 @@ contract DefensiveExample is CCIPClientExample {
8285
/// @notice This function is callable by the owner when a message has failed to unblock the tokens
8386
/// that are associated with that message.
8487
/// @dev This function is only callable by the owner.
85-
function retryFailedMessage(bytes32 messageId, address tokenReceiver) external onlyOwner {
88+
function retryFailedMessage(
89+
bytes32 messageId,
90+
address tokenReceiver
91+
) external onlyOwner {
8692
if (s_failedMessages.get(messageId) != uint256(ErrorCode.BASIC)) revert MessageNotFailed(messageId);
8793
// Set the error code to 0 to disallow reentry and retry the same failed message multiple times.
8894
s_failedMessages.set(messageId, uint256(ErrorCode.RESOLVED));

chains/evm/contracts/applications/PingPongDemo.sol

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ contract PingPongDemo is CCIPReceiver, Ownable2StepMsgSender, ITypeAndVersion {
3030
// Allowing out of order execution.
3131
bool private s_outOfOrderExecution;
3232

33-
constructor(address router, IERC20 feeToken) CCIPReceiver(router) {
33+
constructor(
34+
address router,
35+
IERC20 feeToken
36+
) CCIPReceiver(router) {
3437
s_isPaused = false;
3538
s_feeToken = feeToken;
3639
s_feeToken.approve(address(router), type(uint256).max);
@@ -40,7 +43,10 @@ contract PingPongDemo is CCIPReceiver, Ownable2StepMsgSender, ITypeAndVersion {
4043
return "PingPongDemo 1.5.0";
4144
}
4245

43-
function setCounterpart(uint64 counterpartChainSelector, bytes calldata counterpartAddress) external onlyOwner {
46+
function setCounterpart(
47+
uint64 counterpartChainSelector,
48+
bytes calldata counterpartAddress
49+
) external onlyOwner {
4450
s_counterpartChainSelector = counterpartChainSelector;
4551
s_counterpartAddress = counterpartAddress;
4652
}
@@ -63,7 +69,9 @@ contract PingPongDemo is CCIPReceiver, Ownable2StepMsgSender, ITypeAndVersion {
6369
data: abi.encode(pingPongCount),
6470
tokenAmounts: new Client.EVMTokenAmount[](0),
6571
extraArgs: Client._argsToBytes(
66-
Client.GenericExtraArgsV2({gasLimit: uint256(DEFAULT_GAS_LIMIT), allowOutOfOrderExecution: s_outOfOrderExecution})
72+
Client.GenericExtraArgsV2({
73+
gasLimit: uint256(DEFAULT_GAS_LIMIT), allowOutOfOrderExecution: s_outOfOrderExecution
74+
})
6775
),
6876
feeToken: address(s_feeToken)
6977
});

0 commit comments

Comments
 (0)