-
Notifications
You must be signed in to change notification settings - Fork 4
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
fixes: get_signature_statuses implementation, epoch progress #31
Conversation
Caution Review failedThe pull request is closed. WalkthroughThe changes refactor the processing of transaction signature statuses and update the transaction history state. In the RPC module, the get_signature_statuses method now distinguishes between signatures found locally and those requiring remote fetching by using separate vectors. In the simnet module, transaction states are encapsulated in the new EntryStatus enum with Received and Processed variants, and the GlobalState history field is updated accordingly. An additional method, expect_processed, is provided along with event handling logic for ExpireBlockHash. Overall, the modifications clarify control flow and state management. Changes
Sequence Diagram(s)sequenceDiagram
participant C as Client
participant F as Full Service
participant LH as LocalHistory
participant RF as RemoteFetcher
C->>F: get_signature_statuses(list of signatures)
loop For each signature
F->>LH: Check local entry status
alt Status Found
LH-->>F: Return EntryStatus (Received/Processed)
else Not Found
F->>RF: Fetch transaction details
RF-->>F: Return status details
end
end
F->>C: Return aggregated statuses
sequenceDiagram
participant T as Transaction
participant GS as GlobalState
participant P as Processor
T->>GS: Insert transaction (set as Received)
P->>GS: Process transaction and update status
GS-->>P: Mark entry as Processed with metadata
P->>GS: Call expect_processed()
GS-->>P: Return TransactionWithStatusMeta
Possibly related PRs
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (2)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit
New Features
• Enhanced transaction processing now clearly distinguishes between newly received and processed transactions.
• Introduced an automatic mechanism to expire outdated data, boosting overall system reliability.
Refactor
• Streamlined the approach for retrieving transaction statuses, merging local lookup and remote fetching into a more efficient flow.