package common import ( "crypto/ecdsa" "github.com/status-im/status-go/eth-node/crypto" "github.com/status-im/status-go/protocol/protobuf" ) func RecoverKey(m *protobuf.ApplicationMetadataMessage) (*ecdsa.PublicKey, error) { if m.Signature == nil { return nil, nil } recoveredKey, err := crypto.SigToPub( crypto.Keccak256(m.Payload), m.Signature, ) if err != nil { return nil, err } return recoveredKey, nil }