@@ -9,9 +9,12 @@ import {Client} from "./libraries/Client.sol";
99import {Internal} from "./libraries/Internal.sol " ;
1010import {Pool} from "./libraries/Pool.sol " ;
1111import {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 " ;
1518import {AuthorizedCallers} from "@chainlink/contracts/src/v0.8/shared/access/AuthorizedCallers.sol " ;
1619import {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 }
0 commit comments