Ejemplo n.º 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);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Adds a asset button to the list of asset buttons visible.
    /// </summary>
    /// <param name="tradableAsset"> The TokenContract which will be assigned to this button. </param>
    private void AddAssetButton(TradableAsset tradableAsset)
    {
        ITradableAssetButton assetButton;

        if (tradableAsset is EtherAsset)
        {
            assetButton = etherAssetButtonFactory.Create().SetButtonInfo(tradableAsset);
            EnableNewTokenButton(assetButton);
        }
        else
        {
            assetButton = erc20TokenButtonFactory.Create().SetButtonInfo(tradableAsset);
        }

        assetButtons.Add(assetButton);
        SortButtons();

        OptimizedScrollview.GetScrollview("asset_scrollview")?.Refresh();

        OnTradableAssetButtonCreated?.Invoke(assetButton);
    }
Ejemplo n.º 3
0
 /// <summary>
 /// Resets the value of the scroll bar once an asset changes.
 /// Also refreshes the scrollview.
 /// </summary>
 private void RefreshScrollBar()
 {
     settings.scrollBar.value = 1;
     OptimizedScrollview.GetScrollview("transactions_scrollview").Refresh();
 }