예제 #1
0
        public ActionResult <ResponseApiModel> GetTransactionByInnerId(RequestGetterApiModel model)
        {
            try
            {
                if (model == null || !ModelState.IsValid)
                {
                    return(BadRequest(new ResponseApiModel()
                    {
                        Success = false,
                        Message = "Model is not valid"
                    }));
                }

                return(Ok(new ResponseApiModel()
                {
                    Success = false,
                    Message = "Method is not implemented yet"
                }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new ResponseApiModel()
                {
                    Success = false,
                    Message = ex.Message
                }));
            }
        }
예제 #2
0
        public ActionResult <TransactionInfo> GetContractFromTransaction(RequestGetterApiModel model)
        {
            InitAuthKey(model);
            SmartSourceCode ret;
            TransactionInfo res;

            try
            {
                ret = new SmartSourceCode();
                res = ServiceProvider.GetService <MonitorService>().GetTransaction(model);
                if (res.Bundle != null && res.Bundle.Contract.Deploy != null)
                {
                    ret.SourceString = res.Bundle.Contract.Deploy.SourceCode;
                    if (model.Compressed)
                    {
                        ret.gZipped = Utils.Compress(res.Bundle.Contract.Deploy.SourceCode);
                    }
                }

                ret.Success = true;
            }
            catch (Exception ex)
            {
                ret         = new SmartSourceCode();
                ret.Success = false;
                ret.Message = ex.Message;
            }

            return(Ok(ret));
        }
예제 #3
0
        public ActionResult <ResponseApiModel> GetLastBlockId(RequestGetterApiModel model)
        {
            try
            {
                if (model == null || !ModelState.IsValid)
                {
                    return(BadRequest(new ResponseApiModel()
                    {
                        Success = false,
                        Message = "Model is not valid"
                    }));
                }

                InitAuthKey(model);

                var res = serviceProvider.GetService <MonitorService>().GetLastBlockId(model);
                model.BlockId = res.BlockId;
                res           = serviceProvider.GetService <MonitorService>().GetListTransactionByBlockId(model);
                res.Success   = true;

                return(Ok(res));
            }
            catch (Exception ex)
            {
                return(BadRequest(new ResponseApiModel()
                {
                    Success = false,
                    Message = ex.Message
                }));
            }
        }
예제 #4
0
        public ResponseApiModel GetLastBlockId(RequestGetterApiModel model)
        {
            var response = new ResponseApiModel();

            using (var client = GetClientByModel(model))
            {
                var res = client.SyncStateGet();
                response.BlockId = res.LastBlock;
            }

            return(response);
        }
예제 #5
0
        public void GetLastBlockIdTest()
        {
            var service = new MonitorService(Configuration);

            var model = new RequestGetterApiModel();

            model.NetworkAlias = "MainNet";//"TestNet";
            model.AuthKey      = "87cbdd85-b2e0-4cb9-aebf-1fe87bf3afdd";
            // model.TransactionId = "26364287.1";

            var response = service.GetLastBlockId(model);

            Assert.IsNotNull(response);
        }
예제 #6
0
        public ResponseApiModel GetListTransactionByBlockId(RequestGetterApiModel model)
        {
            var response = new ResponseApiModel();

            using (var client = GetClientByModel(model))
            {
                bool roundFee   = false;
                var  result     = client.PoolTransactionsGet(model.BlockId, model.Offset, model.Limit);
                var  listResult = result.Transactions.Select((t, i) => ToTransactionInfo(i + model.Offset + 1, t.Id, t.Trxn, roundFee)).ToArray();
                response.BlockId             = model.BlockId;
                response.ListTransactionInfo = listResult;
            }

            return(response);
        }
        public ActionResult <TransactionInfo> GetTransaction(RequestGetterApiModel model)
        {
            TransactionInfo res;

            try
            {
                res         = ServiceProvider.GetService <MonitorService>().GetTransaction(model);
                res.Success = true;
            }
            catch (Exception ex)
            {
                res         = new TransactionInfo();
                res.Success = false;
                res.Message = ex.Message;
            }

            return(Ok(res));
        }
        public ActionResult <ResponseApiModel> GetListTransactionByBlockId(RequestGetterApiModel model)
        {
            ResponseApiModel res;

            try
            {
                res = ServiceProvider.GetService <MonitorService>().GetListTransactionByBlockId(model);

                res.Success = true;
            }
            catch (Exception ex)
            {
                res         = new ResponseApiModel();
                res.Success = false;
                res.Message = ex.Message;
            }

            return(Ok(res));
        }
예제 #9
0
        public void GetListTransactionByBlockIdTest()
        {
            var service = new MonitorService(Configuration);
            var model   = new RequestGetterApiModel();

            //model.NetworkAlias = "MainNet";//"TestNet";
            //model.AuthKey = "87cbdd85-b2e0-4cb9-aebf-1fe87bf3afdd";
            //model.Limit = 100;
            //model.Offset = 0;
            //model.BlockId = 26388412;

            model.NetworkAlias = "TestNet";
            model.NetworkIp    = "157.245.26.48";
            model.NetworkPort  = "9091";
            model.Limit        = 100;
            model.Offset       = 277;
            model.BlockId      = 8987133;

            var response = service.GetListTransactionByBlockId(model);

            Assert.IsNotNull(response);
        }