Commit Graph

236 Commits

Author SHA1 Message Date
Alex Jbanca 8b4cbc59a8 refactor: Refactoring of AccountSelector dropdown
The new account selector expects a generic account model. It will display all the account data if provided, including preferred chains, balance or asset balance. Otherwise it will display only the available data.
The account selector can receive an initial selection based on account address and will provide the current selected address and the current selected model item.

- Unify the account selector between communities and wallet
- Update the account selector to work with addresses instead of model indexes
- Adapt all components using the account selector or the account selection
- Move/reuse qml components involved in the account selector UI
- Remove nim logic used to handle index based account selection.
- Adding storybook page
2024-06-20 11:24:35 +03:00
Michał Cieślak b12caa3f9a feat(Wallet): AssetsViewAdaptor added for preparing data for AssetsView 2024-06-19 16:36:18 +02:00
Dario Gabriel Lipicar 15452aa79c feat(wallet): integrate swap slippage percentage parameter
Closes #15096
2024-06-19 09:58:36 -03:00
Khushboo Mehta 8d6d6bdd84 feat(@desktop/wallet): Getting swap proposal
fixes #14828
2024-06-19 10:21:07 +02:00
Lukáš Tinkl a12a6a4894 feat[UI - Wallet Stability] Create generic/reusable assets listview component
TLDR: later this should form a basic building block for a new
TokenSelector picker component, potentially replacing the current
HoldingSelector* and TokenListView components (support for collectibles
TBD as part of https://github.com/status-im/status-desktop/issues/15121)

- create reusable `TokenSelectorAssetDelegate` and `TokenSelectorView`
- add corresponding SB page, showcasing the flow/integration and the
separation of concerns between the view, adaptor and delegate layers
- add QML testcase for TokenSelectorView
- don't display crypto symbol for token balances per chain tags
- update the stores and SB pages
- add some missing formatter functions to LocaleUtils and CurrenciesStore

Fixes #14716
2024-06-18 23:09:20 +02:00
Dario Gabriel Lipicar 75d755ea0f feat(@desktop/wallet): initial integration for swap proposal, approve tx and swap tx
Closes #14824
2024-06-11 14:15:26 +02:00
Lukáš Tinkl a3c9012f4a feat: [UI - Swap] Create swap input component
- new panel created: `SwapInputPanel`
- some cleanups to the needed stores
- created a SB page demonstrating the use of 2 panels and the
`SwapExchangeButton`
- created QML tests

Fixes #14781
2024-06-06 11:13:18 +02:00
Stefan 35b81eadf6 feat(dapps): show dapps list in wallet connect popup
Things done here:

Integrate basic functionality for wallet connect in status-go
Update the list of dapps from the SDK
Retrieve the persistence dapps list from the backend as a fallback
if there is no connection and SDK can't be initialized
Provide a basic simple view of dapps in the wallet connect popup

Closes: #14557
2024-05-30 10:57:42 +02:00
Stefan 07bc6c49df feat(dapps) attempt to fix the wallet connect abstraction
Spent too much time figuring out the puzzle of
service->module->view->QML just to call a
status-go function.

Keeping this attempt for later while moving to a
simplified Controller/Provider approach. I will
come back to the abstraction when we add tests
to use it.

Updates: #14615
2024-05-30 10:57:42 +02:00
Khushboo Mehta 9d8542c95d feat(@desktop/wallet): Add support for Account selection in Swap Modal using already existing AccountsModalHeader.qml
fixes #14749
2024-05-28 10:59:18 +02:00
Khushboo Mehta 81d7ca32b0 feat(@desktop/wallet): Swap modal launch flows
fixes #14628
2024-05-28 10:11:24 +02:00
Lukáš Tinkl a6c897929a chore: Remove custom rowData method from NIM's models
- Some NIM's models define additional (not part of the
QAbstractModelItem API) method rowData to allow access to model's data
on UI side
- The same job can be done relying fully on public QAbstractModelItem
API using ModelUtils utility. It gives full transparency if we need
nim's model or other like ListModel replacement in tests/storybook
- propagate `tokensStore` to unbreak the Browser's wallet menu

Fixes #14805
2024-05-20 18:02:20 +02:00
Cuteivist 2565c8a135
fix(wallet): Show community name in tag (#14622) 2024-05-15 11:14:46 +02:00
Khushboo Mehta 30ff5f3a2b fix(@desktop/wallet): New Collectible Details tabs
fixes #13806

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-14 09:32:45 +02:00
Sale Djenic dd104960ba feat(walletconnect): initial code organization
Closes #14395
2024-05-02 09:47:30 +02:00
Ivan Belyakov 3843b53cc0 feat(wallet): toggling `include/exclude from total balance` menu action
filters out assets/collectibles/activities entries.
Fixed direction of transfers for `All accounts` selection on activity
tab.

Closes #14162 #14216
2024-04-12 15:18:19 +02:00
Ivan Belyakov 6ba0cdfafa feat(wallet): removed allAddresses flag as redundant 2024-04-12 15:18:19 +02:00
Stefan 473e2e273f feat(wallet) connect assets ordering with saving to DB backend
Also refactor the existing code based on the latest understanding.

Closes #13312
2024-04-09 09:34:52 +02:00
Khushboo Mehta 5473e3b14e chore(@desktop/wallet): Simplify the wallet networks service
fixes #12717
2024-03-28 11:47:33 +01:00
Stefan 26542970ee feat(wallet) save/load collectibles user handled state in DB
Add a separation layer for save/load/clear to ManageTokensModel
so that we can save/load from external sources.
The separate layer is composed of JSON as protocol, a set of signals
and slots for interface. The implementation forwards data to current
QSettings for storybook and nim controllers for the app.

Updates #13313, #13312
2024-03-27 20:26:15 +01:00
Khushboo Mehta f45a39bfcf feat(@desktop/wallet): Link out from collectible details view to opensea
fixes #13918
2024-03-27 17:47:06 +01:00
Stefan 72b03e69aa fix(wallet) fix namespace clash in wallet RootStore.qml
Updates: #13663
2024-03-25 18:38:33 +01:00
Sale Djenic 10a8469b9e fix(communities): deltas between designs and build for join token gated community flow
This commit:
- improves selection of addresses to reveal
- keeps the selection state for the popup lifetime
- brings higher granularity in terms of signed requests by keypairs
- meets new requirements from the latest related Figma
- merges edit shared addresses feature and request to join community features
into a single component, cause the flow is logically the same, with the only
difference that when editing revealed addresses we don't show the community
intro screen

Fixes at least points 3 and 4 from #13988
2024-03-25 14:16:32 +01:00
Khushboo Mehta 4f75956ca3 fix(@desktop/wallet): Fix link out to extherscan from collectibles details view 2024-03-20 19:04:32 +01:00
Stefan 0958860bc9 fix(qml): fix etherscan links for all networks
Also refactor code for reusability and readability.

Closes: #13986
2024-03-19 15:14:40 +01:00
Khushboo Mehta 2f0343f0e9 feat(@desktop/wallet): Main Collectible Detail View enhancements
fixes #13804
2024-03-13 11:46:49 +01:00
Dario Gabriel Lipicar 96d9acf1f0 feat(@desktop/wallet): implement jump to activity details screen from collectible details activity tab
Fixes #13721
2024-03-05 07:41:20 -03:00
Dario Gabriel Lipicar 10c44b8038 feat(@desktop/wallet): implement collectible details activity tab
Fixes #12311
2024-02-28 13:07:48 -03:00
Anthony Laibe aed61b68b1 feat(@wallet): sepolia default 2024-02-23 11:52:40 +01:00
Cuteivist 3126973cfc
feat(activity): Add navigation to tx details (#13634) 2024-02-22 15:41:13 +01:00
Cuteivist 2e6af7aa51
feat(@desktop/settings): Integrate token advanced settings with backend (#13487) 2024-02-19 13:09:07 +01:00
Dario Gabriel Lipicar 8b7efa3122 feat(wallet): simplify loading items mechanism for collectibles model
Fixes #11802
2024-02-08 11:08:21 -03:00
Lukáš Tinkl 9db48a986a fix(token mgmt): finish the controller refactoring
- reduce the duplication by moving the controllers (1 per type) to the
toplevel stores
- make sure the internal properties stay in sync between save/load now
that we have just 1 common controller
- fix navigating to the Hidden section from the toast
- finish impl of hiding the token from FirstTokenReceivedPopup
2024-02-02 23:48:10 +01:00
Lukáš Tinkl 12bbaee43f fix: refactor the token mgmt controller and models placement
put the respective controller instances into WalletAssetsStore and
CollectiblesStore, so that they can be accessed from other places, like
the SendModal or some popups

Iterates #13293
2024-02-02 23:48:10 +01:00
Anthony Laibe 1634109971 feat(@wallet): token list global updated at
fixes #13269
2024-02-02 12:01:17 +01: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
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
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
Dario Gabriel Lipicar 29f1bee218 feat(@desktop/wallet): implement allCollectibles module
Fixes #13235
2024-01-18 13:57:04 -03: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
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 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 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
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 693457a8bc fix(@wallet): period filter for this week/this month
fixes #12752
2023-12-07 16:54:15 +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
Khushboo Mehta 26f29a4fe6 chore(@desktop/wallet): Unifying the various "TokensTypes" across the app
fixes #12501
2023-11-21 13:02:26 +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
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
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
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
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
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 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
Cuteivist 5bf905b91d
feat(@esktop/wallet): Implemented filter by similar option (#12232) 2023-09-22 12:57:24 +02:00
Cuteivist fddcc3a83f
feat(@desktop/wallet): Transaction collectibles filtering (#12162) 2023-09-21 08:58:44 +02:00
Khushboo Mehta 296f70103a feat(@desktop/wallet): Enable Collectibles tab before token is selected
fixes #12095
2023-09-14 11:26:41 +03:00
Dario Gabriel Lipicar 50ffbb9dce feat(@desktop/wallet): add collectibles list to send modal
Fixes #12072
2023-09-11 08:02:02 -03:00
Cuteivist 63eacf0817
feat(@desktop/wallet): Use estimated latest block for details (#12092) 2023-09-11 10:08:53 +02:00
Lukáš Tinkl a42ac076ca fix(shared-addresses): wrong account color and type
- rename `watchOnlyAccounts` to `nonWatchAccounts` to reflect what the
property returns
- some warning fixes

Fixes #12023
2023-08-30 10:30:50 +02:00
Lukáš Tinkl f3526d6e01 fix(Mint token): Network selector not shown properly
Fixes 2 problems, mainly visible when switching between test and non-test
networks:
- do not display network icons in single selection mode
- make really sure the default chain is Optimism

Fixes #11846
2023-08-17 10:29:05 +02:00
Noelia f721636452 refactor(CommunitySettings): Add SFPM for wallet accounts model in a single place
- It adds proxy of wallet accounts only in a single place (wallet root store) and pass the tuned model through the rest of views.

- It updates `storybook` accordingly.

Closes #11829
2023-08-11 13:02:29 +02:00
Cuteivist 66e9631933
fix(@desktop/wallet): Speedup wallet view loading (#11736)
fixes #11627
2023-08-04 10:41:45 +02:00
Cuteivist cdcfe811f5
fix(@desktop/wallet): Update transaction status UI (#11681)
fixes #11534
2023-08-02 06:36:54 +02:00
Stefan d253ba8a2a fix(wallet): fix activity time filter
Also optimize for no filter instead of given specific time range.

Closes: #11717
2023-08-01 17:20:34 +02:00
Khushboo Mehta 6c5c36584a feat(@desktop/wallet): Account view - Prefered network
fixes #11578
2023-08-01 09:51:33 +02:00
Dario Gabriel Lipicar bf4af3d7d4 chore(wallet) remove transactions module
Bump Status GO to support session based activity requests

Transaction module was replaced by activity module,
this change removes the old code.

Details:

- Remove transaction.Item and use the DTO directly
- Replace the still using missing functionality
- Remove old way of fetching transactions in response to the history event
- Use activity filter to provide history for "recents" in Send.

Closes #11339
2023-07-31 19:01:33 +02:00
Dario Gabriel Lipicar dc75c120df feat(wallet): use new status-go collectibles backend
Fixes #11558
2023-07-27 12:48:17 -03:00
Stefan 03923b223b chore(wallet) optimize fetching request by using metadata
Use metadata instead of details for displaying activity headers.

Bump status-go to include the required API changes

Closes #11173
2023-07-25 17:55:33 +02:00
Cuteivist db363b3782
feat(@desktop/wallet): Use separate filter for each wallet account (#11528)
closes #11412
2023-07-19 16:16:45 +02:00
Stefan d17f2c70f1 chore(wallet) extract responsibilities from activity.Controller
Extract processing of Events and Status keeping responsibilities from
activity.Controller

Updates #11233
2023-07-05 23:45:34 +02:00
Stefan 2487b4b1cb feat(wallet) make filer apis async
Bump status-go to include required changes

Refactor the API usage to use the new async APIs.
Support multiple events in the same block
Report loading state for all the APIs

Also

- fix the loadingData state in the controller.nim
- reset the model to empty when the filter is invalidated due to
address and chain IDs change

Closes #11170
2023-07-03 17:40:19 +02:00
Anthony Laibe 398cf6455c fix(@wallet): test etherscan link
fixes #11330
2023-07-03 14:46:09 +02:00
Cuteivist c842876791
chore(@desktop/wallet): Use correct period of weeks filtering (#11362) 2023-07-03 11:51:34 +02:00
Anthony Laibe 7dbf994e1f feat(@wallet): add account button from settings 2023-06-29 18:51:37 +02:00
Sale Djenic 7c56dc53d9 feat(@desktop/syncing): keypair syncing - recovering from another device with Keycard related profile
Closes: #10983
2023-06-29 15:08:29 +02:00
Khushboo Mehta 9be598ee32 fix(@desktop/wallet): Activity UI filtering improvements
1. Handling case where filters result in no results
2. Fixed period filter
3. Used recipient model from go side
2023-06-22 17:49:02 +02:00
Stefan eb0406b556 feat(wallet) api to retrieve last activity timestamp
Bumps status-go to include the new API endpoint.

Integrate the new API endpoint with the ActivityFilterPanel.

Closes #11169
2023-06-22 15:53:11 +02:00
Stefan 2ba9680316 feat(wallet): filter activity by ERC20
Refactor code to use the token identity instead of token code
Removed the debugging activity view as now we have the API integrated
in the history view
Fixed the activity type in the activity entry

Closes: #11025
2023-06-21 11:49:02 +02:00
Khushboo Mehta 47c76714db feat(@desktop/wallet): Glue for acitvity filter UI and backend 2023-06-16 11:24:52 +02:00
Khushboo Mehta 28654e0187 \chore(@desktop/wallet): Change customisation colours on desktop to match those used on mobile
fixes #10637
2023-06-02 19:48:19 +02:00
Anthony Laibe 1e5fee981e feat(@wallet): calculate progress for activity tx
fixes #10762
2023-05-24 13:41:00 +02:00
Emil Sawicki f42f48b247 fix(@desktop/wallet); Refresh transaction wallet address 2023-05-23 07:44:29 -04:00
Emil Sawicki fc15f82e1b feat(@desktop/wallet): Activity address interactions
closes #10619
2023-05-23 07:37:37 -04:00
Stefan 22df203653 feat(Wallet): add activity filter basic API
Add the possibility of retrieving the data of wallet activity based
on the given filter criteria.

Major changes:
- Bump status-go with the new equivalent API
- Add temporary developer tools
    - Debugging ActivityView QML component to test filter and display
    the activity
    - Add activity Nim package and synchronous controller and model

Considerations
- Have the model synchronous for the first iteration and then move to
  async while implementing the fetching mechanism
- Use QtObject instances in the model instead of roles over items as
  agreed with the team
- Simplify the implementation by having a simple presentation layer
  using backend (service also in the future)
- Small required fixes and improvements

Closes: #10633
Updates #10366
2023-05-23 11:29:09 +02:00
Anthony Laibe 05c8373905 feat(@wallet): add account toast
fixes #10510
2023-05-18 09:24:23 -04:00
Anthony Laibe 8e8f194eb7 feat(@wallet): add all account action 2023-05-15 08:51:19 +02:00
Khushboo Mehta a57c0b414b feat(@desktop/wallet): New Account header
fixes #10330
2023-05-10 16:02:37 +02:00
Cuteivist ec04b8668f
Feat/10473 Updated activity list delegate and activity details header (#10580)
closes #10473
closes #10542
fixes #10408
2023-05-10 13:54:06 +02:00
Sale Djenic 5122815df8 feat(@desktop/wallet): removing wallet account without an authentication
Closes: #10569
2023-05-09 12:05:49 +02:00