Storing unix expiryTime as part of contract structure
This commit is contained in:
parent
fa9798d1f0
commit
993bf6e1b8
23
parsing.py
23
parsing.py
@ -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)
|
||||
@ -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 = {}
|
||||
@ -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':
|
||||
@ -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':
|
||||
@ -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] == ':':
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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):
|
||||
@ -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']))
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user