- Bumped version of lol.mleku.dev from v1.0.4 to v1.0.5. - Added new dependencies: p256k1.mleku.dev and several indirect dependencies for improved cryptographic functionality. - Refactored p256k package to utilize p256k1.mleku.dev/signer for signature operations, replacing the previous btcec implementation. - Removed the secp256k1.go file, consolidating the crypto logic under the new p256k1 library. - Updated documentation to reflect changes in the signer interface and usage.
42 lines
867 B
Go
42 lines
867 B
Go
//go:build !cgo
|
|
|
|
package p256k
|
|
|
|
import (
|
|
"lol.mleku.dev/chk"
|
|
"next.orly.dev/pkg/encoders/hex"
|
|
"next.orly.dev/pkg/interfaces/signer"
|
|
p256k1signer "p256k1.mleku.dev/signer"
|
|
)
|
|
|
|
func NewSecFromHex[V []byte | string](skh V) (sign signer.I, err error) {
|
|
sk := make([]byte, len(skh)/2)
|
|
if _, err = hex.DecBytes(sk, []byte(skh)); chk.E(err) {
|
|
return
|
|
}
|
|
sign = p256k1signer.NewBtcecSigner()
|
|
if err = sign.InitSec(sk); chk.E(err) {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func NewPubFromHex[V []byte | string](pkh V) (sign signer.I, err error) {
|
|
pk := make([]byte, len(pkh)/2)
|
|
if _, err = hex.DecBytes(pk, []byte(pkh)); chk.E(err) {
|
|
return
|
|
}
|
|
sign = p256k1signer.NewBtcecSigner()
|
|
if err = sign.InitPub(pk); chk.E(err) {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func HexToBin(hexStr string) (b []byte, err error) {
|
|
if b, err = hex.DecAppend(b, []byte(hexStr)); chk.E(err) {
|
|
return
|
|
}
|
|
return
|
|
}
|