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 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); }
/// <summary> /// Initializes the <see cref="GasManager"/> by assigning all required references. /// </summary> /// <param name="tradableAssetManager"> The active <see cref="TradableAssetManager"/>. </param> /// <param name="tradableAssetPriceManager"> The active <see cref="TradableAssetPriceManager"/>. </param> /// <param name="currencyManager"> The active <see cref="CurrencyManager"/>. </param> /// <param name="gasPriceObserver"> The active <see cref="GasPriceObserver"/>. </param> /// <param name="periodicUpdateManager"> The active <see cref="PeriodicUpdateManager"/>. </param> /// <param name="advancedModeToggle"> The toggle for switching between advanced and simple mode. </param> /// <param name="slider"> The slider used to control transaction speed. </param> /// <param name="gasLimitField"> The input field for the gas limit when in advanced mode. </param> /// <param name="gasPriceField"> The input field for the gas price when in advanced mode. </param> /// <param name="transactionFeeText"> The text component to use to set the transaction fee. </param> public GasManager( TradableAssetManager tradableAssetManager, TradableAssetPriceManager tradableAssetPriceManager, CurrencyManager currencyManager, GasPriceObserver gasPriceObserver, PeriodicUpdateManager periodicUpdateManager, Toggle advancedModeToggle, Slider slider, HopeInputField gasLimitField, HopeInputField gasPriceField, TMP_Text transactionFeeText) { this.tradableAssetManager = tradableAssetManager; this.tradableAssetPriceManager = tradableAssetPriceManager; this.currencyManager = currencyManager; this.periodicUpdateManager = periodicUpdateManager; this.advancedModeToggle = advancedModeToggle; this.gasLimitField = gasLimitField; this.gasPriceField = gasPriceField; this.transactionFeeText = transactionFeeText; transactionSpeedSlider = new TransactionSpeedSlider(gasPriceObserver, slider, UpdateGasPriceEstimate); OnGasChanged += UpdateTransactionFeeVisuals; AddListenersAndObservables(); EstimateGasLimit(); transactionSpeedSlider.Start(); }
/// <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); }
public void Construct( EthereumTransactionManager ethereumTransactionManager, EthereumNetworkManager.Settings ethereumNetworkSettings, EthereumPendingTransactionManager ethereumPendingTransactionManager, TokenContractManager tokenContractManager, TradableAssetManager tradableAssetManager, TradableAssetPriceManager tradableAssetPriceManager, TradableAssetNotificationManager notificationManager, LockedPRPSManager lockedPrpsManager, PRPS prpsContract, CurrencyManager currencyManager, HopeWalletInfoManager hopeWalletInfoManager, UserWalletManager userWalletManager, LogoutHandler logoutHandler) { this.ethereumNetworkSettings = ethereumNetworkSettings; this.ethereumTransactionManager = ethereumTransactionManager; this.ethereumPendingTransactionManager = ethereumPendingTransactionManager; this.tokenContractManager = tokenContractManager; this.tradableAssetManager = tradableAssetManager; this.tradableAssetPriceManager = tradableAssetPriceManager; this.notificationManager = notificationManager; this.lockedPrpsManager = lockedPrpsManager; this.prpsContract = prpsContract; this.currencyManager = currencyManager; this.hopeWalletInfoManager = hopeWalletInfoManager; this.userWalletManager = userWalletManager; this.logoutHandler = logoutHandler; }
public void Construct( CurrencyManager currencyManager, UserWalletManager userWalletManager, TradableAssetManager tradableAssetManager, TradableAssetPriceManager tradableAssetPriceManager, EthereumTransactionButtonManager ethereumTransactionButtonManager, EtherBalanceObserver etherBalanceObserver, GasPriceObserver gasPriceObserver, UpdateManager updateManager, DynamicDataCache dynamicDataCache, PeriodicUpdateManager periodicUpdateManager, ContactsManager contactsManager, ButtonClickObserver buttonClickObserver, RestrictedAddressManager restrictedAddressManager) { this.ethereumTransactionButtonManager = ethereumTransactionButtonManager; this.userWalletManager = userWalletManager; this.dynamicDataCache = dynamicDataCache; this.buttonClickObserver = buttonClickObserver; Asset = new AssetManager(tradableAssetManager, etherBalanceObserver, updateManager, assetSymbol, assetBalance, assetImage); Gas = new GasManager(tradableAssetManager, tradableAssetPriceManager, currencyManager, gasPriceObserver, periodicUpdateManager, advancedModeToggle, transactionSpeedSlider, gasLimitField, gasPriceField, transactionFee); Address = new AddressManager(addressField, contactName, contactsManager, restrictedAddressManager); Amount = new AmountManager(currencyManager, tradableAssetPriceManager, maxToggle, maxText, amountField, currencyText, oppositeCurrencyAmountText, currencyButton, assetSymbol.text); Gas.SetupDependencies(Amount); Amount.SetupDependencies(Gas, Asset); simpleModeSelectableFields.Add(addressField.InputFieldBase); simpleModeSelectableFields.Add(amountField.InputFieldBase); advancedModeSelectableFields.AddRange(simpleModeSelectableFields); advancedModeSelectableFields.Add(gasLimitField.InputFieldBase); advancedModeSelectableFields.Add(gasPriceField.InputFieldBase); }
public void Construct(TradableAssetManager tradableAssetManager, TradableAssetImageManager tradableAssetImageManager, UserWalletManager userWalletManager) { this.tradableAssetManager = tradableAssetManager; this.tradableAssetImageManager = tradableAssetImageManager; this.userWalletManager = userWalletManager; }
public void Construct( TradableAssetManager tradableAssetManager, TokenContractManager tokenContractManager, TokenListManager tokenListManager, DUBI dubiContract) { this.tradableAssetManager = tradableAssetManager; this.tokenContractManager = tokenContractManager; this.tokenListManager = tokenListManager; this.dubiContract = dubiContract; }
public void Construct( TradableAssetManager tradableAssetManager, TradableAssetImageManager tradableAssetImageManager, HopeWalletInfoManager userWalletInfoManager, DynamicDataCache dynamicDataCache, ContactsManager contactsManager) { this.tradableAssetManager = tradableAssetManager; this.tradableAssetImageManager = tradableAssetImageManager; this.userWalletInfoManager = userWalletInfoManager; this.dynamicDataCache = dynamicDataCache; this.contactsManager = contactsManager; }
public void Construct( PopupManager popupManager, TradableAssetManager tradableAssetManager, TradableAssetImageManager tradableAssetImageManager, ContactsManager contactsManager, Hodler hodler) { this.popupManager = popupManager; this.tradableAssetManager = tradableAssetManager; this.tradableAssetImageManager = tradableAssetImageManager; this.contactsManager = contactsManager; this.hodler = hodler; }
public PriceManager( CurrencyManager currencyManager, TradableAssetPriceManager tradableAssetPriceManager, TradableAssetManager tradableAssetManager, TMP_Text priceText) { this.currencyManager = currencyManager; this.tradableAssetPriceManager = tradableAssetPriceManager; this.tradableAssetManager = tradableAssetManager; this.priceText = priceText; currencyManager.OnCurrencyChanged += OnCurrencyChanged; tradableAssetManager.OnBalancesUpdated += UpdateAssetValue; tradableAssetPriceManager.OnPriceUpdateSucceeded += UpdateAssetValue; }
public void Construct( TradableAssetManager tradableAssetManager, TradableAssetImageManager tradableAssetImageManager, ContactsManager contactsManager, UserWalletManager userWalletManager, HopeWalletInfoManager userWalletInfoManager, Hodler hodler) { this.tradableAssetManager = tradableAssetManager; this.tradableAssetImageManager = tradableAssetImageManager; this.contactsManager = contactsManager; this.hodler = hodler; walletAddress = userWalletManager.GetWalletAddress(); walletName = userWalletManager.ActiveWalletType == UserWalletManager.WalletType.Hope ? userWalletInfoManager.GetWalletInfo(walletAddress).WalletName : userWalletManager.ActiveWalletType.ToString(); }
/// <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; }
public void Construct(PopupManager popupManager, TradableAssetManager tradableAssetManager, TradableAssetButtonManager tradableAssetButtonManager, TradableAssetImageManager tradableAssetImageManager, EthereumTransactionButtonManager transactionButtonManager, TradableAssetNotificationManager notificationManager) { this.popupManager = popupManager; this.tradableAssetManager = tradableAssetManager; this.tradableAssetButtonManager = tradableAssetButtonManager; this.tradableAssetImageManager = tradableAssetImageManager; this.transactionButtonManager = transactionButtonManager; this.notificationManager = notificationManager; notificationManager.OnNotificationsUpdated += UpdateAssetNotifications; }
/// <summary> /// Initializes the LockPRPSManager with all dependencies. /// </summary> /// <param name="userWalletManager"> The active UserWalletManager. </param> /// <param name="periodicUpdateManager"> The active PeriodicUpdateManager. </param> /// <param name="prpsContract"> The active PRPS smart contract. </param> /// <param name="dubiContract"> The active DUBI smart contract. </param> /// <param name="hodlerContract"> The active Hodler smart contract. </param> /// <param name="tradableAssetManager"> The active TradableAssetManager. </param> public LockPRPSManager( UserWalletManager userWalletManager, PeriodicUpdateManager periodicUpdateManager, PRPS prpsContract, DUBI dubiContract, Hodler hodlerContract, TradableAssetManager tradableAssetManager) { this.prpsContract = prpsContract; this.dubiContract = dubiContract; this.hodlerContract = hodlerContract; this.userWalletManager = userWalletManager; this.periodicUpdateManager = periodicUpdateManager; tradableAssetManager.OnTradableAssetAdded += CheckIfPRPSAdded; tradableAssetManager.OnTradableAssetRemoved += CheckIfPRPSRemoved; }
public TradableAssetPriceManager( CoinMarketCapDataManager coinMarketCapDataManager, DubiExDataManager dubiexDataManager, CurrencyManager currencyManager, TradableAssetManager tradableAssetManager, TradableAssetButtonManager tradableAssetButtonManager, PeriodicUpdateManager periodicUpdateManager) { this.coinMarketCapDataManager = coinMarketCapDataManager; this.dubiexDataManager = dubiexDataManager; this.tradableAssetManager = tradableAssetManager; tradableAssetButtonManager.OnActiveButtonChanged += activeButton => UpdatePrice(activeButton.ButtonInfo); currencyManager.OnCurrencyChanged += ClearPrices; UserWalletManager.OnWalletLoadSuccessful += () => periodicUpdateManager.AddPeriodicUpdater(this); }
/// <summary> /// Initializes the <see cref="AssetManager"/> by assigning all required references. /// </summary> /// <param name="tradableAssetManager"> The active <see cref="TradableAssetManager"/>. </param> /// <param name="etherBalanceObserver"> The active <see cref="EtherBalanceObserver"/>. </param> /// <param name="updateManager"> The active <see cref="UpdateManager"/>. </param> /// <param name="assetSymbol"> The asset symbol text component. </param> /// <param name="assetBalance"> The asset balance text component. </param> /// <param name="assetImage"> The image component used for assigning the asset image. </param> public AssetManager( TradableAssetManager tradableAssetManager, EtherBalanceObserver etherBalanceObserver, UpdateManager updateManager, TMP_Text assetSymbol, TMP_Text assetBalance, Image assetImage) { this.tradableAssetManager = tradableAssetManager; this.etherBalanceObserver = etherBalanceObserver; this.updateManager = updateManager; this.assetSymbol = assetSymbol; this.assetBalance = assetBalance; this.assetImage = assetImage; Start(); }
/// <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 TransactionPageManager( TradableAssetManager tradableAssetManager, EthereumTransactionManager ethereumTransactionManager, GameObject pagesSection) { this.tradableAssetManager = tradableAssetManager; this.ethereumTransactionManager = ethereumTransactionManager; this.pagesSection = pagesSection; leftButton = pagesSection.GetComponentsInChildren <Button>()[0]; rightButton = pagesSection.GetComponentsInChildren <Button>()[1]; pageNumText = pagesSection.GetComponentInChildren <TMP_Text>(); TransactionTabManager.OnTabChanged += TabChanged; tradableAssetManager.OnBalancesUpdated += TransactionListOrAssetUpdated; ethereumTransactionManager.OnTransactionsAdded += TransactionListOrAssetUpdated; leftButton.onClick.AddListener(() => PageChanged(true)); rightButton.onClick.AddListener(() => PageChanged(false)); }
public TransactionTabManager( TradableAssetManager tradableAssetManager, EthereumTransactionManager ethereumTransactionManager, IconButtons transactionTabs) { this.tradableAssetManager = tradableAssetManager; this.ethereumTransactionManager = ethereumTransactionManager; this.transactionTabs = transactionTabs; allTabText = transactionTabs.gameObject.GetComponentsInChildren <TMP_Text>()[0]; sentTabText = transactionTabs.gameObject.GetComponentsInChildren <TMP_Text>()[1]; receivedTabText = transactionTabs.gameObject.GetComponentsInChildren <TMP_Text>()[2]; tradableAssetManager.OnBalancesUpdated += ChangeText; ethereumTransactionManager.OnTransactionsAdded += ChangeText; transactionTabs.OnButtonChanged += TabChanged; AccountsPopup.OnAccountChanged += _ => ChangeText(); }
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; }
public void Construct( UserWalletManager userWalletManager, EthereumTransactionManager ethereumTransactionManager, EthereumTransactionButtonManager ethereumTransactionButtonManager, TradableAssetManager tradableAssetManager, TradableAssetButtonManager tradableAssetButtonManager, TradableAssetNotificationManager tradableAssetNotificationManager, LockedPRPSManager lockedPRPSManager, LockPRPSManager lockPRPSManager) { this.userWalletManager = userWalletManager; this.ethereumTransactionManager = ethereumTransactionManager; this.ethereumTransactionButtonManager = ethereumTransactionButtonManager; this.tradableAssetManager = tradableAssetManager; this.tradableAssetButtonManager = tradableAssetButtonManager; this.tradableAssetNotificationManager = tradableAssetNotificationManager; this.lockedPRPSManager = lockedPRPSManager; this.lockPRPSManager = lockPRPSManager; bool showTooltips = SecurePlayerPrefs.GetBool(PlayerPrefConstants.SETTING_SHOW_TOOLTIPS); foreach (TooltipItem tooltip in tooltipItems) { if (showTooltips) { tooltip.PopupManager = popupManager; } else if (tooltip.infoIcon) { tooltip.gameObject.SetActive(false); } else { tooltip.enabled = false; } } }
/// <summary> /// Initializes the EtherBalanceObserver once all tokens have been loaded. /// </summary> /// <param name="tokenContractManager"> The active TokenContractManager. </param> /// <param name="periodicUpdateManager"> The active PeriodicUpdateManager. </param> /// <param name="tradableAssetManager"> The active TradableAssetManager. </param> public EtherBalanceObserver(TokenContractManager tokenContractManager, PeriodicUpdateManager periodicUpdateManager, TradableAssetManager tradableAssetManager) { tokenContractManager.OnTokensLoaded += () => StartObserver(periodicUpdateManager, tradableAssetManager); }
/// <summary> /// Initializes the DubiExDataManager. /// </summary> /// <param name="dubiExApiService"> The active DubiExApiService. </param> /// <param name="tradableAssetManager"> The active TradableAssetManager. </param> public DubiExDataManager(DubiExApiService dubiExApiService, TradableAssetManager tradableAssetManager) { this.dubiExApiService = dubiExApiService; this.tradableAssetManager = tradableAssetManager; }