public async Task <string> SendRequestAsync(string transactionHash) { var transaction = await _apiTransactionsService.GetTransactionByHash.SendRequestAsync(transactionHash); var transactionInput = transaction.ConvertToTransactionInput(); var functionCallDecoder = new FunctionCallDecoder(); if (transactionInput.MaxFeePerGas != null) { transactionInput.GasPrice = null; } try { var errorHex = await _apiTransactionsService.Call.SendRequestAsync(transactionInput, new BlockParameter(transaction.BlockNumber)); if (ErrorFunction.IsErrorData(errorHex)) { return(functionCallDecoder.DecodeFunctionErrorMessage(errorHex)); } return(string.Empty); } catch (RpcResponseException rpcException) { ContractRevertExceptionHandler.HandleContractRevertException(rpcException); throw; } }