package batch import ( "github.com/tendermint/tendermint/crypto" "github.com/tendermint/tendermint/crypto/ed25519" "github.com/tendermint/tendermint/crypto/sr25519" ) // CreateBatchVerifier checks if a key type implements the batch verifier interface. // Currently only ed25519 & sr25519 supports batch verification. func CreateBatchVerifier(pk crypto.PubKey) (crypto.BatchVerifier, bool) { switch pk.Type() { case ed25519.KeyType: return ed25519.NewBatchVerifier(), true case sr25519.KeyType: return sr25519.NewBatchVerifier(), true } // case where the key does not support batch verification return nil, false } // SupportsBatchVerifier checks if a key type implements the batch verifier // interface. func SupportsBatchVerifier(pk crypto.PubKey) bool { switch pk.Type() { case ed25519.KeyType, sr25519.KeyType: return true } return false }