pub struct MsgConsumerModification {
pub title: String,
pub description: String,
pub chain_id: String,
pub top_n: u32,
pub validators_power_cap: u32,
pub validator_set_cap: u32,
pub allowlist: Vec<String>,
pub denylist: Vec<String>,
pub authority: String,
pub min_stake: u64,
pub allow_inactive_vals: bool,
}
Expand description
[DEPRECATED] Use MsgUpdateConsumer
instead
Fields§
§title: String
the title of the proposal
description: String
the description of the proposal
chain_id: String
the chain-id of the consumer chain to be modified
top_n: u32
Corresponds to the percentage of validators that have to validate the chain under the Top N case. For example, 53 corresponds to a Top 53% chain, meaning that the top 53% provider validators by voting power have to validate the proposed consumer chain. top_N can either be 0 or any value in [50, 100]. A chain can join with top_N == 0 as an Opt In chain, or with top_N ∈ [50, 100] as a Top N chain.
validators_power_cap: u32
Corresponds to the maximum power (percentage-wise) a validator can have on the consumer chain. For instance, if
validators_power_cap
is set to 32, it means that no validator can have more than 32% of the voting power on the
consumer chain. Note that this might not be feasible. For example, think of a consumer chain with only
5 validators and with validators_power_cap
set to 10%. In such a scenario, at least one validator would need
to have more than 20% of the total voting power. Therefore, validators_power_cap
operates on a best-effort basis.
validator_set_cap: u32
Corresponds to the maximum number of validators that can validate a consumer chain.
Only applicable to Opt In chains. Setting validator_set_cap
on a Top N chain is a no-op.
allowlist: Vec<String>
Corresponds to a list of provider consensus addresses of validators that are the ONLY ones that can validate the consumer chain.
denylist: Vec<String>
Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain.
signer address
min_stake: u64
Corresponds to the minimal amount of (provider chain) stake required to validate on the consumer chain.
allow_inactive_vals: bool
Corresponds to whether inactive validators are allowed to validate the consumer chain.
Trait Implementations§
Source§impl Clone for MsgConsumerModification
impl Clone for MsgConsumerModification
Source§fn clone(&self) -> MsgConsumerModification
fn clone(&self) -> MsgConsumerModification
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for MsgConsumerModification
impl Debug for MsgConsumerModification
Source§impl Default for MsgConsumerModification
impl Default for MsgConsumerModification
Source§impl Message for MsgConsumerModification
impl Message for MsgConsumerModification
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl Name for MsgConsumerModification
impl Name for MsgConsumerModification
Source§const NAME: &'static str = "MsgConsumerModification"
const NAME: &'static str = "MsgConsumerModification"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"
const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"
.
, e.g. google.protobuf
.Source§fn full_name() -> String
fn full_name() -> String
Message
.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation
.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for MsgConsumerModification
impl PartialEq for MsgConsumerModification
impl StructuralPartialEq for MsgConsumerModification
Auto Trait Implementations§
impl Freeze for MsgConsumerModification
impl RefUnwindSafe for MsgConsumerModification
impl Send for MsgConsumerModification
impl Sync for MsgConsumerModification
impl Unpin for MsgConsumerModification
impl UnwindSafe for MsgConsumerModification
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request