5 个稳定版本

2.4.2 2024年7月22日
2.4.0 2024年7月21日
2.3.0 2023年10月18日
2.2.0 2023年7月9日
2.1.5 2023年7月6日

#10 in #migrator

Download history 356/week @ 2024-07-19 94/week @ 2024-07-26 3/week @ 2024-08-02

每月下载量 453

BSD-3-Clause

1MB
30K SLoC

dao-migrator

dao-migrator on crates.io docs.rs

这是关于讨论的。

为DAO DAO模块处理迁移并测试其成功执行的迁移模块。

DAO核心迁移由提案处理,该提案添加此模块并在所有已注册模块上执行迁移。如果找到自定义模块,此交易失败并取消迁移,自定义模块需要由DAO执行自定义迁移。

总体思路

  1. 提案是迁移DAO核心到V2,这还向DAO添加了此模块。
  2. 在此合约初始化时,触发回调以执行迁移。
  3. 然后我们检查DAO是否没有自定义模块。
  4. 我们在迁移之前查询状态
  5. 我们执行迁移
  6. 我们查询新状态并对其进行测试以确保一切正常。
  7. 在任何迁移失败的情况下,我们都会使整个交易失败。

重要提示

  • 由于此合约无法可靠地迁移自定义模块,因此我们取消该过程以避免任何不希望的结果。

  • 如果任何模块迁移失败,我们将使整个事务失败,这是为了确保我们要么有一个完全工作的V2,要么我们什么都不做,确保DAO在任何时候都处于运行状态。

依赖项

~10MB
~215K SLoC