0xcbd1c32a…beebsent to0xe1b3f07a…0f6e·#16,745,649·view on Etherscan
setInterestRate(uint256)
UIP-007: Adapt to PoS blocktime
# Abstract
- Change the interest rate per block from 41668836919 to 38051750380
- Change overdue period blocks from 197250 to 216000
# Motivation
Now that PoS has passed and enough time passed to get an accurate Blocks per year. It's necessary to adjust.
# Specification
- To calculate the new interest rate per block, we use the PoS block time of approximately 12 seconds, and the targeted 10% interest rate per annum, which is 1e17. Therefore, the calculation would be 1e17 / 2,628,000, which results in 38051750380
- To calculate the number of new overdue blocks, we use the PoS block time of approximately 12 seconds and a 30-day overdue period. Therefore, the calculation would be (3600 * 24 * 30) / 12, which results in 216,000
# Test Cases
Tests and simulations can be found here: [PR](https://github.com/unioncredit/UIPs/pull/15)
# Implementation
For Mainnet:
- Call [FixedInterestRateModel](https://etherscan.io/address/0xfDd998ce04AB8f48B473cE4C9af1C2F8F8E264Eb).setInterestRate("38051750380") to update the interest rate per block
- Call [UToken](https://etherscan.io/address/0x954F20DF58347b71bbC10c94827bE9EbC8706887).setOverdueBlocks("216000") to change the loan overdue period
For Arbitrum
- Call [FixedInterestRateModel](https://arbiscan.io/address/0x051e2514E3fE8da88CaA2951442a21042BCe99Ea).setInterestRate("38051750380") to update the interest rate per block
- Call [UToken](https://arbiscan.io/address/0x954F20DF58347b71bbC10c94827bE9EbC8706887).setOverdueBlocks("216000") to change the loan overdue period