// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; import "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol"; library Protocol { /** * @dev Thrown when the provided token does not match with the configured base token. */ error BaseTokenMismatch(); /** * @dev Protocol configuration. * @param baseToken ERC20 contract. Used as the price denominator. * @param protocolExternalFeesCollector Address that will accumulate fees * received from external source directly (e.g. Warper performing manual rewards distribution). */ struct Config { IERC20Upgradeable baseToken; address protocolExternalFeesCollector; } }