Search in sources :

Example 1 with ContractViewCall

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;
    }
}
Also used : ContractViewCall(io.nuls.contract.rpc.form.ContractViewCall)

Example 2 with ContractViewCall

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);
}
Also used : ContractViewCall(io.nuls.contract.rpc.form.ContractViewCall) HashMap(java.util.HashMap) RpcClientResult(io.nuls.kernel.model.RpcClientResult)

Example 3 with ContractViewCall

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;
}
Also used : ContractViewCall(io.nuls.contract.rpc.form.ContractViewCall)

Aggregations

ContractViewCall (io.nuls.contract.rpc.form.ContractViewCall)3 RpcClientResult (io.nuls.kernel.model.RpcClientResult)1 HashMap (java.util.HashMap)1