Skip to content

Commit 6ab209f

Browse files
removed DGM
removed possibility to add a owner for a fungible asset (DGM) as it leads to unsolvable problems in view of timing. As the ledger is being built iteratively after any detected changes there is no way to determine which transactions have been received properly on time and which have been received afterwards. Because the next time the ledger is build the client cannot distinquish between transactions received on time. So it would be impossible to correctly distribute any amounts sent to that asset. Therefore the code representing the DGM has been removed out of the wallet and maybe moved into seperate contract logic in future.
1 parent 64a1855 commit 6ab209f

File tree

1 file changed

+8
-78
lines changed

1 file changed

+8
-78
lines changed

ucs_client.sh

Lines changed: 8 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -733,12 +733,6 @@ build_ledger(){
733733
if [ $is_asset = 1 ]
734734
then
735735
is_fungible=$(grep -c "asset_fungible=1" ${script_path}/assets/${trx_receiver})
736-
is_dgm=$(grep -c "asset_owner=" ${script_path}/assets/${trx_receiver})
737-
if [ $is_dgm = 1 ]
738-
then
739-
asset_owner=$(grep "asset_owner=" ${script_path}/assets/${trx_receiver}|cut -d '=' -f2)
740-
is_owner_user=$(grep -c "${asset_owner}" ${user_path}/all_accounts.dat)
741-
fi
742736
fi
743737
##############################################################
744738

@@ -808,61 +802,15 @@ build_ledger(){
808802
asset_price=$(grep "asset_price=" ${script_path}/assets/${trx_receiver}|cut -d '=' -f2)
809803
asset_value=$(echo "scale=9; ${trx_amount} * ${asset_type_price} / ${asset_price}"|bc|sed 's/^\./0./g')
810804
##############################################################
811-
if [ $is_dgm = 0 ]
805+
###WRITE ENTRY TO LEDGER FOR EXCHANGE#########################
806+
receiver_in_ledger=$(grep -c "${trx_receiver}:${trx_sender}" ${user_path}/${focus}_ledger.dat)
807+
if [ $receiver_in_ledger = 1 ]
812808
then
813-
###WRITE ENTRY TO LEDGER FOR EXCHANGE#########################
814-
receiver_in_ledger=$(grep -c "${trx_receiver}:${trx_sender}" ${user_path}/${focus}_ledger.dat)
815-
if [ $receiver_in_ledger = 1 ]
816-
then
817-
sender_old_balance=$(grep "${trx_receiver}:${trx_sender}" ${user_path}/${focus}_ledger.dat|cut -d '=' -f2)
818-
sender_new_balance=$(echo "${sender_old_balance} + ${asset_value}"|bc|sed 's/^\./0./g')
819-
sed -i "s/${trx_receiver}:${trx_sender}=${sender_old_balance}/${trx_receiver}:${trx_sender}=${sender_new_balance}/g" ${user_path}/${focus}_ledger.dat
820-
else
821-
echo "${trx_receiver}:${trx_sender}=${asset_value}" >>${user_path}/${focus}_ledger.dat
822-
fi
823-
##############################################################
809+
sender_old_balance=$(grep "${trx_receiver}:${trx_sender}" ${user_path}/${focus}_ledger.dat|cut -d '=' -f2)
810+
sender_new_balance=$(echo "${sender_old_balance} + ${asset_value}"|bc|sed 's/^\./0./g')
811+
sed -i "s/${trx_receiver}:${trx_sender}=${sender_old_balance}/${trx_receiver}:${trx_sender}=${sender_new_balance}/g" ${user_path}/${focus}_ledger.dat
824812
else
825-
###CHECK IF OWNER IS A USER###################################
826-
if [ $is_owner_user = 0 ]
827-
then
828-
###EXCHANGE TO OWNERS OF ASSET THAT OWNS THE ASSET############
829-
awk '{print ":"$1}' ${user_path}/all_assets.dat >${user_path}/filtered_assets.tmp
830-
asset_quantity=$(grep "${asset_owner}:" ${user_path}/${focus}_ledger.dat|grep -v -f ${user_path}/filtered_assets.tmp|awk -F= '{sum+=$2} END {print sum}')
831-
price_per_unit=$(echo "scale=9; ${asset_value} / ${asset_quantity}"|bc|sed 's/^\./0./g')
832-
for nfa_owner in $(grep "${asset_owner}:" ${user_path}/${focus}_ledger.dat|awk -F= '{if ($2 != 0) print $1"="$2}'|grep -v -f ${user_path}/filtered_assets.tmp|cut -d ':' -f2|cut -d '=' -f1)
833-
do
834-
receiver_asset_value=$(grep "${asset_owner}:${nfa_owner}=" ${user_path}/${focus}_ledger.dat|cut -d '=' -f2)
835-
receiver_asset_value=$(echo "scale=9; ${receiver_asset_value} * ${price_per_unit}"|bc|sed 's/^\./0./g')
836-
receiver_in_ledger=$(grep -c "${trx_receiver}:${nfa_owner}" ${user_path}/${focus}_ledger.dat)
837-
is_amount_ok=$(echo "$receiver_asset_value >= 0.000000001"|bc)
838-
if [ $is_amount_ok = 1 ]
839-
then
840-
if [ $receiver_in_ledger = 0 ]
841-
then
842-
echo "${trx_receiver}:${nfa_owner}=${receiver_asset_value}" >>${user_path}/${focus}_ledger.dat
843-
else
844-
receiver_old_balance=$(grep "${trx_receiver}:${nfa_owner}=" ${user_path}/${focus}_ledger.dat|cut -d '=' -f2)
845-
receiver_new_balance=$(echo "${receiver_old_balance} + ${receiver_asset_value}"|bc|sed 's/^\./0./g')
846-
sed -i "s/${trx_receiver}:${nfa_owner}=${receiver_old_balance}/${trx_receiver}:${nfa_owner}=${receiver_new_balance}/g" ${user_path}/${focus}_ledger.dat
847-
fi
848-
fi
849-
done
850-
rm ${user_path}/filtered_assets.tmp
851-
##############################################################
852-
else
853-
###IF OWNER IS A USER EXCHANGE TO USER########################
854-
receiver_in_ledger=$(grep -c "${trx_receiver}:${asset_owner}" ${user_path}/${focus}_ledger.dat)
855-
if [ $receiver_in_ledger = 1 ]
856-
then
857-
receiver_old_balance=$(grep "${trx_receiver}:${asset_owner}" ${user_path}/${focus}_ledger.dat|cut -d '=' -f2)
858-
receiver_new_balance=$(echo "${receiver_old_balance} + ${asset_value}"|bc|sed 's/^\./0./g')
859-
sed -i "s/${trx_receiver}:${asset_owner}=${receiver_old_balance}/${trx_receiver}:${asset_owner}=${receiver_new_balance}/g" ${user_path}/${focus}_ledger.dat
860-
else
861-
echo "${trx_receiver}:${asset_owner}=${asset_value}" >>${user_path}/${focus}_ledger.dat
862-
fi
863-
##############################################################
864-
fi
865-
##############################################################
813+
echo "${trx_receiver}:${trx_sender}=${asset_value}" >>${user_path}/${focus}_ledger.dat
866814
fi
867815
##############################################################
868816
fi
@@ -1204,25 +1152,7 @@ check_assets(){
12041152
fi
12051153
fi
12061154
else
1207-
###CHECK IF ASSET OWNER IS SET#########################
1208-
if [ ! "${asset_owner}" = "" ]
1209-
then
1210-
if [ ! "${asset_owner}" = "${asset}" ]
1211-
then
1212-
owner_exists=$(cat ${user_path}/ack_assets.dat ${user_path}/all_assets.tmp ${user_path}/all_accounts.dat|grep -c "${asset_owner}")
1213-
if [ $owner_exists -gt 0 ]
1214-
then
1215-
owner_blacklisted=$(grep -c "${asset_owner}" ${user_path}/blacklisted_assets.dat)
1216-
if [ $owner_blacklisted = 0 ]
1217-
then
1218-
asset_owner_ok=1
1219-
fi
1220-
fi
1221-
fi
1222-
else
1223-
asset_owner_ok=1
1224-
fi
1225-
#######################################################
1155+
asset_owner_ok=1
12261156
fi
12271157
if [ $asset_owner_ok = 1 ]
12281158
then

0 commit comments

Comments
 (0)