/// <summary> /// Initializes the EthereumTransactionManager by initializing all collections and adding the proper methods to the events needed. /// </summary> /// <param name="disposableComponentManager"> The active DisposableComponentManager. </param> /// <param name="periodicUpdateManager"> The PeriodicUpdateManager to use when periodically checking for new transactions. </param> /// <param name="updateManager"> The UpdateManager to use when getting the transactions for each asset. </param> /// <param name="userWalletManager"> The active UserWalletManager. </param> /// <param name="apiService"> The active EtherscanApiService. </param> /// <param name="tradableAssetManager"> The active TradableAssetManager. </param> public EthereumTransactionManager( DisposableComponentManager disposableComponentManager, PeriodicUpdateManager periodicUpdateManager, UpdateManager updateManager, TradableAssetManager tradableAssetManager, UserWalletManager userWalletManager, EtherscanApiService apiService) { tradableAssetManager.OnTradableAssetAdded += AddAssetToScrape; OptimizedScrollview.OnOptimizedScrollviewInitialized += optimizedScrollview => { if (optimizedScrollview.scrollviewKey.Equals("asset_scrollview")) { scrollview = optimizedScrollview; scrollview.OnVisibleItemsChanged += OnVisibleAssetsChanged; periodicUpdateManager.AddPeriodicUpdater(this); } }; this.tradableAssetManager = tradableAssetManager; this.userWalletManager = userWalletManager; this.apiService = apiService; disposableComponentManager.AddDisposable(this); updateManager.AddUpdater(this); }
public TradableAssetNotificationManager( EthereumNetworkManager.Settings networkSettings, DisposableComponentManager disposableComponentManager, UserWalletManager userWalletManager, TradableAssetManager tradableAssetManager, EthereumTransactionManager ethereumTransactionManager, LockedPRPSManager lockedPrpsManager, PRPS prpsContract) { this.networkSettings = networkSettings; this.userWalletManager = userWalletManager; this.ethereumTransactionManager = ethereumTransactionManager; this.lockedPrpsManager = lockedPrpsManager; this.prpsContract = prpsContract; disposableComponentManager.AddDisposable(this); UserWalletManager.OnWalletLoadSuccessful += LoadNewNotificationList; tradableAssetManager.OnTradableAssetAdded += AssetAdded; tradableAssetManager.OnTradableAssetRemoved += AssetRemoved; ethereumTransactionManager.OnTransactionsAdded += TransactionsUpdated; lockedPrpsManager.OnLockedPRPSUpdated += TransactionsUpdated; }
/// <summary> /// Initializes the LogoutHandler. /// </summary> /// <param name="uiManager"> The active UIManager component. </param> /// <param name="popupManager"> The active PopupManager. </param> /// <param name="disposableComponentManager"> The active DisposableComponentManager. </param> /// <param name="dynamicDataCache"> The active DynamicDataCache. </param> public LogoutHandler( UIManager uiManager, PopupManager popupManager, DisposableComponentManager disposableComponentManager, DynamicDataCache dynamicDataCache) { this.uiManager = uiManager; this.popupManager = popupManager; this.disposableComponentManager = disposableComponentManager; this.dynamicDataCache = dynamicDataCache; }
/// <summary> /// Initializes the TradableAssetButtonManager by injecting the settings and assigning all required methods to events. /// </summary> /// <param name="erc20TokenButtonFactory"> The factory which creates ERC20TokenAssetButtons. </param> /// <param name="etherAssetButtonFactory"> The factory which creates EtherAssetButtons. </param> /// <param name="disposableComponentManager"> The active DisposableComponentManager. </param> /// <param name="tokenContractManager"> The active TokenContractManager. </param> /// <param name="tradableAssetManager"> The active TradableAssetManager. </param> public TradableAssetButtonManager( ERC20TokenAssetButton.Factory erc20TokenButtonFactory, EtherAssetButton.Factory etherAssetButtonFactory, DisposableComponentManager disposableComponentManager, TokenContractManager tokenContractManager, TradableAssetManager tradableAssetManager) { this.erc20TokenButtonFactory = erc20TokenButtonFactory; this.etherAssetButtonFactory = etherAssetButtonFactory; this.tokenContractManager = tokenContractManager; disposableComponentManager.AddDisposable(this); tradableAssetManager.OnTradableAssetAdded += AddAssetButton; tradableAssetManager.OnTradableAssetRemoved += RemoveButton; }
/// <summary> /// Initializes the EthereumTransactionButtonManager by assigning the settings. /// </summary> /// <param name="settings"> The settings of this manager. </param> /// <param name="disposableComponentManager"> The active DisposableComponentManager. </param> /// <param name="tradableAssetManager"> The TradableAssetManager to retrieve the current asset from. </param> /// <param name="transactionManager"> The EthereumTransactionManager to use to get the current transaction list. </param> /// <param name="buttonFactory"> The TransactionInfoButton factory. </param> public EthereumTransactionButtonManager( Settings settings, DisposableComponentManager disposableComponentManager, TradableAssetManager tradableAssetManager, EthereumTransactionManager transactionManager, TransactionInfoButton.Factory buttonFactory) { this.settings = settings; this.tradableAssetManager = tradableAssetManager; this.transactionManager = transactionManager; this.buttonFactory = buttonFactory; disposableComponentManager.AddDisposable(this); transactionManager.OnTransactionsAdded += ProcessTransactions; OpenWalletMenu.TransactionTabManager.OnTabChanged += OnTransactionTabChanged; OpenWalletMenu.TransactionPageManager.OnPageChanged += OnPageChanged; }
public LockedPRPSManager( DisposableComponentManager disposableComponentManager, UserWalletManager userWalletManager, Hodler hodlerContract, PRPS prpsContract, PeriodicUpdateManager periodicUpdateManager, EtherscanApiService apiService, TradableAssetManager tradableAssetManager) { this.userWalletManager = userWalletManager; this.periodicUpdateManager = periodicUpdateManager; this.hodlerContract = hodlerContract; this.prpsContract = prpsContract; this.apiService = apiService; disposableComponentManager.AddDisposable(this); tradableAssetManager.OnTradableAssetAdded += CheckIfPRPSAdded; tradableAssetManager.OnTradableAssetRemoved += CheckIfPRPSRemoved; }
/// <summary> /// Initializes the TradableAssetManager by adding required methods to events and adding this class to the PeriodicUpdateManager. /// </summary> /// <param name="tokenContractManager"> The active TokenContractManager. </param> /// <param name="periodicUpdateManager"> The PeriodicUpdateManager to use to run this class's periodic updates. </param> /// <param name="disposableComponentManager"> The active DisposableComponentManager. </param> public TradableAssetManager(TokenContractManager tokenContractManager, PeriodicUpdateManager periodicUpdateManager, DisposableComponentManager disposableComponentManager) { disposableComponentManager.AddDisposable(this); tokenContractManager.OnTokenAdded += AddTradableAsset; tokenContractManager.OnTokenRemoved += RemoveTradableAsset; UserWalletManager.OnWalletLoadSuccessful += () => periodicUpdateManager.AddPeriodicUpdater(this); }
/// <summary> /// Initializes the PeriodicUpdateManager by creating the dictionary and adding itself to the UpdateManager. /// </summary> /// <param name="updateManager"> The UpdateManager to run the periodic updates off of. </param> /// <param name="disposableComponentManager"> The active DisposableComponentManager. </param> public PeriodicUpdateManager(UpdateManager updateManager, DisposableComponentManager disposableComponentManager) { updateManager.AddUpdater(this); disposableComponentManager.AddDisposable(this); }