Exemple #1
0
        /// <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);
        }