20201001 Compoundのコントラクトを読む
#tadashim
前回
20200917 Compoundのコントラクトを読む
Github: https://github.com/compound-finance/compound-protocol
公式ドキュメント: https://compound.finance/docs#getting-started
CEther.sol
CEtherコントラクト
CEtherはEtherをラップしたCToken
CTokenコントラクトを継承
コンストラクタ
admin アドレスが指定できるようになっている
InterestRateModelコントラクトのアドレスを指定
これにより利息のレートが変更できるようになっていると推測
Comptrollerコントラクトのアドレスを指定
mint関数
送信者がETHを送金しつつmint関数を呼び出すと、cETHが生成されて送信者に返される(ETHとcETHを交換している)。cETH(CToken)は債権トークンであり、ERC20トークンとして使用できる。
mintInternal関数を呼び出している
redeem関数
パラメータで指定した数量のcETHが償還され、対応する数量のETHが送信者に返却される
redeemInternal関数を呼び出している
redeemUnderlying関数
パラメータで指定した数量のETHが返却され、対応するcETHが償還される
redeemUnderlyingInternal関数を呼び出している
borrow関数
パラメータで指定した数量のETHを借りる
borrowInternal関数を呼び出している
repayBorrow関数
送信者はETHを送金しつつrepayBorrow関数を呼び出すことで、Compoundから借りたETHを返却できる
repayBorrowInternal関数を呼び出している