/// <summary> /// query all transactions(on chain) /// </summary> /// <returns></returns> public async Task <object> QueryTransactions(int pageIndex = 1, int limit = 100, uint?blockHeight = null) { using var db = new TrackDB(); var trans = db.FindTransactions(new TransactionFilter() { BlockHeight = blockHeight, PageIndex = pageIndex, PageSize = limit }); var transfers = new List <TransferInfo>(); if (trans.List.NotEmpty()) { transfers = db.FindTransfer(new TransferFilter() { TxIds = trans.List.Select(tx => tx.TxId).ToList(), PageSize = int.MaxValue }).List; } var result = new PageList <TransactionPreviewModel> { TotalCount = trans.TotalCount, PageSize = trans.PageSize, PageIndex = pageIndex, List = ConvertToTransactionPreviewModel(trans.List, transfers), }; return(result); }