版本比较

密钥

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

  1. 首先,将基金会账户导入到本地账户列表:/wiki/spaces/WESTAR/pages/1933320

  2. 检查基金会账户的资源是否在强制升级后存在 0x1::Config::Config<0x1::FrozenConfig::FrozenConfig>

    代码块
    languagepowershell
    starcoin% state list resource 0x0000000000000000000000000a550c18
    
    ...
                
    "0x00000000000000000000000000000001::Config::Config<0x00000000000000000000000000000001::FrozenConfig::FrozenConfig>": {
            "json": {
              "payload": {
                "frozen_account_list": {
                  "list": [
                    "0xd0c5a06ae6100ce115cad1600fe59e96",
                    "0x1af80d10cb642adcd9f7fee1420104ec"
                  ]
                },
                "frozen_global_txn": false
              }
            },
            "raw": "0x0002d0c5a06ae6100ce115cad1600fe59e961af80d10cb642adcd9f7fee1420104ec"
          },
          ...
  3. 尝试在本地添加一个新账户,并按照以下流程测试该账户:

    代码块
    languagepowershell
    # 转入20个STC到黑名单账户0x5e7c9c96fe6fb1290aa6c9b14e3abb73
    account transfer -s 0x0000000000000000000000000a550c18 -r 0x5e7c9c96fe6fb1290aa6c9b14e3abb73 -v 20000000000 -b
    
    # 0x5e7c9c96fe6fb1290aa6c9b14e3abb73 尝试转出1个STC到基金会账户,预期为成功
    account transfer -s 0x5e7c9c96fe6fb1290aa6c9b14e3abb73 -r 0x0000000000000000000000000a550c18 -v 1000000000 -b
    
    # 将0x5e7c9c96fe6fb1290aa6c9b14e3abb73加入黑名单
    account execute-function -s 0x0000000000000000000000000a550c18 --function 0x1::FrozenConfigStrategy::add_account --arg 0x5e7c9c96fe6fb1290aa6c9b14e3abb73 -b
    
    # 使用以下命令检查黑名单列表中是否有该账户
    state list resource 0x0000000000000000000000000a550c18
    
    # 0x5e7c9c96fe6fb1290aa6c9b14e3abb73 尝试转出1个STC到基金会账户,预期报错账户被冻结
    account transfer -s 0x5e7c9c96fe6fb1290aa6c9b14e3abb73 -r 0x0000000000000000000000000a550c18 -v 100000000 -b
    
    txn dry run result: TransactionOutputView { status: Discard { status_code: StrView(18), status_code_name: "SENDING_ACCOUNT_FROZEN" }, gas_used: StrView(0), write_set: [], events: [], table_item_write_set: [] }
    
    # 尝试 burn 所有黑名单中的额度,预期为失败,因为未到指定高度
    account execute-function -s 0x0000000000000000000000000a550c18 --function 0x1::FrozenConfigStrategy::do_burn_frozen -b
    {
      "ok": {
        "dry_run_output": {
          "events": [],
          "explained_status": {
            "MoveAbort": {
              "abort_code": 27137
              ...
    }
    
    # 修改销毁高度
    account execute-function -s 0x0000000000000000000000000a550c18 --function 0x1::FrozenConfigStrategy::update_burn_block_number --arg <height> -b
    
    # 尝试 burn 所有黑名单中的额度,预期为成功,到达了指定高度
    account execute-function -s 0x0000000000000000000000000a550c18 --function 0x1::FrozenConfigStrategy::do_burn_frozen -b
    
    # 检查黑名单中的账户余额,预期为0
    

主网上线清单

上线时间点截止时间为春节前

  1. 确定上线时间点

    • 大象矿池启动时间 YSG

    • CoinEx 打款时间 Tim Yang

  2. 准备基金会账户

    • 检查基金会账户的签名和私钥

    • barnard 基金会账户需要通过两个账户来签名,需要在barnard来演练 Bob

  3. 准备版本

    •  基于1.
    0升级的代码检查,除了漏洞修复外,确认是否有其他改动
  4. 确认安全漏洞是否已生效

  5. 代币销毁

    确定黑名单列表
    • 0升级的代码检查,除漏洞修复外,确认是否还有其他改动 YSG
    •  确认安全漏洞是否已生效,确认使用新版本,旧代码是否还能调用 Bob
    •  确认主网打开交易的高度,需要在(force-deploy)之前一到两个块: ___
    •  确认执行代码强制升级高度:____
    •  确认非法STC销毁高度: ____
    •  强升失败的预案:查询本地基金会账户是否存在FrozenConfig配置,若不存在则也会继续冻结(待讨论)
  6. 代币销毁

  7. 销毁后,发行总量是否能变化,这里需要确认不能变成负数;销毁后,发行总量是否能变化,这里需要确认不能变成负数;(已修改)

参考信息

Starcoin Core 代码分支可以在以下链接找到:https://github.com/starcoinorg/starcoin/tree/master

...