diff --git a/contracts/src/v0.8/ccip/AggregateRateLimiter.sol b/contracts/src/v0.8/ccip/AggregateRateLimiter.sol index b1b1dc9f805..a629969ee13 100644 --- a/contracts/src/v0.8/ccip/AggregateRateLimiter.sol +++ b/contracts/src/v0.8/ccip/AggregateRateLimiter.sol @@ -52,18 +52,6 @@ contract AggregateRateLimiter is OwnerIsCreator { return pricePerToken._calcUSDValueFromTokenAmount(tokenAmount.amount); } - fallback() external { - // copied directly from OZ's Proxy contract - assembly { - // Copy msg.data. We take full control of memory in this inline assembly - // block because it will not return to Solidity code. We overwrite the - // Solidity scratch pad at memory position 0. - calldatacopy(0, 0, calldatasize()) - - return(0, returndatasize()) - } - } - /// @notice Gets the token bucket with its values for the block it was requested at. /// @return The token bucket. function currentRateLimiterState() external view returns (RateLimiter.TokenBucket memory) { diff --git a/contracts/src/v0.8/functions/v1_3_0/FunctionsBilling.sol b/contracts/src/v0.8/functions/v1_3_0/FunctionsBilling.sol index 49ecf3d6652..98a28c3bf35 100644 --- a/contracts/src/v0.8/functions/v1_3_0/FunctionsBilling.sol +++ b/contracts/src/v0.8/functions/v1_3_0/FunctionsBilling.sol @@ -91,6 +91,18 @@ abstract contract FunctionsBilling is Routable, IFunctionsBilling { return s_config; } + fallback() external { + // copied directly from OZ's Proxy contract + assembly { + // Copy msg.data. We take full control of memory in this inline assembly + // block because it will not return to Solidity code. We overwrite the + // Solidity scratch pad at memory position 0. + calldatacopy(0, 0, calldatasize()) + + return(0, returndatasize()) + } + } + /// @notice Sets the Chainlink Coordinator's billing configuration /// @param config - See the contents of the FunctionsBillingConfig struct in IFunctionsBilling.sol for more information function updateConfig(FunctionsBillingConfig memory config) public {