fixed reward transactions added out pool balance
This commit is contained in:
parent
e41127bd82
commit
a364b07bc9
@ -157,7 +157,9 @@ class MenuHelper:
|
||||
print("TODO")
|
||||
|
||||
case "Check balance":
|
||||
print(f"Your balance is: {taskHelper.getBalance(self)}")
|
||||
balance = taskHelper.getBalance(self)
|
||||
print(f"Your balance is: {balance}")
|
||||
print(f"Your balance after verification of outgoing transactions: {taskHelper.getBalanceWithOutgoingPool(self, balance)}")
|
||||
|
||||
case "Check the pool":
|
||||
transactions = utilityHelper.loadFile("../data/transaction_pool.dat")
|
||||
|
@ -41,7 +41,7 @@ def transaction(self):
|
||||
|
||||
print(f"Processing transaction of {amount + fee} coins, {receiver} will receive {amount} coins")
|
||||
|
||||
if amount + fee > getBalance(self):
|
||||
if amount + fee > getBalanceWithOutgoingPool(self, getBalance(self)):
|
||||
print("You dont have enough money")
|
||||
return False
|
||||
|
||||
@ -222,11 +222,19 @@ def exploreBlocks(self):
|
||||
x = 0
|
||||
for transaction in blocks[user_input].data:
|
||||
x += 1
|
||||
if transaction.type == 1:
|
||||
input_amount = 0
|
||||
input_user = "Reward"
|
||||
fee = 0
|
||||
else:
|
||||
input_user = transaction.inputs[0][0]
|
||||
input_amount = transaction.inputs[0][1]
|
||||
fee = input_amount - transaction.outputs[0][1]
|
||||
print(f"---------------------------------------{x}-------------------------------------------")
|
||||
print(f"Transaction input: {transaction.type == 1 and 'reward' or transaction.inputs[0][1]}")
|
||||
print(f"Transaction input: {input_amount}")
|
||||
print(f"Transaction output: {transaction.outputs[0][1]}")
|
||||
print(f"Transaction fees: {transaction.type == 1 and 0 or transaction.inputs[0][1] - transaction.outputs[0][1]}")
|
||||
print(f"Transaction sender: \n{transaction.inputs[0][0]}")
|
||||
print(f"Transaction fees: {fee}")
|
||||
print(f"Transaction sender: \n{input_user}")
|
||||
print(f"Transaction recipient: \n{transaction.outputs[0][0]}")
|
||||
print("-----------------------------------------------------------------------------------")
|
||||
case "3":
|
||||
@ -244,7 +252,14 @@ def getBalance(self):
|
||||
for transaction in block.data:
|
||||
if transaction.outputs[0][0] == self.user.public_ser:
|
||||
balance += transaction.outputs[0][1]
|
||||
elif transaction.inputs[0][0] == self.user.public_ser:
|
||||
elif transaction.type != 1 and transaction.inputs[0][0] == self.user.public_ser:
|
||||
balance -= transaction.inputs[0][1]
|
||||
return balance
|
||||
|
||||
def getBalanceWithOutgoingPool(self, balance):
|
||||
transactions = utilityHelper.loadFile("../data/transaction_pool.dat")
|
||||
for transaction in transactions:
|
||||
if transaction.type != 1 and transaction.inputs[0][0] == self.user.public_ser:
|
||||
balance -= transaction.inputs[0][1]
|
||||
return balance
|
||||
|
||||
@ -255,13 +270,21 @@ def getPersonalTransactions(self):
|
||||
total_output = 0
|
||||
for block in blocks:
|
||||
for transaction in block.data:
|
||||
if transaction.outputs[0][0] == self.user.public_ser or transaction.inputs[0][0] == self.user.public_ser:
|
||||
if transaction.outputs[0][0] == self.user.public_ser or (transaction.type == 0 and transaction.inputs[0][0] == self.user.public_ser):
|
||||
total += 1
|
||||
if transaction.type == 1:
|
||||
input_amount = 0
|
||||
input_user = "Reward"
|
||||
fee = 0
|
||||
else:
|
||||
input_user = transaction.inputs[0][0]
|
||||
input_amount = transaction.inputs[0][1]
|
||||
fee = input_amount - transaction.outputs[0][1]
|
||||
print(f"---------------------------------------{total}-------------------------------------------")
|
||||
print(f"Transaction input: {transaction.inputs[0][1]}")
|
||||
print(f"Transaction input: {input_amount}")
|
||||
print(f"Transaction output: {transaction.outputs[0][1]}")
|
||||
print(f"Transaction fees: {transaction.inputs[0][1] - transaction.outputs[0][1]}")
|
||||
print(f"Transaction sender: \n{transaction.inputs[0][0]}")
|
||||
print(f"Transaction fees: {fee}")
|
||||
print(f"Transaction sender: \n{input_user}")
|
||||
print(f"Transaction recipient: \n{transaction.outputs[0][0]}")
|
||||
|
||||
if transaction.outputs[0][0] == self.user.public_ser:
|
||||
|
Loading…
x
Reference in New Issue
Block a user