Skip to content

Commit

Permalink
Storing unix expiryTime as part of contract structure
Browse files Browse the repository at this point in the history
  • Loading branch information
Vivek Teega committed May 7, 2023
1 parent fa9798d commit 993bf6e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
23 changes: 13 additions & 10 deletions parsing.py
Expand Up @@ -137,7 +137,7 @@ def apply_rule1(*argv):
return a


def extract_substing_between(test_str, sub1, sub2):
def extract_substring_between(test_str, sub1, sub2):
# getting index of substrings
idx1 = test_str.index(sub1)
idx2 = test_str.index(sub2)
Expand All @@ -152,7 +152,7 @@ def extract_substing_between(test_str, sub1, sub2):
# StateF functions
def isStateF(text):
try:
statef_string = extract_substing_between(text, 'statef', 'end-statef').strip()
statef_string = extract_substring_between(text, 'statef', 'end-statef').strip()
i=iter(statef_string.split(":"))
statef_list = [":".join(x) for x in zip(i,i)]
statef = {}
Expand Down Expand Up @@ -221,9 +221,10 @@ def outputreturn(*argv):
'minimumsubscriptionamount' : argv[6],
'maximumsubscriptionamount' : argv[7],
'userchoices' : argv[8],
'expiryTime' : argv[9]
'expiryTime' : argv[9],
'unix_expiryTime': argv[10]
},
'stateF': argv[10]
'stateF': argv[11]
}
return remove_empty_from_dict(parsed_data)
elif argv[0] == 'one-time-event-userchoice-smartcontract-participation':
Expand Down Expand Up @@ -261,9 +262,10 @@ def outputreturn(*argv):
'minimumsubscriptionamount' : argv[6],
'maximumsubscriptionamount' : argv[7],
'payeeAddress' : argv[8],
'expiryTime' : argv[9]
'expiryTime' : argv[9],
'unix_expiryTime' : argv[10]
},
'stateF': argv[10]
'stateF': argv[11]
}
return remove_empty_from_dict(parsed_data)
elif argv[0] == 'continuos-event-token-swap-incorporation':
Expand Down Expand Up @@ -350,7 +352,7 @@ def extract_specialcharacter_words(rawstring, special_characters):

def extract_contract_conditions(text, contract_type, marker=None, blocktime=None):
try:
rulestext = extract_substing_between(text, 'contract-conditions', 'end-contract-conditions')
rulestext = extract_substring_between(text, 'contract-conditions', 'end-contract-conditions')
except:
return False
if rulestext.strip()[0] == ':':
Expand Down Expand Up @@ -391,6 +393,7 @@ def extract_contract_conditions(text, contract_type, marker=None, blocktime=None
logger.info('Expirytime of the contract is earlier than the block it is incorporated in. This incorporation will be rejected ')
return False
extractedRules['expiryTime'] = expirytime
extractedRules['unix_expiryTime'] = expirytime_object.timestamp()
except:
logger.info('Error parsing expiry time')
return False
Expand Down Expand Up @@ -1094,7 +1097,7 @@ def parse_flodata(text, blockinfo, net):
return outputreturn('noise')

if 'userchoices' in contract_conditions.keys():
return outputreturn('one-time-event-userchoice-smartcontract-incorporation',f"{contract_token}", f"{contract_name}", f"{contract_address}", f"{clean_text}", f"{contractAmount}", f"{minimum_subscription_amount}" , f"{maximum_subscription_amount}", f"{contract_conditions['userchoices']}", f"{contract_conditions['expiryTime']}", stateF_mapping)
return outputreturn('one-time-event-userchoice-smartcontract-incorporation',f"{contract_token}", f"{contract_name}", f"{contract_address}", f"{clean_text}", f"{contractAmount}", f"{minimum_subscription_amount}" , f"{maximum_subscription_amount}", f"{contract_conditions['userchoices']}", f"{contract_conditions['expiryTime']}", f"{contract_conditions['unix_expiryTime']}", stateF_mapping)
elif 'payeeAddress' in contract_conditions.keys():
contract_conditions['payeeAddress'] = find_word_index_fromstring(clean_text,contract_conditions['payeeAddress'])
# check if colon exists in the payeeAddress string
Expand Down Expand Up @@ -1123,13 +1126,13 @@ def parse_flodata(text, blockinfo, net):
return outputreturn('noise')
else:
contract_conditions['payeeAddress'] = payeeAddress_split_dictionary
return outputreturn('one-time-event-time-smartcontract-incorporation',f"{contract_token}", f"{contract_name}", f"{contract_address}", f"{clean_text}", f"{contractAmount}", f"{minimum_subscription_amount}" , f"{maximum_subscription_amount}", contract_conditions['payeeAddress'], f"{contract_conditions['expiryTime']}", stateF_mapping)
return outputreturn('one-time-event-time-smartcontract-incorporation',f"{contract_token}", f"{contract_name}", f"{contract_address}", f"{clean_text}", f"{contractAmount}", f"{minimum_subscription_amount}" , f"{maximum_subscription_amount}", contract_conditions['payeeAddress'], f"{contract_conditions['expiryTime']}", contract_conditions['unix_expiryTime'], stateF_mapping)
else:
if not check_flo_address(contract_conditions['payeeAddress'], is_testnet):
return outputreturn('noise')
else:
contract_conditions['payeeAddress'] = {f"{contract_conditions['payeeAddress']}":100}
return outputreturn('one-time-event-time-smartcontract-incorporation',f"{contract_token}", f"{contract_name}", f"{contract_address}", f"{clean_text}", f"{contractAmount}", f"{minimum_subscription_amount}" , f"{maximum_subscription_amount}", contract_conditions['payeeAddress'], f"{contract_conditions['expiryTime']}", stateF_mapping)
return outputreturn('one-time-event-time-smartcontract-incorporation',f"{contract_token}", f"{contract_name}", f"{contract_address}", f"{clean_text}", f"{contractAmount}", f"{minimum_subscription_amount}" , f"{maximum_subscription_amount}", contract_conditions['payeeAddress'], f"{contract_conditions['expiryTime']}", contract_conditions['unix_expiryTime'], stateF_mapping)

if first_classification['categorization'] == 'smart-contract-participation-deposit-C':
# either participation of one-time-event contract or
Expand Down
6 changes: 5 additions & 1 deletion tracktokens_smartcontracts.py
Expand Up @@ -394,8 +394,10 @@ def processBlock(blockindex=None, blockhash=None):
'c58bebd583a5b24a9d342712efb9e4b2eac33fe36d8ebe9119126c02f766986c',
'ec6604d147d99ec41f05dec82f9c241815358015904fad37ace061d7580b178e',
'39ef49e0e06438bda462c794955735e7ea3ae81cb576ec5c97b528c8a257614c',
'd36b744d6b9d8a694a93476dbd1134dbdc8223cf3d1a604447acb09221aa3b49']:
'd36b744d6b9d8a694a93476dbd1134dbdc8223cf3d1a604447acb09221aa3b49',
'64abe801d12224d10422de88070a76ad8c6d17b533ba5288fb0961b4cbf6adf4']:
print(f'Paused at transaction {transaction}')
pdb.set_trace()

# TODO CLEANUP - REMOVE THIS WHILE SECTION, WHY IS IT HERE?
while(current_index == -1):
Expand Down Expand Up @@ -1555,6 +1557,8 @@ def processTransaction(transaction_data, parsed_data, blockinfo):
session.add(ContractStructure(attribute='contractAddress', index=0, value=parsed_data['contractAddress']))
session.add(ContractStructure(attribute='flodata', index=0, value=parsed_data['flodata']))
session.add(ContractStructure(attribute='expiryTime', index=0, value=parsed_data['contractConditions']['expiryTime']))
pdb.set_trace()
session.add(ContractStructure(attribute='unix_expiryTime', index=0, value=parsed_data['contractConditions']['unix_expiryTime']))
if 'contractAmount' in parsed_data['contractConditions'].keys():
session.add(ContractStructure(attribute='contractAmount', index=0, value=parsed_data['contractConditions']['contractAmount']))

Expand Down

0 comments on commit 993bf6e

Please sign in to comment.