Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement ExecInterpreter for Ipc::TopDownExec #213

Closed
Tracked by #197
cryptoAtwill opened this issue Sep 6, 2023 · 0 comments
Closed
Tracked by #197

Implement ExecInterpreter for Ipc::TopDownExec #213

cryptoAtwill opened this issue Sep 6, 2023 · 0 comments

Comments

@cryptoAtwill
Copy link
Contributor

cryptoAtwill commented Sep 6, 2023

Top-down counterpart of #307
Depends on #212

When a ChainMessage::Ipc(Ipc::TopDownExec((parent_block_hash, parent_block_height)) appears in a finalized block, execute the cross messages in them by:

  1. Retrieving the last committed parent block height from the Gateway actor
  2. Fetching from the IPC Agent all cross messages after the last committed block height up to the currently committed height. Use the prefetch cache if possible, but go directly to the agent if we have to. Returning a failure to the interpreter is a fatal error in this case as it means the block cannot be executed.
  3. Execute all cross messages using the mechanism developed on Execute CrossMessages #212, which is common for both bottom-up and top-down messages.

The place for this logic is the ChainMessageInterpreter.

@cryptoAtwill cryptoAtwill added bug Something isn't working feature New feature or request labels Sep 6, 2023
@aakoshh aakoshh removed bug Something isn't working feature New feature or request labels Sep 7, 2023
@aakoshh aakoshh changed the title Execute top down cross messages Implement ExecInterpreter for Ipc::TopDownExec Sep 7, 2023
@jsoares jsoares transferred this issue from consensus-shipyard/fendermint Dec 19, 2023
@jsoares jsoares closed this as not planned Won't fix, can't repro, duplicate, stale Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: No status
Development

No branches or pull requests

3 participants