From f979a3c0525806aa3696de116f95567b80b072ab Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Fri, 26 Jan 2024 11:48:00 +0000 Subject: [PATCH] unit_tests.py ecc: Python 3.9 fixes; workflows: build secp256k1 extmod --- .github/workflows/pylint.yaml | 5 +++++ mmgen/data/version | 2 +- mmgen/proto/secp256k1/keygen.py | 9 ++------- test/unit_tests_d/ut_ecc.py | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/pylint.yaml b/.github/workflows/pylint.yaml index e44d0741..99ca5ae7 100644 --- a/.github/workflows/pylint.yaml +++ b/.github/workflows/pylint.yaml @@ -17,6 +17,10 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Install Ubuntu package dependencies + run: | + sudo apt-get install libsecp256k1-dev + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: @@ -30,6 +34,7 @@ jobs: python3 -m pip install gmpy2 cryptography pynacl ecdsa aiohttp requests pexpect scrypt semantic-version python3 -m pip install pycryptodomex pysocks pycoin ipaddress varint pylint python3 -m pip install --no-deps py_ecc==1.6.0 mypy_extensions==0.4.1 monero + python3 setup.py build_ext --inplace - name: Check the code with Pylint static code analyzer env: diff --git a/mmgen/data/version b/mmgen/data/version index 2591aece..5f837c8a 100644 --- a/mmgen/data/version +++ b/mmgen/data/version @@ -1 +1 @@ -14.1.dev4 +14.1.dev5 diff --git a/mmgen/proto/secp256k1/keygen.py b/mmgen/proto/secp256k1/keygen.py index 82879172..33d4189e 100755 --- a/mmgen/proto/secp256k1/keygen.py +++ b/mmgen/proto/secp256k1/keygen.py @@ -28,13 +28,8 @@ class backend: def __init__(self,cfg): super().__init__(cfg) - # catch ImportError to satisfy pylint when testing repo with unbuilt secp256k1 extension mod: - try: - from .secp256k1 import pubkey_gen - self.pubkey_gen = pubkey_gen - except ImportError: - from ...util import die - die(3,'libsecp256k1.keygen.backend: you shouldn’t be seeing this') + from .secp256k1 import pubkey_gen + self.pubkey_gen = pubkey_gen def to_pubkey(self,privkey): return PubKey( diff --git a/test/unit_tests_d/ut_ecc.py b/test/unit_tests_d/ut_ecc.py index 947cd273..ca3b07dd 100755 --- a/test/unit_tests_d/ut_ecc.py +++ b/test/unit_tests_d/ut_ecc.py @@ -17,7 +17,7 @@ class unit_tests: def pubkey_ops(self,name,ut): vmsg(f' Generating pubkey, adding scalar 123456789 to pubkey:') - pk_addend_bytes = int.to_bytes(123456789,length=32) + pk_addend_bytes = int.to_bytes(123456789,length=32,byteorder='big') for privkey in ( 'beadcafe' * 8, @@ -46,15 +46,15 @@ class unit_tests: def pubkey_errors(self,name,ut): def gen1(): pubkey_gen(bytes(32),1) - def gen2(): pubkey_gen(secp256k1_group_order.to_bytes(length=32),1) - def gen3(): pubkey_gen((secp256k1_group_order+1).to_bytes(length=32),1) + def gen2(): pubkey_gen(secp256k1_group_order.to_bytes(length=32,byteorder='big'),1) + def gen3(): pubkey_gen((secp256k1_group_order+1).to_bytes(length=32,byteorder='big'),1) def gen4(): pubkey_gen(bytes.fromhex('ff'*32),1) def gen5(): pubkey_gen(bytes.fromhex('ab'*31),1) def gen6(): pubkey_gen(bytes.fromhex('ab'*33),1) pubkey_bytes = pubkey_gen(bytes.fromhex('beadcafe'*8), 1) def tweak1(): pubkey_tweak_add(pubkey_bytes,bytes(32)) - def tweak2(): pubkey_tweak_add(bytes.fromhex('03'*64),int.to_bytes(1,length=32)) + def tweak2(): pubkey_tweak_add(bytes.fromhex('03'*64),int.to_bytes(1,length=32,byteorder='big')) def check1(): pubkey_check(bytes.fromhex('04'*33)) def check2(): pubkey_check(bytes.fromhex('03'*65))