public async void GetAddressNeblUtxo_Valid_Test()
        {
            string address = "NPvfpRCmDNcJjCZvDuAB9QsFC32gVThWdh";
            double amount  = 0.015;
            GetAddressInfoResponse addressObject = Common.FakeDataGenerator.GetAddressWithNeblUtxos(address, 10, 1000000);
            var u = addressObject.Utxos.FirstOrDefault();
            //ACT
            var Utxos = await NeblioTransactionHelpers.GetAddressNeblUtxo(address, 0.0001, amount, addressObject, (double)u.Blockheight);

            //Assert
            Assert.Equal(2, Utxos.Count);
        }
        public override async Task <string> StartShop()
        {
            _ = Task.Run(async() =>
            {
                // todo cancel
                while (true)
                {
                    IsRunning = true;
                    try
                    {
                        if (IsActive)
                        {
                            var mainItem = ShopItems.FirstOrDefault();
                            if (mainItem != null)
                            {
                                var neblUtxos = await NeblioTransactionHelpers.GetAddressNeblUtxo(Address, 0.0001, 1000000);

                                if (neblUtxos?.Count > 0)
                                {
                                    foreach (var u in neblUtxos)
                                    {
                                        var value = (u.Value / neblio.FromSatToMainRatio);

                                        if (value >= (mainItem.Price - 0.0002) && value <= (mainItem.Price + 0.0002))
                                        {
                                            // todo load from account which creates the shop
                                            var txinfo = await NeblioTransactionHelpers.TransactionInfoAsync(null, TransactionTypes.Neblio, u.Txid);
                                            if ((txinfo.From[0] != Address && txinfo.To[0] != Address) && !string.IsNullOrEmpty(txinfo.From[0]))  // this is received order from some address
                                            {
                                                var resp = await processOrder(u, txinfo, mainItem);
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        await Task.Delay(shopRefresh);
                    }
                    catch (Exception ex)
                    {
                        log.Error("Error during refreshing shop", ex);
                    }
                }
            });

            return(await Task.FromResult("Running!"));
        }