Tokens

計算屬於轉入智能合約的不同使用者的 AAVE 利率

  • April 14, 2021

我有一個接受使用者資金並將其添加到 AAVE 借貸池(例如 DAI)的智能合約。像這樣的東西:

lendingPool.deposit(stableCoinAddress, amount, address(this), 0);

如您所見,智能合約收到 minted aTokens。上面的程式碼可以被多個不同存款金額的使用者在不同的時間呼叫。

稍後,在同一合約的其他地方,使用者可以在任意時間以不超過原始存款的任何金額贖回他們的資金:

lendingPool.withdraw(stableCoinAddress, amount + interest, userAddress);

我需要計算並添加每個使用者對 AAVE 池的興趣,並將其添加到原始存款價值中,但這聽起來有點複雜。任何人都可以給我一個提示嗎?(或者比這更好,一段可用的程式碼!)

我通過創建一個新的子智能合約並在每個使用者第一次訪問父合約時為每個使用者部署一個新實例(帶有新地址)解決了這個問題:

contract userWallet is IERC20 { ... }

然後在父契約中:

_userWallet[_msgSender()] = address(new userWallet(...));

引用自:https://ethereum.stackexchange.com/questions/97031