Search in sources :

Example 1 with ContractCreate

use of io.nuls.contract.rpc.form.ContractCreate in project nuls by nuls-io.

the class CreateContractProcessor method execute.

@Override
public CommandResult execute(String[] args) {
    ContractCreate form = paramsData.get();
    if (null == form) {
        form = getContractCreate(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();
    String contractCode = form.getContractCode();
    res = createContractArgs(contractCode);
    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("contractCode", form.getContractCode());
    parameters.put("args", contractArgs);
    RpcClientResult result = restFul.post("/contract/create", parameters);
    if (result.isFailed()) {
        return CommandResult.getFailed(result);
    }
    return CommandResult.getResult(result);
}
Also used : HashMap(java.util.HashMap) RpcClientResult(io.nuls.kernel.model.RpcClientResult) ContractCreate(io.nuls.contract.rpc.form.ContractCreate)

Example 2 with ContractCreate

use of io.nuls.contract.rpc.form.ContractCreate in project nuls by nuls-io.

the class CreateContractProcessor method argsValidate.

@Override
public boolean argsValidate(String[] args) {
    boolean result;
    do {
        int length = args.length;
        if (length != 5 && length != 6) {
            result = false;
            break;
        }
        if (!CommandHelper.checkArgsIsNull(args)) {
            result = false;
            break;
        }
        // gasLimit
        if (!StringUtils.isNumeric(args[2])) {
            result = false;
            break;
        }
        // price
        if (!StringUtils.isNumeric(args[3])) {
            result = false;
            break;
        }
        ContractCreate form = getContractCreate(args);
        if (null == form) {
            result = false;
            break;
        }
        paramsData.set(form);
        result = true;
    } while (false);
    return result;
}
Also used : ContractCreate(io.nuls.contract.rpc.form.ContractCreate)

Example 3 with ContractCreate

use of io.nuls.contract.rpc.form.ContractCreate in project nuls by nuls-io.

the class CreateContractProcessor method getContractCreate.

private ContractCreate getContractCreate(String[] args) {
    ContractCreate create = null;
    try {
        create = new ContractCreate();
        create.setSender(args[1].trim());
        create.setGasLimit(Long.valueOf(args[2].trim()));
        create.setPrice(Long.valueOf(args[3].trim()));
        create.setContractCode(args[4].trim());
        if (args.length == 6) {
            create.setRemark(args[5].trim());
        }
        return create;
    } catch (Exception e) {
        e.fillInStackTrace();
        return null;
    }
}
Also used : ContractCreate(io.nuls.contract.rpc.form.ContractCreate) IOException(java.io.IOException)

Aggregations

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