Commit Graph

4467 Commits

Author SHA1 Message Date
Khushboo Mehta 1ebdbde5c3 feat(@desktop/wallet): Implements Network selection behaviour
fixes #15274
2024-07-09 11:27:55 +02:00
Valentina Novgorodtceva e1bb235b4e chore: method to set waku mode added 2024-07-08 17:31:41 +03:00
Ivan Belyakov e45961232b fix(wallet): cross chain send transaction is detected now as send not
bridge
2024-07-08 15:18:57 +02:00
Stefan dbd96133a5 feat(dapps) update persistance from the SDK on sessions refresh
Updates: #15189
2024-07-05 17:48:30 +02:00
Stefan 94dc7b04a5 feat(dapp) disconnect wallet connect dapps
Closes: #15189
2024-07-05 17:48:30 +02:00
Michal Iskierko 1bc979290f feat(@desktop/permissions): use non community NFTs in permissions
Issue #15077
2024-07-05 10:27:17 +02:00
Michał Cieślak 62092e5083 feat(Chat/RootStore): collectibles model holding both community and wallet tokens 2024-07-05 10:27:17 +02:00
Alex Jbanca 2f050a025f feat(WalletConnect): Fine-tune connect dApp modal
Changes:
1. Align dialog with Figma design
2. Add new components for round image with badge and connection status tag
3. Add tests
4. Dapps service will now receive wallet `RootStore` as input and reuse existing models with account balance and other necessary info for account selection and chain selection
5. Minor updates in stores
6. Minor updates in WC toast messages to display app domain instead of app url
2024-07-05 01:03:23 +03:00
Patryk Osmaczko b08eb128ad feat(communities): inform about missing encryption key
closes: #15064
2024-07-04 19:36:30 +02:00
Jonathan Rainville e3979ed55e
fix(airdrop): fix lost info when closing password in airdrop flow (#15385)
Fixes #15383
2024-07-04 12:12:13 -04:00
Roman Chornii 03f8f80c56
feat(dapps): Implemented hovering and proper image color for dapps item delegate. (#15408)
Enabled walletconnect qml tests.
Closes #14760
2024-07-04 16:32:04 +03:00
Lukáš Tinkl 7146d5af5b feat: [UI - Swap] Create swap sign dialog
- create a common base for "sign" transaction popups/modals:
`SignTransactionModalBase`
- add SwapSignModal, deriving from the above common modal base
- add it to StoryBook; integration TBD as part of a different followup
PR
- add QML tests

Fixes #14785
2024-07-04 11:12:14 +02:00
Lukáš Tinkl 57585652d0 fix(TokenSelector): Crash when try to search token in SwapModal
- fix crash deep in ListView section handling; turns out ListView
doesn't like `section.property` being empty

Fixes #15445
2024-07-04 11:04:39 +02:00
belalshehab 60e0e212b2 fix(wallet)_: disable Sort by Date option when timestamps are not ready
- Disable 'Sort by Date' when timestamps are incomplete.
- Default to 'Alphabetical' sort if date is unavailable.

fixes: #13630

Update status-go submodule to latest commit on develop
2024-07-04 03:10:43 +03:00
belalshehab 1834581821 feat(Wallet)_: Enhance ComboBox with 'isDisabled' property
Added an optional 'isDisabled' property to the ComboBox model to dynamically control the visibility and interaction of entries based on their state. This enhancement allows for entries to be disabled under certain conditions, improving the UI's adaptability and user interaction.

fixes: #13630
2024-07-04 03:10:43 +03:00
belalshehab 3452fbadc6 feat(wallet)_: add manual reload button to WalletHeader.qml
- Added a manual reload button to the WalletHeader to allow users to refresh wallet data on demand.
- Implemented a throttle timer to prevent excessive reloads.
- Show the last reload time.
- Updated UI elements to reflect the reloading state for user feedback.
- Connected the reload button to the backend to trigger the wallet reload functionality.

resolves: #13652
2024-07-04 00:19:42 +03:00
Jonathan Rainville 393ee8e284
fix(profile): fix missing ring in own profile (#15366)
Fixes #15314

The problem is that we used the `name` property to know if we have an ENS name, but we actually set it to whatever is available, so we need to validate that it's an ENS name
2024-07-03 14:06:03 -04:00
Khushboo Mehta 0e458842d2 feat(@desktop/wallet): Implementation of Sign Swap
fixes #14835
2024-07-03 14:41:57 +02:00
Alex Jbanca 4bcda69d4a feat(WC-establish-connection): Fine-tune dApps button
1. Transform the dApps button into a combo box and add badge indicator + tooltip
2. Add storybook page
3. Adding tests
4. Minor fixes - dApps popup width, ModelUtils imports
2024-07-03 11:03:18 +03:00
Cuteivist c59ac4f3f0
feat(wallet): Wallet accounts model improvements (#15213) 2024-07-03 05:55:05 +02:00
Lukáš Tinkl 869abe8b59 fix(TokenSelector): fix sections and empty search result
- do not display sections with an active search
- display a "No assets found text" when the search yields no results
2024-07-02 21:25:15 +02:00
Lukáš Tinkl ca3d1ba067 fix(TokenSelector): fix margins and hardcode popup height
- also position the view at the beginning, not on the selected item on
startup

(based on feedback from design)
2024-07-02 21:25:15 +02:00
Lukáš Tinkl 464af7a04d fix(TokenSelector): Duplicate plain token entries
- filter out plain tokens from the adaptor's if already present in the
output model
- add a corresponding regression test

Fixes #15412
2024-07-02 21:25:15 +02:00
Lukáš Tinkl a18056c7d1 chore(TokenSelectorViewAdaptor): extract "favorites" section name 2024-07-02 21:25:15 +02:00
Stefan 97413d99d1 feat(dapps) implement eth_sendTransaction support for wallet
Add `Fees` section to request modal

Closes: #15126
2024-07-02 09:24:09 +02:00
Khushboo Mehta e2949ad6e7 feat(@desktop/wallet): Implements Approve spending cap
fixes #14833
2024-07-02 00:14:19 +02:00
Dario Gabriel Lipicar 25127bfd63 chore(@desktop/wallet): intergrate uuid to Swap
Part of #15330
2024-07-01 15:53:21 -03:00
Lukáš Tinkl 273858bc81 fix: TokenSelector doesn't show list of all known assets
- concat the assets model with the list of plain tokens model
- adjust the delegates and tests

Fixes #15278
2024-07-01 19:57:01 +02:00
Lukáš Tinkl 55e88be4f1 fix: SwapModal contents doesn't scroll
- wrap the contents in `StatusScrollView`
- adjust padding/margins

Fixes #15276
2024-07-01 19:57:01 +02:00
Lukáš Tinkl 531252fd73 [UI - Swap] Update / improve AccountsSelector component to cover swap design specs
- sort accounts by total currency balance, irrespective of the tokens
held
- fixup 0 sub-balance formatting

Fixes #14779
2024-07-01 19:57:01 +02:00
Sale Djenic 7e9f680e0b chore: router v2 integration
Closes: #15204
2024-07-01 16:19:15 +02:00
Khushboo Mehta 5e8f7515cf feat(@desktop/wallet): Swap: Switch input/output params
fixes #14827
2024-07-01 11:46:07 +02:00
Khushboo Mehta 64efd47805 fix(@desktop/wallet): [SwapModal] Fix for flaky tests and remove the skip flag
fixes #15272
2024-07-01 10:44:57 +02:00
Valentina Novgorodtceva c71d11e990 chore: duplicate permission step added to permission test 2024-06-27 09:58:24 +03:00
Stefan 8cca2664e4 fix(dapps): failure if case sensitivity mismatch in account address
Update: #15126
2024-06-26 12:00:54 +02:00
Stefan cb368ea5fb feat(dapps) fix missing list of dapps in wallet connect
Updates: #15126
2024-06-26 12:00:54 +02:00
Stefan 92d0420449 feat(dApps) implement sign transaction for wallet connect
Uses status-go's endpoints:
- `wallet_buildTransactions` to format the transaction
- `wallet_signMessage` to sign the transaction
- `wallet_buildRawTransaction` to format the final signed transaction

Updates #15126
2024-06-26 12:00:54 +02:00
Stefan dfe53c4c7c chore(dApps) support multiple actions in DAppRequestModal
Also fix minor issue and add improvements

Updates #15126
2024-06-26 12:00:54 +02:00
Roman Chornii 3e04967309
chore(Wallet.RootStore): Fixed qml runtime error. (#15323)
Quickfix
2024-06-25 21:17:48 +03:00
Lukáš Tinkl 42533b8c61 feat:[UI - Swap] Create new TokenSelector component
- create new dedicated (asset) token selector component
- integrate it into `SwapInputPanel` and `SwapModal`
- add respective SB page and QML tests suite

Fixes #14783
2024-06-25 13:06:57 +02:00
Roman Chornii 1ba7ba31aa
fix(Wallet.RootStore): Improved some of the property bindings between QML and Nim layer. Removed unused properties. (#15279)
Fixes: #14803
2024-06-24 13:30:24 +03:00
Alex Jbanca 901362dfc1 feat(networkSelector): Refatoring of NetworkSelector to remove backend dependency 2024-06-21 16:18:51 +03:00
Jonathan Rainville 8ca51c34cc
refactor(messages): make message sending async (#15237)
Fixes #12411

Makes message sending async and adds a placeholder "Sending.." message
2024-06-20 18:46:12 -04:00
Alex Jbanca d1053be5f0 fix(SwapModal): Fixing the modal height 2024-06-20 21:32:00 +03:00
Alex Jbanca b4a9df62e2 refactoring(NetworkSelectionView): Update NetworkSelectionView and remove the backend dependency
This commit creates a new component NetworkSelectorView and it's implementation will replace the NetworkSelectionView
+ Adding the storybook page
+ Adding tests
2024-06-20 16:30:10 +03:00
Alex Jbanca 429203cd66 refactoring(NetworkSelectItemDelegate): Remove backend dependency and clean the API
This is the first step in refactoring the NetworkFilter, by cleaning the base component that handles the check states.
This component supports multiple configurations:
1. Single selection with or without radio button
2. Multiple selection with or without checkbox
3. Automatic handling of the check state. The component will change the check state based on user clicks
4. Manual handling of the check state. The component will not change the check state, but offers a toggled signal and expects the user to change the check state based on external flows

+ Fix minor bugs
2024-06-20 15:13:54 +03:00
Valentina1133 c8eb48cf04 chore: changes for mint owner token test (#15270) 2024-06-20 11:24:35 +03:00
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
Khushboo Mehta 0645ed4712 fix(@desktop/wallet): solving the issues with SwapInputPanel list in the issue
fixes  #15162
2024-06-19 17:20:22 +02:00
Michał Cieślak d700a1ad53 chore(Wallet): AssetView replaced with the refactored version
Closes: #14704
Closes: #14939
2024-06-19 16:36:18 +02:00
Michał Cieślak 38914df0f0 chore(Wallet): Integrate refactored AssetView and related adaptor 2024-06-19 16:36:18 +02:00
Michał Cieślak b12caa3f9a feat(Wallet): AssetsViewAdaptor added for preparing data for AssetsView 2024-06-19 16:36:18 +02:00
Michał Cieślak 436ae9f1f3 feat(AssetsView): business logic not related to ui removed 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 5c1e800f14 feat(@desktop/wallet): Add Select Input and output params to swap modal
fixes #14826, #14825
2024-06-19 12:47:26 +02: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
Stefan 758dbc55e5 feat(dapps) implement signing of messages
Implement infrastructure and integration with status-go to support
general session requests

Supported methods:
- personal_sign
- eth_signTypedData_v4

depends on status-go change that exposes the signing methods

Also

- support hex or utf8 encoding for personal_sign
- format the typed data for display in the modal

Tests are disabled for now, as they are crashing on CI

Close: #14927
2024-06-17 15:06:26 +02:00
Khushboo Mehta 4f999e3709 fix(@desktop/wallet): Swap: Fix crash on launching SwapModal 2024-06-17 11:30:23 +02:00
Alex Jbanca f943440915 refactor(ProfileView): Adapt the profile view to the new `ContactDetails` component 2024-06-14 17:17:18 +03:00
Alex Jbanca afcb7608e0 refactor(contactDetailsAsJson): Adding `ContactDetails` component to replace `getContactDetailsAsJson`
This component has live data and its purpose is to replace getContactDetailsAsJson

+ adding storybook page
+ adding tests
2024-06-14 17:17:18 +03:00
Richard Ramos e5e3ff4408 chore: change order of rpc text input 2024-06-13 21:33:44 -04:00
Jonathan Rainville 0f055afa00 chore(chat): no need to block the input when a permission is pending
Fixes #15143
2024-06-13 18:41:00 -04:00
Roman Chornii a36ae5b5e0
fix(MembersTabPanel): Sorted Community members list alphabetically (#15163) 2024-06-13 20:21:04 +03:00
Michal Iskierko e6c32fd619 fix(@desktop/permissions): Fix missing assets on permissions lists
Fix #14905
2024-06-13 15:07:35 +02:00
Lukáš Tinkl 46b81b30a6 feat: [UI - Wallet Stability] Create Max button component
- create a reusable "Max" send button component
- use it in SwapModal and SendModal
- add some more tests in tst_SwapInputPanel.qml

Fixes #15066
2024-06-12 17:08:56 +02:00
Stefan 4d080e12aa feat(dapps) authenticate user for session request
Trigger authentication with identity of the request
Track the authentication using the identity and allow only once
Add tests for the new functionality
Minor improvements around the code

Closes #15018
2024-06-12 16:52:12 +02:00
Stefan f5b46d6972 feat(dapps) implements responding to wallet connect requests
For start support showing sign message only
Support rejecting the request
Storybook integration
Add disabled tests for the main logic and sanity UI tests.
They crash on CI only and work locally on mac. Postponed finding out why
for now.

Closes: #14927
2024-06-12 15:44:53 +02:00
Stefan 145053e34f chore(dapps) implement service tests and basic workflow tests
Abstract WalletConnectSDK to make it testable
Implement WC service pairing test
Bring back DAppsWorkflow tests back to life and add a pair modal test

Updates: #14927
2024-06-12 15:44:53 +02:00
Alex Jbanca 60b1ec82ec feat(NetworkFilter): Add cut-out to the network filter images when displayed in a row 2024-06-12 11:53:00 +03: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
Roman Chornii a2032ac689
fix(ProfileDescriptionPanel) bio affecting profile showcase changes (#15063)
fixes #15015
2024-06-10 12:29:38 +03:00
Khushboo Mehta 3010fb58cb feat(@desktop/wallet): Implements Edit slippage
fixes #14829
2024-06-07 16:17:08 +02:00
Belal Shehab f0bcea0044
fix(wallet): Renamed KeyPair to key pair throughout the entire app (#15051)
* fix(wallet): Renamed KeyPair to key pair throughout the entire app

replaced the keypair occurances with key pair in the entire qml ui files
fixes: #13612 
---------

Co-authored-by: belalshehab <belal@status.im>
Co-authored-by: Valentina Novgorodtceva <valentina@status.im>
2024-06-07 16:29:09 +03:00
Lukáš Tinkl 70d2a1dd75 [UI - Swap] Update / improve NetworkFilter component to cover swap design specs
- add new `showRadioButtons` and `showTitle` UI customization points
- adjust SB and expose all the existing modes, fix it to make it work
with multi selection
- integrate these new modes into SwapModal to align it with the Figma
design

Fixes #14780
2024-06-07 15:19:51 +02:00
Belal Shehab fdf47c4c21
fix(wallet): fixing back button shows unnecessarily (#15065)
reset the back button on stack reset
fixing: #14320

Co-authored-by: belalshehab <belal@status.im>
2024-06-06 16:10:20 +03: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
Michal Iskierko a7b9a62745 fix(@desktop/communities): Lazy loading token holders
Token holders are not fetched when application starts.
They are fetched only when token details screen is opened.

Fix #14974
2024-06-06 10:18:16 +02:00
Andrey Bocharnikov 3345a9cc48 fix(HistoryNodes): Fix mailserver management UI controllers
Fixes #14982
2024-06-04 15:37:06 -04:00
Alex Jbanca f1308f3b28
feat: Add initial support for ChartJs plugins (#14433)
+ adding plugin for crosshair and zoom
+ adding plugin for data labels
2024-06-04 13:08:16 +03:00
Khushboo Mehta aa03edf17c feat(@desktop/wallet): Integrate recurring onramp providers in Recurrent tab
fixes #14820
2024-06-04 11:09:59 +02:00
Khushboo Mehta 3f77a16317 feat(@desktop/wallet): Implement Network selection in SwapModal
fixes #14750
2024-06-04 11:07:23 +02:00
Jonathan Rainville b2fb287beb
refactor: rely on canPost and canView instead of checking permissions (#14993)
* refactor: rely on canPost and canView instead of checking permissions

Fixes #14983

* chore: remove all Light permission checks that are no longer needed
2024-06-03 15:06:34 -04:00
Seitseman 70bdd9140f fix: Error message is misleading when pasting bio longer than 240 chars
de-synchronized charLimit and input.maximumLength for Profile Description bio properties to get the UX identical to mobile.
Fixes: #14879
2024-05-31 11:38:00 -04:00
Andrey Bocharnikov bcb9d787c8 fix(permissions): Communities: HoldingsDropdown doesn't allow decimal input (Edit Permissions)
If chainName is empty, HoldingsDropdown doesn't initialise decimals for AmountInput

Fixes #14942
2024-05-31 21:38:24 +07:00
Khushboo Mehta c9641bb0b9 feat(@desktop/wallet): Implementation of One Time & Recurrent tab in Buy Popup
fixes #14819
2024-05-31 12:47:37 +02:00
Mikhail Rogachev f62b6eb348
fix(communities): Correct handling 'hide channel from certain members' (#14977)
Close #14915
2024-05-31 12:28:09 +02:00
Jonathan Rainville 42b10783ef
fix: ensure communityDetails are updated in PermissionsView (#14981)
Fixed an issue where communityDetails were not being updated in PermissionsView.
This issue was causing the name, color, and image not to update correctly.

Co-authored-by: mdias <maildomarcio@gmail.com>
2024-05-30 09:52:28 -04:00
Stefan 1618e6ce0a feat(dapps) implement basic DAppRequestModal
I added it to storybook for testing. There is not integration with with
the app yet.

Updates: #14762
2024-05-30 12:00:06 +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
Stefan ea2b6b2ed7 chore(dapps) move responsibility of tracking sessions from WC SDK
Updates: #14615
2024-05-30 10:57:42 +02:00
Stefan 0cf41a60cb chore(dapp) update SDK interface and the generated code
Updates: #14615
2024-05-30 10:57:42 +02:00
Khushboo Mehta ca031a285c feat(@desktop/wallet): Use SubModelProxyModel in SwapAdaptor.qml
fixes #14926
2024-05-30 10:28:40 +02:00
mdias 2c1806434a
Fix asset value in HoldingsDropdown when adding an asset (#14920)
When creating or editing a community permission, if you add a holding token that has already been added,
the amount value displayed is in basic units (long value) of that token instead of primary units
2024-05-29 13:59:13 -04:00
Anastasiya Semenkevich e15fea7927 chore: add object name for ChatView component 2024-05-29 10:36:52 +03:00
Anastasiya Semenkevich 0fca77b733 chore: rename holders string to match the general in app approach 2024-05-28 19:50:17 +03:00
Lukáš Tinkl f28343e264 fix: Error when editing saved ENS address
- reset the `address` field properly to zero (instead of empty) address

Fixes #14901
2024-05-28 15:31:23 +02:00
Lukáš Tinkl c4f7c9732d fix(AddEditSavedAddressPopup): hide network selector for ENS names
- fix some typos, add some forgotten `qsTr()` calls
- improve SB page with create/edit modes

Fixes #14909
2024-05-28 15:31:23 +02:00
Michal Iskierko 6d310c33cd fix(@desktop/communities): add hidden button to refresh (retrack transaction) community tokens
Issue #14699
2024-05-28 13:52:42 +02:00