Commit Graph

1103 Commits

Author SHA1 Message Date
Sale Djenic c4363be418 feat: fees update integration after calculating the initial route 2024-09-11 14:43:19 +02:00
Sale Djenic c515a963e3 chore: remove old router logic
Closes #16201
2024-09-11 14:43:19 +02:00
Cuteivist ff9f272295
fix: Apply custom asset / collectible order (#16227) 2024-09-11 14:00:25 +02:00
Lukáš Tinkl d37341caee fix(DAppSignRequestModal): correct wallet account color
- we are getting a colorId, so convert it

Fixes #16094
2024-09-06 16:19:59 +02:00
Lukáš Tinkl e58ae2c213 feat: Add external link to download extension plugin
- add a local popup with selection between "Status Connector" (external
link to Chrome Store) or "Wallet Connect" (the old flow involving
inputting the WC URI)
- simplify DAppsListPopup to use StatusDropdown to reduce code
duplication
- adjust SB and QML tests

Fixes #16111
2024-09-05 11:22:52 +02:00
Michał Cieślak b8fbeb157f CollectiblesSelectionAdaptor: use default token icon as a fallback 2024-09-05 08:55:15 +02:00
Michał Cieślak 204d72cd40 TokenSelectorNew: workaround for QTBUG-62411, minor sizing fixes 2024-09-05 08:55:15 +02:00
Michał Cieślak d82499fd7b AssetSelector added
This component is simpler version of TokenSelector, composed of the same
basic componets, useful when only assets are subject of selection.

Closes: #16234
2024-09-05 08:55:15 +02:00
Michał Cieślak 01a24e1b19 TokenSelectorNew decomposed into smaller, reusable subcomponents 2024-09-05 08:55:15 +02:00
Michał Cieślak afd16d6f6c TokenSelectorButton excluded from TokensSelector, sizing issues fixed 2024-09-05 08:55:15 +02:00
Anastasiya Semenkevich 9598e9a44c qml: new object names for token selector panel 2024-09-04 16:16:10 +03:00
Cuteivist 186b5f8798
fix: Update account only when networks did change (#16229) 2024-09-04 06:32:07 +02:00
Cuteivist f1904d9ef8
fix: Reset collectible details after exiting details page (#16231) 2024-09-04 06:29:31 +02:00
Cuteivist 70421a0454
fix: Correctly display manage tokens icons (#16228) 2024-09-03 06:07:03 +02:00
Michał Cieślak 7c24d19241 Usages of SubmodelProxyModel migrated to ObjectProxyModel 2024-09-02 20:20:10 +02:00
Khushboo Mehta b8f41e35c4 feat(@desktop/wallet): Buy Mercuryo flow - Improvements
fixes #16041
2024-09-02 16:51:16 +02:00
Cuteivist ee770257c5
chore: Disable clicking on Betatag (#16207) 2024-08-30 12:19:42 +02:00
Michał Cieślak a8940a71f5 Using ClipboardUtils.setText instead of nim's copyToClipboard 2024-08-29 15:46:17 +02:00
Dario Gabriel Lipicar 4257294c60 feat(wallet): upgrade paraswap api to v6.2
Closes #15755
2024-08-28 13:43:07 -03:00
Cuteivist 658fe2a5b4
fix(wallet): Update collectibles media management (#16080) 2024-08-28 15:58:33 +02:00
Sale Djenic 3cf6614082 chore: new router error `no positive balance` added 2024-08-28 11:26:23 +02:00
Seitseman 2275fe4f1f fix(Stored): Make stores typed
Adding types instead of var for stores used in qml components

Closes: #14801
2024-08-27 10:52:18 +02:00
Anastasiya Semenkevich ea31d1115f qml: change object name for account actions 2024-08-26 11:52:39 +02:00
Alex Jbanca 736075b817 fix(WalletConnect): Fixing sign for uniswap and paraswap
There are two fixes needed here.
1. Status-go fix for unknown primitive when signing the message
2. Fix for Paraswap pairing failure due to required namespaces mismatch

Needs: https://github.com/status-im/status-go/pull/5755
2024-08-26 11:41:27 +03:00
Cuteivist 67cf522f0a
fix(wallet): Fill bridge tx type (#16162) 2024-08-21 14:49:12 +02:00
Lukáš Tinkl f59ce285a9 fix(StatusBaseButton): correct radius and icon size for `isRoundIcon` mode
- this fixes 2 small regressions, namely in how we calculate the
background corner radius and icon size when in the mode of `isRoundIcon`
- the "Saved addresses" button in wallet's left view is very special on
its own; overall we have only 2 instances of this "round" icon buttons
in the whole app

Fixes #16156
2024-08-20 22:08:19 +02:00
Cuteivist 224dd5e58d
fix(wallet): Filter collectibles filter options (#16125) 2024-08-20 06:02:14 +02:00
Lukáš Tinkl e3dae7e1db feat(StatusButton) Add support to show text when button is loading
- add a secondary "loading" state (`loadingWithText`), that is show the
loading indicator next to the text
- simplify the StatusBaseButton layout (esp. handling the overall
opacity/visibility)
- add a QML test suite; the code was becoming too complex and adding a
simple boolean prop was getting "dangerous"
- port the SwapModal to use the new `loadingWithText` property

Fixes #15313
2024-08-19 22:36:50 +02:00
Lukáš Tinkl 7c10b16b67 chore(AmountToSend): AmountToSendNew is dead, long live AmountToSend 2024-08-17 09:39:42 +02:00
Lukáš Tinkl 114abc7015 chore(swap): port SwapInputPanel to AmountToSendNew
- adjust the API calls
- fixup the tests
2024-08-17 09:39:42 +02:00
Alex Jbanca de916507e9 fix(WalletConnect): Reject session request when the authentication fails
TODO: Analyse recovery options
2024-08-13 23:23:23 +03:00
Alex Jbanca 4d963031e9 fix(WalletConnect): Store web cookies and cache to a dedicated folder for each account
WalletConnect cannot operate on shared cookies in between accounts. This commit will split the cookies and cache in different folders with the user public key as folder name.
2024-08-13 23:23:23 +03:00
Alex Jbanca f00d7f3ec4 fix(WalletConnect): Fixing crash on authentication screen when the app resumes from a few minutes of inactivity
The root cause in this case was the usage of js stored QObjects coming from the model.

(cherry picked from commit 24a386d078)
2024-08-13 11:35:04 +03:00
Alex Jbanca 8d78f0fab2 fix(WalletConnect): dApp connection state presented in the UI is out-of sync
1. The DAppsListProvider needs to receive all the user accounts so that it can process all dapps the user is connected to (the dapps filtering based on selected account is an internal impl. detail)
2. Call `revokeSession` on disconnect only if the dapp cannot be found in the WC active sessions. There is some overlapping between Browser connector and Wallet connect because both operate on the same data stored in the DB. If Browser connector controller removes WC data, the WC disconnect flows cannot be successfully completed.
3. Reuse the same notification flow for Browser connector as it's used for WC
4. Fix dapp filtering when processing the dapps that will be displayed in the UI.

(cherry picked from commit 21227893c2)
2024-08-13 11:35:04 +03:00
Lukáš Tinkl a7e74f3e00 chore(Global): Remove FeatureFlags access via Global singleton
- rationale: do not save global state in a singleton, gather and
propagate the values via FeatureFlagsStore

Fixes #14697
2024-08-12 20:00:31 +02:00
Sale Djenic 20f30a52fd fix: keycard signing integration into wallet connect flows
Fixes: #15957
2024-08-12 19:52:04 +02:00
Khushboo Mehta 03e75e9532 fix(@desktop/wallet): Creating the UI flow needed to select params for making a purchase via Mercuryo 2024-08-12 11:25:00 -03:00
Sale Djenic b8ffa65113 chore: display generic error returned from the router 2024-08-12 12:53:58 +02:00
Cuteivist 86e054a328
fix(wallet): Don't reset wallet view after filter change (#15997) 2024-08-09 15:04:15 +02:00
Valentina Novgorodtceva b4ef71142e test: share wallet address test and default account values in send/receive/bridge 2024-08-09 11:14:54 +03:00
Khushboo Mehta ada348486e feat(@desktop/wallet): Swap:: Added text that links to Paraswaps terms and conditions page 2024-08-08 18:34:43 +02:00
Michał Cieślak a0a688c3e4 Wallet: swap/bridge buttons visibility adjusted
Closes: #15952
Closes: #15931
2024-08-08 17:29:29 +02:00
Michał Cieślak 8f21c71f69 fix(CollectiblesView): Workaround for crash when hiding collectibles
In some rare cases hiding collectibles was causing segfault, related to
checking if all timestamps are available. Combination of 2 SFPMs with
the same source and Aggregator working on those models. Additionally
filters/sorters were depending on the Aggregator value. The minimal
crashing sample has been isolated to be investigated in a separate
ticket. In this commit aggregator's value is applied in a deferred way
via Qt.callLater, fixing the issue.

Closes: #15775
2024-08-08 17:20:28 +02:00
Michał Cieślak bb05c068fa fix(Wallet/SendModal): Using community assets in SendModal unblocked
Closes: #15766
2024-08-08 15:40:18 +02:00
Anthony Laibe b4e08493ee fix(@wallet): enable eth bridging
fixes #16018
2024-08-08 10:56:47 +02:00
Sale Djenic 77ca8761a6 feat: some limits for wallet section
Added limitations:
- allowed adding of max 20 accounts
- allowed adding of max 3 watch only accounts
- allowed adding of max 5 key pairs (including the profile key pair)
- allowed adding of max 20 saved addresses per mode

Closes #15934
2024-08-08 10:28:30 +02:00
Alex Jbanca effd676a16 fix(WalletConnect): Fixing fees parsing when provided by the dApp
(cherry picked from commit f73356e2e8)
2024-08-08 10:52:37 +03:00
Lukáš Tinkl 96824dbb91 feat(Wallet): Display the "Buy" button everywhere
- display the "Buy" button in every context in the wallet footer except
when viewing a collectible's details

Fixes #15813
2024-08-08 09:30:49 +02:00
Alex Jbanca 833848188c fix(WalletConnect): Fixing disconnect notifications
The disconnect notifications were operating on `WalletConnectService.currentSessionProposal`. This object stores the current session object on connect, but it's not necessarily the same session the user wants to disconnect.
To fix this I'm getting the active sessions from status-go when the disconnect request is received (from Status or dapp). If the topic matches to any connection topic owned by the users accounts we'll show a notification.

(cherry picked from commit fea4e8ed76)
2024-08-08 09:47:20 +03:00
Dario Gabriel Lipicar c0e5111fe5 feat(@desktop/wallet): handle Paraswap price impact error
Fixes #15542
2024-08-07 23:14:22 -03:00
Alex Jbanca 6a7b0c0289 fix: Remove possibility to add watch accounts on release
(cherry picked from commit 566a954935)
2024-08-07 19:17:16 +03:00
Godfrain Jacques bef66612c5
feature(connector)_: Add model join to handle connected dApps (#15954)
* feature(connector)_: Add model join to handle connected dApps

* Fix review comments

* chore: bump status-go
2024-08-06 13:20:08 -07:00
Roman Chornii 6aa6746de2
fix(dApps): Improved handling of connected dApps. (#15985)
1. Hiding DApps button on not supported wallet account selection
2. Filtering DApps in connected dApps list based on account selection

closes: #15589
closes: #15647
2024-08-05 16:41:20 +03:00
Lukáš Tinkl 6159f53839 fix: Add additional information to the Beta tags
- display additional beta information as a tooltip
- don't overlap the Beta badge with the unread msg indicator
- some minor cleanups & fixes

Fixes #15795
Fixes #15929
2024-08-05 15:39:51 +02:00
Khushboo Mehta 27aaa97ebd fix(@desktop/wallet): fix for Swap Input parameters reset when balances are reloaded
fixes #15785
2024-08-05 14:39:27 +02:00
Lukáš Tinkl 40f7aff086 fix: inconsistent/incorrect decimal value formatting
- format Big decimal numbers correctly according to the current locale;
some precisions loss is tolerated here for the display purposes
- fixes wrong decimal separators in some places and aligns with the
standard in terms of number of decimals, as everywhere else in the app

Fixes #15612
Fixes #15790
2024-08-01 15:35:52 +02:00
Lukáš Tinkl 24dd67e6dd fix(Wallet): Hiding assets from wallet's main view doesn't work
- partially reuse the already available Global/Popups methods to hide
assets (which also emit proper notifications); those are needed as
anotehr shared modal from Popups uses it too (may come from outside of
Wallet)
- some warnings cleanup in the controller

Fixes #15777
2024-08-01 12:12:48 +02:00
Sale Djenic 0c4b7e92a0 fix: tx fails if the bonder fee is higher than the amount being sent
Closes #15922
2024-07-31 16:59:33 +02:00
Cuteivist 74bc695f10
chore(wallet): Hide Swap if cannot send (#15918) 2024-07-31 16:02:03 +02:00
Khushboo Mehta 2447fa3554 fix(@desktop/wallet): Swap modal - Pay input amount - deleting 1 decimal deletes the entire number
fixes #15818
2024-07-31 15:20:37 +02:00
Stefan 98c18901e0 fix(dapps) Wallet Connect internet connection reestablishing issue
Add a new NetworkChecker QObject to StatusQ to be used in checking
internet connection status. This is used by the WebEngineLoader
to only allow loading of web pages when there is an active internet
to cover for a corner case on MacOS where the internet connection is
not reestablished if the WebEngineView was loaded without an active
internet connection.

Closes: #15598, #15806
2024-07-31 14:08:16 +02:00
Stefan 910af539d6 chore(dapps) remove unused Wallet Connect authentication from the SDK
Also add more debug logs for unhandled events

Updates: #15598
2024-07-31 14:08:16 +02:00
Stefan 992944870b chore(dapps) update Wallet Connect SDK to latest version 1.13.0
Upgrade from `1.11.2` to `1.13.0`

Updates: #15598
2024-07-31 14:08:16 +02:00
Stefan da622348f6 chore(dapps) remove the POC wallet connect
Updates: #15598
2024-07-31 14:08:16 +02:00
Cuteivist 20620e04cf
fix(wallet): Repeat transaction updates (#15571) 2024-07-31 13:58:05 +02:00
belalshehab 5d4afba07f fix(wallet)_: Filter non-bridgeable assets in Bridge Modal
- Implemented a bridgeableGroupedAccountAssetsModel in WalletAssetsStore.qml to dynamically filter assets based on their bridgeability.

closes: #15697
2024-07-31 12:43:24 +03:00
Stefan 222b9c74f5 chore(dapps) disable eth_signTransaction for Wallet Connect
Closes: #15661
2024-07-31 09:22:31 +02:00
Cuteivist dd25572c28
fix(wallet): Constrain token name size to send modal width (#15859) 2024-07-31 06:53:43 +02:00
Lukáš Tinkl 4dbae17bb9 fix(ConnectDAppModal): don't overflow texts
- set the correct widths and elide mode
- fixup the visuals of the NetworkFilter combo box (to disable it w/o
making it look disabled)
- fix passing the connection status down to DAppCard
2024-07-31 00:10:10 +02:00
Sale Djenic 822410f6b6 feat: checksum validation added to adding saved addresses
Fixes: #15772
2024-07-30 18:17:53 +02:00
Roman Chornii a310b8b803
fix(dApps): Improved logic for disconnecting of dApps in the app. (#15840)
Closes: #15814
2024-07-29 17:39:56 +03:00
Khushboo Mehta 354f2e4359 fix(@desktop/wallet): Swap "Approve" button becomes enabled before Approve Tx succeeds/fails
fixes #15784
2024-07-29 14:30:16 +02:00
Sale Djenic 207902589d chore: build the error reporting mechanism
Closes #15396
2024-07-29 10:54:53 +02:00
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
Khushboo Mehta 7af8ede0e2 fix(@desktop/wallet): Enabled unit tests previously marked as flaky and skipped 2024-07-25 14:15:31 +02:00
Stefan 7d0e77d86f fix(dapps) emoji in wallet connect uri error
Closes: #15594
2024-07-25 12:55:29 +02:00
Stefan f6ae5ceabe fix(dapps) Wallet Connect url validation
The static url validation state `Pairing.errors.ok` was directly
responsible for the validation action in UX. With current change
the validation is now based on the pairing response. When the
pairing response is received the UX is validated and after half second
UX is moved to the approval process (`ConnectedDAppModal`)

Closes: #15591
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
Cuteivist 2175311c86
chore: Use correct unique key for collectibles (#15736) 2024-07-24 21:18:33 +02:00
Godfrain Jacques c2a8817a80
fix missing required param to fix sign request popup display (#15760) 2024-07-24 08:45:09 -07: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
Lukáš Tinkl 765b526493 fix(SwapModal): Buy button not resizing with text
- also limit the max width in order for the ErrorTag not to overflow the
modal width

Fixes #15687
2024-07-24 13:52:21 +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
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
Godfrain Jacques 347e0df8b0
feat(connector)_: add sign transaction flow (#15662)
fixes #15182

 - Implement the sign transaction popup for Accept or Rejecting
   transactions
2024-07-22 11:02:35 -07: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
Jonathan Rainville 8db0ac94f0
fix(networks): enable network before mint or airdrop (#15601)
Fixes #15507

Makes sure to enable the network where the owner token was minted before minting or airdroping a token.
This makes sure that the account selector shows the right balance and there is no ETH error before doing the transation
2024-07-22 09:52:44 -04:00
Dario Gabriel Lipicar 83db905e28 feat(swap): added more explicit error messages
Closes #14956
2024-07-19 16:40:22 -03:00
Godfrain Jacques 6eeb917cd7
feat(connector)_: create connection between connector service and status-desktop (#15565)
fix #15179 that triggers connection request from client

 - Setup the initial architecture for connecting Status-go and UI
   screens
 - Implement the request Connection popup for Accept or Rejecting
   connection
2024-07-19 12:21:36 -07:00
Alex Jbanca 32aff401d6 fix(SendModal): Various issues fixed
1. Bridge panel not showing
2. Max button value when showing the fiat balance
3. Wallet footer visibility when Swap feature is disabled
2024-07-19 19:53:31 +03:00
Alex Jbanca 417a74d4b1 fix(SendModal): Fixing "Repeat transaction" action in Activity view and Activity details view 2024-07-19 19:53:31 +03:00
Alex Jbanca 6e93935298 fix(Send): Fixing Send button text on wallet footer on owner collectibles details view
Fixing a bug where the community name is not shown in the `Send` button
Get the collectible community name from the community model for community tokens. Otherwise default to community id.

+ Fix WalletFooter layout when the buttons text exceeds the available width

to squash: Fixing send on owner token - name
2024-07-19 19:53:31 +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 1b67063eac fix(AssetsView): Align the selected chains data type in the assets view with the nim property
Nim chain selection is a colon separated string, but the assets adapter expects a chainId array for the selection
2024-07-19 19:07:51 +03:00