public AssetPairsInfo Handle(Chronos.Core.Events.AssetPairRegistered e, AssetPairsInfo state)
        {
            var pairs = new HashSet <string>(state.Pairs)
            {
                e.Fordom
            };
            var assets = new HashSet <Asset>(state.Tree.Assets)
            {
                e.DomAsset, e.ForAsset
            };
            var newState = new AssetPairsInfo(assets.ToArray(), pairs.ToArray(), state.Tree);

            newState.Tree.Add(e.ForAsset, e.DomAsset);
            return(newState);
        }
示例#2
0
 private void ApplyEvent(Chronos.Core.Events.AssetPairRegistered e)
 {
     Id       = e.Fordom;
     ForAsset = e.ForAsset;
     DomAsset = e.DomAsset;
 }
 public AssetPairInfo Handle(Chronos.Core.Events.AssetPairRegistered e, AssetPairInfo state)
 {
     state.ForAsset = e.ForAsset;
     state.DomAsset = e.DomAsset;
     return(state);
 }
示例#4
0
 public SingleAssetPrice Handle(Chronos.Core.Events.AssetPairRegistered e, SingleAssetPrice state)
 {
     return(new SingleAssetPrice(0.0, Instant.MinValue));
 }