public async Task <IActionResult> GetHashAsync([FromBody] BaseCoinRequestModel model) { if (!ModelState.IsValid) { throw new ClientSideException(ExceptionType.WrongParams, JsonConvert.SerializeObject(ModelState.Errors())); } var amount = BigInteger.Parse(model.Amount); byte[] hash; try { hash = _hashCalculator.GetHash(model.Id, model.CoinAdapterAddress, _addressUtil.ConvertToChecksumAddress(model.FromAddress), _addressUtil.ConvertToChecksumAddress(model.ToAddress), amount); } catch (Exception e) { await _logger.WriteErrorAsync("HashController", "GetHashAsync", JsonConvert.SerializeObject(model), e, DateTime.UtcNow); throw; } return(Ok(new HashResponse { HashHex = hash.ToHex() })); }
/// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='model'> /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <object> ApiHashCalculatePostAsync(this IEthereumApi operations, BaseCoinRequestModel model = default(BaseCoinRequestModel), CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.ApiHashCalculatePostWithHttpMessagesAsync(model, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='model'> /// </param> public static object ApiHashCalculatePost(this IEthereumApi operations, BaseCoinRequestModel model = default(BaseCoinRequestModel)) { return(operations.ApiHashCalculatePostAsync(model).GetAwaiter().GetResult()); }