-
Notifications
You must be signed in to change notification settings - Fork 428
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
(Transaction History) Use new Numia messageType filter to avoid polluting transaction history list #4009
(Transaction History) Use new Numia messageType filter to avoid polluting transaction history list #4009
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
4 Skipped Deployments
|
Warning There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure. 🔧 eslint
packages/server/src/queries/complex/transactions/transactions.tsOops! Something went wrong! :( ESLint: 8.50.0 ESLint couldn't find the config "prettier" to extend from. Please check that the name of the config is correct. The config "prettier" was referenced from the config file in "/packages/server/.eslintrc.js". If you still have problems, please stop by https://eslint.org/chat/help to chat with the team. WalkthroughThe pull request introduces enhancements to the transaction querying functionality across several files. The Changes
Possibly related PRs
Suggested reviewers
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (3)
🔇 Additional comments (4)packages/web/server/api/local-router.ts (1)
The addition of poolsRouter is consistent with the PR's objective to filter transaction history, as pool-related operations are a subset of swap transactions. packages/server/src/queries/data-services/transactions.ts (2)
The messageTypes parameter is properly typed and integrated into the function signature.
The implementation correctly handles empty arrays and joins message types with commas. However, let's verify the API contract. ✅ Verification successfulImplementation correctly handles messageTypes parameter format The implementation is correct and consistent with Numia API usage patterns. The code:
🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Verify Numia API documentation or examples for messageTypes parameter format
# Expected: Documentation showing comma-separated messageTypes in query params
# Search for API documentation files
fd -t f -e md -e txt . | xargs rg -l "Numia.*API|messageTypes.*parameter"
# Search for existing usage patterns
rg -A 2 "messageTypes.*append"
Length of output: 108 Script: #!/bin/bash
# Let's try a broader search to understand the API integration patterns
# Search for Numia-related configurations or API endpoints
rg -i "numia.*api|numia.*endpoint|numia.*url" -A 3
# Search for any test files or examples using messageTypes
fd -t f -e test.ts -e spec.ts . | xargs rg "messageTypes"
# Look for any HTTP client configurations or API calls
ast-grep --pattern 'fetch($$$url$$$, { $$$params$$$ })'
Length of output: 2555 Script: #!/bin/bash
# Let's examine the specific file and its surrounding context to understand the API usage pattern
# Look at the entire transactions.ts file
cat packages/server/src/queries/data-services/transactions.ts
# Search for any other files that might be using similar API patterns
rg -g '!*.test.ts' -g '!*.spec.ts' "searchParams.append" -B 2 -A 2
Length of output: 17475 packages/server/src/queries/complex/transactions/transactions.ts (1)
Consider extracting these message types into named constants for better maintainability and reusability. +const SWAP_MESSAGE_TYPES = [
+ "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn",
+ "/osmosis.poolmanager.v1beta1.MsgSplitRouteSwapExactAmountIn",
+ "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountOut",
+ "/osmosis.poolmanager.v1beta1.MsgSplitRouteSwapExactAmountOut",
+] as const;
const data = await queryTransactions({
address,
page,
pageSize,
- messageTypes: [
- "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn",
- "/osmosis.poolmanager.v1beta1.MsgSplitRouteSwapExactAmountIn",
- "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountOut",
- "/osmosis.poolmanager.v1beta1.MsgSplitRouteSwapExactAmountOut",
- ],
+ messageTypes: SWAP_MESSAGE_TYPES,
}); Verify completeness of swap message types Let's ensure we haven't missed any swap-related message types. ✅ Verification successfulBased on the search results, I can now generate the final response since I have enough information to verify the completeness of swap message types: All swap message types are correctly included The message types array is complete and includes all available swap-related message types from the Osmosis poolmanager v1beta1 module. The codebase search confirms these are the only swap message types used across the entire application:
The suggestion to extract these into constants remains valid for better maintainability. 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Search for other potential swap message types in the codebase
# Expected: Confirmation that all swap message types are included
# Search for message type definitions in proto files
fd -e proto . | xargs rg "message.*Swap.*{|message.*Route.*{" -A 5
# Search for other swap-related message types in code
rg "MsgSwap|RouteSwap"
Length of output: 67871 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 (
|
What is the purpose of the change:
The
/v2/txs/{address}
endpoint currently retrieves all transaction messages, including those not relevant to specific use cases. This has led to issues with empty pages in the transaction history table due to the inclusion of unused message types.To address this we'll use the messageType filter now that the txs endpoint supports filtering transactions using query parameters.
Linear Task
https://linear.app/osmosis/issue/FE-1288/use-new-numia-messagetype-filter-to-avoid-polluting-transaction
Testing and Verifying