今天有用户在Revoke的Discord上提交了一个工单。他们的sDAI余额没有显示出来。 所以我决定深入调查:结果发现sDAI在铸造/销毁代币时故意不发出转账事件。 这给生态系统的其余部分带来了不必要的压力。
sDAI 合约实现了 ERC-4626,这是一个单代币金库的标准。 该标准规定在铸造/销毁金库代币时发出存款/取款事件。 但它并不禁止开发者同时发出转账事件。
Spark 文档提到,他们故意不在铸造/销毁时发出转账事件,以节省这些交易的燃气费用。 我认为,整个生态系统在集成方面增加的负担远比这点燃气节省的成本要高得多。
对比sDAI的意识形态方法与Yearn的务实方法。 Yearn v3 Vaults也符合ERC-4626标准,但仍然会发出转账事件,以便它们可以轻松集成到钱包、区块链浏览器和其他工具中。
看起来Spark同意移除Transfer事件是一个错误,因为新的sUSDS代币确实在存款/取款时发出Transfer事件。 考虑到这一点,我希望未来的ERC-4626金库能够继续遵循这种更务实的方法。
这对 Revoke 意味着什么? 您的批准将始终正确显示。 但是,如果您只铸造过 sDAI,我们可能无法显示您的 sDAI *余额*。一旦您进行了其他 sDAI 转账,您的余额将像往常一样显示。
8.69K