chore: change prepare and process proposal to be NoOps by default (#16407)

Co-authored-by: Sergio Mena <sergio@informal.systems>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
This commit is contained in:
Marko
2023-06-02 14:46:47 +00:00
committed by GitHub
co-authored by Sergio Mena Aleksandr Bezobchuk
parent b590b09107
commit efdc955ad9
2 changed files with 13 additions and 2 deletions
+5 -1
View File
@@ -43,7 +43,8 @@ all transactions, it can provide greater control over transaction ordering.
Allowing the application to handle ordering enables the application to define how
it would like the block constructed.
Currently, there is a default `PrepareProposal` implementation provided by the application.
The Cosmos SDK defines the `DefaultProposalHandler` type, which provides applications with
`PrepareProposal` and `ProcessProposal` handlers.
```go reference
https://github.com/cosmos/cosmos-sdk/blob/v0.47.0-rc1/baseapp/baseapp.go#L868-L916
@@ -116,6 +117,9 @@ A no-op mempool is a mempool where transactions are completely discarded and ign
When this mempool is used, it assumed that an application will rely on CometBFT's transaction ordering defined in `RequestPrepareProposal`,
which is FIFO-ordered by default.
> Note: If a NoOp mempool is used, PrepareProposal and ProcessProposal both should be aware of this as
> PrepareProposal could include transactions that could fail verification in ProcessProposal.
### Sender Nonce Mempool
The nonce mempool is a mempool that keeps transactions from an sorted by nonce in order to avoid the issues with nonces.