/** * This method is used to unregister the oauth application that has been registered at the device * authentication. * * @param profile Payload of the unregister request. * @param utils Server configurations * @return true if unregistration success, else false. * @throws AndroidAgentException */ public boolean unregisterClient(UnregisterProfile profile, ServerConfig utils) throws AndroidAgentException { StringBuilder endPoint = new StringBuilder(); endPoint.append(utils.getAPIServerURL()); endPoint.append(Constants.DYNAMIC_CLIENT_REGISTER_ENDPOINT); endPoint.append("?" + USER_ID + "=" + profile.getUserId()); endPoint.append("&" + CONSUMER_KEY + "=" + profile.getConsumerKey()); endPoint.append("&" + APPLICATION_NAME + "=" + profile.getApplicationName()); EndPointInfo endPointInfo = new EndPointInfo(); endPointInfo.setHttpMethod(org.wso2.emm.agent.proxy.utils.Constants.HTTP_METHODS.DELETE); endPointInfo.setEndPoint(endPoint.toString()); try { SendRequest sendRequestTask = new SendRequest(); Map<String, String> responseParams = sendRequestTask.execute(endPointInfo).get(); String statusCode = responseParams.get(Constants.STATUS); if (Constants.Status.ACCEPT.equalsIgnoreCase(statusCode)) { return true; } else { return false; } } catch (InterruptedException e) { String msg = "error occurred due to thread interruption"; Log.e(TAG, msg); throw new AndroidAgentException(msg, e); } catch (ExecutionException e) { String msg = "error occurred while fetching credentials"; Log.e(TAG, msg); throw new AndroidAgentException(msg, e); } }
// Override Send stuff to set the right fee params private void setRequestFeeForOutputs(SendRequest req) { BigInteger baseFee = MIN_RELAY_TX_FEE; req.ensureMinRequiredFee = true; req.fee = BigInteger.ZERO; req.feePerKb = baseFee; /* Dust spam prevention - but this does not count the change, which can also be dust! * Have to do it on the main Wallet for (TransactionOutput output : req.tx.getOutputs()) if (output.getValue().compareTo(Utils.CENT.divide(BigInteger.TEN)) < 0) req.fee = req.fee.add(baseFee); */ req.dustLimit = Utils.CENT; req.dustPrice = baseFee; }
public Transaction createSend(Address address, BigInteger nanocoins) throws InsufficientMoneyException { SendRequest req = SendRequest.to(address, nanocoins); setRequestFeeForOutputs(req); completeTx(req); return req.tx; }
/** * This method is used to register an oauth application in the backend. * * @param profile Payload of the register request. * @param utils Server configurations. * @return consumer key and consumer secret. * @throws AndroidAgentException */ public String registerClient(RegistrationProfile profile, ServerConfig utils) throws AndroidAgentException { EndPointInfo endPointInfo = new EndPointInfo(); String endPoint = utils.getAPIServerURL() + org.wso2.emm.agent.utils.Constants.DYNAMIC_CLIENT_REGISTER_ENDPOINT; endPointInfo.setHttpMethod(org.wso2.emm.agent.proxy.utils.Constants.HTTP_METHODS.POST); endPointInfo.setEndPoint(endPoint); endPointInfo.setRequestParams(profile.toJSON()); try { SendRequest sendRequestTask = new SendRequest(); Map<String, String> responseParams = sendRequestTask.execute(endPointInfo).get(); if (responseParams != null) { String statusCode = responseParams.get(Constants.STATUS); if (Constants.Status.ACCEPT.equalsIgnoreCase(statusCode)) { return responseParams.get(Constants.RESPONSE); } else { return null; } } else { return null; } } catch (InterruptedException e) { String msg = "error occurred due to thread interruption"; Log.e(TAG, msg); throw new AndroidAgentException(msg, e); } catch (ExecutionException e) { String msg = "error occurred while fetching credentials"; Log.e(TAG, msg); throw new AndroidAgentException(msg, e); } }
public SendResult sendCoins(TransactionBroadcaster broadcaster, Address to, BigInteger value) throws InsufficientMoneyException { SendRequest request = SendRequest.to(to, value); setRequestFeeForOutputs(request); return sendCoins(broadcaster, request); }