...
代码块 |
---|
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 |
类型参数:
类型参数 | 约束 | 描述 |
---|---|---|
| store | 状态类型 |
...
参数名称 | 类型 | 描述 |
---|---|---|
sender | signer | 发起方 |
state_channel_id |
| 状态通道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 对提案进行投票
...