Commit Graph

811 Commits

Author SHA1 Message Date
Ivan Belyakov c791173c81 fix(wallet): disable "Send" button at all places when no network
connection

Closes: #13326
2024-02-02 14:46:40 +01:00
Anthony Laibe 1634109971 feat(@wallet): token list global updated at
fixes #13269
2024-02-02 12:01:17 +01:00
Lukáš Tinkl fa75cf7b9b fix: Incorrect margins when collection group name is long
- set width for the text so that the ellision works correctly

Fixes #13396
2024-02-02 11:59:32 +01:00
Alex Jbanca a55dcf299e performance: Improve the wallet loading time
+ small bug fixes
2024-02-01 16:46:40 +02:00
Alex Jbanca a6abdbeeef Revert "fix(RightTabView): revert to using a StackLayout instead of a Loader"
This reverts commit b58612f070.
2024-02-01 16:46:40 +02:00
Ivan Belyakov 49adcd9b59 fix(wallet): fix qml warnings and errors in Wallet 2024-02-01 09:39:00 +01:00
Khushboo Mehta 7dcc704d29 fix(@desktop/wallet): Prepare send modal to display community assets
fixes #12378
2024-01-31 15:48:35 +01:00
Michał Cieślak 6f25499380 chore(Settings/Tokens management): simplify ManageAssetsPanel and ManageCollectiblesPanel by deriving directly from DoubleFlickableWithFolding 2024-01-31 13:51:00 +01:00
Michał Cieślak 2e29e847ac chore(WalletSettings): Use DoubleFlickable for assets/collectibles tabs in manage tokens
It provides visual alignments to the current design and also
significantly improves performance because ListView components
are not "unrolled" causing instantiation of too many delegates.

Closes: #12703
Closes: #13043
2024-01-31 13:51:00 +01:00
Michał Cieślak 9fe60e650f chore(DoubleFlickableWithFolding): Component api and usage simplified
Now the header don't have to be reparented manually. Everything
is done internally in the component. Additionally the usage
in CollectiblesView is adjusted to the change.
2024-01-31 13:51:00 +01:00
Khushboo Mehta ff951f624a fix(@deaktop/wallet): Remove old tokens_service under accounts service and only keep new one.
fixes #13142
2024-01-30 10:56:51 +01:00
Sale Djenic bbaafa8954 feat(savedaddresses): display various cards if an address user is trying to save is known
Closes: #13280
2024-01-29 14:56:24 +01:00
Lukáš Tinkl 5080499d29 fix: cleanup and fixes after introducing the new assets model 2024-01-26 11:45:24 +01:00
Lukáš Tinkl f2482ab003 fix: fake collections shouldn't be visible in a filtering combo
teach the model about the special cased self-collections containing just
one single collectible item; we need that for the "Arrange by
collection" token mgmt feature but in all other cases it shouldn't be
treated as a collection/group

Fixes #13281
2024-01-26 11:45:24 +01:00
Lukáš Tinkl 3b99bcb29a fix: apply Custom order to main wallet view
also fix navigating into section/subsection

Fixes #13275
2024-01-26 11:45:24 +01:00
Lukáš Tinkl d7e25ea0a7 feat(Manage Tokens): implement "Arrange by collection"
- simplify the delegates (no more nested inner models/ListViews)
- persist the "Arrange by" toggles state (when needed)
- adjust the tests

Fixes #13232
2024-01-26 11:45:24 +01:00
Lukáš Tinkl 57b3b254b8 feat: Create the hidden tab (to host both assets and collectibles)
- add new Hidden tab/section to Settings/Wallet/Manage tokens page and
storybook
- extract the controller(s) to ManageTokensView.qml to share them across
the tabs
- updated the grouped UI delegate
- adjust the tests

Fixes #13201
Fixes #13188
2024-01-26 11:45:24 +01:00
Khushboo Mehta fb4e9a1ed1 fix(@desktop/wallet): Updatebthe new assets models in Token mangement, Activity filters and SharedAddressPanel 2024-01-25 12:45:22 +00:00
Michał Cieślak a4097707a3 feat(Wallet): Collectibles view adjusted to design using DoubleFlickableWithFolding
DoubleFlickableWithFolding provides foldable sections and controls
underlying grid views for both categories preventing from instantiating
too many delegates.

Closes: #13045
2024-01-25 10:05:09 +00:00
Sale Djenic 654da3e246 fix(savedaddresses): preferred chains maintained in two places
This commit prevents the user from adding an address to the saved addresses list,
if it was already added to the Wallet section. Also when the user is about to add
an address to the Wallet section, which is already added to the saved addresses
list, the app will ask whether to proceed with that action by removing the related
saved address or cancel the action.

Closes: #13109
2024-01-24 14:40:21 +01:00
Sale Djenic 18303ef49c feat(savedaddresses): implement search saved address logic
Closes: #13091
2024-01-24 14:40:02 +01:00
Dario Gabriel Lipicar 29f1bee218 feat(@desktop/wallet): implement allCollectibles module
Fixes #13235
2024-01-18 13:57:04 -03:00
Sale Djenic 1dd5f3d007 feat(savedaddresses): context menu - view activity
Part 4 of #13094
2024-01-16 18:36:30 +01:00
Sale Djenic 6eda2a4956 feat(savedaddresses): context menu - view on [network] (all available networks)
Part 3 of #13094
2024-01-16 18:36:30 +01:00
Sale Djenic 3399148f61 feat(savedaddresses): context menu - show address qr
Part 2 of #13094
2024-01-16 18:36:30 +01:00
Sale Djenic e115d5e7ce refactor(wallet): show qr popup updated to meet new ui requirements
Show Qr popup is partially refactored because of the two things:
- to meet new UI requirements (introduced in the new saved addresses design)
- to make usage of that popup more generic, that it can be easily used from different places
2024-01-16 18:36:30 +01:00
Sale Djenic a22847b000 feat(savedaddresses): context menu - copy address
Part 1 of #13094
2024-01-16 18:36:30 +01:00
Sale Djenic 919d4baf53 fix(savedaddresses): making add/edit saved address popup's content scrollable when there's no enough space for the content 2024-01-16 18:36:30 +01:00
Lukáš Tinkl 6f3a180f41 feat: Emit notifications when an asset/collectible is hidden in the settings
- emit the signal from the backend
- trigger the toast notification in QML
- update the test(s)

Fixes #12704
2024-01-16 14:00:11 +01:00
Valentina1133 eaa8e90f11
test (#13216) 2024-01-16 14:42:05 +07:00
Khushboo Mehta fb39c8c3b8 fix(@desktop/wallet): Switching networks doesn't change assets
fixes #13137, #13144
2024-01-12 20:30:42 +05:30
Sale Djenic ba5e259296 chore(savedaddresses): saved addresses improvements
Closes #13140
2024-01-12 14:23:35 +01:00
Sale Djenic 1e972950e6 chore(savedaddresses): favourite property removed 2024-01-12 14:23:35 +01:00
Sale Djenic 40ed061402 bug(savedaddresses): the send modal should be run clicking on the send button of a saved address item
Fixes #13172
2024-01-12 11:29:35 +01:00
Lukáš Tinkl 263ed2a822 feat: Add Advanced settings in new Advanced Tab
... under Settings/Wallet/Manage Tokens

- rename Tokens List tab to Advanced tab
- introduce a new `CurrencyAmountInput` component, backed by
`FormattedDoubleProperty` C++ class (plus the respective SB page)
- use `FastExpressionFoo` for the collectibles views as well

Fixes #12611
Fixes #13040
2024-01-11 14:52:52 +01:00
Lukáš Tinkl f80f4abb0b fix(wallet): unbreak scrolling of the wallet views
Fixes #13157
2024-01-10 12:02:22 +01:00
Sale Djenic cf09505071 feat(savedaddresses): context menu - remove saved address
Closes #13093
2024-01-08 14:41:30 +01:00
Sale Djenic 9da47c5294 fix(tests): e2e saved addresses related tests fixed 2024-01-04 17:45:57 +01:00
Sale Djenic df8e74feec feat(savedaddresses): make save addresses list as per design (without search logic)
Closes #13090
2024-01-04 17:45:57 +01:00
Sale Djenic ff9062a1b0 feat(savedaddresses): update adding saved address popup to match new design
Implemented:
- adding selection color section
- all input field validations
- interactions within the popup
- an ephemeral notification when adding an address

Closes #13089
2024-01-04 17:45:57 +01:00
Sale Djenic 3d5b24b87f fix(tests): e2e saved addresses related tests fixed 2024-01-04 17:45:57 +01:00
Sale Djenic 3ac13a7678 chore(savedaddresses): preparing saved address for reuse in wallet settings section
Part 1 of #13088
2024-01-04 17:45:57 +01:00
Sale Djenic 4854d9d100 feat(@desktop/wallet): mark address as shown when it is about to be fully displayed
Fixes: #12989
2024-01-04 13:57:13 +01:00
Sale Djenic bc2642c5e8 fix(@desktop/wallet): display short address form in the wallet settings account order page 2024-01-04 13:57:13 +01:00
Lukáš Tinkl e2fa5b756a feat(CollectiblesView): Add combobox/popup with custom filtering options
.. to filter by community or collection name

- make the HistoryView own filter button look like the other combos
- fix some cosmetic issues for StatusCombo in small/secondary mode
- fix StatusBaseInput bg color in dark mode (was invisible)
- update CollectiblesViewPage with options to include regular and/or
community collectibles

Fixes #12969
Fixes #12948
2024-01-04 12:32:41 +01:00
Khushboo Mehta 1bd23b027d fix(@desktop/wallet): creating a common grouped model for accounts assets to be used for wallet and profile view
fixes #12601
2024-01-02 20:00:13 +05:30
Anthony Laibe 1c91d37d69 fix(@wallet): open sign modal only when ready
fixes #13071
2024-01-02 14:31:05 +01:00
Lukáš Tinkl b58612f070 fix(RightTabView): revert to using a StackLayout instead of a Loader
in the end it turns out the Loader causes more problems (and even
crashes in some scenarios)
2023-12-18 10:52:48 +01:00
Lukáš Tinkl fe3b442155 (wallet) implement sorting for assets/collectibles views
- add the sort combobox to assets/collectibles main wallet view pages
- preserve the current view settings
- add the possibility to navigate/drill down into wallet settings
(sub)subsection
- some other minor changes/fixes

Note: currently assets can't be sorted by "1W change" and collectibles
by "Date added" due to missing backend for these

Fixes #12517
Fixes #12518
2023-12-18 10:52:48 +01:00
Sale Djenic e24e3d734c feat(walletconnect): check for potential WalletConnect pairings after the user logs in
Closes: #12993
2023-12-18 09:25:42 +01:00
Sale Djenic 969998dd3f chore(walletconnect): store wallet connect sessions instead of pairings
Closes: #13008
2023-12-18 09:25:42 +01:00
Sale Djenic c41bb433d3 chore(walletconnect): better error handling for the rest of the implemented sdk calls 2023-12-13 09:08:24 +01:00
Sale Djenic bf8b87f034 feat(walletconnect): support for eth_signTypedData v3 and v4
Closes: #12961
2023-12-13 09:08:24 +01:00
Stefan a8fb355a8d feat(wallet) activate Wallet connect modal from deep-links
- Open wallet connect modal when the application is opened from a
  deep link
- Add test entry that opens wallet connect modal with mocked
  StatusDesktop app that can be used for testing
- Add tests

Closes #12641
2023-12-12 20:12:53 +01:00
Michal Iskierko d2b2aae000 fix(@desktop/communities): Add toasts to send owner token process
Fix transfer ownership button.
Set correct data in SendModal.

Issue #12656
2023-12-12 16:06:04 +01:00
Anthony Laibe 5a8966f550 feat(@wallet): delete account new design
fixes #12538
2023-12-12 13:25:39 +01:00
Khushboo Mehta 9a0ce98d1b fix(@desktop/wallet): Fix for Token details view showing Dummy data. 2023-12-11 20:05:52 +05:30
Sale Djenic d587552c40 chore(walletconnect): improvements identifying pairings and sessions 2023-12-11 09:04:20 +01:00
Anthony Laibe 693457a8bc fix(@wallet): period filter for this week/this month
fixes #12752
2023-12-07 16:54:15 +01:00
Sale Djenic 3854920f54 feat(walletconnect): support for auth request 2023-12-06 20:01:04 +01:00
Cuteivist 0b26070833
chore(@desktop/wallet): Show wallet activity (#12946) 2023-12-06 11:59:32 +01:00
Lukáš Tinkl d7614beb99 feat(token mgmt): update main wallet view layout with community assets
- update the CollectiblesView.qml view and delegates according to the
latest design
- add CollectiblesView to Storybook
- add new section for Community Collectibles
- (re)use the community badge with tooltip and link action to take the
user to the respective community
- add Community Collectibles info icon + popup
- create context menu for token delegates with actions
(Send/Receive/Manage tokens/Hide)
- add confirmation popups when hiding a single or all community tokens
- emit a toast bubble after hiding the token(s)
- fix eliding the community name inside ManageTokensCommunityTag
- some smaller fixes/cleanups

Fixes #12519
2023-12-06 11:18:36 +01:00
Cuteivist e552a01d2b
fix(@desktop/wallet): Use second chain activity details data (#12705) 2023-12-01 15:31:47 +01:00
Stefan 17c7e46917 feat(wallet) Wallet Connect: process delete_session
Requires the specific status-go changes that brings WCChangePairingState

Process delete session and update internal pairing history state

Updated testing while fighting for the issue of not deleting the session
Found out that the client requests a different topic in the delete
session request.

Also:

- update debugging UX to support session events
- update storybook to support mocking session events
- fix go test utility to account for refactoring

Updates #12858
2023-11-30 10:47:41 +01:00
Lukáš Tinkl 3b60506460 feat(token mgmt): update main wallet view layout with community assets
- update the AssetsView.qml view and delegates according to the latest
design
- add AssetsView to Storybook
- add new section for Community Assets
- (re)use the community badge with tooltip and link action to take the
user to the respective community
- add Community Assets info icon + popup
- create context menu for token delegates with actions
(Send/Receive/Manage tokens/Hide)
- add confirmation popups when hiding a single or all community tokens
- emit a toast bubble after hiding the token(s)
- plus related controller/backend methods for handling the
settings-related actions
- some smaller fixes/cleanups

Fixes #12369
Fixes #12372
2023-11-29 16:13:08 +01:00
Cuteivist 8e0db2e666
fix(@desktop/wallet): Display balance for all accounts (#12632) 2023-11-29 12:19:59 +01:00
Stefan 5b9e4faa8a feat(wallet) run WebEngineView as a service in background
This is required to control the resource consumption in case of no
usage of wallet connect
Hence we load the WebEngineView only if we have active pairings and
such that SDK events are expected from the paired dapps.

Also:

- Moved the generic WebEngineView communication bridge to StatusQ
- Added basic tests for WebEngineLoader
- Add a way to know when wallet is loaded (`walletReady`)
- Add storybook support for mock of nim sections as context properties

Updates: #12639
2023-11-27 22:54:11 +01:00
Sale Djenic ce0dbe533b feat(@desktop/walletconnect): aligning namespaces with WalletConnect v2.0 protocol
Closes: #12825
2023-11-27 18:15:57 +01:00
Noelia 743ba6929c feat(MintToken): Validation on name / symbol if exists in standard token list
- It adds link to the corresponding tokens model in `EditCommunityTokenView`.
- It adds validation for `name` and `symbol`.
- It updates `storybook accordingly.`

Closes #12365
2023-11-23 12:07:46 +01:00
Lukáš Tinkl 8791d028e6 feat: Integrate the new manage assets/collectibles panels into Settings
- display a customized floating bubble to save/apply the settings
- display a toast message on Apply with an action to jump to Wallet main
page
- add home/end/pgup/pgdown keyboard shortcuts to StatusScrollView to be
able to navigate more easily in long list views
- some smaller fixes and cleanups in wallet and settings related views

Fixes https://github.com/status-im/status-desktop/issues/12762
2023-11-22 18:29:31 +01:00
Sale Djenic 132e05a8c6 feat(@desktop/walletconnect): signing tx or personal sign via keycard
Closes: #12730
2023-11-22 11:11:19 +01:00
Khushboo Mehta 26f29a4fe6 chore(@desktop/wallet): Unifying the various "TokensTypes" across the app
fixes #12501
2023-11-21 13:02:26 +01:00
Stefan 0d10d30b30 feat(wallet): WalletConnect web engine view runs SDK in background
Validated that WebEngineView runs SDK in background and can be hidden
from view.

Closes: #12639
2023-11-21 08:08:33 +01:00
Khushboo Mehta 961babc65a fix(@desktop/wallet): Wallet TEST_MODE: account ordering is buggy when in test mode
fixes #12777
2023-11-20 19:41:22 +01:00
Lukáš Tinkl ba30afd202 feat: Manage Collectibles panel UI component & model
- implements a QML panel to organize collectibles
- factors out the delegates to separate files to be reusable with the
Assets tab
- adds QML tests to assess the UI functionality (move, show/hide, save/load)
- does not cover the problematic "Arrange by collection" switch (TBD
later)

Fixes: https://github.com/status-im/status-desktop/issues/12379
2023-11-17 14:12:48 +01:00
Sale Djenic 48c9e372dc chore(@desktop/walletconnect): communication between qt desktop app and loaded wallet connect sdk is made via web channel 2023-11-17 13:55:20 +01:00
Stefan 783a755230 feat(wallet) integrate Wallet Connect sign APIs
Bump status-go that brings the sign APIs support for send transaction
and personal sign

Extend SDK

- simple SDK event handling in QML
- support session request response APIs
- pairing management

Closes #12637
2023-11-15 17:21:27 +01:00
Noelia 611598ec71 fix(TokensStore): Warnings cleanup
Warnings cleanup
2023-11-15 16:13:15 +01:00
Stefan bcf5b64298 feat(wallet) Wallet Connect Pair integration
Implement Controller to forward requests between status-go and SDK
implementation in QML.

Other changes:

- Source Wallet Connect projectId from env vars
- Mock controller in storybook

Updates #12551
2023-11-15 15:51:50 +01:00
Khushboo Mehta b315d8b9b8 chore(@desktop/wallet): Wallet: explore streamlining "all tokens model" spread across different sections
closes #12424
2023-11-15 10:40:36 +01:00
Cuteivist 90cfc0842a
bug(@desktop/wallet): Fix new transaction button visuals (#12589)
* Fixed duplicated wallet activity fetch request
* Fixed not resetting tab on wallet account add
2023-11-14 11:35:18 +01:00
Lukáš Tinkl 7183621369 feat: Manage tokens panel UI component & model
- implements the UI component to manage regular & community tokens
(drag'n'drop or context menu to reorder, show/hide, group by community)
- implements a custom C++ QAIM model which acts as a fake proxy model
for the above QML panel (internally it does all the
sorting/grouping/hiding and preserves the custom sort order)
- adds and corrects support for cascading submenus in StatusAction, and
StatusMenu[Item]
- adds support for mirrored (horizontally flipped) StatusSwitch
- adds a new SortOrderComboBox.qml (this was being used in the first
Figma version, can be ignored now, will be used by the main wallet view
later)
- some minor fixes and cleanups in the used components

Iterates #12377
Closes #12587
2023-11-09 11:45:32 +01:00
Noelia 88c09b3941 feat(@desktop/communtiies): Set signer flow
Setting signer logic and computing fees.
AC messages for different transfer ownership states.
Declining ownership logic.
Added `CommunityTokensStore.qml` stub.
Removed deprecated property.

Issue #11964
2023-11-08 14:35:51 +01:00
Khushboo Mehta bcdb37b0c5 fix(@desktop/wallet): Use LeftJoinodel to link networks with chainId in various models such collectibles model, assets models.
fixes #8923
2023-11-01 20:11:43 +01:00
Anastasiya Semenkevich 63112545a8 chore(@AccountContexMenu.qml): make the context menu dynamic
Removed the predefined width to the new option of including/excluding from total balance is fully visible
2023-11-01 20:32:16 +03:00
Noelia 35ed0e5987 feat(WalletStore): Created new `TokensStore`
It creates new `TokensStore` that will provide all needed token models for all app sections:
- sourcesOfTokensModel
- flatTokensModel
- tokensBySymbolModel
2023-11-01 10:58:21 +01:00
Anthony Laibe a5aba6e4e2 fix(@wallet): send to only operable account
fixes #12509
2023-10-31 10:28:28 +01:00
Stefan ccd8c5b65f feat(wallet) Wallet Connect integration prototype
Implement a prototype of integrating [WalletConnect Web SDK]()

- integrate WalletConnect Web SDK using Node.js and packing it using
  [webpack](https://webpack.js.org/guides/getting-started/)
  - this way, we achieve the same versioning strategy for the SDK
- add WalletConnectSDK view
  - it is used to load the web SDK via a WebView (validated working on
  Mac and Windows)
- add new app dependency of WebView QT
  - also update vendor packages `Dotherside` and `nimqml` to add
    required WebView::initialize API used to initialize the WebView
    integration at the app start
- add WalletConnectPage to Storybook for quick prototyping
  - Also add dependency for WebView Qt lib
- index.js is the wrapper used to provide a simple stateful interface
  with the WC SDK
- Entry in ui/generate-rcc.go ensures the node_modules cache is excluded
  from the resource file

Notes:

- Added `com.apple.security.cs.allow-jit` entitlement when signing the
app package. This allows Execution of JIT-compiled Code Entitlement
required by the fast-path of the JavaScriptCore framework on MacOS
platforms.
- Keep some debugging entries expected to help debugging Linux package
- Removed outdated `DerivationPathInputRegressionTests` qml test

Closes #12301
2023-10-30 09:29:33 +01:00
Cuteivist b1a8fd6260
fix(@desktop/wallet): Prevent nil conversion to qvariant (#12546) 2023-10-26 10:01:52 +02:00
Stefan 7b24a398b0 fix(wallet) deconflict import of Utils in wallet.RootStore
Closes: #12427
2023-10-17 09:57:35 +02:00
Khushboo Mehta bc85bc8cd3 feat(@desktop/wallet): Include watch only per account
fixes #12305
2023-10-13 12:11:36 +02:00
Anthony Laibe 18c37fbdac feat(@wallet): Enable sepolia network 2023-10-09 15:06:52 +02:00
Ivan Belyakov 338e6f5fa9 Fixed locale issues for balance chart tooltip and x-axis labels 2023-10-06 15:53:30 +02:00
Ivan Belyakov 955169112d feat(wallet): Fixed balance history chart to use new balance history data based on transfers 2023-10-06 15:53:30 +02:00
Lukáš Tinkl 7171094f01 fix(storybook): fix broken pages
It was mostly some missing or non-existing properties or the component
got moved somewhere else

Fixes #12285
2023-10-06 14:59:02 +02:00
Khushboo Mehta 7bdec15353 fix(@desktop/wallet): Replaced watched-only with watched address/adresses text 2023-10-06 13:08:08 +02:00
Cuteivist 158bb87b4a
@bug(wallet/activity): Implemented collectibles model (#12294) 2023-10-03 14:15:11 +02:00
Stefan e805a9bf26 feat(wallet) user can repeat a Send transaction from activity view
Enable user action to repeat a Send transaction from the activity view
(HistoryView) and details view (TransactionDetailView).

Extend AppMain send modal entry and SendModal API to allow for selecting
all the required parameters for repeating a transaction.

Optimize update of start timestamp for activity filter only when user
attempts to open the filter panel.

Closes #12122
2023-09-29 14:34:16 +02:00
Noelia 23966ec2cb fix(Wallet/Collectibles): Applied special collectible format only to community special collectibles
- Updated default value for `communityPrivilegesLevel` to `2 = Community`.
- Added `communityId` checker in `CollectiblesView`, `CollectibleDetailView` and `WalletLayout`.

Closes #12283
2023-09-28 13:40:00 +02:00
Noelia 89a559745b feat(Wallet/Collectibles): Added special format for owner and tmaster community tokens
- Updated `CollectibleDetailsView` to show owner and tMaster token collectible types with the correct design.

- Updated `CollectiblesView` to show owner and tMaster token collectible types with the correct design.

- Modified send footer option if collectible selected is an owner token.

- Added logic to wallet rootstore to handle selected collectible data.

- Reverted changes on property selectAccount in sendModal

Closes #12172
2023-09-26 12:44:15 +02:00