Commit Graph

911 Commits

Author SHA1 Message Date
Anthony Laibe ef4ffce909 fix(@wallet): warnings from wallet
fixes #10086
2023-04-04 14:46:20 +02:00
Sale Djenic cab6af212f fix(@desktop/wallet): add account button is enabled in ambiguous state
Fixes: #10078
2023-04-03 14:13:53 +02:00
Sale Djenic ea53fce030 feat(@desktop/wallet): edit account reusing new "Add Account" popup
Closes: #9847
2023-04-03 14:13:53 +02:00
Sale Djenic 3325241b0f feat(@desktop/wallet): right click context menu - delete account option added 2023-04-03 14:13:53 +02:00
Sale Djenic d8b1e47984 feat(@desktop/wallet): right click context menu added for wallet accounts
Handled options from the context menu for wallet accounts:
- Copy address
- Add new account
- Add watch-only account
2023-04-03 14:13:53 +02:00
Khushboo Mehta a6df4566dd fix(@desktop/wallet): checkConnected API doesnt return correct values
fixes #9833
2023-03-31 19:59:49 +02:00
Stefan 81c3463816 feat(wallet): implement DerivationPathInput control
The enforcing of the derivation path editing rules is done in a structured
way by handling all the changes on the array of `Element` stored in
d.elements and then recomposing the HTML string to be displayed after
every change.

Main limitation is the workaround in `onTextChanged` that regenerates
the text in order to dismiss foreign characters introduced by pasting
which I couldn't find a way to disable without disabling also the ability
to copy content to clipboard.

Highlights:
- Implement DerivationPathInput control that intercepts the modifiable
keyboard events in order to edit the visible TextEdit.text while
respecting the requirements of the derivation path editing
- Implement a JS Controller that handles the logic of the
  decomposing and recomposing the derivation path string
- Add anew StatusQ with the TextEdit basic look and feel to be used
  in DerivationPathInput control without duplicating the style
- Allow passing modifiable events that are not generating characters in
  order to allow copy to clipboard
- Disable add account when control is in error state
- Limit to maximum 5 elements in the derivation path

Testing:
- Integrate the control with StoryBook for a quick preview of the
  control
- Add unit tests for the Controller basic functionality and regression
  for the main control Item
- Removed forcing x64 architecture on apple arm64 hardware from the
  storybook build configuration

Note: initially the implementation was suppose to be simple parse the
derivation path string edit elements and format it. However, I could not
find a quick way fix the circular dependency issue between editing the
text and reformatting it. The solution was to use a one way from the
structured data to the formatted string which complicates the
implementation logic.

Closes: #9890
2023-03-31 18:14:50 +04:00
Sale Djenic 5479880cde chore(@desktop/wallet): add account modal - improvements
- `AddAccountStore` moved to `AddAccountPopup`
- watch only address' placeholder text updated
- emoji popup button added to the right side of the account name input field
- `validateMnemonic` proc from accounts service updated
2023-03-28 18:09:39 +02:00
Sale Djenic 51058d9065 feat(@desktop/wallet): new add account modal - amends
Closes: #10020
2023-03-28 18:09:39 +02:00
Sale Djenic 223e4f1bc2 feat(@desktop/wallet): new "Add Account" modal added
Closes: #9733
2023-03-28 18:09:39 +02:00
Sale Djenic 7b16a93cc0 chore(@desktop/wallet): old add account modal and corresponding methods from `walletSectionAccounts` module removed 2023-03-28 18:09:39 +02:00
Khushboo Mehta 5b3a115f55 fix(@desktop/wallet): Loading screen after adding account
1. Removing logic for loading to nim
2. Handling error state for asset view also on the nim side

fixes #9648
2023-03-24 17:09:09 +01:00
Khushboo Mehta 072537f61a feat(@desktop/wallet): Implement connection error screens
fixes #9835
2023-03-23 15:26:22 +01:00
Noelia ebbb22f514 feat(@wallet/NetworkSelector): Single selection updates
When it is single selection:
- Close combobox when an option is selected.
- Don't allow uncheck.
2023-03-14 16:06:27 +01:00
Noelia e8b1dad80f feat(MintTokens): Added list of collectibles view
Added list of collectibles view.

Closes #8736
2023-03-14 16:06:27 +01:00
Noelia d84d7a8a33 refactor(@wallet/collectibles): Updated `CollectibleView` api
- Updated `CollectibleView.qml` api to be more generic.
- Updated `CollectiblesView.qml` according to new api.
2023-03-14 16:06:27 +01:00
Noelia c7f18978de chore(MintingToken): Refactor access to stores in minting components
- Refactored minting components store access, since some panels were accessing stores directly. Now `CommunitySettingsView` is the single place where stores are accessed.
- Renamed store `CommunitesStore` to `CommunityTokensStore` for handling minting / airdrop actions / request models.
- `NetworkFilter` refactored to prevent direct access to store inside the component.

Closes #9663
2023-03-14 16:06:27 +01:00
Ivan Belyakov 5db989db6e fix(@desktop/wallet): disable 'favourite' functionality for saved
addresses

Fixes #9774
2023-03-14 14:44:06 +03:00
Ivan Belyakov fc18b72848 feat(@desktop/wallet): Added menu items to check address activity
on arbiscan and optmism explorer.
Fix menu position to align right of the 'more' button

Fixes: #9771
2023-03-14 11:06:43 +03:00
Dario Gabriel Lipicar 30294f97fe feat(@desktop/wallet): add pagination to collectibles view
Fixes #9754
2023-03-10 12:02:59 -03:00
Anthony Laibe 2019e8c699 fix(@wallet): close save address modal policy
fixes: #9773
2023-03-09 21:11:40 +01:00
Anthony Laibe 37d539f061 fix(@wallet): saved address form typo
fixes #9769
2023-03-09 16:31:56 +01:00
Lukáš Tinkl 5c0f1981ad feat: Profile Showcase: Proof of concept for own Profile Dialog
- the goal of this PR is to get some bsais UI building blocks done for
the followup PRs
- the order of showcase tabs now is:
Communities/Accounts/Collectibles/Assets
- there will be further changes to accomodate for different types of
backend models as those get developed (for other users' profiles)

Fixes #9664
2023-03-08 18:45:27 +01:00
Lukáš Tinkl 3fd196323e chore: silence warnings 2023-03-08 18:45:27 +01:00
Dario Gabriel Lipicar eed98809d1 feat(@dekstop/wallet): support collectibles in activity tab
Fixes #8811
2023-03-07 11:07:04 -03:00
Noelia 02cf07044d feat(MintToken): Created Preview collectible page
- Added navigation between pages.
- Added main layout and properties (some backend integration still pending).
- Added holders model with mocked data.
- Added mint tokens footer component.

Closes #8734 and #8737
2023-03-07 13:24:45 +01:00
Ivan Belyakov 601d3dd0f1 fix(@desktop/wallet): Fix tests for saved addresses.
Minor fixes

Updates: #8599
2023-03-07 15:00:46 +03:00
Ivan Belyakov e27f2ec667 feat(@desktop/wallet): update saved addresses list
Fixes #8599
2023-03-07 15:00:46 +03:00
Stefan a0170a3fda feat(wallet) propagate multi-transaction ID to Nim
Bump status-go to include the propagation of multi-transaction ID for status-go APIs

Also

- Add leftover fix from SendModal layout

Updates: #7663
2023-03-02 14:25:53 +04:00
Stefan 16ed8739e8 fix(wallet) fix Add Account Modal and wallet tests
- fix add-account-modal custom derivation checkbox blocking all workflows
- fix, improve and enable wallet tests
- wait_for_text_matching alternative, to is_text_matching, to check also for content as squish driver API
- add objectName based lookup for in some places where user-text was used
- add workaround to retry for 10 seconds add watch due to flakiness
- rename SquishDriver.type to type.text not to conflict with python's type
- add optional timeout to some APIs
- ignore error for extra step in reaching onboarding seedphrase in linux

Updates: #9576
2023-03-01 15:36:06 +04:00
Noelia 83bdc7f104 feat(Wallet/NetworkFilter): Extended component API
Extends API to allow single UI selection network into `NetworkFilter` and `NetworkSelectPopup` updated.
2023-02-28 14:17:47 +01:00
Dario Gabriel Lipicar ed1a0d04a0 fix(@desktop/wallet): avoid storing CurrencyAmount objects in QML 2023-02-27 08:22:41 -03:00
Khushboo Mehta 2dbf2d4635 fix(@desktop/wallet): Remove the 'Load More' button from the Activity view and replace with automatic loading when the user scrolls down using a skeleton loading state
fixes #8987
2023-02-23 18:04:08 +01:00
Anthony Laibe d9ed23b2d6 fix(@wallet): trim tx data 2023-02-23 14:53:45 +01:00
Lukáš Tinkl b8f6cbcfa1 fix(i18n): properly format floating point numbers
- the percentage/changes were left untreated
2023-02-20 12:44:36 +01:00
MishkaRogachev b70e1f0fb4 feat(ActivityCenter): Add indication for visited/unvisited AC state
Close #347
2023-02-17 16:13:43 +04:00
Stefan 3bb667bb7a feat(Wallet) cache fetched balance history to DB for efficiency
- Bump status-go head that include the required specific changes
  - fetch token balance (native or ERC20) and cache historical token quantity data
  - fetch FIAT currency
- Extend presentation layer (NIM and QML) to account for API changes
- Remove timed request and other optimizations from the time of fetching
  balance history every time instead of querying cache
- Add C++ integration debugging tests and update network chain configuration (outdated)

Closes: #8175
2023-02-15 18:52:37 +04:00
Sale Djenic a12e599be2 feat(@desktop/wallet): adding wallet derivation path updates
Check box added to warn user if they want to add a path out of the
default Status' wallet derivation path. In case they do that, they are
not able to migrate such keypair to a Keycard.

Closes: #9118
2023-02-13 10:41:53 +01:00
Lukáš Tinkl 4dc97dde1a chore: unbreak bad merge
utils is imported twice
2023-02-09 12:02:35 +01:00
Stefan 9b7c2b15c0 fix(wallet): add wallet account - enable advanced section all the time
Closes: #9357
2023-02-08 19:53:09 +01:00
Alexandra Betouni aa2e6386a2 fix(statusApp): resolving qml errors/warnings pt2.1
Relates to #8864
2023-02-08 18:43:51 +02:00
Alexandra Betouni d553934b45 fix(popups): set scrollview sizing 2023-02-08 18:43:51 +02:00
Anthony Laibe 8ba10ce6b0 fix(@wallet): display network short name for collectible
fixes #8850
2023-02-08 09:26:59 +01:00
Khushboo Mehta 9e23f78180 feat(@desktop/wallet): Implement loading state for collectibles
fixes #9106
2023-02-08 09:25:04 +01:00
Sale Djenic 3f52df4f87 fix(@desktop/wallet): opening add account popup causes the app to crash
Fixes: #9412
2023-02-03 12:57:39 +01:00
Sale Djenic c0d761aa78 fix(@desktop/wallet): unable to add account
Fixes adding account modal, which was broken due to incomplete
`SelectGeneratedAccount` enum change.
2023-02-01 14:12:55 +01:00
Alex Jbanca 81a4d70932 chore(Qt5.15): Fix qml warnings after qt 5.15 migration
Fixing QML Connections warnings due to deprecated onFoo handlers. Now we're using function onFoo(params).
Fixing QML compilation error due to js filename format.
Fixing cyclic dependencies between qml components.
2023-01-31 20:39:19 +02:00
Khushboo Mehta dfcba80df2 fix(@desktop/wallet): Added missing LoadingGraphComponent in qmldir 2023-01-31 11:20:28 +01:00
Khushboo Mehta 169de5b5e1 feat(@desktop/wallet): Add loading State for Assets view and Wallet main navigation page 2023-01-31 07:57:37 +01:00
Dario Gabriel Lipicar 20733272f2 feat(@desktop/wallet): implement new collectibles view
Fixes #8810
2023-01-30 15:30:11 +01:00
Ivan Belyakov e3086fd52c chore: Removed duplicated AddEditSavedAddressPopup.qml, fixed dependencies
fixes #8229
2023-01-27 05:57:55 +03:00
Anthony Laibe 55d39aa7c7 fix(@wallet): preview button instead of enter password/pin
fixes #9119
2023-01-26 16:58:23 +01:00
Ivan Belyakov f2549fc1ff feat(@desktop/wallet): update wallet navigation
Fixed StatusBaseButton to expose a property to load either normal
icon or a round one.
Implemented new wallet navigation according to design in Figma.
Fixed regression: small accounts icons in accounts list view.
Updated wallet test.

Fixes #8598
2023-01-26 09:49:29 +01:00
Sale Djenic b44fc7a842 fix(@desktop/keycard): keycard may be factory reseted during unlock flow in some scenarios (onboarding part)
- Unexpected wiping out the data during the unlock flow handled (onboarding part)
- Back button actions fixed part 2/2 (onboarding part)

Fixes: #9183
2023-01-26 09:05:57 +01:00
Dario Gabriel Lipicar a6afdb5266 fix(@desktop): use system locale across the application 2023-01-17 16:39:56 -03:00
Dario Gabriel Lipicar d11017f7b3 feat(@desktop/wallet): implement unified currency formatting in send/bridge modal
Fixes #8934
2023-01-17 16:39:56 -03:00
Sale Djenic cae2a5bea3 feature(@desktop/keycard): sync a Keycard state on every usage
Closes: #8759
2023-01-13 21:02:36 +01:00
Dario Gabriel Lipicar 7c4022e4ac feat(@desktop/wallet): implement unified currency formatting
Fixes #8640
2023-01-12 15:21:27 -03:00
Alexandra Betouni ba811acc27 fix(improvements): remove console warnings pt1
Closes #7959
2023-01-04 17:28:59 +02:00
Noelia 579075d6cc fix(StatusQ/StatusListItemTag): Changed API and added test elide property when a specific width is forced
- Changed `StatusListItemTag` API. Now it is based on `Control` component.
- Updated needed qml files to fit with the new `StatusListItemTag` API.
- Added `elide` property in `Text` component to better visualise the content when a specific width is forced.
2022-12-21 18:42:16 +01:00
Dario Gabriel Lipicar 9feb6c29cf feat(@desktop/wallet): reworked collectibles backend
Fixes #8407
2022-12-19 08:07:04 -03:00
Dario Gabriel Lipicar bd986a5b6b fix(@desktop/wallet): adjust collectible details screen to design 2022-12-15 11:18:29 -03:00
Anthony Laibe 9b0d9cf478 feat(@wallet): Display ens name in account view
fixes #8607
2022-12-14 16:04:58 +01:00
Anthony Laibe a7884cf04f feat(@wallet): re-org wallet footer
fixes #8600
2022-12-14 09:56:08 +01:00
Anthony Laibe 9aaea49e2c fix(@wallet): remove dead code 2022-12-05 15:26:44 +01:00
Anthony Laibe 0d217c0db0 feat: add wallet token integration 2022-12-02 10:17:47 +01:00
Igor Sirotin e3bfdc0f09 fix(StatusPopupMenu): Refactoring 2022-12-02 10:30:50 +03:00
Khushboo Mehta 9ded9d4ffa feat(@deaktop/wallet): Add bridge view
fixes #8236
2022-12-01 17:15:55 +01:00
Dario Gabriel Lipicar ecd799c209 fix(@desktop/wallet): fix switch accounts after opening collectible details
Moved logic for CollectibleDetailView to Nim module.
2022-11-23 15:29:19 -03:00
alexjba 98d3073a61 Update min text length in password 2022-11-23 15:21:21 +02:00
Khushboo Mehta 6c0806c2e1 (@desktop/wallet): Fix for pending tx not shown in history view
fixes #7530
2022-11-22 13:57:50 +01:00
Khushboo Mehta 8084b90b5c test: Renabled test case for Simple transaction
fixes #7983
2022-11-20 14:44:37 +01:00
Stefan 7d9f13e4bd fix() don't change global network selection in receive modal
Adds a networks proxy model to be used with the original source model
for visualization and independent selection of isEnabled (as isActive) for a custom
purpose.

Use the proxy in the receive modal dialog for selection of networks
to be included in the address. This way the view follows the original
model but allows independent selection of networks.

Closes: #8180
2022-11-16 15:40:03 +01:00
Stefan 7bd9808476 fix(receive) fix header alignment for ReceiveModal
Add a reusable header shared between Send and Receive modals

Updates #8180
2022-11-16 15:40:03 +01:00
Stefan d0389a6305 feat(Wallet) show balance cache for chain native token
Quick integration of fetching balance in the current chart view.

The proper implementation requires refactoring the QML views to separate
price chart, that depends only on the token and chain, from balance that
depends on token, chain and address.

Closes: #7662
2022-11-16 13:07:46 +01:00
Dario Gabriel Lipicar 47f7373838 fix(@desktop/wallet): correct error message when adding own ENS name to saved addresses
#8114
2022-11-15 07:26:45 -03:00
Dario Gabriel Lipicar 9dd004b690 fix(@desktop/wallet): fix add new saved address popup close button
#8214
2022-11-14 09:49:40 -03:00
Noelia e9f84b2973 test(suite_wallet): Created `bdd_hook` for each `suite_wallet` test case
- Created `bdd_hooks` that contain the sing up steps just only once in the feature start and the needed start steps depending on the test case.

- Updated feature files removing sign up steps and given/when/then reorganization.

Closes #8026
2022-11-10 15:43:02 +01:00
Sale Djenic 105e1c156b fix(@desktop/keycard): `ExportPublic` instead of `Sign` flow should be used for user authentication
Fixes: #8176
2022-11-10 11:03:44 +03:00
Sale Djenic 3da62c9092 fix(@desktop/wallet): adding derived wallet account fixed
An issue with adding wallet account was happening only for a new user,
the reason for that was incorrectly set keystore path and keystore file couldn't
be found on the statusgo side because of that.
2022-11-10 11:03:44 +03:00
Sale Djenic 2c03146309 fix(@desktop/keycard): can't create accounts if the main account was restored in using an existing keycard account
`I already use Status` -> `Login with Keycard` flow is enabled.

Fixes: #7867
2022-10-28 20:43:09 +02:00
MishkaRogachev 6a72773ab6 feat(ActivityCenter): Refactor AC Store and fix notifications counting
Close #7654
2022-10-28 12:29:40 +03:00
Khushboo Mehta aec7a30d03 feat(@desktop/wallet): Updated UI for bridge and multi routing support
fixes #7334
2022-10-26 18:48:30 +02:00
Anthony Laibe 76aedc3615 feat(@wallet): display ens name with saved addressess 2022-10-24 12:39:34 +02:00
Lukáš Tinkl 7a407662e2 feat: New Profile Modal
Fixes: #7360
2022-10-17 12:05:54 +02:00
Stefan 057d0c565e fix(Wallet): fix import seed in account creation
Remove the workaround, to the approach of using the complete last word event,
for three letters seed-words. The three letters condition introduced
another side effect when completing the "sentence" and made the
_internal.mnemonicInput contain an extra duplicate word.

Unify the event `doneInsertingWord` generation for the internal purpose
with the external. This will trigger a secondary for some usage but
I see no problem with even in other usages.

Fix corner case when user enters a correct seed word that is not singular
and uses the mouse to jump. In that case the doneInsertingWord is not triggered

Fixes: #7715
2022-10-14 14:20:35 +02:00
Khushboo Mehta 7e82b36509 feat(@desktop/wallet): Create API to retrieve historical price for a token
fixes #7260
2022-10-14 10:29:29 +02:00
Stefan de2c421b5e fix(Wallet): allow to edit name and color for a new account before authentication
There is no good reason to keep user entering information before authenticating

Also fix typo

Fixes: #7714
2022-10-10 16:54:46 +02:00
MishkaRogachev 9d103e5b07 feat(ActivityCenter): Fix unreadNotificationsCount availability on every section
Close #7674
2022-10-04 17:05:47 +04:00
Stefan 39527a5739 fix(wallet): fix never fetching transactions
The RootStore was calling checkRecentHistory on the wallet section View
instead of the transaction View.

Still the workflow is broken due to the 20 minutes timer that calls
the checkRecentHistory and hangs the the main thread (UI) for a long time

Fixes: #7266
2022-09-29 10:45:27 +02:00
Alexandra Betouni fc3daa1451 (StatusSectionLayout): removed big space between header and content
Closes 7312
2022-09-28 15:37:52 +03:00
Sale Djenic 4e257539b8 chore(@desktop/keycard): `usingBiometricLogin` prop added to the user profile global instance 2022-09-27 20:15:34 +02:00
Sale Djenic 3687df2a2f chore(@desktop/keycard): `isKeycardUser` prop added to the user profile global instance 2022-09-27 20:15:34 +02:00
Sale Djenic 861c585d2b feat(@desktop/keycard): adding wallet account using `Authenticate` flow
Fixes: #7509
2022-09-27 20:15:34 +02:00
Sale Djenic db1bbef0e1 fix(@desktop/wallet): validation of a seed phrase if it contains a word of length 3 fixed 2022-09-27 20:15:34 +02:00
Sale Djenic 64f167a32d fix(@desktop/wallet): pasting seed phrase fixed 2022-09-27 20:15:34 +02:00
Sale Djenic 4bff0b14ed fix(@desktop/wallet): crash adding an account via seed phrase fixed 2022-09-27 20:15:34 +02:00
Alexandra Betouni dd08cb60c2 fix(AssetsDetailView): fixed warning 2022-09-20 14:31:17 +03:00
Michał Cieślak f900e7c00e fix(general): buttons font fixed, font loading refactored
Fixes: #7389
2022-09-19 22:10:25 +02:00
Alexandra Betouni b47b3e8be6 feat(AssetDetailView): Adding price history chart
Closes #6490
2022-09-15 18:13:38 +03:00
Lukáš Tinkl f4a78a1f10 fix: port to StatusButton changes in master
and pull in changes from StatusQ master
2022-09-14 09:16:58 +02:00
Jonathan Rainville aba2a42c6f test(@wallet): allow to use ganache with goerli 2022-09-13 11:56:42 +02:00
Stefan 6e78281d99 test(FavouriteSavedAddresses/Wallet): test toggle favourite for saved addresses
Also
- fix the other saved addresses that were relying on the order of
buttons and fail after adding the favourite button
- improve the rest of the tests
- improve debug buttons
- extend driver with helper functions

Closes: #6898
2022-09-12 16:00:31 +02:00
Stefan 7af95eaada feat(wallet): add favorites for saved addresses
Depends on statug-go favourite flag extension and merging of `favourites`
with `saved_address` tables and API

Additional changes:

- Remove duplicate name instead of ESN

Closes: #6546
2022-09-12 15:58:52 +02:00
Khushboo Mehta 928e1999d9 feat(@desktop/wallet): Implement Transaction details as per new design
fixes #7214
2022-09-09 21:36:58 +02:00
Lukáš Tinkl 5897615cc1 hotfix(AddAccountModal): fix setting account emoji
probably a leftover from the StatusAssetSettings porting
(plus remove some non-existing functions)
2022-09-08 12:23:43 +02:00
Alexandra Betouni 262a6c3160 fix(AddAccountModal): Updated password error message
Closes #5719
2022-09-06 18:48:17 +03:00
Sale Djenic 07a0cdc680 fix(@desktop/keycard): additional updates
- `Setup a new Keycard with an existing account` flow improved
- code review comments applied
- Qml part updated due to the latest `StatusListItem` changes in `StatusQ`
2022-09-06 15:06:13 +02:00
Anthony Laibe eb357ff6e2 fix(@wallet): Add account not working 2022-09-05 14:28:42 +02:00
Alexandra Betouni e1c548696f feat(Desktop)!: Updating desktop app due to IconSettings refactor
As part of https://github.com/status-im/StatusQ/issues/781
2022-09-02 18:41:21 +03:00
Alexandra Betouni b6ff7b9ded feat(desktop): Made activity button be visible everywhere
Closes #6635
2022-09-02 10:29:23 +03:00
Stefan b499942eea fix(Wallet/AddAccountModal): fix status-go error messages
Remove the unneeded native error dialog showing internal status-go
error strings. Instead redirect the error message for wrong private key
as specific error message.

Fixes: #6984
2022-08-30 19:05:06 +02:00
Anthony Laibe e020466362 fix(@wallet): paste seed phrase 2022-08-30 14:17:33 +02:00
Khushboo Mehta 0515152bd7 feat(@desktop/wallet): Add Token Detail View
fixes #6491
2022-08-23 10:52:26 +02:00
PavelS 9f2833b994 fix(@desktop/wallet): adjust receive modal adress
Fixes #6966
2022-08-22 16:01:05 +03:00
Anthony Laibe ade9086b81 test(@wallet): add test for ens name 2022-08-18 13:11:36 +02:00
Michał Cieślak 21aeeb8906 fix(@desktop/wallet): add account - password checking adjusted 2022-08-16 18:27:16 +02:00
Khushboo Mehta 210d5ca2eb fix(@desktop/wallet): Can see collectibles for an account
fixes #6896
2022-08-15 11:53:17 +02:00
Anthony Laibe 2f7e6998bf test(@wallet): Add test for toggling network & balance 2022-08-11 14:09:07 +02:00
Igor Sirotin 3b40649b7b fix(RecipientSelector): Fixed validation 2022-08-11 00:32:09 +03:00
PavelS 1613605296 fix(@desktop/wallet) adjust network dropdown
Fixes #6486
2022-08-09 17:52:43 +03:00
Stefan 2398b67bc1 fix(wallet): bring back copy wallet address
Depends on StatusQ's StatusAddressPanel generic control

Fixes: #6659
2022-08-05 17:05:02 +02:00
Anthony Laibe c3e345445c test(@wallet): edit/delete saved addresses 2022-08-05 09:43:05 +02:00
Anthony Laibe a51c25e90e test(@wallet): test add saved address
fixes #6761
2022-08-05 09:43:05 +02:00
Jonathan Rainville 8b4ceec773 test: cleanup names.py and structure it + some fixes to onboarding tests
Fixes #6539
2022-08-03 13:08:32 -04:00
Khushboo Mehta e5358bf29a fix(@desktop/wallet): Implements basic collectible view
fixes #6492
2022-08-03 10:11:09 +02:00
Anthony Laibe 03b3b0c6f5 test(@wallet): send transaction 2022-08-03 09:45:55 +02:00
Khushboo Mehta 39cf2f3fac fix(@desktop/wallet): Token selector in the send modal doesn't look like design and overflows window
fixes #6499
2022-08-03 09:26:18 +02:00
Patryk Osmaczko 5b51a7ce81 chore(settings): fix naming: locale->language 2022-07-27 14:22:50 +02:00
Alexandra Betouni c11ee2d3e8 fix(Wallet): Saved address add/edit modal layout issues
- Also replaced StatusModal with StatusDialog

Closes #6495
2022-07-26 13:53:34 +03:00
Khushboo Mehta 7ba6e06bc5 fix(@desktop/wallet): QR network picker style is a bit off
fixes #6386
2022-07-25 21:12:10 +02:00
Alexandra Betouni 84522bd7fe fix(CommunitiesPortal): fixed status input as per design
Closes #https://github.com/status-im/status-desktop/issues/6358
2022-07-25 15:07:27 +03:00
Alexandra Betouni 3b0dbd6052 fix(Wallet/AssetList): Updated as per designs
Closes #6481
2022-07-25 13:30:50 +03:00
Anthony Laibe 46f82f2c5e feat(@test): Add test for delete account 2022-07-22 09:20:55 +02:00
Anthony Laibe 499b9bd09e feat(@test): Add test for watch only account 2022-07-22 09:20:55 +02:00
MishkaRogachev 9aa1a1073e fix(@desktop): Fix scrolling in chat components, wallet fixes 2022-07-21 18:44:30 +03:00
MishkaRogachev 667db7038a fix(@desktop): StatusScrollView fixes for wallet 2022-07-21 18:44:30 +03:00
MishkaRogachev 58e0fce819 feat(@desktop): Fix twitchy scrolling issues
Close #6187
2022-07-21 18:44:30 +03:00
MishkaRogachev 0d3aed0611 fix(@desktop): Fix scrolling twitches using ScrollView amd Flickable items
Close #5781
2022-07-21 18:44:30 +03:00
Khushboo Mehta 189d793b87 fix(@desktop/wallet): Multinetwork QR code sometimes doesn't update when there is only 1 network left
fixes #6496
2022-07-21 15:32:13 +02:00
Khushboo Mehta b6f16c8a47 fix(@desktop/wallet): Wallet account generation popup doesn't support tab navigation
Please not tab access for advanced view is not implemented

fixes #6388
2022-07-21 15:25:02 +02:00
Pascal Precht 95a1945bff fix: handle sync currency settings
This updates the desktop client with a newly emitted currency settings
that might originate from synchronization

Partially addresses #5201
2022-07-20 13:49:18 -04:00
Alexandra Betouni 7df5ddc1e7 fix(Wallet/SavedAddresses): updated addresses list delegate
based on new designs

Closes #6494
2022-07-20 16:54:42 +03:00
Lukáš Tinkl 81cda65b20 chore(i18n): add some missing i18n()
+ remove one last qsTrId()
2022-07-20 11:31:15 +02:00
Lukáš Tinkl 7e243da180 fix(WalletHeader): align wallet section header with design
Closes #6484: Account header is different from design

Closes #6485: Account layout needs margins adjusted to match design
2022-07-20 10:22:51 +02:00
Lukáš Tinkl 8bddc64671 fix(SavedAddressesView): saved addresses header should look like designs
Closes: #6493
2022-07-20 10:22:51 +02:00
Lukáš Tinkl 5be18c2b1d fix(NetworkFilter): network filter UI fixes
Closes #6483: all networks button should match design

Closes #6487: networks button should display number of selected networks

Closes #6488: network tags should display icons and look like designs
2022-07-19 14:07:40 +02:00
Lukáš Tinkl 3bfbe104a4 fix(Wallet/LeftTabView): style fixes
Fixes #6489

- fixup list items background according to design
- fix Add account button (add icon, fix font size)
2022-07-18 14:28:01 +02:00
Lukáš Tinkl 024843b8b8 fix(Wallet/LeftTabView): style fixes
Align the Wallet left section navigation bar to the design

Fixes #6479
Fixes #6480

- simplify using layouts
- fix margins/spacing
- fix font sizes and weights
2022-07-18 14:28:01 +02:00
Khushboo Mehta 864bdd63fa fix(@desktop/wallet): Fix for Wallet icon background color seems off in wallet settings under dark mode
fixes #6059
2022-07-13 13:20:29 +02:00
Khushboo Mehta 5d6f2df145 fix(@desktop/wallet): Fix visual issues in add account modal
1. Alignment of the Inputs
2. Background color of the derived address panel

There is another issue pening which is already reported separately as https://github.com/status-im/status-desktop/issues/6315

fixes #6257
2022-07-12 15:14:35 +02:00
Alexandra Betouni 353110d4ae fix(AddAccountPopup): layout issues
Closes #6315
2022-07-08 14:41:28 +03:00
Lukáš Tinkl 4e71f813a2 fix(settings): flags are blurred in the Languages list
Fixes #6306

- update the StatusQ components to the latest commit which includes
the StatusIcon fixes
- switch the LanguageStore and CurrenciesStore to use SVG icons for flags
and money icons instead of PNGs
2022-07-06 20:52:48 +02:00
Patryk Osmaczko e0a5afebee chore(translations): transform `qsTrId` to `qsTr`
issue: #4544
2022-07-06 19:09:50 +02:00
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
Jonathan Rainville 797da0a962 feat: add ToastMessage when transaction becomes pending 2020-09-14 14:48:26 -04:00
Jonathan Rainville e8a202cfae refactor: change pending state to be handled by a StatusButon instead 2020-09-11 16:55:36 -04:00
Jonathan Rainville ad00709104 feat: show loading image on the button when sending 2020-09-11 16:55:36 -04:00
Pascal Precht b22f0d8a58 fix(Wallet): reset add account modal
Fixes #890
2020-09-11 14:41:35 -04:00
emizzle 2c7dd929ad feat: enable token transactions
Fixes #788.
Fixes #853.
Fixes #856.

refactor: gas estimation and transaction sends have been abstracted to  allow calling `estimateGas`, `send`, and `call` on the contract method (similar to the web3 API).

Moved sticker pack gas estimation and purchase tx over to the new API

*Sticker purchase:*
 - gas estimate is done using new API and debounced using a timer

*Wallet send transaction:*
 - tokens can now be sent
 - gas is estimated correctly for a token tx, and debounced using a timer

***NOTE***
1. If attempting to send tokens on testnet, you must use a custom token as the token addresses in the pre-built list are for mainnet and will not work on testnet.
2. The new API should support all existing gas estimates, send txs, and calls. The loading of sticker pack data, balance, count, purchased sticker packs, etc, can be moved over to the new API. Almost all of the `eth_sendTransaction`, `eth_gasEstimate`, and `eth_call` could be move over as well (that's the idea at least).
2020-09-11 12:01:08 -04:00
Pascal Precht 729a2781f0 feat(TransactionModal): introduce async validation for ENS names
This commit extends the AddressInput to perform ENS lookups when valid
ENS values are entered. The lookup happens asynchronously, so we show a loading
indicator as the request is happening.

Closes #790
2020-09-10 13:40:42 -04:00
hydr063n d64446f868 implement text-id based translations for currencies 2020-09-10 13:39:53 -04:00
Richard Ramos 24212a63e9 feat: testnet tokens 2020-09-09 16:35:51 -04:00
Pascal Precht 811024b0ee fix(Wallet): restore add account button default state
Fixes #803
2020-09-09 16:17:43 -04:00
Richard Ramos 27abf30fc8 feat: list, toggle and remove custom tokens 2020-09-09 16:10:51 -04:00
Jonathan Rainville f3f27a5e59 fix: address more comments about the chat commands 2020-09-09 15:03:45 -04:00
Jonathan Rainville 60492b4db1 feat: add chat command bubbles for received txs 2020-09-09 15:03:45 -04:00
Richard Ramos 98aaa69e9d fix: transaction history handling
- Determine if the recent transaction history is being fetched or available before obtaining the first 20 transactions
- On account change, reset the selected tab to show the asset list
- Collectibles were kinda pixelated/blurry (not anymore)

Fixes #806
2020-09-07 12:54:59 -04:00
emizzle d8b0145eb3 feat: Add Sticker purchase transaction modal
Add gas estimate for sticker pack purchase.

Update transaction for sticker pack purchase.

Add GasValidator component which validates gas is selected correctly and displays an error message if not. This component is not visible until it is not valid (at which point the valdiation error message is displayed).

In a future PR, need to:
1. estimate gas for token txfer (sendTransaction) via a normalised method for estimating gas for EthSend
2. move sticker pack purchase to use an EthSend object so gas can be estimated and tx sent
2020-09-04 16:13:33 -04:00
Richard Ramos 0b6643ac2d feat: show SNT by default in the token list, and STT in ropsten
fixes #805
2020-09-03 16:06:20 -04:00
emizzle 1e020a203c feat(tx-comps): Send transaction modal
Fixes #669.

Composes all tx components to create a send transaction modal for the wallet.

1. Add a reusable TransactionStackView component that wraps a StackView component to show the screens of the Send Tx modal and handles back/forward/reset functionality.
2. Add a reusable TransactionStackGroup which holds tx components and allows modal header and button text to be defined and handles validation for all child components.
3. Add an isValid property to all tx comps for pristine validation state.
4. Reset all components in modal once modal is closed. This consists of a `resetInternal` function that each component should implement to reinstate its original starting state, and a `reset` function that parent components can use to reinstate the overridden properties.
5. Tx error handling to display either a StatusGo error message in the dialog, or wrong password in the TransactionSigner.
6. Fix ReceiveModal to allow for pre-selected account based on current wallet account.
7. Add focused border colour to Input component.
8. Fix issue with last TransactionStackGroup input not being able to obtain focus.
9. Fix fiatBalance not appearing on initial load on AccountSelector.
10. Fix selected asset updated properly when assets changed in the AssetSelector component.
11. AccountSelector is pre-populated with selected wallet account. Supporting work on the components has been done to suppor this.
12. Changing accounts in the "from account" updates the asset balances in the AssetAndAmountInput component.
13. Move validation from ContactSelector to the Select component.

1. Test sending of tokens. This requires that tokens contracts are setup on testnet. Right now, they are set up for contract addresses on mainnet.
2. Loading state once transaction is sent. Button in modal needs to move to a loading state and the "toast" messages in the wallet need to appear informaing user of tx progress.
3. Need to clarify (and implement?) support of ENS names in the AddressInput. It appears that ENS names could be resolved. This would be a long operation and require some kind of UI loading indication.
4. Wallet balances need to be updated on every block, so for example, sending funds between accounts I should be able to see the balance updated in real time.

1. Sending to a contact currently doesn't work because the ContactSelector component selects the Contact's whipser key, instead of his/her wallet address. May need to figure out how this is done in status-react. As it stands, attempting to send to a contact will crash the app.
2. Sending *from* an imported account does not work, with an error from StatusGo `cannot locate account for address: 0x123...`
2020-09-03 15:32:55 -04:00
Jonathan Rainville fef2e6651d feat: add stickers to collectibles 2020-08-28 11:05:19 -04:00
Jonathan Rainville 1592115dde feat: change other components to use Address where needed 2020-08-27 17:48:03 -04:00
Jonathan Rainville 0c686c3fcf chore: run qstrConverter script 2020-08-27 17:09:37 -04:00
Jonathan Rainville 68a903e3f0 feat: add error management to the collectibles
plus reload button

(cherry picked from commit 718f806557ffb041263e035845a21c2f7126807c)
2020-08-25 11:49:11 -04:00
Jonathan Rainville 9d8fe87fd8 Revert "feat: add error management to the collectibles"
This reverts commit 9eaf0a2d90.
2020-08-25 09:19:28 -04:00
Jonathan Rainville 9eaf0a2d90 feat: add error management to the collectibles
plus reload button

(cherry picked from commit 718f806557ffb041263e035845a21c2f7126807c)
2020-08-25 09:18:50 -04:00
Jonathan Rainville 3219b0f5f4 refactor: refactor collectibles to be loaded individually 2020-08-25 09:15:01 -04:00
Jonathan Rainville 95f4bd8d09 fix: fix pixelated icon and add description and URL for kudos 2020-08-25 09:15:01 -04:00
Pascal Precht f4d16d7661 refactor(IconButton): turn IconButton into proper button control
So far our `IconButton` hasn't been a proper button control which comes
with many downsides, such as:

- Some default button behaviours need to be simulated (e.g. `onClicked`)
- Any support built-in features for all controls in QML like `ToolTip` aren't can't be used
- There are probably accessibility aspects to it as well

We use the `IconButton` in many different places. Sometimes it doesn't
even act as a button, but just as an icon. I suggest we introduce a separate
`StatusIcon` component for that in future changes.

This commit turns the `IconButton` into a proper `RoundButton`, restoring
the control behaviour and features we get from QML.

This also required to expose the `icon` property as a `iconImg`,
because a `RoundButton` already comes with an `icon`.
On the other hand, we could remove the `onClick` simulation and can now
take advantage of components like `ToolTip`.
2020-08-25 10:26:34 +02:00
Jonathan Rainville f083310193 feat: make all collectibles work and fix Cryptokitties 2020-08-20 14:21:20 -04:00
Jonathan Rainville ed88cf2a7e feat: add the different sections of the collectibles 2020-08-20 14:21:20 -04:00
Jonathan Rainville 07081d412c feat: add CollectiblesModal for the collectibles content 2020-08-20 14:21:20 -04:00
Jonathan Rainville 13201e5085 feat: add CollectiblesContent 2020-08-20 14:21:20 -04:00
Jonathan Rainville 76efdd499b refactor: split CollectiblesTab to CollectiblesContainer and Header 2020-08-20 14:21:20 -04:00
Jonathan Rainville 9ffd58e5b0 feat: add basic collectibles header 2020-08-20 14:21:20 -04:00
Pascal Precht b528e784c9 feat: introduce TransactionSigner UI component
Closes #676
2020-08-19 15:33:05 -04:00
Pascal Precht c6d858d84a chore: improve GasSelector Component
This commit fine-tunes the layout of the advanced modal input controls.
It also adds validation so that only numeric values are accepted as
gas price and gas limit values
2020-08-19 14:49:19 -04:00
emizzle 3dac87df3d feat/tx-comps: Add TransactionPreview component
Adds a TransactionPreview component as per the spec https://www.notion.so/emizzle/Wallet-transaction-components-2003b78a8d0d41c4ab3d21eb2496fb20

- update ReceiveModal dropdown to match design
- long alias and account name support
- long name support in account selector
- strip all trailing zeros from displayed balances
2020-08-19 14:38:45 -04:00
Pascal Precht 832518a0e1 feat(GasSelector): introduce GasSelector component
Closes #674
2020-08-17 14:08:28 -04:00
Jonathan Rainville 79cf818202 feat: add receive modal
Add receive modal in the wallet to show a QR code and address selector
Improve Input component to be able to show a Copy button that copies to clipboard
Improve AccountSelector modal to be able to not show details and fix eliding
2020-08-17 12:07:11 +02:00
emizzle 3ff93c26e6 fix/tx-comps: Update assets when tokens changed
When tokens are added/removed, the asset list in the AssetAndAmountInput is updated.

The selected asset can be specified by the parent component which is needed for things like sticker market where we need to set SNT as the fixed token.

Improved the validation for the component:
 - validate() can be called externally
 - validation display is handled internally and messages can be customised
 - validation error messages are handled by the Input component and validation UX is consistent with other tx components
2020-08-13 14:39:43 -04:00
emizzle d07daac377
feat/tx-comps: Add RecipientSelector component
Based on the spec in https://www.notion.so/emizzle/Wallet-transaction-components-2003b78a8d0d41c4ab3d21eb2496fb20, this component handles user input for a recipient address, which can be sourced from manual address input, ENS name, contact selection, or another of the user's wallet accounts.
2020-08-13 09:28:35 +02:00
Pascal Precht 246b90b5ae refactor(AccountSelector): use built-in onSelectedAccountChanged event
As per comment: https://github.com/status-im/nim-status-client/pull/703#discussion_r467879840
2020-08-11 14:33:02 -04:00
Pascal Precht 56568f68c8 feat: introduce AssetAndAmountInput component
Closes #673
2020-08-10 09:32:01 -04:00
Pascal Precht d62d8b3a92 refactor: rename Asset.fiatValue -> Asset.fiatBalanceDisplay
This is done because `fiatValue` included the currency symbol
2020-08-10 09:32:01 -04:00
emizzle 6df29da7b0
fix: Remove walletModel reference from AccountSelector
Remove all `walletModel` references from the `AccountSelector` component, as the component should not be aware of the API's existence.

Pass currency to `AccountSelector` component.
2020-08-06 17:44:52 +02:00
emizzle 82022f655c
feat: Send transaction componets -- Asset selector
Selects an asset to be used in the send transaction dialog.
2020-08-06 12:19:08 +10:00
emizzle 9374be5857
feat: Send transaction component -- Account selector
Fixes #670.

Component spec based on https://www.notion.so/emizzle/Wallet-transaction-components-2003b78a8d0d41c4ab3d21eb2496fb20.

Changes the current Select shared component to a model databound component. This means we can bind directly to `QAbstractListModel`'s coming from Nim instead of needing manipulating the data in to javascript objects. The changes to the Select component will be used for the upcoming Asset selector shared component.
2020-08-05 16:38:49 +10:00
Richard Ramos d066b59f81
feat: load transaction history async 2020-07-31 11:48:41 -04:00
Richard Ramos 7c856be981
fix: use Loader for animation to reduce cpu usage 2020-07-30 16:46:25 -04:00
Richard Ramos 6e62df9109
feat: Load collectibles async 2020-07-29 17:43:10 -04:00
Jonathan Rainville 9654f937f2 fix: fix all remaining QML warnings 2020-07-23 15:59:18 -04:00
Jonathan Rainville 3b9ada93d0 fix: fix dark theme for the wallet 2020-07-23 15:59:18 -04:00
Jonathan Rainville 7f7a6cbc97 feat: make profile look like the design
Improve left tab menu
Move settings to right panel instead of advanced
Create MyProfile container
Improve Contacts and Security
2020-07-22 10:17:54 -04:00
emizzle d4d532691e feat: get current network details
Adds settings API for getting current network details.

Uses the current network details to display the correct etherscan link in QML (etherscan URL is a setting in the current network settings).
2020-07-21 15:12:48 -04:00
Jonathan Rainville b829acb3c4 chore: re-run qstr converter 2020-07-17 11:55:01 -04:00
Jonathan Rainville 0e8bb2b136 fix: change text strings to qsTr
Co-authored-by: RichΛrd <info@richardramos.me>
2020-07-16 11:43:42 -04:00
Jonathan Rainville 66467ff070 fix: wallet ui errors
Fixes # 472
2020-07-16 11:43:42 -04:00
decanus a0c5f8624c does some fixes in the history tab 2020-07-16 14:19:54 +02:00
Jonathan Rainville 92f5a9ca5c feat: add dark theme colors and new properties for it 2020-07-14 12:37:17 -04:00
Iuri Matias 91cf1682b1 put sounds on top level to avoid duplicated sound channels 2020-07-10 15:27:26 -04:00
Jonathan Rainville 1eb1d3d41c chore: run transform script to change qstr to qstrid 2020-07-08 12:37:41 -04:00
Jonathan Rainville a529d729ea feat: change Theme to Style to enable changing Theme 2020-07-03 09:59:14 -04:00
Jonathan Rainville e378d94ca8 feat: show dialog for send errors and success 2020-07-02 11:41:11 -04:00
Jonathan Rainville 81e7dffaa2 feat: make token send and eth send work 2020-07-02 11:41:11 -04:00
Jonathan Rainville 19f8f8e457 feat: add validation on amount and show current balance 2020-07-02 11:41:11 -04:00
Jonathan Rainville 70fdcb85c6 feat: add asset selector in send modal 2020-07-02 11:41:11 -04:00
Jonathan Rainville d90c9ba882 fix: use normal Inter for normal text and StatusInter for addresses 2020-07-02 10:51:57 -04:00
Iuri Matias 9935d349c4 play sounds when a message is sent or an error occurs 2020-07-02 10:31:10 -04:00
Jonathan Rainville cd061895c2 fix: fix a couple of warning with the send modal 2020-06-29 13:39:22 -04:00
Jonathan Rainville 76f12c20f7 feat: add validation to send form 2020-06-29 13:39:22 -04:00
Jonathan Rainville 0df6bc134d feat: add icon to select and add address to send modal 2020-06-29 13:39:22 -04:00
Jonathan Rainville 0bbb72a994 feat: enable changing the values of a select and add account to send 2020-06-29 13:39:22 -04:00
Jonathan Rainville 4f4eff0ee8 feat: improve Select component to have a selected text 2020-06-29 13:39:22 -04:00
Jonathan Rainville 6d77c81048 refator: change send modal to use the shared component 2020-06-29 13:39:22 -04:00
Jonathan Rainville 8cb8395ceb feat: check password before saving a new account
Also shows the error if there is one when adding.
Should show a loading state too, but it doesn't work because the Nim function freezes the QML
2020-06-25 16:41:28 -04:00
Iuri Matias e859250501 fix other blurry images on hdpi screens
fix other blurry images on hdpi screens

fix image size

ensure plist has high res directive

addd directive to info runner
2020-06-25 16:13:17 -04:00
Iuri Matias 649d0a2149 get collectibles when requested instead of at login 2020-06-25 15:47:37 -04:00
Jonathan Rainville 6cf5468920 fix: fix add account button that was positioned absolutely 2020-06-25 11:13:02 -04:00
Jonathan Rainville 9683b7a79e feat: enable saving app settings like the SplitView state 2020-06-25 11:02:35 -04:00
Jonathan Rainville 02d915cb50 chore: up import version and fix SplitViews 2020-06-25 11:02:35 -04:00
Pascal Precht 36ded19dff ui(Wallet): render asset icons in transaction list items
Closes #405
2020-06-25 10:28:23 -04:00
emizzle 847eb2623f feat: add sticker popup
Add sticker popup
Add send sticker message
Add ability to select sticker pack and show stickers for pack with scroll

1. Sticker history
2. Install sticker packs
3. Sticker market

1. Sticker packs are installed on app start up until installation of sticker pack functionality is added
2. Optimisations such as preloading images to be done so that sticker images are not downloaded each time.
2020-06-25 10:27:26 -04:00
Jonathan Rainville c6a1e3d453 fix: fix images with wrong color in the wallet menus and center them 2020-06-23 07:18:30 -04:00
Jonathan Rainville dffabb00fb feat: add validation to account settings 2020-06-23 07:09:18 -04:00
Jonathan Rainville 17755eadb9 feat: add validation to generate account 2020-06-23 07:09:18 -04:00
Jonathan Rainville 051eeea3df feat: add validation to seed modal 2020-06-23 07:09:18 -04:00
Jonathan Rainville 300caf22a2 feat: add validation to private key and watchonly modal 2020-06-23 07:09:18 -04:00
Michael Bradley, Jr ce7e6b8d51 chore: refactor Linux and macOS build/packaging steps
Replaces PR #105.

Implement a `pkg-macos` target that ultimately results in `Status.dmg` being
written to `pkg/`. Due to [limitations][limits] of the OpenSSL `.dylib`s in
`/usr/lib/` on macOS, `libssl.a` and `libcrypto.a` are statically linked into
`bin/nim_status_client` from a [Homebrew][brew] "bottle" that is compatible
with macOS 10.13 (the oldest macOS version compatible with Qt v5.14).

`pkg-macos` creates an `.app` bundle layout in `tmp/macos/dist` based partly on
information in a very helpful [StackOverflow answer][so-answer]. Note the part
of the answer (toward the end) that explains a problem with the working
directory and how to fix it. That's the reason for the `nim_status_client.sh`
script introduced in this commit (it gets copied into the bundle). It's also
the reason for having `Info.plist` copied into the bundle before `macdeployqt`
is run (see below) and then overwriting it with `Info.runner.plist` before
creating the `.dmg` file. The app icons file `status-icon.icns` was taken from
`deployment/macos/` in the [status-react][sr] repo.

The [`macdeployqt`][macdeployqt] tool is used to copy the needed portions of Qt
into the bundle; it automatically updates `rpath`, etc. so the
`nim_status_client` executable in the bundle can locate the libs within the
bundle.

`macdeployqt` is run twice, for the "outer" and "inner" `.app` bundles,
because of an apparent bug in `macdeployqt` that results in QtWebEngine related
resources not being processed correctly on the first pass. This results in some
bloat in the final bundle but it seems unavoidable at present.

The [create-dmg][cdmg] tool is used to package the bundle into a `.dmg`
file. There are two reasons for this:
1. It produces a nice looking icon for the `.dmg` that overlays the Status logo
on an external disk icon.
2. `Info.plist` needs to be overwritten after running `macdeployqt` (see
explanation above) but before creating the `.dmg` file. If we passed the `-dmg`
cli option to `macdeployqt` to have it generate the `.dmg` file then it
wouldn't be possible to overwrite `Info.plist`.

So there is a cosmetic reason and a practical reason for using another
tool. Probably the biggest downside is that `create-dmg` is implemented in
Node.js so it needs to be installed with `npm`; that's the reason this commit
introduces `package.json`, etc. Note that zero code from `node_modules` ends up
in the `.app` bundle or the `.dmg` file.

Code signing of the macOS `.app` bundle and `.dmg` is attempted if the
environment variable `MACOS_CODESIGN_IDENT` is defined. In that case, the
environment variable `MACOS_KEYCHAIN_OPT` may optionally be defined with the
path to a preferred keychain database file.

Refactor a number of sections in the Makefile for consistency's sake, e.g. the
`appimage` target becomes `pkg-linux` and ultimately results in
`NimStatusClient-x86_64.AppImage` being written to `pkg/`.

Make a number of changes to bring the Linux packaging steps up-to-date and use
the `-qmlimport` cli option of `linuxdeployqt` to simplify resolution of Qt
plugins.

Note that `make pkg` will correctly resolve to `make pkg-linux` or `make
pkg-macos` depending on the OS in use.

Consistently use lower-case "c" in the name of *components* directories and
imports.

[limits]: https://developer.apple.com/forums/thread/124782
[brew]: https://brew.sh/
[so-answer]: https://stackoverflow.com/a/3251285
[sr]: https://github.com/status-im/status-react/tree/develop/deployment/macos
[macdeployqt]: https://doc.qt.io/qt-5/macos-deployment.html
[cdmg]: https://github.com/sindresorhus/create-dmg
2020-06-22 10:53:57 -05:00
Jonathan Rainville 7e96a17f3b fix: add StyledTextEdit and TextField to use the font 2020-06-19 14:53:45 -04:00
Jonathan Rainville 8755c901de fix: fix font loading issue and create a text component to use that font 2020-06-19 14:53:45 -04:00
Jonathan Rainville 98d4c7ef1e feat: add id to the collectible 2020-06-18 16:47:24 -04:00
Jonathan Rainville 3e152e5d35 feat: show collectibles in the Collectibles tab 2020-06-18 16:47:24 -04:00
Jonathan Rainville 810831e41e fix: fix token list having a space when using the filter 2020-06-18 13:55:54 -04:00
Jonathan Rainville 5c63adb0ad refactor: change token settings to the ModalPopup component 2020-06-18 13:55:54 -04:00
Iuri Matias 0ad64cc5de update qml imports 2020-06-18 11:02:11 -04:00
Iuri Matias 365e5ab4c1 fix require for components folder 2020-06-17 18:58:39 -04:00
Pascal Precht b8ba44e982 feat: implement transaction detail modal
Closes #170
2020-06-17 13:14:38 -04:00
Pascal Precht 0f7e08075b feat(wallet): Introduce simple account transaction list
There's still some things that needs to be done (possibly in future commits):

[ ] Asset icons need to be determined so they can be displayed along the transaction
[ ] Transaction values need to be converted to decimal values
[ ] Date-time formatting
[ ] Grouping of transactions by days
2020-06-17 12:47:53 -04:00
Richard Ramos b0a8bc3368 fix: make text selectable, limit text input content width and execute actions onEnter 2020-06-16 12:05:22 -04:00