MCPcopy
hub / github.com/canopy-network/canopy / NewPublicKeyFromBytes

Function NewPublicKeyFromBytes

lib/crypto/key.go:87–99  ·  view source on GitHub ↗

NewPublicKeyFromBytes() creates a new PublicKeyI interface from a byte slice

(bz []byte)

Source from the content-addressed store, hash-verified

85
86// NewPublicKeyFromBytes() creates a new PublicKeyI interface from a byte slice
87func NewPublicKeyFromBytes(bz []byte) (PublicKeyI, error) {
88 switch len(bz) {
89 case Ed25519PubKeySize:
90 return BytesToED25519Public(bz), nil
91 case ETHSECP256K1PubKeySize, ETHSECP256K1PubKeySize + 1:
92 return BytesToEthSECP256K1Public(bz)
93 case SECP256K1PubKeySize:
94 return BytesToSECP256K1Public(bz)
95 case BLS12381PubKeySize:
96 return BytesToBLS12381Public(bz)
97 }
98 return nil, fmt.Errorf("unrecognized public key format")
99}
100
101// PrivateKeyToFile() writes a private key to a file located at filepath
102func PrivateKeyToFile(key PrivateKeyI, filepath string) error {

Callers 15

ConsensusSummaryMethod · 0.92
NewFailedTxFunction · 0.92
NewValidatorSetFunction · 0.92
LogNonSignersMethod · 0.92
WeightedPseudorandomFunction · 0.92
TestFailedTxCacheFunction · 0.92
PublicKeyFromBytesFunction · 0.92
IncrementNonSignersMethod · 0.92
HandleDoubleSignersMethod · 0.92
TestHandleMessageStakeFunction · 0.92
HandleMessageStakeMethod · 0.92

Calls 5

BytesToED25519PublicFunction · 0.85
BytesToSECP256K1PublicFunction · 0.85
BytesToBLS12381PublicFunction · 0.85
ErrorfMethod · 0.65

Tested by 4

TestFailedTxCacheFunction · 0.74
TestHandleMessageStakeFunction · 0.74
TestHandleDoubleSignersFunction · 0.74