常量:
liquidationIncentive 清算激励
一个比1大的乘数,代表着清算激励的收益,1.05指能获得5%抵押品的奖励
collateralFactor 抵押品因子
0-1的一个乘数,代表着抵押物与可贷款上限的比例
closeFactor 偿还因子
(0.05,0.9]的乘数, borrowCurrent*closeFactor得到repayAmount,是需要被清算的部分占未偿还贷款的百分比,即基础贷款需要被清算的部分。例,一个需要被清算的账户 close factor 为0.1,那么需要清算其贷款的10%。如果用户拥有多种借入资产,close factor 是某一资产的属性,并非该用户总资产的属性。
maxAsset 最大资产
单个账户能参与到(抵押与借贷)的最大资产数,不影响借贷以外的铸币,赎回或转账。
reserveFactor 保证金因子
[0,1]的系数,表示应计利息作为保证金的部分
Key Terms:
borrowCurrent 现存借款:
本金*市场现利率/本金借入时利率
sumCollateral 抵押总额
用户提供的资产的抵押价值,包括应计利息(用存储时的利率),用以太币表示。用户代币*汇率*抵押因子的总和。
sumBorrow 借款总额
用以太币表示的用户的可借款总额。
accountLiquidity 清算资产
sumCollateral - sumBorrow 必须为正
maxCloseValue 最大偿还价值
借款*偿还因子
seizeTokens
从被清算用户转移到清算人的cToken数目,为seizeAmount*liquidationIncentive*(预言机价格/抵押资产的汇率)
totalBorrowBalance 总借款额
所有账户的借款总额,包括应计利息
assetsaccount
每个用户的maxAssets的Set
blocks
计算简单利息时blocks表示上一次计算时经过的区块数,最新的区块被保存为intersetBlockNumberasset,blocks=现block数目-intersetBlockNumberasset
rate
计算简单利率时,rate表示现在市场的利率
Exchange Rate Stored
cToken到基础资产的最后一次存储的汇率,不包含最后一次借款的利息
Exchange Rate Current
cToken到基础资产的当前的汇率
Exceptional States
我们假设在任意报错 a)没有副作用的情况下,协议指出该错误 b)交易失败 都要遵循以下规则:
大量函数分成两种命令:积累利息和fresh action,目的是独立处理两种情况
1.我们每次为一个市场积累利息,我们都为市场确认了资产
2.fresh function 只有在市场的利息被完全叠加后才是准确的