fixed reward transactions added out pool balance

This commit is contained in:
Ryan Bakkes 2023-11-09 13:50:09 +01:00
parent e41127bd82
commit a364b07bc9
2 changed files with 35 additions and 10 deletions

View File

@ -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")

View File

@ -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,10 +252,17 @@ 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
def getPersonalTransactions(self):
blocks = utilityHelper.loadFile("../data/ledger.dat")
total = 0
@ -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: