Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DO NOT SQUASH Meta wallet transaction history #8228

Merged
merged 8 commits into from
May 23, 2019

Conversation

yenda
Copy link
Contributor

@yenda yenda commented May 17, 2019

This PR is a compilation of the reviewed wallet PRs so that they can be tested at once

fixes #8151

#8184 Feature/token transaction signals

part of #8151

  • removes fetching of last 100000 blocks of token transfers from
    the wallet pull loop
  • fetches the last 100000 blocks of token transfers at startup
  • replaces pulling by subscriptions to ethlogs for token transfers

#8221 Feature/transaction signals

  • remove the transaction fetching loop entirely to rely only on subscriptions
    for live transactions and token transfer updates
  • fetch token transfers history via etherscan API to lift the 100000 blocks
    limit on token transfers history
  • inbound token transfers are caught via a filter on ethlogs
  • outbound token transfers and other transactions are caught by filtering
    transaction in the current block that have the wallet address as to or from field

#8224 Refactor/transaction details

  • removing computations from transaction details view and simplifying related subscriptions

#8230 Refactor transaction history

  • Remove computations from views
  • Optimize computations in subs
  • Fix missing amount and label for unknown ERC20 tokens in transfer history
  • clean up transaction history and transaction filters subscriptions
  • move ui.screens.wallet.transactions.events to events
  • move ui.screens.wallet.db to db

#8231 Improve wallet update performances

  • a few files are moved around because of circular dependencies, this continues migration of wallet and ethereum code into their own module (previous in ui.screens.wallet and utils.ethereums respectively)

wallet-autoconfig-token is a very expensive call on mainnet because it checks the balance of every known token. it is called:

  • when wallet is refreshed by pulling
  • when user goes on any wallet screen

This PR changes that by:

  • calling it only when the wallet is initialized and there is no visible-token configuration
  • it only calls update-wallet when a new transaction arrives

#8232 Remove web3 and clean up wallet effects

  • introduce json-rpc namespace, which provides call and eth-call,
    a generic way of calling a json-rpc method taking care of conversions
    and error handling
  • remove web3 usage from wallet
  • clean up effects, reducing the amount of computations when login in

#8233 Remove call-params usage

  • use json-rpc/eth-call and wallet/eth-transaction-call everywhere
  • move all conversions to abi-spec

The goal of this PR is to unify the way we interact with contracts, so that future improvements can be made and impact all the callees. json-rpc/eth-call is for read only calls and wallet/eth-transaction-call is for transnational calls.

Testing

When testing it is important to compare to what the situation is in develop. If things are not perfect but still equal or slightly improved compare to develop, we should treat them as bugs that I will fix asap in separate PRs, but this one is already very big and sets up the basis for faster future improvements of the wallet by cleaning up all the crap.

I tested all of the following points on Android emulator and One Plus 5T over the different PR, I will test again once build is available for the global rebase and merge.

Areas to be tested for improvements:

  • wallet much faster on slow devices (usual lag on wallet after login should be gone)
  • bandwidth consumption (see point below)
  • transaction history responsiveness (new transactions show up to 20 sec faster)
  • better gas estimation (before it would always show the same number now it is precisely what the transaction should cost)

Areas to be tested for regressions:

  • anything that is related to transactions:
    • wallet
    • transaction history
    • in chat transactions
  • anything that is related to ens resolution:
    • add chat by ens name
    • browse dapp by ens name
  • stickers

Bandwidth consumption

I made the following experiment on Android:

  • use mobile data and disable sync to reduce the noise from whisper
  • recover satoshi document engage inflict goddess auction rule unfair bid next buddy shy
  • go on ropsten network
  • clear history in GlassWire (https://play.google.com/store/apps/details?id=com.glasswire.android&hl=en&rdid=com.glasswire.android&pli=1)
  • restart app
  • go to wallet history, check transaction details of first transaction, go back to wallet, pull to refresh, go to chat, kill app
  • reopen app, go to transaction history, wait 2 minutes, pull to refresh, kill app
  • switch 5 times between wallet and chat and wallet and transaction history

status: ready

@yenda yenda added the wallet label May 17, 2019
@yenda yenda requested review from vitvly and flexsurfer May 17, 2019 17:42
@yenda yenda self-assigned this May 17, 2019
@status-github-bot
Copy link

status-github-bot bot commented May 17, 2019

Pull Request Checklist

  • Have you updated the documentation, if impacted (e.g. docs.status.im)?

@yenda yenda force-pushed the meta/wallet-transaction-history branch from 8d41cbb to 4593918 Compare May 17, 2019 17:45
@status-im-auto
Copy link
Member

status-im-auto commented May 17, 2019

Jenkins Builds

Click to see older builds (86)
Commit #️⃣ Finished (UTC) Duration Platform Result
4593918 #2 2019-05-17 17:49:05 ~3 min ios 📄 log
4593918 #2 2019-05-17 17:49:39 ~4 min macos 📄 log
4593918 #2 2019-05-17 17:49:44 ~4 min windows 📄 log
4593918 #2 2019-05-17 17:50:55 ~5 min linux 📄 log
4593918 #2 2019-05-17 17:53:10 ~7 min android 📄 log
4593918 #2 2019-05-17 17:54:39 ~9 min android-e2e 📄 log
d7a4bec #3 2019-05-17 17:59:58 ~3 min ios 📄 log
d7a4bec #3 2019-05-17 18:00:30 ~4 min macos 📄 log
d7a4bec #3 2019-05-17 18:01:38 ~5 min windows 📄 log
d7a4bec #3 2019-05-17 18:02:03 ~5 min linux 📄 log
d7a4bec #3 2019-05-17 18:03:11 ~7 min android 📄 log
d7a4bec #3 2019-05-17 18:04:16 ~8 min android-e2e 📄 log
✔️ c10b790 #5 2019-05-17 18:46:47 ~17 min macos 📦 dmg
✔️ c10b790 #5 2019-05-17 18:49:45 ~20 min linux 📦 App
✔️ c10b790 #5 2019-05-17 18:52:34 ~23 min ios 📦 ipa
✔️ c10b790 #5 2019-05-17 18:52:55 ~23 min windows 📦 exe
✔️ c10b790 #5 2019-05-17 18:56:42 ~27 min android 📦 apk
✔️ c10b790 #5 2019-05-17 18:56:57 ~27 min android-e2e 📦 apk
0bb2b84 #6 2019-05-20 12:40:26 ~4 min ios 📄 log
✔️ 0bb2b84 #6 2019-05-20 13:00:15 ~24 min macos 📦 dmg
✔️ 0bb2b84 #6 2019-05-20 13:00:47 ~25 min android 📦 apk
✔️ 0bb2b84 #6 2019-05-20 13:02:57 ~27 min android-e2e 📦 apk
✔️ 0bb2b84 #6 2019-05-20 13:05:58 ~30 min windows 📦 exe
✔️ 0bb2b84 #6 2019-05-20 13:07:15 ~31 min linux 📦 App
✔️ 0bb2b84 #7 2019-05-20 13:50:49 ~23 min ios 📦 ipa
✔️ 60caa4c #7 2019-05-20 15:25:16 ~17 min macos 📦 dmg
✔️ 60caa4c #7 2019-05-20 15:26:44 ~19 min android-e2e 📦 apk
✔️ 60caa4c #7 2019-05-20 15:27:51 ~20 min linux 📦 App
✔️ 60caa4c #7 2019-05-20 15:29:39 ~22 min android 📦 apk
✔️ 60caa4c #8 2019-05-20 15:34:19 ~26 min ios 📦 ipa
✔️ 60caa4c #7 2019-05-20 15:36:33 ~29 min windows 📦 exe
✔️ a1ecfa7 #8 2019-05-20 15:53:58 ~31 min macos 📦 dmg
✔️ a1ecfa7 #8 2019-05-20 15:54:39 ~32 min android-e2e 📦 apk
✔️ a1ecfa7 #8 2019-05-20 15:58:46 ~36 min linux 📦 App
✔️ a1ecfa7 #9 2019-05-20 15:58:58 ~36 min ios 📦 ipa
✔️ a1ecfa7 #8 2019-05-20 16:00:25 ~38 min windows 📦 exe
✔️ a1ecfa7 #8 2019-05-20 16:01:54 ~39 min android 📦 apk
✔️ a395be0 #9 2019-05-20 19:23:41 ~15 min android 📦 apk
✔️ a395be0 #9 2019-05-20 19:26:10 ~18 min macos 📦 dmg
✔️ a395be0 #9 2019-05-20 19:27:06 ~19 min windows 📦 exe
✔️ a395be0 #9 2019-05-20 19:27:50 ~20 min android-e2e 📦 apk
✔️ a395be0 #9 2019-05-20 19:28:04 ~20 min linux 📦 App
✔️ a395be0 #10 2019-05-20 19:29:40 ~21 min ios 📦 ipa
✔️ 5279a68 #10 2019-05-20 23:06:41 ~16 min android-e2e 📦 apk
✔️ 5279a68 #10 2019-05-20 23:07:48 ~17 min macos 📦 dmg
✔️ 5279a68 #10 2019-05-20 23:10:21 ~20 min windows 📦 exe
✔️ 5279a68 #10 2019-05-20 23:10:31 ~20 min linux 📦 App
✔️ 5279a68 #10 2019-05-20 23:12:09 ~21 min android 📦 apk
✔️ 5279a68 #11 2019-05-20 23:13:20 ~23 min ios 📦 ipa
✔️ 8a8aef5 #11 2019-05-21 10:35:47 ~18 min linux 📦 App
8f6f549 #13 2019-05-21 10:37:12 ~14 min ios 📄 log
✔️ 8f6f549 #12 2019-05-21 10:55:20 ~32 min linux 📦 App
✔️ 8f6f549 #12 2019-05-21 10:55:24 ~33 min macos 📦 dmg
✔️ 8f6f549 #12 2019-05-21 10:55:39 ~33 min android-e2e 📦 apk
✔️ 8f6f549 #12 2019-05-21 10:57:45 ~35 min android 📦 apk
✔️ 8f6f549 #12 2019-05-21 11:14:57 ~52 min windows 📦 exe
✔️ 8f6f549 #14 2019-05-21 11:20:15 ~26 min ios 📦 ipa
✔️ 4b934a3 #13 2019-05-21 12:20:54 ~16 min android 📦 apk
✔️ 4b934a3 #13 2019-05-21 12:22:11 ~17 min macos 📦 dmg
✔️ 4b934a3 #13 2019-05-21 12:24:02 ~19 min android-e2e 📦 apk
✔️ 4b934a3 #13 2019-05-21 12:24:07 ~19 min windows 📦 exe
✔️ 4b934a3 #13 2019-05-21 12:24:53 ~20 min linux 📦 App
✔️ 4b934a3 #15 2019-05-21 12:28:57 ~24 min ios 📦 ipa
✔️ 1c5d279 #14 2019-05-21 15:00:00 ~17 min macos 📦 dmg
✔️ 1c5d279 #14 2019-05-21 15:03:25 ~21 min linux 📦 App
✔️ 1c5d279 #14 2019-05-21 15:05:55 ~23 min android 📦 apk
✔️ 1c5d279 #14 2019-05-21 15:06:11 ~23 min android-e2e 📦 apk
✔️ 1c5d279 #16 2019-05-21 15:06:16 ~23 min ios 📦 ipa
✔️ 1c5d279 #14 2019-05-21 15:06:47 ~24 min windows 📦 exe
✔️ d099249 #15 2019-05-21 17:27:50 ~17 min macos 📦 dmg
✔️ d099249 #15 2019-05-21 17:27:59 ~17 min android-e2e 📦 apk
✔️ d099249 #15 2019-05-21 17:29:39 ~18 min windows 📦 exe
✔️ d099249 #15 2019-05-21 17:31:19 ~20 min android 📦 apk
✔️ d099249 #15 2019-05-21 17:31:58 ~21 min linux 📦 App
✔️ d099249 #17 2019-05-21 17:33:39 ~22 min ios 📦 ipa
✔️ 4a268c8 #16 2019-05-22 07:57:48 ~16 min macos 📦 dmg
✔️ 4a268c8 #16 2019-05-22 07:58:38 ~17 min linux 📦 App
✔️ 4a268c8 #16 2019-05-22 07:58:40 ~17 min android 📦 apk
✔️ 4a268c8 #16 2019-05-22 07:59:03 ~17 min android-e2e 📦 apk
✔️ 4a268c8 #16 2019-05-22 07:59:33 ~18 min windows 📦 exe
✔️ fd81b83 #17 2019-05-22 08:15:12 ~17 min macos 📦 dmg
✔️ fd81b83 #17 2019-05-22 08:20:18 ~22 min android 📦 apk
✔️ fd81b83 #17 2019-05-22 08:20:30 ~22 min android-e2e 📦 apk
✔️ fd81b83 #17 2019-05-22 08:21:55 ~24 min linux 📦 App
✔️ fd81b83 #19 2019-05-22 08:22:11 ~24 min ios 📦 ipa
✔️ fd81b83 #17 2019-05-22 08:23:02 ~25 min windows 📦 exe
Commit #️⃣ Finished (UTC) Duration Platform Result
5cd7b0c #20 2019-05-23 08:42:05 ~5 min ios 📄 log
5cd7b0c #18 2019-05-23 08:42:52 ~6 min macos 📄 log
5cd7b0c #18 2019-05-23 08:43:38 ~7 min windows 📄 log
✔️ 4d5445da #19 2019-05-23 08:59:58 ~15 min linux 📦 App
✔️ 4d5445da #19 2019-05-23 09:03:56 ~19 min macos 📦 dmg
✔️ 4d5445da #19 2019-05-23 09:04:50 ~20 min windows 📦 exe
✔️ 4d5445da #21 2019-05-23 09:08:31 ~23 min ios 📦 ipa
✔️ 4d5445da #19 2019-05-23 09:08:42 ~24 min android 📦 apk
✔️ 4d5445da #19 2019-05-23 09:09:10 ~24 min android-e2e 📦 apk

@yenda yenda force-pushed the meta/wallet-transaction-history branch 3 times, most recently from cabc51c to c10b790 Compare May 17, 2019 18:29
@yenda yenda force-pushed the meta/wallet-transaction-history branch 2 times, most recently from 0bb2b84 to 60caa4c Compare May 20, 2019 15:07
@yenda yenda marked this pull request as ready for review May 20, 2019 16:43
@yenda yenda requested review from antdanchenko, churik, jakubgs and a team as code owners May 20, 2019 16:43
@status-im status-im deleted a comment from statustestbot May 20, 2019
@status-im status-im deleted a comment from statustestbot May 20, 2019
@yenda yenda force-pushed the meta/wallet-transaction-history branch from a395be0 to 5279a68 Compare May 20, 2019 22:50
@status-im status-im deleted a comment from statustestbot May 20, 2019
@statustestbot
Copy link

98% of end-end tests have passed

Total executed tests: 49
Failed tests: 1
Passed tests: 48

Failed tests (1)

Click to expand
1. test_request_and_receive_tokens_in_1_1_chat

Device 2: Wait for CreateAccountButton
Device 2: Wait for PasswordInput

Device 2: 'PassphraseInput' is not found on the screen

Device sessions

Passed tests (48)

Click to expand
1. test_block_user_from_public_chat
Device sessions

2. test_filters_from_daap
Device sessions

3. test_copy_and_paste_messages
Device sessions

4. test_send_transaction_from_daap
Device sessions

5. test_deploy_contract_from_daap
Device sessions

6. test_open_transaction_on_etherscan
Device sessions

7. test_public_chat_messaging
Device sessions

8. test_long_press_to_delete_1_1_chat
Device sessions

9. test_password_in_logcat_sign_in
Device sessions

10. test_text_message_1_1_chat
Device sessions

11. test_add_to_contacts
Device sessions

12. test_sign_typed_message (TestRail link is not found)
Device sessions

13. test_unread_messages_counter_1_1_chat
Device sessions

14. test_logcat_send_transaction_from_daap
Device sessions

15. test_send_message_in_group_chat
Device sessions

16. test_logcat_send_transaction_from_wallet
Device sessions

17. test_send_token_with_7_decimals
Device sessions

18. test_modify_transaction_fee_values
Device sessions

19. test_send_eth_from_wallet_to_address
Device sessions

20. test_manage_assets
Device sessions

21. test_logcat_send_transaction_in_1_1_chat
Device sessions

22. test_request_and_receive_eth_in_1_1_chat
Device sessions

23. test_long_press_to_delete_public_chat
Device sessions

24. test_send_emoji
Device sessions

25. test_search_chat_on_home
Device sessions

26. test_logcat_recovering_account
Device sessions

27. test_messaging_in_different_networks
Device sessions

28. test_send_tokens_in_1_1_chat
Device sessions

29. test_network_mismatch_for_send_request_commands
Device sessions

30. test_logcat_sign_message_from_daap
Device sessions

31. test_switch_users_and_add_new_account
Device sessions

32. test_send_stt_from_wallet
Device sessions

33. test_send_eth_in_1_1_chat
Device sessions

34. test_login_with_new_account
Device sessions

35. test_send_eth_from_wallet_to_contact
Device sessions

36. test_add_contact_from_public_chat
Device sessions

37. test_send_two_transactions_one_after_another_in_dapp
Device sessions

38. test_password_in_logcat_creating_account
Device sessions

39. test_backup_recovery_phrase
Device sessions

40. test_offline_status
Device sessions

41. test_open_google_com_via_open_dapp
Device sessions

42. test_unread_messages_counter_public_chat
Device sessions

43. test_sign_message_from_daap
Device sessions

44. test_user_can_remove_profile_picture
Device sessions

45. test_share_contact_code_and_wallet_address
Device sessions

46. test_request_eth_in_wallet
Device sessions

47. test_refresh_button_browsing_app_webview
Device sessions

48. test_backup_recovery_phrase_warning_from_wallet
Device sessions

@hesterbruikman
Copy link
Contributor

Great work! I had a quick look; these are some observations.

  • Very snappy transition from other tabs!
  • White background showing on pulldown of Wallet balance
  • 'Add custom token' can use some more love:
    a) Retains position on list scroll, but has no visual indication of this. Is this as specified? @errorists can you please take a look?
    b) If the behavior of Add custom token is that it adds all selected items, I think it needs a stronger conection to the Select boxes. Maybe same row as 'default' title as in one of the design proposals
    c) Back button doesn't do anything so get stuck on the Assets screen
  • In Transaction history, the date title overalps content on scroll. Ideally, current date remains on a white background at the top and updates on scroll. Like the behavior in dap.ps > View all > scroll

@errorists
Copy link
Contributor

@flexsurfer pls pls tag me for a PR review whenever you're doing UI work 🙏

  • The 'Add custom token' button should not have a sticky position, it's just a regular list item that scrolls with the rest of the list

  • When I tap 'Add custom token' I'm taken back to the root Wallet screen so 'back', can't really test further than that :(

@yenda
Copy link
Contributor Author

yenda commented May 22, 2019

what has changed:

  • before we there was a few default token that would show up even if you had 0 balance for it, this is gone
    what is still the same:
  • if you have a balance for a token, it will show up, if you remove it in asset list, it will disappear until the wallet is updated (but the wallet updates less in the PR, only when a new transaction arrives or when a block is missed, not when you pull, because that is not necessary anymore, pulling only refreshes prices)

@rachelhamlin
Copy link
Contributor

rachelhamlin commented May 22, 2019

what has changed:

  • before we there was a few default token that would show up even if you had 0 balance for it, this is gone
    what is still the same:
  • if you have a balance for a token, it will show up, if you remove it in asset list, it will disappear until the wallet is updated (but the wallet updates less in the PR, only when a new transaction arrives or when a block is missed, not when you pull, because that is not necessary anymore, pulling only refreshes prices)

Perfect. So wallet update = new tx received, missed block. Would not want to see tokens I had removed reappear in that case.

What about when I update Status though? Will it autodetect all tokens then?

@yenda
Copy link
Contributor Author

yenda commented May 22, 2019

Perfect. So wallet update = new tx received, missed block. Would not want to see tokens I closed reappear in that case.

can you file a bug for that describing the expected behavior? I will fix it in a next PR, this is already a bug in develop atm.

What about when I update Status though? Will it autodetect all tokens then?
it already does that afaik.

@rachelhamlin
Copy link
Contributor

@yenda done with #8254 - feel free to add more details. Thanks.

@statustestbot
Copy link

100% of end-end tests have passed

Total executed tests: 49
Failed tests: 0
Passed tests: 49

Passed tests (49)

Click to expand
1. test_block_user_from_public_chat
Device sessions

2. test_filters_from_daap
Device sessions

3. test_copy_and_paste_messages
Device sessions

4. test_send_transaction_from_daap
Device sessions

5. test_request_and_receive_tokens_in_1_1_chat
Device sessions

6. test_deploy_contract_from_daap
Device sessions

7. test_open_transaction_on_etherscan
Device sessions

8. test_public_chat_messaging
Device sessions

9. test_long_press_to_delete_1_1_chat
Device sessions

10. test_password_in_logcat_sign_in
Device sessions

11. test_text_message_1_1_chat
Device sessions

12. test_add_to_contacts
Device sessions

13. test_sign_typed_message (TestRail link is not found)
Device sessions

14. test_unread_messages_counter_1_1_chat
Device sessions

15. test_logcat_send_transaction_from_daap
Device sessions

16. test_send_message_in_group_chat
Device sessions

17. test_logcat_send_transaction_from_wallet
Device sessions

18. test_send_token_with_7_decimals
Device sessions

19. test_modify_transaction_fee_values
Device sessions

20. test_send_eth_from_wallet_to_address
Device sessions

21. test_manage_assets
Device sessions

22. test_logcat_send_transaction_in_1_1_chat
Device sessions

23. test_request_and_receive_eth_in_1_1_chat
Device sessions

24. test_long_press_to_delete_public_chat
Device sessions

25. test_send_emoji
Device sessions

26. test_search_chat_on_home
Device sessions

27. test_logcat_recovering_account
Device sessions

28. test_messaging_in_different_networks
Device sessions

29. test_send_tokens_in_1_1_chat
Device sessions

30. test_network_mismatch_for_send_request_commands
Device sessions

31. test_logcat_sign_message_from_daap
Device sessions

32. test_switch_users_and_add_new_account
Device sessions

33. test_send_stt_from_wallet
Device sessions

34. test_send_eth_in_1_1_chat
Device sessions

35. test_login_with_new_account
Device sessions

36. test_send_eth_from_wallet_to_contact
Device sessions

37. test_add_contact_from_public_chat
Device sessions

38. test_send_two_transactions_one_after_another_in_dapp
Device sessions

39. test_password_in_logcat_creating_account
Device sessions

40. test_backup_recovery_phrase
Device sessions

41. test_offline_status
Device sessions

42. test_open_google_com_via_open_dapp
Device sessions

43. test_unread_messages_counter_public_chat
Device sessions

44. test_sign_message_from_daap
Device sessions

45. test_user_can_remove_profile_picture
Device sessions

46. test_share_contact_code_and_wallet_address
Device sessions

47. test_request_eth_in_wallet
Device sessions

48. test_refresh_button_browsing_app_webview
Device sessions

49. test_backup_recovery_phrase_warning_from_wallet
Device sessions

@yenda yenda changed the title Meta/wallet transaction history DO NOT SQUASH Meta wallet transaction history May 22, 2019
@yenda
Copy link
Contributor Author

yenda commented May 22, 2019

@annadanchenko is it ok to merge now?

@annadanchenko
Copy link

@annadanchenko is it ok to merge now?

yes, thanks for waiting!

yenda added 4 commits May 23, 2019 10:30
- removes fetching of last 100000 blocks of token transfers from
the wallet pull loop
- fetches the last 100000 blocks of token transfers at startup
- replaces pulling by subscriptions to ethlogs for token transfers
- remove the transaction fetching loop entirely to rely only on subscription
for live transactions and token transfer updates
- fetch token transfers history via etherscan API to lift the 100000 blocks
limit on token transfers history

- inbound token transfers are catched via a filter on ethlogs
- outbound token transfers and other transactions are catched by filtering
transaction in current block that have the wallet address as to or from field
yenda added 3 commits May 23, 2019 10:44
`wallet-autoconfig-token` is a very expensive call on mainnet
because it checks the balance of every known token.

it is called:
- when wallet is refreshed by pulling
- when user goes on any wallet screen

this PR changes that by:
- calling it only when the wallet is initialized and there is no
visible-token configuration

it only calls update-wallet when a new transaction arrives
- introduce json-rpc namespace, which provides `call` and `eth-call`,
a generic way of calling a json-rpc method taking care of conversions
and error handling
- remove web3 usage from wallet
- clean up effects, reducing the amount of computations when login in
- use `json-rpc/eth-call` and `json-rpc/eth-transaction-call`
everywhere
- move all conversions to abi-spec
@yenda yenda force-pushed the meta/wallet-transaction-history branch from 5cd7b0c to 4d5445d Compare May 23, 2019 08:44
- temporary fix before visible assets are fixed
- the problem is that you can't hide an asset with the way it currently
works, it will come back every time as long as there is a balance for it

Signed-off-by: yenda <eric@status.im>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Use status-go subscriptions for wallet