/// <summary> /// query relate my wallet transactions(on chain) /// </summary> /// <returns></returns> public async Task <object> GetMyTransactions(int pageIndex = 1, int limit = 100, UInt160 address = null) { if (CurrentWallet == null) { return(Error(ErrorCode.WalletNotOpen)); } var addresses = address != null ? new List <UInt160>() { address } : CurrentWallet.GetAccounts().Select(a => a.ScriptHash).ToList(); using var db = new TrackDB(); var trans = db.FindNep5Transactions(new TransferFilter() { FromOrTo = addresses, PageIndex = pageIndex, PageSize = limit }); var result = new PageList <TransactionPreviewModel> { TotalCount = trans.TotalCount, PageSize = trans.PageSize, PageIndex = pageIndex, List = trans.List?.ToTransactionPreviewModel(), }; return(result); }
/// <summary> /// query all nep transactions(on chain) /// </summary> /// <returns></returns> public async Task <object> QueryNep5Transactions(int pageIndex = 1, int limit = 100, UInt160 address = null, UInt160 asset = null, uint?blockHeight = null) { var addresses = address != null ? new List <UInt160>() { address } : new List <UInt160>(); using var db = new TrackDB(); var trans = db.FindNep5Transactions(new TransferFilter() { FromOrTo = addresses, Asset = asset, BlockHeight = blockHeight, PageIndex = pageIndex, PageSize = limit }); var result = new PageList <TransactionPreviewModel> { TotalCount = trans.TotalCount, PageSize = trans.PageSize, PageIndex = pageIndex, List = trans.List?.ToTransactionPreviewModel(), }; return(result); }