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; }
/// <summary> /// Initializes the <see cref="AmountManager"/> by assigning the references to the popup, max toggle, and amount input field. /// </summary> /// <param name="currencyManager"> The active <see cref="CurrencyManager"/>. </param> /// <param name="tradableAssetPriceManager"> The active <see cref="TradableAssetPriceManager"/>. </param> /// <param name="maxToggle"> The toggle for switching between maximum sendable amount and the entered amount. </param> /// <param name="maxText"> The max text header. </param> /// <param name="amountInputField"> The input field used for entering the sendable amount. </param> /// <param name="currencyText"> The currency text object. </param> /// <param name="oppositeCurrencyAmountText"> The opposite currency amount text object. </param> /// <param name="currencyButton"> The currency button. </param> /// <param name="tokenSymbol"> The token symbol. </param> public AmountManager( CurrencyManager currencyManager, TradableAssetPriceManager tradableAssetPriceManager, Toggle maxToggle, GameObject maxText, HopeInputField amountInputField, TMP_Text currencyText, TMP_Text oppositeCurrencyAmountText, Button currencyButton, string tokenSymbol) { this.maxToggle = maxToggle; this.maxText = maxText; this.amountInputField = amountInputField; this.currencyText = currencyText; this.oppositeCurrencyAmountText = oppositeCurrencyAmountText; this.currencyButton = currencyButton; this.currencyManager = currencyManager; this.tradableAssetPriceManager = tradableAssetPriceManager; tradableTokenSymbol = tokenSymbol; currencyText.text = currencyManager.ActiveCurrency.ToString(); amountInputField.SetPlaceholderText("Amount<style=Symbol> (" + tokenSymbol + ")</style>"); SetupListeners(); }
/// <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(); }
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 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( TradableAssetPriceManager tradableAssetPriceManager, CurrencyManager currencyManager, LockPRPSManager lockPRPSManager, LockedPRPSManager lockedPRPSManager, GasPriceObserver gasPriceObserver, EtherBalanceObserver etherBalanceObserver, Hodler hodlerContract, UserWalletManager userWalletManager, ButtonClickObserver buttonClickObserver) { this.lockedPRPSManager = lockedPRPSManager; this.etherBalanceObserver = etherBalanceObserver; this.userWalletManager = userWalletManager; this.hodlerContract = hodlerContract; this.buttonClickObserver = buttonClickObserver; etherBalanceObserver.SubscribeObservable(this); buttonClickObserver.SubscribeObservable(this); Gas = new GasManager(tradableAssetPriceManager, currencyManager, lockPRPSManager, gasPriceObserver, slider, transactionFeeText, this); Amount = new AmountManager(lockPRPSManager, maxToggle, amountInputField, prpsBalanceText, dubiBalanceText, dubiRewardText, tooltipItems[2]); Time = new TimeManager(Amount, threeMonthsButton, sixMonthsButton, twelveMonthsButton, dubiRewardText); if (lockPRPSManager.PRPSBalance == 0) { maxToggle.SetInteractable(false); maxText.color = UIColors.LightGrey; } 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 GasMAnager by assigning required dependencies. /// </summary> /// <param name="tradableAssetPriceManager"> The active TradableAssetPriceManager. </param> /// <param name="currencyManager"> The active CurrencyManager. </param> /// <param name="lockPRPSManager"> The active LockPRPSManager. </param> /// <param name="gasPriceObserver"> The active GasPriceObserver. </param> /// <param name="slider"> The slider for controlling the gas prices. </param> /// <param name="transactionFeeText"> The text used for displaying the gas cost of the transaction. </param> /// <param name="lockPRPSPopup"></param> public GasManager( TradableAssetPriceManager tradableAssetPriceManager, CurrencyManager currencyManager, LockPRPSManager lockPRPSManager, GasPriceObserver gasPriceObserver, Slider slider, TMP_Text transactionFeeText, LockPRPSPopup lockPRPSPopup) { this.tradableAssetPriceManager = tradableAssetPriceManager; this.currencyManager = currencyManager; this.lockPRPSManager = lockPRPSManager; this.transactionFeeText = transactionFeeText; this.lockPRPSPopup = lockPRPSPopup; transactionSpeedSlider = new TransactionSpeedSlider(gasPriceObserver, slider, UpdateGasPriceEstimate); transactionSpeedSlider.Start(); }