use of io.nuls.contract.rpc.form.ContractViewCall in project nuls by nuls-io.
the class ViewContractProcessor method getContractViewCall.
private ContractViewCall getContractViewCall(String[] args) {
ContractViewCall call;
try {
call = new ContractViewCall();
call.setContractAddress(args[1].trim());
call.setMethodName(args[2].trim());
if (args.length == 5) {
String argType = args[3].trim();
if (argType.equals("-d")) {
call.setMethodDesc(args[4].trim());
} else {
return null;
}
}
return call;
} catch (Exception e) {
e.fillInStackTrace();
return null;
}
}
use of io.nuls.contract.rpc.form.ContractViewCall in project nuls by nuls-io.
the class ViewContractProcessor method execute.
@Override
public CommandResult execute(String[] args) {
ContractViewCall form = paramsData.get();
if (null == form) {
form = getContractViewCall(args);
}
if (null == form) {
return CommandResult.getFailed("parameter error.");
}
RpcClientResult res = getContractCallArgsJson();
if (!res.isSuccess()) {
return CommandResult.getFailed(res);
}
Object[] contractArgs = (Object[]) res.getData();
Map<String, Object> parameters = new HashMap<>();
parameters.put("contractAddress", form.getContractAddress());
parameters.put("methodName", form.getMethodName());
parameters.put("methodDesc", form.getMethodDesc());
parameters.put("args", contractArgs);
RpcClientResult result = restFul.post("/contract/view", parameters);
if (result.isFailed()) {
return CommandResult.getFailed(result);
}
return CommandResult.getResult(result);
}
use of io.nuls.contract.rpc.form.ContractViewCall in project nuls by nuls-io.
the class ViewContractProcessor method argsValidate.
@Override
public boolean argsValidate(String[] args) {
boolean result;
do {
int length = args.length;
if (length != 3 && length != 5) {
result = false;
break;
}
if (!CommandHelper.checkArgsIsNull(args)) {
result = false;
break;
}
ContractViewCall form = getContractViewCall(args);
if (null == form) {
result = false;
break;
}
paramsData.set(form);
result = true;
} while (false);
return result;
}
Aggregations