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

implement signTypedData_V4 for Keycard and handle chainID whether it is a string or a number #12109

Merged
merged 1 commit into from
May 12, 2021

Conversation

bitgamma
Copy link
Member

@bitgamma bitgamma commented May 12, 2021

Fixes #12097.

However because of MetaMask/eth-sig-util#106 the recoverTypedSignature_v4 from eth-sig-util can return a wrong address from the signature generated by our signTypedData_V4 (if the data uses arrays/structs).

@status-im-auto
Copy link
Member

status-im-auto commented May 12, 2021

Jenkins Builds

Click to see older builds (3)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 82ff11a #1 2021-05-12 08:30:31 ~14 min android-e2e 📦apk 📲
✔️ 82ff11a #1 2021-05-12 08:30:38 ~14 min android 📦apk 📲
✔️ 82ff11a #1 2021-05-12 08:33:32 ~17 min ios 📦ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ cc30e8d #2 2021-05-12 09:59:10 ~17 min ios 📦ipa 📲
✔️ cc30e8d #2 2021-05-12 09:59:34 ~17 min android 📦apk 📲
✔️ cc30e8d #2 2021-05-12 09:59:46 ~17 min android-e2e 📦apk 📲
✔️ 24fe9b7 #3 2021-05-12 10:38:18 ~13 min ios 📦ipa 📲
✔️ 24fe9b7 #3 2021-05-12 10:38:45 ~13 min android-e2e 📦apk 📲
✔️ 24fe9b7 #3 2021-05-12 10:38:50 ~14 min android 📦apk 📲

@status-im-auto
Copy link
Member

100% of end-end tests have passed

Total executed tests: 80
Failed tests: 0
Passed tests: 80

Passed tests (80)

Click to expand

1. test_image_in_one_to_one_send_save_reply_timeline, id: 6305
Device sessions

2. test_add_account_to_multiaccount_instance_generate_new, id: 6224
Device sessions

3. test_send_eth_from_wallet_to_address, id: 5308
Device sessions

4. test_onboarding_screen_when_requesting_tokens_for_recovered_account, id: 5677
Device sessions

5. test_keycard_can_see_all_transactions_in_history, id: 6291
Device sessions

6. test_add_and_delete_watch_only_account_to_multiaccount_instance, id: 6244
Device sessions

7. test_open_blocked_secure_not_secure_inlalid_offline_urls, id: 6210
Device sessions

8. test_open_public_chat_using_deep_link, id: 5396
Device sessions

9. test_offline_add_new_group_chat_member, id: 3998
Device sessions

10. test_send_non_english_message_to_newly_added_contact_on_different_networks, id: 5315
Device sessions

11. test_can_see_balance_and_all_transactions_history_on_cellular, id: 5314
Device sessions

12. test_keycard_create_login_resotore_unlock_same_seed, id: 5689
Device sessions

13. test_insufficient_funds_wallet_positive_balance, id: 5412
Device sessions

14. test_delete_close_all_tabs, id: 5390
Device sessions

15. test_send_token_with_7_decimals, id: 5350
Device sessions

16. test_delete_chats_via_delete_button_rejoin, id: 5387
Device sessions

17. test_send_transaction_set_recipient_options, id: 6328
Device sessions

18. test_recover_account_from_new_user_seedphrase, id: 6296
Device sessions

19. test_keycard_can_recover_keycard_account_card_pairing, id: 5758
Device sessions

20. test_block_user_from_public_chat, id: 5786
Device sessions

21. test_send_audio_message_with_push_notification_check, id: 6316
Device sessions

22. test_restore_account_migrate_multiaccount_to_keycard, id: 6645
Device sessions

23. test_ens_mentions_pn_and_nickname_in_public_and_1_1_chats, id: 6226
Device sessions

24. test_keycard_send_eth_from_wallet_to_address, id: 6289
Device sessions

25. test_request_public_key_status_test_daap, id: 5397
Device sessions

26. test_sign_message_from_daap, id: 5342
Device sessions

27. test_add_account_to_wallet_private_key_and_seed_phrase, id: 6272
Device sessions

28. test_back_forward_refresh_navigation_history_kept_after_relogin (TestRail link is not found)
Device sessions

29. test_offline_is_shown_messaging_1_1_chat_sent_delivered, id: 5310
Device sessions

30. test_redirect_to_public_chat_tapping_tag_message, id: 5675
Device sessions

31. test_keycard_send_two_transactions_one_after_another_in_dapp, id: 6288
Device sessions

32. test_pair_devices_sync_one_to_one_contacts_nicknames_public_chat, id: 5762
Device sessions

33. test_long_press_to_delete_chat, id: 5319
Device sessions

34. test_copy_and_paste_messages, id: 5317
Device sessions

35. test_open_transaction_on_etherscan_copy_tx_hash, id: 5384
Device sessions

36. test_unread_messages_counter_public_chat, id: 5360
Device sessions

37. test_user_can_see_all_own_assets_after_account_recovering, id: 5381
Device sessions

38. test_transaction_wrong_password_wallet, id: 5408
Device sessions

39. test_mobile_data_usage_complex_settings, id: 6228
Device sessions

40. test_start_chat_with_ens_mention_in_one_to_one, id: 5403
Device sessions

41. test_send_two_transactions_one_after_another_in_dapp, id: 5744
Device sessions

42. test_decline_transactions_in_1_1_chat_push_notification_changing_state, id: 6265
Device sessions

43. test_send_eth_in_1_1_chat_transaction_push, id: 6253
Device sessions

44. test_fetch_more_history_in_empty_chat, id: 6205
Device sessions

45. test_install_pack_and_send_sticker, id: 5782
Device sessions

46. test_keycard_send_two_transactions_in_batch_in_dapp, id: 6287
Device sessions

47. test_switch_users_special_char_password_and_add_new_account_logcat, id: 5356
Device sessions

48. test_keycard_sign_message_from_daap, id: 6251
Device sessions

49. test_manage_assets, id: 5341
Device sessions

50. test_send_two_transactions_in_batch_in_dapp, id: 5743
Device sessions

51. test_browser_managing_bookmarks, id: 6633
Device sessions

52. test_open_chat_by_pasting_chat_key_check_invalid_chat_key_cases, id: 5304
Device sessions

53. test_request_stt_from_daap, id: 5309
Device sessions

54. test_send_emoji, id: 5328
Device sessions

55. test_can_use_purchased_stickers_on_recovered_account, id: 5783
Device sessions

56. test_dapps_permissions, id: 5738
Device sessions

57. test_account_recovery_with_uppercase_whitespaces_seed_phrase_special_char_passw_logcat, id: 5394
Device sessions

58. test_send_eth_to_ens_in_chat, id: 6279
Device sessions

59. test_create_new_group_chat_messaging_pn_delived, id: 3994
Device sessions

60. test_share_copy_contact_code_and_wallet_address, id: 5323
Device sessions

61. test_wallet_set_up, id: 5335
Device sessions

62. test_send_transaction_with_custom_token, id: 6208
Device sessions

63. test_home_view, id: 5379
Device sessions

64. test_can_add_existing_ens, id: 5502
Device sessions

65. test_logcat_backup_recovery_phrase, id: 5419
Device sessions

66. test_request_and_receive_stt_in_1_1_chat_offline, id: 6263
Device sessions

67. test_set_profile_picture, id: 6646
Device sessions

68. test_collectible_from_wallet, id: 5346
Device sessions

69. test_public_chat_messaging, id: 5313
Device sessions

70. test_add_and_remove_mention_contact_with_nickname_from_public_chat, id: 5332
Device sessions

71. test_keycard_request_stt_from_daap, id: 6249
Device sessions

72. test_restore_account_from_mnemonic_to_keycard, id: 6240
Device sessions

73. test_pass_phrase_validation, id: 5363
Device sessions

74. test_keycard_send_eth_in_1_1_chat, id: 6293
Device sessions

75. test_send_and_open_links_with_previews, id: 5373
Device sessions

76. test_reactions_to_message_in_chats, id: 6315
Device sessions

77. test_filters_from_daap, id: 5353
Device sessions

78. test_fetching_balance_after_offline, id: 6237
Device sessions

79. test_push_notification_1_1_chat_no_pn_activity_center, id: 6283
Device sessions

80. test_keycard_fetching_balance_after_offline, id: 6290
Device sessions

@bitgamma bitgamma changed the title [WIP] accept either JSON number and string as chainID implement signTypedData_V4 for Keycard and handle chainID whether it is a string or a number May 12, 2021
@bitgamma bitgamma requested a review from cammellos May 12, 2021 10:00
@bitgamma bitgamma self-assigned this May 12, 2021
@bitgamma bitgamma merged commit 8cb0ad9 into develop May 12, 2021
@bitgamma bitgamma deleted the fix/12097 branch May 12, 2021 10:48
@status-im-auto
Copy link
Member

100% of end-end tests have passed

Total executed tests: 80
Failed tests: 0
Passed tests: 80

Passed tests (80)

Click to expand

1. test_image_in_one_to_one_send_save_reply_timeline, id: 6305
Device sessions

2. test_add_account_to_multiaccount_instance_generate_new, id: 6224
Device sessions

3. test_send_eth_from_wallet_to_address, id: 5308
Device sessions

4. test_onboarding_screen_when_requesting_tokens_for_recovered_account, id: 5677
Device sessions

5. test_keycard_can_see_all_transactions_in_history, id: 6291
Device sessions

6. test_add_and_delete_watch_only_account_to_multiaccount_instance, id: 6244
Device sessions

7. test_open_blocked_secure_not_secure_inlalid_offline_urls, id: 6210
Device sessions

8. test_open_public_chat_using_deep_link, id: 5396
Device sessions

9. test_offline_add_new_group_chat_member, id: 3998
Device sessions

10. test_send_non_english_message_to_newly_added_contact_on_different_networks, id: 5315
Device sessions

11. test_can_see_balance_and_all_transactions_history_on_cellular, id: 5314
Device sessions

12. test_keycard_create_login_resotore_unlock_same_seed, id: 5689
Device sessions

13. test_insufficient_funds_wallet_positive_balance, id: 5412
Device sessions

14. test_delete_close_all_tabs, id: 5390
Device sessions

15. test_send_token_with_7_decimals, id: 5350
Device sessions

16. test_delete_chats_via_delete_button_rejoin, id: 5387
Device sessions

17. test_send_transaction_set_recipient_options, id: 6328
Device sessions

18. test_recover_account_from_new_user_seedphrase, id: 6296
Device sessions

19. test_keycard_can_recover_keycard_account_card_pairing, id: 5758
Device sessions

20. test_block_user_from_public_chat, id: 5786
Device sessions

21. test_send_audio_message_with_push_notification_check, id: 6316
Device sessions

22. test_restore_account_migrate_multiaccount_to_keycard, id: 6645
Device sessions

23. test_ens_mentions_pn_and_nickname_in_public_and_1_1_chats, id: 6226
Device sessions

24. test_keycard_send_eth_from_wallet_to_address, id: 6289
Device sessions

25. test_request_public_key_status_test_daap, id: 5397
Device sessions

26. test_sign_message_from_daap, id: 5342
Device sessions

27. test_add_account_to_wallet_private_key_and_seed_phrase, id: 6272
Device sessions

28. test_back_forward_refresh_navigation_history_kept_after_relogin (TestRail link is not found)
Device sessions

29. test_offline_is_shown_messaging_1_1_chat_sent_delivered, id: 5310
Device sessions

30. test_redirect_to_public_chat_tapping_tag_message, id: 5675
Device sessions

31. test_keycard_send_two_transactions_one_after_another_in_dapp, id: 6288
Device sessions

32. test_pair_devices_sync_one_to_one_contacts_nicknames_public_chat, id: 5762
Device sessions

33. test_long_press_to_delete_chat, id: 5319
Device sessions

34. test_copy_and_paste_messages, id: 5317
Device sessions

35. test_open_transaction_on_etherscan_copy_tx_hash, id: 5384
Device sessions

36. test_unread_messages_counter_public_chat, id: 5360
Device sessions

37. test_user_can_see_all_own_assets_after_account_recovering, id: 5381
Device sessions

38. test_transaction_wrong_password_wallet, id: 5408
Device sessions

39. test_mobile_data_usage_complex_settings, id: 6228
Device sessions

40. test_start_chat_with_ens_mention_in_one_to_one, id: 5403
Device sessions

41. test_send_two_transactions_one_after_another_in_dapp, id: 5744
Device sessions

42. test_decline_transactions_in_1_1_chat_push_notification_changing_state, id: 6265
Device sessions

43. test_send_eth_in_1_1_chat_transaction_push, id: 6253
Device sessions

44. test_fetch_more_history_in_empty_chat, id: 6205
Device sessions

45. test_install_pack_and_send_sticker, id: 5782
Device sessions

46. test_keycard_send_two_transactions_in_batch_in_dapp, id: 6287
Device sessions

47. test_switch_users_special_char_password_and_add_new_account_logcat, id: 5356
Device sessions

48. test_keycard_sign_message_from_daap, id: 6251
Device sessions

49. test_manage_assets, id: 5341
Device sessions

50. test_send_two_transactions_in_batch_in_dapp, id: 5743
Device sessions

51. test_browser_managing_bookmarks, id: 6633
Device sessions

52. test_open_chat_by_pasting_chat_key_check_invalid_chat_key_cases, id: 5304
Device sessions

53. test_request_stt_from_daap, id: 5309
Device sessions

54. test_send_emoji, id: 5328
Device sessions

55. test_can_use_purchased_stickers_on_recovered_account, id: 5783
Device sessions

56. test_dapps_permissions, id: 5738
Device sessions

57. test_account_recovery_with_uppercase_whitespaces_seed_phrase_special_char_passw_logcat, id: 5394
Device sessions

58. test_send_eth_to_ens_in_chat, id: 6279
Device sessions

59. test_create_new_group_chat_messaging_pn_delived, id: 3994
Device sessions

60. test_share_copy_contact_code_and_wallet_address, id: 5323
Device sessions

61. test_wallet_set_up, id: 5335
Device sessions

62. test_send_transaction_with_custom_token, id: 6208
Device sessions

63. test_home_view, id: 5379
Device sessions

64. test_can_add_existing_ens, id: 5502
Device sessions

65. test_logcat_backup_recovery_phrase, id: 5419
Device sessions

66. test_request_and_receive_stt_in_1_1_chat_offline, id: 6263
Device sessions

67. test_set_profile_picture, id: 6646
Device sessions

68. test_collectible_from_wallet, id: 5346
Device sessions

69. test_public_chat_messaging, id: 5313
Device sessions

70. test_add_and_remove_mention_contact_with_nickname_from_public_chat, id: 5332
Device sessions

71. test_keycard_request_stt_from_daap, id: 6249
Device sessions

72. test_restore_account_from_mnemonic_to_keycard, id: 6240
Device sessions

73. test_pass_phrase_validation, id: 5363
Device sessions

74. test_keycard_send_eth_in_1_1_chat, id: 6293
Device sessions

75. test_send_and_open_links_with_previews, id: 5373
Device sessions

76. test_reactions_to_message_in_chats, id: 6315
Device sessions

77. test_filters_from_daap, id: 5353
Device sessions

78. test_fetching_balance_after_offline, id: 6237
Device sessions

79. test_push_notification_1_1_chat_no_pn_activity_center, id: 6283
Device sessions

80. test_keycard_fetching_balance_after_offline, id: 6290
Device sessions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.

eth_signTypedData_v4 signature never completes
3 participants