use of io.nuls.account.ledger.storage.po.UnconfirmedTxPo in project nuls by nuls-io.
the class UnconfiredmTransactionStorageImpl method loadAllUnconfirmedList.
@Override
public Result<List<Transaction>> loadAllUnconfirmedList() {
Result result;
List<UnconfirmedTxPo> tmpList = new ArrayList<>();
List<Entry<byte[], byte[]>> txs = dbService.entryList(AccountLedgerStorageConstant.DB_NAME_ACCOUNT_LEDGER_TX);
for (Entry<byte[], byte[]> txEntry : txs) {
try {
UnconfirmedTxPo tmpTx = new UnconfirmedTxPo(txEntry.getValue());
if (tmpTx != null) {
NulsByteBuffer buffer = new NulsByteBuffer(txEntry.getKey(), 0);
tmpTx.getTx().setHash(buffer.readHash());
tmpList.add(tmpTx);
}
} catch (Exception e) {
Log.warn("parse local tx error", e);
}
}
tmpList.sort(new Comparator<UnconfirmedTxPo>() {
@Override
public int compare(UnconfirmedTxPo o1, UnconfirmedTxPo o2) {
return (int) (o1.getSequence() - o2.getSequence());
}
});
List<Transaction> resultList = new ArrayList<>();
for (UnconfirmedTxPo po : tmpList) {
resultList.add(po.getTx());
}
return Result.getSuccess().setData(resultList);
}
use of io.nuls.account.ledger.storage.po.UnconfirmedTxPo in project nuls by nuls-io.
the class UnconfiredmTransactionStorageImpl method saveUnconfirmedTx.
@Override
public Result saveUnconfirmedTx(NulsDigestData hash, Transaction tx) {
Result result;
try {
sequence++;
UnconfirmedTxPo po = new UnconfirmedTxPo(tx, sequence);
result = dbService.put(AccountLedgerStorageConstant.DB_NAME_ACCOUNT_LEDGER_TX, hash.serialize(), po.serialize());
} catch (Exception e) {
e.printStackTrace();
return Result.getFailed();
}
return result;
}
use of io.nuls.account.ledger.storage.po.UnconfirmedTxPo in project nuls by nuls-io.
the class UnconfiredmTransactionStorageImpl method getUnconfirmedTx.
@Override
public Result<Transaction> getUnconfirmedTx(NulsDigestData hash) {
try {
byte[] txBytes = dbService.get(AccountLedgerStorageConstant.DB_NAME_ACCOUNT_LEDGER_TX, hash.serialize());
if (txBytes == null) {
return Result.getSuccess();
}
UnconfirmedTxPo po = new UnconfirmedTxPo(txBytes);
Transaction tx = po.getTx();
return Result.getSuccess().setData(tx);
} catch (Exception e) {
return Result.getFailed();
}
}
Aggregations