Refactor signer implementation to use p8k package
- Replaced all instances of p256k1signer with the new p8k.Signer across various modules, including event creation, policy handling, and database interactions. - Updated related test cases and benchmarks to ensure compatibility with the new signer interface. - Bumped version to v0.25.0 to reflect these significant changes and improvements in cryptographic operations.
This commit is contained in:
@@ -17,7 +17,7 @@ import (
|
||||
|
||||
"lol.mleku.dev/chk"
|
||||
"lol.mleku.dev/log"
|
||||
p256k1signer "p256k1.mleku.dev/signer"
|
||||
"next.orly.dev/pkg/interfaces/signer/p8k"
|
||||
"github.com/minio/sha256-simd"
|
||||
"next.orly.dev/pkg/encoders/bech32encoding"
|
||||
"next.orly.dev/pkg/encoders/event"
|
||||
@@ -335,7 +335,10 @@ func NewAggregator(keyInput string, since, until *timestamp.T, bloomFilterFile s
|
||||
}
|
||||
|
||||
// Create signer from private key
|
||||
signer = p256k1signer.NewP256K1Signer()
|
||||
var signerErr error
|
||||
if signer, signerErr = p8k.New(); signerErr != nil {
|
||||
return nil, fmt.Errorf("failed to create signer: %w", signerErr)
|
||||
}
|
||||
if err = signer.InitSec(secretBytes); chk.E(err) {
|
||||
return nil, fmt.Errorf("failed to initialize signer: %w", err)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
"next.orly.dev/pkg/encoders/tag"
|
||||
"next.orly.dev/pkg/encoders/timestamp"
|
||||
"next.orly.dev/pkg/protocol/ws"
|
||||
p256k1signer "p256k1.mleku.dev/signer"
|
||||
"next.orly.dev/pkg/interfaces/signer/p8k"
|
||||
)
|
||||
|
||||
type BenchmarkConfig struct {
|
||||
@@ -167,7 +167,11 @@ func runNetworkLoad(cfg *BenchmarkConfig) {
|
||||
fmt.Printf("worker %d: connected to %s\n", workerID, cfg.RelayURL)
|
||||
|
||||
// Signer for this worker
|
||||
keys := p256k1signer.NewP256K1Signer()
|
||||
var keys *p8k.Signer
|
||||
if keys, err = p8k.New(); err != nil {
|
||||
fmt.Printf("worker %d: signer create failed: %v\n", workerID, err)
|
||||
return
|
||||
}
|
||||
if err := keys.Generate(); err != nil {
|
||||
fmt.Printf("worker %d: keygen failed: %v\n", workerID, err)
|
||||
return
|
||||
@@ -960,7 +964,12 @@ func (b *Benchmark) generateEvents(count int) []*event.E {
|
||||
now := timestamp.Now()
|
||||
|
||||
// Generate a keypair for signing all events
|
||||
keys := p256k1signer.NewP256K1Signer()
|
||||
var keys *p8k.Signer
|
||||
var err error
|
||||
if keys, err = p8k.New(); err != nil {
|
||||
fmt.Printf("failed to create signer: %v\n", err)
|
||||
return nil
|
||||
}
|
||||
if err := keys.Generate(); err != nil {
|
||||
log.Fatalf("Failed to generate keys for benchmark events: %v", err)
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
|
||||
"lol.mleku.dev/chk"
|
||||
"lol.mleku.dev/log"
|
||||
p256k1signer "p256k1.mleku.dev/signer"
|
||||
"next.orly.dev/pkg/interfaces/signer/p8k"
|
||||
"next.orly.dev/pkg/encoders/event"
|
||||
"next.orly.dev/pkg/encoders/filter"
|
||||
"next.orly.dev/pkg/encoders/hex"
|
||||
@@ -44,7 +44,11 @@ func main() {
|
||||
log.E.F("failed to decode allowed secret key: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
allowedSigner := p256k1signer.NewP256K1Signer()
|
||||
var allowedSigner *p8k.Signer
|
||||
if allowedSigner, err = p8k.New(); chk.E(err) {
|
||||
log.E.F("failed to create allowed signer: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
if err = allowedSigner.InitSec(allowedSecBytes); chk.E(err) {
|
||||
log.E.F("failed to initialize allowed signer: %v", err)
|
||||
os.Exit(1)
|
||||
@@ -55,7 +59,11 @@ func main() {
|
||||
log.E.F("failed to decode unauthorized secret key: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
unauthorizedSigner := p256k1signer.NewP256K1Signer()
|
||||
var unauthorizedSigner *p8k.Signer
|
||||
if unauthorizedSigner, err = p8k.New(); chk.E(err) {
|
||||
log.E.F("failed to create unauthorized signer: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
if err = unauthorizedSigner.InitSec(unauthorizedSecBytes); chk.E(err) {
|
||||
log.E.F("failed to initialize unauthorized signer: %v", err)
|
||||
os.Exit(1)
|
||||
@@ -136,7 +144,7 @@ func main() {
|
||||
fmt.Println("\n✅ All tests passed!")
|
||||
}
|
||||
|
||||
func testWriteEvent(ctx context.Context, url string, kindNum uint16, eventSigner, authSigner *p256k1signer.P256K1Signer) error {
|
||||
func testWriteEvent(ctx context.Context, url string, kindNum uint16, eventSigner, authSigner *p8k.Signer) error {
|
||||
rl, err := ws.RelayConnect(ctx, url)
|
||||
if err != nil {
|
||||
return fmt.Errorf("connect error: %w", err)
|
||||
@@ -192,7 +200,7 @@ func testWriteEvent(ctx context.Context, url string, kindNum uint16, eventSigner
|
||||
return nil
|
||||
}
|
||||
|
||||
func testWriteEventUnauthenticated(ctx context.Context, url string, kindNum uint16, eventSigner *p256k1signer.P256K1Signer) error {
|
||||
func testWriteEventUnauthenticated(ctx context.Context, url string, kindNum uint16, eventSigner *p8k.Signer) error {
|
||||
rl, err := ws.RelayConnect(ctx, url)
|
||||
if err != nil {
|
||||
return fmt.Errorf("connect error: %w", err)
|
||||
@@ -227,7 +235,7 @@ func testWriteEventUnauthenticated(ctx context.Context, url string, kindNum uint
|
||||
return nil
|
||||
}
|
||||
|
||||
func testReadEvent(ctx context.Context, url string, kindNum uint16, authSigner *p256k1signer.P256K1Signer) error {
|
||||
func testReadEvent(ctx context.Context, url string, kindNum uint16, authSigner *p8k.Signer) error {
|
||||
rl, err := ws.RelayConnect(ctx, url)
|
||||
if err != nil {
|
||||
return fmt.Errorf("connect error: %w", err)
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
|
||||
"lol.mleku.dev/chk"
|
||||
"lol.mleku.dev/log"
|
||||
p256k1signer "p256k1.mleku.dev/signer"
|
||||
"next.orly.dev/pkg/interfaces/signer/p8k"
|
||||
"next.orly.dev/pkg/encoders/event"
|
||||
"next.orly.dev/pkg/encoders/kind"
|
||||
"next.orly.dev/pkg/encoders/tag"
|
||||
@@ -29,7 +29,11 @@ func main() {
|
||||
}
|
||||
defer rl.Close()
|
||||
|
||||
signer := p256k1signer.NewP256K1Signer()
|
||||
var signer *p8k.Signer
|
||||
if signer, err = p8k.New(); chk.E(err) {
|
||||
log.E.F("signer create error: %v", err)
|
||||
return
|
||||
}
|
||||
if err = signer.Generate(); chk.E(err) {
|
||||
log.E.F("signer generate error: %v", err)
|
||||
return
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
"time"
|
||||
|
||||
"lol.mleku.dev/log"
|
||||
p256k1signer "p256k1.mleku.dev/signer"
|
||||
"next.orly.dev/pkg/interfaces/signer/p8k"
|
||||
"next.orly.dev/pkg/encoders/envelopes/eventenvelope"
|
||||
"next.orly.dev/pkg/encoders/event"
|
||||
"next.orly.dev/pkg/encoders/event/examples"
|
||||
@@ -35,7 +35,7 @@ func randomHex(n int) string {
|
||||
return hex.Enc(b)
|
||||
}
|
||||
|
||||
func makeEvent(rng *rand.Rand, signer *p256k1signer.P256K1Signer) (*event.E, error) {
|
||||
func makeEvent(rng *rand.Rand, signer *p8k.Signer) (*event.E, error) {
|
||||
ev := &event.E{
|
||||
CreatedAt: time.Now().Unix(),
|
||||
Kind: kind.TextNote.K,
|
||||
@@ -293,7 +293,12 @@ func publisherWorker(
|
||||
src := rand.NewSource(time.Now().UnixNano() ^ int64(id<<16))
|
||||
rng := rand.New(src)
|
||||
// Generate and reuse signing key per worker
|
||||
signer := p256k1signer.NewP256K1Signer()
|
||||
var signer *p8k.Signer
|
||||
var err error
|
||||
if signer, err = p8k.New(); err != nil {
|
||||
log.E.F("worker %d: signer create error: %v", id, err)
|
||||
return
|
||||
}
|
||||
if err := signer.Generate(); err != nil {
|
||||
log.E.F("worker %d: signer generate error: %v", id, err)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user