예제 #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);
    }
예제 #2
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;
    }