@@ -163,8 +163,27 @@ message MsgConsumerAddition {
163163 // chain. it is most relevant for chains performing a sovereign to consumer
164164 // changeover in order to maintan the existing ibc transfer channel
165165 string distribution_transmission_channel = 12 ;
166+ // Corresponds to the percentage of validators that have to validate the chain under the Top N case.
167+ // For example, 53 corresponds to a Top 53% chain, meaning that the top 53% provider validators by voting power
168+ // have to validate the proposed consumer chain. top_N can either be 0 or any value in [50, 100].
169+ // A chain can join with top_N == 0 as an Opt In chain, or with top_N ∈ [50, 100] as a Top N chain.
170+ uint32 top_N = 13 ;
171+ // Corresponds to the maximum power (percentage-wise) a validator can have on the consumer chain. For instance, if
172+ // `validators_power_cap` is set to 32, it means that no validator can have more than 32% of the voting power on the
173+ // consumer chain. Note that this might not be feasible. For example, think of a consumer chain with only
174+ // 5 validators and with `validators_power_cap` set to 10%. In such a scenario, at least one validator would need
175+ // to have more than 20% of the total voting power. Therefore, `validators_power_cap` operates on a best-effort basis.
176+ uint32 validators_power_cap = 14 ;
177+ // Corresponds to the maximum number of validators that can validate a consumer chain.
178+ // Only applicable to Opt In chains. Setting `validator_set_cap` on a Top N chain is a no-op.
179+ uint32 validator_set_cap = 15 ;
180+ // Corresponds to a list of provider consensus addresses of validators that are the ONLY ones that can validate
181+ // the consumer chain.
182+ repeated string allowlist = 16 ;
183+ // Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain.
184+ repeated string denylist = 17 ;
166185 // signer address
167- string authority = 13 [ (cosmos_proto.scalar ) = "cosmos.AddressString" ];
186+ string authority = 18 [ (cosmos_proto.scalar ) = "cosmos.AddressString" ];
168187}
169188
170189// MsgConsumerAdditionResponse defines response type for MsgConsumerAddition
@@ -265,8 +284,27 @@ message MsgConsumerModification {
265284 string description = 2 ;
266285 // the chain-id of the consumer chain to be modified
267286 string chain_id = 3 ;
287+ // Corresponds to the percentage of validators that have to validate the chain under the Top N case.
288+ // For example, 53 corresponds to a Top 53% chain, meaning that the top 53% provider validators by voting power
289+ // have to validate the proposed consumer chain. top_N can either be 0 or any value in [50, 100].
290+ // A chain can join with top_N == 0 as an Opt In chain, or with top_N ∈ [50, 100] as a Top N chain.
291+ uint32 top_N = 4 ;
292+ // Corresponds to the maximum power (percentage-wise) a validator can have on the consumer chain. For instance, if
293+ // `validators_power_cap` is set to 32, it means that no validator can have more than 32% of the voting power on the
294+ // consumer chain. Note that this might not be feasible. For example, think of a consumer chain with only
295+ // 5 validators and with `validators_power_cap` set to 10%. In such a scenario, at least one validator would need
296+ // to have more than 20% of the total voting power. Therefore, `validators_power_cap` operates on a best-effort basis.
297+ uint32 validators_power_cap = 5 ;
298+ // Corresponds to the maximum number of validators that can validate a consumer chain.
299+ // Only applicable to Opt In chains. Setting `validator_set_cap` on a Top N chain is a no-op.
300+ uint32 validator_set_cap = 6 ;
301+ // Corresponds to a list of provider consensus addresses of validators that are the ONLY ones that can validate
302+ // the consumer chain.
303+ repeated string allowlist = 7 ;
304+ // Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain.
305+ repeated string denylist = 8 ;
268306 // signer address
269- string authority = 4 [ (cosmos_proto.scalar ) = "cosmos.AddressString" ];
307+ string authority = 9 [ (cosmos_proto.scalar ) = "cosmos.AddressString" ];
270308}
271309
272310message MsgConsumerModificationResponse {}
0 commit comments