syntax = "proto3"; package cosmos.auth.v1beta1; import "amino/amino.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; option go_package = "github.com/cosmos/cosmos-sdk/x/auth/types"; // BaseAccount defines a base account type. It contains all the necessary fields // for basic account functionality. Any custom account type should extend this // type for additional functionality (e.g. vesting). message BaseAccount { option (amino.name) = "cosmos-sdk/BaseAccount"; option (gogoproto.goproto_getters) = false; option (gogoproto.equal) = false; option (cosmos_proto.implements_interface) = "cosmos.auth.v1beta1.AccountI"; string address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString"]; google.protobuf.Any pub_key = 2 [ (gogoproto.jsontag) = "public_key,omitempty", (amino.field_name) = "public_key"]; uint64 account_number = 3; uint64 sequence = 4; } // ModuleAccount defines an account for modules that holds coins on a pool. message ModuleAccount { option (amino.name) = "cosmos-sdk/ModuleAccount"; option (amino.message_encoding) = "module_account"; option (gogoproto.goproto_getters) = false; option (cosmos_proto.implements_interface) = "cosmos.auth.v1beta1.ModuleAccountI"; BaseAccount base_account = 1 [(gogoproto.embed) = true]; string name = 2; repeated string permissions = 3; } // ModuleCredential represents a unclaimable pubkey for base accounts controlled by modules. // // Since: cosmos-sdk 0.47 message ModuleCredential { option (amino.name) = "cosmos-sdk/GroupAccountCredential"; // module_name is the name of the module used for address derivation (passed into address.Module). string module_name = 1; // derivation_keys is for deriving a module account address (passed into address.Module) // adding more keys creates sub-account addresses (passed into address.Derive) repeated bytes derivation_keys = 2; } // Params defines the parameters for the auth module. message Params { option (amino.name) = "cosmos-sdk/x/auth/Params"; option (gogoproto.equal) = true; uint64 max_memo_characters = 1; uint64 tx_sig_limit = 2; uint64 tx_size_cost_per_byte = 3; uint64 sig_verify_cost_ed25519 = 4 [(gogoproto.customname) = "SigVerifyCostED25519"]; uint64 sig_verify_cost_secp256k1 = 5 [(gogoproto.customname) = "SigVerifyCostSecp256k1"]; }