Critical bug fix for infinite token addressBalance

This commit is contained in:
RanchiMall Dev 2023-06-09 19:55:49 +00:00
parent 9eda14ae6a
commit b396bc1f74

View File

@ -18,6 +18,7 @@ from datetime import datetime
from ast import literal_eval
from models import SystemData, TokenBase, ActiveTable, ConsumedTable, TransferLogs, TransactionHistory, TokenContractAssociation, ContractBase, ContractStructure, ContractParticipants, ContractTransactionHistory, ContractDeposits, ConsumedInfo, ContractWinners, ContinuosContractBase, ContractStructure2, ContractParticipants2, ContractDeposits2, ContractTransactionHistory2, SystemBase, ActiveContracts, SystemData, ContractAddressMapping, TokenAddressMapping, DatabaseTypeMapping, TimeActions, RejectedContractTransactionHistory, RejectedTransactionHistory, LatestCacheBase, LatestTransactions, LatestBlocks
from statef_processing import process_stateF
import pdb
def newMultiRequest(apicall):
@ -39,10 +40,10 @@ def newMultiRequest(apicall):
def pushData_SSEapi(message):
signature = pyflo.sign_message(message.encode(), privKey)
'''signature = pyflo.sign_message(message.encode(), privKey)
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', 'Signature': signature}
'''try:
try:
r = requests.post(sseAPI_url, json={'message': '{}'.format(message)}, headers=headers)
except:
logger.error("couldn't push the following message to SSE api {}".format(message))'''
@ -506,8 +507,10 @@ def processBlock(blockindex=None, blockhash=None):
'ec6604d147d99ec41f05dec82f9c241815358015904fad37ace061d7580b178e',
'39ef49e0e06438bda462c794955735e7ea3ae81cb576ec5c97b528c8a257614c',
'd36b744d6b9d8a694a93476dbd1134dbdc8223cf3d1a604447acb09221aa3b49',
'64abe801d12224d10422de88070a76ad8c6d17b533ba5288fb0961b4cbf6adf4']:
'64abe801d12224d10422de88070a76ad8c6d17b533ba5288fb0961b4cbf6adf4',
'e0f728ec71bef67d17c94d66e051ae4a611ec28454443337b268e5efc0a5f12f']:
print(f'Paused at transaction {transaction}')
pdb.set_trace()
# TODO CLEANUP - REMOVE THIS WHILE SECTION, WHY IS IT HERE?
while(current_index == -1):
@ -589,7 +592,14 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress,
if isInfiniteToken == True:
# Make new entry
session.add(ActiveTable(address=outputAddress, consumedpid='1', transferBalance=float(tokenAmount), blockNumber=blockinfo['height']))
receiverAddress_details = session.query(ActiveTable).filter(ActiveTable.address==outputAddress, ActiveTable.addressBalance!=None).first()
if receiverAddress_details is None:
addressBalance = commentTransferAmount
else:
addressBalance = receiverAddress_details.addressBalance + commentTransferAmount
receiverAddress_details.addressBalance = None
session.add(ActiveTable(address=outputAddress, consumedpid='1', transferBalance=float(tokenAmount), addressBalance=addressBalance, blockNumber=blockinfo['height']))
add_transaction_history(token_name=tokenIdentification, sourceFloAddress=inputAddress, destFloAddress=outputAddress, transferAmount=tokenAmount, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), transactionType=parsed_data['type'], parsedFloData=json.dumps(parsed_data))
session.commit()
session.close()