Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
io.nuls.base.api.provider.consensus.ConsensusProviderForRpc Maven / Gradle / Ivy
package io.nuls.base.api.provider.consensus;
import io.nuls.base.api.provider.BaseRpcService;
import io.nuls.base.api.provider.Provider;
import io.nuls.base.api.provider.Result;
import io.nuls.base.api.provider.consensus.facade.*;
import io.nuls.base.api.provider.transaction.facade.MultiSignTransferRes;
import io.nuls.core.constant.CommonCodeConstanst;
import io.nuls.core.log.Log;
import io.nuls.core.parse.MapUtils;
import io.nuls.core.rpc.model.ModuleE;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
/**
* @Author: zhoulijun
* @Time: 2019-03-11 11:59
* @Description: 共识
*/
@Provider(Provider.ProviderType.RPC)
public class ConsensusProviderForRpc extends BaseRpcService implements ConsensusProvider {
@Override
protected Result call(String method, Object req, Function callback) {
return callRpc(ModuleE.CS.abbr,method,req,callback);
}
@Override
public Result createAgent(CreateAgentReq req) {
return callReturnString("cs_createAgent",req,"txHash");
}
@Override
public Result createAgentForMultiSignAccount(CreateMultiSignAgentReq req) {
return callRpc(ModuleE.CS.abbr,"cs_createMultiAgent",req,(Function)(data-> success(MapUtils.mapToBean(data,new MultiSignTransferRes()))));
}
@Override
public Result stopAgent(StopAgentReq req) {
return callReturnString("cs_stopAgent",req,"txHash");
}
public Result getStopAgentCoinData(GetStopAgentCoinDataReq req){
return callReturnString("cs_getStopAgentCoinData",req,"value");
}
@Override
public Result stopAgentForMultiSignAccount(StopMultiSignAgentReq req) {
return callRpc(ModuleE.CS.abbr,"cs_stopMultiAgent",req,(Function)(data-> success(MapUtils.mapToBean(data,new MultiSignTransferRes()))));
}
@Override
public Result depositToAgent(DepositToAgentReq req) {
return callReturnString("cs_depositToAgent",req,"txHash");
}
@Override
public Result depositToAgentForMultiSignAccount(MultiSignAccountDepositToAgentReq req) {
return callRpc(ModuleE.CS.abbr,"cs_multiDeposit",req,(Function)(data-> success(MapUtils.mapToBean(data,new MultiSignTransferRes()))));
}
@Override
public Result withdraw(WithdrawReq req) {
return callReturnString("cs_withdraw",req,"txHash");
}
@Override
public Result withdrawForMultiSignAccount(MultiSignAccountWithdrawReq req) {
return callRpc(ModuleE.CS.abbr,"cs_multiWithdraw",req,(Function)(data-> success(MapUtils.mapToBean(data,new MultiSignTransferRes()))));
}
@Override
public Result getAgentInfo(GetAgentInfoReq req) {
return call("cs_getAgentInfo",req,(Function)res->{
if(res == null){
return fail(RPC_ERROR_CODE,"agent not found");
}
AgentInfo agentInfo = MapUtils.mapToBean(res,new AgentInfo());
return success(agentInfo);
});
}
@Override
public Result getAgentList(GetAgentListReq req) {
return call("cs_getAgentList",req, (Function) res -> {
try {
List list = MapUtils.mapsToObjects((List>) res.get("list"),AgentInfo.class);
return success(list);
} catch (Exception e) {
Log.error("cs_getAgentList fail",e);
return fail(CommonCodeConstanst.FAILED);
}
});
}
@Override
public Result getDepositList(GetDepositListReq req) {
return call("cs_getDepositList",req, (Function) res -> {
try {
List list = MapUtils.mapsToObjects((List>) res.get("list"),DepositInfo.class);
return success(list);
} catch (Exception e) {
Log.error("cs_getDepositList fail",e);
return fail(CommonCodeConstanst.FAILED);
}
});
}
}