terra_rust_api/messages/
distribution.rs1use crate::core_types::MsgInternal;
2use crate::messages::Message;
3use serde::Serialize;
4
5#[derive(Serialize, Debug)]
7pub struct MsgWithdrawValidatorCommission {
8 pub validator_address: String,
9}
10impl MsgInternal for MsgWithdrawValidatorCommission {}
11impl MsgWithdrawValidatorCommission {
12 pub fn create(validator_address: String) -> anyhow::Result<Message> {
13 let internal = MsgWithdrawValidatorCommission { validator_address };
14 Ok(Message {
15 s_type: "distribution/MsgWithdrawValidatorCommission".into(),
16 value: serde_json::to_value(internal)?,
17 })
18 }
19}
20#[derive(Serialize, Debug)]
22pub struct MsgWithdrawDelegationReward {
23 pub delegator_address: String,
24 pub validator_address: String,
25}
26impl MsgInternal for MsgWithdrawDelegationReward {}
27impl MsgWithdrawDelegationReward {
28 pub fn create(delegator_address: String, validator_address: String) -> anyhow::Result<Message> {
29 let internal = MsgWithdrawDelegationReward {
30 delegator_address,
31 validator_address,
32 };
33 Ok(Message {
34 s_type: "distribution/MsgWithdrawDelegationReward".into(),
35 value: serde_json::to_value(internal)?,
36 })
37 }
38}