From d05a8fb5795db4045c2cc467a598c844057d6173 Mon Sep 17 00:00:00 2001 From: Sik Yoon Date: Tue, 15 Aug 2023 14:07:37 +0900 Subject: [PATCH] Change calculation way of set_unit_usdt() --- src/coex/assets_managing_team.rs | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/coex/assets_managing_team.rs b/src/coex/assets_managing_team.rs index 9f32588..c27efff 100644 --- a/src/coex/assets_managing_team.rs +++ b/src/coex/assets_managing_team.rs @@ -36,25 +36,21 @@ pub async fn set_unit_usdt() { let mut set_unit_trade_usdt = Decimal::new(0, 8); // define protect_rate and unit_trade_usdt as high as total_usdt_amount - if dec!(0.0) <= asset_info.current_total_usdt && asset_info.current_total_usdt < dec!(500.0) { + if dec!(0.0) <= asset_info.current_total_usdt && asset_info.current_total_usdt < dec!(1000.0) { set_unit_trade_usdt = dec!(100.0); // $100 for each trade // set_unit_trade_usdt = decimal_mul(asset_info.current_total_usdt, dec!(0.8)); // 80% of total usdt - } else if dec!(500.0) <= asset_info.current_total_usdt - && asset_info.current_total_usdt < dec!(2000.0) + } else if dec!(1000.0) <= asset_info.current_total_usdt { // set_unit_trade_usdt = dec!(150.0); // $150 for each trade set_unit_trade_usdt = decimal_mul(asset_info.current_total_usdt, dec!(0.1)); - // 10% of total usdt - } else if dec!(2000.0) <= asset_info.current_total_usdt - && asset_info.current_total_usdt < dec!(5000.0) - { - set_unit_trade_usdt = dec!(200.0); // $200 for each trade - } else if dec!(5000.0) <= asset_info.current_total_usdt - && asset_info.current_total_usdt < dec!(10000.0) - { - set_unit_trade_usdt = dec!(300.0); // $300 for each trade - } else { - set_unit_trade_usdt = dec!(500.0); // $500 for each trade + let truncated = decimal_mul(decimal_mul(set_unit_trade_usdt, dec!(0.1)).trunc(), dec!(10)); + let difference = decimal_sub(set_unit_trade_usdt, truncated); + + if difference >= dec!(5) { + set_unit_trade_usdt = decimal_add(truncated, dec!(5)); + } else { + set_unit_trade_usdt = truncated; + } } // update fields in [asset_manage_announcement] table