深入解析AAVE智能合约:取款

概述 本文主要介绍AAVE V3合约中的取款withdraw函数。在阅读本文前,请读者确保已经阅读过以下文章: AAVE交互指南,本文将大量使用此文中给出的各种数学计算公式 深入解析AAVE智能合约:存款,此篇文章内给出的部分函数和大部分数据结构在本文内页有所使用,重复部分在本文内不再解释 读者也可选读深入解析AAVE智能合约:计算和利率,此文介绍了数学计算底层实现逻辑,与代码逻辑关系不大,读者可选读此文。 本文可认为是对深入解析AAVE智能合约:存款的进一步补充,由于取款逻辑较为简单,所以此文的关键在于进一步深挖某些常用函数。这些函数在《存款》一文中虽有提及但未深入探讨的函数,如updateInterestRates等。 代码分析 在src/protocol/pool/Pool.sol合约内,我们可以找到如下函数: ...

December 28, 2022 · 13 min · 6430 words · WongSSH

深入解析AAVE智能合约:计算和利率

概述 本文主要讨论AAVE V3中的数学计算模块,该模块位于src/protocol/libraries/math文件夹内,基础合约为WadRayMath。 ...

December 21, 2022 · 6 min · 2833 words · WongSSH

深入解析AAVE智能合约:存款

概述 我们在上一篇文章AAVE交互指南中主要介绍了aave前端、利率计算等内容,本篇文章 将在交互指南基础上介绍aave-v3的合约源代码的相关情况。 与之前所写的深入解析Safe多签钱包智能合约系列文章不同,本文主要以我们在AAVE交互指南中进行的合约操作为主线进行分析介绍,较为实战化。 相比于其他项目,AAVE提供了一个较为完整的文档。在文档内基本涵盖了所有函数的签名及其作用,读者也可作为阅读源代码的重要参考。 AAVE的总体架构如下: ...

December 10, 2022 · 24 min · 11900 words · WongSSH

AAVE交互指南

概述 本文主要介绍如何在AAVE内进行质押、借贷等基本操作,为读者进一步研究AAVE源代码奠定坚实的基础。 本文要求读者具有以下条件: 熟悉以太坊钱包使用 拥有一定的GoerliETH测试网ETH,可前往Goerlin Faucet进行领取 上述条件可以保证读者可以理解本文的大部分内容,由于笔者本人具有较强的技术背景且未来准备编写AAVE智能合约解析系列文章,所以本文给出了部分合约裸交互(即直接与合约函数交互而并不通过网页),理解这一部分内容需要读者了解智能合约开发和cast使用。如果您不是技术人员,可以酌情跳过此部分。考虑到安全性问题,本文提供的裸交互均为eth_call而不涉及真正的交易(需要签名和区块确认的交易)。 ...

October 15, 2022 · 21 min · 10254 words · WongSSH