Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
表示
レイアウト
分割
統合
ライブエディター
空白の変更を非表示
未変更行を折りたたむ
折り返しなし
比較精度
スマート
構文
なし
外観を変更
処理
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
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); } }
違いを見つける