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

Wallet: crypto max decimals #18267

Merged
merged 15 commits into from
Jan 3, 2024
Merged

Wallet: crypto max decimals #18267

merged 15 commits into from
Jan 3, 2024

Conversation

OmarBasem
Copy link
Contributor

@OmarBasem OmarBasem commented Dec 21, 2023

fixes: #18244

This PR implements max possible decimals for crypto values.

Before:
Screenshot_20231221_125543_Status Debug

After:
Screenshot_20231221_125559_Status Debug

@status-im-auto
Copy link
Member

status-im-auto commented Dec 21, 2023

Jenkins Builds

Click to see older builds (30)
Commit #️⃣ Finished (UTC) Duration Platform Result
06656e1 #2 2023-12-21 09:08:54 ~2 min tests 📄log
✔️ 06656e1 #2 2023-12-21 09:13:46 ~7 min android 🤖apk 📲
✔️ 06656e1 #2 2023-12-21 09:14:57 ~8 min android-e2e 🤖apk 📲
51f23ff #3 2023-12-21 09:23:55 ~2 min tests 📄log
dc61e85 #4 2023-12-21 09:27:23 ~1 min tests 📄log
477ad54 #6 2023-12-21 09:32:35 ~2 min tests 📄log
✔️ 477ad54 #6 2023-12-21 09:37:15 ~6 min android-e2e 🤖apk 📲
✔️ 477ad54 #6 2023-12-21 09:37:34 ~7 min android 🤖apk 📲
✔️ 477ad54 #6 2023-12-21 09:42:15 ~11 min ios 📱ipa 📲
15e3538 #7 2023-12-21 10:13:45 ~2 min tests 📄log
✔️ 15e3538 #7 2023-12-21 10:18:06 ~6 min ios 📱ipa 📲
✔️ 15e3538 #7 2023-12-21 10:18:52 ~7 min android-e2e 🤖apk 📲
✔️ 15e3538 #7 2023-12-21 10:18:58 ~7 min android 🤖apk 📲
787b0af #8 2023-12-22 04:26:25 ~2 min tests 📄log
✔️ 787b0af #8 2023-12-22 04:31:00 ~6 min android 🤖apk 📲
✔️ 787b0af #8 2023-12-22 04:31:03 ~6 min android-e2e 🤖apk 📲
✔️ 787b0af #8 2023-12-22 04:36:54 ~12 min ios 📱ipa 📲
6cebcf5 #9 2023-12-27 09:42:03 ~1 min tests 📄log
✔️ 6cebcf5 #9 2023-12-27 09:45:34 ~5 min ios 📱ipa 📲
b5d646c #10 2023-12-27 09:48:27 ~2 min tests 📄log
✔️ b5d646c #10 2023-12-27 09:51:38 ~5 min ios 📱ipa 📲
✔️ b5d646c #10 2023-12-27 09:52:57 ~6 min android 🤖apk 📲
✔️ b5d646c #10 2023-12-27 09:53:18 ~6 min android-e2e 🤖apk 📲
✔️ ac0df08 #11 2023-12-28 07:12:21 ~7 min android-e2e 🤖apk 📲
✔️ ac0df08 #11 2023-12-28 07:12:21 ~7 min android 🤖apk 📲
✔️ ac0df08 #11 2023-12-28 07:17:46 ~12 min ios 📱ipa 📲
ac0df08 #11 2023-12-28 07:20:11 ~15 min tests 📄log
a7b0668 #12 2024-01-03 11:20:47 ~1 min tests 📄log
✔️ a7b0668 #12 2024-01-03 11:24:16 ~5 min ios 📱ipa 📲
✔️ a7b0668 #12 2024-01-03 11:26:12 ~7 min android 🤖apk 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
e7346b6 #13 2024-01-03 11:28:26 ~2 min tests 📄log
✔️ e7346b6 #13 2024-01-03 11:31:36 ~5 min ios 📱ipa 📲
✔️ 1f36e11 #15 2024-01-03 11:41:20 ~4 min tests 📄log
✔️ 1f36e11 #15 2024-01-03 11:42:12 ~5 min ios 📱ipa 📲
✔️ 1f36e11 #15 2024-01-03 11:44:21 ~7 min android-e2e 🤖apk 📲
✔️ 1f36e11 #15 2024-01-03 11:44:28 ~7 min android 🤖apk 📲

@@ -0,0 +1,18 @@
(ns status-im.contexts.wallet.common.utils-test
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙌 awesome!

@status-im-auto
Copy link
Member

75% of end-end tests have passed

Total executed tests: 48
Failed tests: 6
Expected to fail tests: 6
Passed tests: 36
Not executed tests: 1
IDs of not executed tests: 704614 
IDs of failed tests: 702777,703133,702851,703086,704615,703629 
IDs of expected to fail tests: 702732,702894,702783,703503,702731,702808 

Not executed tests (1)

Click to expand
  • Rerun not executed tests
  • Failed tests (6)

    Click to expand
  • Rerun failed tests

  • Class TestCommunityOneDeviceMerged:

    1. test_restore_multiaccount_with_waku_backup_remove_switch, id: 703133

    Device 1: Logging out
    Device 1: Scrolling down to LogoutButton

    critical/chats/test_public_chat_browsing.py:192: in test_restore_multiaccount_with_waku_backup_remove_switch
        profile.logout()
    ../views/profile_view.py:479: in logout
        self.logout_dialog.logout_button.click()
    ../views/base_element.py:443: in click
        self.find_element().click()
    ../views/base_element.py:435: in find_element
        raise NoSuchElementException(
     Device 1: `LogoutButton` by `xpath`:`//*[@text="Log out" or @text="LOG OUT"]` not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_add_contact_field_validation, id: 702777

    Device 2: Logging out
    Device 2: Scrolling down to LogoutButton

    activity_center/test_activity_center.py:145: in test_add_contact_field_validation
        self.profile_2.logout()
    ../views/profile_view.py:479: in logout
        self.logout_dialog.logout_button.click()
    ../views/base_element.py:443: in click
        self.find_element().click()
    ../views/base_element.py:435: in find_element
        raise NoSuchElementException(
     Device 2: `LogoutButton` by `xpath`:`//*[@text="Log out" or @text="LOG OUT"]` not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Device sessions

    2. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851

    Device 2: Logging out
    Device 2: Scrolling down to LogoutButton

    activity_center/test_activity_center.py:93: in test_activity_center_contact_request_accept_swipe_mark_all_as_read
        self.profile_2.logout()
    ../views/profile_view.py:479: in logout
        self.logout_dialog.logout_button.click()
    ../views/base_element.py:443: in click
        self.find_element().click()
    ../views/base_element.py:435: in find_element
        raise NoSuchElementException(
     Device 2: `LogoutButton` by `xpath`:`//*[@text="Log out" or @text="LOG OUT"]` not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception
    



    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_mark_all_messages_as_read, id: 703086

    Device 1: Looking for chat: 'general'
    Device 1: Click system back button

    critical/chats/test_public_chat_browsing.py:755: in test_community_mark_all_messages_as_read
        community_1_element.long_press_until_element_is_shown(mark_as_read_button)
    ../views/base_element.py:318: in long_press_until_element_is_shown
        element = self.find_element()
    ../views/home_view.py:74: in find_element
        self.wait_for_visibility_of_element(20)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: ChatElement by xpath:`//*[@content-desc='chat-name-text'][starts-with(@text,'open community')]/..` is not found on the screen after wait_for_visibility_of_element; also Unexpected Alert is shown: 'Feature not implemented.'
    



    Device sessions

    2. test_community_edit_delete_message_when_offline, id: 704615

    Device 1: Could not reach home view by pressing system back button
    Device 1: Find CommunitiesTab by accessibility id: communities-stack-tab

    critical/chats/test_public_chat_browsing.py:773: in test_community_edit_delete_message_when_offline
        self.home_1.communities_tab.click()
    ../views/base_element.py:90: in click
        self.find_element().click()
    ../views/base_element.py:79: in find_element
        raise NoSuchElementException(
     Device 1: CommunitiesTab by accessibility id: `communities-stack-tab` is not found on the screen; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception; also Unexpected Alert is shown: 'Feature not implemented.'
    



    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_join_when_node_owner_offline, id: 703629

    Device 2: Looking for community: 'open community'
    Device 2: Click until Text by accessibility id: community-description-text will be presented

    critical/chats/test_public_chat_browsing.py:1136: in test_community_join_when_node_owner_offline
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Text "You joined “closed community”" in shown toast element doesn't match expected "You joined “open community”"
    



    Device sessions

    Expected to fail tests (6)

    Click to expand

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_is_shown_message_sent_delivered_from_offline, id: 702783

    Device 2: Find Text by xpath: //*[starts-with(@text,'test message')]/ancestor::android.view.ViewGroup[@content-desc='chat-item']//*[@content-desc='message-status']/android.widget.TextView
    Device 2: Text is Sent

    critical/chats/test_1_1_public_chats.py:612: in test_1_1_chat_is_shown_message_sent_delivered_from_offline
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Message status was not changed to Delivered, it's Sent after back up online! 
    

    [[Data delivery issue]]

    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_pin_messages, id: 702732

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    2. test_group_chat_offline_pn, id: 702808

    Device 3: Looking for a message by text: message from old member
    Device 3: Looking for a message by text: message from new member

    critical/chats/test_group_chat.py:324: in test_group_chat_offline_pn
        self.errors.verify_no_errors()
    base_test_case.py:191: in verify_no_errors
        pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))]))
     Messages PN was not fetched from offline 
    

    [[Data delivery issue]]

    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_discovery, id: 703503

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Curated communities not loading, https://github.com//issues/17852]]

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_pin_messages, id: 702731

    Test is not run, e2e blocker  
    

    [[reason: [NOTRUN] Pin feature is in development]]

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_contact_block_unblock_offline, id: 702894

    Device 1: Find ProfileButton by accessibility id: open-profile
    Device 1: Wait for element Button for max 30s and click when it is available

    critical/chats/test_public_chat_browsing.py:687: in test_community_contact_block_unblock_offline
        profile_1.contacts_button.wait_and_click()
    ../views/base_element.py:96: in wait_and_click
        self.wait_for_visibility_of_element(sec)
    ../views/base_element.py:139: in wait_for_visibility_of_element
        raise TimeoutException(
     Device 1: Button by accessibility id:`contacts-button` is not found on the screen after wait_for_visibility_of_element 
    

    [[Message can be missed after unblock: https://github.com//issues/16873]]

    Device sessions

    Passed tests (36)

    Click to expand

    Class TestActivityMultipleDevicePR:

    1. test_navigation_jump_to, id: 702936
    Device sessions

    2. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_mentions, id: 702957
    Device sessions

    2. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUiTwo:

    1. test_1_1_chat_delete_via_long_press_relogin, id: 702784
    Device sessions

    2. test_1_1_chat_mute_chat, id: 703496
    Device sessions

    Class TestDeepLinksOneDevice:

    1. test_links_open_universal_links_from_chat, id: 704613
    Device sessions

    2. test_links_deep_links, id: 702775
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_mute_chat, id: 703495
    Device sessions

    2. test_group_chat_send_image_save_and_share, id: 703297
    Device sessions

    3. test_group_chat_reactions, id: 703202
    Device sessions

    4. test_group_chat_join_send_text_messages_push, id: 702807
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    Class TestCommunityOneDeviceMerged:

    1. test_community_copy_and_paste_message_in_chat_input, id: 702742
    Device sessions

    2. test_community_undo_delete_message, id: 702869
    Device sessions

    3. test_community_navigate_to_channel_when_relaunch, id: 702846
    Device sessions

    4. test_community_mute_community_and_channel, id: 703382
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    2. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    3. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    4. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    5. test_1_1_chat_edit_message, id: 702855
    Device sessions

    6. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    7. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    Class TestCommunityMultipleDeviceMergedTwo:

    1. test_community_markdown_support, id: 702809
    Device sessions

    2. test_community_hashtag_links_to_community_channels, id: 702948
    Device sessions

    3. test_community_mentions_push_notification, id: 702786
    Device sessions

    4. test_community_leave, id: 702845
    Device sessions

    Class TestCommunityMultipleDeviceMerged:

    1. test_community_several_images_send_reply, id: 703194
    Device sessions

    2. test_community_one_image_send_reply, id: 702859
    Device sessions

    3. test_community_emoji_send_copy_paste_reply, id: 702840
    Device sessions

    4. test_community_message_delete, id: 702839
    Device sessions

    5. test_community_message_send_check_timestamps_sender_username, id: 702838
    Device sessions

    6. test_community_links_with_previews_github_youtube_twitter_gif_send_enable, id: 702844
    Device sessions

    7. test_community_message_edit, id: 702843
    Device sessions

    8. test_community_unread_messages_badge, id: 702841
    Device sessions

    @@ -36,6 +36,31 @@
    (map (comp :raw-balance val))
    (reduce money/add)))

    (defn extract-exponent
    [s]
    (if-let [index (string/index-of s "e")]
    Copy link
    Contributor

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    nit:
    "e" is related to euler's number? maybe we put it in a def
    e.g (def eulers-number "e")

    Copy link
    Contributor Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    @J-Son89 "e" is exponent in a number, i.e, 0.1234774e-7. We are extracting the number after the exponent.

    @qoqobolo
    Copy link
    Contributor

    Hi @OmarBasem, thanks for the PR!

    Could you take a look and confirm that decimals are displayed correctly for tokens when the token dollar amount is zero?

    PR

    video_2023-12-22_17-05-53.mp4

    Develop

    Screenshot 2023-12-22 at 17 15 07

    @status-im-auto
    Copy link
    Member

    100% of end-end tests have passed

    Total executed tests: 14
    Failed tests: 0
    Expected to fail tests: 0
    Passed tests: 14
    

    Passed tests (14)

    Click to expand

    Class TestActivityMultipleDevicePRTwo:

    1. test_activity_center_admin_notification_accept_swipe, id: 702958
    Device sessions

    2. test_activity_center_mentions, id: 702957
    Device sessions

    Class TestActivityMultipleDevicePR:

    1. test_activity_center_reply_read_unread_delete_filter_swipe, id: 702947
    Device sessions

    Class TestGroupChatMultipleDeviceMergedNewUI:

    1. test_group_chat_reactions, id: 703202
    Device sessions

    Class TestActivityCenterContactRequestMultipleDevicePR:

    1. test_activity_center_contact_request_accept_swipe_mark_all_as_read, id: 702851
    Device sessions

    2. test_activity_center_contact_request_decline, id: 702850
    Device sessions

    3. test_add_contact_field_validation, id: 702777
    Device sessions

    Class TestOneToOneChatMultipleSharedDevicesNewUi:

    1. test_1_1_chat_edit_message, id: 702855
    Device sessions

    2. test_1_1_chat_message_reaction, id: 702730
    Device sessions

    3. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745
    Device sessions

    4. test_1_1_chat_text_message_delete_push_disappear, id: 702733
    Device sessions

    5. test_1_1_chat_push_emoji, id: 702813
    Device sessions

    6. test_1_1_chat_emoji_send_reply_and_open_link, id: 702782
    Device sessions

    7. test_1_1_chat_send_image_save_and_share, id: 703391
    Device sessions

    @qoqobolo
    Copy link
    Contributor

    qoqobolo commented Jan 3, 2024

    Thanks for the fixes and waiting @OmarBasem !
    PR is ready to be merged.

    @status-im-auto
    Copy link
    Member

    ✔️ status-mobile/prs/android/PR-18267#12 🔹 ~7 min 26 sec 🔹 a7b0668 🔹 📦 android package

    @status-im-auto
    Copy link
    Member

    ✔️ status-mobile/prs/android/PR-18267#13 🔹 ~7 min 10 sec 🔹 e7346b6 🔹 📦 android package

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Archived in project
    Archived in project
    Development

    Successfully merging this pull request may close these issues.

    Wallet: Crypto Maximum number of decimal places
    7 participants