syntax = "proto3"; package cosmos.crypto.multisig; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; import "amino/amino.proto"; option go_package = "github.com/cosmos/cosmos-sdk/crypto/keys/multisig"; // LegacyAminoPubKey specifies a public key type // which nests multiple public keys and a threshold, // it uses legacy amino address rules. message LegacyAminoPubKey { option (amino.name) = "tendermint/PubKeyMultisigThreshold"; // The Amino encoding of a LegacyAminoPubkey is the legacy amino // encoding of the `PubKeyMultisigThreshold` struct defined below: // https://github.com/tendermint/tendermint/blob/v0.33.9/crypto/multisig/threshold_pubkey.go // // There are 2 differences with what a "normal" Amino encoding // would output: // 1. The `threshold` field is always a string (whereas Amino would // by default marshal uint32 as a number). // 2. The `public_keys` field is renamed to `pubkeys`, which is also // reflected in the `amino.field_name` annotation. option (amino.message_encoding) = "threshold_string"; option (gogoproto.goproto_getters) = false; uint32 threshold = 1; repeated google.protobuf.Any public_keys = 2 [(gogoproto.customname) = "PubKeys", (amino.field_name) = "pubkeys"]; }