use of io.nuls.client.rpc.resources.dto.ProtocolContainerDTO in project nuls by nuls-io.
the class ClientResource method getProtocolInfo.
@GET
@Path("/protocol/info")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "协议版本升级统计信息")
@ApiResponses(value = { @ApiResponse(code = 200, message = "success", response = ProtocolContainerDTO.class) })
public RpcClientResult getProtocolInfo() {
BlockHeader blockHeader = NulsContext.getInstance().getBestBlock().getHeader();
List<ProtocolContainerDTO> list = new ArrayList<>();
ProtocolContainer protocolContainer = NulsVersionManager.getProtocolContainer(NulsContext.CURRENT_PROTOCOL_VERSION);
ProtocolContainerDTO pcDTO = new ProtocolContainerDTO(protocolContainer);
if (pcDTO.getStatus() == ProtocolContainer.DELAY_LOCK) {
pcDTO.setEffectiveHeight(blockHeader.getHeight() + pcDTO.getCountdownDelay() + 1);
}
list.add(pcDTO);
Map<String, ProtocolTempInfoPo> protocolTempMap = versionManagerStorageService.getProtocolTempMap();
for (ProtocolTempInfoPo protocolTempInfoPo : protocolTempMap.values()) {
ProtocolContainerDTO protocolContainerDTO = new ProtocolContainerDTO(protocolTempInfoPo);
if (protocolContainerDTO.getStatus() == ProtocolContainer.DELAY_LOCK) {
protocolContainerDTO.setEffectiveHeight(blockHeader.getHeight() + protocolContainerDTO.getCountdownDelay() + 1);
}
list.add(protocolContainerDTO);
}
Map<String, List<ProtocolContainerDTO>> map = new HashMap<>();
map.put("list", list);
return Result.getSuccess().setData(map).toRpcClientResult();
}
Aggregations