本文介绍了 Aavegotchi 如何使用 Gelato 的 Web3 Functions 自动执行代币回购。
博客 - 用例
Aavegotchi 是一款独特的、支持 DeFi 的加密收藏品游戏,允许玩家使用生息 token 质押名为 Aavegotchis 的 非同质化 Token (NFT) 头像。
Aavegotchi 的原生 token 是 $GHST,它作为基础生态系统货币,用于购买链上 Aavegotchi 资产,并使玩家能够质押和参与 AavegotchiDAO 治理。为了维持 GHST token 的价值,Aavegotchi 利用 Gelato 的 Web3 函数来实现自动化的 token 回购。
Web3 函数与 GHSTAutoBuy
智能合约的 buyGHST
函数交互,以定期将 USDC 兑换为 GHST。
此外,它还使用 ParaSwap API 获取最佳兑换率并执行交易,从而使用 USDC 购买 GHST token。
Web3 函数充当 GHSTAutoBuy 智能合约和 ParaSwap API 之间的桥梁,确保无缝的回购机制。
它与 GHSTAutoBuy
智能合约通信以获取必要的参数,并验证是否可以执行回购。
try {
buybackContract = new Contract(BUYBACK_ADDRESS, AUTOBUY_ABI, provider);
mySlippage = await buybackContract.slippage();
mySlippage = mySlippage / 100;
buybackAmount = await buybackContract.buyAmount();
canBuy = await buybackContract.canBuy();
if (!canBuy) {
}
} catch (err) {
return { canExec: false, message: `RPC call failed` };
}
一旦满足回购的条件(例如自上次交易以来经过了足够的时间),Web3 函数就会继续进行 token 兑换。
Web3 函数识别参与兑换的 token 和数量,然后创建一个 swapper 对象以与 ParaSwap API 通信。
const srcToken = getToken(srcTokenSymbol, networkID);
const destToken = getToken(destTokenSymbol, networkID);
它获取 token 对的最佳汇率,并考虑用户定义的滑点容差来计算最小目标金额。
const ps = createSwapper(networkID, API_URL);
const priceRoute = await ps.getRate({
srcToken,
destToken,
srcAmount
});
const minAmount = new BigNumber(priceRoute.destAmount).times(1 - slippage / 100).toFixed(0);
之后,使用 buildSwap
方法获取包含兑换详细信息的交易对象。
const transactionRequest = await ps.buildSwap({
srcToken,
destToken,
srcAmount,
minAmount,
priceRoute,
...rest
});
此对象用于执行兑换,从而完成回购过程。
return {
canExec: true,
callData: buybackContract.interface.encodeFunctionData("buyGHST", [tx.data])
};
Aavegotchi 合约、Gelato Web3 函数和 ParaSwap API 的集成使 GHSTAutoBuy
智能合约能够有效地进行 GHST token 回购,从而使 Aavegotchi 生态系统和用户受益。
Web3 函数为开发人员提供了一个创新的解决方案,可以轻松创建无服务器、去中心化的应用程序。它们实现了智能合约与链下数据的无缝集成,弥合了链上和链下世界之间的差距。
通过利用 Web3 函数,开发人员可以构建由可靠且有弹性的基础设施支持的强大、可扩展且去中心化的 web3 应用程序。
Gelato 是一个 Web3 云平台,使开发人员能够创建自动化的、无 gas 的和具有链下感知能力的 Layer 2 链和智能合约。 400 多个 web3 项目多年来一直依赖 Gelato 来促进 DeFi、NFT 和游戏中的数百万笔交易。
Gelato RaaS: 只需单击一下即可部署你自己的量身定制的 ZK 或 OP L2 链,其中内置了原生账户抽象和所有 Gelato 中间件。
Web3 函数: 通过运行去中心化的云函数,将你的智能合约连接到链下数据和计算。
自动化: 通过以可靠、对开发人员友好且去中心化的方式自动执行交易来自动化你的智能合约。
Relay: 通过易于使用的 API,让你的用户可以访问可靠、强大且可扩展的无 gas 交易。
帐户抽象 SDK: Gelato 已与 Safe 合作构建一个功能齐全的帐户抽象 SDK,将 Gelato 行业最佳的无 gas 交易能力与行业最安全的智能合约钱包相结合。
订阅我们的新闻通讯并打开你的 Twitter 通知,以获取有关 Gelato 生态系统的最新更新! 如果你有兴趣成为 Gelato 团队的一员并构建互联网的未来,请浏览空缺职位并在此处申请 here。
- 原文链接: gelato.cloud/blog/aavego...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!