func (r *DefaultRouter) check(node api.Node, pubkey bc.PubKey, channelName string, idx uint16, nonce []byte, message []byte) (bool, error) { hash, err := bc.DestHash(pubkey, nonce) if err != nil { return false, err } hashLen := uint16(len(hash)) nonceHash := message[idx+16 : idx+16+hashLen] if bytes.Equal(hash, nonceHash) { // named channel key match if err := node.Handle(channelName, message[idx+16+hashLen:]); err != nil { return false, err } return true, nil } return false, nil }