chore: initial refactor for limit orders#7912
Conversation
0xApotheosis
left a comment
There was a problem hiding this comment.
Code-wise this is looking good.
I did a regression test with this branch (left) against develop (right) and found a few small but important things:
❌ Going to the Claim tab and back again leads to a an empty Trade/Bridge route
✅ End-to-end trade flow (including approval)
❌ Padding broken
We are missing the padding (48px) that was wrapping the Trade component
❓ Infinite quote loading is back, and a weird flicker in the quote list - note this happened once and I couldn't repro again, so I"m not going to pin it to this branch
quote-list-flicker.mp4
587b9c6 to
8272547
Compare
0xApotheosis
left a comment
There was a problem hiding this comment.
Retested - issues from the previous review have been resolved, looking good.
src/components/MultiHopTrade/components/SharedTradeInput/SharedTradeInput.tsx
Outdated
Show resolved
Hide resolved
src/components/MultiHopTrade/components/TradeInput/TradeInput.tsx
Outdated
Show resolved
Hide resolved
gomesalexandre
left a comment
There was a problem hiding this comment.
First conceptual pass, one smolish comment re: useAccountIds() destructured vals renaming but nothing obviously standing out here, runtime pass to follow!
gomesalexandre
left a comment
There was a problem hiding this comment.
Tested against prod (right, note that is not develop because of current ws issues in develop endpoints) and with app env, couldn't find any regression in swapper either presentational or functional!
- Trade input is happy (desktop)
- Trade input is happy (mobile)
- Claims are happy (mobile)
- Claims are happy (desktop)
- Quotes list (desktop)
- Quotes list (mobile)
- Cog settings wheel is happy
https://jam.dev/c/21445392-954b-4017-b643-39305a9afd30
- Trade confirm/execution is happy
https://jam.dev/c/7b57952c-cd00-404b-b134-2d8eecfc667d
- Multi-account and manual receive address swaps are happy
Description
Refactors trade input components to allow us easy build-out of limit orders.
Likely plenty more can be done to streamline things for limit orders component-wise, but this PR is intended to be an 80:20 of value:effort so many of the known improvements are intentionally left out where the effort of changing these are one of:
Issue (if applicable)
closes #7908
Risk
High risk. The changes here are theoretically straightforwards but considering the impact of getting things wrong and breaking the ability to make trades, we should review this under a "high risk" lens.
All trades for all protocols, namely UI transitions and interactions.
Additionally, arbitrum bridge which is not directly affected but may be indirectly affected UI-wise.
Testing
Swaps, bridges, quotes, should be EXACTLY the same as prod.
Check trades, namely UI transitions and interactions around:
Additionally test the arbitrum bridge which is not directly affected but may be indirectly affected UI-wise.
Engineering
Rebase was finicky, so please double check regression of https://github.com/shapeshift/web/pull/7896/files
Operations
Screenshots (if applicable)
A trade
https://jam.dev/c/6f6d30de-65eb-49e3-8c8d-20b621c4e283
Mobile layout unchanged