github.com/Finschia/finschia-sdk@v0.49.1/proto/cosmos/distribution/v1beta1/distribution.proto (about)

     1  syntax = "proto3";
     2  package cosmos.distribution.v1beta1;
     3  
     4  option go_package            = "github.com/Finschia/finschia-sdk/x/distribution/types";
     5  option (gogoproto.equal_all) = true;
     6  
     7  import "gogoproto/gogo.proto";
     8  import "cosmos/base/v1beta1/coin.proto";
     9  
    10  // Params defines the set of params for the distribution module.
    11  message Params {
    12    option (gogoproto.goproto_stringer) = false;
    13    string community_tax                = 1 [
    14      (gogoproto.moretags)   = "yaml:\"community_tax\"",
    15      (gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Dec",
    16      (gogoproto.nullable)   = false
    17    ];
    18    string base_proposer_reward = 2 [
    19      (gogoproto.moretags)   = "yaml:\"base_proposer_reward\"",
    20      (gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Dec",
    21      (gogoproto.nullable)   = false
    22    ];
    23    string bonus_proposer_reward = 3 [
    24      (gogoproto.moretags)   = "yaml:\"bonus_proposer_reward\"",
    25      (gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Dec",
    26      (gogoproto.nullable)   = false
    27    ];
    28    bool withdraw_addr_enabled = 4 [(gogoproto.moretags) = "yaml:\"withdraw_addr_enabled\""];
    29  }
    30  
    31  // ValidatorHistoricalRewards represents historical rewards for a validator.
    32  // Height is implicit within the store key.
    33  // Cumulative reward ratio is the sum from the zeroeth period
    34  // until this period of rewards / tokens, per the spec.
    35  // The reference count indicates the number of objects
    36  // which might need to reference this historical entry at any point.
    37  // ReferenceCount =
    38  //    number of outstanding delegations which ended the associated period (and
    39  //    might need to read that record)
    40  //  + number of slashes which ended the associated period (and might need to
    41  //  read that record)
    42  //  + one per validator for the zeroeth period, set on initialization
    43  message ValidatorHistoricalRewards {
    44    repeated cosmos.base.v1beta1.DecCoin cumulative_reward_ratio = 1 [
    45      (gogoproto.moretags)     = "yaml:\"cumulative_reward_ratio\"",
    46      (gogoproto.castrepeated) = "github.com/Finschia/finschia-sdk/types.DecCoins",
    47      (gogoproto.nullable)     = false
    48    ];
    49    uint32 reference_count = 2 [(gogoproto.moretags) = "yaml:\"reference_count\""];
    50  }
    51  
    52  // ValidatorCurrentRewards represents current rewards and current
    53  // period for a validator kept as a running counter and incremented
    54  // each block as long as the validator's tokens remain constant.
    55  message ValidatorCurrentRewards {
    56    repeated cosmos.base.v1beta1.DecCoin rewards = 1
    57        [(gogoproto.castrepeated) = "github.com/Finschia/finschia-sdk/types.DecCoins", (gogoproto.nullable) = false];
    58    uint64 period = 2;
    59  }
    60  
    61  // ValidatorAccumulatedCommission represents accumulated commission
    62  // for a validator kept as a running counter, can be withdrawn at any time.
    63  message ValidatorAccumulatedCommission {
    64    repeated cosmos.base.v1beta1.DecCoin commission = 1
    65        [(gogoproto.castrepeated) = "github.com/Finschia/finschia-sdk/types.DecCoins", (gogoproto.nullable) = false];
    66  }
    67  
    68  // ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards
    69  // for a validator inexpensive to track, allows simple sanity checks.
    70  message ValidatorOutstandingRewards {
    71    repeated cosmos.base.v1beta1.DecCoin rewards = 1 [
    72      (gogoproto.moretags)     = "yaml:\"rewards\"",
    73      (gogoproto.castrepeated) = "github.com/Finschia/finschia-sdk/types.DecCoins",
    74      (gogoproto.nullable)     = false
    75    ];
    76  }
    77  
    78  // ValidatorSlashEvent represents a validator slash event.
    79  // Height is implicit within the store key.
    80  // This is needed to calculate appropriate amount of staking tokens
    81  // for delegations which are withdrawn after a slash has occurred.
    82  message ValidatorSlashEvent {
    83    uint64 validator_period = 1 [(gogoproto.moretags) = "yaml:\"validator_period\""];
    84    string fraction = 2 [(gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Dec", (gogoproto.nullable) = false];
    85  }
    86  
    87  // ValidatorSlashEvents is a collection of ValidatorSlashEvent messages.
    88  message ValidatorSlashEvents {
    89    option (gogoproto.goproto_stringer)                 = false;
    90    repeated ValidatorSlashEvent validator_slash_events = 1
    91        [(gogoproto.moretags) = "yaml:\"validator_slash_events\"", (gogoproto.nullable) = false];
    92  }
    93  
    94  // FeePool is the global fee pool for distribution.
    95  message FeePool {
    96    repeated cosmos.base.v1beta1.DecCoin community_pool = 1 [
    97      (gogoproto.nullable)     = false,
    98      (gogoproto.castrepeated) = "github.com/Finschia/finschia-sdk/types.DecCoins",
    99      (gogoproto.moretags)     = "yaml:\"community_pool\""
   100    ];
   101  }
   102  
   103  // CommunityPoolSpendProposal details a proposal for use of community funds,
   104  // together with how many coins are proposed to be spent, and to which
   105  // recipient account.
   106  message CommunityPoolSpendProposal {
   107    option (gogoproto.equal)            = false;
   108    option (gogoproto.goproto_getters)  = false;
   109    option (gogoproto.goproto_stringer) = false;
   110  
   111    string   title                           = 1;
   112    string   description                     = 2;
   113    string   recipient                       = 3;
   114    repeated cosmos.base.v1beta1.Coin amount = 4
   115        [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/Finschia/finschia-sdk/types.Coins"];
   116  }
   117  
   118  // DelegatorStartingInfo represents the starting info for a delegator reward
   119  // period. It tracks the previous validator period, the delegation's amount of
   120  // staking token, and the creation height (to check later on if any slashes have
   121  // occurred). NOTE: Even though validators are slashed to whole staking tokens,
   122  // the delegators within the validator may be left with less than a full token,
   123  // thus sdk.Dec is used.
   124  message DelegatorStartingInfo {
   125    uint64 previous_period = 1 [(gogoproto.moretags) = "yaml:\"previous_period\""];
   126    string stake           = 2 [
   127      (gogoproto.moretags)   = "yaml:\"stake\"",
   128      (gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Dec",
   129      (gogoproto.nullable)   = false
   130    ];
   131    uint64 height = 3 [(gogoproto.moretags) = "yaml:\"creation_height\"", (gogoproto.jsontag) = "creation_height"];
   132  }
   133  
   134  // DelegationDelegatorReward represents the properties
   135  // of a delegator's delegation reward.
   136  message DelegationDelegatorReward {
   137    option (gogoproto.goproto_getters)  = false;
   138    option (gogoproto.goproto_stringer) = true;
   139  
   140    string validator_address = 1 [(gogoproto.moretags) = "yaml:\"validator_address\""];
   141  
   142    repeated cosmos.base.v1beta1.DecCoin reward = 2
   143        [(gogoproto.castrepeated) = "github.com/Finschia/finschia-sdk/types.DecCoins", (gogoproto.nullable) = false];
   144  }
   145  
   146  // CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal
   147  // with a deposit
   148  message CommunityPoolSpendProposalWithDeposit {
   149    option (gogoproto.goproto_getters)  = false;
   150    option (gogoproto.goproto_stringer) = true;
   151  
   152    string title       = 1 [(gogoproto.moretags) = "yaml:\"title\""];
   153    string description = 2 [(gogoproto.moretags) = "yaml:\"description\""];
   154    string recipient   = 3 [(gogoproto.moretags) = "yaml:\"recipient\""];
   155    string amount      = 4 [(gogoproto.moretags) = "yaml:\"amount\""];
   156    string deposit     = 5 [(gogoproto.moretags) = "yaml:\"deposit\""];
   157  }