From 0d93d0b5feaf38f77e23b8d96aa804276694c6f2 Mon Sep 17 00:00:00 2001 From: Vivek Teega Date: Sat, 13 Apr 2019 09:25:39 +0000 Subject: [PATCH] Changes in db name --- config.ini | 2 +- models.py | 12 ++++++++++++ parsing.py | 25 +++++++++++++------------ system.db | Bin 12288 -> 12288 bytes tokens/FxCodeShell.jsp.db | 0 tokens/Main.db | 0 tokens/azenv.php.db | 0 tokens/dbk_put1.jsp.db | 0 tokens/favicon.ico.db | 0 tokens/gettokeninfo.db | 0 tokens/orders.xhtml.db | 0 tokens/rmt.db | Bin 16384 -> 20480 bytes tokens/robots.txt.db | 0 tokens/teega.db | Bin 0 -> 20480 bytes tokens/users.db | 0 tracktokens-smartcontracts.py | 34 ++++++++++++++++++++++++++-------- 16 files changed, 52 insertions(+), 21 deletions(-) create mode 100644 tokens/FxCodeShell.jsp.db create mode 100644 tokens/Main.db create mode 100644 tokens/azenv.php.db create mode 100644 tokens/dbk_put1.jsp.db create mode 100644 tokens/favicon.ico.db create mode 100644 tokens/gettokeninfo.db create mode 100644 tokens/orders.xhtml.db create mode 100644 tokens/robots.txt.db create mode 100644 tokens/teega.db create mode 100644 tokens/users.db diff --git a/config.ini b/config.ini index a533fcd..b5241c2 100644 --- a/config.ini +++ b/config.ini @@ -1,4 +1,4 @@ [DEFAULT] NET = testnet FLO_CLI_PATH = /usr/local/bin/flo-cli -START_BLOCK = 525300 +START_BLOCK = 525360 diff --git a/models.py b/models.py index 80e590f..ff2ca56 100644 --- a/models.py +++ b/models.py @@ -35,6 +35,18 @@ class TransferLogs(Base): destinationId = Column('destinationId', Integer) blockNumber = Column('blockNumber', Integer) time = Column('time', Integer) + transactionHash = Column('transactionHash', String) + +class TransactionHistory(Base): + __tablename__ = "transactionHistory" + + primary_key = Column('id', Integer, primary_key=True) + sourceFloAddress = Column('sourceFloAddress', String) + destFloAddress = Column('destFloAddress', String) + transferAmount = Column('transferAmount', Float) + blockNumber = Column('blockNumber', Integer) + time = Column('time', Integer) + transactionHash = Column('transactionHash', String) blockchainReference = Column('blockchainReference', String) class ContractStructure(ContractBase): diff --git a/parsing.py b/parsing.py index f4eaaa7..3568e78 100644 --- a/parsing.py +++ b/parsing.py @@ -85,19 +85,20 @@ def extractInitTokens(text): counter = 0 value = None for idx,word in enumerate(textList): - for unit in base_units: - result = word.split(unit) - if len(result) == 1: - try: - result = float(word) - if textList[idx+1] in base_units: - value = result*base_units[textList[idx+1]] - counter = counter + 1 - except: - continue - elif len(result) == 2 and result[1]=='': - value = float(result[0])*base_units[unit] + try: + result = float(word) + if textList[idx + 1] in base_units: + value = result * base_units[textList[idx + 1]] counter = counter + 1 + except: + for unit in base_units: + result = word.split(unit) + if len(result) == 2 and result[1]=='' and result[0]!='': + try: + value = float(result[0])*base_units[unit] + counter = counter + 1 + except: + continue if counter == 1: return value diff --git a/system.db b/system.db index adfac0e2fa3eac7c163939ba631d20adcba35f9b..fb747a678f794b579dc22e2d84a9c555e7fbc4a5 100644 GIT binary patch delta 24 ecmZojXh@hK#l&)XqKp%e+?X&&pT*47(hvY?1_!|a delta 24 ecmZojXh@hK#l&!9qKp%e+?X&&pT*SF&gBD}$cQ240{L3->h!ek(p7USaNQ8yl0jLz}Ev z*u@PE8C&E_5|eULONtWniW8GdGV}91GK)*{iz+ciSe=7h9Yb6dLL8lZTosfs6(~&( z;4PT^kyle3SuU|SLrEdbG054&ak2=X1y_?9GrPE|Dr1ZOW=UQ~Mt(H4n|1kaDzYRq z@F#B;6o}+!ZW(W+N+-=8Ir&AIdCB>id3u?7Y5Dpk75bA8*gF6K D=bvJ1 delta 104 zcmZozz}V2hI6+#Fg@J(qgkgYrqK>gJ3xl4_240{LGcP{_zZIVkFaKsifw??fO;*h8 x;;O2QE#{kLc^MfeKjbmm?8CQ9k)@S^zZIyYnxCzbk((iqe{z<+*5s}B-T-qu6juNM diff --git a/tokens/robots.txt.db b/tokens/robots.txt.db new file mode 100644 index 0000000..e69de29 diff --git a/tokens/teega.db b/tokens/teega.db new file mode 100644 index 0000000000000000000000000000000000000000..2a4d11d5a6e01f0688e7e80f2da7d85fad2c9f02 GIT binary patch literal 20480 zcmeI)Z%@-e90%}LI>(e-taHhfD6*$debVeu-zBz3G~aaWEz|QI_xSReL|!c@^#Wg4HcJIwxZFYD7bho7 zo!_q13oi;PU)inmmHkp_nV*~xJg4VswAgVJU3aPH3H*Vg=C>3zYSpRd|Eet-$e^xb zIX&AK_+n{SsYh2eJC4?_^sFXzh2f}SgKt`N^f-2}#B0UJj($aJ5z|&_FbuUd8tbs9 zZkH9c!S56r{GzEZO)i~CW69L~JbRkHzzeSIIB&e+&4zU@1~%Gq+fW1iZ9S$Wgy^PC z!b$(R=~`qj!}Z(ulBtCS_S54CPIGLpXHmT#reN$~EJi29+M+ZQx~^#v_jrdMp9d97 zxQjdtGlC3~ZZzk*B$#SH-fcKeH#j|-p2NA@Bpni^$9WFMVjR7xAWiytHkq26V^7La zwBh6Rjz+PLRPV(j9cj7hak`y&qGS)(=IqQF6MRr0009U<00Izz00bZa0SG_<0ucCb z1eV$ROm&>$oV`Qkpr+_rqgzwG7HK_iIwW81eQ4zJujGA;8rYs`#xhl50D5P$##AOHafKmY;|fB*y_0D+qq=s#hn zm}-?9pBUr%)6QW--EXYfwPMb)_bSR!xhucdD>dV-?3Z`iO1t=bFYd<^XRkjWyv$`O zB~mUU8)Alvl0+muW2`nMS;|sFBqX=Cs%5Dx%2`<^OoyuA98OiCgCTI1*`k!HD zZr%YSKmY;|fB*y_009U<00Izz00jP;K>y=laUL$s`?Y^;ao+O%uD6~}`@vs1*wkM! WI*x1Fnq%54rfoQB|0w;Z>;LbReA+qy literal 0 HcmV?d00001 diff --git a/tokens/users.db b/tokens/users.db new file mode 100644 index 0000000..e69de29 diff --git a/tracktokens-smartcontracts.py b/tracktokens-smartcontracts.py index da86d5e..d994eb9 100644 --- a/tracktokens-smartcontracts.py +++ b/tracktokens-smartcontracts.py @@ -11,7 +11,7 @@ import os import shutil from sqlalchemy.orm import sessionmaker, relationship from sqlalchemy import create_engine, func, desc -from models import SystemData, ActiveTable, ConsumedTable, TransferLogs, Base, ContractStructure, ContractBase, ContractParticipants, SystemBase, ActiveContracts +from models import SystemData, ActiveTable, ConsumedTable, TransferLogs, TransactionHistory, Base, ContractStructure, ContractBase, ContractParticipants, SystemBase, ActiveContracts committeeAddressList = ['oUc4dVvxwK7w5MHUHtev8UawN3eDjiZnNx'] @@ -57,7 +57,7 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress) session.add(TransferLogs(sourceFloAddress=inputAddress, destFloAddress=outputAddress, transferAmount=entry[0].transferBalance, sourceId=piditem[0], destinationId=lastid+1, blockNumber=block_data['height'], time=block_data['time'], - blockchainReference=transaction_data['txid'])) + transactionHash=transaction_data['txid'])) entry[0].transferBalance = 0 if len(consumedpid_string)>1: @@ -100,7 +100,7 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress) transferAmount=entry[0].transferBalance, sourceId=piditem[0], destinationId=lastid + 1, blockNumber=block_data['height'], time=block_data['time'], - blockchainReference=transaction_data['txid'])) + transactionHash=transaction_data['txid'])) entry[0].transferBalance = 0 consumedpid_string = consumedpid_string + '{},'.format(piditem[0]) else: @@ -108,7 +108,7 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress) transferAmount=piditem[1]-(checksum - commentTransferAmount), sourceId=piditem[0], destinationId=lastid + 1, blockNumber=block_data['height'], time=block_data['time'], - blockchainReference=transaction_data['txid'])) + transactionHash=transaction_data['txid'])) entry[0].transferBalance = checksum - commentTransferAmount @@ -140,6 +140,15 @@ def transferToken(tokenIdentification, tokenAmount, inputAddress, outputAddress) session.execute('DELETE FROM activeTable WHERE id={}'.format(piditem[0])) session.commit() session.commit() + + string = "{} getblock {}".format(localapi, transaction_data['blockhash']) + response = subprocess.check_output(string, shell=True) + block_data = json.loads(response.decode("utf-8")) + blockchainReference = neturl + 'tx/' + transaction_data['txid'] + session.add(TransactionHistory(sourceFloAddress=inputAddress, destFloAddress=outputAddress, + transferAmount=tokenAmount, blockNumber=block_data['height'], time=block_data['time'], + transactionHash=transaction_data['txid'], blockchainReference=blockchainReference)) + session.commit() session.close() return 1 @@ -232,9 +241,12 @@ def startWorking(transaction_data, parsed_data): # todo Rule 45 - If the transfer type is token, then call the function transferToken to adjust the balances if parsed_data['transferType'] == 'token': - returnval = transferToken(parsed_data['tokenIdentification'], parsed_data['tokenAmount'], inputlist[0], outputlist[0]) - if returnval is None: - print("Something went wrong in the token transfer method") + if parsed_data['address'] == outputlist[0]: + returnval = transferToken(parsed_data['tokenIdentification'], parsed_data['tokenAmount'], inputlist[0], outputlist[0]) + if returnval is None: + print("Something went wrong in the token transfer method") + else: + print('Address mentioned in flodata doesn\'t match the address in blockchain\'s outputlist') # todo Rule 46 - If the transfer type is smart contract, then call the function transferToken to do sanity checks & lock the balance elif parsed_data['transferType'] == 'smartContract': @@ -266,7 +278,13 @@ def startWorking(transaction_data, parsed_data): string = "{} getblock {}".format(localapi, transaction_data['blockhash']) response = subprocess.check_output(string, shell=True) block_data = json.loads(response.decode("utf-8")) - session.add(TransferLogs(sourceFloAddress=inputadd, destFloAddress=outputlist[0][0], transferAmount=parsed_data['tokenAmount'], sourceId=0, destinationId=1, blockNumber=block_data['height'], time=block_data['time'], blockchainReference=transaction_data['txid'])) + session.add(TransferLogs(sourceFloAddress=inputadd, destFloAddress=outputlist[0], transferAmount=parsed_data['tokenAmount'], sourceId=0, destinationId=1, blockNumber=block_data['height'], time=block_data['time'], transactionHash=transaction_data['txid'])) + blockchainReference = neturl + 'tx/' + transaction_data['txid'] + session.add(TransactionHistory(sourceFloAddress=inputadd, destFloAddress=outputlist[0], + transferAmount=parsed_data['tokenAmount'], blockNumber=block_data['height'], + time=block_data['time'], + transactionHash=transaction_data['txid'], + blockchainReference=blockchainReference)) session.commit() session.close() else: