Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 29 additions & 3 deletions src/core/Farm.sol
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,14 @@ contract Farm is IFarm, Initializable {
_;
}

/**
* @notice Farm contract constructor
* @dev Inherit Beacon proxy upgrade pattern and disable initializers in the constructor
*/
constructor() {
_disableInitializers();
}

/// @inheritdoc IFarm
function initialize(
address _underlyingAsset,
Expand Down Expand Up @@ -329,6 +337,21 @@ contract Farm is IFarm, Initializable {
return _isClaimable();
}

/// @inheritdoc IFarm
function getClaimId(
uint256 amount,
address owner,
address receiver,
uint256 claimableTime,
uint256 nonce
)
external
pure
returns (bytes32)
{
return _calcClaimId(amount, owner, receiver, claimableTime, nonce);
}

/* --- internal functions --- */

/**
Expand Down Expand Up @@ -828,8 +851,8 @@ contract Farm is IFarm, Initializable {
internal
pure
{
bytes32 expectedClaimId = _calcClaimId(amount, owner, receiver, claimableTime, nonce);
if (claimId != expectedClaimId) revert InvalidClaimId(claimId, expectedClaimId);
bytes32 calcClaimId = _calcClaimId(amount, owner, receiver, claimableTime, nonce);
if (claimId != calcClaimId) revert InvalidClaimId(claimId, calcClaimId);
}

/**
Expand Down Expand Up @@ -867,10 +890,13 @@ contract Farm is IFarm, Initializable {
* @notice Check farm config is valid
* @param _farmConfig The farm config
*/
function _checkFarmConfig(FarmConfig memory _farmConfig) internal pure {
function _checkFarmConfig(FarmConfig memory _farmConfig) internal view {
if (_farmConfig.rewardEndTime < _farmConfig.rewardStartTime) {
revert InvalidConfigRewardTime(_farmConfig.rewardStartTime, _farmConfig.rewardEndTime);
}
if (_farmConfig.rewardEndTime <= _lastUpdateTime) {
revert InvalidRewardEndTime(_farmConfig.rewardEndTime, _lastUpdateTime);
}
if (_farmConfig.depositEndTime < _farmConfig.depositStartTime) {
revert InvalidConfigDepositTime(_farmConfig.depositStartTime, _farmConfig.depositEndTime);
}
Expand Down
Loading
Loading