Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
표시
레이아웃
나란히 보기
합쳐 보기
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
비교 단위
스마트
구문
없음
모양 변경
처리
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 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); } }
비교하기