-
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
feat(Multichain): Multichain Safes with same address #4120
Conversation
- Sidebar groups Safes with the same address and shows them first. - New designs for safe groups
Branch preview✅ Deploy successful! Storybook: |
ESLint Summary View Full Report
Report generated by eslint-plus-action |
📦 Next.js Bundle Analysis for safe-wallet-webThis analysis was generated by the Next.js Bundle Analysis action. 🤖
|
Page | Size (compressed) |
---|---|
global |
988.17 KB (🟡 +26.93 KB) |
Details
The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.
Any third party scripts you have added directly to your app using the <script>
tag are not accounted for in this analysis
If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!
Seventeen Pages Changed Size
The following pages changed size from the code in this PR compared to its base branch:
Page | Size (compressed) | First Load |
---|---|---|
/ |
511 B (🟢 -24.37 KB) |
988.67 KB |
/address-book |
26.09 KB (🟡 +5 B) |
1014.26 KB |
/apps/open |
55.18 KB (-1 B) |
1.02 MB |
/balances |
29.42 KB (🟢 -1.52 KB) |
1017.59 KB |
/balances/nfts |
19.18 KB (-1 B) |
1007.35 KB |
/home |
57.33 KB (🟢 -931 B) |
1.02 MB |
/new-safe/advanced-create |
36.48 KB (🟡 +1.39 KB) |
1 MB |
/new-safe/create |
35.73 KB (🟡 +1.38 KB) |
1023.9 KB |
/new-safe/load |
16.41 KB (🟡 +8 B) |
1004.58 KB |
/settings/modules |
9.82 KB (🟡 +38 B) |
997.99 KB |
/settings/notifications |
27.03 KB (-2 B) |
1015.2 KB |
/settings/setup |
35.98 KB (🟡 +5 B) |
1 MB |
/transactions |
73.53 KB (-1 B) |
1.04 MB |
/transactions/history |
73.5 KB (-1 B) |
1.04 MB |
/transactions/tx |
21.08 KB (-2 B) |
1009.25 KB |
/welcome |
6.8 KB (🟢 -1 B) |
994.97 KB |
/welcome/accounts |
379 B (🟢 -1 B) |
988.54 KB |
Details
Only the gzipped size is provided here based on an expert tip.
First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link
is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.
Any third party scripts you have added directly to your app using the <script>
tag are not accounted for in this analysis
Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.
Coverage report
Show new covered files 🐣
Show files with reduced coverage 🔻
Test suite run success1570 tests passing in 207 suites. Report generated by 🧪jest coverage report action from 295fef7 |
- Implements replaying a Safe creation on another compatible network
ESLint Summary View Full Report
Report generated by eslint-plus-action |
ESLint Summary View Full Report
Report generated by eslint-plus-action |
ESLint Summary View Full Report
Report generated by eslint-plus-action |
* feat: SetupToL2 during Safe creation * feat: use setupToL2 when relaying safe creation * Feat: add network selector to safe setup * feat: deploy CF safes on selected networks * feat: require at least on network to be selected * fix: creation overview network styles * Fix: only show wrong chain warning when relevant * fix: unit tests for ReviewStep and relay creation * fix: load safe cypress tests * remove unecessary check in safe creation * feat: simplify mnemonic safe name * fix: network multiselector chip styles * fix: update safe name unit test * refactor: change multiselector to uncontrolled component with RHF * fix: remove references to pay later option when it is not available * feat: exclude xksync from multichain and only offer chains of the same version * fix: dont allow older safes to be deployed as multichain group * only allow selecting a single network in the advanced safe creation flow * fix: check across chains for the next available saltNonce * fix: wrong chain warning on activation flow * allow CF deployment for m/n safes * feat: show success modal on multichain safe creation * fix: only allow networks with canonical 1.4.1 deployments to be multichain safes * fix: dismiss CF creation modal in cypress tests * feat: modify fee info text for multi chain safe creation * fix: remove unecessary promise.all and account for undefined numberOfOwners in setup hints * fix: remove unused code and use router.replace for network multi selector * refactor: move setup contract address to constants.ts * fix: check chains are compatible with first selected network and wrap multiselector functions in useCallbacl * fix: remove commented code --------- Co-authored-by: James Mealy <[email protected]>
…chain safe [SW-150] (#4151) * feat: add warning when adding or removing an owner to multichain safes * fix: change owner to signer in text and fix typos * feat: use current chain name in warning message
ESLint Summary View Full Report
Report generated by eslint-plus-action |
…-171] (#4163) * fix: Hide header network selector on non-safe routes * fix: Failing import export data e2e test * fix: Move MenuItem component back to be a function and fix e2e test * fix: Revert NetworkInput refactor * fix: Failing load_safe e2e test
ESLint Summary View Full Report
Report generated by eslint-plus-action |
…d mastercopy versions [SW-167] (#4161) Co-authored-by: schmanu <[email protected]>
…tiaccounts (#4125) - Redesigns how sub-items are displayed under multi-accounts. - Adds context menu for multi accounts offering renaming and adding a new network - Some UX fixes around the context menu
ESLint Summary View Full Report
Report generated by eslint-plus-action |
…4180) * fix: Network selector links and visual style * fix: Update dependency arrays
* fix: Show zksync network but disabled * fix: Show message if zksync safe is open * fix: Adjust tests for useReplayableNetworks
…4311) * fix: Add more analytics events for multichain * fix: Remove event from SubAccountItem
# Conflicts: # src/features/counterfactual/CounterfactualSuccessScreen.tsx
…-270] (#4355) * fix: Copy owners to address book when replaying safe * Update src/features/multichain/components/CreateSafeOnNewChain/index.tsx Co-authored-by: Manuel Gellfart <[email protected]> --------- Co-authored-by: Manuel Gellfart <[email protected]>
async (factoryAddress, provider) => `${factoryAddress}${(await provider.getNetwork()).chainId}`, | ||
) | ||
|
||
export const predictAddressBasedOnReplayData = async (safeCreationData: ReplayedSafeProps, provider: Provider) => { |
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.
Does it make sense for this util method to be under src/components/welcome when you are also using it in serc/components/new-safe ? Maybe it should be moved to a different utils location?
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.
Will move it to features/multichain/utils
* Update automation tests
networks: Pick<ChainInfo, 'chainId'>[] | ||
showHasMore?: boolean | ||
}) => { | ||
const MAX_NUM_VISIBLE_CHAINS = 4 |
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.
Nit: could be moved outside of the function
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.
nice work @schmanu @usame-algan @jmealy !
What is this Epic about?
This epic enables users to create Safes with the same address across L1 and L2 networks.
This involves
masterCopy
(L1 or L2) during thesetup
call.How to test it
See the individual users stories acceptance criteria
Screenshots
tbd
Checklist