Commit Graph

3344 Commits

Author SHA1 Message Date
Dario Gabriel Lipicar 2688d48d65 feat(@desktop/wallet): integrate new onramp status-go api 2024-08-12 11:25:00 -03:00
Michał 9acf723ddc chore: Architecture guide added and PR template updated
Closes: #15539
2024-08-09 22:29:44 +02:00
Jonathan Rainville 0470723a5d
feat(@desktop/metrics): send basic metrics (#15803) (#16040)
Issue #15737

Co-authored-by: Michał Iskierko <61889657+endulab@users.noreply.github.com>
2024-08-08 16:53:49 -04:00
Sale Djenic 2d0c62ba9d feat: limits applied when running keycard flows that add new key pairs/accounts 2024-08-08 10:28:30 +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 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
Lukáš Tinkl ed650d32dd chore: Remove the Browser from the app completely for now
- completely removes the `ui/app/AppLayouts/Browser` QML app section
- removes the `app_service/service/bookmarks`,
`app/modules/main/browser_section` and
`src/app_service/service/dapp_permissions` NIM modules
- remove the Browser settings page and associated popups/components
- HTML links now always open in an external browser
- adjust the section indexes in `Constants`
- fixup the e2e tests

Fixes #14614
2024-08-07 16:45:31 +02:00
Igor Sirotin b8bcab79a9
fix: change rpc host to localhost (#16003) (#16007) 2024-08-07 09:05:19 -04: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
Andrey Bocharnikov 8d4a2ec983
fix(community): Owner token / Token Master token not visible in community settings (#15983)
Fixes #15830

followup task #15981 - reload tokens when app goes back online
2024-08-05 14:20:04 -04:00
Ivan Belyakov adb0f7551c feat(wallet): add support for proxy basic auth for market providers
feat(wallet): add status proxy URLs for blockchain providers
2024-08-01 11:42:33 +02:00
Jonathan Rainville e94fb9c6f6
fix(notif-indicator): evaluate the notifications on app start (#15872) (#15938)
Fixes #15835

Evaluate if we have notification on app start (when chats are loaded) so that the notification icon can be shown if we open the app **not** in the chat (eg in the wallet)
2024-07-31 14:29:26 -04: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
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 da622348f6 chore(dapps) remove the POC wallet connect
Updates: #15598
2024-07-31 14:08:16 +02:00
Cuteivist 31ade3e742
fix(wallet): Update preferred networks even when empty (#15841) 2024-07-31 06:53:35 +02:00
Sale Djenic fdd743a817 feat: checksum validation added to adding watch only address
Fixes: #15779
2024-07-30 18:17:53 +02:00
Sale Djenic 822410f6b6 feat: checksum validation added to adding saved addresses
Fixes: #15772
2024-07-30 18:17:53 +02:00
richΛrd e189246bca
fix: missing wakuv2 fields in createAccountRequest toJson func (#15876) 2024-07-30 09:11:51 -04:00
richΛrd 1cb05d5814
chore: rename shards.test to status.prod (#15782) 2024-07-29 18:26:31 -04:00
richΛrd f777f0739e
chore: set missing message verification and confirmation for message sent enabled by default (#15774) 2024-07-29 09:56:09 -04:00
belalshehab 37f7b45274 fix(wallet)_: Handle insufficient gas errors in multi-chain transactions
* Refactored gas checking logic into `getChainsWithNoGasFromError`.
* Removed `hasGas` from `controller.nim` and `module.nim`.
* Updated `updatedNetworksWithRoutes` to use chain-specific error data.

Fixes #15681
2024-07-26 14:54:59 +03:00
Sale Djenic db77654274 fix: buying stickers doesn't work and popup may be misleading for the user
Closes: #15764
2024-07-25 10:30:31 -04:00
Sale Djenic e66b0ab0a9 fix: bridging from send modal results in bounder fee error
Fixes: #15722
2024-07-25 10:30:19 -04:00
Lukáš Tinkl 8e0aed35e8 fix(StatusStickerPackClickPopup): display correct detailed contents of a sticker pack
- just use the `model.stickers` to access the submodel, remove dead NIM
code
- make sure that the installed sticker packs are loaded, even before
first opening the Sticker popup
- StatusStickerMarket: fix the back button
- fix launching the Buy stickers modal (SendModal)

Fixes #15718
2024-07-25 11:31:46 +02:00
Michal Iskierko 8d3a0ac415 feat(@desktop/metrics): add global variables for mixpanel credentials
Issue #15729
2024-07-25 11:03:15 +02:00
Cuteivist 30b88377c2
fix(wallet): Refresh receiver preferred chain ids (#15712) 2024-07-24 21:19:39 +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
Khushboo Mehta 35c765649f feat(@desktop/wallet): Swap:: Remove feature flag 2024-07-23 17:01:42 -03:00
Godfrain Jacques 9934b624fd
feat(connector)_: turn feature flag on (#15692) 2024-07-23 11:14:11 -07:00
Khushboo Mehta 8f3a2e8189 fix(@desktop/wallet): FIx for notification shwoing from to token symbol and to token amount 2024-07-23 19:17:00 +02:00
Cuteivist 047f558cd1
feature(wallet): Token preferences in assets model (#15706) 2024-07-23 14:00:49 +02:00
Michal Iskierko 52fe774975 feat(@desktop/metrics): Show metrics popup when starting application
Adding local setting: metrics_popup_seen
Small refactoring: showing popup from main.qml
Showing popup: 1. on welcome screen, 2. in Settings/Privacy page and 3. after login when the popup has not been shown yet

Issue #15628
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 c89203f371 feat(@desktop/wallet): Implementation of Notifications
fixes #14834
2024-07-22 17:42:33 -03: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
Siddarth Kumar 798ad6d4b3
chore: sleep to avoid race conditions on intel (#15194)
With the help of build flags this commit we sleep for 0.7 seconds before we make calls to the following status-go functions that crash on intel MacOS.
- `keycard_go.keycardInitFlow`
- `keycard_go.keycardCancelFlow`
- `status_go.initializeApplication`

As per my investigations this crash happens due to a race condition and was not consistently reproducible. Sometimes it would happen and other times it would not.
I know for sure it used to happen in these places and adding a tiny sleep before calling them made sure that the crashes weren't reproducible for me.

I think a 2.1 second delay during onboarding would be acceptable vs the existing condition of the desktop app straight up crashing.
2024-07-22 20:24:51 +05:30
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
Jonathan Rainville a357299928
chore(beta): hioe ENS community permission creation (#15664)
Fixes #15663
2024-07-19 14:45:40 -04:00
Alex Jbanca 5fc3b37fbd fix: Fixing crash on status-go exception when calling `getOwnedCollectiblesAsync` 2024-07-19 19:53:31 +03:00
Igor Sirotin 3202413501
fix: join community with keycard (#15635)
* fix: keycard signature add 27
* fix: hash message before signing on keycard
2024-07-19 16:17:46 +01:00
Ivan Belyakov 2f9bf48856 fix(wallet): fix balance chart to display chart for tokens
Replace missing methods calls of chart after it was replaced with a different
component.
Update chart on networks change.
Fix data for all chains requested - both test and real networks.
Fix some unrelated qml errors
2024-07-19 12:34:06 +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
Michal Iskierko ecaa9b39c0 feat(@desktop/metrics): Initialize centralized metrics
Issue #15446
2024-07-16 14:58:13 +02:00
Jonathan Rainville 54924420e6
fix(import): fix import community popup (#15568)
Fixes #15526

Fixes the import popup showing the wrong state. That was because a param was removed from the function, but not from the call to that function, so `true` was passed in `invitationPending` when it shouldn't have.

I also added a call to `spectateCommunity` before the community intro popup so that the community spectated beforee sending the request
2024-07-15 13:27:28 -04:00
Cuteivist 2cad2a0885
fix: Save settings before logging in (#15506) 2024-07-15 15:09:44 +02:00
Ivan Belyakov 53ba432a89 fix(keycard): login using keycard with multiple profiles stuck
Fixes #15033
2024-07-15 11:55:54 +02:00
Dario Gabriel Lipicar ceeef2f313 fix(@desktop/wallet): properly parse suggested routes error response 2024-07-12 19:02:03 -03:00
Jonathan Rainville 4a097cfef7
fix(airdrop): sending an airdrop using a secondary account (better UX) (#15448)
Fixes #15382
So there is no easy way from the models and data we currently have in the client to know which account minted the owner token. So the easiest way to help the user is just to catch the error and show a better message.
2024-07-12 13:28:25 -04:00
Godfrain Jacques 5db513980f
fix launching multiple instances of status desktop including on windows systems (#15533)
fixes #15493
2024-07-12 08:15:03 -07:00
Jonathan Rainville 8216ea37f7
feat(icon): show a red dot when we have unread notifications and windows icon with white border (#15496)
* feat(icon): show a red dot when we have unread notifications
* feat(windows-icon): update windows icon to have a white border

Fixes #14788
Fixes #14855

Adds a red dot on the tray icon if there is an unread message in an unmuted channel or in the activity center
2024-07-12 09:41:27 -04:00
Stefan fae3d14d50 feat(dapps): fetch max fees per gas from blockchain if not provided
Updates: #15192
2024-07-12 15:39:41 +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
Ivan Belyakov baa65de1ae chore(test): use STATUS_RUNTIME_USE_MOCKED_KEYCARD env var for
displaying mocked keycard controller window
2024-07-12 10:27:50 +02:00
Igor Sirotin c7a4419a76
fix: events subscription indentation (#15546) 2024-07-12 08:57:06 +01:00
richΛrd 2a41622298
chore: rename shards.staging to status.staging (#15510) 2024-07-11 16:09:20 -04:00
Godfrain Jacques 40fe6d5de2
feat(@desktop/wallet): Add connector Feature Flag (#15551)
fixes #15550
2024-07-11 10:56:48 -07:00
Jonathan Rainville 69e793277f
fix(devices): fix device response parsing to get the list of devices (#15528)
Fixes #15053
2024-07-11 09:58:08 -04: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
Ivan Belyakov 498d4c969c fix(wallet): no routes for saved addresses 2024-07-09 16:57:04 +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
Sale Djenic f1860da709 fix: can't proceed further when clicking back button on any of keycards screens
Fixes: #15113
2024-07-09 08:39:39 +02:00
Igor Sirotin 8b80cfb9e3
feat: display message outgoing state (#15450)
* chore: storybook page

* feat: propagate outgoing status to StatusMessageHeader

* feat: improve message outgoing status UI

* fix: lock message `delivered` state
2024-07-08 13:26:04 +01:00
Michal Iskierko d2bd0109ec fix(@desktop/community tokens) fix showing burn icon after restart
Fix #4947
2024-07-08 12:06:24 +02:00
Alex Jbanca 55b2a83c6f fix: Fixing windows crash after onboarding
The app is crashing when the QVariant set as module context property gets collected. Not sure why it happens more often in the onboarding flow and on windows.
2024-07-08 11:45:25 +03: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
Igor Sirotin fecbd4005e
Redirect qt logs to nim-chronicles (#15234)
* fix: initialize nim gc
2024-07-05 16:10:59 +01:00
Michal Iskierko 1bc979290f feat(@desktop/permissions): use non community NFTs in permissions
Issue #15077
2024-07-05 10:27:17 +02:00
Patryk Osmaczko b08eb128ad feat(communities): inform about missing encryption key
closes: #15064
2024-07-04 19:36:30 +02: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
belalshehab 8a3d24bc3a feat(wallet)_: add backend support for wallet reload functionality
- Added `reloadAccountTokens` method to `Controller`, `AccessInterface`, and `Module` in `wallet_section` to trigger wallet reload.
- Updated `view` in `wallet_section` to handle new properties `isAccountTokensReloading` and `lastReloadTimestamp`.
- Emitted `SIGNAL_WALLET_ACCOUNT_TOKENS_REBUILT` with a timestamp in `service_token`.
- Implemented `restartWalletReloadTimer` RPC in `backend`.

resolves: #13652
2024-07-04 00:19:42 +03:00
Jonathan Rainville 35b64f0483
fix(muted): reevaluate section badge when unmuting (#15360)
Fixes #11093

When unmuting a channel, reevaluate the section badge so that it appears if there were unread messages in that channel

Also fixes an issue where the chat muted property was not set correctly in the cache after muting or unmuting
2024-07-03 14:55:07 -04:00
Cuteivist c934ba74ef
feat(wallet): Networks model improvements (#15305)
* refactor getters for chainIds and enabledChainIds
* simplify community chainIds getter
* simplify usage of network dto objects
* remove duplicated roles from send area
* rename network model in send module to network route model
2024-07-03 10:51:15 +02:00
Cuteivist c59ac4f3f0
feat(wallet): Wallet accounts model improvements (#15213) 2024-07-03 05:55:05 +02:00
Mikhail Rogachev 8754b0193d
feat: Enable WS and HTTP RPC servers for status desktop through config (#15168)
* feat: Enable http and websocket rpc client on desktop

* chore: static-typed structure for apiConfig

* fix_: prevent multiple http or websocket lauches

fixes [5436](https://github.com/status-im/status-go/issues/5436)

---------

Co-authored-by: Godfrain Jacques <gkounkou@gmail.com>
2024-07-02 18:01:19 +02:00
Cuteivist c1cc74750f
fix(wallet): Consider ERC1155 as NFT (#15365) 2024-07-02 14:22:05 +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 9cf4c59ba0 fix(@desktop/wallet): avoid duplicate Approve when performing a Swap
Closes #15330
2024-07-01 15:53:21 -03:00
Dario Gabriel Lipicar 25127bfd63 chore(@desktop/wallet): intergrate uuid to Swap
Part of #15330
2024-07-01 15:53:21 -03:00
Dario Gabriel Lipicar c6fd0f41db fix(@desktop/wallet): fix swap in routerV2 integration 2024-07-01 16:19:15 +02:00
Sale Djenic 7e9f680e0b chore: router v2 integration
Closes: #15204
2024-07-01 16:19:15 +02:00
Andrey Bocharnikov 5c349d1938 chore: Use optimized endpoint to get communities with images
fixes #15340
2024-06-28 23:13:09 +07:00
Jonathan Rainville 7a7dbb631c
perf: use community members for unpermissioned channels (#15156)
Fixes #15149
2024-06-27 10:56:49 -04:00
Jonathan Rainville 775df8097c
fix(links): fix sending links plus images (#15352)
Fixes #15290
2024-06-27 09:42:45 -04:00
Andrey Bocharnikov 174114538e fix(community): community tokens disappear when minting of a new token is finished
fixes #15076
2024-06-26 19:20:27 +07:00
Andrey Bocharnikov ad7053f809 fix(communityUI): Channel name is not changed in the top nav bar when editing a channel
fixes #15146
2024-06-26 19:20:12 +07:00
Igor Sirotin c8bc68b96c
refactor: use create/restore/login status-go endpoitns for keycard (#15090)
* chore: remove unused storeDefaultKeyPair

* chore: added CreateAccount keycard parameters

* chore: remove unused newKeycard argument

* chore: create keycard account with ImportAccountAndLogin endpoint

* fix: remove keycardWhisperPrivateKey CreateAccount parameter

* feat: use LoginAccount endpoint for keycard

* fix: use CreateAccount RootDataDir instead of BackupDisabledDataDir

* fix: use loginAccountKeycard instead of loginAccountKeycardUsingSeedPhrase

* fix_: use `login` instead of `loginLocalPairingAccount` an `loginAccountKeycard`

* chore: refactor scheduling reencrpytion

* fix: FirstRunOldUserKeycardImport

* chore: improve code readability

* feat: use RestoreAccountAndLogin endpoint for keycard

* update status-go
2024-06-26 14:12:39 +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
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 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
Dario Gabriel Lipicar 15452aa79c feat(wallet): integrate swap slippage percentage parameter
Closes #15096
2024-06-19 09:58:36 -03:00
Andrey Bocharnikov f118af8403 fix(community): update hidden channels visibility when joining the community
fixes #14719
2024-06-19 19:57:54 +07:00
Igor Sirotin 430f2501d4
fix: bandwidth usage (#15231)
* feat: added bandwidthStatsEnabled login flag

* update status-go
2024-06-18 15:19:10 +01:00