@InvokeOnHeader(Web3jConstants.QUORUM_ETH_SEND_TRANSACTION)
void quorumEthSendTransaction(Message message) throws IOException {
if (quorum == null) {
setQuorumEndpointError(message);
return;
}
String fromAddress = message.getHeader(Web3jConstants.FROM_ADDRESS, configuration::getFromAddress, String.class);
String toAddress = message.getHeader(Web3jConstants.TO_ADDRESS, configuration::getToAddress, String.class);
BigInteger nonce = message.getHeader(Web3jConstants.NONCE, configuration::getNonce, BigInteger.class);
BigInteger gasLimit = message.getHeader(Web3jConstants.GAS_LIMIT, configuration::getGasLimit, BigInteger.class);
BigInteger value = message.getHeader(Web3jConstants.VALUE, configuration::getValue, BigInteger.class);
String data = message.getHeader(Web3jConstants.DATA, configuration::getData, String.class);
List<String> privateFor = message.getHeader(Web3jConstants.PRIVATE_FOR, configuration::getPrivateFor, List.class);
PrivateTransaction transaction = new PrivateTransaction(fromAddress, nonce, gasLimit, toAddress, value, data, privateFor);
Request<?, EthSendTransaction> request = quorum.ethSendTransaction(transaction);
setRequestId(message, request);
EthSendTransaction response = request.send();
boolean hasError = checkForError(message, response);
if (!hasError) {
message.setBody(response.getTransactionHash());
}
}