pub struct ConsumerInitializationParameters {
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
ConsumerInitializationParameters are the parameters needed to launch a chain
Following fields are used when the consumer chain launches and are not needed by the provider afterwards.
Fields§
§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 maintain the existing ibc transfer channel
Trait Implementations§
Source§impl Clone for ConsumerInitializationParameters
impl Clone for ConsumerInitializationParameters
Source§fn clone(&self) -> ConsumerInitializationParameters
fn clone(&self) -> ConsumerInitializationParameters
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Message for ConsumerInitializationParameters
impl Message for ConsumerInitializationParameters
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 ConsumerInitializationParameters
impl Name for ConsumerInitializationParameters
Source§const NAME: &'static str = "ConsumerInitializationParameters"
const NAME: &'static str = "ConsumerInitializationParameters"
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 ConsumerInitializationParameters
impl PartialEq for ConsumerInitializationParameters
Source§fn eq(&self, other: &ConsumerInitializationParameters) -> bool
fn eq(&self, other: &ConsumerInitializationParameters) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for ConsumerInitializationParameters
Auto Trait Implementations§
impl Freeze for ConsumerInitializationParameters
impl RefUnwindSafe for ConsumerInitializationParameters
impl Send for ConsumerInitializationParameters
impl Sync for ConsumerInitializationParameters
impl Unpin for ConsumerInitializationParameters
impl UnwindSafe for ConsumerInitializationParameters
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