6 "github.com/vapor/crypto/ed25519/chainkd"
15 ErrPubkeyLength = errors.New("pubkey length error")
18 type PubKey interface {
21 Verify(msg []byte, sig []byte) bool
22 MarshalText() ([]byte, error)
25 type PrivKey interface {
27 Sign(msg []byte) []byte
31 func NewPrivKey() (PrivKey, error) {
32 return chainkd.NewXPrv(nil)
35 func NewPubKey(pubkey []byte) (PubKey, error) {
36 if len(pubkey) != PubkeySize {
37 return nil, ErrPubkeyLength
40 var pubKey chainkd.XPub
41 copy(pubKey[:], pubkey[:])