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

Consistently pass the correct chain-id when filtering and checking transactions #2021

Closed
evan-forbes opened this issue Jul 4, 2023 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@evan-forbes
Copy link
Member

evan-forbes commented Jul 4, 2023

Since we are filtering and checking transactions during Prepare/ProcessProposal, we need to have access to a correct chain-id. Currently, we're using a value in the cosmos-sdk during initchain, which only ever gets sets the first time when syncing from scratch. This results in really weird behavior, as nodes will start filtering or invalidating all txs after rebooting. Some nodes have even experienced this even when not rebooting, but the network will start rejecting all txs when the majority of voting power begins to experience this bug.

Therefore, we should pass the chain-id via some other mechanism. ProcessProposal already has access to the header, but our version of PrepareProposal does not. We should then use a version of celestia-core that passes the chain-id directly from tendermint in the RequestPrepareProposal

blocking #2020

@evan-forbes evan-forbes added the bug Something isn't working label Jul 4, 2023
@evan-forbes evan-forbes added this to the Mainnet milestone Jul 4, 2023
@evan-forbes evan-forbes self-assigned this Jul 4, 2023
evan-forbes added a commit that referenced this issue Jul 4, 2023
## Overview

consistently pass the correct chain-id to the application using
`RequestPrepareProposal` and `RequestProcessProposal`

this PR still needs to update the go.mod to use the official tag of
tendermint after its released

closes #2020 and #2021

## Checklist

- [x] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [x] Linked issues closed with keywords
evan-forbes added a commit that referenced this issue Jul 4, 2023
consistently pass the correct chain-id to the application using
`RequestPrepareProposal` and `RequestProcessProposal`

this PR still needs to update the go.mod to use the official tag of
tendermint after its released

closes #2020 and #2021

- [x] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [x] Linked issues closed with keywords
@evan-forbes
Copy link
Member Author

closed with #2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant