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 }