Skip to content

fix(torii-core): store v3 transactions - #2768

Merged
glihm merged 1 commit into
dojoengine:mainfrom
Larkooo:fix-transactions-indexing
Dec 5, 2024
Merged

fix(torii-core): store v3 transactions#2768
glihm merged 1 commit into
dojoengine:mainfrom
Larkooo:fix-transactions-indexing

Conversation

@Larkooo

@Larkooo Larkooo commented Dec 5, 2024

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Enhanced support for a new version of invoke transactions, allowing for better transaction handling and storage.
  • Bug Fixes

    • Adjusted logic to handle cases without max_fee for the new transaction type, ensuring proper functionality.
  • Documentation

    • Minor formatting adjustments and comments added for improved clarity.

@coderabbitai

coderabbitai Bot commented Dec 5, 2024

Copy link
Copy Markdown
Contributor

Walkthrough

Ohayo, sensei! The changes in this pull request focus on the store_transaction method within the Sql struct in the SQL module. A new case for handling Transaction::Invoke(InvokeTransaction::V3) has been introduced, allowing the method to extract and store specific properties of this transaction type. Additionally, the logic has been updated to set max_fee to Felt::ZERO when it's absent. Minor formatting changes and comments have also been made for clarity, but the core functionality remains intact.

Changes

File Path Change Summary
crates/torii/core/src/sql/mod.rs Updated store_transaction method to handle Transaction::Invoke(InvokeTransaction::V3) with new property extractions and adjusted logic for max_fee. Minor formatting and comment improvements included.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Sql
    participant Database

    User->>Sql: store_transaction(transaction, transaction_id, block_timestamp)
    Sql->>Sql: Check transaction type
    alt Transaction::Invoke(InvokeTransaction::V3)
        Sql->>Sql: Extract properties (transaction_hash, sender_address, calldata, signature, nonce)
        Sql->>Sql: Set max_fee to Felt::ZERO if absent
    end
    Sql->>Database: Store transaction details
Loading

📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between ffc9259 and 4afbe62.

📒 Files selected for processing (1)
  • crates/torii/core/src/sql/mod.rs (1 hunks)
🔇 Additional comments (1)
crates/torii/core/src/sql/mod.rs (1)

546-553: Ohayo, sensei! Verify handling of max_fee for InvokeTransaction::V3

Since InvokeTransaction::V3 transactions have no max_fee, setting max_fee to Felt::ZERO is acceptable. However, please ensure that any downstream code or database queries correctly interpret max_fee being zero for V3 transactions. It's important to verify that this doesn't cause misinterpretation where a zero max_fee might be considered an actual fee value rather than an indication of absence.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@codecov

codecov Bot commented Dec 5, 2024

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 0% with 8 lines in your changes missing coverage. Please review.

Project coverage is 55.50%. Comparing base (ffc9259) to head (4afbe62).
Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
crates/torii/core/src/sql/mod.rs 0.00% 8 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2768      +/-   ##
==========================================
- Coverage   55.51%   55.50%   -0.01%     
==========================================
  Files         434      434              
  Lines       54295    54303       +8     
==========================================
+ Hits        30140    30142       +2     
- Misses      24155    24161       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@glihm
glihm merged commit 90e2edd into dojoengine:main Dec 5, 2024
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

Successfully merging this pull request may close these issues.

2 participants