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>')
|
@app.route('/api/v2/broadcastTx/<raw_transaction_hash>')
|
||||||
async def broadcastTx_v2(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
|
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 = []
|
returnval = []
|
||||||
for row in contract_participants:
|
for row in contract_participants:
|
||||||
participation = {
|
participation = {
|
||||||
'participantFloAddress': row[1],
|
'participantFloAddress': row[1],
|
||||||
'participationAmount': row[2],
|
'participationAmount': row[2],
|
||||||
'swapPrice': float(row[3]),
|
'swapPrice': float(row[3]),
|
||||||
'transactionHash': row[4],
|
'transactionHash': row[4],
|
||||||
'blockNumber': row[5],
|
'blockNumber': row[5],
|
||||||
'blockHash': row[6],
|
'blockHash': row[6],
|
||||||
'swapAmount': row[7]
|
'swapAmount': row[7]
|
||||||
}
|
}
|
||||||
returnval.append(participation)
|
returnval.append(participation)
|
||||||
conn.close()
|
conn.close()
|
||||||
return jsonify(contractName=contractName, contractAddress=contractAddress, contractType=contractStructure['contractType'], contractSubtype=contractStructure['subtype'], participantInfo=returnval), 200
|
return jsonify(contractName=contractName, contractAddress=contractAddress, contractType=contractStructure['contractType'], contractSubtype=contractStructure['subtype'], participantInfo=returnval), 200
|
||||||
@ -2088,13 +2088,19 @@ async def participantDetails(floAddress):
|
|||||||
contractName = request.args.get('contractName')
|
contractName = request.args.get('contractName')
|
||||||
contractAddress = request.args.get('contractAddress')
|
contractAddress = request.args.get('contractAddress')
|
||||||
|
|
||||||
if contractAddress is not None and not check_flo_address(contractAddress, is_testnet):
|
# Url param checking
|
||||||
return jsonify(description='contractAddress validation failed'), 400
|
if contractName is None and contractAddress is None:
|
||||||
contractAddress = contractAddress.strip()
|
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
|
||||||
|
|
||||||
if (contractName and contractAddress is None) or (contractName is None and contractAddress):
|
|
||||||
return jsonify(description='pass both, contractName and contractAddress as url parameters'), 400
|
|
||||||
contractName = contractName.strip().lower()
|
contractName = contractName.strip().lower()
|
||||||
|
contractAddress = contractAddress.strip()
|
||||||
|
|
||||||
systemdb_location = os.path.join(dbfolder, 'system.db')
|
systemdb_location = os.path.join(dbfolder, 'system.db')
|
||||||
if os.path.isfile(systemdb_location):
|
if os.path.isfile(systemdb_location):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user