Пример #1
0
    /// <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;
    }
Пример #3
0
 /// <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;
 }
Пример #4
0
    /// <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;
    }
Пример #5
0
    /// <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;
    }
Пример #6
0
    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;
    }
Пример #7
0
    /// <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);
    }
Пример #8
0
 /// <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);
 }