Migrate package imports from next.orly.dev to new orly domain structure; add new varint and binary encoders with comprehensive tests; enhance existing tag and envelope implementations with additional methods, validations, and test coverage; introduce shared test.sh script for streamlined testing across modules.
This commit is contained in:
@@ -3,8 +3,8 @@
|
||||
package p256k
|
||||
|
||||
import (
|
||||
"crypto.orly/p256k/btcec"
|
||||
"lol.mleku.dev/log"
|
||||
"next.orly.dev/pkg/crypto/p256k/btcec"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
||||
@@ -4,19 +4,18 @@
|
||||
package btcec
|
||||
|
||||
import (
|
||||
"crypto.orly/ec/schnorr"
|
||||
"crypto.orly/ec/secp256k1"
|
||||
"interfaces.orly/signer"
|
||||
"lol.mleku.dev/chk"
|
||||
"lol.mleku.dev/errorf"
|
||||
btcec3 "next.orly.dev/pkg/crypto/ec"
|
||||
"next.orly.dev/pkg/crypto/ec/schnorr"
|
||||
"next.orly.dev/pkg/crypto/ec/secp256k1"
|
||||
"next.orly.dev/pkg/interfaces/signer"
|
||||
)
|
||||
|
||||
// Signer is an implementation of signer.I that uses the btcec library.
|
||||
type Signer struct {
|
||||
SecretKey *secp256k1.SecretKey
|
||||
PublicKey *secp256k1.PublicKey
|
||||
BTCECSec *btcec3.SecretKey
|
||||
BTCECSec *ec.SecretKey
|
||||
pkb, skb []byte
|
||||
}
|
||||
|
||||
@@ -24,11 +23,11 @@ var _ signer.I = &Signer{}
|
||||
|
||||
// Generate creates a new Signer.
|
||||
func (s *Signer) Generate() (err error) {
|
||||
if s.SecretKey, err = btcec3.NewSecretKey(); chk.E(err) {
|
||||
if s.SecretKey, err = ec.NewSecretKey(); chk.E(err) {
|
||||
return
|
||||
}
|
||||
s.skb = s.SecretKey.Serialize()
|
||||
s.BTCECSec, _ = btcec3.PrivKeyFromBytes(s.skb)
|
||||
s.BTCECSec, _ = ec.PrivKeyFromBytes(s.skb)
|
||||
s.PublicKey = s.SecretKey.PubKey()
|
||||
s.pkb = schnorr.SerializePubKey(s.PublicKey)
|
||||
return
|
||||
@@ -44,7 +43,7 @@ func (s *Signer) InitSec(sec []byte) (err error) {
|
||||
s.SecretKey = secp256k1.SecKeyFromBytes(sec)
|
||||
s.PublicKey = s.SecretKey.PubKey()
|
||||
s.pkb = schnorr.SerializePubKey(s.PublicKey)
|
||||
s.BTCECSec, _ = btcec3.PrivKeyFromBytes(s.skb)
|
||||
s.BTCECSec, _ = ec.PrivKeyFromBytes(s.skb)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -143,7 +142,7 @@ func (s *Signer) ECDH(pubkeyBytes []byte) (secret []byte, err error) {
|
||||
); chk.E(err) {
|
||||
return
|
||||
}
|
||||
secret = btcec3.GenerateSharedSecret(s.BTCECSec, pub)
|
||||
secret = ec.GenerateSharedSecret(s.BTCECSec, pub)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -155,7 +154,7 @@ type Keygen struct {
|
||||
// Generate a new key pair. If the result is suitable, the embedded Signer can have its contents
|
||||
// extracted.
|
||||
func (k *Keygen) Generate() (pubBytes []byte, err error) {
|
||||
if k.Signer.SecretKey, err = btcec3.NewSecretKey(); chk.E(err) {
|
||||
if k.Signer.SecretKey, err = ec.NewSecretKey(); chk.E(err) {
|
||||
return
|
||||
}
|
||||
k.Signer.PublicKey = k.SecretKey.PubKey()
|
||||
|
||||
@@ -6,11 +6,10 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"next.orly.dev/pkg/utils"
|
||||
|
||||
"crypto.orly/p256k/btcec"
|
||||
"lol.mleku.dev/chk"
|
||||
"lol.mleku.dev/log"
|
||||
"next.orly.dev/pkg/crypto/p256k/btcec"
|
||||
"utils.orly"
|
||||
)
|
||||
|
||||
func TestSigner_Generate(t *testing.T) {
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
package btcec
|
||||
|
||||
import (
|
||||
"encoders.orly/hex"
|
||||
"interfaces.orly/signer"
|
||||
"lol.mleku.dev/chk"
|
||||
"next.orly.dev/pkg/encoders/hex"
|
||||
"next.orly.dev/pkg/interfaces/signer"
|
||||
)
|
||||
|
||||
func NewSecFromHex[V []byte | string](skh V) (sign signer.I, err error) {
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
package p256k
|
||||
|
||||
import (
|
||||
"encoders.orly/hex"
|
||||
"interfaces.orly/signer"
|
||||
"lol.mleku.dev/chk"
|
||||
"next.orly.dev/pkg/encoders/hex"
|
||||
"next.orly.dev/pkg/interfaces/signer"
|
||||
)
|
||||
|
||||
func NewSecFromHex[V []byte | string](skh V) (sign signer.I, err error) {
|
||||
|
||||
@@ -4,12 +4,12 @@ package p256k
|
||||
|
||||
import "C"
|
||||
import (
|
||||
"crypto.orly/ec"
|
||||
"crypto.orly/ec/secp256k1"
|
||||
"interfaces.orly/signer"
|
||||
"lol.mleku.dev/chk"
|
||||
"lol.mleku.dev/errorf"
|
||||
"lol.mleku.dev/log"
|
||||
"next.orly.dev/pkg/crypto/ec"
|
||||
"next.orly.dev/pkg/crypto/ec/secp256k1"
|
||||
realy "next.orly.dev/pkg/interfaces/signer"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -33,7 +33,7 @@ type Signer struct {
|
||||
skb, pkb []byte
|
||||
}
|
||||
|
||||
var _ realy.I = &Signer{}
|
||||
var _ signer.I = &Signer{}
|
||||
|
||||
// Generate a new Signer key pair using the CGO bindings to libsecp256k1
|
||||
func (s *Signer) Generate() (err error) {
|
||||
|
||||
@@ -6,24 +6,23 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"next.orly.dev/pkg/utils"
|
||||
|
||||
"crypto.orly/p256k"
|
||||
"interfaces.orly/signer"
|
||||
"lol.mleku.dev/chk"
|
||||
"lol.mleku.dev/log"
|
||||
"next.orly.dev/pkg/crypto/p256k"
|
||||
realy "next.orly.dev/pkg/interfaces/signer"
|
||||
"utils.orly"
|
||||
)
|
||||
|
||||
func TestSigner_Generate(t *testing.T) {
|
||||
for _ = range 10000 {
|
||||
var err error
|
||||
signer := &p256k.Signer{}
|
||||
sign := &p256k.Signer{}
|
||||
var skb []byte
|
||||
if err = signer.Generate(); chk.E(err) {
|
||||
if err = sign.Generate(); chk.E(err) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
skb = signer.Sec()
|
||||
if err = signer.InitSec(skb); chk.E(err) {
|
||||
skb = sign.Sec()
|
||||
if err = sign.InitSec(skb); chk.E(err) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
@@ -123,7 +122,7 @@ func TestSigner_Generate(t *testing.T) {
|
||||
func TestECDH(t *testing.T) {
|
||||
n := time.Now()
|
||||
var err error
|
||||
var s1, s2 realy.I
|
||||
var s1, s2 signer.I
|
||||
var counter int
|
||||
const total = 100
|
||||
for _ = range total {
|
||||
|
||||
@@ -6,12 +6,12 @@ import (
|
||||
"crypto/rand"
|
||||
"unsafe"
|
||||
|
||||
"crypto.orly/ec/schnorr"
|
||||
"crypto.orly/ec/secp256k1"
|
||||
"crypto.orly/sha256"
|
||||
"lol.mleku.dev/chk"
|
||||
"lol.mleku.dev/errorf"
|
||||
"lol.mleku.dev/log"
|
||||
"next.orly.dev/pkg/crypto/ec/schnorr"
|
||||
"next.orly.dev/pkg/crypto/ec/secp256k1"
|
||||
"next.orly.dev/pkg/crypto/sha256"
|
||||
)
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user