pub struct MsgIbcSoftwareUpgrade {
pub plan: Option<Plan>,
pub upgraded_client_state: Option<Any>,
pub signer: String,
}
Expand description
MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal
Fields§
§plan: Option<Plan>
§upgraded_client_state: Option<Any>
An UpgradedClientState must be provided to perform an IBC breaking upgrade. This will make the chain commit to the correct upgraded (self) client state before the upgrade occurs, so that connecting chains can verify that the new upgraded client is valid by verifying a proof on the previous version of the chain. This will allow IBC connections to persist smoothly across planned chain upgrades. Correspondingly, the UpgradedClientState field has been deprecated in the Cosmos SDK to allow for this logic to exist solely in the 02-client module.
signer: String
signer address
Trait Implementations§
source§impl Clone for MsgIbcSoftwareUpgrade
impl Clone for MsgIbcSoftwareUpgrade
source§fn clone(&self) -> MsgIbcSoftwareUpgrade
fn clone(&self) -> MsgIbcSoftwareUpgrade
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for MsgIbcSoftwareUpgrade
impl Debug for MsgIbcSoftwareUpgrade
source§impl Default for MsgIbcSoftwareUpgrade
impl Default for MsgIbcSoftwareUpgrade
§impl<'de> Deserialize<'de> for MsgIbcSoftwareUpgrade
impl<'de> Deserialize<'de> for MsgIbcSoftwareUpgrade
§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Message for MsgIbcSoftwareUpgrade
impl Message for MsgIbcSoftwareUpgrade
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Encodes the message to a buffer. Read more
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Encodes the message to a newly allocated buffer.
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Encodes the message with a length-delimiter to a buffer. Read more
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,
Encodes the message with a length-delimiter to a newly allocated buffer.
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Decodes an instance of the message from a buffer. Read more
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Decodes a length-delimited instance of the message from the buffer.
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
Decodes an instance of the message from a buffer, and merges it into
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
Decodes a length-delimited instance of the message from buffer, and
merges it into
self
.source§impl Name for MsgIbcSoftwareUpgrade
impl Name for MsgIbcSoftwareUpgrade
source§const NAME: &'static str = "MsgIBCSoftwareUpgrade"
const NAME: &'static str = "MsgIBCSoftwareUpgrade"
Simple name for this
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.source§const PACKAGE: &'static str = "ibc.core.client.v1"
const PACKAGE: &'static str = "ibc.core.client.v1"
Package name this message type is contained in. They are domain-like
and delimited by
.
, e.g. google.protobuf
.source§fn full_name() -> String
fn full_name() -> String
Fully-qualified unique name for this
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 MsgIbcSoftwareUpgrade
impl PartialEq for MsgIbcSoftwareUpgrade
source§fn eq(&self, other: &MsgIbcSoftwareUpgrade) -> bool
fn eq(&self, other: &MsgIbcSoftwareUpgrade) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl Serialize for MsgIbcSoftwareUpgrade
impl Serialize for MsgIbcSoftwareUpgrade
impl StructuralPartialEq for MsgIbcSoftwareUpgrade
Auto Trait Implementations§
impl Freeze for MsgIbcSoftwareUpgrade
impl RefUnwindSafe for MsgIbcSoftwareUpgrade
impl Send for MsgIbcSoftwareUpgrade
impl Sync for MsgIbcSoftwareUpgrade
impl Unpin for MsgIbcSoftwareUpgrade
impl UnwindSafe for MsgIbcSoftwareUpgrade
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
Mutably borrows from an owned value. Read more
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>
Wrap the input message
T
in a tonic::Request