Refactor crypto package to use p256k1 signer
Some checks failed
Go / build (push) Has been cancelled
Go / release (push) Has been cancelled

- Replaced the p256k package with p256k1.mleku.dev/signer across the codebase, updating all instances where the previous signer was utilized.
- Removed the deprecated p256k package, including all related files and tests, to streamline the codebase and improve maintainability.
- Updated various components, including event handling, database interactions, and protocol implementations, to ensure compatibility with the new signer interface.
- Enhanced tests to validate the new signing functionality and ensure robustness across the application.
- Bumped version to v0.23.3 to reflect these changes.
This commit is contained in:
2025-11-03 10:21:31 +00:00
parent edcdec9c7e
commit 2614b51068
50 changed files with 312 additions and 972 deletions

View File

@@ -5,12 +5,12 @@ import (
"lol.mleku.dev/chk"
"lol.mleku.dev/log"
"next.orly.dev/pkg/crypto/p256k"
p256k1signer "p256k1.mleku.dev/signer"
)
func TestCreateUnsigned(t *testing.T) {
var err error
signer := new(p256k.Signer)
signer := p256k1signer.NewP256K1Signer()
if err = signer.Generate(); chk.E(err) {
t.Fatal(err)
}

View File

@@ -7,14 +7,14 @@ import (
"lol.mleku.dev/chk"
"next.orly.dev/pkg/crypto/ec/secp256k1"
"next.orly.dev/pkg/crypto/p256k"
p256k1signer "p256k1.mleku.dev/signer"
"next.orly.dev/pkg/encoders/bech32encoding"
"next.orly.dev/pkg/protocol/directory"
)
// Helper to create a test keypair using p256k.Signer
func createTestKeypair(t *testing.T) (*p256k.Signer, []byte) {
signer := new(p256k.Signer)
// Helper to create a test keypair using p256k1signer.P256K1Signer
func createTestKeypair(t *testing.T) (*p256k1signer.P256K1Signer, []byte) {
signer := p256k1signer.NewP256K1Signer()
if err := signer.Generate(); chk.E(err) {
t.Fatalf("failed to generate keypair: %v", err)
}

View File

@@ -6,7 +6,7 @@ import (
"time"
"next.orly.dev/pkg/crypto/encryption"
"next.orly.dev/pkg/crypto/p256k"
p256k1signer "p256k1.mleku.dev/signer"
"next.orly.dev/pkg/encoders/event"
"next.orly.dev/pkg/encoders/hex"
"next.orly.dev/pkg/encoders/tag"
@@ -101,7 +101,7 @@ func TestNWCEventCreation(t *testing.T) {
t.Fatal(err)
}
clientKey := &p256k.Signer{}
clientKey := p256k1signer.NewP256K1Signer()
if err := clientKey.InitSec(secretBytes); err != nil {
t.Fatal(err)
}

View File

@@ -10,7 +10,7 @@ import (
"lol.mleku.dev/chk"
"next.orly.dev/pkg/crypto/encryption"
"next.orly.dev/pkg/crypto/p256k"
p256k1signer "p256k1.mleku.dev/signer"
"next.orly.dev/pkg/encoders/event"
"next.orly.dev/pkg/encoders/filter"
"next.orly.dev/pkg/encoders/hex"
@@ -40,7 +40,7 @@ func NewMockWalletService(
relay string, initialBalance int64,
) (service *MockWalletService, err error) {
// Generate wallet keypair
walletKey := &p256k.Signer{}
walletKey := p256k1signer.NewP256K1Signer()
if err = walletKey.Generate(); chk.E(err) {
return
}

View File

@@ -6,7 +6,8 @@ import (
"lol.mleku.dev/chk"
"next.orly.dev/pkg/crypto/encryption"
"next.orly.dev/pkg/crypto/p256k"
p256k1signer "p256k1.mleku.dev/signer"
"next.orly.dev/pkg/encoders/hex"
"next.orly.dev/pkg/interfaces/signer"
)
@@ -41,7 +42,7 @@ func ParseConnectionURI(nwcUri string) (parts *ConnectionParams, err error) {
err = errors.New("incorrect scheme")
return
}
if parts.walletPublicKey, err = p256k.HexToBin(p.Host); chk.E(err) {
if parts.walletPublicKey, err = hex.Dec(p.Host); chk.E(err) {
err = errors.New("invalid public key")
return
}
@@ -62,11 +63,11 @@ func ParseConnectionURI(nwcUri string) (parts *ConnectionParams, err error) {
return
}
var secretBytes []byte
if secretBytes, err = p256k.HexToBin(secret); chk.E(err) {
if secretBytes, err = hex.Dec(secret); chk.E(err) {
err = errors.New("invalid secret")
return
}
clientKey := &p256k.Signer{}
clientKey := p256k1signer.NewP256K1Signer()
if err = clientKey.InitSec(secretBytes); chk.E(err) {
return
}

View File

@@ -16,7 +16,7 @@ import (
"github.com/stretchr/testify/require"
"golang.org/x/net/websocket"
"lol.mleku.dev/chk"
"next.orly.dev/pkg/crypto/p256k"
p256k1signer "p256k1.mleku.dev/signer"
"next.orly.dev/pkg/encoders/event"
"next.orly.dev/pkg/encoders/filter"
"next.orly.dev/pkg/encoders/hex"
@@ -36,7 +36,7 @@ func TestPublish(t *testing.T) {
Tags: tag.NewS(tag.NewFromAny("foo", "bar")),
Pubkey: pub,
}
sign := &p256k.Signer{}
sign := p256k1signer.NewP256K1Signer()
var err error
if err = sign.InitSec(priv); chk.E(err) {
}
@@ -208,7 +208,7 @@ var anyOriginHandshake = func(conf *websocket.Config, r *http.Request) error {
func makeKeyPair(t *testing.T) (sec, pub []byte) {
t.Helper()
sign := &p256k.Signer{}
sign := p256k1signer.NewP256K1Signer()
var err error
if err = sign.Generate(); chk.E(err) {
return