Пример #1
0
        public VolumeGraph(VolumeContext context, NetworkGraph networkGraph, PriceGraph priceGraph)
        {
            Context      = context;
            NetworkGraph = networkGraph;
            PriceGraph   = priceGraph;
            Meta         = networkGraph.Meta;

            _dN.BuildData(PriceGraph.PairsByNetwork);

            var id = "VolumeGraph".GetObjectIdHashCode();

            if (context.FlushVolume)
            {
                VolumeDbProvider.Clear(id);
            }

            VolumeDbProvider = new VolumeDbProvider(id);

            _volume = GetAllVolumeData();

            ApplyBtc();

            FilterVolume(_dN.PairsByNetwork);

            VolumeExceptionCheck();
        }
Пример #2
0
        public PriceGraph(PricesContext context, NetworkGraph networkGraph)
        {
            PricesContext  = context;
            NetworkContext = networkGraph.Context;
            NetworkGraph   = networkGraph;

            _dN.BuildData(networkGraph.PairsByNetworkN);

            Refresh();
        }
Пример #3
0
        public void Confirm(NetworkGraph graph)
        {
            ForApi = Networks.Select(network => new NetworkApiPair(network, Pair, graph)).ToList();

            var bad = ForApi.Where(x => x.Pair == null).ToList();

            if (!bad.Any())
            {
                return;
            }

            ForApi   = ForApi.Where(x => x.Pair != null).ToList();
            Networks = ForApi.Select(x => x.Network).ToList();
        }
Пример #4
0
        public PriceGraph(PricesContext context, NetworkGraph networkGraph)
        {
            PricesContext  = context;
            NetworkContext = networkGraph.Context;
            NetworkGraph   = networkGraph;

            _dN.BuildData(networkGraph.PairsByNetworkN);

            var source = _dN.DeNormalise(NetworkGraph.PairsByNetworkRaw);

            _pricesByNetwork = PopulatePriceGraph(source).ToDictionary(x => x.Key, y => y.Value.AsReadOnlyList());

            RemoveEmptyPricing(_pricesByNetwork);

            _dN.BuildData(_pricesByNetwork.ToDictionary(x => x.Key, y => y.Value.Select(x => x.Pair).AsReadOnlyList()));

            _prices       = _pricesByNetwork.Values.SelectMany(x => x).ToList();
            _pricesByPair = _prices.GroupBy(x => x.Pair).ToDictionary(x => x.Key, y => y.AsReadOnlyList());
        }
Пример #5
0
 public NetworkApiPair(Network network, AssetPair pair, NetworkGraph graph)
 {
     Network = network;
     Pair    = graph.GetOriginalPair(network, pair);
 }