From eb08f9c38b225027327c3d8c1feaeedb6e380724 Mon Sep 17 00:00:00 2001 From: romanszterg Date: Thu, 21 May 2020 16:51:36 +0200 Subject: [PATCH 1/4] feat(trade): add a more precise trade amount function Signed-off-by: romanszterg --- src/atomic.dex.app.cpp | 9 +++++++++ src/atomic.dex.app.hpp | 1 + 2 files changed, 10 insertions(+) diff --git a/src/atomic.dex.app.cpp b/src/atomic.dex.app.cpp index b0d772ea26..9058adcff4 100644 --- a/src/atomic.dex.app.cpp +++ b/src/atomic.dex.app.cpp @@ -1192,4 +1192,13 @@ namespace atomic_dex } application::~application() noexcept { export_swaps_json(); } + + QString + application::get_price_amount(QString base_amount, QString rel_amount) + { + t_float_50 base_amount_f(base_amount.toStdString()); + t_float_50 rel_amount_f(rel_amount.toStdString()); + auto final = (rel_amount_f / base_amount_f); + return QString::fromStdString(get_formated_float(final)); + } } // namespace atomic_dex diff --git a/src/atomic.dex.app.hpp b/src/atomic.dex.app.hpp index 0fac2c56a0..306a791ab6 100644 --- a/src/atomic.dex.app.hpp +++ b/src/atomic.dex.app.hpp @@ -138,6 +138,7 @@ namespace atomic_dex Q_INVOKABLE bool create(const QString& password, const QString& seed, const QString& wallet_name); Q_INVOKABLE bool enable_coins(const QStringList& coins); Q_INVOKABLE QString get_balance(const QString& coin); + Q_INVOKABLE QString get_price_amount(QString base_amount, QString rel_amount); Q_INVOKABLE bool place_buy_order(const QString& base, const QString& rel, const QString& price, const QString& volume); Q_INVOKABLE bool place_sell_order(const QString& base, const QString& rel, const QString& price, const QString& volume); Q_INVOKABLE void set_current_orderbook(const QString& base); From 7eca7a1d6dfd811c5bea2c67c4b05963e886295f Mon Sep 17 00:00:00 2001 From: romanszterg Date: Thu, 21 May 2020 18:53:40 +0200 Subject: [PATCH 2/4] feat(orderbook): treat orderbook as the real price Signed-off-by: romanszterg --- src/atomic.dex.mm2.api.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/atomic.dex.mm2.api.cpp b/src/atomic.dex.mm2.api.cpp index b3851b8d0a..5b988b984d 100644 --- a/src/atomic.dex.mm2.api.cpp +++ b/src/atomic.dex.mm2.api.cpp @@ -348,7 +348,7 @@ namespace mm2::api j.at("zcredits").get_to(contents.zcredits); boost::trim_right_if(contents.price, boost::is_any_of("0")); - contents.price = adjust_precision(contents.price); + contents.price = contents.price; contents.maxvolume = adjust_precision(contents.maxvolume); } From 71ebe56fa2c2c45fe28de94073efbee978b6d9d6 Mon Sep 17 00:00:00 2001 From: romanszterg Date: Thu, 21 May 2020 18:56:25 +0200 Subject: [PATCH 3/4] feat(orderbook): adjust get price amount function Signed-off-by: romanszterg --- src/atomic.dex.app.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/atomic.dex.app.cpp b/src/atomic.dex.app.cpp index 9058adcff4..f83668c9e3 100644 --- a/src/atomic.dex.app.cpp +++ b/src/atomic.dex.app.cpp @@ -1199,6 +1199,8 @@ namespace atomic_dex t_float_50 base_amount_f(base_amount.toStdString()); t_float_50 rel_amount_f(rel_amount.toStdString()); auto final = (rel_amount_f / base_amount_f); - return QString::fromStdString(get_formated_float(final)); + std::stringstream ss; + ss << std::move(final); + return QString::fromStdString(ss.str()); } } // namespace atomic_dex From 2a7ccf4a261c2c7ad8f6c65ac92dc712954a2266 Mon Sep 17 00:00:00 2001 From: romanszterg Date: Fri, 22 May 2020 08:09:08 +0200 Subject: [PATCH 4/4] feat(orderbook): adjust get price amount function Signed-off-by: romanszterg --- src/atomic.dex.app.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/atomic.dex.app.cpp b/src/atomic.dex.app.cpp index f83668c9e3..7b198bd002 100644 --- a/src/atomic.dex.app.cpp +++ b/src/atomic.dex.app.cpp @@ -1199,8 +1199,9 @@ namespace atomic_dex t_float_50 base_amount_f(base_amount.toStdString()); t_float_50 rel_amount_f(rel_amount.toStdString()); auto final = (rel_amount_f / base_amount_f); + std::stringstream ss; - ss << std::move(final); + ss << std::fixed << std::setprecision(50) << std::move(final); return QString::fromStdString(ss.str()); } } // namespace atomic_dex