Coder Social home page Coder Social logo

app-kaspa's People

Contributors

cedelavergne-ledger avatar coderofstuff avatar sgliner-ledger avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

app-kaspa's Issues

Add back Stax support

Stax stopped working after API level has updated to 8.

Figure out how to make it work again in the github actions.

Merkle inputs

With a limited amount of memory in a ledger device, we cannot have more than some small number of inputs. In testing, a Nano S will only allow us to have 14 UTXOS in a transaction.

To support more UTXOs (an arbitrary number, so we're only limited by mass limit), use Merkle Trees.

Reference: https://www.youtube.com/watch?v=n6nEPaE7KZ8

Change in sign_tx APDU:

  1. First APDU will receive the version, output length, input length and merkle root
  2. For {0...input_length}: ask the client to give provide the input along with the merkle proof. Verify the merkle proof to legitimize the input.
  3. Request approval from user to continue with signing
  4. After all inputs are verified this way, For {0..input_length}: ask the client to give provide the input along with the merkle proof. This time, sign them then ask for the next input.

Transaction Signing

Implement the command SIGN_TX

Instruction code: 0x06

Inputs: 14 for Nano S, 128 for Nano SP and Nano X

Outputs: Signature, one input at a time, send in the same order as the inputs

Exception : Invalid status

~/scripts/kaspa-ledger/app-kaspa ~/scripts/kaspa-ledger/app-kaspa
ledger virtualenv already exists
Looking in indexes: https://pypi.org/simple, https://test.pypi.org/simple/
Collecting pytest (from -r tests/requirements.txt (line 1))
  Using cached pytest-7.4.4-py3-none-any.whl.metadata (7.9 kB)
Collecting ragger>=1.6.0 (from ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached https://test-files.pythonhosted.org/packages/cf/8e/287bc16d0b27c769c50a7aa30aaa5d1515bdc65dc304fa20f2509fd142e0/ragger-1.13.1-py3-none-any.whl.metadata (10 kB)
Collecting Jinja2==3.1.2 (from -r tests/requirements.txt (line 4))
  Using cached https://test-files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting Flask==2.1.2 (from -r tests/requirements.txt (line 5))
  Using cached https://test-files.pythonhosted.org/packages/ba/76/e9580e494eaf6f09710b0f3b9000c9c0363e44af5390be32bb0394165853/Flask-2.1.2-py3-none-any.whl (95 kB)
Collecting safe-pysha3<2.0.0,>=1.0.0 (from -r tests/requirements.txt (line 6))
  Using cached safe_pysha3-1.0.4-cp311-cp311-linux_x86_64.whl
Collecting secp256k1>=0.14.0 (from -r tests/requirements.txt (line 7))
  Using cached secp256k1-0.14.0-cp311-cp311-linux_x86_64.whl
Collecting Werkzeug==2.2.2 (from -r tests/requirements.txt (line 8))
  Using cached https://test-files.pythonhosted.org/packages/c8/27/be6ddbcf60115305205de79c29004a0c6bc53cec814f733467b1bb89386d/Werkzeug-2.2.2-py3-none-any.whl (232 kB)
Collecting MarkupSafe>=2.0 (from Jinja2==3.1.2->-r tests/requirements.txt (line 4))
  Using cached https://test-files.pythonhosted.org/packages/fe/21/2eff1de472ca6c99ec3993eab11308787b9879af9ca8bbceb4868cf4f2ca/MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
Collecting itsdangerous>=2.0 (from Flask==2.1.2->-r tests/requirements.txt (line 5))
  Using cached https://test-files.pythonhosted.org/packages/68/5f/447e04e828f47465eeab35b5d408b7ebaaaee207f48b7136c5a7267a30ae/itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting click>=8.0 (from Flask==2.1.2->-r tests/requirements.txt (line 5))
  Using cached https://test-files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting iniconfig (from pytest->-r tests/requirements.txt (line 1))
  Using cached https://test-files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Collecting packaging (from pytest->-r tests/requirements.txt (line 1))
  Using cached packaging-23.2-py3-none-any.whl.metadata (3.2 kB)
Collecting pluggy<2.0,>=0.12 (from pytest->-r tests/requirements.txt (line 1))
  Using cached pluggy-1.3.0-py3-none-any.whl.metadata (4.3 kB)
Collecting bip-utils>=2.4.0 (from ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached bip_utils-2.9.0-py3-none-any.whl.metadata (12 kB)
Collecting py-sr25519-bindings<0.3.0,>=0.2.0 (from ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached py_sr25519_bindings-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB)
Collecting cffi>=1.3.0 (from secp256k1>=0.14.0->-r tests/requirements.txt (line 7))
  Using cached cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting ledgerwallet>=0.2.3 (from ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached https://test-files.pythonhosted.org/packages/f5/57/6ca5bdf650d28231ae91c463476b34d82dbcb01ce758788cd3bd626b12b2/ledgerwallet-0.4.0-py3-none-any.whl.metadata (7.7 kB)
Collecting pyqt5 (from ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached PyQt5-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl.metadata (2.1 kB)
Collecting pytesseract (from ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached pytesseract-0.3.10-py3-none-any.whl (14 kB)
Collecting speculos>=0.2.8 (from ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached https://test-files.pythonhosted.org/packages/59/c9/719addf2554b84f6228095b56e39c28ac2999bd076e845ca6ffcbce473b9/speculos-0.4.1-py3-none-any.whl.metadata (4.2 kB)
Collecting cbor2~=5.1 (from bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached cbor2-5.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.0 kB)
Collecting coincurve<19.0.0,>=15.0.1 (from bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached coincurve-18.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB)
Collecting crcmod~=1.7 (from bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached crcmod-1.7-cp311-cp311-linux_x86_64.whl
Collecting ecdsa~=0.15 (from bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached ecdsa-0.18.0-py2.py3-none-any.whl (142 kB)
Collecting ed25519-blake2b~=1.4 (from bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached ed25519_blake2b-1.4-cp311-cp311-linux_x86_64.whl
Collecting pycryptodome~=3.6 (from bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached pycryptodome-3.19.1-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)
Collecting pynacl~=1.4 (from bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (856 kB)
Collecting pycparser (from cffi>=1.3.0->secp256k1>=0.14.0->-r tests/requirements.txt (line 7))
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting construct>=2.10 (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached construct-2.10.70-py3-none-any.whl.metadata (4.2 kB)
Collecting cryptography>=2.5 (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl.metadata (5.2 kB)
Collecting hidapi (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached hidapi-0.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.3 kB)
Collecting intelhex (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached intelhex-2.3.0-py2.py3-none-any.whl (50 kB)
Collecting Pillow (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (9.7 kB)
Collecting protobuf<4,>=3.20 (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached https://test-files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl (162 kB)
Collecting requests (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting tabulate (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached https://test-files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting toml (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting flask-restful<1.0,>=0.3.9 (from speculos>=0.2.8->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached Flask_RESTful-0.3.10-py2.py3-none-any.whl.metadata (1.0 kB)
Collecting jsonschema<4.18.0,>=3.2.0 (from speculos>=0.2.8->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached jsonschema-4.17.3-py3-none-any.whl (90 kB)
Collecting mnemonic<1.0,>=0.19 (from speculos>=0.2.8->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached https://test-files.pythonhosted.org/packages/57/48/5abb16ce7f9d97b728e6b97c704ceaa614362e0847651f379ed0511942a0/mnemonic-0.21-py3-none-any.whl.metadata (3.4 kB)
Collecting Pillow (from ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl (3.4 MB)
Collecting pyelftools<1.0,>=0.27 (from speculos>=0.2.8->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached pyelftools-0.30-py2.py3-none-any.whl.metadata (381 bytes)
Collecting PyQt5-sip<13,>=12.13 (from pyqt5->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached PyQt5_sip-12.13.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (504 bytes)
Collecting PyQt5-Qt5>=5.15.2 (from pyqt5->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached PyQt5_Qt5-5.15.2-py3-none-manylinux2014_x86_64.whl (59.9 MB)
Collecting asn1crypto (from coincurve<19.0.0,>=15.0.1->bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached asn1crypto-1.5.1-py2.py3-none-any.whl (105 kB)
Collecting six>=1.9.0 (from ecdsa~=0.15->bip-utils>=2.4.0->ragger>=1.6.0->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting aniso8601>=0.82 (from flask-restful<1.0,>=0.3.9->speculos>=0.2.8->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached aniso8601-9.0.1-py2.py3-none-any.whl (52 kB)
Collecting pytz (from flask-restful<1.0,>=0.3.9->speculos>=0.2.8->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached pytz-2023.3.post1-py2.py3-none-any.whl.metadata (22 kB)
Collecting attrs>=17.4.0 (from jsonschema<4.18.0,>=3.2.0->speculos>=0.2.8->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached https://test-files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl.metadata (9.5 kB)
Collecting pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 (from jsonschema<4.18.0,>=3.2.0->speculos>=0.2.8->ragger[speculos]>=1.6.0->-r tests/requirements.txt (line 2))
  Using cached https://test-files.pythonhosted.org/packages/3d/fc/ebf798e52db8052fc64979950272cb352066700b1918d0360341a3952814/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (27 kB)
Collecting charset-normalizer<4,>=2 (from requests->ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (33 kB)
Collecting idna<4,>=2.5 (from requests->ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached idna-3.6-py3-none-any.whl.metadata (9.9 kB)
Collecting urllib3<3,>=1.21.1 (from requests->ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached urllib3-2.1.0-py3-none-any.whl.metadata (6.4 kB)
Collecting certifi>=2017.4.17 (from requests->ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3))
  Using cached certifi-2023.11.17-py3-none-any.whl.metadata (2.2 kB)
Requirement already satisfied: setuptools>=19.0 in ./ledger/lib/python3.11/site-packages (from hidapi->ledgerwallet>=0.2.3->ragger[ledgerwallet]>=1.6.0->-r tests/requirements.txt (line 3)) (69.0.2)
Using cached pytest-7.4.4-py3-none-any.whl (325 kB)
Using cached https://test-files.pythonhosted.org/packages/cf/8e/287bc16d0b27c769c50a7aa30aaa5d1515bdc65dc304fa20f2509fd142e0/ragger-1.13.1-py3-none-any.whl (141 kB)
Using cached bip_utils-2.9.0-py3-none-any.whl (588 kB)
Using cached cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (464 kB)
Using cached https://test-files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl (97 kB)
Using cached https://test-files.pythonhosted.org/packages/f5/57/6ca5bdf650d28231ae91c463476b34d82dbcb01ce758788cd3bd626b12b2/ledgerwallet-0.4.0-py3-none-any.whl (33 kB)
Using cached https://test-files.pythonhosted.org/packages/fe/21/2eff1de472ca6c99ec3993eab11308787b9879af9ca8bbceb4868cf4f2ca/MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
Using cached pluggy-1.3.0-py3-none-any.whl (18 kB)
Using cached https://test-files.pythonhosted.org/packages/59/c9/719addf2554b84f6228095b56e39c28ac2999bd076e845ca6ffcbce473b9/speculos-0.4.1-py3-none-any.whl (12.0 MB)
Using cached PyQt5-5.15.10-cp37-abi3-manylinux_2_17_x86_64.whl (8.2 MB)
Using cached packaging-23.2-py3-none-any.whl (53 kB)
Using cached cbor2-5.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235 kB)
Using cached construct-2.10.70-py3-none-any.whl (63 kB)
Using cached cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl (4.4 MB)
Using cached Flask_RESTful-0.3.10-py2.py3-none-any.whl (26 kB)
Using cached https://test-files.pythonhosted.org/packages/57/48/5abb16ce7f9d97b728e6b97c704ceaa614362e0847651f379ed0511942a0/mnemonic-0.21-py3-none-any.whl (92 kB)
Using cached pycryptodome-3.19.1-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
Using cached pyelftools-0.30-py2.py3-none-any.whl (177 kB)
Using cached PyQt5_sip-12.13.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl (346 kB)
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Using cached hidapi-0.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (923 kB)
Using cached https://test-files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl (60 kB)
Using cached certifi-2023.11.17-py3-none-any.whl (162 kB)
Using cached charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140 kB)
Using cached idna-3.6-py3-none-any.whl (61 kB)
Using cached https://test-files.pythonhosted.org/packages/3d/fc/ebf798e52db8052fc64979950272cb352066700b1918d0360341a3952814/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (120 kB)
Using cached urllib3-2.1.0-py3-none-any.whl (104 kB)
Using cached pytz-2023.3.post1-py2.py3-none-any.whl (502 kB)
Installing collected packages: safe-pysha3, pytz, PyQt5-Qt5, pyelftools, py-sr25519-bindings, intelhex, ed25519-blake2b, crcmod, asn1crypto, aniso8601, urllib3, toml, tabulate, six, pyrsistent, PyQt5-sip, pycryptodome, pycparser, protobuf, pluggy, Pillow, packaging, mnemonic, MarkupSafe, itsdangerous, iniconfig, idna, hidapi, construct, click, charset-normalizer, certifi, cbor2, attrs, Werkzeug, requests, pytest, pytesseract, pyqt5, jsonschema, Jinja2, ecdsa, cffi, secp256k1, pynacl, Flask, cryptography, coincurve, ledgerwallet, flask-restful, bip-utils, speculos, ragger
Successfully installed Flask-2.1.2 Jinja2-3.1.2 MarkupSafe-2.1.3 Pillow-9.5.0 PyQt5-Qt5-5.15.2 PyQt5-sip-12.13.0 Werkzeug-2.2.2 aniso8601-9.0.1 asn1crypto-1.5.1 attrs-23.2.0 bip-utils-2.9.0 cbor2-5.5.1 certifi-2023.11.17 cffi-1.16.0 charset-normalizer-3.3.2 click-8.1.7 coincurve-18.0.0 construct-2.10.70 crcmod-1.7 cryptography-41.0.7 ecdsa-0.18.0 ed25519-blake2b-1.4 flask-restful-0.3.10 hidapi-0.14.0 idna-3.6 iniconfig-2.0.0 intelhex-2.3.0 itsdangerous-2.1.2 jsonschema-4.17.3 ledgerwallet-0.4.0 mnemonic-0.21 packaging-23.2 pluggy-1.3.0 protobuf-3.20.3 py-sr25519-bindings-0.2.0 pycparser-2.21 pycryptodome-3.19.1 pyelftools-0.30 pynacl-1.5.0 pyqt5-5.15.10 pyrsistent-0.20.0 pytesseract-0.3.10 pytest-7.4.4 pytz-2023.3.post1 ragger-1.13.1 requests-2.31.0 safe-pysha3-1.0.4 secp256k1-0.14.0 six-1.16.0 speculos-0.4.1 tabulate-0.9.0 toml-0.10.2 urllib3-2.1.0

[notice] A new release of pip is available: 23.3.1 -> 23.3.2
[notice] To update, run: pip install --upgrade pip
Collecting ledgerblue
  Using cached ledgerblue-0.1.48-py3-none-any.whl
Requirement already satisfied: pyelftools<1.0,>=0.29 in ./ledger/lib/python3.11/site-packages (from ledgerblue) (0.30)
Requirement already satisfied: hidapi>=0.7.99 in ./ledger/lib/python3.11/site-packages (from ledgerblue) (0.14.0)
Requirement already satisfied: protobuf>=2.6.1 in ./ledger/lib/python3.11/site-packages (from ledgerblue) (3.20.3)
Collecting pycryptodomex>=3.6.1 (from ledgerblue)
  Using cached pycryptodomex-3.19.1-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)
Collecting future (from ledgerblue)
  Using cached future-0.18.3-py3-none-any.whl
Collecting ecpy>=0.9.0 (from ledgerblue)
  Using cached ECPy-1.2.5-py3-none-any.whl (43 kB)
Requirement already satisfied: pillow>=3.4.0 in ./ledger/lib/python3.11/site-packages (from ledgerblue) (9.5.0)
Collecting python-u2flib-host>=3.0.2 (from ledgerblue)
  Using cached python_u2flib_host-3.0.3-py3-none-any.whl
Collecting websocket-client>=0.56.0 (from ledgerblue)
  Using cached websocket_client-1.7.0-py3-none-any.whl.metadata (7.9 kB)
Collecting nfcpy>=1.0.4 (from ledgerblue)
  Using cached nfcpy-1.0.4-py3-none-any.whl (186 kB)
Collecting bleak>=0.20.1 (from ledgerblue)
  Using cached bleak-0.21.1-py3-none-any.whl.metadata (5.3 kB)
Requirement already satisfied: pycryptodome>=3.18.0 in ./ledger/lib/python3.11/site-packages (from ledgerblue) (3.19.1)
Collecting python-gnupg>=0.5.0 (from ledgerblue)
  Using cached python_gnupg-0.5.2-py2.py3-none-any.whl.metadata (1.9 kB)
Collecting dbus-fast<3,>=1.83.0 (from bleak>=0.20.1->ledgerblue)
  Using cached dbus_fast-2.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (10 kB)
Collecting typing-extensions>=4.7.0 (from bleak>=0.20.1->ledgerblue)
  Using cached typing_extensions-4.9.0-py3-none-any.whl.metadata (3.0 kB)
Requirement already satisfied: setuptools>=19.0 in ./ledger/lib/python3.11/site-packages (from hidapi>=0.7.99->ledgerblue) (69.0.2)
Collecting libusb1 (from nfcpy>=1.0.4->ledgerblue)
  Using cached libusb1-3.1.0-py3-none-any.whl.metadata (15 kB)
Collecting pyserial (from nfcpy>=1.0.4->ledgerblue)
  Using cached pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting ndeflib (from nfcpy>=1.0.4->ledgerblue)
  Using cached ndeflib-0.3.3-py2.py3-none-any.whl (56 kB)
Collecting pydes (from nfcpy>=1.0.4->ledgerblue)
  Using cached pyDes-2.0.1-py2.py3-none-any.whl
Requirement already satisfied: requests in ./ledger/lib/python3.11/site-packages (from python-u2flib-host>=3.0.2->ledgerblue) (2.31.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./ledger/lib/python3.11/site-packages (from requests->python-u2flib-host>=3.0.2->ledgerblue) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in ./ledger/lib/python3.11/site-packages (from requests->python-u2flib-host>=3.0.2->ledgerblue) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./ledger/lib/python3.11/site-packages (from requests->python-u2flib-host>=3.0.2->ledgerblue) (2.1.0)
Requirement already satisfied: certifi>=2017.4.17 in ./ledger/lib/python3.11/site-packages (from requests->python-u2flib-host>=3.0.2->ledgerblue) (2023.11.17)
Using cached bleak-0.21.1-py3-none-any.whl (137 kB)
Using cached pycryptodomex-3.19.1-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
Using cached python_gnupg-0.5.2-py2.py3-none-any.whl (20 kB)
Using cached websocket_client-1.7.0-py3-none-any.whl (58 kB)
Using cached dbus_fast-2.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB)
Using cached typing_extensions-4.9.0-py3-none-any.whl (32 kB)
Using cached libusb1-3.1.0-py3-none-any.whl (62 kB)
Installing collected packages: python-gnupg, pyserial, pydes, ndeflib, libusb1, ecpy, websocket-client, typing-extensions, pycryptodomex, nfcpy, future, dbus-fast, python-u2flib-host, bleak, ledgerblue
Successfully installed bleak-0.21.1 dbus-fast-2.21.0 ecpy-1.2.5 future-0.18.3 ledgerblue-0.1.48 libusb1-3.1.0 ndeflib-0.3.3 nfcpy-1.0.4 pycryptodomex-3.19.1 pydes-2.0.1 pyserial-3.5 python-gnupg-0.5.2 python-u2flib-host-3.0.3 typing-extensions-4.9.0 websocket-client-1.7.0

[notice] A new release of pip is available: 23.3.1 -> 23.3.2
[notice] To update, run: pip install --upgrade pip
cat: debug/app.map: Nie ma takiego pliku ani katalogu
cat: debug/app.map: Nie ma takiego pliku ani katalogu
nanosp
Prepare directories
[GLYPH] Compiling...
[CC]   build/nanos2/obj/address.o
[CC]   build/nanos2/obj/app_main.o
[CC]   build/nanos2/obj/app_metadata.o
[CC]   build/nanos2/obj/bagl.o
[CC]   build/nanos2/obj/bagl_display.o
[CC]   build/nanos2/obj/bagl_fonts.o
[CC]   build/nanos2/obj/bagl_glyphs.o
[CC]   build/nanos2/obj/base58.o
[CC]   build/nanos2/obj/bip32.o
[CC]   build/nanos2/obj/blake2b.o
[CC]   build/nanos2/obj/buffer.o
[CC]   build/nanos2/obj/cashaddr.o
[CC]   build/nanos2/obj/checks.o
[CC]   build/nanos2/obj/crypto.o
[CC]   build/nanos2/obj/crypto_helpers.o
[AS]   build/nanos2/obj/cx_stubs.o
[CC]   build/nanos2/obj/cx_wrappers.o
[CC]   build/nanos2/obj/debug.o
[CC]   build/nanos2/obj/deserialize.o
[CC]   build/nanos2/obj/dispatcher.o
[CC]   build/nanos2/obj/format.o
[CC]   build/nanos2/obj/format_local.o
[CC]   build/nanos2/obj/get_app_name.o
[CC]   build/nanos2/obj/get_public_key.o
[CC]   build/nanos2/obj/get_version.o
[CC]   build/nanos2/obj/glyphs.o
[CC]   build/nanos2/obj/io.o
[CC]   build/nanos2/obj/ledger_assert.o
[CC]   build/nanos2/obj/ledger_protocol.o
[CC]   build/nanos2/obj/main.o
[CC]   build/nanos2/obj/menu_bagl.o
[CC]   build/nanos2/obj/menu_nbgl.o
[CC]   build/nanos2/obj/nbgl_display_address.o
[CC]   build/nanos2/obj/nbgl_display_message.o
[CC]   build/nanos2/obj/nbgl_display_transaction.o
[CC]   build/nanos2/obj/os.o
[CC]   build/nanos2/obj/os_io_seproxyhal.o
[CC]   build/nanos2/obj/os_io_task.o
[CC]   build/nanos2/obj/os_io_usb.o
[CC]   build/nanos2/obj/os_printf.o
[CC]   build/nanos2/obj/parser.o
[CC]   build/nanos2/obj/personal_message.o
[CC]   build/nanos2/obj/pic.o
[CC]   build/nanos2/obj/read.o
[CC]   build/nanos2/obj/send_reponse.o
[CC]   build/nanos2/obj/serialize.o
[CC]   build/nanos2/obj/sighash.o
[CC]   build/nanos2/obj/sign_msg.o
[CC]   build/nanos2/obj/sign_tx.o
[CC]   build/nanos2/obj/stack_protector.o
[AS]   build/nanos2/obj/stack_protector_init.o
[AS]   build/nanos2/obj/svc_call.o
[AS]   build/nanos2/obj/svc_cx_call.o
[CC]   build/nanos2/obj/swap_utils.o
[CC]   build/nanos2/obj/syscalls.o
[CC]   build/nanos2/obj/tx_validate.o
[CC]   build/nanos2/obj/u2f_impl.o
[CC]   build/nanos2/obj/u2f_io.o
[CC]   build/nanos2/obj/usbd_ccid_cmd.o
[CC]   build/nanos2/obj/usbd_ccid_core.o
[CC]   build/nanos2/obj/usbd_ccid_if.o
[CC]   build/nanos2/obj/usbd_conf.o
[CC]   build/nanos2/obj/usbd_core.o
[CC]   build/nanos2/obj/usbd_ctlreq.o
[CC]   build/nanos2/obj/usbd_hid.o
[CC]   build/nanos2/obj/usbd_impl.o
[CC]   build/nanos2/obj/usbd_ioreq.o
[CC]   build/nanos2/obj/utils.o
[CC]   build/nanos2/obj/ux_flow_engine.o
[CC]   build/nanos2/obj/ux_layout_bb.o
[CC]   build/nanos2/obj/ux_layout_bn.o
[CC]   build/nanos2/obj/ux_layout_bnn.o
[CC]   build/nanos2/obj/ux_layout_bnnn.o
[CC]   build/nanos2/obj/ux_layout_nn.o
[CC]   build/nanos2/obj/ux_layout_nnbnn.o
[CC]   build/nanos2/obj/ux_layout_nnn.o
[CC]   build/nanos2/obj/ux_layout_nnnn.o
[CC]   build/nanos2/obj/ux_layout_pages.o
[CC]   build/nanos2/obj/ux_layout_paging.o
[CC]   build/nanos2/obj/ux_layout_paging_compute.o
[CC]   build/nanos2/obj/ux_layout_pb.o
[CC]   build/nanos2/obj/ux_layout_pbb.o
[CC]   build/nanos2/obj/ux_layout_pbn.o
[CC]   build/nanos2/obj/ux_layout_pn.o
[CC]   build/nanos2/obj/ux_layout_pnn.o
[CC]   build/nanos2/obj/ux_layout_utils.o
[CC]   build/nanos2/obj/ux_legacy.o
[CC]   build/nanos2/obj/ux_menulist.o
[CC]   build/nanos2/obj/ux_stack.o
[CC]   build/nanos2/obj/validate.o
[CC]   build/nanos2/obj/varint.o
[CC]   build/nanos2/obj/write.o
[LINK] build/nanos2/bin/app.elf
[CP] build/nanos2/bin/app.elf => bin/app.elf
[CP] build/nanos2/bin/app.hex => bin/app.hex
[CP] build/nanos2/dbg/app.map => debug/app.map
[CP] build/nanos2/bin/app.apdu => bin/app.apdu
[CP] build/nanos2/bin/app.sha256 => bin/app.sha256
[CP] build/nanos2/dbg/app.asm => debug/app.asm
Generated random root public key : b'0452f677d4f20234a61d2f57df9be70a6d932d2ae6c17de4ed68907ca4d494a1577af4bfaba98cffe3e74bf2423c936ef07fd4cfd2aeb12fa33d6f04e91f3e9890'
Using test master key b'0452f677d4f20234a61d2f57df9be70a6d932d2ae6c17de4ed68907ca4d494a1577af4bfaba98cffe3e74bf2423c936ef07fd4cfd2aeb12fa33d6f04e91f3e9890' 
Using ephemeral key b'040aef479f0705a0482e319ec0bb71d08205c98321d0dfa03f524534bfd189c776e6b214f89575920f6a942f680bf5d94062d4b50ef7fb48abb10b10a044cbfc8f'
Broken certificate chain - loading from user key
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/patryk/scripts/kaspa-ledger/app-kaspa/ledger/lib/python3.11/site-packages/ledgerblue/loadApp.py", line 253, in <module>
    loader.createApp(code_length, args.apiLevel, args.dataSize, paramsSize, args.appFlags, args.bootAddr|1)
  File "/home/patryk/scripts/kaspa-ledger/app-kaspa/ledger/lib/python3.11/site-packages/ledgerblue/hexLoader.py", line 374, in createApp
    self.exchange(self.cla, 0x00, 0x00, 0x00, data)
  File "/home/patryk/scripts/kaspa-ledger/app-kaspa/ledger/lib/python3.11/site-packages/ledgerblue/hexLoader.py", line 207, in exchange
    return self.scpUnwrap(bytes(self.card.exchange(apdu)))
                                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/patryk/scripts/kaspa-ledger/app-kaspa/ledger/lib/python3.11/site-packages/ledgerblue/comm.py", line 157, in exchange
    raise CommException("Invalid status %04x (%s)" % (sw, possibleCause), sw, response)
ledgerblue.commException.CommException: Exception : Invalid status 511f (Unknown reason)

Can someone tell me why after I allow install from unsafe manager the installation crashes with Exception?

Re-implement serialize

"serialize" was used to make sure that the data we deserialized can be serialized back to the original data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.