From 97b4652d729d63afdc15cbe54f195a40c88b5844 Mon Sep 17 00:00:00 2001 From: Joe Monem Date: Thu, 18 Apr 2024 12:34:34 +0300 Subject: [PATCH] chore: use .mul_floor for multiplying Uint128 and Decimal, and other adjustments --- contracts/os/andromeda-kernel/src/ibc.rs | 12 ++++-------- contracts/os/andromeda-kernel/src/reply.rs | 15 ++++++++++----- packages/andromeda-data-storage/src/primitive.rs | 16 +++++----------- packages/andromeda-ecosystem/src/vault.rs | 1 + packages/andromeda-modules/src/rates.rs | 4 ++-- 5 files changed, 22 insertions(+), 26 deletions(-) diff --git a/contracts/os/andromeda-kernel/src/ibc.rs b/contracts/os/andromeda-kernel/src/ibc.rs index eec9d086c..5e62b4ac6 100644 --- a/contracts/os/andromeda-kernel/src/ibc.rs +++ b/contracts/os/andromeda-kernel/src/ibc.rs @@ -105,10 +105,9 @@ pub fn ibc_packet_receive( // in a seprate function and on error write out an error ack. match do_ibc_packet_receive(deps, env, msg) { Ok(response) => Ok(response), - Err(error) => Ok(IbcReceiveResponse::new() + Err(error) => Ok(IbcReceiveResponse::new(make_ack_fail(error.to_string())) .add_attribute("method", "ibc_packet_receive") - .add_attribute("error", error.to_string()) - .set_ack(make_ack_fail(error.to_string()))), + .add_attribute("error", error.to_string())), } } @@ -146,8 +145,7 @@ pub fn do_ibc_packet_receive( let amp_msg = AMPMsg::new(recipient, message, None); let res = execute::send(execute_env, amp_msg)?; - Ok(IbcReceiveResponse::new() - .set_ack(make_ack_success()) + Ok(IbcReceiveResponse::new(make_ack_success()) .add_attributes(res.attributes) .add_submessages(res.messages) .add_events(res.events)) @@ -196,9 +194,7 @@ pub fn ibc_register_username( }, ReplyId::RegisterUsername.repr(), ); - Ok(IbcReceiveResponse::new() - .add_submessage(sub_msg) - .set_ack(make_ack_success())) + Ok(IbcReceiveResponse::new(make_ack_success()).add_submessage(sub_msg)) } pub fn validate_order_and_version( diff --git a/contracts/os/andromeda-kernel/src/reply.rs b/contracts/os/andromeda-kernel/src/reply.rs index 9ee8a8188..b60890552 100644 --- a/contracts/os/andromeda-kernel/src/reply.rs +++ b/contracts/os/andromeda-kernel/src/reply.rs @@ -13,8 +13,8 @@ use andromeda_std::{ os::aos_querier::AOSQuerier, }; use cosmwasm_std::{ - ensure, wasm_execute, Addr, DepsMut, Empty, Env, Reply, Response, SubMsg, SubMsgResponse, - SubMsgResult, + ensure, to_json_binary, wasm_execute, Addr, DepsMut, Empty, Env, Reply, Response, SubMsg, + SubMsgResponse, SubMsgResult, }; /// Handles the reply from an ADO creation @@ -50,15 +50,20 @@ pub fn on_reply_ibc_hooks_packet_send( deps: DepsMut, msg: Reply, ) -> Result { - let SubMsgResult::Ok(SubMsgResponse { data: Some(b), .. }) = msg.result else { + let SubMsgResult::Ok(SubMsgResponse { msg_responses, .. }) = msg.result else { return Err(ContractError::InvalidPacket { error: Some(format!("ibc hooks: failed reply: {:?}", msg.result)), }); }; let MsgTransferResponse { sequence } = - MsgTransferResponse::decode(&b[..]).map_err(|_e| ContractError::InvalidPacket { - error: Some(format!("ibc hooks: could not decode response: {b}")), + MsgTransferResponse::decode(&to_json_binary(&msg_responses)?[..]).map_err(|_e| { + ContractError::InvalidPacket { + error: Some(format!( + "ibc hooks: could not decode response: {:?}", + msg_responses + )), + } })?; let mut outgoing_packets = OUTGOING_IBC_HOOKS_PACKETS diff --git a/packages/andromeda-data-storage/src/primitive.rs b/packages/andromeda-data-storage/src/primitive.rs index 96bc33205..c1df0ddaa 100644 --- a/packages/andromeda-data-storage/src/primitive.rs +++ b/packages/andromeda-data-storage/src/primitive.rs @@ -62,10 +62,7 @@ pub enum PrimitiveRestriction { } fn parse_error(type_name: String) -> StdError { - StdError::ParseErr { - target_type: type_name.clone(), - msg: format!("Primitive is not a {type_name}"), - } + StdError::parse_err(type_name.clone(), format!("Primitive is not a {type_name}")) } impl From for Primitive { @@ -202,13 +199,10 @@ mod tests { #[test] fn test_parse_error() { - assert_eq!( - StdError::ParseErr { - target_type: "target_type".to_string(), - msg: "Primitive is not a target_type".to_string() - }, - parse_error("target_type".to_string()) - ); + assert_eq!(StdError::parse_err( + "target_type".to_string(), + "Primitive is not a target_type".to_string() + )); } #[test] diff --git a/packages/andromeda-ecosystem/src/vault.rs b/packages/andromeda-ecosystem/src/vault.rs index 9817c6f81..12b547142 100644 --- a/packages/andromeda-ecosystem/src/vault.rs +++ b/packages/andromeda-ecosystem/src/vault.rs @@ -54,6 +54,7 @@ impl StrategyType { msg: CosmosMsg::Wasm(msg), gas_limit: None, reply_on: ReplyOn::Error, + payload: Binary::default(), }; Ok(sub_msg) diff --git a/packages/andromeda-modules/src/rates.rs b/packages/andromeda-modules/src/rates.rs index 618912139..ccbf152ec 100644 --- a/packages/andromeda-modules/src/rates.rs +++ b/packages/andromeda-modules/src/rates.rs @@ -142,11 +142,11 @@ pub fn calculate_fee(fee_rate: Rate, payment: &Coin) -> Result reversed_fee { // [COM-1] Added checked add to fee_amount rather than direct increment fee_amount = fee_amount.checked_add(1u128.into())?;