Added blocktime column in transactionHistory and refactored those database operations into a function
This commit is contained in:
parent
22bca78569
commit
138e53bb06
@ -59,7 +59,7 @@ class TransactionHistory(TokenBase):
|
|||||||
transferAmount = Column('transferAmount', Float)
|
transferAmount = Column('transferAmount', Float)
|
||||||
blockNumber = Column('blockNumber', Integer)
|
blockNumber = Column('blockNumber', Integer)
|
||||||
blockHash = Column('blockHash', String)
|
blockHash = Column('blockHash', String)
|
||||||
time = Column('time', Integer)
|
blocktime = Column('blocktime', Integer)
|
||||||
transactionHash = Column('transactionHash', String)
|
transactionHash = Column('transactionHash', String)
|
||||||
blockchainReference = Column('blockchainReference', String)
|
blockchainReference = Column('blockchainReference', String)
|
||||||
jsonData = Column('jsonData', String)
|
jsonData = Column('jsonData', String)
|
||||||
@ -117,7 +117,7 @@ class ContractTransactionHistory(ContractBase):
|
|||||||
transferAmount = Column('transferAmount', Float)
|
transferAmount = Column('transferAmount', Float)
|
||||||
blockNumber = Column('blockNumber', Integer)
|
blockNumber = Column('blockNumber', Integer)
|
||||||
blockHash = Column('blockHash', String)
|
blockHash = Column('blockHash', String)
|
||||||
time = Column('time', Integer)
|
blocktime = Column('time', Integer)
|
||||||
transactionHash = Column('transactionHash', String)
|
transactionHash = Column('transactionHash', String)
|
||||||
blockchainReference = Column('blockchainReference', String)
|
blockchainReference = Column('blockchainReference', String)
|
||||||
jsonData = Column('jsonData', String)
|
jsonData = Column('jsonData', String)
|
||||||
|
|||||||
@ -103,10 +103,89 @@ def create_database_session_orm(type, parameters, base):
|
|||||||
return session
|
return session
|
||||||
|
|
||||||
|
|
||||||
|
def add_transaction_history(token_name, sourceFloAddress, destFloAddress, transferAmount, blockNumber, blockHash, blocktime, transactionHash, jsonData, transactionType, parsedFloData):
|
||||||
|
session = create_database_session_orm('token', {'token_name': token_name}, TokenBase)
|
||||||
|
blockchainReference = neturl + 'tx/' + transactionHash
|
||||||
|
session.add(TransactionHistory(
|
||||||
|
sourceFloAddress=sourceFloAddress,
|
||||||
|
destFloAddress=destFloAddress,
|
||||||
|
transferAmount=transferAmount,
|
||||||
|
blockNumber=blockNumber,
|
||||||
|
blockHash=blockHash,
|
||||||
|
blocktime=blocktime,
|
||||||
|
transactionHash=transactionHash,
|
||||||
|
blockchainReference=blockchainReference,
|
||||||
|
jsonData=jsonData,
|
||||||
|
transactionType=transactionType,
|
||||||
|
parsedFloData=parsedFloData
|
||||||
|
))
|
||||||
|
session.commit()
|
||||||
|
session.close()
|
||||||
|
|
||||||
|
|
||||||
|
def add_contract_transaction_history(contract_name, contract_address, transactionType, transactionSubType, sourceFloAddress, destFloAddress, transferAmount, blockNumber, blockHash, blocktime, transactionHash, jsonData, parsedFloData):
|
||||||
|
session = create_database_session_orm('smart_contract', {'contract_name': f"{contract_name}", 'contract_address': f"{contract_address}"}, ContractBase)
|
||||||
|
blockchainReference = neturl + 'tx/' + transactionHash
|
||||||
|
session.add(ContractTransactionHistory(transactionType=transactionType,
|
||||||
|
sourceFloAddress=sourceFloAddress,
|
||||||
|
destFloAddress=destFloAddress,
|
||||||
|
transferAmount=transferAmount,
|
||||||
|
blockNumber=blockNumber,
|
||||||
|
blockHash=blockHash,
|
||||||
|
blocktime=blocktime,
|
||||||
|
transactionHash=transactionHash,
|
||||||
|
blockchainReference=blockchainReference,
|
||||||
|
jsonData=jsonData,
|
||||||
|
parsedFloData=parsedFloData
|
||||||
|
))
|
||||||
|
session.commit()
|
||||||
|
session.close()
|
||||||
|
|
||||||
|
|
||||||
|
def rejected_transaction_history(transaction_data, parsed_data, sourceFloAddress, destFloAddress, rejectComment):
|
||||||
|
session = create_database_session_orm('system_dbs', {'db_name': "system"}, TokenBase)
|
||||||
|
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
||||||
|
session.add(RejectedTransactionHistory(tokenIdentification=parsed_data['tokenIdentification'],
|
||||||
|
sourceFloAddress=sourceFloAddress, destFloAddress=destFloAddress,
|
||||||
|
transferAmount=parsed_data['tokenAmount'],
|
||||||
|
blockNumber=transaction_data['blockheight'],
|
||||||
|
blockHash=transaction_data['blockhash'],
|
||||||
|
time=transaction_data['blocktime'],
|
||||||
|
transactionHash=transaction_data['txid'],
|
||||||
|
blockchainReference=blockchainReference,
|
||||||
|
jsonData=json.dumps(transaction_data),
|
||||||
|
rejectComment=rejectComment,
|
||||||
|
transactionType=parsed_data['type'],
|
||||||
|
parsedFloData=json.dumps(parsed_data)
|
||||||
|
))
|
||||||
|
session.commit()
|
||||||
|
session.close()
|
||||||
|
|
||||||
|
|
||||||
|
def rejected_contract_transaction_history(transaction_data, parsed_data, transactionType, contractAddress, sourceFloAddress, destFloAddress, rejectComment):
|
||||||
|
session = create_database_session_orm('system_dbs', {'db_name': "system"}, SystemBase)
|
||||||
|
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
||||||
|
session.add(RejectedContractTransactionHistory(transactionType=transactionType,
|
||||||
|
contractName=parsed_data['contractName'],
|
||||||
|
contractAddress=contractAddress,
|
||||||
|
sourceFloAddress=sourceFloAddress,
|
||||||
|
destFloAddress=destFloAddress,
|
||||||
|
transferAmount=None,
|
||||||
|
blockNumber=transaction_data['blockheight'],
|
||||||
|
blockHash=transaction_data['blockhash'],
|
||||||
|
time=transaction_data['blocktime'],
|
||||||
|
transactionHash=transaction_data['txid'],
|
||||||
|
blockchainReference=blockchainReference,
|
||||||
|
jsonData=json.dumps(transaction_data),
|
||||||
|
rejectComment=rejectComment,
|
||||||
|
parsedFloData=json.dumps(parsed_data)))
|
||||||
|
session.commit()
|
||||||
|
session.close()
|
||||||
|
|
||||||
|
|
||||||
def convert_datetime_to_arrowobject(expiryTime):
|
def convert_datetime_to_arrowobject(expiryTime):
|
||||||
expirytime_split = expiryTime.split(' ')
|
expirytime_split = expiryTime.split(' ')
|
||||||
parse_string = '{}/{}/{} {}'.format(expirytime_split[3], parsing.months[expirytime_split[1]],
|
parse_string = '{}/{}/{} {}'.format(expirytime_split[3], parsing.months[expirytime_split[1]], expirytime_split[2], expirytime_split[4])
|
||||||
expirytime_split[2], expirytime_split[4])
|
|
||||||
expirytime_object = parsing.arrow.get(parse_string, 'YYYY/M/D HH:mm:ss').replace(tzinfo=expirytime_split[5][3:])
|
expirytime_object = parsing.arrow.get(parse_string, 'YYYY/M/D HH:mm:ss').replace(tzinfo=expirytime_split[5][3:])
|
||||||
return expirytime_object
|
return expirytime_object
|
||||||
|
|
||||||
@ -160,14 +239,6 @@ def processBlock(blockindex=None, blockhash=None):
|
|||||||
transaction_data = newMultiRequest(f"tx/{transaction}")
|
transaction_data = newMultiRequest(f"tx/{transaction}")
|
||||||
try:
|
try:
|
||||||
text = transaction_data["floData"]
|
text = transaction_data["floData"]
|
||||||
# TODO CLEANUP - REMOVE TEXT STUB AFTER TESTING
|
|
||||||
'''text = Create Smart Contract with the name swap-bitcoin-bioscope@ of the type continuous-event*
|
|
||||||
at the address stateF=address:oPkHWcvqBHfCortTHScrVBjXLsZhWie99C:bitcoin_price_source:bitpay:usd_inr_exchange_source:bitpay end-stateF oYzeeUBWRpzRuczW6myh2LHGnXPyR2Bc6k$ with contract-conditions :
|
|
||||||
(1) subtype = tokenswap
|
|
||||||
(2) accepting_token = bitcoin#
|
|
||||||
(3) selling_token = bioscope#
|
|
||||||
(4) price = "15"
|
|
||||||
(5) priceType="statef" end-contract-conditions'''
|
|
||||||
text = text.replace("\n", " \n ")
|
text = text.replace("\n", " \n ")
|
||||||
current_index = 2
|
current_index = 2
|
||||||
except:
|
except:
|
||||||
@ -244,15 +315,9 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress,
|
|||||||
if isInfiniteToken == True:
|
if isInfiniteToken == True:
|
||||||
# Make new entry
|
# Make new entry
|
||||||
session.add(ActiveTable(address=outputAddress, consumedpid='1', transferBalance=float(tokenAmount), blockNumber=blockinfo['height']))
|
session.add(ActiveTable(address=outputAddress, consumedpid='1', transferBalance=float(tokenAmount), blockNumber=blockinfo['height']))
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
|
||||||
session.add(TransactionHistory(sourceFloAddress=inputAddress, destFloAddress=outputAddress,
|
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))
|
||||||
transferAmount=tokenAmount, blockNumber=blockinfo['height'],
|
|
||||||
blockHash=blockinfo['hash'], time=blockinfo['time'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data),
|
|
||||||
transactionType=parsed_data['type'],
|
|
||||||
parsedFloData=json.dumps(parsed_data)))
|
|
||||||
session.commit()
|
session.commit()
|
||||||
session.close()
|
session.close()
|
||||||
return 1
|
return 1
|
||||||
@ -381,9 +446,9 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress,
|
|||||||
session.execute('INSERT INTO consumedTable (id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber) SELECT id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber FROM activeTable WHERE id={}'.format(piditem[0]))
|
session.execute('INSERT INTO consumedTable (id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber) SELECT id, address, parentid, consumedpid, transferBalance, addressBalance, orphaned_parentid, blockNumber FROM activeTable WHERE id={}'.format(piditem[0]))
|
||||||
session.execute('DELETE FROM activeTable WHERE id={}'.format(piditem[0]))
|
session.execute('DELETE FROM activeTable WHERE id={}'.format(piditem[0]))
|
||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
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.add(TransactionHistory(sourceFloAddress=inputAddress, destFloAddress=outputAddress,transferAmount=tokenAmount, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], time=blockinfo['time'], transactionHash=transaction_data['txid'], blockchainReference=blockchainReference, jsonData=json.dumps(transaction_data), transactionType=parsed_data['type'], parsedFloData=json.dumps(parsed_data)))
|
|
||||||
session.commit()
|
session.commit()
|
||||||
session.close()
|
session.close()
|
||||||
return 1
|
return 1
|
||||||
@ -393,17 +458,8 @@ def trigger_internal_contract(tokenAmount_sum, contractStructure, transaction_da
|
|||||||
# Trigger the contract
|
# Trigger the contract
|
||||||
if tokenAmount_sum <= 0:
|
if tokenAmount_sum <= 0:
|
||||||
# Add transaction to ContractTransactionHistory
|
# Add transaction to ContractTransactionHistory
|
||||||
session = create_database_session_orm('smart_contract', {'contract_name': f"{contract_name}", 'contract_address': f"{contract_address}"}, ContractBase)
|
add_contract_transaction_history(contract_name=contract_name, contract_address=contract_address, transactionType='trigger', transactionSubType='zero-participation', sourceFloAddress='', destFloAddress='', transferAmount=0, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=transaction_data['txid'], jsonData=None, parsedFloData=None)
|
||||||
session.add(ContractTransactionHistory(transactionType='trigger',
|
|
||||||
transactionSubType='zero-participation',
|
|
||||||
sourceFloAddress='',
|
|
||||||
destFloAddress='',
|
|
||||||
transferAmount=0,
|
|
||||||
blockNumber=blockinfo['height'],
|
|
||||||
blockHash=blockinfo['hash'],
|
|
||||||
time=blockinfo['time']))
|
|
||||||
session.commit()
|
|
||||||
session.close()
|
|
||||||
else:
|
else:
|
||||||
payeeAddress = json.loads(contractStructure['payeeAddress'])
|
payeeAddress = json.loads(contractStructure['payeeAddress'])
|
||||||
tokenIdentification = contractStructure['tokenIdentification']
|
tokenIdentification = contractStructure['tokenIdentification']
|
||||||
@ -416,22 +472,8 @@ def trigger_internal_contract(tokenAmount_sum, contractStructure, transaction_da
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
# Add transaction to ContractTransactionHistory
|
# Add transaction to ContractTransactionHistory
|
||||||
session = create_database_session_orm('smart_contract', {'contract_name': f"{contract_name}", 'contract_address': f"{contract_address}"}, ContractBase)
|
add_contract_transaction_history(contract_name=contract_name, contract_address=contract_address, transactionType='trigger', transactionSubType=transaction_subType, sourceFloAddress=contract_address, destFloAddress=floaddress, transferAmount=transferAmount, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), parsedFloData=json.dumps(parsed_data))
|
||||||
session.add(ContractTransactionHistory(transactionType='trigger',
|
|
||||||
transactionSubType=transaction_subType,
|
|
||||||
sourceFloAddress=contract_address,
|
|
||||||
destFloAddress=floaddress,
|
|
||||||
transferAmount=transferAmount,
|
|
||||||
blockNumber=blockinfo['height'],
|
|
||||||
blockHash=blockinfo['hash'],
|
|
||||||
time=blockinfo['time'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
jsonData=json.dumps(transaction_data),
|
|
||||||
parsedFloData=json.dumps(parsed_data)
|
|
||||||
))
|
|
||||||
session.commit()
|
|
||||||
session.close()
|
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
@ -452,15 +494,8 @@ def process_minimum_subscriptionamount(contractStructure, connection):
|
|||||||
connection.execute('update contractparticipants set winningAmount="{}" where participantAddress="{}" and transactionHash="{}"'.format((participant[1], participant[0], participant[2])))
|
connection.execute('update contractparticipants set winningAmount="{}" where participantAddress="{}" and transactionHash="{}"'.format((participant[1], participant[0], participant[2])))
|
||||||
|
|
||||||
# add transaction to ContractTransactionHistory
|
# add transaction to ContractTransactionHistory
|
||||||
session = create_database_session_orm('smart_contract', {'contract_name': f"{contractStructure['contractName']}", 'contract_address': f"{contractStructure['contractAddress']}"}, ContractBase)
|
add_contract_transaction_history(contract_name=contractStructure['contractName'], contract_address=contractStructure['contractAddress'], transactionType='trigger', transactionSubType='minimumsubscriptionamount-payback', sourceFloAddress=None, destFloAddress=None, transferAmount=None, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=None, jsonData=None, parsedFloData=None)
|
||||||
session.add(ContractTransactionHistory(transactionType='trigger',
|
|
||||||
transactionSubType='minimumsubscriptionamount-payback',
|
|
||||||
transferAmount=None,
|
|
||||||
blockNumber=blockinfo['height'],
|
|
||||||
blockHash=blockinfo['hash'],
|
|
||||||
time=blockinfo['time']))
|
|
||||||
session.commit()
|
|
||||||
session.close()
|
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
return 0
|
return 0
|
||||||
@ -568,20 +603,7 @@ def checkLocal_expiry_trigger_deposit(blockinfo):
|
|||||||
blockHash = blockinfo['hash']
|
blockHash = blockinfo['hash']
|
||||||
))
|
))
|
||||||
|
|
||||||
contract_db.add(ContractTransactionHistory(
|
add_contract_transaction_history(contract_name=query.contractName, contract_address=query.contractAddress, transactionType='smartContractDepositReturn', transactionSubType=None, sourceFloAddress=query.contractAddress, destFloAddress=depositorAddress, transferAmount=returnAmount, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=deposit_query.transactionHash, jsonData=None, parsedFloData=None)
|
||||||
transactionType = 'smartContractDepositReturn',
|
|
||||||
transactionSubType = '',
|
|
||||||
sourceFloAddress = query.contractAddress,
|
|
||||||
destFloAddress = depositorAddress,
|
|
||||||
transferAmount = returnAmount,
|
|
||||||
blockNumber = blockinfo['height'],
|
|
||||||
blockHash = blockinfo['hash'],
|
|
||||||
time = blockinfo['time'],
|
|
||||||
transactionHash = deposit_query.transactionHash,
|
|
||||||
blockchainReference = '',
|
|
||||||
jsonData = '',
|
|
||||||
parsedFloData = ''
|
|
||||||
))
|
|
||||||
|
|
||||||
systemdb_session.add(TimeActions(
|
systemdb_session.add(TimeActions(
|
||||||
time = query.time,
|
time = query.time,
|
||||||
@ -716,47 +738,6 @@ def extract_contractStructure(contractName, contractAddress):
|
|||||||
return contractStructure
|
return contractStructure
|
||||||
|
|
||||||
|
|
||||||
def rejected_transaction_history(transaction_data, parsed_data, sourceFloAddress, destFloAddress, rejectComment):
|
|
||||||
session = create_database_session_orm('system_dbs', {'db_name': "system"}, TokenBase)
|
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
|
||||||
session.add(RejectedTransactionHistory(tokenIdentification=parsed_data['tokenIdentification'],
|
|
||||||
sourceFloAddress=sourceFloAddress, destFloAddress=destFloAddress,
|
|
||||||
transferAmount=parsed_data['tokenAmount'],
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash'],
|
|
||||||
time=transaction_data['blocktime'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data),
|
|
||||||
rejectComment=rejectComment,
|
|
||||||
transactionType=parsed_data['type'],
|
|
||||||
parsedFloData=json.dumps(parsed_data)
|
|
||||||
))
|
|
||||||
session.commit()
|
|
||||||
session.close()
|
|
||||||
|
|
||||||
|
|
||||||
def rejected_contract_transaction_history(transaction_data, parsed_data, transactionType, contractAddress, sourceFloAddress, destFloAddress, rejectComment):
|
|
||||||
session = create_database_session_orm('system_dbs', {'db_name': "system"}, SystemBase)
|
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
|
||||||
session.add(RejectedContractTransactionHistory(transactionType=transactionType,
|
|
||||||
contractName=parsed_data['contractName'],
|
|
||||||
contractAddress=contractAddress,
|
|
||||||
sourceFloAddress=sourceFloAddress,
|
|
||||||
destFloAddress=destFloAddress,
|
|
||||||
transferAmount=None,
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash'],
|
|
||||||
time=transaction_data['blocktime'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data),
|
|
||||||
rejectComment=rejectComment,
|
|
||||||
parsedFloData=json.dumps(parsed_data)))
|
|
||||||
session.commit()
|
|
||||||
session.close()
|
|
||||||
|
|
||||||
|
|
||||||
def processTransaction(transaction_data, parsed_data, blockinfo):
|
def processTransaction(transaction_data, parsed_data, blockinfo):
|
||||||
# Do the necessary checks for the inputs and outputs
|
# Do the necessary checks for the inputs and outputs
|
||||||
# todo Rule 38 - Here we are doing FLO processing. We attach asset amounts to a FLO address, so every FLO address
|
# todo Rule 38 - Here we are doing FLO processing. We attach asset amounts to a FLO address, so every FLO address
|
||||||
@ -1030,21 +1011,7 @@ def processTransaction(transaction_data, parsed_data, blockinfo):
|
|||||||
session.commit()
|
session.commit()
|
||||||
|
|
||||||
# Store transfer as part of ContractTransactionHistory
|
# Store transfer as part of ContractTransactionHistory
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
add_contract_transaction_history(contract_name=parsed_data['contractName'], contract_address=outputlist[0], transactionType='participation', transactionSubType=None, sourceFloAddress=inputadd, destFloAddress=outputlist[0], transferAmount=parsed_data['tokenAmount'], blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), parsedFloData=json.dumps(parsed_data))
|
||||||
session.add(ContractTransactionHistory(transactionType='participation',
|
|
||||||
sourceFloAddress=inputadd,
|
|
||||||
destFloAddress=outputlist[0],
|
|
||||||
transferAmount=parsed_data['tokenAmount'],
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash'],
|
|
||||||
time=transaction_data['blocktime'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data),
|
|
||||||
parsedFloData=json.dumps(parsed_data)
|
|
||||||
))
|
|
||||||
session.commit()
|
|
||||||
session.close()
|
|
||||||
|
|
||||||
# Store a mapping of participant address -> Contract participated in
|
# Store a mapping of participant address -> Contract participated in
|
||||||
session = create_database_session_orm('system_dbs', {'db_name': "system"}, SystemBase)
|
session = create_database_session_orm('system_dbs', {'db_name': "system"}, SystemBase)
|
||||||
@ -1119,27 +1086,10 @@ def processTransaction(transaction_data, parsed_data, blockinfo):
|
|||||||
returnval = transferToken(parsed_data['tokenIdentification'], transferAmount, inputlist[0], outputlist[0], transaction_data, parsed_data, blockinfo = blockinfo)
|
returnval = transferToken(parsed_data['tokenIdentification'], transferAmount, inputlist[0], outputlist[0], transaction_data, parsed_data, blockinfo = blockinfo)
|
||||||
if returnval is not None:
|
if returnval is not None:
|
||||||
# Store participant details in the smart contract's db
|
# Store participant details in the smart contract's db
|
||||||
session.add(ContractParticipants(participantAddress=inputadd,
|
session.add(ContractParticipants(participantAddress=inputadd, tokenAmount=transferAmount, userChoice='-', transactionHash=transaction_data['txid'], blockNumber=transaction_data['blockheight'], blockHash=transaction_data['blockhash']))
|
||||||
tokenAmount=transferAmount,
|
|
||||||
userChoice='-',
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash']))
|
|
||||||
|
|
||||||
# Store transfer as part of ContractTransactionHistory
|
# Store transfer as part of ContractTransactionHistory
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
add_contract_transaction_history(contract_name=parsed_data['contractName'], contract_address=outputlist[0], transactionType='participation', transactionSubType=None, sourceFloAddress=inputadd, destFloAddress=outputlist[0], transferAmount=transferAmount, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), parsedFloData=json.dumps(parsed_data))
|
||||||
session.add(ContractTransactionHistory(transactionType='participation',
|
|
||||||
sourceFloAddress=inputadd,
|
|
||||||
destFloAddress=outputlist[0],
|
|
||||||
transferAmount=transferAmount,
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash'],
|
|
||||||
time=transaction_data['blocktime'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data),
|
|
||||||
parsedFloData=json.dumps(parsed_data)
|
|
||||||
))
|
|
||||||
session.commit()
|
session.commit()
|
||||||
session.close()
|
session.close()
|
||||||
|
|
||||||
@ -1287,19 +1237,8 @@ def processTransaction(transaction_data, parsed_data, blockinfo):
|
|||||||
blockHash= blockinfo['hash'],
|
blockHash= blockinfo['hash'],
|
||||||
winningAmount = swapAmount))
|
winningAmount = swapAmount))
|
||||||
|
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
add_contract_transaction_history(contract_name=parsed_data['contractName'], contract_address=outputlist[0], transactionType='participation', transactionSubType='swap', sourceFloAddress=inputlist[0], destFloAddress=outputlist[0], transferAmount=swapAmount, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), parsedFloData=json.dumps(parsed_data))
|
||||||
contract_session.add(ContractTransactionHistory( transactionType = 'participation',
|
|
||||||
transactionSubType = 'swap',
|
|
||||||
sourceFloAddress = inputlist[0],
|
|
||||||
destFloAddress = outputlist[0],
|
|
||||||
transferAmount = swapAmount,
|
|
||||||
blockNumber = blockinfo['height'],
|
|
||||||
blockHash = blockinfo['hash'],
|
|
||||||
time = blockinfo['time'],
|
|
||||||
transactionHash = transaction_data['txid'],
|
|
||||||
blockchainReference = blockchainReference,
|
|
||||||
jsonData = json.dumps(transaction_data),
|
|
||||||
parsedFloData = json.dumps(parsed_data)))
|
|
||||||
contract_session.commit()
|
contract_session.commit()
|
||||||
contract_session.close()
|
contract_session.close()
|
||||||
|
|
||||||
@ -1339,17 +1278,10 @@ def processTransaction(transaction_data, parsed_data, blockinfo):
|
|||||||
session.add(TransferLogs(sourceFloAddress=inputadd, destFloAddress=outputlist[0],
|
session.add(TransferLogs(sourceFloAddress=inputadd, destFloAddress=outputlist[0],
|
||||||
transferAmount=parsed_data['tokenAmount'], sourceId=0, destinationId=1,
|
transferAmount=parsed_data['tokenAmount'], sourceId=0, destinationId=1,
|
||||||
blockNumber=transaction_data['blockheight'], time=transaction_data['blocktime'],
|
blockNumber=transaction_data['blockheight'], time=transaction_data['blocktime'],
|
||||||
transactionHash=transaction_data['txid']))
|
transactionHash=transaction_data['txid']))
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
|
||||||
session.add(TransactionHistory(sourceFloAddress=inputadd, destFloAddress=outputlist[0],
|
add_transaction_history(token_name=parsed_data['tokenIdentification'], sourceFloAddress=inputadd, destFloAddress=outputlist[0], transferAmount=parsed_data['tokenAmount'], blockNumber=transaction_data['blockheight'], blockHash=transaction_data['blockhash'], blocktime=transaction_data['blocktime'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), transactionType=parsed_data['type'], parsedFloData=json.dumps(parsed_data))
|
||||||
transferAmount=parsed_data['tokenAmount'],
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash'],
|
|
||||||
time=transaction_data['blocktime'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data), transactionType=parsed_data['type'],
|
|
||||||
parsedFloData=json.dumps(parsed_data)))
|
|
||||||
session.commit()
|
session.commit()
|
||||||
session.close()
|
session.close()
|
||||||
|
|
||||||
@ -1424,18 +1356,8 @@ def processTransaction(transaction_data, parsed_data, blockinfo):
|
|||||||
session.add(ContractStructure(attribute='payeeAddress', index=0, value=json.dumps(parsed_data['contractConditions']['payeeAddress'])))
|
session.add(ContractStructure(attribute='payeeAddress', index=0, value=json.dumps(parsed_data['contractConditions']['payeeAddress'])))
|
||||||
|
|
||||||
# Store transfer as part of ContractTransactionHistory
|
# Store transfer as part of ContractTransactionHistory
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
add_contract_transaction_history(contract_name=parsed_data['contractName'], contract_address=parsed_data['contractAddress'], transactionType='incorporation', transactionSubType=None, sourceFloAddress=inputadd, destFloAddress=outputlist[0], transferAmount=None, blockNumber=blockinfo['height'], blockHash=blockinfo['hash'], blocktime=blockinfo['time'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), parsedFloData=json.dumps(parsed_data))
|
||||||
session.add(ContractTransactionHistory(transactionType='incorporation', sourceFloAddress=inputadd,
|
|
||||||
destFloAddress=outputlist[0],
|
|
||||||
transferAmount=None,
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash'],
|
|
||||||
time=transaction_data['blocktime'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data),
|
|
||||||
parsedFloData=json.dumps(parsed_data)
|
|
||||||
))
|
|
||||||
session.commit()
|
session.commit()
|
||||||
session.close()
|
session.close()
|
||||||
|
|
||||||
@ -1911,16 +1833,9 @@ def processTransaction(transaction_data, parsed_data, blockinfo):
|
|||||||
transferAmount=parsed_data['tokenAmount'], sourceId=0, destinationId=1,
|
transferAmount=parsed_data['tokenAmount'], sourceId=0, destinationId=1,
|
||||||
blockNumber=transaction_data['blockheight'], time=transaction_data['blocktime'],
|
blockNumber=transaction_data['blockheight'], time=transaction_data['blocktime'],
|
||||||
transactionHash=transaction_data['txid']))
|
transactionHash=transaction_data['txid']))
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
|
||||||
session.add(TransactionHistory(sourceFloAddress=inputadd, destFloAddress=outputlist[0],
|
add_transaction_history(token_name=parsed_data['tokenIdentification'], sourceFloAddress=inputadd, destFloAddress=outputlist[0], transferAmount=parsed_data['tokenAmount'], blockNumber=transaction_data['blockheight'], blockHash=transaction_data['blockhash'], blocktime=transaction_data['blocktime'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), transactionType=parsed_data['type'], parsedFloData=json.dumps(parsed_data))
|
||||||
transferAmount=parsed_data['tokenAmount'],
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash'],
|
|
||||||
time=transaction_data['blocktime'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data), transactionType=parsed_data['type'],
|
|
||||||
parsedFloData=json.dumps(parsed_data)))
|
|
||||||
session.commit()
|
session.commit()
|
||||||
session.close()
|
session.close()
|
||||||
|
|
||||||
@ -1957,17 +1872,10 @@ def processTransaction(transaction_data, parsed_data, blockinfo):
|
|||||||
transferAmount=parsed_data['tokenAmount'], sourceId=0, destinationId=1,
|
transferAmount=parsed_data['tokenAmount'], sourceId=0, destinationId=1,
|
||||||
blockNumber=transaction_data['blockheight'], time=transaction_data['blocktime'],
|
blockNumber=transaction_data['blockheight'], time=transaction_data['blocktime'],
|
||||||
transactionHash=transaction_data['txid']))
|
transactionHash=transaction_data['txid']))
|
||||||
blockchainReference = neturl + 'tx/' + transaction_data['txid']
|
|
||||||
tokendb_session.add(TransactionHistory(sourceFloAddress=inputadd, destFloAddress=outputlist[0],
|
add_transaction_history(token_name=parsed_data['tokenIdentification'], sourceFloAddress=inputadd, destFloAddress=outputlist[0], transferAmount=parsed_data['tokenAmount'], blockNumber=transaction_data['blockheight'], blockHash=transaction_data['blockhash'], blocktime=blockinfo['time'], transactionHash=transaction_data['txid'], jsonData=json.dumps(transaction_data), transactionType=parsed_data['type'], parsedFloData=json.dumps(parsed_data))
|
||||||
transferAmount=parsed_data['tokenAmount'],
|
|
||||||
blockNumber=transaction_data['blockheight'],
|
|
||||||
blockHash=transaction_data['blockhash'],
|
|
||||||
time=transaction_data['blocktime'],
|
|
||||||
transactionHash=transaction_data['txid'],
|
|
||||||
blockchainReference=blockchainReference,
|
|
||||||
jsonData=json.dumps(transaction_data), transactionType=parsed_data['type'],
|
|
||||||
parsedFloData=json.dumps(parsed_data)))
|
|
||||||
|
|
||||||
|
|
||||||
# add it to token address to token mapping db table
|
# add it to token address to token mapping db table
|
||||||
connection = create_database_connection('system_dbs', {'db_name':'system'})
|
connection = create_database_connection('system_dbs', {'db_name':'system'})
|
||||||
connection.execute(f"INSERT INTO tokenAddressMapping (tokenAddress, token, transactionHash, blockNumber, blockHash) VALUES ('{inputadd}', '{parsed_data['tokenIdentification']}', '{transaction_data['txid']}', '{transaction_data['blockheight']}', '{transaction_data['blockhash']}');")
|
connection.execute(f"INSERT INTO tokenAddressMapping (tokenAddress, token, transactionHash, blockNumber, blockHash) VALUES ('{inputadd}', '{parsed_data['tokenIdentification']}', '{transaction_data['txid']}', '{transaction_data['blockheight']}', '{transaction_data['blockhash']}');")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user