Open andreibancioiu opened 6 months ago
I also got this error right after I signed on the device
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/cli.py", line 122, in <module>
ret = main(sys.argv[1:])
^^^^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/cli.py", line 29, in main
_do_main(cli_args)
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/cli.py", line 56, in _do_main
args.func(args)
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/cli_contracts.py", line 377, in upgrade
tx = contract.prepare_upgrade_transaction(sender, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/contracts.py", line 148, in prepare_upgrade_transaction
tx.signature = bytes.fromhex(owner.sign_transaction(tx))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/accounts.py", line 103, in sign_transaction
signature = do_sign_transaction_with_ledger(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/ledger/ledger_functions.py", line 21, in do_sign_transaction_with_ledger
signature = ledger_handler.sign_transaction(tx_payload, sign_using_hash)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/ledger/ledger_app_handler.py", line 79, in sign_transaction
return self._do_sign(tx_bytes, ins_signing_method)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/ledger/ledger_app_handler.py", line 115, in _do_sign
return self.get_signature_from_apdus(apdus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/multiversx_sdk_cli/ledger/ledger_app_handler.py", line 127, in get_signature_from_apdus
sw, response = self.transport.recv()
^^^^^^^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/ledgercomm/transport.py", line 188, in recv
return self.com.recv()
^^^^^^^^^^^^^^^
File "/Users/truststaking/multiversx-sdk/mxpy-venv/lib/python3.11/site-packages/ledgercomm/interfaces/hid_device.py", line 142, in recv
assert data_chunk[3:5] == seq_idx.to_bytes(2, byteorder="big")```
@mihaieremia, thank you for the provided details :pray:
PyPi package does not yet contain v1.2.1
(a patch related to newer versions of MacOS), as of January 2024.
Temporary workaround:
. "/home/andrei/multiversx-sdk/mxpy-venv/bin/activate"
pip3 install git+https://github.com/LedgerHQ/ledgercomm@v1.2.1
Then, do a quick check:
mxpy --verbose ledger version
The output should include something like:
DEBUG ledgercomm: hid.enumerate(), devices: [...]
This means that ledgercomm[hid] v1.2.1
is installed correctly.
Related to:
Reinstalling mxpy (which reinstalls ledgercomm[hid]
) should fix the issue :pray:
Signing works upon a few retries.