-
Notifications
You must be signed in to change notification settings - Fork 191
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
test(katana-executor): add test for transaction simulation #1593
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev/katana #1593 +/- ##
=============================================
Coverage ? 60.80%
=============================================
Files ? 271
Lines ? 29003
Branches ? 0
=============================================
Hits ? 17635
Misses ? 11368
Partials ? 0 ☔ View full report in Codecov by Sentry. |
kariy
added a commit
that referenced
this pull request
Mar 4, 2024
kariy
added a commit
to kariy/dojo
that referenced
this pull request
Mar 4, 2024
kariy
added a commit
that referenced
this pull request
Mar 5, 2024
kariy
added a commit
that referenced
this pull request
Mar 7, 2024
kariy
added a commit
that referenced
this pull request
Mar 11, 2024
glihm
added a commit
that referenced
this pull request
Mar 12, 2024
* chore: bump dependencies * fix: update cairo-lang * fix: add missing run_profiler * fix: fmt * update cairo-vm rev * wip * wip * fmt * fix: ensure semantics analyzer plugin is registered * chore(katana): make ethers non optional since U256 is used outside messaging * fix: run CAIRO_FIX_TESTS * fix(dojo-core): remove compiler warnings * git: add sozo generated bindings to gitignore * fix: fix class hash * fix: class hash generated code * fix(dojo-core): fix tests and compilation warnings * chore: integrate snos on cairo2.5 * chore: update Cargo.lock * wip: work on integration of katana types * wip: fetch strategy * fix * feat: add parsing of state diff for genesis block * wip * wip * fix: rework provider for saya and RPC implem * wip * wip: snos types * wip txs * wip: fix snos parsing need to complete inputs * chore: switch back to git snos * chore: bump blockifier to use Serde on TransactionExecutionInfo * feat: add saya RPC namespace * feat: add transaction execution info to in memory db * fix: remove unused code covered by other test * fix: add logic for small requests to get transactions executions info * fix: fetch transactions executions info instead of running blockifier * fix: fmt and clippy * docs: fix unused type * fix: add tests for new transactions execution retrieval * fix: add correct test to check no pending support * fix: restore unchanged file * fix: rename new provider trait to TransactionTraceProvider * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * adjust new types for Katana blockchain and SNOS * fix: clippy * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * feat: add new primitive for trace and blockifier conversions * feat: add TransactionExecutionInfo convert from blockifier * feat: add executor trait method to retrieve the execution info * fix: ensure tx execution info is passed in block producer * chore: restore dependency on blockifier as we use TxExecInfo primitive * refactor(katana): decouple `katana-primitives` from any executor impls (#1637) * fix: clippy / fmt * merge * fix: clippy --------- Co-authored-by: Kariy <[email protected]> Co-authored-by: Ammar Arif <[email protected]>
kariy
added a commit
that referenced
this pull request
Mar 18, 2024
kariy
added a commit
that referenced
this pull request
Mar 18, 2024
* chore: bump dependencies * fix: update cairo-lang * fix: add missing run_profiler * fix: fmt * update cairo-vm rev * wip * wip * fmt * fix: ensure semantics analyzer plugin is registered * chore(katana): make ethers non optional since U256 is used outside messaging * fix: run CAIRO_FIX_TESTS * fix(dojo-core): remove compiler warnings * git: add sozo generated bindings to gitignore * fix: fix class hash * fix: class hash generated code * fix(dojo-core): fix tests and compilation warnings * chore: integrate snos on cairo2.5 * chore: update Cargo.lock * wip: work on integration of katana types * wip: fetch strategy * fix * feat: add parsing of state diff for genesis block * wip * wip * fix: rework provider for saya and RPC implem * wip * wip: snos types * wip txs * wip: fix snos parsing need to complete inputs * chore: switch back to git snos * chore: bump blockifier to use Serde on TransactionExecutionInfo * feat: add saya RPC namespace * feat: add transaction execution info to in memory db * fix: remove unused code covered by other test * fix: add logic for small requests to get transactions executions info * fix: fetch transactions executions info instead of running blockifier * fix: fmt and clippy * docs: fix unused type * fix: add tests for new transactions execution retrieval * fix: add correct test to check no pending support * fix: restore unchanged file * fix: rename new provider trait to TransactionTraceProvider * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * adjust new types for Katana blockchain and SNOS * fix: clippy * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * feat: add new primitive for trace and blockifier conversions * feat: add TransactionExecutionInfo convert from blockifier * feat: add executor trait method to retrieve the execution info * fix: ensure tx execution info is passed in block producer * chore: restore dependency on blockifier as we use TxExecInfo primitive * refactor(katana): decouple `katana-primitives` from any executor impls (#1637) * fix: clippy / fmt * merge * fix: clippy --------- Co-authored-by: Kariy <[email protected]> Co-authored-by: Ammar Arif <[email protected]>
kariy
added a commit
that referenced
this pull request
Mar 20, 2024
kariy
added a commit
that referenced
this pull request
Mar 20, 2024
* chore: bump dependencies * fix: update cairo-lang * fix: add missing run_profiler * fix: fmt * update cairo-vm rev * wip * wip * fmt * fix: ensure semantics analyzer plugin is registered * chore(katana): make ethers non optional since U256 is used outside messaging * fix: run CAIRO_FIX_TESTS * fix(dojo-core): remove compiler warnings * git: add sozo generated bindings to gitignore * fix: fix class hash * fix: class hash generated code * fix(dojo-core): fix tests and compilation warnings * chore: integrate snos on cairo2.5 * chore: update Cargo.lock * wip: work on integration of katana types * wip: fetch strategy * fix * feat: add parsing of state diff for genesis block * wip * wip * fix: rework provider for saya and RPC implem * wip * wip: snos types * wip txs * wip: fix snos parsing need to complete inputs * chore: switch back to git snos * chore: bump blockifier to use Serde on TransactionExecutionInfo * feat: add saya RPC namespace * feat: add transaction execution info to in memory db * fix: remove unused code covered by other test * fix: add logic for small requests to get transactions executions info * fix: fetch transactions executions info instead of running blockifier * fix: fmt and clippy * docs: fix unused type * fix: add tests for new transactions execution retrieval * fix: add correct test to check no pending support * fix: restore unchanged file * fix: rename new provider trait to TransactionTraceProvider * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * adjust new types for Katana blockchain and SNOS * fix: clippy * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * feat: add new primitive for trace and blockifier conversions * feat: add TransactionExecutionInfo convert from blockifier * feat: add executor trait method to retrieve the execution info * fix: ensure tx execution info is passed in block producer * chore: restore dependency on blockifier as we use TxExecInfo primitive * refactor(katana): decouple `katana-primitives` from any executor impls (#1637) * fix: clippy / fmt * merge * fix: clippy --------- Co-authored-by: Kariy <[email protected]> Co-authored-by: Ammar Arif <[email protected]>
kariy
added a commit
that referenced
this pull request
Mar 21, 2024
kariy
added a commit
that referenced
this pull request
Mar 21, 2024
* chore: bump dependencies * fix: update cairo-lang * fix: add missing run_profiler * fix: fmt * update cairo-vm rev * wip * wip * fmt * fix: ensure semantics analyzer plugin is registered * chore(katana): make ethers non optional since U256 is used outside messaging * fix: run CAIRO_FIX_TESTS * fix(dojo-core): remove compiler warnings * git: add sozo generated bindings to gitignore * fix: fix class hash * fix: class hash generated code * fix(dojo-core): fix tests and compilation warnings * chore: integrate snos on cairo2.5 * chore: update Cargo.lock * wip: work on integration of katana types * wip: fetch strategy * fix * feat: add parsing of state diff for genesis block * wip * wip * fix: rework provider for saya and RPC implem * wip * wip: snos types * wip txs * wip: fix snos parsing need to complete inputs * chore: switch back to git snos * chore: bump blockifier to use Serde on TransactionExecutionInfo * feat: add saya RPC namespace * feat: add transaction execution info to in memory db * fix: remove unused code covered by other test * fix: add logic for small requests to get transactions executions info * fix: fetch transactions executions info instead of running blockifier * fix: fmt and clippy * docs: fix unused type * fix: add tests for new transactions execution retrieval * fix: add correct test to check no pending support * fix: restore unchanged file * fix: rename new provider trait to TransactionTraceProvider * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * adjust new types for Katana blockchain and SNOS * fix: clippy * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * feat: add new primitive for trace and blockifier conversions * feat: add TransactionExecutionInfo convert from blockifier * feat: add executor trait method to retrieve the execution info * fix: ensure tx execution info is passed in block producer * chore: restore dependency on blockifier as we use TxExecInfo primitive * refactor(katana): decouple `katana-primitives` from any executor impls (#1637) * fix: clippy / fmt * merge * fix: clippy --------- Co-authored-by: Kariy <[email protected]> Co-authored-by: Ammar Arif <[email protected]>
kariy
added a commit
that referenced
this pull request
Mar 26, 2024
…namespace (#1697) * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * refactor(katana): decouple `katana-primitives` from any executor impls (#1637) * test(katana-executor): improve tests and add test for state (#1649) - add tests for each executor's CachedState - improve test in executor.rs - fix sir not enough gas error - fix test in simulate.rs * feat(saya): load data from Katana to run `SNOS` (#1535) * chore: bump dependencies * fix: update cairo-lang * fix: add missing run_profiler * fix: fmt * update cairo-vm rev * wip * wip * fmt * fix: ensure semantics analyzer plugin is registered * chore(katana): make ethers non optional since U256 is used outside messaging * fix: run CAIRO_FIX_TESTS * fix(dojo-core): remove compiler warnings * git: add sozo generated bindings to gitignore * fix: fix class hash * fix: class hash generated code * fix(dojo-core): fix tests and compilation warnings * chore: integrate snos on cairo2.5 * chore: update Cargo.lock * wip: work on integration of katana types * wip: fetch strategy * fix * feat: add parsing of state diff for genesis block * wip * wip * fix: rework provider for saya and RPC implem * wip * wip: snos types * wip txs * wip: fix snos parsing need to complete inputs * chore: switch back to git snos * chore: bump blockifier to use Serde on TransactionExecutionInfo * feat: add saya RPC namespace * feat: add transaction execution info to in memory db * fix: remove unused code covered by other test * fix: add logic for small requests to get transactions executions info * fix: fetch transactions executions info instead of running blockifier * fix: fmt and clippy * docs: fix unused type * fix: add tests for new transactions execution retrieval * fix: add correct test to check no pending support * fix: restore unchanged file * fix: rename new provider trait to TransactionTraceProvider * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * adjust new types for Katana blockchain and SNOS * fix: clippy * refactor(katana): change stored compiled class (#1559) Both `blockifier` and `starknet_in_rust` use their own proprietary contract class types. So need to have a type where the types from those two crates can be derived from. * refactor(katana-primitives): move class related types to a separate module (#1560) * Katana executor traits (#1561) * feat(katana-executor): add `blockifier` executor implementations (#1562) implement the executor traits introduced in #1561 based on `blockifier` * Refactor Katana to using the new executor traits (#1563) integrate the new executor traits introduced in #1561 to katana * feat(katana-executor): add starknet_in_rust executor (#1564) * doc(katana-executor): add README * test(katana-executor): add test for transaction simulation (#1593) * test(katana-executor): refactor simulate tests (#1606) refactor tests * feat: add new primitive for trace and blockifier conversions * feat: add TransactionExecutionInfo convert from blockifier * feat: add executor trait method to retrieve the execution info * fix: ensure tx execution info is passed in block producer * chore: restore dependency on blockifier as we use TxExecInfo primitive * refactor(katana): decouple `katana-primitives` from any executor impls (#1637) * fix: clippy / fmt * merge * fix: clippy --------- Co-authored-by: Kariy <[email protected]> Co-authored-by: Ammar Arif <[email protected]> * feat(katana-primitives): add fee info type * Refactor executor output * fix(katana): add missing contract address in `CallInfo` * Remove `native` feature for now * Limit nextest build jobs * refactor(katana-executor): add logs for transaction events and resources * fix(katana-executor): return reverted tx as error in estimate fee --------- Co-authored-by: glihm <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
add test for
TransactionExecutor::simulate()
method