Price Index/Target Peg Price
Lendr calculates a new target price once per day using the current price index from an on-chain oracle. Our formula looks at exactly how much time has passed since the last price update and calculates how much the token price target should increase for that time span.
We use Chainlink Automation to update the target price at least once per day. The target price is not updated more often to prevent gas from being wasted.
Additionally, our price update function in our smart contracts can be called manually by anyone to update the price using data from our oracle, and normal interaction transactions with the ecosystem will cause the price to be updated automatically.
Lendr uses a custom Chainlink-based oracle provided by truflation to obtain an accurate inflation index. This oracle is a census-level index of true inflation rates that updates daily and tracks price data across the economy, using data from over 30+ data sources and more than 18 million data points.
This custom inflation index tracks the US prices of a variety of items in 12 main categories:
- Alcohol and Tobacco
- Food and Non-Alcoholic Beverages
- Household Daily Use Items
- Recreation, Entertainment, and Culture
Each category is weighted based on current consumer trends. These elements produce an inflation index that is more accurate than the US CPI index which only tracks 6 categories of spending.
Other indexes, like real estate and gold, are calculated in a similar way using data from our oracle provider based on 30 million+ data points.
A standard US CPI oracle can be used as a backup if our custom oracle were to fail.
Truflation Data Partners
A secondary redundancy oracle does not exist for our custom inflation index yet. As such we have hard-coded a number of safeties in place to limit the rate at which the target peg can move and keep the system secure without our intervention. We will be searching for a backup oracle to create redundancy, similar to how we use both Chainlink and Binance/Tellor oracles for price data. Once we find a suitable additional oracle provider we will create an intermediary contract that would handle the request from InflationFeed.sol and do the necessary work to choose between the two oracle providers. Similar to the existing contracts in the repository for the price feed oracles. We will renounce ownership of the inflationFeed contract when a redundancy is in place, until then it will be owned by the Lendr Network multisig requiring multiple signatures to control (2/3).
All owner-based functions in the inflationFeed contract have a 3-day delay to execute, significantly reducing any centralization risks involved with retaining ownership. This is discussed in our Certik audit. If our oracle provider were to stop working before we find a redundant system, we would create an oracle ourselves and base the values on the official US CPI data (this can be done using a chainlink oracle for the official standard US CPI data as well).