OSDN Git Service

Feat(ed25519): replace with crypto/ed25519 (#1907)
[bytom/bytom.git] / crypto / ed25519 / chainkd / util.go
1 package chainkd
2
3 import (
4         "crypto/ed25519"
5         "io"
6 )
7
8 // Utility functions
9
10 func NewXKeys(r io.Reader) (xprv XPrv, xpub XPub, err error) {
11         xprv, err = NewXPrv(r)
12         if err != nil {
13                 return
14         }
15         return xprv, xprv.XPub(), nil
16 }
17
18 func XPubKeys(xpubs []XPub) []ed25519.PublicKey {
19         res := make([]ed25519.PublicKey, 0, len(xpubs))
20         for _, xpub := range xpubs {
21                 res = append(res, xpub.PublicKey())
22         }
23         return res
24 }
25
26 func DeriveXPubs(xpubs []XPub, path [][]byte) []XPub {
27         res := make([]XPub, 0, len(xpubs))
28         for _, xpub := range xpubs {
29                 d := xpub.Derive(path)
30                 res = append(res, d)
31         }
32         return res
33 }