Diff
checker
文本
文本
圖像
文檔
Excel
文件夾
Legal
Enterprise
桌面版
定價
登入
下載 Diffchecker 桌面版
比較文本
尋找兩個文字檔案之間的差異
工具
歷史
顯示
檢視
拆分
統一
即時編輯器
隱藏空白變更
摺疊未變更行
關閉換行
比對精度
智能
語法
無
變更外觀
處理
忽略
文字轉換
前往第一個差異
編輯輸入
Diffchecker Desktop
執行Diffchecker最安全的方式。取得Diffchecker桌面應用程式:您的差異永遠不會離開您的電腦!
取得桌面版
FeeReciever
建立於
12 個月前
差異永不過期
清除
匯出
分享
解釋
4 刪除
行
總計
刪除
字符
總計
刪除
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
71 行
全部複製
7 新增
行
總計
新增
字符
總計
新增
要繼續使用此功能,請升級到
Diff
checker
Pro
查看價格
74 行
全部複製
// SPDX-License-Identifier: BUSL-1.1
// SPDX-License-Identifier: BUSL-1.1
複製
已複製
複製
已複製
pragma solidity 0.8.
21
;
pragma solidity 0.8.
27
;
import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import { LRTConstants } from "./utils/LRTConstants.sol";
import { LRTConstants } from "./utils/LRTConstants.sol";
import { ILRTDepositPool } from "./interfaces/ILRTDepositPool.sol";
import { ILRTDepositPool } from "./interfaces/ILRTDepositPool.sol";
import { IFeeReceiver } from "./interfaces/IFeeReceiver.sol";
import { IFeeReceiver } from "./interfaces/IFeeReceiver.sol";
/// @title FeeReceiver
/// @title FeeReceiver
複製
已複製
複製
已複製
/// @notice Rec
ie
ves Mev/Execution-layer rewards
/// @notice Rec
ei
ves Mev/Execution-layer rewards
/// @dev also known as RewardRec
ie
ver Contract in LRTConstants.sol
/// @dev also known as RewardRec
ei
ver Contract in LRTConstants.sol
contract FeeReceiver is IFeeReceiver, Initializable, AccessControlUpgradeable {
contract FeeReceiver is IFeeReceiver, Initializable, AccessControlUpgradeable {
address public _legacyProtocolTreasury;
address public _legacyProtocolTreasury;
address public depositPool;
address public depositPool;
uint256 public _legacyProtocolFeePercentInBPS;
uint256 public _legacyProtocolFeePercentInBPS;
/// @custom:oz-upgrades-unsafe-allow constructor
/// @custom:oz-upgrades-unsafe-allow constructor
constructor() {
constructor() {
_disableInitializers();
_disableInitializers();
}
}
function initialize(
function initialize(
address _protocolTreasury,
address _protocolTreasury,
address _depositPool,
address _depositPool,
uint256 _protocolFeePercentInBPS,
uint256 _protocolFeePercentInBPS,
address admin,
address admin,
address manager
address manager
)
)
複製
已複製
複製
已複製
public
external
initializer
initializer
{
{
if (
if (
_protocolTreasury == address(0) || _depositPool == address(0) || _protocolFeePercentInBPS == 0
_protocolTreasury == address(0) || _depositPool == address(0) || _protocolFeePercentInBPS == 0
|| admin == address(0) || manager == address(0)
|| admin == address(0) || manager == address(0)
) {
) {
revert InvalidEmptyValue();
revert InvalidEmptyValue();
}
}
_legacyProtocolTreasury = _protocolTreasury;
_legacyProtocolTreasury = _protocolTreasury;
depositPool = _depositPool;
depositPool = _depositPool;
_legacyProtocolFeePercentInBPS = _protocolFeePercentInBPS;
_legacyProtocolFeePercentInBPS = _protocolFeePercentInBPS;
__AccessControl_init();
__AccessControl_init();
_setupRole(DEFAULT_ADMIN_ROLE, admin);
_setupRole(DEFAULT_ADMIN_ROLE, admin);
_setupRole(LRTConstants.MANAGER, manager);
_setupRole(LRTConstants.MANAGER, manager);
}
}
/// @dev fallback to receive funds
/// @dev fallback to receive funds
receive() external payable { }
receive() external payable { }
/// @dev send all rewards to deposit pool
/// @dev send all rewards to deposit pool
function sendFunds() external {
function sendFunds() external {
uint256 balance = address(this).balance;
uint256 balance = address(this).balance;
ILRTDepositPool(depositPool).receiveFromRewardReceiver{ value: balance }();
ILRTDepositPool(depositPool).receiveFromRewardReceiver{ value: balance }();
emit MevRewardsAddedToTVL(balance);
emit MevRewardsAddedToTVL(balance);
}
}
/*//////////////////////////////////////////////////////////////
/*//////////////////////////////////////////////////////////////
MANAGER FUNCTIONS
MANAGER FUNCTIONS
//////////////////////////////////////////////////////////////*/
//////////////////////////////////////////////////////////////*/
/// @dev Set the deposit pool
/// @dev Set the deposit pool
/// @param _depositPool Address of the deposit pool
/// @param _depositPool Address of the deposit pool
function setDepositPool(address _depositPool) external onlyRole(LRTConstants.MANAGER) {
function setDepositPool(address _depositPool) external onlyRole(LRTConstants.MANAGER) {
if (_depositPool == address(0)) revert InvalidEmptyValue();
if (_depositPool == address(0)) revert InvalidEmptyValue();
depositPool = _depositPool;
depositPool = _depositPool;
複製
已複製
複製
已複製
emit DepositPoolSet(_depositPool);
}
}
}
}
複製
已複製
複製
已複製
已保存差異
原始文本
開啟檔案
// SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.21; import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol"; import { LRTConstants } from "./utils/LRTConstants.sol"; import { ILRTDepositPool } from "./interfaces/ILRTDepositPool.sol"; import { IFeeReceiver } from "./interfaces/IFeeReceiver.sol"; /// @title FeeReceiver /// @notice Recieves Mev/Execution-layer rewards /// @dev also known as RewardReciever Contract in LRTConstants.sol contract FeeReceiver is IFeeReceiver, Initializable, AccessControlUpgradeable { address public _legacyProtocolTreasury; address public depositPool; uint256 public _legacyProtocolFeePercentInBPS; /// @custom:oz-upgrades-unsafe-allow constructor constructor() { _disableInitializers(); } function initialize( address _protocolTreasury, address _depositPool, uint256 _protocolFeePercentInBPS, address admin, address manager ) public initializer { if ( _protocolTreasury == address(0) || _depositPool == address(0) || _protocolFeePercentInBPS == 0 || admin == address(0) || manager == address(0) ) { revert InvalidEmptyValue(); } _legacyProtocolTreasury = _protocolTreasury; depositPool = _depositPool; _legacyProtocolFeePercentInBPS = _protocolFeePercentInBPS; __AccessControl_init(); _setupRole(DEFAULT_ADMIN_ROLE, admin); _setupRole(LRTConstants.MANAGER, manager); } /// @dev fallback to receive funds receive() external payable { } /// @dev send all rewards to deposit pool function sendFunds() external { uint256 balance = address(this).balance; ILRTDepositPool(depositPool).receiveFromRewardReceiver{ value: balance }(); emit MevRewardsAddedToTVL(balance); } /*////////////////////////////////////////////////////////////// MANAGER FUNCTIONS //////////////////////////////////////////////////////////////*/ /// @dev Set the deposit pool /// @param _depositPool Address of the deposit pool function setDepositPool(address _depositPool) external onlyRole(LRTConstants.MANAGER) { if (_depositPool == address(0)) revert InvalidEmptyValue(); depositPool = _depositPool; } }
更改後文本
開啟檔案
// SPDX-License-Identifier: BUSL-1.1 pragma solidity 0.8.27; import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import { AccessControlUpgradeable } from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol"; import { LRTConstants } from "./utils/LRTConstants.sol"; import { ILRTDepositPool } from "./interfaces/ILRTDepositPool.sol"; import { IFeeReceiver } from "./interfaces/IFeeReceiver.sol"; /// @title FeeReceiver /// @notice Receives Mev/Execution-layer rewards /// @dev also known as RewardReceiver Contract in LRTConstants.sol contract FeeReceiver is IFeeReceiver, Initializable, AccessControlUpgradeable { address public _legacyProtocolTreasury; address public depositPool; uint256 public _legacyProtocolFeePercentInBPS; /// @custom:oz-upgrades-unsafe-allow constructor constructor() { _disableInitializers(); } function initialize( address _protocolTreasury, address _depositPool, uint256 _protocolFeePercentInBPS, address admin, address manager ) external initializer { if ( _protocolTreasury == address(0) || _depositPool == address(0) || _protocolFeePercentInBPS == 0 || admin == address(0) || manager == address(0) ) { revert InvalidEmptyValue(); } _legacyProtocolTreasury = _protocolTreasury; depositPool = _depositPool; _legacyProtocolFeePercentInBPS = _protocolFeePercentInBPS; __AccessControl_init(); _setupRole(DEFAULT_ADMIN_ROLE, admin); _setupRole(LRTConstants.MANAGER, manager); } /// @dev fallback to receive funds receive() external payable { } /// @dev send all rewards to deposit pool function sendFunds() external { uint256 balance = address(this).balance; ILRTDepositPool(depositPool).receiveFromRewardReceiver{ value: balance }(); emit MevRewardsAddedToTVL(balance); } /*////////////////////////////////////////////////////////////// MANAGER FUNCTIONS //////////////////////////////////////////////////////////////*/ /// @dev Set the deposit pool /// @param _depositPool Address of the deposit pool function setDepositPool(address _depositPool) external onlyRole(LRTConstants.MANAGER) { if (_depositPool == address(0)) revert InvalidEmptyValue(); depositPool = _depositPool; emit DepositPoolSet(_depositPool); } }
尋找差異