github.com/onflow/flow-go@v0.35.7-crescendo-preview.23-atree-inlining/utils/unittest/keys.go (about) 1 package unittest 2 3 import ( 4 "encoding/hex" 5 6 "github.com/onflow/crypto" 7 8 "github.com/onflow/flow-go/model/encodable" 9 ) 10 11 func NetworkingKeys(n int) []crypto.PrivateKey { 12 keys := make([]crypto.PrivateKey, 0, n) 13 14 for i := 0; i < n; i++ { 15 key := NetworkingPrivKeyFixture() 16 keys = append(keys, key) 17 } 18 19 return keys 20 } 21 22 func StakingKeys(n int) []crypto.PrivateKey { 23 keys := make([]crypto.PrivateKey, 0, n) 24 25 for i := 0; i < n; i++ { 26 key := StakingPrivKeyFixture() 27 keys = append(keys, key) 28 } 29 30 return keys 31 } 32 33 func RandomBeaconPriv() *encodable.RandomBeaconPrivKey { 34 privKey := StakingPrivKeyFixture() 35 return &encodable.RandomBeaconPrivKey{ 36 PrivateKey: privKey, 37 } 38 } 39 40 func MustDecodePublicKeyHex(algo crypto.SigningAlgorithm, keyHex string) crypto.PublicKey { 41 keyBytes, err := hex.DecodeString(keyHex) 42 if err != nil { 43 panic(err) 44 } 45 key, err := crypto.DecodePublicKey(algo, keyBytes) 46 if err != nil { 47 panic(err) 48 } 49 return key 50 } 51 52 func MustDecodeSignatureHex(sigHex string) crypto.Signature { 53 sigBytes, err := hex.DecodeString(sigHex) 54 if err != nil { 55 panic(err) 56 } 57 return sigBytes 58 }