/// <summary> /// Disposes of the loaded TradableAssets. /// </summary> public void Dispose() { TradableAssets.Clear(); ActiveTradableAsset = null; EtherAsset = null; }
/// <summary> /// Starts the EtherBalanceObserver. /// </summary> /// <param name="periodicUpdateManager"> The active PeriodicUpdateManager. </param> /// <param name="tradableAssetManager"> The active TradableAssetManager. </param> private void StartObserver(PeriodicUpdateManager periodicUpdateManager, TradableAssetManager tradableAssetManager) { etherAsset = tradableAssetManager.EtherAsset; etherAsset.OnAssetBalanceChanged += OnEtherBalanceChanged; periodicUpdateManager.AddPeriodicUpdater(this, true); }
/// <summary> /// Adds a new asset to the collection of TradableAssets to manage. /// </summary> /// <param name="tradableAsset"> The TradableAsset to add to the manager. </param> public void AddTradableAsset(TradableAsset tradableAsset) { var address = tradableAsset.AssetAddress; if (TradableAssets.ContainsKey(address)) { return; } if (tradableAsset is EtherAsset) { EtherAsset = tradableAsset as EtherAsset; SetNewActiveAsset(tradableAsset); } TradableAssets.Add(address, tradableAsset); tradableAsset.OnAssetBalanceChanged += _ => OnBalancesUpdated?.Invoke(); OnTradableAssetAdded?.Invoke(tradableAsset); }