refactor: use pynostr/coincurve instead of secp256k1 (#18)

---------

Co-authored-by: Riccardo Balbo <os@rblb.it>
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
This commit is contained in:
dni ⚡ 2025-12-02 21:04:55 +01:00 • committed by GitHub
commit 667a4b0528
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 2056 additions and 1237 deletions

View file

@ -33,25 +33,22 @@ def test_supported_methods(nwc_service_provider):
def test_encrytdecrypt(nwc_service_provider, nwc_service_provider2):
content = "Hello World"
expected_enc = "qVurNVISSl/9CfREIhk5Lg==?iv=QpCo5dI9gUcoLsSMLA7o7Q=="
enc_a = nwc_service_provider._encrypt_content(
content, nwc_service_provider2.public_key_hex, 21
enc_a = nwc_service_provider.private_key.encrypt_message(
content, nwc_service_provider2.public_key_hex
)
enc_b = nwc_service_provider2._encrypt_content(
content, nwc_service_provider.public_key_hex, 21
enc_b = nwc_service_provider2.private_key.encrypt_message(
content, nwc_service_provider.public_key_hex
)
dec_a = nwc_service_provider2._decrypt_content(
dec_a = nwc_service_provider2.private_key.decrypt_message(
enc_a, nwc_service_provider.public_key_hex
)
dec_b = nwc_service_provider._decrypt_content(
dec_b = nwc_service_provider.private_key.decrypt_message(
enc_b, nwc_service_provider2.public_key_hex
)
assert dec_a == content
assert dec_b == content
assert enc_a == expected_enc
assert enc_b == expected_enc
def test_signverify(nwc_service_provider, nwc_service_provider2):
@ -82,8 +79,8 @@ async def test_handle(nwc_service_provider, nwc_service_provider2):
content = nwc_service_provider._json_dumps(
{"method": "pay_invoice", "params": {"invoice": "abc"}}
)
content = nwc_service_provider._encrypt_content(
content, nwc_service_provider2.public_key_hex, 21
content = nwc_service_provider.private_key.encrypt_message(
content, nwc_service_provider2.public_key_hex
)
event = {
"kind": 23194,
@ -108,7 +105,7 @@ async def test_handle(nwc_service_provider, nwc_service_provider2):
assert len(sent_events) == 1
for revent in sent_events:
assert nwc_service_provider2._verify_event(revent)
content = nwc_service_provider2._decrypt_content(
content = nwc_service_provider2.private_key.decrypt_message(
revent["content"], nwc_service_provider.public_key_hex
)
logger.debug(event)