feat: precompile error messge policy
- Dominant language
- Go
- Stars
- 164
- Forks
- 213
- Avg merge
- 3d 58m
- Merged PRs (30d)
- 12
Description
So the problem here is the deterministic of error messages, normally in cosmos-sdk, error messages returned by msg handlers are not in the consensus state(see [deterministicExecTxResult](https://github.com/cometbft/cometbft/blob/abafc0c3cf87fc332ac6c366e05d26eaac872e89/abci/types/types.go#L143)).
But precompile will return whatever error message come out of cosmos-sdk (see [ReturnRevertError](https://github.com/cosmos/evm/blob/2a9e68793400ae0ae7251bfe55cae9a499261551/precompiles/common/revert.go#L19)), that return data is in the state because it will at least impact the gas cost.
This issue tries to raise awareness of that, do we treat error messages change in cosmos-sdk as consensus breaking, if that's the case, then nothing need to done here, but we need to be careful when updating minor version dependencies that it don't accidentally change any error messages. Or we change precompiles to return more deterministic errors.
Contributor guide
Assessment
This issue has not been assessed yet.