-
Notifications
You must be signed in to change notification settings - Fork 399
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
fix: cowSwap some issue ok-34971 ok-34976 ok-34986 #6504
Conversation
Signed-off-by: 王山栋 <[email protected]>
Review or Edit in CodeSandboxOpen the branch in Web Editor • VS Code • Insiders |
WalkthroughThe pull request introduces enhancements to the swap functionality across multiple files. The changes focus on improving swap history management, transaction approval handling, and quote processing. Key modifications include adding new properties to interfaces, updating state management for swap transactions, and introducing more granular control over batch transfers and quote tracking. Changes
Sequence DiagramsequenceDiagram
participant User
participant SwapComponent
participant QuoteService
participant ApprovalService
participant TransactionService
User->>SwapComponent: Initiate Swap
SwapComponent->>QuoteService: Fetch Quote
QuoteService-->>SwapComponent: Return Quote Details
SwapComponent->>ApprovalService: Request Approval
ApprovalService->>TransactionService: Process Transaction
TransactionService-->>ApprovalService: Approval Confirmation
ApprovalService-->>SwapComponent: Update Quote List
SwapComponent->>User: Display Updated Swap State
Finishing Touches
🪧 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: 1
🔭 Outside diff range comments (1)
packages/kit/src/views/Swap/hooks/useSwapState.ts (1)
Line range hint
126-141
: LGTM! Consider adding JSDocThe new parameter correctly controls batch transfers based on provider capability. Consider adding JSDoc to document the parameters and return value.
+/** + * Determines if batch transfer is supported based on network, account, and provider settings. + * @param networkId - The network identifier + * @param accountId - The account identifier + * @param providerDisableBatchTransfer - Flag indicating if provider disables batch transfers + * @returns boolean indicating if batch transfer is supported + */ export function useSwapBatchTransfer( networkId?: string, accountId?: string, providerDisableBatchTransfer?: boolean, )
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (8)
packages/kit-bg/src/services/ServiceSwap.ts
(3 hunks)packages/kit/src/states/jotai/contexts/swap/actions.ts
(1 hunks)packages/kit/src/views/Swap/hooks/useSwapBuiltTx.ts
(2 hunks)packages/kit/src/views/Swap/hooks/useSwapState.ts
(3 hunks)packages/kit/src/views/Swap/hooks/useSwapTxHistory.ts
(1 hunks)packages/kit/src/views/Swap/pages/components/SwapActionsState.tsx
(1 hunks)packages/kit/src/views/Swap/pages/modal/SwapHistoryDetailModal.tsx
(2 hunks)packages/shared/types/swap/types.ts
(3 hunks)
🔇 Additional comments (9)
packages/kit/src/views/Swap/hooks/useSwapTxHistory.ts (1)
92-92
: LGTM! Clean addition of orderSupportUrlThe new property is correctly mapped from the build response data.
packages/kit/src/views/Swap/pages/components/SwapActionsState.tsx (1)
145-145
: LGTM! Clean integration of provider batch transfer controlThe provider's batch transfer capability is correctly passed to the hook.
packages/shared/types/swap/types.ts (3)
172-172
: LGTM! Required quoteId for tracking approvalsThe quoteId field enables better tracking of approval transactions.
277-283
: LGTM! Enhanced quote result interfaceThe new fields improve support for:
- Order tracking via orderSupportUrl
- Batch transfer control via providerDisableBatchTransfer
577-577
: LGTM! Consistent orderSupportUrl additionThe orderSupportUrl field is consistently added to the history interface.
packages/kit/src/views/Swap/hooks/useSwapBuiltTx.ts (1)
721-721
: LGTM! Good addition for transaction tracking.Adding
quoteId
to the swap approving transaction state improves the connection between approvals and their corresponding quotes.packages/kit-bg/src/services/ServiceSwap.ts (2)
Line range hint
1000-1016
: LGTM! Good cleanup implementation.The code properly handles the cleanup of history items and their associated intervals. The implementation correctly identifies items to delete using either order ID or transaction ID.
1026-1035
: LGTM! Consistent ID handling.The code maintains consistency in handling both order-based and transaction-based history items during cleanup.
packages/kit/src/states/jotai/contexts/swap/actions.ts (1)
669-677
: LGTM! Good quote list management.The code properly filters out quotes after successful approval, using both provider and quoteId for accurate identification. The immutable update pattern is correctly implemented.
Summary by CodeRabbit
Release Notes
New Features
Improvements
Technical Updates
These updates improve the overall swap experience with more granular transaction management and informative history tracking.