Browse Source

fix bencode/bdecode usage

add_frost_channel_encryption
zebra-lucky 3 weeks ago
parent
commit
22ea1842ba
  1. 6
      scripts/bdecode.py
  2. 4
      scripts/bencode.py
  3. 4
      src/jmclient/storage.py
  4. 10
      test/jmclient/test_frost_wallet.py

6
scripts/bdecode.py

@ -1,10 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import bencoder
import click import click
import json import json
from pprint import pprint from pprint import pprint
from fastbencode import bdecode
def debyte_list(lst): def debyte_list(lst):
@ -45,10 +45,10 @@ def main(**kwargs):
with open(input_file, 'rb') as fd: with open(input_file, 'rb') as fd:
data = fd.read() data = fd.read()
if no_decode: if no_decode:
d = bencoder.bdecode(data[8:]) d = bdecode(data[8:])
pprint(d) pprint(d)
else: else:
d = debyte_dict(bencoder.bdecode(data[8:])) d = debyte_dict(bdecode(data[8:]))
print(json.dumps(d, indent=4)) print(json.dumps(d, indent=4))

4
scripts/bencode.py

@ -1,10 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import bencoder
import click import click
import json import json
from pprint import pprint from pprint import pprint
from fastbencode import bencode_utf8
def enbyte_list(lst): def enbyte_list(lst):
@ -62,7 +62,7 @@ def main(**kwargs):
data = enbyte_dict(data) data = enbyte_dict(data)
with open(output_file, 'wb') as wfd: with open(output_file, 'wb') as wfd:
wfd.write(MAGIC_UNENC + bencoder.bencode(data)) wfd.write(MAGIC_UNENC + bencode_utf8(data))
if __name__ == '__main__': if __name__ == '__main__':

4
src/jmclient/storage.py

@ -414,11 +414,11 @@ class DKGRecoveryStorage(object):
@staticmethod @staticmethod
def _serialize(data): def _serialize(data):
return bencoder.bencode(data) return bencode_utf8(data)
@staticmethod @staticmethod
def _deserialize(data): def _deserialize(data):
return bencoder.bdecode(data) return bdecode(data)
@staticmethod @staticmethod
def _get_lock_filename(path: str) -> str: def _get_lock_filename(path: str) -> str:

10
test/jmclient/test_frost_wallet.py

@ -5,7 +5,7 @@ from pprint import pprint
from unittest import IsolatedAsyncioTestCase from unittest import IsolatedAsyncioTestCase
import bencoder from fastbencode import bdecode
import jmclient # install asyncioreactor import jmclient # install asyncioreactor
from twisted.internet import reactor from twisted.internet import reactor
@ -240,7 +240,7 @@ class AsyncioTestCase(IsolatedAsyncioTestCase):
ext_recovery_bytes = decrypt_ext_recovery(wlt._hostseckey, ext_recovery_bytes = decrypt_ext_recovery(wlt._hostseckey,
ext_recovery) ext_recovery)
saved_dkg = bencoder.bdecode(wlt._dkg_storage.file_data[8:]) saved_dkg = bdecode(wlt._dkg_storage.file_data[8:])
STORAGE_KEY = DKGManager.STORAGE_KEY STORAGE_KEY = DKGManager.STORAGE_KEY
HOSTPUBKEYS_SUBKEY = DKGManager.HOSTPUBKEYS_SUBKEY HOSTPUBKEYS_SUBKEY = DKGManager.HOSTPUBKEYS_SUBKEY
PUBKEY_SUBKEY = DKGManager.PUBKEY_SUBKEY PUBKEY_SUBKEY = DKGManager.PUBKEY_SUBKEY
@ -256,12 +256,12 @@ class AsyncioTestCase(IsolatedAsyncioTestCase):
assert saved_dkg[STORAGE_KEY][T_SUBKEY] == dict() assert saved_dkg[STORAGE_KEY][T_SUBKEY] == dict()
assert saved_dkg[STORAGE_KEY][SESSIONS_SUBKEY] == dict() assert saved_dkg[STORAGE_KEY][SESSIONS_SUBKEY] == dict()
saved_rec = bencoder.bdecode(wlt._recovery_storage.file_data[8:]) saved_rec = bdecode(wlt._recovery_storage.file_data[8:])
assert saved_rec[b'dkg'] == dict() assert saved_rec[b'dkg'] == dict()
wlt.dkg.save() wlt.dkg.save()
saved_dkg = bencoder.bdecode(wlt._dkg_storage.file_data[8:]) saved_dkg = bdecode(wlt._dkg_storage.file_data[8:])
assert set(saved_dkg[STORAGE_KEY][SECSHARE_SUBKEY].keys()) == set([ assert set(saved_dkg[STORAGE_KEY][SECSHARE_SUBKEY].keys()) == set([
b'\xaa'*32, b'\xaa'*32,
b'\xbb'*32, b'\xbb'*32,
@ -286,7 +286,7 @@ class AsyncioTestCase(IsolatedAsyncioTestCase):
ext_recovery_bytes ext_recovery_bytes
]) ])
saved_rec = bencoder.bdecode(wlt._recovery_storage.file_data[8:]) saved_rec = bdecode(wlt._recovery_storage.file_data[8:])
RECOVERY_STORAGE_KEY = DKGManager.RECOVERY_STORAGE_KEY RECOVERY_STORAGE_KEY = DKGManager.RECOVERY_STORAGE_KEY
assert set(saved_rec[RECOVERY_STORAGE_KEY].keys()) == set([ assert set(saved_rec[RECOVERY_STORAGE_KEY].keys()) == set([
b'\xaa'*32, b'\xaa'*32,

Loading…
Cancel
Save