You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, we recently have conducted a systematic study about Solidity event usage, evolution, and impact, and we are attempting to build a tool to improve the practice of Solidity event use based on our findings. We have tried our prototype tool on some of the most popular GitHub Solidity repositories, and for your repository, we find a potential optimization of gas consumption arisen from event use.
The point is that when we use emit operation to store the value of a certain variable, local memory type variable would be preferable to global storage type (state) variable if they hold the same value. The reason is that an extra SLOAD operation would be needed to access the variable if it is storage type, and the SLOAD operation costs 800 gas.
For your repository, we find that the following event use can be improved:
function setMultipliers(
uint256_lock_max_multiplier,
uint256_vefxs_max_multiplier,
uint256_vefxs_per_frax_for_max_boost,
uint256_vefxs_boost_scale_factor
) external onlyByOwnGov {
require(_lock_max_multiplier >= MULTIPLIER_PRECISION, "Mult must be >= MULTIPLIER_PRECISION");
require(_vefxs_max_multiplier >=0, "veFXS mul must be >= 0");
require(_vefxs_per_frax_for_max_boost >0, "veFXS pct max must be >= 0");
require(_vefxs_boost_scale_factor >0, "veFXS boost scale factor must be >= 0");
lock_max_multiplier = _lock_max_multiplier;
vefxs_max_multiplier = _vefxs_max_multiplier;
vefxs_per_frax_for_max_boost = _vefxs_per_frax_for_max_boost;
vefxs_boost_scale_factor = _vefxs_boost_scale_factor;
emitMaxVeFXSMultiplier(vefxs_max_multiplier);
emitLockedStakeMaxMultiplierUpdated(lock_max_multiplier);
emitveFXSPerFraxForMaxBoostUpdated(vefxs_per_frax_for_max_boost);
emitveFXSBoostScaleFactor(vefxs_boost_scale_factor);
}
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function setLockedStakeTimeForMinAndMaxMultiplier(uint256_lock_time_for_max_multiplier, uint256_lock_time_min) external onlyByOwnGov {
require(_lock_time_for_max_multiplier >=1, "Mul max time must be >= 1");
require(_lock_time_min >=1, "Mul min time must be >= 1");
lock_time_for_max_multiplier = _lock_time_for_max_multiplier;
lock_time_min = _lock_time_min;
emitLockedStakeTimeForMaxMultiplier(lock_time_for_max_multiplier);
emitLockedStakeMinTime(_lock_time_min);
}
veFXSYieldDistributor.sol function name:setYieldDuration event name:YieldDurationUpdated variable:yieldDuration->_yieldDuration
function setYieldDuration(uint256_yieldDuration) external onlyByOwnGov {
require(periodFinish ==0||block.timestamp> periodFinish, "Previous yield period must be complete before changing the duration for the new period");
yieldDuration = _yieldDuration;
emitYieldDurationUpdated(yieldDuration);
}
FraxCrossChainFarmSushi.sol function name:setMultipliers event name:MaxVeFXSMultiplier LockedStakeMaxMultiplierUpdated veFXSPerFraxForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function setMultipliers(uint256_lock_max_multiplier, uint256_vefxs_max_multiplier, uint256_vefxs_per_frax_for_max_boost) external onlyByOwnGov {
require(_lock_max_multiplier >= MULTIPLIER_PRECISION, "Mult must be >= MULTIPLIER_PRECISION");
require(_vefxs_max_multiplier >=0, "veFXS mul must be >= 0");
require(_vefxs_per_frax_for_max_boost >0, "veFXS pct max must be >= 0");
lock_max_multiplier = _lock_max_multiplier;
vefxs_max_multiplier = _vefxs_max_multiplier;
vefxs_per_frax_for_max_boost = _vefxs_per_frax_for_max_boost;
emitMaxVeFXSMultiplier(vefxs_max_multiplier);
emitLockedStakeMaxMultiplierUpdated(lock_max_multiplier);
emitveFXSPerFraxForMaxBoostUpdated(vefxs_per_frax_for_max_boost);
}
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function setLockedStakeTimeForMinAndMaxMultiplier(uint256_lock_time_for_max_multiplier, uint256_lock_time_min) external onlyByOwnGov {
require(_lock_time_for_max_multiplier >=1, "Mul max time must be >= 1");
require(_lock_time_min >=1, "Mul min time must be >= 1");
lock_time_for_max_multiplier = _lock_time_for_max_multiplier;
lock_time_min = _lock_time_min;
emitLockedStakeTimeForMaxMultiplier(lock_time_for_max_multiplier);
emitLockedStakeMinTime(_lock_time_min);
}
StakingRewards.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function setRewardsDuration(uint256_rewardsDuration) external onlyByOwnGov {
require(
periodFinish ==0||block.timestamp> periodFinish,
"Reward period incomplete"
);
rewardsDuration = _rewardsDuration;
emitRewardsDurationUpdated(rewardsDuration);
}
function name:setMultipliers event name:MaxCRBoostMultiplier LockedStakeMaxMultiplierUpdated variable:cr_boost_max_multiplier->_cr_boost_max_multiplier locked_stake_max_multiplier->_locked_stake_max_multiplier
function setMultipliers(uint256_locked_stake_max_multiplier, uint256_cr_boost_max_multiplier) external onlyByOwnGov {
require(_locked_stake_max_multiplier >=1, "Multiplier must be greater than or equal to 1");
require(_cr_boost_max_multiplier >=1, "Max CR Boost must be greater than or equal to 1");
locked_stake_max_multiplier = _locked_stake_max_multiplier;
cr_boost_max_multiplier = _cr_boost_max_multiplier;
emitMaxCRBoostMultiplier(cr_boost_max_multiplier);
emitLockedStakeMaxMultiplierUpdated(locked_stake_max_multiplier);
}
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:locked_stake_time_for_max_multiplier->_locked_stake_time_for_max_multiplier
StakingRewardsDualV2.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:MaxCRBoostMultiplier LockedStakeMaxMultiplierUpdated variable:cr_boost_max_multiplier->_cr_boost_max_multiplier locked_stake_max_multiplier->_locked_stake_max_multiplier
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:locked_stake_time_for_max_multiplier->_locked_stake_time_for_max_multiplier
veFXSYieldDistributorV3.sol function name:setYieldDuration event name:YieldDurationUpdated variable:yieldDuration->_yieldDuration
FraxUniV3Farm_Volatile.sol function name:setMultipliers event name:MaxVeFXSMultiplier LockedNFTMaxMultiplierUpdated veFXSPctForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name:setLockedNFTTimeForMinAndMaxMultiplier event name:LockedNFTTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
veFXSYieldDistributorV2.sol function name:setYieldDuration event name:YieldDurationUpdated variable:yieldDuration->_yieldDuration
StakingRewardsDualV4.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:MaxVeFXSMultiplier LockedStakeMaxMultiplierUpdated veFXSPerFraxForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
StakingRewardsDual.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:MaxCRBoostMultiplier LockedStakeMaxMultiplierUpdated variable:cr_boost_max_multiplier->_cr_boost_max_multiplier locked_stake_max_multiplier->_locked_stake_max_multiplier
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:locked_stake_time_for_max_multiplier->_locked_stake_time_for_max_multiplier
StakingRewardsDualV3.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:MaxVeFXSMultiplier LockedStakeMaxMultiplierUpdated veFXSPerFraxForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
FraxFarmBSC_Dual_V5.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:LockedStakeMaxMultiplierUpdated variable:lock_max_multiplier->_lock_max_multiplier
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
MigratableFarmBSC.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:LockedStakeMaxMultiplierUpdated variable:locked_stake_max_multiplier->_locked_stake_max_multiplier
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:locked_stake_time_for_max_multiplier->_locked_stake_time_for_max_multiplier
AnyswapV4ERC20.sol function name:changeVault event name:LogChangeVault variable:pendingVault->newVault
function name:changeMPCOwner event name:LogChangeMPCOwner variable:pendingVault->newVault
FraxCrossChainFarm.sol function name:setMultipliers event name:MaxVeFXSMultiplier LockedStakeMaxMultiplierUpdated veFXSPerFraxForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
FraxCrossChainFarmV2.sol function name:setMultipliers event name:MaxVeFXSMultiplier LockedStakeMaxMultiplierUpdated veFXSPerFraxForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
veFXSYieldDistributorV4.sol function name:setYieldDuration event name:YieldDurationUpdated variable:yieldDuration->_yieldDuration
CommunalFarm.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:LockedStakeMaxMultiplierUpdated variable:lock_max_multiplier->_lock_max_multiplier
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
FraxUniV3Farm_Stable.sol function name:setMultipliers event name:MaxVeFXSMultiplier LockedStakeMaxMultiplierUpdated veFXSPerFraxForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name:setLockedNFTTimeForMinAndMaxMultiplier event name:LockedNFTTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
StakingRewardsDualV5.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:MaxVeFXSMultiplier LockedStakeMaxMultiplierUpdated veFXSPerFraxForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
StakingRewardsMultiGauge.sol function name:setRewardsDuration event name:RewardsDurationUpdated variable:rewardsDuration->_rewardsDuration
function name:setMultipliers event name:MaxVeFXSMultiplier LockedStakeMaxMultiplierUpdated veFXSPerFraxForMaxBoostUpdated variable:vefxs_max_multiplier->_vefxs_max_multiplier lock_max_multiplier->_lock_max_multiplier vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name:setLockedStakeTimeForMinAndMaxMultiplier event name:LockedStakeTimeForMaxMultiplier variable:lock_time_for_max_multiplier->_lock_time_for_max_multiplier
celrFRAX.sol function name:updateBridge event name:BridgeUpdated variable:bridge->_bridge
AnyswapV5ERC20.sol function name:changeVault event name:LogChangeVault variable:pendingVault->newVault
function name:changeMPCOwner event name:LogChangeMPCOwner variable:pendingVault->newVault
celrFXS.sol function name:updateBridge event name:BridgeUpdated variable:bridge->_bridge
AnyswapV4ERC20.sol function name:changeVault event name:LogChangeVault variable:pendingVault->newVault
function name:changeMPCOwner event name:LogChangeMPCOwner variable:pendingVault->newVault
Do you find our results useful? Your reply and invaluable suggestions would be greatly appreciated, and are vital for improving our tool. Thanks a lot for your time!
The text was updated successfully, but these errors were encountered:
Hi, we recently have conducted a systematic study about Solidity event usage, evolution, and impact, and we are attempting to build a tool to improve the practice of Solidity event use based on our findings. We have tried our prototype tool on some of the most popular GitHub Solidity repositories, and for your repository, we find a potential optimization of gas consumption arisen from event use.
The point is that when we use emit operation to store the value of a certain variable, local memory type variable would be preferable to global storage type (state) variable if they hold the same value. The reason is that an extra SLOAD operation would be needed to access the variable if it is storage type, and the SLOAD operation costs 800 gas.
For your repository, we find that the following event use can be improved:
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
veFXSBoostScaleFactor
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
vefxs_boost_scale_factor->_vefxs_boost_scale_factor
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setYieldDuration
event name: YieldDurationUpdated
variable: yieldDuration->_yieldDuration
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: MaxCRBoostMultiplier
LockedStakeMaxMultiplierUpdated
variable: cr_boost_max_multiplier->_cr_boost_max_multiplier
locked_stake_max_multiplier->_locked_stake_max_multiplier
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: locked_stake_time_for_max_multiplier->_locked_stake_time_for_max_multiplier
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: MaxCRBoostMultiplier
LockedStakeMaxMultiplierUpdated
variable: cr_boost_max_multiplier->_cr_boost_max_multiplier
locked_stake_max_multiplier->_locked_stake_max_multiplier
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: locked_stake_time_for_max_multiplier->_locked_stake_time_for_max_multiplier
veFXSYieldDistributorV3.sol
function name: setYieldDuration
event name: YieldDurationUpdated
variable: yieldDuration->_yieldDuration
FraxUniV3Farm_Volatile.sol
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedNFTMaxMultiplierUpdated
veFXSPctForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedNFTTimeForMinAndMaxMultiplier
event name: LockedNFTTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
veFXSYieldDistributorV2.sol
function name: setYieldDuration
event name: YieldDurationUpdated
variable: yieldDuration->_yieldDuration
StakingRewardsDualV4.sol
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: MaxCRBoostMultiplier
LockedStakeMaxMultiplierUpdated
variable: cr_boost_max_multiplier->_cr_boost_max_multiplier
locked_stake_max_multiplier->_locked_stake_max_multiplier
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: locked_stake_time_for_max_multiplier->_locked_stake_time_for_max_multiplier
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: LockedStakeMaxMultiplierUpdated
variable: lock_max_multiplier->_lock_max_multiplier
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: LockedStakeMaxMultiplierUpdated
variable: locked_stake_max_multiplier->_locked_stake_max_multiplier
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: locked_stake_time_for_max_multiplier->_locked_stake_time_for_max_multiplier
function name: changeVault
event name: LogChangeVault
variable: pendingVault->newVault
function name: changeMPCOwner
event name: LogChangeMPCOwner
variable: pendingVault->newVault
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
veFXSYieldDistributorV4.sol
function name: setYieldDuration
event name: YieldDurationUpdated
variable: yieldDuration->_yieldDuration
CommunalFarm.sol
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: LockedStakeMaxMultiplierUpdated
variable: lock_max_multiplier->_lock_max_multiplier
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedNFTTimeForMinAndMaxMultiplier
event name: LockedNFTTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
function name: setPaused
event name: PauseChanged
variable: paused->_paused
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setRewardsDuration
event name: RewardsDurationUpdated
variable: rewardsDuration->_rewardsDuration
function name: setMultipliers
event name: MaxVeFXSMultiplier
LockedStakeMaxMultiplierUpdated
veFXSPerFraxForMaxBoostUpdated
variable: vefxs_max_multiplier->_vefxs_max_multiplier
lock_max_multiplier->_lock_max_multiplier
vefxs_per_frax_for_max_boost->_vefxs_per_frax_for_max_boost
function name: setLockedStakeTimeForMinAndMaxMultiplier
event name: LockedStakeTimeForMaxMultiplier
variable: lock_time_for_max_multiplier->_lock_time_for_max_multiplier
celrFRAX.sol
function name: updateBridge
event name: BridgeUpdated
variable: bridge->_bridge
AnyswapV5ERC20.sol
function name: changeVault
event name: LogChangeVault
variable: pendingVault->newVault
function name: changeMPCOwner
event name: LogChangeMPCOwner
variable: pendingVault->newVault
celrFXS.sol
function name: updateBridge
event name: BridgeUpdated
variable: bridge->_bridge
AnyswapV4ERC20.sol
function name: changeVault
event name: LogChangeVault
variable: pendingVault->newVault
function name: changeMPCOwner
event name: LogChangeMPCOwner
variable: pendingVault->newVault
Do you find our results useful? Your reply and invaluable suggestions would be greatly appreciated, and are vital for improving our tool. Thanks a lot for your time!
The text was updated successfully, but these errors were encountered: