From 77baa3049679804a4abc6b1c013429e1ec088431 Mon Sep 17 00:00:00 2001 From: sierra19XX <15652887+sierra19XX@users.noreply.github.com> Date: Fri, 12 Mar 2021 22:19:50 +1100 Subject: [PATCH] more changes --- libraries/chain/protocol/asset.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/chain/protocol/asset.cpp b/libraries/chain/protocol/asset.cpp index 347a7dc1..6906b338 100644 --- a/libraries/chain/protocol/asset.cpp +++ b/libraries/chain/protocol/asset.cpp @@ -99,6 +99,14 @@ namespace graphene { namespace chain { if( a.asset_id == b.base.asset_id ) { FC_ASSERT( b.base.amount.value > 0 ); + uint128_t result = (uint128_t(a.amount.value) * b.quote.amount.value + b.base.amount.value - 1)/b.base.amount.value; + FC_ASSERT( result <= GRAPHENE_MAX_SHARE_SUPPLY ); + return asset( result.convert_to(), b.quote.asset_id ); + } + else if( a.asset_id == b.quote.asset_id ) + { + FC_ASSERT( b.quote.amount.value > 0 ); + uint128_t result = (uint128_t(a.amount.value) * b.base.amount.value + b.quote.amount.value - 1)/b.quote.amount.value; FC_ASSERT( result <= GRAPHENE_MAX_SHARE_SUPPLY ); return asset( result.convert_to(), b.base.asset_id ); }