public async Task <JsonResult> Transaction([FromBody] TransactionRequest request) { return(await ProcessRequest(async() => { if (string.IsNullOrEmpty(request.Sender) || string.IsNullOrEmpty(request.Recipient)) { return GenerateBadRequestResponse(new ArgumentException("Sender and Recipient are required")); } if (request.Amount == 0) { return GenerateBadRequestResponse(new ArgumentException("Amount must not be zero")); } var response = _localBlockChain.CreateTransaction(request.Sender, request.Recipient, request.Amount); return GenerateOkResponse(response); })); }