Error handling
1. Fixed error handling in /api/v2/participantDetails The case where contractAddress nor contractName was passed is handled now 2. Fixed error handling in /api/v2/broadcastTx/ Datadir parameter which is unnecesary for the cli command is removed
This commit is contained in:
parent
cce8d34be2
commit
0eb93ad916
@ -1646,7 +1646,7 @@ async def info():
|
||||
|
||||
@app.route('/api/v2/broadcastTx/<raw_transaction_hash>')
|
||||
async def broadcastTx_v2(raw_transaction_hash):
|
||||
p1 = subprocess.run(['flo-cli',f"-datadir={FLO_DATA_DIR}",'sendrawtransaction',raw_transaction_hash], capture_output=True)
|
||||
p1 = subprocess.run(['flo-cli','sendrawtransaction',raw_transaction_hash], capture_output=True)
|
||||
return jsonify(args=p1.args,returncode=p1.returncode,stdout=p1.stdout.decode(),stderr=p1.stderr.decode()), 200
|
||||
|
||||
|
||||
@ -2063,14 +2063,14 @@ async def getcontractparticipants_v2():
|
||||
returnval = []
|
||||
for row in contract_participants:
|
||||
participation = {
|
||||
'participantFloAddress': row[1],
|
||||
'participationAmount': row[2],
|
||||
'swapPrice': float(row[3]),
|
||||
'transactionHash': row[4],
|
||||
'blockNumber': row[5],
|
||||
'blockHash': row[6],
|
||||
'swapAmount': row[7]
|
||||
}
|
||||
'participantFloAddress': row[1],
|
||||
'participationAmount': row[2],
|
||||
'swapPrice': float(row[3]),
|
||||
'transactionHash': row[4],
|
||||
'blockNumber': row[5],
|
||||
'blockHash': row[6],
|
||||
'swapAmount': row[7]
|
||||
}
|
||||
returnval.append(participation)
|
||||
conn.close()
|
||||
return jsonify(contractName=contractName, contractAddress=contractAddress, contractType=contractStructure['contractType'], contractSubtype=contractStructure['subtype'], participantInfo=returnval), 200
|
||||
@ -2087,14 +2087,20 @@ async def participantDetails(floAddress):
|
||||
|
||||
contractName = request.args.get('contractName')
|
||||
contractAddress = request.args.get('contractAddress')
|
||||
|
||||
if contractAddress is not None and not check_flo_address(contractAddress, is_testnet):
|
||||
return jsonify(description='contractAddress validation failed'), 400
|
||||
contractAddress = contractAddress.strip()
|
||||
|
||||
if (contractName and contractAddress is None) or (contractName is None and contractAddress):
|
||||
return jsonify(description='pass both, contractName and contractAddress as url parameters'), 400
|
||||
# Url param checking
|
||||
if contractName is None and contractAddress is None:
|
||||
return jsonify(description='Pass both, contractName and contractAddress as url parameters'), 400
|
||||
elif contractName is None:
|
||||
return jsonify(description='Pass contractName as url parameter'), 400
|
||||
else:
|
||||
return jsonify(description='Pass contractAddress as url parameter'), 400
|
||||
|
||||
if not check_flo_address(contractAddress, is_testnet):
|
||||
return jsonify(description='contractAddress validation failed'), 400
|
||||
|
||||
contractName = contractName.strip().lower()
|
||||
contractAddress = contractAddress.strip()
|
||||
|
||||
systemdb_location = os.path.join(dbfolder, 'system.db')
|
||||
if os.path.isfile(systemdb_location):
|
||||
@ -2657,4 +2663,4 @@ scheduler.start()
|
||||
atexit.register(lambda: scheduler.shutdown())
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(debug=debug_status, host=HOST, port=PORT)
|
||||
app.run(debug=debug_status, host=HOST, port=PORT)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user