This repository was archived by the owner on Feb 16, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
This repository was archived by the owner on Feb 16, 2025. It is now read-only.
Error in shards on Mac: unpack requires a buffer of 4 bytes #33
Copy link
Copy link
Open
Description
I compiled the code but I get errors every time I interact with shards:
shards> list-shards
unpack requires a buffer of 4 bytes
Hmm. Something went wrong.
I include test results and the errors i get with
# make lint
What is your environment?
- Operation system & version: [Mac OS 10.14.6]
- Python & pip versions: [Python3 3.8.3, pip3 19.2.3]
- Terminal emulator: [iTerm]
Screenshots
Tests:
===================================== test session starts ======================================
platform darwin -- Python 3.7.0, pytest-4.4.0, py-1.8.0, pluggy-0.12.0
rootdir: /Users/roberto/hermit
plugins: cov-2.6.1
collected 109 items
tests/test_config.py .... [ 3%]
tests/test_errors.py .. [ 5%]
tests/test_functional_bitcoin_tests.py .. [ 7%]
tests/test_rng.py ... [ 10%]
tests/test_wallet.py .......... [ 19%]
tests/qrcode/test_displayer.py .... [ 22%]
tests/qrcode/test_format.py ......... [ 31%]
tests/qrcode/test_limits.py ......... [ 39%]
tests/qrcode/test_reader.py .. [ 41%]
tests/shards/test_shard.py ........ [ 48%]
tests/shards/test_shard_set.py .ss....... [ 57%]
tests/signer/test_base.py ......... [ 66%]
tests/signer/test_bitcoin_signer.py ................................... [ 98%]
tests/signer/test_echo_signer.py .. [100%]
======================================= warnings summary =======================================
tests/qrcode/test_displayer.py::TestDisplayQRCode::test_valid_qr_code[fixture_opensource_bitcoin_vector_0]
tests/qrcode/test_displayer.py::TestDisplayQRCode::test_valid_qr_code[fixture_opensource_bitcoin_vector_1]
/Users/roberto/hermit/.virtualenv/lib/python3.7/site-packages/_pytest/python.py:178: RuntimeWarning: coroutine 'TestDisplayQRCode.test_valid_qr_code' was never awaited
testfunction(**testargs)
-- Docs: https://docs.pytest.org/en/latest/warnings.html
---------- coverage: platform darwin, python 3.7.0-final-0 -----------
Name Stmts Miss Branch BrPart Cover Missing
-----------------------------------------------------------------------------
hermit/config.py 29 0 14 0 100%
hermit/errors.py 5 0 0 0 100%
hermit/plugin.py 11 5 6 1 41% 10-15, 9->10
hermit/qrcode/displayer.py 22 8 2 0 58% 13-14, 18-26
hermit/qrcode/format.py 40 7 8 1 83% 11, 41-46, 10->11
hermit/qrcode/reader.py 43 3 10 4 87% 47-48, 62, 27->65, 31->55, 51->31, 59->62
hermit/qrcode/utils.py 3 1 0 0 67% 5
hermit/rng.py 58 29 12 0 50% 48-76, 93-96, 99-105, 108-109
hermit/shamir_share.py 43 2 6 0 92% 30-31
hermit/shards/interface.py 128 103 42 0 16% 24-25, 28-36, 39-49, 56-68, 75-83, 88-109, 112, 116, 120-121, 124-142, 145-163, 166-216
hermit/shards/shard.py 67 6 12 5 86% 29, 45, 55, 65, 93, 128, 28->29, 44->45, 54->55, 64->65, 92->93
hermit/shards/shard_set.py 205 78 62 7 60% 58-83, 86, 94-96, 99-100, 198-199, 205-207, 210, 226-232, 235-246, 249, 252-254, 257-269, 275-277, 285-298, 301, 304-305, 308-310, 313-318, 322, 325, 328, 331-333, 57->58, 85->86, 89->exit, 132->134, 197->198, 209->210, 274->275
hermit/signer/base.py 73 0 18 0 100%
hermit/signer/bitcoin_signer.py 183 0 80 0 100%
hermit/signer/echo_signer.py 11 0 0 0 100%
hermit/ui/base.py 27 27 6 0 0% 1-40
hermit/ui/common.py 27 27 2 0 0% 1-74
hermit/ui/main.py 16 16 2 0 0% 1-29
hermit/ui/relocker.py 15 15 6 0 0% 1-21
hermit/ui/repl.py 62 62 26 0 0% 1-91
hermit/ui/shards.py 49 49 2 0 0% 1-341
hermit/ui/state.py 8 8 0 0 0% 1-15
hermit/ui/toolbar.py 17 17 6 0 0% 1-25
hermit/ui/wallet.py 41 41 2 0 0% 1-203
hermit/wallet.py 55 0 12 0 100%
-----------------------------------------------------------------------------
TOTAL 1238 504 336 18 59%
====================== 107 passed, 2 skipped, 2 warnings in 16.15 seconds ======================
make lint
.virtualenv/bin/flake8 hermit --exclude=__init__.py
hermit/config.py:16:80: E501 line too long (131 > 79 characters)
hermit/config.py:82:80: E501 line too long (90 > 79 characters)
hermit/rng.py:7:1: E302 expected 2 blank lines, found 1
hermit/shamir_share.py:2:80: E501 line too long (85 > 79 characters)
hermit/shamir_share.py:3:80: E501 line too long (84 > 79 characters)
hermit/shamir_share.py:7:47: W291 trailing whitespace
hermit/shamir_share.py:11:1: F401 'hashlib' imported but unused
hermit/shamir_share.py:12:1: F401 'hmac' imported but unused
hermit/shamir_share.py:13:1: F401 'os' imported but unused
hermit/shamir_share.py:16:1: F403 'from shamir_mnemonic import *' used; unable to detect undefined names
hermit/shamir_share.py:17:80: E501 line too long (82 > 79 characters)
hermit/shamir_share.py:20:80: E501 line too long (80 > 79 characters)
hermit/shamir_share.py:25:1: E302 expected 2 blank lines, found 0
hermit/shamir_share.py:29:1: E302 expected 2 blank lines, found 1
hermit/shamir_share.py:30:8: F405 'length' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:30:24: E225 missing whitespace around operator
hermit/shamir_share.py:33:1: E302 expected 2 blank lines, found 1
hermit/shamir_share.py:37:12: F405 'mnemonic_from_indices' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:37:75: E231 missing whitespace after ','
hermit/shamir_share.py:37:80: E501 line too long (130 > 79 characters)
hermit/shamir_share.py:37:107: F405 'RADIX_BITS' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:37:119: F405 'RADIX_BITS' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:45:30: F405 'mnemonic_to_indices' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:45:70: F405 'bits_to_bytes' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:45:80: E501 line too long (113 > 79 characters)
hermit/shamir_share.py:45:84: F405 'RADIX_BITS' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:45:106: E203 whitespace before ','
hermit/shamir_share.py:45:107: E231 missing whitespace after ','
hermit/shamir_share.py:47:1: E302 expected 2 blank lines, found 1
hermit/shamir_share.py:48:80: E501 line too long (133 > 79 characters)
hermit/shamir_share.py:52:80: E501 line too long (85 > 79 characters)
hermit/shamir_share.py:53:80: E501 line too long (130 > 79 characters)
hermit/shamir_share.py:55:1: E302 expected 2 blank lines, found 1
hermit/shamir_share.py:56:80: E501 line too long (141 > 79 characters)
hermit/shamir_share.py:60:80: E501 line too long (95 > 79 characters)
hermit/shamir_share.py:61:80: E501 line too long (130 > 79 characters)
hermit/shamir_share.py:63:1: E302 expected 2 blank lines, found 1
hermit/shamir_share.py:64:15: F405 'decode_mnemonic' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:66:12: F405 'encode_mnemonic' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:68:1: E302 expected 2 blank lines, found 1
hermit/shamir_share.py:69:15: F405 'decode_mnemonic' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:72:12: F405 'encode_mnemonic' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:74:1: E302 expected 2 blank lines, found 1
hermit/shamir_share.py:75:15: F405 'decode_mnemonic' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:77:12: F405 'encode_mnemonic' may be undefined, or defined from star imports: shamir_mnemonic
hermit/shamir_share.py:78:1: W391 blank line at end of file
hermit/plugin.py:8:10: E222 multiple spaces after operator
hermit/ui/repl.py:1:1: F401 'asyncio' imported but unused
hermit/ui/repl.py:11:1: F403 'from .base import *' used; unable to detect undefined names
hermit/ui/repl.py:12:1: F403 'from .toolbar import *' used; unable to detect undefined names
hermit/ui/repl.py:17:1: E302 expected 2 blank lines, found 1
hermit/ui/repl.py:17:18: E231 missing whitespace after ':'
hermit/ui/repl.py:17:19: F405 'Dict' may be undefined, or defined from star imports: .base, .toolbar
hermit/ui/repl.py:20:22: E261 at least two spaces before inline comment
hermit/ui/repl.py:25:29: E128 continuation line under-indented for visual indent
hermit/ui/repl.py:25:44: F405 'bottom_toolbar' may be undefined, or defined from star imports: .base, .toolbar
hermit/ui/repl.py:26:29: E128 continuation line under-indented for visual indent
hermit/ui/repl.py:27:64: F405 'bottom_toolbar' may be undefined, or defined from star imports: .base, .toolbar
hermit/ui/repl.py:35:80: E501 line too long (97 > 79 characters)
hermit/ui/repl.py:36:47: E128 continuation line under-indented for visual indent
hermit/ui/repl.py:37:47: E124 closing bracket does not match visual indentation
hermit/ui/repl.py:52:27: F405 'HermitError' may be undefined, or defined from star imports: .base, .toolbar
hermit/ui/repl.py:56:20: F405 'HermitError' may be undefined, or defined from star imports: .base, .toolbar
hermit/ui/repl.py:75:25: F405 'DeadTime' may be undefined, or defined from star imports: .base, .toolbar
hermit/ui/toolbar.py:1:1: F401 'asyncio' imported but unused
hermit/ui/toolbar.py:3:1: F403 'from .base import *' used; unable to detect undefined names
hermit/ui/toolbar.py:6:12: F405 'DeadTime' may be undefined, or defined from star imports: .base
hermit/ui/toolbar.py:6:27: F405 'DeadTime' may be undefined, or defined from star imports: .base
hermit/ui/toolbar.py:8:1: E302 expected 2 blank lines, found 1
hermit/ui/toolbar.py:19:9: F405 'DeadTime' may be undefined, or defined from star imports: .base
hermit/ui/toolbar.py:21:55: F405 'DeadTime' may be undefined, or defined from star imports: .base
hermit/ui/common.py:1:1: F403 'from .base import *' used; unable to detect undefined names
hermit/ui/common.py:5:1: F401 'traceback' imported but unused
hermit/ui/common.py:6:1: F401 'sys' imported but unused
hermit/ui/common.py:7:31: E703 statement ends with a semicolon
hermit/ui/common.py:9:1: E302 expected 2 blank lines, found 1
hermit/ui/common.py:20:7: E111 indentation is not a multiple of four
hermit/ui/common.py:21:12: F405 'HermitError' may be undefined, or defined from star imports: .base
hermit/ui/common.py:22:7: E111 indentation is not a multiple of four
hermit/ui/common.py:22:7: F405 'print_formatted_text' may be undefined, or defined from star imports: .base
hermit/ui/common.py:23:7: E114 indentation is not a multiple of four (comment)
hermit/ui/common.py:23:7: E265 block comment should start with '# '
hermit/ui/common.py:25:25: F405 'DeadTime' may be undefined, or defined from star imports: .base
hermit/ui/common.py:41:1: E302 expected 2 blank lines, found 1
hermit/ui/common.py:48:5: F405 'clear_screen' may be undefined, or defined from star imports: .base
hermit/ui/common.py:50:1: E302 expected 2 blank lines, found 1
hermit/ui/common.py:65:1: E302 expected 2 blank lines, found 1
hermit/ui/common.py:65:1: F811 redefinition of unused 'unlock' from line 9
hermit/ui/common.py:71:1: W293 blank line contains whitespace
hermit/ui/common.py:72:1: W293 blank line contains whitespace
hermit/ui/common.py:74:5: F405 'print_formatted_text' may be undefined, or defined from star imports: .base
hermit/ui/main.py:5:1: F403 'from .wallet import *' used; unable to detect undefined names
hermit/ui/main.py:6:1: F403 'from .common import *' used; unable to detect undefined names
hermit/ui/main.py:7:1: F403 'from .relocker import *' used; unable to detect undefined names
hermit/ui/main.py:21:1: E302 expected 2 blank lines, found 1
hermit/ui/main.py:22:5: F405 'clear_screen' may be undefined, or defined from star imports: .common, .relocker, .wallet
hermit/ui/main.py:27:12: F405 'asyncio' may be undefined, or defined from star imports: .common, .relocker, .wallet
hermit/ui/main.py:28:5: F841 local variable 'deadman_task' is assigned to but never used
hermit/ui/main.py:28:37: F405 'relock_wallet_if_timed_out' may be undefined, or defined from star imports: .common, .relocker, .wallet
hermit/ui/main.py:29:29: F405 'wallet_repl' may be undefined, or defined from star imports: .common, .relocker, .wallet
hermit/ui/relocker.py:3:1: F403 'from .base import *' used; unable to detect undefined names
hermit/ui/relocker.py:3:1: F401 '.base.*' imported but unused
hermit/ui/relocker.py:6:1: E302 expected 2 blank lines, found 1
hermit/ui/relocker.py:11:1: E302 expected 2 blank lines, found 1
hermit/ui/shards.py:3:1: F403 'from .base import *' used; unable to detect undefined names
hermit/ui/shards.py:6:16: F405 'Dict' may be undefined, or defined from star imports: .base
hermit/ui/shards.py:8:1: E302 expected 2 blank lines, found 1
hermit/ui/shards.py:9:12: F405 'command' may be undefined, or defined from star imports: .base
hermit/ui/shards.py:79:2: W291 trailing whitespace
hermit/ui/shards.py:145:15: F405 'reader' may be undefined, or defined from star imports: .base
hermit/ui/shards.py:159:1: E302 expected 2 blank lines, found 1
hermit/ui/shards.py:167:5: F405 'displayer' may be undefined, or defined from star imports: .base
hermit/ui/shards.py:284:1: E303 too many blank lines (3)
hermit/ui/shards.py:298:1: E303 too many blank lines (3)
hermit/ui/shards.py:313:1: E302 expected 2 blank lines, found 3
hermit/ui/shards.py:318:5: F405 'clear_screen' may be undefined, or defined from star imports: .base
hermit/ui/shards.py:341:9: F405 'print_formatted_text' may be undefined, or defined from star imports: .base
hermit/ui/shards.py:341:30: F405 'HTML' may be undefined, or defined from star imports: .base
hermit/ui/base.py:4:1: F401 'prompt_toolkit.HTML' imported but unused
hermit/ui/base.py:4:1: F401 'prompt_toolkit.print_formatted_text' imported but unused
hermit/ui/base.py:7:1: F401 'hermit.qrcode.displayer' imported but unused
hermit/ui/base.py:7:1: F401 'hermit.qrcode.reader' imported but unused
hermit/ui/base.py:11:1: E302 expected 2 blank lines, found 1
hermit/ui/base.py:15:1: E302 expected 2 blank lines, found 1
hermit/ui/base.py:18:1: E302 expected 2 blank lines, found 1
hermit/ui/base.py:18:27: E231 missing whitespace after ':'
hermit/ui/wallet.py:7:1: F403 'from .base import *' used; unable to detect undefined names
hermit/ui/wallet.py:12:17: F405 'Dict' may be undefined, or defined from star imports: .base
hermit/ui/wallet.py:14:1: E302 expected 2 blank lines, found 1
hermit/ui/wallet.py:15:12: F405 'command' may be undefined, or defined from star imports: .base
hermit/ui/wallet.py:83:5: F405 'displayer' may be undefined, or defined from star imports: .base
hermit/ui/wallet.py:83:80: E501 line too long (81 > 79 characters)
hermit/ui/wallet.py:106:5: F405 'displayer' may be undefined, or defined from star imports: .base
hermit/ui/wallet.py:106:80: E501 line too long (85 > 79 characters)
hermit/ui/wallet.py:116:5: F405 'clear_screen' may be undefined, or defined from star imports: .base
hermit/ui/wallet.py:128:5: F405 'clear_screen' may be undefined, or defined from star imports: .base
hermit/ui/wallet.py:166:30: F405 'HTML' may be undefined, or defined from star imports: .base
hermit/ui/wallet.py:202:1: E302 expected 2 blank lines, found 1
hermit/signer/bitcoin_signer.py:79:1: W293 blank line contains whitespace
hermit/signer/bitcoin_signer.py:108:80: E501 line too long (81 > 79 characters)
hermit/signer/bitcoin_signer.py:115:80: E501 line too long (119 > 79 characters)
hermit/signer/bitcoin_signer.py:183:80: E501 line too long (85 > 79 characters)
hermit/signer/bitcoin_signer.py:233:20: E221 multiple spaces before operator
hermit/signer/bitcoin_signer.py:238:55: E261 at least two spaces before inline comment
hermit/signer/bitcoin_signer.py:239:1: W293 blank line contains whitespace
hermit/signer/bitcoin_signer.py:280:80: E501 line too long (111 > 79 characters)
hermit/signer/bitcoin_signer.py:317:10: W291 trailing whitespace
hermit/signer/bitcoin_signer.py:320:10: W291 trailing whitespace
hermit/signer/echo_signer.py:1:1: F401 'hermit.qrcode.displayer' imported but unused
hermit/signer/echo_signer.py:17:1: W293 blank line contains whitespace
hermit/signer/base.py:7:1: F401 'hermit' imported but unused
hermit/signer/base.py:78:45: E231 missing whitespace after ':'
hermit/signer/base.py:123:45: E231 missing whitespace after ':'
hermit/signer/base.py:143:5: E303 too many blank lines (2)
hermit/signer/base.py:162:80: E501 line too long (80 > 79 characters)
hermit/signer/base.py:169:5: E303 too many blank lines (2)
hermit/signer/base.py:176:5: E303 too many blank lines (2)
hermit/shards/interface.py:28:80: E501 line too long (80 > 79 characters)
hermit/shards/interface.py:35:1: W293 blank line contains whitespace
hermit/shards/interface.py:37:1: W293 blank line contains whitespace
hermit/shards/interface.py:41:18: E222 multiple spaces after operator
hermit/shards/interface.py:41:80: E501 line too long (85 > 79 characters)
hermit/shards/interface.py:61:44: W291 trailing whitespace
hermit/shards/interface.py:76:80: E501 line too long (116 > 79 characters)
hermit/shards/interface.py:83:80: E501 line too long (96 > 79 characters)
hermit/shards/interface.py:97:80: E501 line too long (80 > 79 characters)
hermit/shards/interface.py:124:80: E501 line too long (92 > 79 characters)
hermit/shards/interface.py:165:67: E231 missing whitespace after ','
hermit/shards/interface.py:168:80: E501 line too long (81 > 79 characters)
hermit/shards/interface.py:172:80: E501 line too long (141 > 79 characters)
hermit/shards/interface.py:173:15: E203 whitespace before ':'
hermit/shards/interface.py:173:32: E231 missing whitespace after ','
hermit/shards/interface.py:176:80: E501 line too long (88 > 79 characters)
hermit/shards/interface.py:188:80: E501 line too long (148 > 79 characters)
hermit/shards/interface.py:192:80: E501 line too long (158 > 79 characters)
hermit/shards/interface.py:212:80: E501 line too long (130 > 79 characters)
hermit/shards/shard_set.py:18:1: E302 expected 2 blank lines, found 1
hermit/shards/shard_set.py:35:12: E713 test for membership should be 'not in'
hermit/shards/shard_set.py:86:80: E501 line too long (89 > 79 characters)
hermit/shards/shard_set.py:108:80: E501 line too long (80 > 79 characters)
hermit/shards/shard_set.py:152:80: E501 line too long (86 > 79 characters)
hermit/shards/shard_set.py:155:80: E501 line too long (86 > 79 characters)
hermit/shards/shard_set.py:158:80: E501 line too long (117 > 79 characters)
hermit/shards/shard_set.py:177:17: E203 whitespace before ':'
hermit/shards/shard_set.py:177:36: E225 missing whitespace around operator
hermit/shards/shard_set.py:178:26: E203 whitespace before ':'
hermit/shards/shard_set.py:178:42: E225 missing whitespace around operator
hermit/shards/shard_set.py:179:27: E203 whitespace before ':'
hermit/shards/shard_set.py:180:24: E203 whitespace before ':'
hermit/shards/shard_set.py:190:80: E501 line too long (92 > 79 characters)
hermit/shards/shard_set.py:196:31: E231 missing whitespace after ','
hermit/shards/shard_set.py:196:80: E501 line too long (94 > 79 characters)
hermit/shards/shard_set.py:199:80: E501 line too long (101 > 79 characters)
hermit/shards/shard_set.py:205:13: E722 do not use bare 'except'
hermit/shards/shard_set.py:210:80: E501 line too long (81 > 79 characters)
hermit/shards/shard_set.py:220:80: E501 line too long (85 > 79 characters)
hermit/shards/shard_set.py:230:80: E501 line too long (81 > 79 characters)
hermit/shards/shard_set.py:265:80: E501 line too long (85 > 79 characters)
hermit/shards/shard_set.py:291:80: E501 line too long (92 > 79 characters)
hermit/shards/shard.py:6:1: E302 expected 2 blank lines, found 1
hermit/shards/shard.py:77:80: E501 line too long (89 > 79 characters)
hermit/shards/shard.py:105:80: E501 line too long (91 > 79 characters)
hermit/shards/shard.py:131:80: E501 line too long (110 > 79 characters)
hermit/shards/shard.py:135:80: E501 line too long (95 > 79 characters)
hermit/shards/shard.py:138:80: E501 line too long (124 > 79 characters)
make: [lint] Error 1 (ignored)
.virtualenv/bin/mypy hermit/
hermit/shards/interface.py:34: error: Incompatible return value type (got "None", expected "bytes")
hermit/shards/interface.py:46: error: Incompatible return value type (got "None", expected "bytes")
hermit/shards/interface.py:63: error: Incompatible types in assignment (expression has type "None", variable has type "bytes")
hermit/shards/interface.py:66: error: Incompatible types in assignment (expression has type "None", variable has type "bytes")
hermit/shards/shard_set.py:183: error: Need type annotation for 'filled_groups'
hermit/signer/bitcoin_signer.py:109: error: Need type annotation for 'inputs'
hermit/signer/bitcoin_signer.py:157: error: "bytes" has no attribute "encode"; maybe "decode"?
hermit/signer/bitcoin_signer.py:277: error: Need type annotation for 'parsed_redeem_scripts'
hermit/signer/bitcoin_signer.py:290: error: "CBitcoinAddress" has no attribute "to_scriptPubKey"; maybe "from_scriptPubKey"?
hermit/signer/bitcoin_signer.py:299: error: Need type annotation for 'keys'
hermit/ui/repl.py:24: error: Incompatible types in assignment (expression has type "PromptSession", variable has type "None")
hermit/ui/repl.py:35: error: "None" has no attribute "prompt"
hermit/ui/common.py:65: error: Name 'unlock' already defined on line 9
make: [lint] Error 1 (ignored)
´´´
Metadata
Metadata
Assignees
Labels
No labels