Commit Graph

741 Commits

Author SHA1 Message Date
belalshehab 1aa2221834 fix(wallet)_: Temporarily disable Max Amount button pending #15709
- This commit temporarily disables the MaxAmount button in the `SwapInputPanel` and `SendModal` components.
     - The MaxAmount button will be reintroduced with the correct behavior in issue #15709 for the 2.31 release.

closes: #15710
2024-07-25 17:53:40 +03:00
Lukáš Tinkl 0c9d4133a8 fix(SwapModal): ErrorTag looks wrong
- wrap the ErrorTag in a Loader, and set the width from there
- added tests for the component width with/without the button

Fixes #15788
2024-07-25 15:11:29 +02:00
Roman Chornii 4bbdeba020
fix(dApps): Added default dApp icon according to the new spec. Extracting dApp name from its url, if no name is provided through walletconnect API. (#15754)
Closes #15593
2024-07-25 15:43:52 +03:00
Khushboo Mehta 7af8ede0e2 fix(@desktop/wallet): Enabled unit tests previously marked as flaky and skipped 2024-07-25 14:15:31 +02:00
Stefan e574524b9c feat(dapps) don't allow user selection of networks while connecting
The requirements are that we allow all available networks
to Wallet Connect
Also temporarily disable the tests that validate selection working

Closes: #15638
2024-07-25 12:55:29 +02:00
Stefan 597d4bac9f fix(dapps) unsupported protocol Wallet Connect corner case
We have no easy way to check the protocol and provide a customized
error message. Therefore we generalizes the error message to network
not supported.

Closes: #15649
2024-07-25 12:55:29 +02:00
Lukáš Tinkl ee01c20b88 fix(SwapModal) disable exchange button when params empty
- when we arrive to a point when all input params are empty, disable the
middle Exchange button
- add QML test for the Exchange button enabled/disabled state

Fixes #15751
2024-07-24 15:05:05 +02:00
Stefan 7fb241b964 fix(dapps): filter out dApps connected on other profiles
Add helper function to filter out dApps with sessions that don't
have any supported account in the available accounts list.
Use helper function to filter out dApps connected on other profiles
when listing dApps in the dApps list.
When disconnecting an app only disconnect sessions for the current
profile.

Closes: #14888, #15707
2024-07-24 13:24:05 +02:00
Stefan 35b7f0583d fix(dapps) don't show Wallet Connect state from other profiles
Ignore session requests events that include accounts in other profiles

Updates: #15707
2024-07-24 13:24:05 +02:00
Stefan dc43a40a76 fix(dapps) minor wallet connect fixes and improvements
Also

- don't report error in case of status-go returning nil instead
of an empty array.
- fix misleading alias to AmountsArithmetic
- minor improvements requested in previous discussions

Updates: #15707
2024-07-24 13:24:05 +02:00
Cuteivist 047f558cd1
feature(wallet): Token preferences in assets model (#15706) 2024-07-23 14:00:49 +02:00
Michal Iskierko a26657bbca feat(@desktop/metrics): Add metrics management page
Add new settings page for metrics management - Privacy and security
Add popup to enable/disable metrics on Onboarding and Privacy screens
Add MetricsStore in QML

Issue #15490
2024-07-23 10:59:03 +02:00
Dario Gabriel Lipicar 9d441fcff9 feat(@desktop/wallet): add support for approve and swap activity entries
Fixes #14836
2024-07-22 21:12:38 -03:00
Stefan e57f7552d9 feat(dapps) make wallet connect request data human readable
Notify user if he doesn't hold enough funds to make the transaction
Also check fees funds including the amount to be sent

Closes: #15192
2024-07-23 00:24:22 +02:00
Khushboo Mehta b93edff484 fix(@desktop/wallet): Update the link to point to terms and condition of paraswap page. 2024-07-22 21:40:01 +02:00
Stefan 36e3a7cbb5 feat(dapps) check max fees against balance
Also differentiate between l1 and l2 fees and check them against the
specific chain balance

Also

- Included tests for the new functionality
- Fixed some inconsistencies in handling types

Updates: #15552
2024-07-22 16:20:07 +02:00
Dario Gabriel Lipicar 83db905e28 feat(swap): added more explicit error messages
Closes #14956
2024-07-19 16:40:22 -03:00
Alex Jbanca b36e2759af fix(Send): Fine tune the Send action on collectibles
1. Show Send Button on wallet footer when all accounts is selected
2. Hide Send Button in collectibles context menu and collectibles details view when the collectible is not owned by the user
3. Disable the Send Button in collectibles context menu and collectibles details view when the collectible is soulbound

to squash: Fine tune send action on collectibles

to squash: Fine tune send on collectibles

to squash: Fine-tune collectibles
2024-07-19 19:53:31 +03:00
Alex Jbanca 7926d1f748 chore(SendModal): Use accountAddress to preselect the account instead of account model item
Updating the SendModal to receive an accountAddress to preselect the account instead of the account item model

to squash: Fix account selection. by address
2024-07-19 19:53:31 +03:00
Alex Jbanca 73bcacbfc0 chore(ModelEntry): Emit itemChanged event when the ModelEntry points to another model item
+ emit row changed after data is avaialble

to squash - modelEntry
2024-07-19 19:07:51 +03:00
Roman Chornii ecec94b1ff
fix: Removed duplicated text in Token Popup by reusing existing supportedTokenSources mapping (#15587)
fixes #14366
2024-07-19 18:41:40 +03:00
Khushboo Mehta 4b30b12fee fix(@desktop/wallet): fix for SwapSignModal has wrong value
fixes #15605
2024-07-19 17:35:42 +02:00
Michał Cieślak 613fa4d19f feat(SendModal): New AmountToSend component
In comparison to the previous version it provides simpler API
and better validation based on AmountValidator.

Old version will be removed after full integration of the new version.
2024-07-19 17:27:08 +02:00
Michał Cieślak b9790c9797 feat(StatusQ): AmountValidator for handling user-provided fp numbers 2024-07-19 17:27:08 +02:00
Stefan 248ba1c1c8 feat(dapps): Add support for max fees in WalletConnect requests
Compute max fees for transaction related requests and display the
results to user.

Also:

- Add helper to convert from hex (backend) to decimal (frontend) values.
- Add helper to convert from float gwei to hex wei
- Update tests to accommodate for the new dependencies.

Sourcing of account balances is not included therefore the transaction is
allowed to go through even if the account balance is insufficient. An error
will be generated by the backend in this case.

Updates: #15192
2024-07-19 10:02:50 +02:00
Jonathan Rainville 2501e04ccb
Add Beta tag to the features that are not yet fully ready (#15617)
Fixes #15614

* feat(StatusQ): add StatusExperimentalTag component and page
* chore(beta): add beta tag to ENS
* chore(beta): add beta tag to Activity tab
* chore(beta): add beta tag to wallet settings
* chore(beta): add beta tag to Notification Center
2024-07-18 16:10:24 -04:00
Stefan 4341cfb4d2 feat(dapps) reject request on closing of modal
Closes: #15585
2024-07-18 17:15:24 +02:00
Khushboo Mehta ec86a30d6e fix(@desktop/wallet): Fix for Swap - Pay and Receive assets get unselected, Pay amount resets to 0
fixes #15525
2024-07-17 17:25:57 +02:00
Khushboo Mehta 1d7ab859be fix(!desktop/wallet): Swap Modal doesn't have cursor visible when launched
fixes #15417
2024-07-17 17:25:57 +02:00
Michał Cieślak 44808424a4 StatusQ: QValidator fully exposed to QML
Closes: #15581
2024-07-17 01:32:04 +02:00
Roman Chornii c4d930ef88
fix(dapps) fail to process a transaction if missing usual fields (#15481)
Updates: #15189

Co-authored-by: Stefan <stefand@status.im>
2024-07-15 12:23:35 +03:00
Lukáš Tinkl 38d155f590 feat(SwapModal): Integrate Sign and Approve modals
- remove old popup and related components/adaptors
- simplify the API of the Sign/Approve modals to take pre-formatted
amounts as strings
- correct login/auth icon
- SB: make it possible to open the new secondary modals
- SB: fix the `fetchSuggestedRoutes` response handling, pass around the
`uuid` and inject it to the mocked suggested routes
- adjust SB pages and tests

Fixes #15443
2024-07-12 16:04:21 +02:00
Stefan 4deea3461f feat(dapps): show estimated time for dApps requests
Implemented using the fees from the transaction data sent
by the dApp.

Also fixed the nim status go wrapper to send proper formatted
string as expected on the other side.

Updates: #15192
2024-07-12 15:39:41 +02:00
Michał Cieślak be1c6ba2ad chore(StatusQ): Backpressure files deduplicated, imports adjusted
Closes: #15558
2024-07-12 14:00:15 +02:00
Michał Cieślak 3503a60f07 chore(SendModal): SendModalAssetsAdaptor removed because it's replaced by TokenSelectorViewAdaptor 2024-07-12 11:10:37 +02:00
Michał Cieślak 4bf2f4df7a Wallet(SendModal): Old HodlingSelector and TokensListView removed 2024-07-12 11:10:37 +02:00
Michał Cieślak f6320f69cb Wallet(SendModal): New tokens selector intially integrated
Closes: #15512
2024-07-12 11:10:37 +02:00
Alex Jbanca ca8a0028a8
feat(WalletConnect): Implement sign request modal (#15520)
* feat(WalletConnect): Implement sign request modal

1. Implementing sign request modal based on SignTransactionModalBase
2. Adding storybook page
3. Integrate it in the app
4. Removing DAppRequestModal
5. Update RoundImageWithBadge to preserve aspect ratio between badge and main image

* fix(WalletConnect): Remove unneeded properties from WalletConnectService API

Removing `selectedAccountAddress` and `loginType`. These properties are now passed through DAppsWorkflow API

* fix(WalletConnect): Removing unnecessary changes
2024-07-12 00:00:15 +03:00
Khushboo Mehta 7caba84833 fix(@desktop/wallet): Fixing issue in deleting characters from Input area
fixes #15418
2024-07-11 17:41:04 +02:00
Khushboo Mehta 758bba1ac0 feat(@desktop/wallet): Show total fees instead of approval fees if approve is needed on the swapmodal
fixes #15505
2024-07-11 17:40:49 +02:00
Jonathan Rainville ad612a794c
fix(sharedAddress): hide non fully imported accounts from shared address (#15480)
* fix(sharedAddress): hide non fully imported accounts from shared address

Fixes #15471

We only filtered out watch only accounts, but we also need to make sure it was a fully imported account, ie an account that is usable, hence why using `canSend`. It is the same property they use in the SendTransaction modal
2024-07-11 10:47:51 -04:00
Noelia c8744cf3bf tests(qmlTests/RecipientSelectorPanel): Basic suite for `RecipientSelectorPanel`
Just some basic test cases. It needs a second step to add more interesting coverage.
2024-07-11 14:05:55 +02:00
Noelia 4ea73b50b5 storybook(RecipientSelectorPage): Added new page for `RecipientSelector`
- Added basic models.
2024-07-11 14:05:55 +02:00
Noelia bc74724672 refactor(Wallet/SendModal): Created `WalletAccountsAdaptor` to be used in `SendModal`
- Created data transformation file called `WalletAccountsAdaptor` for `SendModal`. Now it contains the owned wallet accounts model data transformations.
- Added common formatting method for short chain ids to some utils and partially removed backend dependency.
2024-07-11 14:05:55 +02:00
Lukáš Tinkl 8504fb55a1 chore[UI - Wallet Stability] Rename SendModalFooter to TransactionModalFooter
... and remove particular code for send modal

- derive the footer from the standard `StatusDialogFooter` to reduce
code duplication (drop shadow, divider, margins, etc)
- rename the default button text
- expose the icon name and make it used the correct login/auth type icon
- some minor fixes and cleanups

Fixes #15212
2024-07-10 10:29:05 +02:00
Stefan 136194c112 feat(dapp) handle pairing errors or timeout if no response
Found out while testing that in some corner cases there will be no
response of error in case of pairing. This is handled now by showing
a generic error message. The implementation is using a timer to handle
this case.
Extend the logic to report errors in the pairing process.

Closes #14676
2024-07-09 19:21:09 +02:00
Stefan 15b2c084d2 feat(dapps) check Wallet Connect pair uri for already used and expired
Refactor and bring all the error check back to services
Automate pairing procedure and move to the connect dialog
if uri was validated

Updates: #14676
2024-07-09 16:11:23 +02:00
Khushboo Mehta 2df35ff0c9 feat(@desktop/wallet): Implements auto refresh
fixes #14952
2024-07-09 15:48:09 +02:00
Stefan 3049c6016b feat(dapps) extend and improve sign
Extend support for legacy `eth_sign` and `eth_signTypedData`
methods.
Keep the `eth_sign` using the legacy method for compatibility

Use the newly added status-go apis for a safer implementation
of signing typed data by providing chain validation.

Closes: #15361
2024-07-09 15:01:27 +02:00
Michał Cieślak 4a6257282e feat(Wallet): New tokens selector and related adaptor
Closes: #15121
2024-07-09 13:13:52 +02:00