Exemple #1
0
        public void TestSetUp()
        {
            accounts.Clear();

            var mockStorage = new Mock <IStore>();

            mockStorage.Setup(x => x.Put(It.IsAny <Account>())).Callback <Account>(acc => accounts.Add(acc));
            mockStorage.Setup(x => x.Get(It.IsAny <string>())).Returns((string accName) => accounts.First(acc => acc.Name == accName));
            storage = mockStorage.Object;

            amountManager = new AmountManager(storage);
            var A1 = new Account {
                Name = "Acc1"
            };
            var A2 = new Account {
                Name = "Acc2"
            };
            var A3 = new Account {
                Name = "Acc3"
            };

            A1.Add(1000);
            A2.Add(2000);
            A3.Add(3000);
            storage.Put(A1);
            storage.Put(A2);
            storage.Put(A3);
        }
        public void SetupDependencies(AmountManager amountManager)
        {
            this.amountManager             = amountManager;
            amountManager.OnAmountChanged += UpdateTransactionFeeVisuals;

            UpdateTransactionFeeVisuals();
        }
    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(
        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 TimeManager by assigning all buttons and other dependencies.
        /// </summary>
        /// <param name="amountManager"> The LockPRPSPopup.AmountManager. </param>
        /// <param name="threeMonthsButton"> The button used to represent a three month purpose lock. </param>
        /// <param name="sixMonthsButton"> The button used to represent a six month purpose lock. </param>
        /// <param name="twelveMonthsButton"> The button used to represent a twelve month purpose lock. </param>
        /// <param name="dubiRewardText"> The text component used for displaying the dubi reward. </param>
        public TimeManager(
            AmountManager amountManager,
            Button threeMonthsButton,
            Button sixMonthsButton,
            Button twelveMonthsButton,
            TMP_Text dubiRewardText)
        {
            this.amountManager      = amountManager;
            this.threeMonthsButton  = threeMonthsButton;
            this.sixMonthsButton    = sixMonthsButton;
            this.twelveMonthsButton = twelveMonthsButton;
            this.dubiRewardText     = dubiRewardText;

            amountManager.OnLockAmountChanged += UpdateDUBIReward;
            threeMonthsButton.onClick.AddListener(() => ButtonPressed(threeMonthsButton));
            sixMonthsButton.onClick.AddListener(() => ButtonPressed(sixMonthsButton));
            twelveMonthsButton.onClick.AddListener(() => ButtonPressed(twelveMonthsButton));
        }
Exemple #6
0
 public Accounts(IStore accountsManager)
 {
     this.accountsManager = accountsManager;
     amountManager        = new AmountManager(accountsManager);
 }