use of io.nuls.account.entity.Account in project nuls by nuls-io.
the class AccountResource method accountList.
@GET
@Path("/list")
@Produces(MediaType.APPLICATION_JSON)
public RpcResult accountList() {
RpcResult<List<AccountDto>> result = RpcResult.getSuccess();
List<Account> list = accountService.getAccountList();
List<AccountDto> dtoList = new ArrayList<>();
for (Account account : list) {
dtoList.add(new AccountDto(account));
}
result.setData(dtoList);
return result;
}
use of io.nuls.account.entity.Account in project nuls by nuls-io.
the class GenesisBlock method initGengsisTxs.
private void initGengsisTxs(Map<String, Object> jsonMap) {
List<Map<String, Object>> list = (List<Map<String, Object>>) jsonMap.get(CONFIG_FILED_TXS);
if (null == list || list.isEmpty()) {
throw new NulsRuntimeException(ErrorCode.CONFIG_ERROR);
}
CoinTransferData data = new CoinTransferData(OperationType.COIN_BASE, Na.ZERO);
data.setPriKey(Hex.decode(priKey));
Na total = Na.ZERO;
for (Map<String, Object> map : list) {
String address = (String) map.get(CONFIG_FILED_ADDRESS);
AssertUtil.canNotEmpty(address, ErrorCode.NULL_PARAMETER);
Integer nuls = (Integer) map.get(CONFIG_FILED_NULS);
AssertUtil.canNotEmpty(nuls, ErrorCode.NULL_PARAMETER);
Integer height = (Integer) map.get(CONFIG_FILED_UNLOCK_HEIGHT);
Coin coin = new Coin();
coin.setNa(Na.parseNuls(nuls));
coin.setUnlockTime(0);
if (height == null) {
coin.setUnlockTime(0);
} else {
coin.setUnlockHeight(height.longValue());
}
data.addTo(address, coin);
total = total.add(coin.getNa());
}
data.setTotalNa(total);
CoinBaseTransaction tx = null;
try {
tx = new CoinBaseTransaction(data, null);
} catch (NulsException e) {
Log.error(e);
throw new NulsRuntimeException(e);
}
tx.setTime(this.blockTime);
tx.setFee(Na.ZERO);
try {
tx.setHash(NulsDigestData.calcDigestData(tx.serialize()));
} catch (IOException e) {
Log.error(e);
throw new NulsRuntimeException(e);
}
P2PKHScriptSig p2PKHScriptSig = new P2PKHScriptSig();
Account account = null;
try {
account = AccountTool.createAccount(priKey);
} catch (NulsException e) {
e.printStackTrace();
}
AccountService accountService = NulsContext.getServiceBean(AccountService.class);
P2PKHScriptSig scriptSig = null;
try {
scriptSig = accountService.createP2PKHScriptSigFromDigest(tx.getHash(), account, "");
} catch (NulsException e) {
e.printStackTrace();
}
try {
tx.setScriptSig(scriptSig.serialize());
} catch (IOException e) {
e.printStackTrace();
}
List<Transaction> txlist = new ArrayList<>();
// tx.setStatus(TxStatusEnum.AGREED);
txlist.add(tx);
setTxs(txlist);
}
use of io.nuls.account.entity.Account in project nuls by nuls-io.
the class ConsensusCacheManager method init.
public void init() {
Account self = accountService.getDefaultAccount();
List<DepositPo> depositPoList = this.depositDao.getList();
List<AgentPo> agentPoList = this.agentDao.getList();
Consensus mine = null;
for (AgentPo po : agentPoList) {
Consensus<Agent> ca = ConsensusTool.fromPojo(po);
this.cacheAgent(ca);
if (null != self && ca.getAddress().equals(self.getAddress().toString())) {
mine = ca;
}
}
for (DepositPo dpo : depositPoList) {
Consensus<Deposit> cd = ConsensusTool.fromPojo(dpo);
this.cacheDeposit(cd);
if (null != self && null == mine && cd.getAddress().equals(self.getAddress().toString())) {
mine = cd;
}
}
if (null == self) {
return;
}
ConsensusStatusInfo info = new ConsensusStatusInfo();
info.setAccount(self);
if (null == mine) {
info.setStatus(ConsensusStatusEnum.NOT_IN.getCode());
} else if (mine.getExtend() instanceof Agent) {
info.setSeed(((Agent) mine.getExtend()).getSeed());
info.setStatus(((Agent) mine.getExtend()).getStatus());
}
this.updateConsensusStatusInfo(info);
}
Aggregations