use of org.web3j.protocol.http.HttpService in project jbpm-work-items by kiegroup.
the class GetBalanceWorkitemHandler method executeWorkItem.
public void executeWorkItem(WorkItem workItem, WorkItemManager workItemManager) {
try {
String serviceURL = (String) workItem.getParameter("ServiceURL");
if (StringUtils.isNotEmpty(serviceURL)) {
Map<String, Object> results = new HashMap<String, Object>();
if (web3j == null) {
web3j = Web3j.build(new HttpService(serviceURL));
}
auth = new EthereumAuth(walletPassword, walletPath, classLoader);
Credentials credentials = auth.getCredentials();
results.put(RESULTS_VALUE, EthereumUtils.getBalanceInEther(credentials, web3j));
workItemManager.completeWorkItem(workItem.getId(), results);
} else {
logger.error("Missing service url.");
throw new IllegalArgumentException("Missing service url.");
}
} catch (Exception e) {
logger.error("Error executing workitem: " + e.getMessage());
handleException(e);
}
}
use of org.web3j.protocol.http.HttpService in project jbpm-work-items by kiegroup.
the class SendEtherWorkitemHandler method executeWorkItem.
public void executeWorkItem(WorkItem workItem, WorkItemManager workItemManager) {
try {
String serviceURL = (String) workItem.getParameter("ServiceURL");
String amount = (String) workItem.getParameter("Amount");
String toAddress = (String) workItem.getParameter("ToAddress");
if (StringUtils.isNotEmpty(serviceURL) && StringUtils.isNotEmpty(toAddress) && StringUtils.isNotEmpty(amount) && NumberUtils.isDigits(amount)) {
Map<String, Object> results = new HashMap<String, Object>();
if (web3j == null) {
web3j = Web3j.build(new HttpService(serviceURL));
}
auth = new EthereumAuth(walletPassword, walletPath, classLoader);
Credentials credentials = auth.getCredentials();
TransactionManager transactionManager = new RawTransactionManager(web3j, credentials);
if (transfer == null) {
transfer = new Transfer(web3j, transactionManager);
}
int amountToSend = 0;
if (amount != null) {
amountToSend = Integer.parseInt(amount);
}
TransactionReceipt transactionReceipt = EthereumUtils.sendFundsToContract(credentials, web3j, amountToSend, toAddress, transfer);
results.put(RESULTS, transactionReceipt);
workItemManager.completeWorkItem(workItem.getId(), results);
} else {
logger.error("Missing service url or valid ether amount or toAddress.");
throw new IllegalArgumentException("Missing service url or valid ether amount or toAddress.");
}
} catch (Exception e) {
logger.error("Error executing workitem: " + e.getMessage());
handleException(e);
}
}
use of org.web3j.protocol.http.HttpService in project jbpm-work-items by kiegroup.
the class TransactExistingContractWorkitemHandler method executeWorkItem.
public void executeWorkItem(WorkItem workItem, WorkItemManager workItemManager) {
try {
String serviceURL = (String) workItem.getParameter("ServiceURL");
String contractAddress = (String) workItem.getParameter("ContractAddress");
String waitForReceiptStr = (String) workItem.getParameter("WaitForReceipt");
String methodName = (String) workItem.getParameter("MethodName");
Type methodInputType = (Type) workItem.getParameter("MethodInputType");
String depositAmount = (String) workItem.getParameter("DepositAmount");
if (StringUtils.isNotEmpty(serviceURL) && StringUtils.isNotEmpty(contractAddress) && StringUtils.isNotEmpty(methodName)) {
Map<String, Object> results = new HashMap<String, Object>();
if (web3j == null) {
web3j = Web3j.build(new HttpService(serviceURL));
}
auth = new EthereumAuth(walletPassword, walletPath, classLoader);
Credentials credentials = auth.getCredentials();
int depositEtherAmountToSend = 0;
if (depositAmount != null) {
depositEtherAmountToSend = Integer.parseInt(depositAmount);
}
boolean waitForReceipt = false;
if (waitForReceiptStr != null) {
waitForReceipt = Boolean.parseBoolean(waitForReceiptStr);
}
List<Type> methodInputTypeList = new ArrayList<>();
if (methodInputType != null) {
methodInputTypeList = Collections.singletonList(methodInputType);
}
TransactionReceipt transactionReceipt = EthereumUtils.transactExistingContract(credentials, web3j, depositEtherAmountToSend, EthereumUtils.DEFAULT_GAS_PRICE, EthereumUtils.DEFAULT_GAS_LIMIT, contractAddress, methodName, methodInputTypeList, null, waitForReceipt, EthereumUtils.DEFAULT_SLEEP_DURATION, EthereumUtils.DEFAULT_ATTEMPTS);
results.put(RESULTS, transactionReceipt);
workItemManager.completeWorkItem(workItem.getId(), results);
} else {
logger.error("Missing service url, valid toAddress or method name to execute.");
throw new IllegalArgumentException("Missing service url, valid toAddress or method name to execute.");
}
} catch (Exception e) {
logger.error("Error executing workitem: " + e.getMessage());
handleException(e);
}
}
use of org.web3j.protocol.http.HttpService in project AppCoins-ethereumj by AppStoreFoundation.
the class AppCoinsSdkBuilder method createAppCoinsSdk.
public AppCoinsSdk createAppCoinsSdk() {
Web3j web3;
if (debug) {
networkId = 3;
web3 = Web3jFactory.build(new HttpService("https://ropsten.infura.io/1YsvKO0VH5aBopMYJzcy"));
} else {
networkId = 1;
web3 = Web3jFactory.build(new HttpService("https://mainnet.infura.io/1YsvKO0VH5aBopMYJzcy"));
}
if (this.scheduler == null) {
this.scheduler = Schedulers.io();
}
if (this.skuManager == null) {
this.skuManager = new SkuManager(skus);
}
if (this.asfWeb3j == null) {
this.asfWeb3j = new AsfWeb3jImpl(web3);
}
if (this.paymentService == null) {
this.paymentService = new PaymentService(networkId, skuManager, developerAddress, asfWeb3j);
}
return new AppCoinsSdkImpl(period, scheduler, skuManager, paymentService, debug);
}
use of org.web3j.protocol.http.HttpService in project nutzboot by nutzam.
the class Web3jStarter method createWeb3jService.
@IocBean(name = "web3jService")
public Web3jService createWeb3jService() {
String url = conf.get(PROP_HTTP_URL, HttpService.DEFAULT_URL);
boolean debug = conf.getBoolean(PROP_HTTP_DEBUG, true);
boolean includeRawResponses = conf.getBoolean(PROP_HTTP_INCLUDE_RAW_RESPONSES, false);
if (debug)
return new HttpService(url, includeRawResponses);
return new HttpService(url, new OkHttpClient.Builder().build(), includeRawResponses);
}
Aggregations