update
This commit is contained in:
@@ -77,6 +77,12 @@ contract YTPriceFeed is Initializable, UUPSUpgradeable {
|
||||
priceStalenesThreshold = 3600; // 默认1小时
|
||||
}
|
||||
|
||||
/**
|
||||
* @notice 授权升级(仅gov可调用)
|
||||
* @param newImplementation 新实现合约地址
|
||||
*/
|
||||
function _authorizeUpgrade(address newImplementation) internal override onlyGov {}
|
||||
|
||||
/**
|
||||
* @notice 设置USDC地址
|
||||
* @param _usdcAddress USDC地址
|
||||
@@ -94,12 +100,6 @@ contract YTPriceFeed is Initializable, UUPSUpgradeable {
|
||||
usdcPriceFeed = AggregatorV3Interface(_usdcPriceFeed);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notice 授权升级(仅gov可调用)
|
||||
* @param newImplementation 新实现合约地址
|
||||
*/
|
||||
function _authorizeUpgrade(address newImplementation) internal override onlyGov {}
|
||||
|
||||
/**
|
||||
* @notice 设置keeper权限
|
||||
* @param _keeper keeper地址
|
||||
|
||||
@@ -203,17 +203,7 @@ contract YTVault is Initializable, UUPSUpgradeable, ReentrancyGuardUpgradeable {
|
||||
maxUsdyAmounts[_token] = _maxUsdyAmount;
|
||||
stableTokens[_token] = _isStable;
|
||||
}
|
||||
|
||||
function clearWhitelistedToken(address _token) external onlyGov {
|
||||
if (!whitelistedTokens[_token]) revert TokenNotWhitelisted();
|
||||
totalTokenWeights = totalTokenWeights - tokenWeights[_token];
|
||||
delete whitelistedTokens[_token];
|
||||
delete stableTokens[_token];
|
||||
delete tokenDecimals[_token];
|
||||
delete tokenWeights[_token];
|
||||
delete maxUsdyAmounts[_token];
|
||||
}
|
||||
|
||||
|
||||
function setSwapFees(
|
||||
uint256 _swapFee,
|
||||
uint256 _stableSwapFee,
|
||||
@@ -241,12 +231,6 @@ contract YTVault is Initializable, UUPSUpgradeable, ReentrancyGuardUpgradeable {
|
||||
emit SwapEnabledSet(_isSwapEnabled);
|
||||
}
|
||||
|
||||
function withdrawToken(address _token, address _receiver, uint256 _amount) external onlyGov {
|
||||
if (!emergencyMode) revert NotInEmergency();
|
||||
IERC20(_token).safeTransfer(_receiver, _amount);
|
||||
_updateTokenBalance(_token);
|
||||
}
|
||||
|
||||
function setMaxSwapSlippageBps(uint256 _slippageBps) external onlyGov {
|
||||
if (_slippageBps > 2000) revert SlippageTooHigh(); // 最大20%
|
||||
maxSwapSlippageBps = _slippageBps;
|
||||
@@ -406,6 +390,22 @@ contract YTVault is Initializable, UUPSUpgradeable, ReentrancyGuardUpgradeable {
|
||||
|
||||
return amountOutAfterFees;
|
||||
}
|
||||
|
||||
function clearWhitelistedToken(address _token) external onlyGov {
|
||||
if (!whitelistedTokens[_token]) revert TokenNotWhitelisted();
|
||||
totalTokenWeights = totalTokenWeights - tokenWeights[_token];
|
||||
delete whitelistedTokens[_token];
|
||||
delete stableTokens[_token];
|
||||
delete tokenDecimals[_token];
|
||||
delete tokenWeights[_token];
|
||||
delete maxUsdyAmounts[_token];
|
||||
}
|
||||
|
||||
function withdrawToken(address _token, address _receiver, uint256 _amount) external onlyGov {
|
||||
if (!emergencyMode) revert NotInEmergency();
|
||||
IERC20(_token).safeTransfer(_receiver, _amount);
|
||||
_updateTokenBalance(_token);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notice 获取代币价格(带价差)
|
||||
|
||||
Reference in New Issue
Block a user