参考文档:
https://github.com/compound-finance/compound-protocol/tree/master/contracts
本文说明:所有合约保留原合约内容,解释均使用中文;
1.CarefulMath.sol
pragma solidity ^0.5.16;
/**
* @title Careful Math
* @author Compound
* @notice Derived from OpenZeppelin's SafeMath library
* https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol
*/
contract CarefulMath {
/**
* @dev Possible error codes that we can return
*/
enum MathError { // 枚举类型
NO_ERROR, // 无错误
DIVISION_BY_ZERO, // 被 0 除
本文详细解析Compound协议中的CarefulMath.sol、ExponentialNoError.sol和Exponential.sol合约,探讨mantissa概念和小数精度管理。cToken的totalSupply、totalBorrows和totalReserves精度为18位,而borrowIndex则需要提升至18位以确保汇率精确计算。合约内容以中文注释解读。
订阅专栏 解锁全文
662

被折叠的 条评论
为什么被折叠?



