terra_rust_api/messages/
market.rs1use crate::core_types::{Coin, MsgInternal};
3
4use crate::messages::Message;
5use serde::Serialize;
6
7#[derive(Serialize, Debug)]
8pub struct MsgSwap {
11 pub ask_denom: String,
12 pub offer_coin: Coin,
13 pub trader: String,
15}
16
17impl MsgInternal for MsgSwap {}
18impl MsgSwap {
19 pub fn create(offer_coin: Coin, ask_denom: String, trader: String) -> anyhow::Result<Message> {
21 let internal = MsgSwap {
22 ask_denom,
23 offer_coin,
24 trader,
25 };
26 Ok(Message {
27 s_type: "market/MsgSwap".into(),
28 value: serde_json::to_value(internal)?,
29 })
30 }
31}