-
Notifications
You must be signed in to change notification settings - Fork 5.4k
feat: MMS-2553 unified UI for swaps and bridges #33487
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
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
✨ Files requiring CODEOWNER review ✨🔄 @MetaMask/swaps-engineers (3 files, +127 -59)
|
Builds ready [27b891d]
UI Startup Metrics (1231 ± 76 ms)
Benchmark value 1197 exceeds gate value 1180 for chrome browserify home p95 domContentLoaded Benchmark value 21 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 953 exceeds gate value 940 for chrome browserify home p95 loadScripts Benchmark value 2471 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 1395 exceeds gate value 1380 for firefox webpack home mean load Benchmark value 1395 exceeds gate value 1380 for firefox webpack home mean domContentLoaded Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 1375 exceeds gate value 1360 for firefox webpack home mean loadScripts Benchmark value 1986 exceeds gate value 1935 for firefox webpack home p95 uiStartup Benchmark value 1744 exceeds gate value 1660 for firefox webpack home p95 load Benchmark value 1744 exceeds gate value 1660 for firefox webpack home p95 domContentLoaded Benchmark value 1723 exceeds gate value 1630 for firefox webpack home p95 loadScripts Sum of mean exceeds: 50ms | Sum of p95 exceeds: 374ms Sum of all benchmark exceeds: 424ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [d51cba9]
UI Startup Metrics (1235 ± 66 ms)
Benchmark value 1235 exceeds gate value 1234 for chrome browserify home mean uiStartup Benchmark value 24 exceeds gate value 18 for chrome browserify home p95 backgroundConnect Benchmark value 2814 exceeds gate value 2192 for chrome webpack home mean uiStartup Benchmark value 2275 exceeds gate value 1711 for chrome webpack home mean load Benchmark value 2264 exceeds gate value 1704 for chrome webpack home mean domContentLoaded Benchmark value 207 exceeds gate value 199 for chrome webpack home mean firstPaint Benchmark value 73 exceeds gate value 40 for chrome webpack home mean backgroundConnect Benchmark value 30 exceeds gate value 29 for chrome webpack home mean getState Benchmark value 2258 exceeds gate value 1699 for chrome webpack home mean loadScripts Benchmark value 47 exceeds gate value 32 for chrome webpack home mean setupStore Benchmark value 3205 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 2820 exceeds gate value 2030 for chrome webpack home p95 load Benchmark value 2811 exceeds gate value 2005 for chrome webpack home p95 domContentLoaded Benchmark value 362 exceeds gate value 334 for chrome webpack home p95 firstPaint Benchmark value 330 exceeds gate value 90 for chrome webpack home p95 backgroundConnect Benchmark value 229 exceeds gate value 195 for chrome webpack home p95 getState Benchmark value 2768 exceeds gate value 1970 for chrome webpack home p95 loadScripts Benchmark value 252 exceeds gate value 65 for chrome webpack home p95 setupStore Benchmark value 12 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 36 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Sum of mean exceeds: 2368ms | Sum of p95 exceeds: 3652ms Sum of all benchmark exceeds: 6020ms Bundle size diffs
|
Builds ready [d68ca52]
UI Startup Metrics (1232 ± 67 ms)
Benchmark value 45 exceeds gate value 32 for chrome webpack home mean setupStore Benchmark value 303 exceeds gate value 65 for chrome webpack home p95 setupStore Benchmark value 18 exceeds gate value 11 for firefox browserify home mean getState Benchmark value 162 exceeds gate value 24 for firefox browserify home p95 getState Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender Sum of mean exceeds: 23ms | Sum of p95 exceeds: 382ms Sum of all benchmark exceeds: 405ms Bundle size diffs [🚀 Bundle size reduced!]
|
Builds ready [c8c7a3f]
UI Startup Metrics (1217 ± 65 ms)
Benchmark value 2506 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 311 exceeds gate value 65 for chrome webpack home p95 setupStore Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Sum of mean exceeds: 24ms | Sum of p95 exceeds: 298ms Sum of all benchmark exceeds: 322ms Bundle size diffs [🚀 Bundle size reduced!]
|
Builds ready [0187eda]
UI Startup Metrics (1207 ± 68 ms)
Benchmark value 309 exceeds gate value 65 for chrome webpack home p95 setupStore Benchmark value 40 exceeds gate value 38 for firefox webpack home mean firstReactRender Sum of mean exceeds: 16ms | Sum of p95 exceeds: 244ms Sum of all benchmark exceeds: 260ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
| // Yield topTokens from selected chain | ||
| for (const token_ of topTokens) { | ||
| const matchedToken = tokenList?.[token_.address]; | ||
| const matchedToken = tokenList?.[token_.address.toLowerCase()]; |
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.
I think this breaks the Solana topTokens ordering bc those addresses are case-sensitive
Builds ready [b438604]
UI Startup Metrics (1214 ± 77 ms)
Benchmark value 54 exceeds gate value 32 for chrome webpack home mean setupStore Benchmark value 2506 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 312 exceeds gate value 65 for chrome webpack home p95 setupStore Benchmark value 1473 exceeds gate value 1405 for firefox browserify home mean uiStartup Benchmark value 1306 exceeds gate value 1245 for firefox browserify home mean load Benchmark value 1306 exceeds gate value 1239 for firefox browserify home mean domContentLoaded Benchmark value 26 exceeds gate value 25 for firefox browserify home mean backgroundConnect Benchmark value 26 exceeds gate value 25 for firefox browserify home mean firstReactRender Benchmark value 1283 exceeds gate value 1230 for firefox browserify home mean loadScripts Benchmark value 1677 exceeds gate value 1660 for firefox browserify home p95 uiStartup Benchmark value 1509 exceeds gate value 1495 for firefox browserify home p95 load Benchmark value 1509 exceeds gate value 1495 for firefox browserify home p95 domContentLoaded Benchmark value 1478 exceeds gate value 1475 for firefox browserify home p95 loadScripts Benchmark value 42 exceeds gate value 38 for firefox webpack home mean firstReactRender Sum of mean exceeds: 277ms | Sum of p95 exceeds: 353ms Sum of all benchmark exceeds: 630ms Bundle size diffs
|
| : fromToken.address?.toLowerCase(), | ||
| // Ensure chainId is in CAIP format for proper comparison |
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.
Non-evm addresses can be case-sensitive so I'd suggest avoiding case-insensitive comparisons and not using toLowerCase unless necessary. Maybe you can remove the lowercase operations on lines 200-201 as well if this is not lowecased?
Builds ready [1c83dfd]
UI Startup Metrics (1222 ± 67 ms)
Benchmark value 2486 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 306 exceeds gate value 65 for chrome webpack home p95 setupStore Benchmark value 41 exceeds gate value 38 for firefox webpack home mean firstReactRender Sum of mean exceeds: 18ms | Sum of p95 exceeds: 273ms Sum of all benchmark exceeds: 291ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Builds ready [863fe7d]
UI Startup Metrics (1218 ± 63 ms)
Benchmark value 2464 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 315 exceeds gate value 65 for chrome webpack home p95 setupStore Benchmark value 39 exceeds gate value 38 for firefox webpack home mean firstReactRender Sum of mean exceeds: 36ms | Sum of p95 exceeds: 260ms Sum of all benchmark exceeds: 296ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Co-authored-by: Micaela Estabillo <100321200+micaelae@users.noreply.github.com>
Builds ready [b497908]
UI Startup Metrics (1186 ± 46 ms)
Benchmark value 2489 exceeds gate value 2454 for chrome webpack home p95 uiStartup Benchmark value 311 exceeds gate value 65 for chrome webpack home p95 setupStore Benchmark value 44 exceeds gate value 38 for firefox webpack home mean firstReactRender Benchmark value 53 exceeds gate value 50 for firefox webpack home p95 firstReactRender Sum of mean exceeds: 24ms | Sum of p95 exceeds: 284ms Sum of all benchmark exceeds: 308ms Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Description
Adds support for unified UI (swapping and bridging on a singular page). When isUnifiedUIEnabled is true, we provide swapping and bridging all within the prepare-bridge-page. When it is false, care was taken to ensure that functionality remains backwards-compatible.
Related issues
Closes: https://consensyssoftware.atlassian.net/browse/MMS-2553
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist