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

[EVM] Side-effect integration testing #5748

Open
Tracked by #5912
sideninja opened this issue Apr 22, 2024 · 3 comments · May be fixed by #5937
Open
Tracked by #5912

[EVM] Side-effect integration testing #5748

sideninja opened this issue Apr 22, 2024 · 3 comments · May be fixed by #5937
Assignees
Labels

Comments

@sideninja
Copy link
Member

Executing EVM transactions with different combinations of modifications to the state can lead to unwanted side-effects between transactions. With the introduction of Cadence arch and batch transactions that risk increased.

We want to have a set of tests that focus on detecting how a combination of different interactions should not have unpredicted side-effects.

We should write tests that run a different combination (possibly at random) with batch transactions and different Cadence arch interactions and make sure the state after is as expected.

@sideninja
Copy link
Member Author

maybe if you have time just add an extra test in emulator or evm with a sequence of transactions (each emit an event and update a value) like this:
Successful, Invalid, Successful, Failed, Successful
Then we can check no side effect across transactions.

@sideninja
Copy link
Member Author

Update the test contract and add a function that adds prime numbers to the list of numbers, the sum of those numbers at the end should be exactly what we predict, because the sum only contains a sublist of numbers from transactions that should be added and not those that shouldn't (fail, invalid etc)

@sideninja
Copy link
Member Author

Test the storage method for Refund, it's being called by EVM itself and we should check that is being properly handled with no unexpected side-effects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants