Exemple #1
0
def bytecode_submission(request):
	"""
	Submits a new analysis with a smart contract bytecode
	"""
	if request.method == 'GET':
		all_analysis = Analysis.objects.all()
		serializer = AnalysisSerializer(all_analysis, many=True)
		return Response(serializer.data)
	elif request.method == 'POST':
		serializer = AnalysisSerializer(data=request.data)
		if serializer.is_valid():
				submission = serializer.save()
				t = myth_task.apply_async([submission.bytecode], task_id=str(submission.uuid))
				return Response(serializer.data, status=rest_framework.status.HTTP_201_CREATED)
		return Response(serializer.errors, status=rest_framework.status.HTTP_400_BAD_REQUEST)
Exemple #2
0
 def test_bytecode_with_issues(self):
     args = [contracts[9]]
     task = myth_task.apply_async(args)
     time.sleep(5)
     self.assertIn(CALL_WITH_DYNAMIC_ADDRESS, task.result['stdout'])
Exemple #3
0
 def test_send_task(self):
     args = ["0x5050"]
     uuid_str = '12345678-1234-5678-1234-567812345678'
     task = myth_task.apply_async(args, task_id=uuid_str)
     time.sleep(5)
     self.assertEqual(task.status, 'SUCCESS')