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

Mark bootstrap failures should not halt the system #89

Closed
MaxMustermann2 opened this issue Sep 2, 2024 · 0 comments · Fixed by #90
Closed

Mark bootstrap failures should not halt the system #89

MaxMustermann2 opened this issue Sep 2, 2024 · 0 comments · Fixed by #90

Comments

@MaxMustermann2
Copy link
Collaborator

The bootstrap contract receives a markBootstrapped call from Exocore to upgrade itself to the ClientChainGateway. If this call fails, the nonce is not consumed on Bootstrap but consumed by ExocoreGateway. Any further calls from ExocoreGateway will then fail due to this nonce mismatch.

MaxMustermann2 added a commit to MaxMustermann2/exocore-contracts that referenced this issue Sep 2, 2024
- As outlined in ExocoreNetwork#83, a cross-chain message that can't/won't be retried
  must not fail. Hence, all calls to `markBootstrapped` on `Bootstrap`
  should not fail. Fixes ExocoreNetwork#89
- Separately, sending multiple LZ messages in one transaction is
  convoluted and hence disabled. As a consequence, marking bootstrap on
  all chains is no longer supported; instead, the caller must provide
  the LZ chain ID. Along similar lines, the caller must provide the
  native fee for this transaction.
github-merge-queue bot pushed a commit that referenced this issue Sep 5, 2024
* fix(bootstrap): do not fail mark bootstrap

- As outlined in #83, a cross-chain message that can't/won't be retried
  must not fail. Hence, all calls to `markBootstrapped` on `Bootstrap`
  should not fail. Fixes #89
- Separately, sending multiple LZ messages in one transaction is
  convoluted and hence disabled. As a consequence, marking bootstrap on
  all chains is no longer supported; instead, the caller must provide
  the LZ chain ID. Along similar lines, the caller must provide the
  native fee for this transaction.

* fix: remove reference to markBootstrapOnAllChains

* test: add unit test for mark bootstrap

In the case where Bootstrap call first fails and then succeeds.

* fix: do not fail mark bootstrap to gateway

* fix(test): expect event

* refactor: remove repeated code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant