Struct ibc_proto::interchain_security::ccv::provider::v1::ConsumerAdditionProposal
source · pub struct ConsumerAdditionProposal {Show 14 fields
pub title: String,
pub description: String,
pub chain_id: String,
pub initial_height: Option<Height>,
pub genesis_hash: Vec<u8>,
pub binary_hash: Vec<u8>,
pub spawn_time: Option<Timestamp>,
pub unbonding_period: Option<Duration>,
pub ccv_timeout_period: Option<Duration>,
pub transfer_timeout_period: Option<Duration>,
pub consumer_redistribution_fraction: String,
pub blocks_per_distribution_transmission: i64,
pub historical_entries: i64,
pub distribution_transmission_channel: String,
}
Expand description
ConsumerAdditionProposal is a governance proposal on the provider chain to spawn a new consumer chain. If it passes, then all validators on the provider chain are expected to validate the consumer chain at spawn time or get slashed. It is recommended that spawn time occurs after the proposal end time.
Fields§
§title: String
the title of the proposal
description: String
the description of the proposal
chain_id: String
the proposed chain-id of the new consumer chain, must be different from all other consumer chain ids of the executing provider chain.
initial_height: Option<Height>
the proposed initial height of new consumer chain. For a completely new chain, this will be {0,1}. However, it may be different if this is a chain that is converting to a consumer chain.
genesis_hash: Vec<u8>
The hash of the consumer chain genesis state without the consumer CCV module genesis params. It is used for off-chain confirmation of genesis.json validity by validators and other parties.
binary_hash: Vec<u8>
The hash of the consumer chain binary that should be run by validators on chain initialization. It is used for off-chain confirmation of binary validity by validators and other parties.
spawn_time: Option<Timestamp>
spawn time is the time on the provider chain at which the consumer chain genesis is finalized and all validators will be responsible for starting their consumer chain validator node.
unbonding_period: Option<Duration>
Unbonding period for the consumer, which should be smaller than that of the provider in general.
ccv_timeout_period: Option<Duration>
Sent CCV related IBC packets will timeout after this duration
transfer_timeout_period: Option<Duration>
Sent transfer related IBC packets will timeout after this duration
consumer_redistribution_fraction: String
The fraction of tokens allocated to the consumer redistribution address during distribution events. The fraction is a string representing a decimal number. For example “0.75” would represent 75%.
blocks_per_distribution_transmission: i64
BlocksPerDistributionTransmission is the number of blocks between
ibc-token-transfers from the consumer chain to the provider chain. On
sending transmission event, consumer_redistribution_fraction
of the
accumulated tokens are sent to the consumer redistribution address.
historical_entries: i64
The number of historical info entries to persist in store. This param is a part of the cosmos sdk staking module. In the case of a ccv enabled consumer chain, the ccv module acts as the staking module.
distribution_transmission_channel: String
The ID of a token transfer channel used for the Reward Distribution sub-protocol. If DistributionTransmissionChannel == “”, a new transfer channel is created on top of the same connection as the CCV channel. Note that transfer_channel_id is the ID of the channel end on the consumer chain. it is most relevant for chains performing a sovereign to consumer changeover in order to maintan the existing ibc transfer channel
Trait Implementations§
source§impl Clone for ConsumerAdditionProposal
impl Clone for ConsumerAdditionProposal
source§fn clone(&self) -> ConsumerAdditionProposal
fn clone(&self) -> ConsumerAdditionProposal
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ConsumerAdditionProposal
impl Debug for ConsumerAdditionProposal
source§impl Default for ConsumerAdditionProposal
impl Default for ConsumerAdditionProposal
source§impl Message for ConsumerAdditionProposal
impl Message for ConsumerAdditionProposal
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, 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<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, 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<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError>where B: Buf, Self: Default,
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where B: Buf, Self: Default,
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
self
.source§impl PartialEq for ConsumerAdditionProposal
impl PartialEq for ConsumerAdditionProposal
source§fn eq(&self, other: &ConsumerAdditionProposal) -> bool
fn eq(&self, other: &ConsumerAdditionProposal) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for ConsumerAdditionProposal
Auto Trait Implementations§
impl RefUnwindSafe for ConsumerAdditionProposal
impl Send for ConsumerAdditionProposal
impl Sync for ConsumerAdditionProposal
impl Unpin for ConsumerAdditionProposal
impl UnwindSafe for ConsumerAdditionProposal
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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