ytLending supports USDC as the base token

This commit is contained in:
2025-12-26 13:23:50 +08:00
parent e21ee7a5df
commit 9a92c81aec
37 changed files with 4298 additions and 3064 deletions

View File

@@ -156,7 +156,7 @@ contract Lending is
function supply(uint256 amount) external override nonReentrant whenNotPaused {
accrueInterest();
IERC20(baseToken).safeTransferFrom(msg.sender, address(this), amount);
IERC20(baseToken).transferFrom(msg.sender, address(this), amount);
// 获取用户当前本金
UserBasic memory user = userBasic[msg.sender];
@@ -240,7 +240,7 @@ contract Lending is
uint256 newTotal = userCollateral[msg.sender][asset] + amount;
if (newTotal > config.supplyCap) revert SupplyCapExceeded();
IERC20(asset).safeTransferFrom(msg.sender, address(this), amount);
IERC20(asset).transferFrom(msg.sender, address(this), amount);
userCollateral[msg.sender][asset] += amount;
@@ -440,7 +440,7 @@ contract Lending is
if (collateralAmount > collateralReserves[asset]) revert InsufficientBalance();
// 收取清算人支付的资金
IERC20(baseToken).safeTransferFrom(msg.sender, address(this), baseAmount);
IERC20(baseToken).transferFrom(msg.sender, address(this), baseAmount);
// 抵押品出库
collateralReserves[asset] -= collateralAmount;
@@ -673,5 +673,11 @@ contract Lending is
emit WithdrawReserves(to, amount);
}
/**
* @dev 预留存储空间,用于未来升级时添加新的状态变量
* 50个slot = 50 * 32 bytes = 1600 bytes
*/
uint256[50] private __gap;
}