Created
July 21, 2021 01:03
-
-
Save jarbacoa/593c63f6b3b78f978efa65fb8d29a6cb to your computer and use it in GitHub Desktop.
FusePoolLens.sol
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: UNLICENSED | |
// !! THIS FILE WAS AUTOGENERATED BY abi-to-sol. SEE BELOW FOR SOURCE. !! | |
pragma solidity >=0.5.0 <0.9.0; | |
pragma experimental ABIEncoderV2; | |
struct FusePoolDirectory_FusePool { | |
string name; | |
address creator; | |
address comptroller; | |
uint256 blockPosted; | |
uint256 timestampPosted; | |
} | |
struct FusePoolLens_FusePoolAsset { | |
address cToken; | |
address underlyingToken; | |
string underlyingName; | |
string underlyingSymbol; | |
uint256 underlyingDecimals; | |
uint256 underlyingBalance; | |
uint256 supplyRatePerBlock; | |
uint256 borrowRatePerBlock; | |
uint256 totalSupply; | |
uint256 totalBorrow; | |
uint256 supplyBalance; | |
uint256 borrowBalance; | |
uint256 liquidity; | |
bool membership; | |
uint256 exchangeRate; | |
uint256 underlyingPrice; | |
address oracle; | |
uint256 collateralFactor; | |
uint256 reserveFactor; | |
uint256 adminFee; | |
uint256 fuseFee; | |
} | |
struct FusePoolLens_FusePoolUser { | |
address account; | |
uint256 totalBorrow; | |
uint256 totalCollateral; | |
uint256 health; | |
FusePoolLens_FusePoolAsset[] assets; | |
} | |
struct FusePoolLens_CTokenOwnership { | |
address cToken; | |
address admin; | |
bool adminHasRights; | |
bool fuseAdminHasRights; | |
} | |
interface MyInterface { | |
function directory() external view returns (address); | |
function initialize(address _directory) external; | |
function getPublicPoolsWithData() | |
external | |
returns ( | |
uint256[] memory, | |
FusePoolDirectory_FusePool[] memory, | |
uint256[] memory, | |
uint256[] memory, | |
address[][] memory, | |
string[][] memory, | |
bool[] memory | |
); | |
function getPoolsByAccountWithData(address account) | |
external | |
returns ( | |
uint256[] memory, | |
FusePoolDirectory_FusePool[] memory, | |
uint256[] memory, | |
uint256[] memory, | |
address[][] memory, | |
string[][] memory, | |
bool[] memory | |
); | |
function getPoolSummary(address comptroller) | |
external | |
returns ( | |
uint256, | |
uint256, | |
address[] memory, | |
string[] memory | |
); | |
function getPoolAssetsWithData(address comptroller) | |
external | |
returns (FusePoolLens_FusePoolAsset[] memory); | |
function getPublicPoolUsersWithData(uint256 maxHealth) | |
external | |
returns ( | |
address[] memory, | |
FusePoolLens_FusePoolUser[][] memory, | |
uint256[] memory, | |
uint256[] memory, | |
bool[] memory | |
); | |
function getPoolUsersWithData(address[] comptrollers, uint256 maxHealth) | |
external | |
returns ( | |
FusePoolLens_FusePoolUser[][] memory, | |
uint256[] memory, | |
uint256[] memory | |
); | |
function getPoolUsersWithData(address comptroller, uint256 maxHealth) | |
external | |
returns ( | |
FusePoolLens_FusePoolUser[] memory, | |
uint256, | |
uint256 | |
); | |
function getPoolsBySupplier(address account) | |
external | |
view | |
returns (uint256[] memory, FusePoolDirectory_FusePool[] memory); | |
function getPoolsBySupplierWithData(address account) | |
external | |
returns ( | |
uint256[] memory, | |
FusePoolDirectory_FusePool[] memory, | |
uint256[] memory, | |
uint256[] memory, | |
address[][] memory, | |
string[][] memory, | |
bool[] memory | |
); | |
function getUserSummary(address account) | |
external | |
returns ( | |
uint256, | |
uint256, | |
bool | |
); | |
function getPoolUserSummary(address comptroller, address account) | |
external | |
returns (uint256, uint256); | |
function getWhitelistedPoolsByAccount(address account) | |
external | |
view | |
returns (uint256[] memory, FusePoolDirectory_FusePool[] memory); | |
function getWhitelistedPoolsByAccountWithData(address account) | |
external | |
returns ( | |
uint256[] memory, | |
FusePoolDirectory_FusePool[] memory, | |
uint256[] memory, | |
uint256[] memory, | |
address[][] memory, | |
string[][] memory, | |
bool[] memory | |
); | |
function getPoolOwnership(address comptroller) | |
external | |
view | |
returns ( | |
address, | |
bool, | |
bool, | |
FusePoolLens_CTokenOwnership[] memory | |
); | |
} | |
// THIS FILE WAS AUTOGENERATED FROM THE FOLLOWING ABI JSON: | |
/* | |
[{"inputs":[],"name":"directory","outputs":[{"internalType":"contract FusePoolDirectory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract FusePoolDirectory","name":"_directory","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getPublicPoolsWithData","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"comptroller","type":"address"},{"internalType":"uint256","name":"blockPosted","type":"uint256"},{"internalType":"uint256","name":"timestampPosted","type":"uint256"}],"internalType":"struct FusePoolDirectory.FusePool[]","name":"","type":"tuple[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"address[][]","name":"","type":"address[][]"},{"internalType":"string[][]","name":"","type":"string[][]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getPoolsByAccountWithData","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"comptroller","type":"address"},{"internalType":"uint256","name":"blockPosted","type":"uint256"},{"internalType":"uint256","name":"timestampPosted","type":"uint256"}],"internalType":"struct FusePoolDirectory.FusePool[]","name":"","type":"tuple[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"address[][]","name":"","type":"address[][]"},{"internalType":"string[][]","name":"","type":"string[][]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Comptroller","name":"comptroller","type":"address"}],"name":"getPoolSummary","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"string[]","name":"","type":"string[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Comptroller","name":"comptroller","type":"address"}],"name":"getPoolAssetsWithData","outputs":[{"components":[{"internalType":"address","name":"cToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"},{"internalType":"string","name":"underlyingName","type":"string"},{"internalType":"string","name":"underlyingSymbol","type":"string"},{"internalType":"uint256","name":"underlyingDecimals","type":"uint256"},{"internalType":"uint256","name":"underlyingBalance","type":"uint256"},{"internalType":"uint256","name":"supplyRatePerBlock","type":"uint256"},{"internalType":"uint256","name":"borrowRatePerBlock","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"supplyBalance","type":"uint256"},{"internalType":"uint256","name":"borrowBalance","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"bool","name":"membership","type":"bool"},{"internalType":"uint256","name":"exchangeRate","type":"uint256"},{"internalType":"uint256","name":"underlyingPrice","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"reserveFactor","type":"uint256"},{"internalType":"uint256","name":"adminFee","type":"uint256"},{"internalType":"uint256","name":"fuseFee","type":"uint256"}],"internalType":"struct FusePoolLens.FusePoolAsset[]","name":"","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxHealth","type":"uint256"}],"name":"getPublicPoolUsersWithData","outputs":[{"internalType":"address[]","name":"","type":"address[]"},{"components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalCollateral","type":"uint256"},{"internalType":"uint256","name":"health","type":"uint256"},{"components":[{"internalType":"address","name":"cToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"},{"internalType":"string","name":"underlyingName","type":"string"},{"internalType":"string","name":"underlyingSymbol","type":"string"},{"internalType":"uint256","name":"underlyingDecimals","type":"uint256"},{"internalType":"uint256","name":"underlyingBalance","type":"uint256"},{"internalType":"uint256","name":"supplyRatePerBlock","type":"uint256"},{"internalType":"uint256","name":"borrowRatePerBlock","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"supplyBalance","type":"uint256"},{"internalType":"uint256","name":"borrowBalance","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"bool","name":"membership","type":"bool"},{"internalType":"uint256","name":"exchangeRate","type":"uint256"},{"internalType":"uint256","name":"underlyingPrice","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"reserveFactor","type":"uint256"},{"internalType":"uint256","name":"adminFee","type":"uint256"},{"internalType":"uint256","name":"fuseFee","type":"uint256"}],"internalType":"struct FusePoolLens.FusePoolAsset[]","name":"assets","type":"tuple[]"}],"internalType":"struct FusePoolLens.FusePoolUser[][]","name":"","type":"tuple[][]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Comptroller[]","name":"comptrollers","type":"address[]"},{"internalType":"uint256","name":"maxHealth","type":"uint256"}],"name":"getPoolUsersWithData","outputs":[{"components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalCollateral","type":"uint256"},{"internalType":"uint256","name":"health","type":"uint256"},{"components":[{"internalType":"address","name":"cToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"},{"internalType":"string","name":"underlyingName","type":"string"},{"internalType":"string","name":"underlyingSymbol","type":"string"},{"internalType":"uint256","name":"underlyingDecimals","type":"uint256"},{"internalType":"uint256","name":"underlyingBalance","type":"uint256"},{"internalType":"uint256","name":"supplyRatePerBlock","type":"uint256"},{"internalType":"uint256","name":"borrowRatePerBlock","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"supplyBalance","type":"uint256"},{"internalType":"uint256","name":"borrowBalance","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"bool","name":"membership","type":"bool"},{"internalType":"uint256","name":"exchangeRate","type":"uint256"},{"internalType":"uint256","name":"underlyingPrice","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"reserveFactor","type":"uint256"},{"internalType":"uint256","name":"adminFee","type":"uint256"},{"internalType":"uint256","name":"fuseFee","type":"uint256"}],"internalType":"struct FusePoolLens.FusePoolAsset[]","name":"assets","type":"tuple[]"}],"internalType":"struct FusePoolLens.FusePoolUser[][]","name":"","type":"tuple[][]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Comptroller","name":"comptroller","type":"address"},{"internalType":"uint256","name":"maxHealth","type":"uint256"}],"name":"getPoolUsersWithData","outputs":[{"components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"totalCollateral","type":"uint256"},{"internalType":"uint256","name":"health","type":"uint256"},{"components":[{"internalType":"address","name":"cToken","type":"address"},{"internalType":"address","name":"underlyingToken","type":"address"},{"internalType":"string","name":"underlyingName","type":"string"},{"internalType":"string","name":"underlyingSymbol","type":"string"},{"internalType":"uint256","name":"underlyingDecimals","type":"uint256"},{"internalType":"uint256","name":"underlyingBalance","type":"uint256"},{"internalType":"uint256","name":"supplyRatePerBlock","type":"uint256"},{"internalType":"uint256","name":"borrowRatePerBlock","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"totalBorrow","type":"uint256"},{"internalType":"uint256","name":"supplyBalance","type":"uint256"},{"internalType":"uint256","name":"borrowBalance","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"bool","name":"membership","type":"bool"},{"internalType":"uint256","name":"exchangeRate","type":"uint256"},{"internalType":"uint256","name":"underlyingPrice","type":"uint256"},{"internalType":"address","name":"oracle","type":"address"},{"internalType":"uint256","name":"collateralFactor","type":"uint256"},{"internalType":"uint256","name":"reserveFactor","type":"uint256"},{"internalType":"uint256","name":"adminFee","type":"uint256"},{"internalType":"uint256","name":"fuseFee","type":"uint256"}],"internalType":"struct FusePoolLens.FusePoolAsset[]","name":"assets","type":"tuple[]"}],"internalType":"struct FusePoolLens.FusePoolUser[]","name":"","type":"tuple[]"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getPoolsBySupplier","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"comptroller","type":"address"},{"internalType":"uint256","name":"blockPosted","type":"uint256"},{"internalType":"uint256","name":"timestampPosted","type":"uint256"}],"internalType":"struct FusePoolDirectory.FusePool[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getPoolsBySupplierWithData","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"comptroller","type":"address"},{"internalType":"uint256","name":"blockPosted","type":"uint256"},{"internalType":"uint256","name":"timestampPosted","type":"uint256"}],"internalType":"struct FusePoolDirectory.FusePool[]","name":"","type":"tuple[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"address[][]","name":"","type":"address[][]"},{"internalType":"string[][]","name":"","type":"string[][]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUserSummary","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Comptroller","name":"comptroller","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"getPoolUserSummary","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getWhitelistedPoolsByAccount","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"comptroller","type":"address"},{"internalType":"uint256","name":"blockPosted","type":"uint256"},{"internalType":"uint256","name":"timestampPosted","type":"uint256"}],"internalType":"struct FusePoolDirectory.FusePool[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getWhitelistedPoolsByAccountWithData","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"address","name":"comptroller","type":"address"},{"internalType":"uint256","name":"blockPosted","type":"uint256"},{"internalType":"uint256","name":"timestampPosted","type":"uint256"}],"internalType":"struct FusePoolDirectory.FusePool[]","name":"","type":"tuple[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"address[][]","name":"","type":"address[][]"},{"internalType":"string[][]","name":"","type":"string[][]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Comptroller","name":"comptroller","type":"address"}],"name":"getPoolOwnership","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"bool","name":"","type":"bool"},{"components":[{"internalType":"address","name":"cToken","type":"address"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"bool","name":"adminHasRights","type":"bool"},{"internalType":"bool","name":"fuseAdminHasRights","type":"bool"}],"internalType":"struct FusePoolLens.CTokenOwnership[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"}] | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment