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
# -*- coding: utf-8 -*-
import bencoder
import click
import json
from pprint import pprint
from fastbencode import bdecode
def debyte_list(lst):
@ -45,10 +45,10 @@ def main(**kwargs):
with open(input_file, 'rb') as fd:
data = fd.read()
if no_decode:
d = bencoder.bdecode(data[8:])
d = bdecode(data[8:])
pprint(d)
else:
d = debyte_dict(bencoder.bdecode(data[8:]))
d = debyte_dict(bdecode(data[8:]))
print(json.dumps(d, indent=4))

4
scripts/bencode.py

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

4
src/jmclient/storage.py

@ -414,11 +414,11 @@ class DKGRecoveryStorage(object):
@staticmethod
def _serialize(data):
return bencoder.bencode(data)
return bencode_utf8(data)
@staticmethod
def _deserialize(data):
return bencoder.bdecode(data)
return bdecode(data)
@staticmethod
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
import bencoder
from fastbencode import bdecode
import jmclient # install asyncioreactor
from twisted.internet import reactor
@ -240,7 +240,7 @@ class AsyncioTestCase(IsolatedAsyncioTestCase):
ext_recovery_bytes = decrypt_ext_recovery(wlt._hostseckey,
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
HOSTPUBKEYS_SUBKEY = DKGManager.HOSTPUBKEYS_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][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()
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([
b'\xaa'*32,
b'\xbb'*32,
@ -286,7 +286,7 @@ class AsyncioTestCase(IsolatedAsyncioTestCase):
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
assert set(saved_rec[RECOVERY_STORAGE_KEY].keys()) == set([
b'\xaa'*32,

Loading…
Cancel
Save