To save gas cost, we compress multiple NFT floor price data into a single smart contract. Each oracle can support up to 7 NFT collection floor prices so far.
Due to the data compression mechanism, the floor price of any supported NFT collections that moves more than deviation threshold will trigger all NFT floor price updates.
function getAssetPrice(address asset) external view returns (uint256)
Get latest NFT floor price.
For CryptoPunks, please use Wrapper Punks address to get floor price because CryptoPunks is not using standard ERC721 contract and we actually convert original punks into wrapped punks when borrowers deposit them as collateral.
function getAddressList() external view returns(address memory)
Get supported NFT collections.
function getLatestTimestamp() external view returns (uint256)
Get the latest update timestamp.
The oracle contract only has a single update timestamp for all 7 NFT collections because all the prices will be updated when the
batchSetAssetPrice()method is called.