Files
next.orly.dev/pkg/crypto/p256k/btcec/helpers-btcec.go

42 lines
793 B
Go

//go:build !cgo
package btcec
import (
"encoders.orly/hex"
"interfaces.orly/signer"
"lol.mleku.dev/chk"
)
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 = &Signer{}
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 = &Signer{}
if err = sign.InitPub(pk); chk.E(err) {
return
}
return
}
func HexToBin(hexStr string) (b []byte, err error) {
b = make([]byte, len(hexStr)/2)
if _, err = hex.DecBytes(b, []byte(hexStr)); chk.E(err) {
return
}
return
}