-
Notifications
You must be signed in to change notification settings - Fork 279
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
[bug] Transaction revalidation order #3318
Comments
You are right there is a subtle problem here. Assume the sequence Mint, Register, Mint. The first mint fails and gets put in the rejected transactions. But in validation those get validated after, so it actually passes this time. We need to revalidate transactions, in the same order as during creation. |
Yeah, that's what I've seen in the code and decided to create this issue. Have you managed to reproduce this bug? |
Yes I reproduced it in a test and managed to fix it. |
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
…ctions in block Siged-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
…ctions in block Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
…ctions in block Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
…ctions in block Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
…ctions in block Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
…ctions in block Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
Signed-off-by: Sam H. Smith <sam.henning.smith@protonmail.com>
By looking at
core/srd/block.rs
I think there is an issue with our revalidation mechanism. Need to check if I'm right or not.Steps to test
What I expect to happen
I believe that peer other than the one you have submitted these transactions will complain about tx 1 because it should fail but it won't.
So if you submit transaction to peer 1, then it will have tx 1 failed and tx 2 succeed. And all other peers should have some failure in logs, because they will have both transactions successful.
What should happen in valid Iroha 2
Nothing wrong, just every peer agrees about tx 1 being failed
The text was updated successfully, but these errors were encountered: