版本比较

密钥

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

...

代码块
aptos move run \
  --function-id rooch::state_channel::keep_alive_entry \
  --type-args=rooch_demo::movecraft::Land \
  --args=1001

1.3.2

...

创建提案

代码块
rooch::state_channel::create_settlement_proposal_entry

类型参数:

类型参数

约束

描述

StateT

store

状态类型

...

参数名称

类型

描述

sender

signer

发起方

state_channel_id

u64

状态通道ID

from_height

u128

起始高度

to_height

u128

结束的高度

change_set

vector<u8>

变更集

change_set 数据格式:

...

proposal_type

u8

提案类型

proposal_data

vector<u8>

提案数据

当 proposal_type == 1 时,表示结算提案

proposal_data 数据格式:

代码块
{
    "from_height": 1001,
    "to_height": 1009,
    "change_sets": {
        "accounts": {
            "0x6c31f522bb1bdc6c625f5a39ce4d8c95": {
                "rooch_demo::editor::Document": {
                    `new`:[],
                    `modify`: ['old_doc_DATA', 'new_doc_DATA'],
                    `delete`: [],
                }
            },
            "0xf1e8acab0eb5d19288fa1f68167bdee2": {
                "0x1::token::Token<0x1::STC::STC>": {
                    `new`:[],
                    `modify`: [],
                    `delete`: [true],
                }
            },
        }
    }
}

当 proposal_type == 2 时,表示惩罚提案

proposal_data 数据格式:

代码块
{
    "target_member": "0x6c31f522bb1bdc6c625f5a39ce4d8c95",
    "height": 1009,
    "rawTransaction": "0x6c31f522bb1bdc6c625f5a39ce4d8c933228877666626363333333AB",
    "change_sets": {
        "accounts": {
            "0x6c31f522bb1bdc6c625f5a39ce4d8c95": {
                "rooch_demo::editor::Document": {
                    `new`:[],
                    `modify`: ['old_doc_DATA', 'new_doc_DATA'],
                    `delete`: [],
                }
            },
            "0xf1e8acab0eb5d19288fa1f68167bdee2": {
                "0x1::token::Token<0x1::STC::STC>": {
                    `new`:[],
                    `modify`: [],
                    `delete`: [true],
                }
            },
        }
    }
}

返回值:

业务逻辑:

发起结算提案。该方法会检查 from_height-1和状态通道中的settledHeight是否相等。

支持的提案:

...

提案Action

...

提案描述

...

SettlementAction

...

结算

...

PunishAction

...

惩罚

发起提案。根据提案类型创建不同的提案。

调用示例:

协同编辑器

代码块
aptos move run \
  --function-id rooch::state_channel::create_settlement_proposal_entry \
  --type-args=rooch_demo::editor::Document \
  --args=1001 1 100 b"23A145AB448872B1"

聊天合约

代码块
aptos move run \
  --function-id rooch::state_channel::create_settlement_proposal_entry \
  --type-args=rooch_demo::chat::ChatGroup \
  --args=1001 1 100 b"23A145AB448872B1"

MoveCraft合约

代码块
aptos move run \
  --function-id rooch::state_channel::create_settlement_proposal_entry \
  --type-args=rooch_demo::movecraft::Land \
  --args=1001 1 100 b"23A145AB448872B1"

1.3.3 对提案进行投票

...