Skip to content

Commit

Permalink
docs(data flow): refine deposit protocol stack
Browse files Browse the repository at this point in the history
  • Loading branch information
templexxx committed Sep 7, 2023
1 parent 284b055 commit bba1f65
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions docs/website/pages/docs/tech-highlights/deposit_flow.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ Rooch 具备多链资产结算的能力,对于每一条 L1 来说,其存款

我们需要保证来自 L1 的消息能够 `rooch_node` 正确的解析并中继给相应的合约,从协议栈的角度来看:

<img alt="Rooch Deposit Protocol Stack" height="260" src="../../../public/docs/deposit_protocol_stack.jpeg" width="600"/>
<img alt="Rooch Deposit Protocol Stack" height="240" src="../../../public/docs/deposit_protocol_stack.jpeg" width="550"/>

## L1

1. 用户通过 `send_msg` 函数向 `l1_messenger` 发起存款请求,所需参数包括:
1. 用户通过调用 `l1_messenger` 中的 `send_msg` 函发起存款请求,所需参数包括:
1. `target`: L2 合约地址
2. `msg`: L2 tx 的 calldata
3. `min_gas_amount`: L2 上允许使用的最小 gas 数量,即对调用 `target` 的估计值。
Expand All @@ -26,11 +26,11 @@ Rooch 具备多链资产结算的能力,对于每一条 L1 来说,其存款
2. `l1_messenger` 将调用 `rooch_linker``send_to_rooch` 函数,
`rooch_linker` 为 L1 与 L2 通信的底层合约。`send_to_rooch` 参数包括:
1. `to`: 对应的 L2 Messenger 合约地址。在这个场景中为 `l2_messenger` 合约地址
2. `gas_amount`: 基于 `min_gas_amount` 以及 L2 上消息传递开销估算得到的 L2 gas 开销
2. `gas_amount`: 基于 `min_gas_amount` 以及 `msg` 尺寸估算得到的 L2 上的基础 gas 开销
3. `data`: `relay_msg_data` 编码后数据 (`msg_sequence` `msg_sender` `target` `msg` `min_gas_amount` 等必要信息)

3. `send_to_rooch` 在完成检查后,发出 `TxDepositedEvent` 事件,其中包括:
1. `from`: L1 发起存款的用户地址
1. `from`: 发起 `send_to_rooch`L1 账户地址/合约别名。在这里是 `l1_messager`
2. `to`: l2_messenger 合约地址
3. `deposit_version`: event 版本号
4. `event_data`: 在 `relay_msg_data` 基础上增加了 `gas_amount` 字段
Expand Down Expand Up @@ -71,7 +71,12 @@ Gas Fee 分为两个部分:

## 重放消息

在极端情况下,一条合法的存款交易可能会在 Rooch 上失败:

1. Rooch 服务不可用
2. 过低的 `gas_amount`

此时,用户可以通过重放消息的方式重新提交交易,重放消息所需要的接口正在设计之中,敬请期待。



Expand Down
Binary file modified docs/website/public/docs/deposit_protocol_stack.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit bba1f65

Please sign in to comment.