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);
}
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;
}
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;
}
}
Aggregations