public IActionResult CreateRawTransaction(string coin, [FromBody] CreateRawTransactionRequestViewModel rawTransactionViewModel) { if (rawTransactionViewModel.Inputs == null) { return(BadRequest("No Inputs provided")); } if (rawTransactionViewModel.Outputs == null) { return(BadRequest("No Outputs provided")); } var rawTransaction = _mapper.Map <CreateRawTransactionRequest>(rawTransactionViewModel); var rawTransactionResponse = getCoinService(coin).CreateRawTransaction(rawTransaction); return(Ok(rawTransactionResponse)); }
public IActionResult SendTransaction(string coin, [FromBody] CreateRawTransactionRequestViewModel rawTransactionViewModel) { if (rawTransactionViewModel.Inputs == null) { return(BadRequest("No Inputs provided")); } if (rawTransactionViewModel.Outputs == null) { return(BadRequest("No Outputs provided")); } var coinService = getCoinService(coin); var rawTransaction = _mapper.Map <CreateRawTransactionRequest>(rawTransactionViewModel); var rawTransactionResponse = coinService.CreateRawTransaction(rawTransaction); var signedTransaction = coinService.SignRawTransaction(rawTransactionResponse); var transactionHex = coinService.SendRawTransaction(signedTransaction.Hex); //TODO: Maybe add a concurrent queue for requests // https://stackoverflow.com/questions/44668930/lock-web-api-controller-method return(Ok(transactionHex)); }