pub struct MsgBurn {
pub sender: String,
pub coin: Option<Coin>,
pub burn_from: String,
}
Expand description
MsgBurn: sdk.Msg (TxMsg) where a denom admin burns some of the token. The reason that the sender isn’t automatically the “burn_from” address is to support smart contracts (primary use case). In this situation, the contract is the message signer and sender, while “burn_from” is based on the contract logic.
Fields§
§sender: String
§coin: Option<Coin>
coin: The denom identifier and amount to burn.
burn_from: String
burn_from: The address from which tokens will be burned.
Trait Implementations§
Source§impl Message for MsgBurn
impl Message for MsgBurn
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
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>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
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>
self
.Source§impl Name for MsgBurn
impl Name for MsgBurn
Source§const NAME: &'static str = "MsgBurn"
const NAME: &'static str = "MsgBurn"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = PACKAGE_TOKENFACTORY
const PACKAGE: &'static str = PACKAGE_TOKENFACTORY
.
, 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.impl StructuralPartialEq for MsgBurn
Auto Trait Implementations§
impl Freeze for MsgBurn
impl RefUnwindSafe for MsgBurn
impl Send for MsgBurn
impl Sync for MsgBurn
impl Unpin for MsgBurn
impl UnwindSafe for MsgBurn
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<M> NibiruProstMsg for Mwhere
M: Message,
impl<M> NibiruProstMsg for Mwhere
M: Message,
fn to_binary(&self) -> Binary
Source§fn try_into_stargate_msg(&self, type_url: &str) -> CosmosMsg
fn try_into_stargate_msg(&self, type_url: &str) -> CosmosMsg
Name.type_url()
function. This method attempts
to downcast the message to prost::Name, and if successful, constructs a
CosmosMsg::Stargate
object corresponding to the type.Source§impl<M> NibiruStargateMsg for M
impl<M> NibiruStargateMsg for M
Source§fn into_stargate_msg(&self) -> CosmosMsg
fn into_stargate_msg(&self) -> CosmosMsg
Returns the prost::Message
as a CosmosMsg::Stargate
object.
Source§fn type_url(&self) -> String
fn type_url(&self) -> String
The “type URL” in the context of protobuf is used with a feature called “Any”, a type that allows one to serialize and embed proto message (prost::Message) objects without as opaque values without having to predefine the type in the original message declaration.
For example, a protobuf definition like:
message CustomProtoMsg { string name = 1; }
might have a type URL like “googleapis.com/package.name.CustomProtoMsg”.
Usage of Any
with type URLs enables dynamic message composition and
flexibility.
We use these type URLs in CosmWasm and the Cosmos-SDK to classify gRPC messages for transactions and queries because Tendermint ABCI messages are protobuf objects.
Source§impl<M> NibiruStargateQuery for M
impl<M> NibiruStargateQuery for M
Source§fn into_stargate_query(&self) -> Result<QueryRequest, NibiruError>
fn into_stargate_query(&self) -> Result<QueryRequest, NibiruError>
Returns the prost::Message
as a QueryRequest::Stargate
object.
Errors if the prost::Name::type_url
does not indicate the type is a
query.