Commit Graph

507 Commits

Author SHA1 Message Date
Anthony Laibe ce7340b9a5 feat(@wallet): multi network history 2022-07-04 09:58:39 +02:00
Alexandra Betouni b550a23dfc fix(Wallet): Fixed padding in add account popup
Closes #6245
2022-06-28 16:24:09 -04:00
Khushboo Mehta 8d3fad8342 feat(@desktop/wallet): Multichain QR Code
Implements the new Recieve Modal with multichain functionality

closes #5735, #6057
2022-06-17 01:27:35 +05:30
Igor Sirotin 1870e9a0ce fix: Moved `StatusTabButton` to StatusQ 2022-06-15 12:23:19 -04:00
Sale Djenic 4403fde4ca fix(@desktop/wallet): 18 words seed option is missing when adding an account in wallet
Fixes #5445
2022-06-03 20:00:30 +02:00
Michal Iskierko eb12d9f7cd fix(@desktop/wallet): not remove seed phrases when changing number of words in wallet section
Fix #5613
2022-05-25 17:42:36 -04:00
Boris Melnik aa1dae9e20 fix(@desktop/warnings): Fix bunc of qml/nim warnings
Closes: #5162
2022-05-25 14:27:25 -04:00
Khushboo Mehta 86cfbec8f9 feat(@desktop/wallet): Add support for custom derivations path
Make getDerivedAddresses call async
Show pending and error states when gettting the derived addresses

fixes #5700, #5699
2022-05-18 14:16:57 +02:00
Khushboo Mehta 0ee0c8ddd4 feat(@desktop/wallet): Add has activity to the derived addresses in wallet
fix #5655
2022-05-18 13:42:00 +02:00
Sale Djenic c47f3f2692 feat(@desktop/wallet): redesigned wallet addresses are missing checksum
Fixes #5473
2022-05-17 16:04:59 +02:00
Khushboo Mehta 1cf701a758 feat(@desktop/wallet): greying out already imported/derived addresses in address list and also choosing next available as default one
fixes #5539
2022-05-13 09:23:47 +02:00
Jonathan Rainville 4db64841eb fix(wallet): improve wallet seed phrase import form
Fixes #5652
2022-05-12 15:29:30 -04:00
Jonathan Rainville 9586ff9dc5 fix: fix emoji icon picker and create channel inputs
Fixes #5673
2022-05-10 16:10:38 -04:00
Noelia 59631cad8f feat(Language & Currency): Currency settings screen
Added currency picker into `LanguageView.qml`.

Added `category` and `imageSource` property to existing `CurrenciesStore.qml`. Renamed `code` to `shortName`.

Added `currenciesModel` property to `WalletStore.qml`.

Added wallet store into `LanguageView.qml` in order to link to the currencies model.

Added some tokens in the currencies store.

Made wallet and any currency related UI code that uses current currency use the new Display Currency value.

Removed no longer used wallet/settings related files.

Closes #5385
2022-05-04 16:16:59 +02:00
Anthony Laibe 6145b4b620 fix(@wallet): loading collectibles 2022-04-13 14:51:38 -04:00
Anthony Laibe 4b54751b4f fix(@wallet): hide password from add watch only 2022-04-13 16:23:49 +02:00
Anthony Laibe 5ba3e541d7 fix(@wallet): Update add account modal close policy
fixes #5446
2022-04-13 16:10:19 +02:00
Khushboo Mehta 29db292472 fix(@desktop/wallet): Can't add an address to saved addresses
fixes #5534
2022-04-13 13:54:36 +02:00
Khushboo Mehta feaa91d062 feat(@desktop/wallet): Add derivation path to wallet account generation
fixes #5074
2022-04-13 11:17:53 +02:00
Jonathan Rainville 684a1ce913 fix(wallet-emoji): fix wallet emoji save by only saving the utf char
Fixes #5161
2022-04-12 18:22:12 -04:00
Khushboo Mehta d9d7a54f84 feat(@desktop/wallet): re-add adding watch only address to wallet
fixes #5471
2022-04-11 16:49:52 -04:00
Anthony Laibe 3bf4d65a74 fix(@wallet): hide use 24 word button 2022-04-08 19:11:01 +02:00
Khushboo Mehta 87640aafb1 fix(@desktop/wallet): Allow entering private keys with and without 0x prefix
fix #5406
2022-04-08 15:01:12 +02:00
Khushboo Mehta d054ea58f2 fix(@desktop/wallet): In the dark mode, the menu of networks in wallet looks incorrect
fixes #5123
2022-03-30 15:32:09 -04:00
Khushboo Mehta 2852d70731 feat(@desktop/Wallet): Add acccounts Modal as per new design
fixes #5073
2022-03-29 17:20:15 -04:00
Anthony Laibe 696e8aba29 fix(@browser): shared assets/history view
fixes #5129
2022-03-29 12:48:04 +01:00
Stefan D 51e31f3d42 fix(Wallet): Don't allow HTML tag special characters in Saved Addresses 2022-03-28 23:05:32 +03:00
Stefan D 74e2305ec8 fix(Wallet): Don't allow HTML tag special characters in Account Name
Also
- Add maximum character filter (40) not to allow unlimited characters that break
the visualization

updates: #4961
2022-03-28 23:05:32 +03:00
Anthony Laibe 63cec38916 feat(@wallet): account settings in now in settings section 2022-03-28 15:05:31 -04:00
Khushboo Mehta 0903fa6ce2 feat(@desktop/wallet): Adapt to new SendModal Design
fixes #5040
2022-03-28 13:08:56 -04:00
Khushboo Mehta 33e3d2377e fix(@desktop/wallet): User stays on removed account view in wallet after account removal from settings
fixes #5037
2022-03-25 08:30:52 -04:00
Khushboo Mehta 7d58ac9983 feat(@desktop/wallet): Move action buttons to bottom as per new design
fixes #5075
2022-03-23 17:12:33 -04:00
Khushboo Mehta f5e67fc658 feat(@desktop/wallet): adapt receive modal design
closes  #5039
2022-03-16 15:27:00 -04:00
Khushboo Mehta 4c677d55e8 feat(@desktop/wallet): Add emoji to Wallet accounts.
Support added to:
1. Wallet list
2. Adding a new account
3. Editing an account

fixes #4926
2022-03-15 11:41:29 +01:00
Khushboo Mehta 6e0471c943 bash: py: command not found
feat(@desktop/wallet): Add emoji to Wallet accounts.
Support added to:
1. Wallet list
2. Adding a new account
3. Editing an account

fixes #4926
2022-03-13 08:54:28 -04:00
Anthony Laibe 7754822bc8 clean(@wallet): remove old manage assets
this has been moved to the wallet settings
2022-03-11 10:46:38 +01:00
Alexandra Betouni c2977e468f feat(onboarding): Added SplashScreen
- Added SplashScreen as initial screen before
onboard as per new designs.
- Also moved all onboarding related code from
main to onboarding section and switched to
import this and all other sections as
qml modules, exposing this way only
necessary files.
- Cleaned up unecessary qmldir files and
imports.

Closes #4954
2022-03-08 14:02:24 -05:00
Khushboo Mehta cc55f811b1 fix(@desktop/wallet): Re-add saved addresses view from Wallet V2
fixes #4747
2022-03-03 15:47:42 +01:00
Khushboo Mehta 44a8b6df0a fix(@desktop/wallet): add/re-add buy crypto feature
fixes #4925
2022-03-02 18:45:22 +01:00
Khushboo Mehta d47ac2d5f7 feat(@desktop/wallet): cpp: Added apis for
1. Generate new API
2. Import accounts by PK
3. Import account by seed phrase
4. Add watch only address
5. delete account
6. current account
2022-02-24 10:53:18 +01:00
Anthony Laibe 92bc1fdab1 feat(@wallet): toggle network 2022-02-18 15:25:55 +01:00
Anthony Laibe 0acfd9b50c feat(@wallet): bring back filter network from wallet2 2022-02-16 11:20:13 +01:00
Anthony Laibe 7268ec3773 feat: prepare token service for multichain 2022-02-14 14:37:42 +01:00
Patryk Osmaczko ba7a6d5d34 style: remove trailing whitespaces 2022-02-09 11:16:23 +01:00
Jonathan Rainville 485d6a370d fix(@wallet): [re-add] tx history view
Fixes #4684

Correctly display the date and if the node is an archival node
2022-02-08 08:47:29 -05:00
Sale Djenic e7f1106f79 fix(@desktop/wallet): delete account
Fixes #4683
2022-02-07 16:23:03 +01:00
Noelia 9673c399e5 fix(@desktop/wallet): [base_bc] can't copy wallet address
Store propagation in order to use the global copyToClipboard method.

It is also applied in WalletV2.

Fixes #4636
2022-02-01 11:51:31 +01:00
Anthony Laibe 1a255f5bcc fix(@wallet): Show token modal
fixes #4621

the crash seemed to be caused by signal of signal. Simplifying the flow
remove the need for this signal of signal
2022-02-01 11:51:15 +01:00
Anthony Laibe 234af3283e fix(@wallet): receive modal
fixes #4534
2022-02-01 11:50:17 +01:00
Anthony Laibe c9e049e6d8 fix(@wallet): Fix text area for importing private key
fixes #4535
2022-02-01 11:50:17 +01:00
Anthony Laibe c505564522 fix(@wallet): hide signing phrase accept
fixes #4517
2022-02-01 11:50:17 +01:00
Sale Djenic f0ca1a4cc3 refactor(@desktop/general): many errors from the log are fixed
- various issues on app start in console
- various issues when logging out in console
- `node_section` module delete method error
- SyntaxError: JSON.parse: Parse error from the MessageStore
2022-02-01 11:49:04 +01:00
Sale Djenic 9b1e794e8f refactor(@desktop/settings-pivacy-security): privacy and security section updated 2022-02-01 11:47:43 +01:00
Sale Djenic 6e1438d241 refactor(@desktop/general): `globalUtils` instance added (changed old `utilsModel`) 2022-02-01 11:44:56 +01:00
Anthony Laibe fdca0da77d feat: saved address view
Connect list and change
Provide view API
Create events
2022-02-01 11:43:44 +01:00
Sale Djenic b3f8af8e06 refactor(@desktop/general): qml code referring to the old code base commented out
Qml code referring to the old code base commented out, but not deleted,
due to easier refactoring the rest of the app.
2022-02-01 11:42:42 +01:00
Alexandra Betouni f0b39ce4f6 Refactor: Moved openPopup function to Global
The openPopup function was declared in AppMain
and used via dynamic scoping in many places in the
application. Moved function to Global component
and updated all places to call it via Global instead.

Closes #4267
2022-02-01 11:38:46 +01:00
Alexandra Betouni 336f90a60f feat(desktop/wallet) Removed dynamic scoping from wallet
Removed all dynamic scoping parts in wallet section plus

- Renamed Config to Global and added more functions there
- Moved changeAppSectionBySectionType function to Global
  and updated all places where is used to call it from
  Global instead
- Moved openLink function to Global and updated all places
  where is used to call it from Global instead
- Moved errorSound to Global, introduced playErrorSound
  function  and updated all places where is used to call
  this function from Global instead

Closes #4245
2022-02-01 11:38:27 +01:00
Anthony Laibe 6c4fab1a20 fix(@wallet): delete account
fixes #4384
2022-01-10 15:58:57 +01:00
Anthony Laibe 8889bbdb08 fix(@wallet): tx history view
fixes #4385

Correctly display the date and if the node is an archival node
2022-01-10 15:58:36 +01:00
Anthony Laibe 5eb582b18c fix(@wallet): Collection without assets
fixes #3808

In some cases, the opensea API return collection for an owner without
assets, we handle this case in the UI
2022-01-06 15:16:32 +01:00
Alexandra Betouni a57fb330bd fix(dekstop/wallet) wrong account color displayed
In receive modal the account color was not corresponding to
the actual account color

* Updated StatusAccountSelector to use accounts from
  new backend
* Updated WalletHeader to use currentAccount from new
  backend

Closes #4071
2021-11-17 16:24:12 +02:00
Anthony Laibe df670bfcbb fix(desktop/wallet): new account with error 2021-11-16 10:07:15 +01:00
Jonathan Rainville 2d0c95feb3 fix: fix adding custom tokens
Fixes #4040 for real this time
2021-11-11 09:58:05 -05:00
Pascal Precht 7fcd280fe0 fix(@desktop/wallet): ensure NFT background colors are rendered correctly
Also adjust margins of collectible items to adhere to designs.

Fixes: #3981
2021-11-05 11:02:45 -04:00
Alexandra Betouni 6d944dfb69 fix (desktop/wallet) fix menu button add button
Closes #3980
2021-11-05 11:02:45 -04:00
Pascal Precht ca4c1904d8 fix(AddAccountWithSeedModal): ensure AccountSelector is working 2021-11-05 11:02:45 -04:00
Anthony Laibe 63963039eb fix(@desktop/wallet): make the receive modal use the old wallet
as it is not yet migrated
2021-11-05 11:02:45 -04:00
Sale Djenic 05cf431339 fixed issues after rebase 2021-11-05 11:02:45 -04:00
Anthony Laibe 59f604349c refactor(@wallet/desktop): refactor wallet with new architecture
refactor: wallet: connect current account

refactor(@wallet): load collection and connect to store

refactor(@wallet): add boilerplate for accounts creation/generation

refactor(@wallet): watch account

refactor(@wallet): Add account generation

refactor(@wallet): display all accounts

refactor(@wallet): switch account

refactor(@desktop): update current currency

refactor(@desktop/wallet): token action

refactor(@desktop/wallet): Add update account

refactor(@desktop/wallet): filter chat account from wallet

refactor(@desktop/wallet): Update currency attribute

refactor(@desktop/wallet): Fix display of various balances

refactor(@dekstop/wallet): handle current account changed

refactor(@wallet/desktop): add notify event on main section

refactor(@desktop/wallet): Push events from service

refactor(@desktop/wallet): handle all tokens event

refactor(@desktop/wallet): refresh accounts on event

refactor(@wallet/desktop): formatting of currency balances

refactor(@desktop/wallet): load collectible

refactor: refactor wallet transaction history to the new architecture

update status-lib

refactor: add back events for the transaction history

refactor: support multiple accounts in the transaction history
2021-11-05 11:02:45 -04:00
Iuri Matias 7c8f3f5923 add mnemonic module 2021-11-05 11:02:45 -04:00
Sale Djenic 3f6bb66536 refactor(@desktop/general): `globalSettings` moved to Nim 2021-11-05 11:02:45 -04:00
Sale Djenic f0b2ed6cca refactor(@desktop/general): `appSettings` moved to Nim 2021-11-05 11:02:45 -04:00
Anthony Laibe a7a56cf471 refactor(@desktop/wallet): connect ui and account token 2021-11-05 11:02:45 -04:00
Anthony Laibe 4bc61134c4 refactor(@desktop/wallet): Connect list account and qml 2021-11-05 11:02:45 -04:00
Anthony Laibe 4bbf19c470 refactor(@wallet/desktop): bind new token list to qml 2021-11-05 11:02:45 -04:00
Sale Djenic 37e9150021 Cleaning up the code, and removing leftovers 2021-11-05 11:02:45 -04:00
Sale Djenic 30f11c06d4 onboarding process updated, import account feature handled 2021-11-05 11:02:45 -04:00
Pascal Precht b91a423801 refactor: replace StatusWalletColor components with StatusQ components 2021-10-28 11:31:21 +02:00
Alexandra Betouni 426c116bac refactor(desktop) Made shared a QML module
Use it as import shared 1.0, import shared.controls 1.0
etc instead of import "../../../shared"

Closes #3934
2021-10-27 18:05:45 -04:00
Pascal Precht 8617c70742 refactor: remove AccountSelector and replace with StatusAccountSelector 2021-10-27 11:48:43 -04:00
Khushboo Mehta 7114240e72 refactor: Replace and remove StatusRoundButton under ui/shared/status
closes #3898
2021-10-26 18:58:16 +02:00
Pascal Precht 2db77fa31c refactor: replace StatusIcon and StatusLoadingIndicator with StatusQ components 2021-10-26 10:47:47 -04:00
Pascal Precht cbbbedcc79 cleanup: remove legacy `StatusCheckbox` 2021-10-26 10:47:16 -04:00
Khushboo Mehta ef4934cee4 refactor: Replace usage of StatusRadioButton under ui/shared to its corresponding StatusQ component
closes #3897
2021-10-26 14:37:15 +02:00
Pascal Precht 6db7b5be44 refactor(@desktop/wallet): replace legacy StatusButton with StatusQ StatusButton 2021-10-21 09:22:35 -04:00
Pascal Precht 87ea584b62 refactor: move `Timer` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht e598df1d1e refactor: move `TextWithLabel` to ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht e6df5c8b12 refactor: move `StyledTextEdit` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht 61ccf9c757 refactor: move `StyledText` to ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht ed73651db8 refactor: move `SplitViewHandle` and `StatusTabButton` to ui/shared/panels|controls respectively 2021-10-14 12:51:27 -04:00
Pascal Precht 4bb4708528 refactor: move `SearchBox` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht 322a071aa3 refactor: move `SVGImage` to ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht 4003f30d68 refactor: move `RoundedImage to ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht fa3adb30e4 refactor: move `PopupMenu` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht cbfe90947e refactor: move `ModalPopup` to ui/shared/popups 2021-10-14 12:51:27 -04:00
Pascal Precht bdc7c799d2 refactor: move `Input` to ui/shared/controls 2021-10-14 12:51:27 -04:00
Pascal Precht 5d05b415ba refactor: move view and panels components into controls if they belong there 2021-10-14 12:51:27 -04:00
Pascal Precht 00a61daabd refactor: move `Address` into ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht 2d47223e1c refactor: move `AccountSelector` into ui/shared/panels 2021-10-14 12:51:27 -04:00
Pascal Precht 4e8f2303e6 refactor(@desktop/profile): introduce new QML and store structure in profile section
Closes #3712
2021-10-14 09:29:05 -04:00
Khushboo Mehta 80de3f75eb fix(@desktop/wallet): move QML Wallet section to new architecture
fixes #3714
2021-10-13 13:53:01 -04:00
¨Anthony e0c5e9b9b0 fix(@desktop/wallet): gas error position 2021-09-28 15:36:11 -04:00
Alexandra Betouni 4ee21ada05 feat(desktop) Added image function in Style
Introduced Style.svg() Style.png() Style.emoji() and
Style.icon() in Style.qml. Those should be used to
set the source in Images instead of using relative
paths. Usage:
Image {
   source: Style.svg("check)
   ....

Also moved all Singletons inside a new "utils"
folder and made it a QML module, to use
import utils 1.0 instead of relative paths

Closes #3678
2021-09-28 15:28:00 -04:00
Anthony Laibe 712c75f051 fix(@desktop/wallet): Fix backup warning
Also prevent backup warning to be double when we switch wallet 2 to 1
2021-09-20 12:18:16 -04:00
Richard Ramos 285f54dab6 EIP1559 2021-09-10 13:42:19 -04:00
Richard Ramos db3b7ecfd9 feat: Version Updating
Fixes #1290
2021-08-24 16:56:55 -04:00
Anthony Laibe c5d841f68d fix(@desktop/wallet): view in 'collectible' close modal
fixes #2644
2021-08-16 14:33:09 -04:00
Khushboo Mehta 09fb1a173c fix(@desktop/wallet) Truncate long wallet amount
Added logic to convert large amounts to Millions and Billions

fixes #2667
2021-08-13 15:03:24 +02:00
Anthony Laibe 08e3b330e5 fix(@desktop/wallet): correct position of not enough gas error
fixes #2714

Increase height of the modal and position the validator to below the previous
item
2021-07-28 16:03:10 -04:00
Andrei Smirnov a3979511e2 fix(@desktop/wallet): modal is not being closed when clicking Add Account 2021-07-20 10:05:52 -04:00
Anthony Laibe 4269b51ea6 feat(@desktop/wallet): display confirmation block count
fixes #2715
2021-07-19 13:33:32 -04:00
Sale Djenic 1acbc76cc9 chore(@desktop/general): run translation script
All untranslated properties are translated now using translation scripts.
2021-07-19 12:27:45 -04:00
Richard Ramos 065bd26786 fix: code review 2021-07-06 11:58:47 -04:00
Richard Ramos 5f7f899c3b refactor: separate slots for sending eth and tokens 2021-07-06 11:58:47 -04:00
Eric Mastro 77e501c478 fix(wallet): QML error when loading history
Fixes: #2725.

When clicking on the History tab for a wallet account, there was a QML error for `qrc:/app/AppLayouts/Wallet/WalletLayout.qml:113: TypeError: Property 'checkIfHistoryIsBeingFetched' of object HistoryTab_QMLTYPE_503(0x7fed35da2710) is not a function`. This must have been reintroduced when StatusQ objects were introduced. It has now been removed.

chore: change log level to warn for non-archival node
Previously, there was an error being logged for non-archival infura nodes being used (typically in dev). This log level has been reduced to a warning as the application still functions with non-archival nodes.
2021-07-06 11:28:00 -04:00
Pascal Precht 88ca3b9bbf refactor(WalletLayout): use StatusQ two panel layout 2021-06-30 15:08:26 +02:00
Jonathan Rainville b720a611c4 fix(wallet): fix loading of initial balances 2021-06-29 07:55:26 -04:00
Jonathan Rainville eb726a315c fix(hisotry): fix load more history button
Fixes #2754
2021-06-29 07:55:26 -04:00
Iuri Matias 6bcdb9ca54 refactor wallet views
add getSettings methods to src/status

fix issue with calling getSettings; document issue

remove most direct references to libstatus; document some common issues

remove most references to libstatus wallet

add mailserver layer to status lib; remove references to libstatus mailservers

remove libstatus accounts references

move types out of libstatus; remove libstatus types references

remove libstatus browser references

refactor libstatus utils references

remove more references to libstatus stickers

remove references to libstatus constants from src/app

remove more libstatus references from src/app

refactor token_list usage of libstatus

refactor stickers usage of libstatus

refactor chat usage of libstatus

remove libstatus references from the wallet view

remove logic from ens manager view

fix issue with import & namespace conflict

remove unnecessary imports

refactor provider view to not depend on libstatus

refactor provider view

refactor: move accounts specific code to its own section

fix account selection

move collectibles to their own module

update references to wallet transactions

refactor: move gas methods to their own file

refactor: extract tokens into their own file

refactor: extract ens to its own file

refactor: extract dappbrowser code to its own file

refactor: extract history related code to its own file

refactor: extract balance to its own file

refactor: extract utils to its own file

clean up wallet imports

fix: identicon for transaction commands
Fixes #2533
2021-06-17 16:11:01 -04:00
Eric Mastro 0b0a542828 fix: loading of wallet history, display of tx datetime
Fixes: #2539.

Transaction history is now correctly being fetched from status-go as per mobile. Firstly, when accounts are added (ie as watch accounts), `wallet_checkRecentHistory` must be called first so that the status-go db is populated. After that, `wallet_getTransfersByAddress` can be called. On app load, when we run the `initBalance` logic, we are calling `wallet_getTransfersByAddress`, asking for the last 20 transactions with the `loadMore` parameter set to false. When the user navigates to the Wallet > History tab, they can then click “Load More” to fetch more transactions from status-go. Once the number of transactions returns false below the expected amount, the remaining transactions to fetch have been exhausted and the “Load More” button is disabled.

feat: add non-archival node warning to the UI to indicate to the user that they may not have complete results

feat: set active account to the added account
Once an account is added to the wallet, that newly added account is selected as the active account.

1. The “load more” button is active when new transactions that aren’t already displayed are returned from `wallet_getTransfersByAddress`. This is the only way to enable or disable the “Load more” button as status-go is not able to return information regarding whether or not there are more transactions to be fetched. The downside to this is that lets say the last page of transactions is returned, but there are no more pages left. These returned txs are not currently displayed, so the “load more” button will still be enabled. However, the next click of the button will return 0 results, thus disabling it. It’s effectively an extra click to get to the disabled state.
2. For more information on how the `toBlock` parameter operates for the `wallet_getTransfersForAddress` RPC call, see https://notes.status.im/XmENTrVRRaqhwE4gK0m8Mg?view.
2021-06-10 10:47:03 +10:00
Jonathan Rainville bee54e628f feat(Activity center): add placeholder activity center
Fixes #2608
2021-05-31 15:54:18 -04:00
Richard Ramos 19d4279237 use new wallet api to receive wallet signals 2021-05-18 15:24:05 -04:00
Eric Mastro ee1287b71d fix: prevent crash on generate account wrong password
Fixes #2448.

Currently, if a wrong password is entered when generating a wallet account, the app will crash due to attempting to decode a `GeneratedAccount ` from an rpc response containing only an error.

With this PR, we are detecting if an error is returned in the response, and if so, raising a StatusGoException. This exception is caught in the call chain, and translated in to a `StatusGoError` which is serialised and sent to the QML view, where it is parsed and displayed as an invalid password error in the input box.

refactor: remove string return values as error messages in wallet model
In the wallet model, we were passing back empty strings for no error, or an error as a string. This is not only confusing, but does not benefit from leaning on the compiler and strong types. One has to read the entire code to understand if a string result is returned when there is no error instead of implicitly being able to understand there is no return type.

To alleviate this, account creation fundtions that do not need to return a value have been changed to a void return type, and raise `StatusGoException` if there is an error encountered. This can be caught in the call chain and used as necessary (ie to pass to QML).

refactor: move invalid password string detection to Utils
Currently, we are reading returned view model values and checking to see if they include a known string from Status Go that means there was an invalid password used. This string was placed in the codebased in mulitple locations.

This PR moves the string check to a Utils function and updates all the references to use the function in Utils.
2021-05-14 10:27:37 -04:00
Eric Mastro daabef3a3c fix: do not show watch-only accounts as “from address”
Fixes: #2257.

If a user had selected a watch-only address in the wallet, the backend `walletModel.currentAccount` property would also change. When loading a transaction modal, this property was used to set the `selectedAccount` value for the “from” `AccountSelector`, regardless if the account was a watch-only address.

This PR updates the logic for `selectedAccount` such that it will only allow the account to be selected if it is not a watch-only account.
2021-04-29 12:36:39 -04:00
Pascal Precht aa8d9a7f48 feat: introduce StatusLoadingIndicator component
A `StatusIcon` that rotates infinitely and can be used for indicating
pending states.

Usage:

```
StatusLoadingIndicator {
    width: 24 // default: 17
    height: 24 // default: 17
    color: "red" // default: loading asset color
}
```

This also removes `LoadingImage` component from `ui/shared`.

Closes #2360
2021-04-27 14:56:09 -04:00
Eric Mastro 58e292e9ab fix: Add close button to seed backup warning
Fixes: #2248.

Add a close button to the seed backup warning banner in the wallet. The banner will reappear upon application restart as long as the seed hasn’t already been backed up (`profileModel.mnemonic.isBackedUp`).

A new .svg with a white outline needed to be added as well because the original “close.svg” had a purple outline, which would show up when the ColorOverlay applied to the close button had an opacity less than 1.0.
2021-04-21 17:59:27 -04:00
Pascal Precht aeedc87368 feat: introduce global settings
This commit introces global settings that apply across accounts used
inside the application. This is useful when settings like the selected
locale should b the same across all accounts.

Closes #2144
2021-04-19 13:53:14 +02:00
Jonathan Rainville dae0d60684 feat: extract seed textArea to shared component and use it in wallet 2021-04-15 16:50:57 -04:00
Pascal Precht 63bc6f0e53 chore: remove unnecessary splitview props 2021-04-15 10:12:50 +02:00
Pascal Precht 153d37a7dc fix(Wallet): use correct theme colors for wallet icons in receive modal 2021-04-14 17:00:37 +02:00
Pascal Precht f2524db882 fix(Wallet): introduce hover effect for wallet accounts 2021-04-14 17:00:37 +02:00
Jonathan Rainville 8607251a6e fix: fix qml warnings 2021-04-13 17:49:43 -04:00
Pascal Precht 0b5a51177f core: update token icon assets
Closes #2019
2021-04-13 15:12:12 -04:00
Jonathan Rainville 6c0fce5b0c fix: menu dropdowns not closing on button click and position 2021-04-01 16:59:43 -04:00
Jonathan Rainville de307276c1 fix: wallet left tab button colors 2021-03-26 15:28:06 -04:00
Jonathan Rainville 038ea033c9 feat: implement new dark theme colors for menu and more
Fixes #2094
2021-03-26 15:28:06 -04:00
Pascal Precht 907c257eaf fix(Wallet): prevent signing phrase from leaking out of modal 2021-03-26 11:30:03 -04:00
Eric Mastro 2336aa4e6f fix: custom token validation for non-token addresses
When contract addresses that are not ERC-20 or ERC-721 were input, the token would be allowed to be added and would crash the app.

In addition, when an ERC-20 contract was deployed without a name and symbol, “Invalid ERC-20 address” would appear.

This PR adds error checking from the token detail lookup and reports the error back to the user in the modal. This prevents non-ERC-20/721 contracts from being able to be added to the app and prevents a crash.
2021-03-25 15:52:02 -04:00
Jonathan Rainville 2a9f9118a1 fix: fix settings not being refetched when they had been edited before 2021-03-24 12:06:24 -05:00
Jonathan Rainville b9594591b0 fix: fix a lot of issues relative to dark theme
Fixes #1997
2021-03-16 17:22:58 -04:00
ace-smart 4c31a97db8 Fixed wrong color issue of the wallet layout. Fixes #1903 2021-02-25 15:43:14 -05:00
Richard Ramos 6207c8af53 fix: appSettings were being overwritten due to defaultAppSettings periodically executing sync() 2021-02-18 16:40:21 -05:00
Jonathan Rainville 0e699cac65 chore: run translation scripts 2021-02-18 15:23:58 -05:00
Pascal Precht 5ec3ad88d5 fix(SetCurrencyModal): fix callstack size exceeded error
There's a bug in the `SetCurrencyModal` where it runs into a callstack size
exceeded error because we're calling it's `open()` API to open itself.
That function happens to call itself again and again.

The reason that API was introduced in the first place, was to ensure that
the configured default currency is reflected currectly.

This commit fixes that issue by getting rid off the `open()` and `close()`
APIs which cause the mentioned error, and rely on `openPopup`'s parameters
configuration instead.
2021-02-08 17:37:28 -05:00
Pascal Precht 62183fb414 refactor: replace StyledButton with StatusButton
There are some inconcistencies in the application when it comes to
button UI elements because we're using `StatusButton` in some places,
in other we use `StyledButton`. The latter is the original
component we've created when we started out building Status
Desktop, but is planned to be removed entirely in favour of
`StatusButton`.

This commit replaces the usages of `StyledButton` with `StatusButton`
2021-02-02 10:57:42 +01:00
Jonathan Rainville bc61aee55e fix: fix QML errors 2021-02-01 13:27:20 -05:00
Richard Ramos c241bd47db fix: code review 2021-02-01 12:02:55 -05:00
Richard Ramos 81c33fe2af Do initial balance fetch async 2021-02-01 12:02:55 -05:00
Pascal Precht 3a538acb1e feat: introduce StatusWalletColorSelect component
This is a new form control component to select colors for wallet
accounts. It will replace the currently used `ColorSelect` in the
Status Desktop application so it aligns with the new designs.

Closes #1497
2021-01-21 11:59:34 -05:00
Pascal Precht 787354b0dc feat: introduce StatusExpandableAddress component
This introduces a new component to render Addresses that can be
expanded as well as copied using `CopyToClipBoardButton`.
While there's already an `Address` component that allows for expansion,
it doesn't give us control over it's look and feel and, should rather
be a `Button` anyways.

There's also cases in the application where we render a collapsed address
and don't allow for expanding it. In such cases, we might not want/need
a button at all.

Might make sense to introduce a separate address component that just shows
a collapsed address without any behaviour, which can then be used inside
`StatusExapandableAddress`.

Closes #1633
2021-01-19 16:48:26 -05:00
Pascal Precht c328f332f6 fix(Wallet): fix bug that prevented users from setting the currency
Setting the default currency through the UI doesn't work because of a `MouseArea` that
is masking the an underlying `StatusRadioButton` which will tricker the default currency
change.

This commit enhances the `MouseArea` to trigger the default currency change and it
also ensures the UI is responding accordingly. Namely that the new default currency
is correcly selected in the list of currencies.

There's also a little change in the background hover color so it works well across
light and dark themes.

Fixes #1632
2021-01-14 16:00:10 -05:00
Pascal Precht 7c8aca0fbc uiux(Wallet): improve asset manager usability and UI
This commit does a couple of things:

- It changes a label in the wallet menu from "Add/remove Token" to "Manage Assets"
  as it has been designed
- It changes the asset list so a hover state could be introduced. Previously there
  was no visual effect or response to mouse hover on asset items
- It improves usability of the asset list by making an entire asset item
  clickable to toggle the asset in the wallet. This was not possible before.
  Users had to click the checkbox achieve this effect

Closes #1631
2021-01-14 15:43:29 -05:00
Jonathan Rainville e459d4dbd4 fix: fix PopupModal to not show a footer at all if there is no children 2021-01-13 14:32:35 -05:00
Pascal Precht 7fe54a1182 uiux(Wallet): ensure send and receive buttons have the right look & feel
Closes #1628
2021-01-12 16:33:46 -05:00
Pascal Precht b2636a0807 uiux(Wallet): use StatusButton instead of StyledButton
`StyledButton` is considered obsolete and by using `StatusButton` we're getting
the expected and correct look & feel of buttons by default.

Closes #1627
2021-01-12 16:33:39 -05:00
Jonathan Rainville 89da5dd923 feat: open links in user request browser with modal 2021-01-04 15:29:23 -05:00
Richard Ramos 239b95e9a2 fix: initialize wallet paths and types, and disable deletion of non-watch accounts 2020-12-09 14:18:45 -05:00
Richard Ramos ae30d04010 refactor: ProfileView 2020-12-08 17:01:22 -05:00
hydrogen fad0bb858e fix: password count and disable repeat until first is valid
cleanup
2020-12-04 15:52:23 -05:00
Richard Ramos 1e245a3375 fix: don't allow importing existing seed phrases / private keys in wallet and clean error messages when opening popup 2020-12-02 14:44:49 -05:00
Richard Ramos cfb17cd85c fix: remove duplicated SNT in token list and add mouse cursor to wallet list 2020-12-02 14:35:07 -05:00
Richard Ramos 60702ee639 feat: Add warning in wallet to backup seed phrase 2020-12-01 14:37:43 -05:00
Richard Ramos 6f76d079ae fix: hover state, title and show scrollbar currency list modal 2020-12-01 14:37:36 -05:00
Richard Ramos ba06d46d68 fix: menu icons and width on wallet module 2020-12-01 14:02:19 -05:00
Richard Ramos 3a6248319c fix: QR button acts as a toggle, and changed the font of HeaderButtons 2020-12-01 13:46:47 -05:00
Richard Ramos c405029e37 fix: wallet derivation paths for generated accounts , imported seed phrases and private keys 2020-12-01 13:31:30 -05:00
Richard Ramos 3f12320764 feat: checkbox style 2020-12-01 13:30:58 -05:00
Richard Ramos 91f5aae9e7 feat: show sign phrase modal in wallet 2020-12-01 13:30:07 -05:00
Richard Ramos 0b8a6ae511 Various ui fixes on wallet
-  Account color is used in list hightlight, separator and tabs
- Popup fields are cleared when opened
- Account color is randomized when popup is opened
2020-12-01 13:29:23 -05:00
Richard Ramos f88a05e2f5 Various ui fixes on wallet
- Show scrollbars in asset list if needed
- Show scrollbars in account list if needed
- Fix margin between assets
- Add symbol to asset amounts
- Stop scrolling at element bounds
2020-12-01 13:29:12 -05:00
emizzle e0e1487643 refactor: replace transaction modal `reset` functionality
The transaction component's `reset` functionality was meant ot reset a form when the modal was closed. It was difficult to manage and added extra overhead for each additional transaction modal created.

Instead of using reset functions, we can use Loaders to load and destroy the modal's as they are opened and closed. We do not need to keep them in memory and then also reset their functions. It creates a smaller memory footprint to destroy the object and reload on open.

feat: load gas prediction prices asynchronously
2020-11-26 11:17:24 -05:00
Pascal Precht 2aac433a3d refactor: get rid off `AddButton` and make use of `StatusRoundButton` instead 2020-11-19 16:52:32 -05:00
emizzle 76e7897e8d fix: 1-on-1 send tx recipient show in tx preview
We were previously displaying an address in the "to" field for TransactionPreview. Instead, this is meant to be a contact view.
- Fix ContactSelector to trigger selectedContactChanged
- Fix RecipientSelector > ContactSelector to trigger resolveEns from outside call to prevent infinite loop from the above fix
- Add alias to pre-selected contact for the Contact view of TransactionPreview
- Add option to change debounce delay so that when values are pre-selected (readonly), there is no delay before resolution.
- Fix missing tx data param in walletModel.estimateGas
2020-11-11 12:01:38 -05:00
Richard Ramos 514f6fa31e fix: token verification condition 2020-11-06 16:21:57 -05:00
Richard Ramos bba08d87b8 feat: populate token details from contract address 2020-11-06 16:21:57 -05:00
emizzle bc1525f513 feat: 1-on-1 chat command ENS flow
1-on-1 chat command to send and request a transaction to/from a contact with ENS enabled.
2020-11-05 11:25:45 -05:00
Richard Ramos c43f6baaa8 fix: code review 2020-11-05 10:55:39 -05:00
Richard Ramos 9d771b53dc feat: show tokens details
Fixes #910
2020-11-05 10:55:39 -05:00
emizzle 423882df89
fix: 1:1 chat command transactions "intrinsic gas too low"
I noticed that the 1:1 chat commands were not able to send token transactions due to "intrinsic gas too low" error. I quickly realised there there were a few components missing, which have been fixed.

*feat: update the 1:1 chat commands transaction modal to allow editing of the from account and network fee*

The TransactionStackGroup was updated slightly to allow manual control of back/next actions.

Fixes #870.

*fix: Create distinct modal transaction actions*

Previously, adding `Connection`s for the  `walletModel.transactionWasSent` signal in different dialogs would cause the signal to be handled in the wrong dialog. The solution was to pass a `uuid` from the requesting dialog, and include the `uuid` in the response, so that only requests that were requested from the dialog would be handled.

*fix: update 1:1 translations*
All the translations were not being translated for me. I noticed that they did not exist in the `.ts` translation files either.
2020-10-28 11:07:21 +01:00
Jonathan Rainville 84ff2b21a9 fix: fix a couple of QML warnings 2020-10-27 10:23:40 -04:00
Jonathan Rainville b5859fffa8 feat: open sendModal when click the send button in wallet popup 2020-10-20 14:42:36 -04:00
Jonathan Rainville 4844e47771 feat: add assets and history in wallet popup 2020-10-20 14:42:36 -04:00
emizzle d76667f345 feat: Add warning if sending tokens directly to contract
Fixes #936.

![imgur](https://imgur.com/XuzmdRs.png)
2020-10-19 11:45:59 -04:00
emizzle 8a7d6d3f7e fix: add image loader to collectibles images 2020-10-09 12:05:10 -04:00
hydr063n 3c299d054c feat: implement seed word phrase counter
- If the count matches the required amount a tick will be included next the count
- The format is "✓ 12 words"
- This commit also fixes the text color when in dark in the wallet add new account modal
2020-10-05 10:52:30 -04:00
hydr063n 7a5060da32 feat: load more transactions with a button
use qstrid; trx width and heights; add positionViewEnd; fix some qt rules;

missing semi colons
2020-10-05 10:50:35 -04:00
hydr063n 3229fc06e6 feat: beautify the hex values in transaction history
beautify nonce too

ammend the code to call conversion functions from qt instead

move to utils

var to let
2020-10-05 10:46:00 -04:00
Jonathan Rainville 42102bdae4 feat: limit number of collectibles to 200 to avoid explosions 2020-09-29 14:44:10 -04:00
emizzle 1fc0e26a0f fix: update tx modal validity 2020-09-29 13:27:29 -04:00
Pascal Precht f0939a01fe chore: update i18n 2020-09-18 17:23:35 -04:00
Pascal Precht 44e3e6d581 feat: introduce StatusRadioButton component 2020-09-17 15:17:01 -04:00
Pascal Precht 9c1613acf8 uiux(Wallet): improve readability of high value balances
Uses `toLocaleString()` polyfill to insert `.` and/or `,` as
needed based on currently selected locale.

Closes #845
2020-09-17 15:16:16 -04:00
Pascal Precht e0adc3056e chore: update translations
Closes #801 #841
2020-09-17 15:16:09 -04:00
emizzle 7b0d3c496c fix: exception handling in mutli-threaded transactions
Currently, exceptions thrown during transactions or gas estimation that were spawned in another thread are not being propagated, due to a limitation in nim (see https://nim-lang.org/docs/manual_experimental.html#parallel-amp-spawn).

This means any exceptions from status-go were not propagated correctly and would cause the app to crash. This includes entering the wrong password when trying to send a transaction.

The issue was addressed by passing a `success` variable by reference, which is set to false if an exception was thrown by status-go.
2020-09-17 12:21:29 -04:00
Jonathan Rainville bcbcd13611 refactor: use profileSettingsFile QtProperty instead of profile directly 2020-09-16 16:58:55 -04:00
Jonathan Rainville db9472bc0b refactor: change settings to use a filename instead 2020-09-16 16:58:55 -04:00
Jonathan Rainville 23ca5f9930 feat: make settings user dependant and clean settings uses 2020-09-16 16:58:55 -04:00
Jonathan Rainville 17aa8d274e fix: fix defaultTokenList use in QML 2020-09-14 14:54:17 -04:00
Jonathan Rainville 103f02b289 feat: show toast message for transaction status changes 2020-09-14 14:48:26 -04:00