|
1 | 1 | use cosmwasm_std::{
|
2 |
| - entry_point, to_json_binary, to_json_string, Binary, Deps, DepsMut, Empty, Env, |
3 |
| - IbcBasicResponse, IbcCallbackRequest, IbcDestinationCallbackMsg, IbcDstCallback, IbcMsg, |
4 |
| - IbcSourceCallbackMsg, IbcSrcCallback, IbcTimeout, MessageInfo, Response, StdError, StdResult, |
| 2 | + entry_point, to_json_binary, Binary, Deps, DepsMut, Empty, Env, IbcBasicResponse, |
| 3 | + IbcDestinationCallbackMsg, IbcDstCallback, IbcSourceCallbackMsg, IbcSrcCallback, IbcTimeout, |
| 4 | + MessageInfo, Response, StdError, StdResult, TransferMsgBuilder, |
5 | 5 | };
|
6 | 6 |
|
7 | 7 | use crate::msg::{CallbackType, ExecuteMsg, QueryMsg};
|
@@ -71,16 +71,19 @@ fn execute_transfer(
|
71 | 71 | }
|
72 | 72 | };
|
73 | 73 |
|
74 |
| - let transfer_msg = IbcMsg::Transfer { |
75 |
| - to_address, |
76 |
| - timeout: IbcTimeout::with_timestamp(env.block.time.plus_seconds(timeout_seconds as u64)), |
| 74 | + let builder = TransferMsgBuilder::new( |
77 | 75 | channel_id,
|
78 |
| - amount: coin.clone(), |
79 |
| - memo: Some(to_json_string(&match callback_type { |
80 |
| - CallbackType::Both => IbcCallbackRequest::both(src_callback, dst_callback), |
81 |
| - CallbackType::Src => IbcCallbackRequest::source(src_callback), |
82 |
| - CallbackType::Dst => IbcCallbackRequest::destination(dst_callback), |
83 |
| - })?), |
| 76 | + to_address.clone(), |
| 77 | + coin.clone(), |
| 78 | + IbcTimeout::with_timestamp(env.block.time.plus_seconds(timeout_seconds as u64)), |
| 79 | + ); |
| 80 | + let transfer_msg = match callback_type { |
| 81 | + CallbackType::Both => builder |
| 82 | + .with_src_callback(src_callback) |
| 83 | + .with_dst_callback(dst_callback) |
| 84 | + .build(), |
| 85 | + CallbackType::Src => builder.with_src_callback(src_callback).build(), |
| 86 | + CallbackType::Dst => builder.with_dst_callback(dst_callback).build(), |
84 | 87 | };
|
85 | 88 |
|
86 | 89 | Ok(Response::new()
|
|
0 commit comments