Open alwx opened 3 weeks ago
:grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result |
---|---|---|---|---|---|---|
:heavy_check_mark: | e18cdfcf | #31 | 2024-11-25 07:26:43 | ~5 min | tests |
:page_facing_up:log |
:heavy_check_mark: | e18cdfcf | #31 | 2024-11-25 07:30:33 | ~8 min | android-e2e |
:robot:apk :calling: |
:heavy_check_mark: | e18cdfcf | #31 | 2024-11-25 07:30:47 | ~9 min | ios |
:iphone:ipa :calling: |
:heavy_check_mark: | e18cdfcf | #31 | 2024-11-25 07:31:03 | ~9 min | android |
:robot:apk :calling: |
:x: | 4fad7d09 | #32 | 2024-11-26 08:44:33 | ~2 min | tests |
:page_facing_up:log |
:heavy_check_mark: | 4fad7d09 | #32 | 2024-11-26 08:48:24 | ~6 min | android-e2e |
:robot:apk :calling: |
:heavy_check_mark: | 4fad7d09 | #32 | 2024-11-26 08:48:52 | ~7 min | android |
:robot:apk :calling: |
:heavy_check_mark: | 4fad7d09 | #32 | 2024-11-26 08:51:21 | ~9 min | ios |
:iphone:ipa :calling: |
This one is now ready to be reviewed.
@alwx UPDATE: your PR does not fix https://github.com/status-im/status-mobile/issues/21555. Most likely your branch was outdated when I checked, that's why I didn't reproduce. But I am reproducing now in the latest rebased build.
Issue should be fixed by https://github.com/status-im/status-go/pull/6059
@alwx - Can you help me update this PR to point to https://github.com/status-im/status-go/pull/6059 PR (fix/swap-bridge-sending
branch)?
It requires the new send flow https://github.com/status-im/status-mobile/pull/21600#issuecomment-2463186418
@alwx could you update go version in your PR https://github.com/status-im/status-mobile/pull/21541 so it uses latest go develop? Sale has merged this PR https://github.com/status-im/status-go/pull/6059 and we need to test in scope of your PR.
@pavloburykh done!
@status-im/wallet-mobile-devs I need some reviews for this
hi @saledjenic Issue with the inability to swap ERC-20 is still reproducible in the current PR after the Status Go update
"Price route not found error is shown"
Swap transaction is successful
Swap transactions have been fixed in the Status Go PR: https://github.com/status-im/status-go/pull/6059, which I’ve just verified in the following Desktop PR: https://github.com/status-im/status-desktop/pull/16745. It seems this issue is only occurring on the mobile side.
@saledjenic Additional info: this issue https://github.com/status-im/status-mobile/pull/21541#issuecomment-2467578946 happens for ETH assets as well. however on the last nightly ETH assets can be swapped
Bridge erc20 transactions are fixed! @alwx @saledjenic thank you!
hi @saledjenic Issue with the inability to swap ERC-20 is still reproducible in the current PR after the Status Go update
The bug might also be related to the issues within new end point implementation, so it is worth checking from @alwx side as well.
hi @alwx any updates on this PR?
@VolodLytvynenko will hopefully be done with it today. Will update you soon.
QA NOTE: @VolodLytvynenko once this PR is merged https://github.com/status-im/status-mobile/pull/21635 please rebase current PR in order to test swap. I only tested that paraswap contract is updated but was not able to test swap itself as it is broken in develop.
@pavloburykh done and ready to be tested
Total executed tests: 8
Failed tests: 0
Expected to fail tests: 1
Passed tests: 7
IDs of expected to fail tests: 702843
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_wallet_send_asset_from_drawer, id: 727230 |
2. test_wallet_send_eth, id: 727229 |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
2. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
Device sessions Device 1: |
1. test_wallet_add_remove_regular_account, id: 727231 |
2. test_wallet_balance_mainnet, id: 740490 |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
hi @alwx unfortunately additional issues are found
Unfortunately, this issue doesn't happen consistently, and there are no exact steps to reproduce it. Hopefully, the logs will help
https://github.com/user-attachments/assets/89a3f91e-f3a5-48c2-b781-150045fed60c
User is navigate to swap setup page where approving is in process is shown
https://github.com/user-attachments/assets/6cbbb5a8-64cd-4106-8952-dff30406ab3b
Refer to the design or to the last nightly:
"Error: context canceled" is displayed instead of proceeding with the approval process.
https://github.com/user-attachments/assets/ce8f5434-09e0-46d5-8970-6c716618e6a7
User is navigated to the approval signature page, regardless of the auto-refresh timing.
https://github.com/user-attachments/assets/a0e52c3f-a89a-4947-ac5b-4d78214ba429
@alwx Probably this issue is not even related to this PR. Unfortunately, I couldn't reproduce it on the Desktop. I posted logs in the desktop channel as well and unfortunately, this issue doesn't happen consistently, and there are no exact steps to reproduce it. Hopefully, the logs will help
The transaction failed. Current transactions are not shown in the blockchain
https://github.com/user-attachments/assets/b94d8ecf-4745-4fe4-bb73-e180336921fd
Transaction is successful
IOS, Android
I can't reproduce this issue on desktop. Seems this is only mobile related. Also, thanks to @anastasiyaig for pointing out the more interesting parts of the logs:
11-21 11:32:48.842 2822 2991 E ReactNativeJS: 2024-11-21T10:32:48.825Z ERROR [status-im.contexts.wallet.send.events:659] - failed to prepare signatures for transactions {:event :wallet/prepare-signatures-for-transactions,
11-21 11:32:48.842 2822 2991 E ReactNativeJS: :error
11-21 11:32:48.842 2822 2991 E ReactNativeJS: #error {:message "Failed to sign transaction hashes", :data {:error {:code -32000, :message "cannot locate account for address: 0xBCE36f66A8cd99f1D6489CB9585146e3f3b893be"}, :code :error/sign-transaction-hashes}}}
and
2024-11-21T10:33:17.565Z DEBUG RequestLogger call {"method": "callPrivateRPC", "params": "[{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"wallet_getSuggestedRoutesAsync\",\"params\":[{\"disabledFromChainIDs\":[1,10],\"sendType\":8,\"tokenID\":\"ETH\",\"disabledToChainIDs\":[1,10],\"amountIn\":\"0x5af3107a4000\",\"toTokenID\":\"1INCH\",\"gasFeeMode\":1,\"fromLockedAmount\":{},\"addrFrom\":\"0xbce36f66a8cd99f1d6489cb9585146e3f3b893be\",\"amountOut\":\"0x0\",\"uuid\":\"e6d61fd7-b86e-4d46-84f3-5051a7273c01\",\"addrTo\":\"0xbce36f66a8cd99f1d6489cb9585146e3f3b893be\"}]}]", "resp": "{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":null}", "duration": "1.06132ms"}
2024-11-21T10:33:17.566Z DEBUG RequestLogger call {"method": "addCentralizedMetric", "params": "[{\"metric\":{\"eventName\":\"swap-proposal-start\",\"platform\":\"android\",\"appVersion\":\"2.30.0 (20241120210247)\",\"eventValue\":{\"network\":42161,\"pay_token\":\"ETH\",\"receive_token\":\"1INCH\"}}}]", "resp": "d1bfa14f-b162-4f95-8c53-a12515db3e9e", "duration": "329.63µs"}
2024-11-21T10:33:17.602Z DEBUG RequestLogger call {"method": "hexToNumber", "params": "[9a4e116a46ff057]", "resp": "694927729886228567", "duration": "25.676µs"}
2024-11-21T10:33:20.452Z DEBUG RequestLogger call {"method": "addCentralizedMetric", "params": "[{\"metric\":{\"eventName\":\"swap-proposal-received\",\"platform\":\"android\",\"appVersion\":\"2.30.0 (20241120210247)\",\"eventValue\":{\"network\":42161,\"pay_token\":\"ETH\",\"receive_token\":\"1INCH\"}}}]", "resp": "99910275-d8ca-4750-b620-cc96377e7a2c", "duration": "564.331µs"}
2024-11-21T10:33:20.486Z DEBUG RequestLogger call {"method": "hexToNumber", "params": "[9a4e116a46ff057]", "resp": "694927729886228567", "duration": "32.389µs"}
{"method": "callPrivateRPC", "params": "[{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"wallet_getSuggestedRoutesAsync\",\"params\":[{\"disabledFromChainIDs\":[1,10],\"sendType\":8,\"tokenID\":\"ETH\",\"disabledToChainIDs\":[1,10],\"amountIn\":\"0x5af3107a4000\",\"toTokenID\":\"1INCH\",\"gasFeeMode\":1,\"fromLockedAmount\":{},\"addrFrom\":\"0xbce36f66a8cd99f1d6489cb9585146e3f3b893be\",\"amountOut\":\"0x0\",\"uuid\":\"e6d61fd7-b86e-4d46-84f3-5051a7273c01\",\"addrTo\":\"0xbce36f66a8cd99f1d6489cb9585146e3f3b893be\"}]}]", "resp": "{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":null}", "duration": "1.06132ms"}
issue https://github.com/status-im/status-mobile/pull/21541 is not fixed in the scope of the current PR. Fee estimation still does not match to desktop
hi @clauxx thank you for noticing this. Indeed the personal_sign signature is broken
https://github.com/user-attachments/assets/204ad49f-f2e4-4eef-aafd-24746ae2a94f
The "personal_sign" signature is processed successfully. The connection is established without errors.
IOS, Android
Fixed most of the issues on Friday, fixing the remaining ones right now.
Fixed most of the issues on Friday, fixing the remaining ones right now.
@alwx Thank you for the update! Could you let me know which specific issues have been fixed so I can verify them while the others are being fixed?
Total executed tests: 8
Failed tests: 3
Expected to fail tests: 1
Passed tests: 4
IDs of failed tests: 727230,727229,703133
IDs of expected to fail tests: 702843
1. test_wallet_send_asset_from_drawer, id: 727230 |
```
Test setup failed: critical/test_wallet.py:22: in prepare_devices
self.drivers, self.loop = create_shared_drivers(2)
base_test_case.py:310: in create_shared_drivers
drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name,
/usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
return future.result()
__init__.py:26: in start_threads
returns[k] = await returns[k]
/usr/lib/python3.10/concurrent/futures/thread.py:58: in run
result = self.fn(*self.args, **self.kwargs)
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__
super().__init__(
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__
self.start_session(capabilities)
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:346: in start_session
response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
self.error_handler.check_response(response)
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py:229: in check_response
raise exception_class(message, screen, stacktrace)
The test session has already finished, and can't receive further commands. For help please check https://docs.saucelabs.com/dev/error-messages
```
|
2. test_wallet_send_eth, id: 727229 |
```
Test setup failed: critical/test_wallet.py:22: in prepare_devices
self.drivers, self.loop = create_shared_drivers(2)
base_test_case.py:310: in create_shared_drivers
drivers = loop.run_until_complete(start_threads(test_suite_data.current_test.name,
/usr/lib/python3.10/asyncio/base_events.py:649: in run_until_complete
return future.result()
__init__.py:26: in start_threads
returns[k] = await returns[k]
/usr/lib/python3.10/concurrent/futures/thread.py:58: in run
result = self.fn(*self.args, **self.kwargs)
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:257: in __init__
super().__init__(
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:206: in __init__
self.start_session(capabilities)
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/appium/webdriver/webdriver.py:346: in start_session
response = self.execute(RemoteCommand.NEW_SESSION, w3c_caps)
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:345: in execute
self.error_handler.check_response(response)
../../../../status-app-prs@tmp/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py:229: in check_response
raise exception_class(message, screen, stacktrace)
The test session has already finished, and can't receive further commands. For help please check https://docs.saucelabs.com/dev/error-messages
```
|
1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
``` critical/chats/test_public_chat_browsing.py:240: in test_restore_multiaccount_with_waku_backup_remove_profile_switch self.errors.verify_no_errors() base_test_case.py:192: in verify_no_errors pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))])) zQ3...dWXh5 was not restored as a contact from waku backup! E zQ3...Vacac was not restored as a contact from waku backup! E admin_open was not restored from waku-backup!! E member_open was not restored from waku-backup!! E admin_closed was not restored from waku-backup!! E member_closed was not restored from waku-backup!! ``` Device sessions Device 1: |
1. test_community_message_edit, id: 702843 |
```
Test is not run, e2e blocker
```
[[reason: [NOTRUN] Skipped due to waku issue on staging fleet]] |
1. test_1_1_chat_non_latin_messages_stack_update_profile_photo, id: 702745 |
Device sessions Device 1: Device 2: |
1. test_wallet_add_remove_regular_account, id: 727231 |
2. test_wallet_balance_mainnet, id: 740490 |
1. test_community_copy_and_paste_message_in_chat_input, id: 702742 |
Device sessions Device 1: |
Total executed tests: 3
Failed tests: 2
Expected to fail tests: 0
Passed tests: 1
IDs of failed tests: 727230,703133
1. test_restore_multiaccount_with_waku_backup_remove_profile_switch, id: 703133 |
``` critical/chats/test_public_chat_browsing.py:240: in test_restore_multiaccount_with_waku_backup_remove_profile_switch self.errors.verify_no_errors() base_test_case.py:192: in verify_no_errors pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))])) zQ3...dWXh5 was not restored as a contact from waku backup! E zQ3...Vacac was not restored as a contact from waku backup! E admin_open was not restored from waku-backup!! E member_open was not restored from waku-backup!! E admin_closed was not restored from waku-backup!! E member_closed was not restored from waku-backup!! ``` Device sessions Device 1: |
1. test_wallet_send_asset_from_drawer, id: 727230 |
``` critical/test_wallet.py:189: in test_wallet_send_asset_from_drawer self.errors.verify_no_errors() base_test_case.py:192: in verify_no_errors pytest.fail('\n '.join([self.errors.pop(0) for _ in range(len(self.errors))])) Sender balance is not updated on Etherscan, it is 0.3568 but expected to be 0.3569 ``` |
Hey @alwx! @shivekkhurana asked to help with this PR, so I'm working on fixing the keycard flow as it seems broken on this branch. LMK if you are already on it
Fixes https://github.com/status-im/status-mobile/issues/21480 Fixes https://github.com/status-im/status-mobile/issues/21555
In scope of this PR we need to test go PR https://github.com/status-im/status-go/pull/6059 which should fix https://github.com/status-im/status-mobile/issues/21555 (QA Note: before testing make sure current PR is pointing to the latest go develop so includes this fix https://github.com/status-im/status-go/pull/6059 which has been already merged)
Basically utilizes the new transaction flow implemented on the go side:
wallet_CreateMultiTransaction
andwallet_ProceedWithTransactionsSignatures
are now deprecated and not used anymore.wallet.sign.transactions
signal is deprecated and not used either.The new transaction flow looks like this:
wallet_BuildTransactionsFromRoute
wallet.router.sign-transactions
signalwallet_SignMessage
call or sign on keycardwallet_SendRouterTransactionsWithSignatures
with the signatures of signed hashes from the previous stepwallet.router.transactions-sent
signal will be sent after sending transactions or an error occursPlatforms
Areas that maybe impacted
Functional