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

@@ -50,6 +50,26 @@
"address": "0xb5Ddb2C45874f04aD0d48F3bB6b0748b1D06814C",
"txHash": "0x3754cb115281b8b3d1384e6c9fc5df43dca4875128ef8b34690a24a82b666e5f",
"kind": "uups"
},
{
"address": "0xDC2b9D97751be177108a9AD2758377EBd4bA7e74",
"txHash": "0x809c1cef770b4d92470d0c32eb3b95fc5f12a09b6a81fc4d74d39bb5ee01ab28",
"kind": "uups"
},
{
"address": "0xE82c7cB9CfA42D6eb7e443956b78f8290249c316",
"txHash": "0x483864261551c7961d1bd022ed6e3d9a7e2c2ca532645dc119e557c2d4a3a502",
"kind": "uups"
},
{
"address": "0x488409CE9A3Fcd8EbD373dCb7e025cF8AB96fcdc",
"txHash": "0xaae0de3172940a3e612bcf41a4d619a79dccee78035c84412fde5a421c1e6fdb",
"kind": "uups"
},
{
"address": "0xCb4E7B1069F6C26A1c27523ce4c8dfD884552d1D",
"txHash": "0xd8e891cd76057f51225dc839e7c4efb22959aad11e952b2b4f6fe2ca6de2bcca",
"kind": "uups"
}
],
"impls": {
@@ -2067,6 +2087,811 @@
]
}
}
},
"1c57a61daa38362f8650a87d125022acfc042841e807681a3ff096fcc0f087f1": {
"address": "0xa51409ad5B8Fa77aB7ab8221a5bD76fdF7077E08",
"txHash": "0xee1f2b05219ea5f953968b70c4b650cd80822f9ee7637631bd2f9f81acfb3f70",
"layout": {
"solcVersion": "0.8.28",
"storage": [
{
"label": "usdcAddress",
"offset": 0,
"slot": "0",
"type": "t_address",
"contract": "LendingPriceFeed",
"src": "contracts/ytLending/LendingPriceFeed.sol:10"
},
{
"label": "usdcPriceFeed",
"offset": 0,
"slot": "1",
"type": "t_contract(AggregatorV3Interface)45",
"contract": "LendingPriceFeed",
"src": "contracts/ytLending/LendingPriceFeed.sol:11"
}
],
"types": {
"t_address": {
"label": "address",
"numberOfBytes": "20"
},
"t_bool": {
"label": "bool",
"numberOfBytes": "1"
},
"t_struct(InitializableStorage)119_storage": {
"label": "struct Initializable.InitializableStorage",
"members": [
{
"label": "_initialized",
"type": "t_uint64",
"offset": 0,
"slot": "0"
},
{
"label": "_initializing",
"type": "t_bool",
"offset": 8,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_struct(OwnableStorage)59_storage": {
"label": "struct OwnableUpgradeable.OwnableStorage",
"members": [
{
"label": "_owner",
"type": "t_address",
"offset": 0,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_uint64": {
"label": "uint64",
"numberOfBytes": "8"
},
"t_contract(AggregatorV3Interface)45": {
"label": "contract AggregatorV3Interface",
"numberOfBytes": "20"
}
},
"namespaces": {
"erc7201:openzeppelin.storage.Ownable": [
{
"contract": "OwnableUpgradeable",
"label": "_owner",
"type": "t_address",
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:24",
"offset": 0,
"slot": "0"
}
],
"erc7201:openzeppelin.storage.Initializable": [
{
"contract": "Initializable",
"label": "_initialized",
"type": "t_uint64",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69",
"offset": 0,
"slot": "0"
},
{
"contract": "Initializable",
"label": "_initializing",
"type": "t_bool",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73",
"offset": 8,
"slot": "0"
}
]
}
}
},
"9b19ccc45a7019267570af10b3a1c7eec6cbf8cf5eaea36559198953d9fbb4df": {
"address": "0xB6c6A171C63Bd15B42f28C3207eb697F3c4d4606",
"txHash": "0xa78e922e78008ce7ab03fdfdf9eba07411dd5f53fd99fce6766744660323f5e9",
"layout": {
"solcVersion": "0.8.28",
"storage": [
{
"label": "factory",
"offset": 0,
"slot": "0",
"type": "t_mapping(t_address,t_address)",
"contract": "ConfiguratorStorage",
"src": "contracts/ytLending/ConfiguratorStorage.sol:12"
},
{
"label": "configuratorParams",
"offset": 0,
"slot": "1",
"type": "t_mapping(t_address,t_struct(Configuration)5720_storage)",
"contract": "ConfiguratorStorage",
"src": "contracts/ytLending/ConfiguratorStorage.sol:15"
},
{
"label": "__gap",
"offset": 0,
"slot": "2",
"type": "t_array(t_uint256)50_storage",
"contract": "Configurator",
"src": "contracts/ytLending/Configurator.sol:211"
}
],
"types": {
"t_address": {
"label": "address",
"numberOfBytes": "20"
},
"t_bool": {
"label": "bool",
"numberOfBytes": "1"
},
"t_struct(InitializableStorage)119_storage": {
"label": "struct Initializable.InitializableStorage",
"members": [
{
"label": "_initialized",
"type": "t_uint64",
"offset": 0,
"slot": "0"
},
{
"label": "_initializing",
"type": "t_bool",
"offset": 8,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_struct(OwnableStorage)59_storage": {
"label": "struct OwnableUpgradeable.OwnableStorage",
"members": [
{
"label": "_owner",
"type": "t_address",
"offset": 0,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_uint64": {
"label": "uint64",
"numberOfBytes": "8"
},
"t_array(t_struct(AssetConfig)5687_storage)dyn_storage": {
"label": "struct LendingConfiguration.AssetConfig[]",
"numberOfBytes": "32"
},
"t_array(t_uint256)50_storage": {
"label": "uint256[50]",
"numberOfBytes": "1600"
},
"t_mapping(t_address,t_address)": {
"label": "mapping(address => address)",
"numberOfBytes": "32"
},
"t_mapping(t_address,t_struct(Configuration)5720_storage)": {
"label": "mapping(address => struct LendingConfiguration.Configuration)",
"numberOfBytes": "32"
},
"t_struct(AssetConfig)5687_storage": {
"label": "struct LendingConfiguration.AssetConfig",
"members": [
{
"label": "asset",
"type": "t_address",
"offset": 0,
"slot": "0"
},
{
"label": "decimals",
"type": "t_uint8",
"offset": 20,
"slot": "0"
},
{
"label": "borrowCollateralFactor",
"type": "t_uint64",
"offset": 21,
"slot": "0"
},
{
"label": "liquidateCollateralFactor",
"type": "t_uint64",
"offset": 0,
"slot": "1"
},
{
"label": "liquidationFactor",
"type": "t_uint64",
"offset": 8,
"slot": "1"
},
{
"label": "supplyCap",
"type": "t_uint128",
"offset": 16,
"slot": "1"
}
],
"numberOfBytes": "64"
},
"t_struct(Configuration)5720_storage": {
"label": "struct LendingConfiguration.Configuration",
"members": [
{
"label": "baseToken",
"type": "t_address",
"offset": 0,
"slot": "0"
},
{
"label": "lendingPriceSource",
"type": "t_address",
"offset": 0,
"slot": "1"
},
{
"label": "supplyKink",
"type": "t_uint64",
"offset": 20,
"slot": "1"
},
{
"label": "supplyPerYearInterestRateSlopeLow",
"type": "t_uint64",
"offset": 0,
"slot": "2"
},
{
"label": "supplyPerYearInterestRateSlopeHigh",
"type": "t_uint64",
"offset": 8,
"slot": "2"
},
{
"label": "supplyPerYearInterestRateBase",
"type": "t_uint64",
"offset": 16,
"slot": "2"
},
{
"label": "borrowKink",
"type": "t_uint64",
"offset": 24,
"slot": "2"
},
{
"label": "borrowPerYearInterestRateSlopeLow",
"type": "t_uint64",
"offset": 0,
"slot": "3"
},
{
"label": "borrowPerYearInterestRateSlopeHigh",
"type": "t_uint64",
"offset": 8,
"slot": "3"
},
{
"label": "borrowPerYearInterestRateBase",
"type": "t_uint64",
"offset": 16,
"slot": "3"
},
{
"label": "storeFrontPriceFactor",
"type": "t_uint64",
"offset": 24,
"slot": "3"
},
{
"label": "trackingIndexScale",
"type": "t_uint64",
"offset": 0,
"slot": "4"
},
{
"label": "baseBorrowMin",
"type": "t_uint104",
"offset": 8,
"slot": "4"
},
{
"label": "targetReserves",
"type": "t_uint104",
"offset": 0,
"slot": "5"
},
{
"label": "assetConfigs",
"type": "t_array(t_struct(AssetConfig)5687_storage)dyn_storage",
"offset": 0,
"slot": "6"
}
],
"numberOfBytes": "224"
},
"t_uint104": {
"label": "uint104",
"numberOfBytes": "13"
},
"t_uint128": {
"label": "uint128",
"numberOfBytes": "16"
},
"t_uint256": {
"label": "uint256",
"numberOfBytes": "32"
},
"t_uint8": {
"label": "uint8",
"numberOfBytes": "1"
}
},
"namespaces": {
"erc7201:openzeppelin.storage.Ownable": [
{
"contract": "OwnableUpgradeable",
"label": "_owner",
"type": "t_address",
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:24",
"offset": 0,
"slot": "0"
}
],
"erc7201:openzeppelin.storage.Initializable": [
{
"contract": "Initializable",
"label": "_initialized",
"type": "t_uint64",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69",
"offset": 0,
"slot": "0"
},
{
"contract": "Initializable",
"label": "_initializing",
"type": "t_bool",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73",
"offset": 8,
"slot": "0"
}
]
}
}
},
"75f45941512afb9c219db09e2571576c528a5f4b3faa5a64a64d1a988c7ebf8e": {
"address": "0x5beA465c4F8882a09F3F1f258464988b9BbfCDBd",
"txHash": "0xebf1a659f8107a79649ca49267ce1211c1a9b7363328b5b58060c2e1373aead9",
"layout": {
"solcVersion": "0.8.28",
"storage": [
{
"label": "baseToken",
"offset": 0,
"slot": "0",
"type": "t_address",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:14"
},
{
"label": "lendingPriceSource",
"offset": 0,
"slot": "1",
"type": "t_address",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:14"
},
{
"label": "supplyKink",
"offset": 20,
"slot": "1",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:18"
},
{
"label": "supplyPerSecondInterestRateSlopeLow",
"offset": 0,
"slot": "2",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:19"
},
{
"label": "supplyPerSecondInterestRateSlopeHigh",
"offset": 8,
"slot": "2",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:20"
},
{
"label": "supplyPerSecondInterestRateBase",
"offset": 16,
"slot": "2",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:22"
},
{
"label": "borrowKink",
"offset": 24,
"slot": "2",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:23"
},
{
"label": "borrowPerSecondInterestRateSlopeLow",
"offset": 0,
"slot": "3",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:24"
},
{
"label": "borrowPerSecondInterestRateSlopeHigh",
"offset": 8,
"slot": "3",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:25"
},
{
"label": "borrowPerSecondInterestRateBase",
"offset": 16,
"slot": "3",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:28"
},
{
"label": "storeFrontPriceFactor",
"offset": 24,
"slot": "3",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:29"
},
{
"label": "trackingIndexScale",
"offset": 0,
"slot": "4",
"type": "t_uint64",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:31"
},
{
"label": "baseBorrowMin",
"offset": 8,
"slot": "4",
"type": "t_uint104",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:33"
},
{
"label": "targetReserves",
"offset": 0,
"slot": "5",
"type": "t_uint104",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:34"
},
{
"label": "assetConfigs",
"offset": 0,
"slot": "6",
"type": "t_mapping(t_address,t_struct(AssetConfig)5687_storage)",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:35"
},
{
"label": "assetList",
"offset": 0,
"slot": "7",
"type": "t_array(t_address)dyn_storage",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:39"
},
{
"label": "userBasic",
"offset": 0,
"slot": "8",
"type": "t_mapping(t_address,t_struct(UserBasic)6372_storage)",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:44"
},
{
"label": "userCollateral",
"offset": 0,
"slot": "9",
"type": "t_mapping(t_address,t_mapping(t_address,t_uint256))",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:48"
},
{
"label": "totalSupplyBase",
"offset": 0,
"slot": "10",
"type": "t_uint104",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:53"
},
{
"label": "totalBorrowBase",
"offset": 13,
"slot": "10",
"type": "t_uint104",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:55"
},
{
"label": "supplyIndex",
"offset": 0,
"slot": "11",
"type": "t_uint256",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:56"
},
{
"label": "borrowIndex",
"offset": 0,
"slot": "12",
"type": "t_uint256",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:57"
},
{
"label": "lastAccrualTime",
"offset": 0,
"slot": "13",
"type": "t_uint256",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:57"
},
{
"label": "collateralReserves",
"offset": 0,
"slot": "14",
"type": "t_mapping(t_address,t_uint256)",
"contract": "LendingStorage",
"src": "contracts/ytLending/LendingStorage.sol:60"
},
{
"label": "__gap",
"offset": 0,
"slot": "15",
"type": "t_array(t_uint256)50_storage",
"contract": "Lending",
"src": "contracts/ytLending/Lending.sol:684"
}
],
"types": {
"t_address": {
"label": "address",
"numberOfBytes": "20"
},
"t_bool": {
"label": "bool",
"numberOfBytes": "1"
},
"t_struct(InitializableStorage)119_storage": {
"label": "struct Initializable.InitializableStorage",
"members": [
{
"label": "_initialized",
"type": "t_uint64",
"offset": 0,
"slot": "0"
},
{
"label": "_initializing",
"type": "t_bool",
"offset": 8,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_struct(OwnableStorage)59_storage": {
"label": "struct OwnableUpgradeable.OwnableStorage",
"members": [
{
"label": "_owner",
"type": "t_address",
"offset": 0,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_struct(PausableStorage)270_storage": {
"label": "struct PausableUpgradeable.PausableStorage",
"members": [
{
"label": "_paused",
"type": "t_bool",
"offset": 0,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_struct(ReentrancyGuardStorage)334_storage": {
"label": "struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage",
"members": [
{
"label": "_status",
"type": "t_uint256",
"offset": 0,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_uint256": {
"label": "uint256",
"numberOfBytes": "32"
},
"t_uint64": {
"label": "uint64",
"numberOfBytes": "8"
},
"t_array(t_address)dyn_storage": {
"label": "address[]",
"numberOfBytes": "32"
},
"t_array(t_uint256)50_storage": {
"label": "uint256[50]",
"numberOfBytes": "1600"
},
"t_int104": {
"label": "int104",
"numberOfBytes": "13"
},
"t_mapping(t_address,t_mapping(t_address,t_uint256))": {
"label": "mapping(address => mapping(address => uint256))",
"numberOfBytes": "32"
},
"t_mapping(t_address,t_struct(AssetConfig)5687_storage)": {
"label": "mapping(address => struct LendingConfiguration.AssetConfig)",
"numberOfBytes": "32"
},
"t_mapping(t_address,t_struct(UserBasic)6372_storage)": {
"label": "mapping(address => struct LendingStorage.UserBasic)",
"numberOfBytes": "32"
},
"t_mapping(t_address,t_uint256)": {
"label": "mapping(address => uint256)",
"numberOfBytes": "32"
},
"t_struct(AssetConfig)5687_storage": {
"label": "struct LendingConfiguration.AssetConfig",
"members": [
{
"label": "asset",
"type": "t_address",
"offset": 0,
"slot": "0"
},
{
"label": "decimals",
"type": "t_uint8",
"offset": 20,
"slot": "0"
},
{
"label": "borrowCollateralFactor",
"type": "t_uint64",
"offset": 21,
"slot": "0"
},
{
"label": "liquidateCollateralFactor",
"type": "t_uint64",
"offset": 0,
"slot": "1"
},
{
"label": "liquidationFactor",
"type": "t_uint64",
"offset": 8,
"slot": "1"
},
{
"label": "supplyCap",
"type": "t_uint128",
"offset": 16,
"slot": "1"
}
],
"numberOfBytes": "64"
},
"t_struct(UserBasic)6372_storage": {
"label": "struct LendingStorage.UserBasic",
"members": [
{
"label": "principal",
"type": "t_int104",
"offset": 0,
"slot": "0"
}
],
"numberOfBytes": "32"
},
"t_uint104": {
"label": "uint104",
"numberOfBytes": "13"
},
"t_uint128": {
"label": "uint128",
"numberOfBytes": "16"
},
"t_uint8": {
"label": "uint8",
"numberOfBytes": "1"
}
},
"namespaces": {
"erc7201:openzeppelin.storage.ReentrancyGuard": [
{
"contract": "ReentrancyGuardUpgradeable",
"label": "_status",
"type": "t_uint256",
"src": "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol:43",
"offset": 0,
"slot": "0"
}
],
"erc7201:openzeppelin.storage.Pausable": [
{
"contract": "PausableUpgradeable",
"label": "_paused",
"type": "t_bool",
"src": "@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol:21",
"offset": 0,
"slot": "0"
}
],
"erc7201:openzeppelin.storage.Ownable": [
{
"contract": "OwnableUpgradeable",
"label": "_owner",
"type": "t_address",
"src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:24",
"offset": 0,
"slot": "0"
}
],
"erc7201:openzeppelin.storage.Initializable": [
{
"contract": "Initializable",
"label": "_initialized",
"type": "t_uint64",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69",
"offset": 0,
"slot": "0"
},
{
"contract": "Initializable",
"label": "_initializing",
"type": "t_bool",
"src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73",
"offset": 8,
"slot": "0"
}
]
}
}
}
}
}