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

Audit v0.47 mempool #14259

Closed
Tracked by #13456
amaury1093 opened this issue Dec 12, 2022 · 6 comments
Closed
Tracked by #13456

Audit v0.47 mempool #14259

amaury1093 opened this issue Dec 12, 2022 · 6 comments
Assignees

Comments

@amaury1093
Copy link
Contributor

amaury1093 commented Dec 12, 2022

Audit changes mempool added in v0.47

@amaury1093 amaury1093 mentioned this issue Dec 12, 2022
54 tasks
@amaury1093 amaury1093 changed the title mempool Audit v0.47 mempool Dec 12, 2022
@amaury1093 amaury1093 self-assigned this Dec 12, 2022
@amaury1093
Copy link
Contributor Author

My audit is done, have some small nits only. Waiting for 2nd reviewer to share notes.

@amaury1093 amaury1093 moved this to 📝 Todo in Cosmos-SDK Dec 12, 2022
@amaury1093 amaury1093 moved this from 📝 Todo to 💪 In Progress in Cosmos-SDK Dec 12, 2022
@amaury1093
Copy link
Contributor Author

I had audited the sender nonce mempool only, before the priority+nonce mempool got merged. Going to audit the priority one too.

@amaury1093
Copy link
Contributor Author

I audited the priority+nonce mempool too, it was not straightforward to read the code though, so might have missed some stuff. I did however review the spec and the tests more thoroughly, and those lgtm.

For the second reviewer, here are my notes: https://hackmd.io/_Aj3jciNTRiNVwLxcZ5K2A

@alexanderbez
Copy link
Contributor

I audited the priority+nonce mempool too, it was not straightforward to read the code though, so might have missed some stuff.

This was also my sentiment and hesitation with that implementation -- it's just too difficult to understand. I really hope that implementation is sound and doesn't need to change much in the future, because it's gnarly.

cc @kocubinski

@kocubinski
Copy link
Member

This was also my sentiment and hesitation with that implementation -- it's just too difficult to understand. I really hope that implementation is sound and doesn't need to change much in the future, because it's gnarly.

It's not trivial, partial ordering and graph traversal are hard problems. However, this implementation is (as far as I can tell) the simplest one possible satisfying the the spec and ordering scheme described (at a higher level) in ADR-60.

Definitely open to suggestions for improvement. I consider it a win to provide a mempool supporting fee based tx priorities.

@tac0turtle
Copy link
Member

since we have a no op mempool by default, im less concerned about the others, but the others have been extensively reviewed

Repository owner moved this from 💪 In Progress to 👏 Done in Cosmos-SDK Dec 19, 2022
@tac0turtle tac0turtle removed this from Cosmos-SDK Jan 2, 2023
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

No branches or pull requests

4 participants