-
Notifications
You must be signed in to change notification settings - Fork 14
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
refactor(x/crosschain): remove unnecessary storage of transaction batch #781
Conversation
WalkthroughThe pull request introduces several changes to the Changes
Possibly related PRs
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 (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
x/crosschain/keeper/bridge_call_out.go (1)
325-327
: Consider wrapping the error for better debugging contextWhile the error handling is correct, consider wrapping the error to provide additional context about where the error occurred.
- if _, err := k.BuildOutgoingTxBatch(ctx, from, receipt, amount, fee); err != nil { + if _, err := k.BuildOutgoingTxBatch(ctx, from, receipt, amount, fee); err != nil { + return fmt.Errorf("failed to build outgoing tx batch: %w", err)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- x/crosschain/keeper/bridge_call_out.go (1 hunks)
- x/crosschain/keeper/outgoing_tx.go (0 hunks)
💤 Files with no reviewable changes (1)
- x/crosschain/keeper/outgoing_tx.go
🔇 Additional comments (2)
x/crosschain/keeper/bridge_call_out.go (2)
321-323
: LGTM: Clean implementation of origin token caching for IBC transfersThe implementation correctly handles caching of the total amount (transfer + fee) for IBC transfers when origin token is enabled.
321-327
: Verify the impact of storage removal on existing functionalityThe changes simplify storage handling, but let's verify there are no unintended consequences.
✅ Verification successful
Let me gather more information about the storage changes and their impact.
Based on the results, I can now generate the final response as we have sufficient information about the caching and batch-related functionality.
Storage changes are safe and aligned with the codebase design
The changes to storage handling are part of a well-structured caching system where:
- The cache operations (
SetCache
,GetCache
,DeleteCache
) are properly implemented in theerc20
keeper- The caching is used consistently for both IBC transfers and bridge operations
- The changes maintain the existing functionality while removing unnecessary storage operations
The modification in question is specifically handling the caching of token amounts for:
- Origin token transfers (
originToken
case)- Outgoing transaction batches (else case)
Both paths are properly maintained, with the origin token case using the cache system and the batch case using the batch-specific storage methods.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check for any remaining references to the old storage pattern rg -g '!{*.md,*.mod,*.sum}' -A 3 'outgoing.*batch.*storage|batch.*storage|transaction.*storage' . # Look for any tests that might need updating rg -g '*_test.go' -A 3 'TestBuildOutgoingTxBatch|TestOutgoingTxBatch'Length of output: 804
Script:
#!/bin/bash # Check for storage-related functions and their usage ast-grep --pattern 'func $_ BuildOutgoingTxBatch($$$) { $$$ }' # Look for related storage operations rg -g '*.go' -B 2 -A 5 'SetCache|GetCache|DeleteCache' . # Check for any other batch-related operations rg -g '*.go' -B 2 -A 5 'outgoing.*batch|batch.*tx' .Length of output: 27243
Summary by CodeRabbit
New Features
Bug Fixes
Refactor
OutgoingTxBatchExecuted
method by eliminating the transaction deletion loop.