use of io.nuls.kernel.model.RpcClientResult in project nuls by nuls-io.
the class CallContractProcessor method execute.
@Override
public CommandResult execute(String[] args) {
ContractCall form = paramsData.get();
if (null == form) {
form = getContractCall(args);
}
if (null == form) {
return CommandResult.getFailed("parameter error.");
}
String sender = form.getSender();
RpcClientResult res = CommandHelper.getPassword(sender, restFul);
if (!res.isSuccess()) {
return CommandResult.getFailed(res);
}
String password = (String) res.getData();
res = getContractCallArgsJson();
if (!res.isSuccess()) {
return CommandResult.getFailed(res);
}
Object[] contractArgs = (Object[]) res.getData();
Map<String, Object> parameters = new HashMap<>();
parameters.put("sender", sender);
parameters.put("gasLimit", form.getGasLimit());
parameters.put("price", form.getPrice());
parameters.put("password", password);
parameters.put("remark", form.getRemark());
parameters.put("contractAddress", form.getContractAddress());
parameters.put("value", form.getValue());
parameters.put("methodName", form.getMethodName());
parameters.put("methodDesc", form.getMethodDesc());
parameters.put("args", contractArgs);
RpcClientResult result = restFul.post("/contract/call", parameters);
if (result.isFailed()) {
return CommandResult.getFailed(result);
}
return CommandResult.getResult(result);
}
use of io.nuls.kernel.model.RpcClientResult in project nuls by nuls-io.
the class DeleteContractProcessor method execute.
@Override
public CommandResult execute(String[] args) {
String sender = args[1];
if (StringUtils.isBlank(sender)) {
return CommandResult.getFailed(KernelErrorCode.PARAMETER_ERROR.getMsg());
}
String password = CommandHelper.getPwd();
/**
* assemble request body JSON
*/
Map<String, Object> parameters = new HashMap<>(3);
parameters.put("sender", args[1]);
parameters.put("contractAddress", args[2]);
parameters.put("password", password);
String url = "/contract/delete";
RpcClientResult result = restFulUtils.post(url, parameters);
if (result.isFailed()) {
return CommandResult.getFailed(result);
}
return CommandResult.getResult(result);
}
use of io.nuls.kernel.model.RpcClientResult in project nuls by nuls-io.
the class GetContractBalanceProcessor method execute.
@Override
public CommandResult execute(String[] args) {
String address = args[1];
if (StringUtils.isBlank(address)) {
return CommandResult.getFailed(KernelErrorCode.PARAMETER_ERROR.getMsg());
}
String url = "/contract/balance/" + address;
RpcClientResult result = restFul.get(url, null);
if (result.isFailed()) {
return CommandResult.getFailed(result);
}
/**
* assemble display data info
*/
Map<String, Object> data = (Map) result.getData();
/**
* convert balance unit Na to NULS
* the result balance unit is Na
*/
data.put("balance", CommandHelper.naToNuls(Long.valueOf(data.get("balance").toString())));
return CommandResult.getResult(result);
}
use of io.nuls.kernel.model.RpcClientResult in project nuls by nuls-io.
the class GetContractInfoProcessor method execute.
@Override
public CommandResult execute(String[] args) {
String address = args[1];
if (StringUtils.isBlank(address)) {
return CommandResult.getFailed(KernelErrorCode.PARAMETER_ERROR.getMsg());
}
String url = "/contract/info/" + address;
RpcClientResult result = restFul.get(url, null);
if (result.isFailed()) {
return CommandResult.getFailed(result);
}
// Map<String, Object> dataMap = (Map) map.get("data");
return CommandResult.getResult(result);
}
use of io.nuls.kernel.model.RpcClientResult in project nuls by nuls-io.
the class GetContractTxProcessor method execute.
@Override
public CommandResult execute(String[] args) {
String hash = args[1];
if (StringUtils.isBlank(hash)) {
return CommandResult.getFailed(KernelErrorCode.PARAMETER_ERROR.getMsg());
}
RpcClientResult result = restFul.get("/contract/tx/" + hash, null);
if (result.isFailed()) {
return CommandResult.getFailed(result);
}
Map<String, Object> map = (Map) result.getData();
map.put("fee", CommandHelper.naToNuls(map.get("fee")));
map.put("value", CommandHelper.naToNuls(map.get("value")));
map.put("time", DateUtil.convertDate(new Date((Long) map.get("time"))));
map.put("status", statusExplain((Integer) map.get("status")));
map.put("type", CommandHelper.txTypeExplain((Integer) map.get("type")));
List<Map<String, Object>> inputs = (List<Map<String, Object>>) map.get("inputs");
for (Map<String, Object> input : inputs) {
input.put("value", CommandHelper.naToNuls(input.get("value")));
}
map.put("inputs", inputs);
List<Map<String, Object>> outputs = (List<Map<String, Object>>) map.get("outputs");
for (Map<String, Object> output : outputs) {
output.put("value", CommandHelper.naToNuls(output.get("value")));
output.put("status", statusExplainForOutPut((Integer) output.get("status")));
}
map.put("outputs", outputs);
Map<String, Object> txDataMap = (Map) map.get("txData");
if (txDataMap != null) {
Map<String, Object> dataMap = (Map) txDataMap.get("data");
if (dataMap != null) {
dataMap.put("value", CommandHelper.naToNuls(dataMap.get("value")));
dataMap.put("price", CommandHelper.naToNuls(dataMap.get("price")));
}
}
Map<String, Object> contractResultMap = (Map) map.get("contractResult");
if (contractResultMap != null) {
contractResultMap.put("totalFee", CommandHelper.naToNuls(contractResultMap.get("totalFee")));
contractResultMap.put("txSizeFee", CommandHelper.naToNuls(contractResultMap.get("txSizeFee")));
contractResultMap.put("actualContractFee", CommandHelper.naToNuls(contractResultMap.get("actualContractFee")));
contractResultMap.put("refundFee", CommandHelper.naToNuls(contractResultMap.get("refundFee")));
contractResultMap.put("value", CommandHelper.naToNuls(contractResultMap.get("value")));
contractResultMap.put("price", CommandHelper.naToNuls(contractResultMap.get("price")));
contractResultMap.put("balance", CommandHelper.naToNuls(contractResultMap.get("balance")));
}
result.setData(map);
return CommandResult.getResult(result);
}
Aggregations