fluid-contracts-public/deployments/arbitrum/LiquidityResolver.json

2643 lines
287 KiB
JSON
Raw Permalink Normal View History

{
"address": "0x46859d33E662d4bF18eEED88f74C36256E606e44",
"abi": [
{
"inputs": [
{
"internalType": "contract IFluidLiquidity",
"name": "liquidity_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "errorId_",
"type": "uint256"
}
],
"name": "FluidLiquidityCalcsError",
"type": "error"
},
{
"inputs": [],
"name": "FluidLiquidityResolver__AddressZero",
"type": "error"
},
{
"inputs": [],
"name": "LIQUIDITY",
"outputs": [
{
"internalType": "contract IFluidLiquidity",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAllOverallTokensData",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData[]",
"name": "overallTokensData_",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getConfigs2",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getExchangePricesAndConfig",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getOverallTokenData",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData",
"name": "overallTokenData_",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "tokens_",
"type": "address[]"
}
],
"name": "getOverallTokensData",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData[]",
"name": "overallTokensData_",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getRateConfig",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getRevenue",
"outputs": [
{
"internalType": "uint256",
"name": "revenueAmount_",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRevenueCollector",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getStatus",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getTokenRateData",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData_",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "tokens_",
"type": "address[]"
}
],
"name": "getTokensRateData",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData[]",
"name": "rateDatas_",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getTotalAmounts",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user_",
"type": "address"
},
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getUserBorrow",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user_",
"type": "address"
},
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getUserBorrowData",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "modeWithInterest",
"type": "bool"
},
{
"internalType": "uint256",
"name": "borrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandPercent",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandDuration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseBorrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxBorrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowableUntilLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowable",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowLimitUtilization",
"type": "uint256"
}
],
"internalType": "struct Structs.UserBorrowData",
"name": "userBorrowData_",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData",
"name": "overallTokenData_",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user_",
"type": "address"
}
],
"name": "getUserClass",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user_",
"type": "address"
},
{
"internalType": "address[]",
"name": "tokens_",
"type": "address[]"
}
],
"name": "getUserMultipleBorrowData",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "modeWithInterest",
"type": "bool"
},
{
"internalType": "uint256",
"name": "borrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandPercent",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandDuration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseBorrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxBorrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowableUntilLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowable",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowLimitUtilization",
"type": "uint256"
}
],
"internalType": "struct Structs.UserBorrowData[]",
"name": "userBorrowingsData_",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData[]",
"name": "overallTokensData_",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user_",
"type": "address"
},
{
"internalType": "address[]",
"name": "supplyTokens_",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "borrowTokens_",
"type": "address[]"
}
],
"name": "getUserMultipleBorrowSupplyData",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "modeWithInterest",
"type": "bool"
},
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawalLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandPercent",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandDuration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseWithdrawalLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawableUntilLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawable",
"type": "uint256"
}
],
"internalType": "struct Structs.UserSupplyData[]",
"name": "userSuppliesData_",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData[]",
"name": "overallSupplyTokensData_",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "bool",
"name": "modeWithInterest",
"type": "bool"
},
{
"internalType": "uint256",
"name": "borrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandPercent",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandDuration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseBorrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxBorrowLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowableUntilLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowable",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowLimitUtilization",
"type": "uint256"
}
],
"internalType": "struct Structs.UserBorrowData[]",
"name": "userBorrowingsData_",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData[]",
"name": "overallBorrowTokensData_",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user_",
"type": "address"
},
{
"internalType": "address[]",
"name": "tokens_",
"type": "address[]"
}
],
"name": "getUserMultipleSupplyData",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "modeWithInterest",
"type": "bool"
},
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawalLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandPercent",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandDuration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseWithdrawalLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawableUntilLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawable",
"type": "uint256"
}
],
"internalType": "struct Structs.UserSupplyData[]",
"name": "userSuppliesData_",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData[]",
"name": "overallTokensData_",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user_",
"type": "address"
},
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getUserSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "user_",
"type": "address"
},
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getUserSupplyData",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "modeWithInterest",
"type": "bool"
},
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawalLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandPercent",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "expandDuration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseWithdrawalLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawableUntilLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "withdrawable",
"type": "uint256"
}
],
"internalType": "struct Structs.UserSupplyData",
"name": "userSupplyData_",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "borrowRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastStoredUtilization",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "storageUpdateThreshold",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "lastUpdateTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowExchangePrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "supplyInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowRawInterest",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "borrowInterestFree",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSupply",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalBorrow",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "revenue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxUtilization",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "version",
"type": "uint256"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV1Params",
"name": "rateDataV1",
"type": "tuple"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "kink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "kink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationZero",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink1",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationKink2",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "rateAtUtilizationMax",
"type": "uint256"
}
],
"internalType": "struct Structs.RateDataV2Params",
"name": "rateDataV2",
"type": "tuple"
}
],
"internalType": "struct Structs.RateData",
"name": "rateData",
"type": "tuple"
}
],
"internalType": "struct Structs.OverallTokenData",
"name": "overallTokenData_",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "auth_",
"type": "address"
}
],
"name": "isAuth",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "guardian_",
"type": "address"
}
],
"name": "isGuardian",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "listedTokens",
"outputs": [
{
"internalType": "address[]",
"name": "listedTokens_",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
}
],
"transactionHash": "0xcc4fa5247cb824e11c07596ddbee6ef472e374910384cccada7f7f83049b9902",
"receipt": {
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
"from": "0x0Ed35B1609Ec45c7079E80d11149a52717e4859A",
"contractAddress": null,
"transactionIndex": 8,
"gasUsed": "3867892",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0xc8f72925c048cd858fc684a371544ac4b4ac77d0bede86764131e6eb12ea2c51",
"transactionHash": "0xcc4fa5247cb824e11c07596ddbee6ef472e374910384cccada7f7f83049b9902",
"logs": [],
"blockNumber": 220375236,
"cumulativeGasUsed": "5782775",
"status": 1,
"byzantium": true
},
"args": [
"0x52Aa899454998Be5b000Ad077a46Bbe360F4e497"
],
"numDeployments": 1,
"solcInputHash": "1989963ad64c4704dbe1170530c79d20",
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IFluidLiquidity\",\"name\":\"liquidity_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorId_\",\"type\":\"uint256\"}],\"name\":\"FluidLiquidityCalcsError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FluidLiquidityResolver__AddressZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LIQUIDITY\",\"outputs\":[{\"internalType\":\"contract IFluidLiquidity\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllOverallTokensData\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"borrowRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastStoredUtilization\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"storageUpdateThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdateTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyExchangePrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrowExchangePrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyRawInterest\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"supplyInterestFree\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrowRawInterest\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrowInterestFree\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalBorrow\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"revenue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxUtilization\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"kink\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationZero\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationKink\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationMax\",\"type\":\"uint256\"}],\"internalType\":\"struct Structs.RateDataV1Params\",\"name\":\"rateDataV1\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"kink1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"kink2\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationZero\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationKink1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationKink2\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"rateAtUtilizationMax\",\"type\":\"uint256\"}],\"internalType\":\"struct Structs.RateDataV2Params\",\"name\":\"rateDataV2\",\"type\":\"tuple\"}],\"internalType\":\"struct Structs.RateData\",\"name\":\"rateData\",\"type\":\"tuple\"}],\"internalType\":\"struct Structs.OverallTokenData[]\",\"name\":\"overallTokensData_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"name\":\"getConfigs2\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"name\":\"getExchangePricesAndConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\
"bytecode": "0x60a06040523480156200001157600080fd5b506040516200355c3803806200355c833981016040819052620000349162000068565b6001600160a01b03811660808190526200006157604051630dd6e9eb60e41b815260040160405180910390fd5b506200009a565b6000602082840312156200007b57600080fd5b81516001600160a01b03811681146200009357600080fd5b9392505050565b6080516134216200013b6000396000818161022f01528181610456015281816108060152818161087a01528181610b5701528181610c7a01528181610d3e01528181610e5801528181610f800152818161100c01528181611080015281816110f4015281816111910152818161120b01528181611556015281816115d001528181611bd101528181611e7d01528181611ef70152611fc501526134216000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c80634e69d560116100e3578063b3fc48bc1161008c578063cdb5964411610066578063cdb59644146103c7578063e72ef91b146103da578063ee9e836d146103fb57600080fd5b8063b3fc48bc14610370578063b505b75014610393578063cd4a7e14146103b457600080fd5b80636e938406116100bd5780636e9384061461032957806385b670951461033c578063967915d61461034f57600080fd5b80634e69d560146102fb57806360fed05f14610303578063672694891461031657600080fd5b806329e04fbf1161014557806334a2e6591161011f57806334a2e659146102c957806336ebf76c146102d15780634a3d6bda146102e657600080fd5b806329e04fbf146102765780632b001833146102965780632b66fc05146102a957600080fd5b80631f735227116101765780631f735227146102045780632520e7ff146102175780632861c7d11461022a57600080fd5b80630c68ba211461019d57806314c0ac36146101c35780631dacf037146101e4575b600080fd5b6101b06101ab36600461259f565b61040e565b6040519081526020015b60405180910390f35b6101d66101d1366004612606565b6104e3565b6040516101ba929190612874565b6101f76101f236600461259f565b610667565b6040516101ba91906128a2565b6101b061021236600461259f565b6107be565b6101b061022536600461259f565b610832565b6102517f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ba565b61028961028436600461259f565b6108a6565b6040516101ba9190612952565b6101b06102a436600461259f565b610b0f565b6102bc6102b7366004612aa1565b610b83565b6040516101ba9190612ae3565b610251610c48565b6102d9610d00565b6040516101ba9190612bd3565b6102ee610d09565b6040516101ba9190612be6565b6101b0610f4e565b6101b061031136600461259f565b610fc4565b6101b061032436600461259f565b611038565b6101b061033736600461259f565b6110ac565b6101b061034a36600461259f565b611120565b61036261035d366004612c34565b61127e565b6040516101ba929190612c67565b61038361037e366004612e36565b611634565b6040516101ba9493929190612f61565b6103a66103a1366004612606565b611931565b6040516101ba929190612fb9565b6102d96103c2366004612ffb565b611aa4565b6101b06103d5366004612c34565b611b62565b6103ed6103e8366004612c34565b611c5f565b6040516101ba9291906130de565b6101b0610409366004612c34565b611f56565b6040805173ffffffffffffffffffffffffffffffffffffffff8381166020808401919091526003838501528351808403850181526060909301909352815191909201206000917f0000000000000000000000000000000000000000000000000000000000000000169063b5c736e4905b6040518263ffffffff1660e01b815260040161049c91815260200190565b602060405180830381865afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190613295565b92915050565b606080828067ffffffffffffffff81111561050057610500612fcc565b60405190808252806020026020018201604052801561058257816020015b61056f60405180610120016040528060001515815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b81526020019060019003908161051e5790505b5092508067ffffffffffffffff81111561059e5761059e612fcc565b6040519080825280602002602001820160405280156105d757816020015b6105c4612438565b8152602001906001900390816105bc5790505b50915060005b8181101561065d57610610878787848181106105fb576105fb6132ae565b90506020020160208101906103e8919061259f565b858381518110610622576106226132ae565b6020026020010185848151811061063b5761063b6132ae565b60200260200101829052829052505080806106559061330c565b9150506105dd565b5050935093915050565b61066f6124c1565b600061067a83610fc4565b600f81168084529091506001036106d7576020828101805161ffff600485901c81166040909201919091528151601485901c82169301929092528051602484901c
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101985760003560e01c80634e69d560116100e3578063b3fc48bc1161008c578063cdb5964411610066578063cdb59644146103c7578063e72ef91b146103da578063ee9e836d146103fb57600080fd5b8063b3fc48bc14610370578063b505b75014610393578063cd4a7e14146103b457600080fd5b80636e938406116100bd5780636e9384061461032957806385b670951461033c578063967915d61461034f57600080fd5b80634e69d560146102fb57806360fed05f14610303578063672694891461031657600080fd5b806329e04fbf1161014557806334a2e6591161011f57806334a2e659146102c957806336ebf76c146102d15780634a3d6bda146102e657600080fd5b806329e04fbf146102765780632b001833146102965780632b66fc05146102a957600080fd5b80631f735227116101765780631f735227146102045780632520e7ff146102175780632861c7d11461022a57600080fd5b80630c68ba211461019d57806314c0ac36146101c35780631dacf037146101e4575b600080fd5b6101b06101ab36600461259f565b61040e565b6040519081526020015b60405180910390f35b6101d66101d1366004612606565b6104e3565b6040516101ba929190612874565b6101f76101f236600461259f565b610667565b6040516101ba91906128a2565b6101b061021236600461259f565b6107be565b6101b061022536600461259f565b610832565b6102517f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ba565b61028961028436600461259f565b6108a6565b6040516101ba9190612952565b6101b06102a436600461259f565b610b0f565b6102bc6102b7366004612aa1565b610b83565b6040516101ba9190612ae3565b610251610c48565b6102d9610d00565b6040516101ba9190612bd3565b6102ee610d09565b6040516101ba9190612be6565b6101b0610f4e565b6101b061031136600461259f565b610fc4565b6101b061032436600461259f565b611038565b6101b061033736600461259f565b6110ac565b6101b061034a36600461259f565b611120565b61036261035d366004612c34565b61127e565b6040516101ba929190612c67565b61038361037e366004612e36565b611634565b6040516101ba9493929190612f61565b6103a66103a1366004612606565b611931565b6040516101ba929190612fb9565b6102d96103c2366004612ffb565b611aa4565b6101b06103d5366004612c34565b611b62565b6103ed6103e8366004612c34565b611c5f565b6040516101ba9291906130de565b6101b0610409366004612c34565b611f56565b6040805173ffffffffffffffffffffffffffffffffffffffff8381166020808401919091526003838501528351808403850181526060909301909352815191909201206000917f0000000000000000000000000000000000000000000000000000000000000000169063b5c736e4905b6040518263ffffffff1660e01b815260040161049c91815260200190565b602060405180830381865afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190613295565b92915050565b606080828067ffffffffffffffff81111561050057610500612fcc565b60405190808252806020026020018201604052801561058257816020015b61056f60405180610120016040528060001515815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b81526020019060019003908161051e5790505b5092508067ffffffffffffffff81111561059e5761059e612fcc565b6040519080825280602002602001820160405280156105d757816020015b6105c4612438565b8152602001906001900390816105bc5790505b50915060005b8181101561065d57610610878787848181106105fb576105fb6132ae565b90506020020160208101906103e8919061259f565b858381518110610622576106226132ae565b6020026020010185848151811061063b5761063b6132ae565b60200260200101829052829052505080806106559061330c565b9150506105dd565b5050935093915050565b61066f6124c1565b600061067a83610fc4565b600f81168084529091506001036106d7576020828101805161ffff600485901c81166040909201919091528151601485901c82169301929092528051602484901c831660609091015251603483901c9091166080909101526107b8565b815160020361074a576040828101805161ffff600485901c81166060909201919091528151601485901c82166020909101528151602485901c82166080909101528151603485901c82169301929092528051604484901c831660a09091015251605483901c90911660c0909101526107b8565b8151156107b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6e6f742d76616c69642d726174652d76657273696f6e0000000000000000000060448201526064015b60405180910390fd5b50919050565b6040805173ffffffffffffffffffffffffffffffffffffffff838116602080840191909152600483850152835180840385018152
"devdoc": {
"kind": "dev",
"methods": {},
"stateVariables": {
"_NATIVE_TOKEN_ADDRESS": {
"details": "address that is mapped to the chain native token"
}
},
"version": 1
},
"userdoc": {
"errors": {
"FluidLiquidityResolver__AddressZero()": [
{
"notice": "thrown if an input param address is zero"
}
]
},
"kind": "user",
"methods": {
"LIQUIDITY()": {
"notice": "address of the liquidity contract"
},
"getAllOverallTokensData()": {
"notice": "returns general data for all `listedTokens()` such as rates, exchange prices, utilization, fee, total amounts etc."
},
"getConfigs2(address)": {
"notice": "gets configs2 packed uint256 storage slot for `token_`."
},
"getExchangePricesAndConfig(address)": {
"notice": "gets exchangePricesAndConfig packed uint256 storage slot for `token_`."
},
"getOverallTokenData(address)": {
"notice": "returns general data for `token_` such as rates, exchange prices, utilization, fee, total amounts etc."
},
"getOverallTokensData(address[])": {
"notice": "returns general data for multiple `tokens_` such as rates, exchange prices, utilization, fee, total amounts etc."
},
"getRateConfig(address)": {
"notice": "gets rateConfig packed uint256 storage slot for `token_`."
},
"getRevenue(address)": {
"notice": "gets the `revenueAmount_` for a `token_`."
},
"getRevenueCollector()": {
"notice": "address of contract that gets sent the revenue. Configurable by governance"
},
"getStatus()": {
"notice": "Liquidity contract paused status: status = 1 -> normal. status = 2 -> paused."
},
"getTokenRateData(address)": {
"notice": "get the Rate config data `rateData_` for a `token_` compiled from the packed uint256 rateConfig storage slot"
},
"getTokensRateData(address[])": {
"notice": "get the Rate config datas `rateDatas_` for multiple `tokens_` compiled from the packed uint256 rateConfig storage slot"
},
"getTotalAmounts(address)": {
"notice": "gets totalAmounts packed uint256 storage slot for `token_`."
},
"getUserBorrow(address,address)": {
"notice": "gets userBorrow data packed uint256 storage slot for `user_` and `token_`."
},
"getUserBorrowData(address,address)": {
"notice": "returns `user_` borrow data and general data (such as rates, exchange prices, utilization, fee, total amounts etc.) for `token_`"
},
"getUserClass(address)": {
"notice": "gets user class for `user_`. Class defines which protocols can be paused by guardians. Currently there are 2 classes: 0 can be paused by guardians. 1 cannot be paused by guardians. New protocols are added as class 0 and will be upgraded to 1 over time."
},
"getUserMultipleBorrowData(address,address[])": {
"notice": "returns `user_` borrow data and general data (such as rates, exchange prices, utilization, fee, total amounts etc.) for multiple `tokens_`"
},
"getUserMultipleBorrowSupplyData(address,address[],address[])": {
"notice": "returns `user_` supply data and general data (such as rates, exchange prices, utilization, fee, total amounts etc.) for multiple `supplyTokens_` and returns `user_` borrow data and general data (such as rates, exchange prices, utilization, fee, total amounts etc.) for multiple `borrowTokens_`"
},
"getUserMultipleSupplyData(address,address[])": {
"notice": "returns `user_` supply data and general data (such as rates, exchange prices, utilization, fee, total amounts etc.) for multiple `tokens_`"
},
"getUserSupply(address,address)": {
"notice": "gets userSupply data packed uint256 storage slot for `user_` and `token_`."
},
"getUserSupplyData(address,address)": {
"notice": "returns `user_` supply data and general data (such as rates, exchange prices, utilization, fee, total amounts etc.) for `token_`"
},
"isAuth(address)": {
"notice": "checks if `auth_` is an allowed auth on Liquidity. Auths can set most config values. E.g. contracts that automate certain flows like e.g. adding a new fToken. Governance can add/remove auths. Governance is auth by default."
},
"isGuardian(address)": {
"notice": "checks if `guardian_` is an allowed Guardian on Liquidity. Guardians can pause lower class users. Governance can add/remove guardians. Governance is guardian by default."
},
"listedTokens()": {
"notice": "returns all `listedTokens_` at the Liquidity contract. Once configured, a token can never be removed."
}
},
"notice": "Fluid Liquidity resolver Implements various view-only methods to give easy access to Liquidity data.",
"version": 1
},
"storageLayout": {
"storage": [],
"types": null
}
}