// Since: cosmos-sdk 0.43
syntax = "proto3";
package cosmos.crypto.secp256r1;

import "gogoproto/gogo.proto";

option go_package                       = "github.com/cosmos/cosmos-sdk/crypto/keys/secp256r1";
option (gogoproto.messagename_all)      = true;
option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.goproto_getters_all)  = false;

// PubKey defines a secp256r1 ECDSA public key.
message PubKey {
  // Point on secp256r1 curve in a compressed representation as specified in section
  // 4.3.6 of ANSI X9.62: https://webstore.ansi.org/standards/ascx9/ansix9621998
  bytes key = 1 [(gogoproto.customtype) = "ecdsaPK"];
}

// PrivKey defines a secp256r1 ECDSA private key.
message PrivKey {
  // secret number serialized using big-endian encoding
  bytes secret = 1 [(gogoproto.customtype) = "ecdsaSK"];
}