Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
    /// <summary>
    /// Initializes the TradableAssetManager by adding required methods to events and adding this class to the PeriodicUpdateManager.
    /// </summary>
    /// <param name="tokenContractManager"> The active TokenContractManager. </param>
    /// <param name="periodicUpdateManager"> The PeriodicUpdateManager to use to run this class's periodic updates. </param>
    /// <param name="disposableComponentManager"> The active DisposableComponentManager. </param>
    public TradableAssetManager(TokenContractManager tokenContractManager, PeriodicUpdateManager periodicUpdateManager, DisposableComponentManager disposableComponentManager)
    {
        disposableComponentManager.AddDisposable(this);

        tokenContractManager.OnTokenAdded        += AddTradableAsset;
        tokenContractManager.OnTokenRemoved      += RemoveTradableAsset;
        UserWalletManager.OnWalletLoadSuccessful += () => periodicUpdateManager.AddPeriodicUpdater(this);
    }
Ejemplo n.º 3
0
 public TokenListManager(
     TokenContractManager tokenContractManager,
     PRPS prps,
     DUBI dubi,
     EthereumNetworkManager.Settings ethereumNetworkSettings)
 {
     Initialize(tokenContractManager, prps, dubi, ethereumNetworkSettings);
     ethereumNetworkSettings.OnNetworkChanged += _ => Initialize(tokenContractManager, prps, dubi, ethereumNetworkSettings);
 }
Ejemplo n.º 4
0
 public void Construct(
     TradableAssetManager tradableAssetManager,
     TokenContractManager tokenContractManager,
     TokenListManager tokenListManager,
     DUBI dubiContract)
 {
     this.tradableAssetManager = tradableAssetManager;
     this.tokenContractManager = tokenContractManager;
     this.tokenListManager     = tokenListManager;
     this.dubiContract         = dubiContract;
 }
Ejemplo n.º 5
0
    /// <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;
    }
Ejemplo n.º 6
0
    public void Construct(
        TokenListManager tokenListManager,
        TokenContractManager tokenContractManager,
        TradableAssetImageManager tradableAssetImageManager,
        UserWalletManager userWalletManager,
        AddableTokenButton.Factory addableTokenButtonFactory,
        ButtonClickObserver buttonClickObserver)
    {
        this.tokenListManager          = tokenListManager;
        this.tokenContractManager      = tokenContractManager;
        this.tradableAssetImageManager = tradableAssetImageManager;
        this.userWalletManager         = userWalletManager;
        this.addableTokenButtonFactory = addableTokenButtonFactory;
        this.buttonClickObserver       = buttonClickObserver;

        buttonClickObserver.SubscribeObservable(this);

        selectableFields.Add(addressField.InputFieldBase);
        selectableFields.Add(symbolField.InputFieldBase);
        selectableFields.Add(decimalsField.InputFieldBase);
    }
Ejemplo n.º 7
0
    private void InitializeDefaultTokenList(TokenContractManager tokenContractManager, PRPS prps, DUBI dubi, EthereumNetworkManager.Settings ethereumNetworkSettings)
    {
        if (addableTokens.Count > 0)
        {
            return;
        }

        addableTokens.Add(new TokenInfo(prps.ContractAddress.ToLower(), "Purpose", "PRPS", 18));
        addableTokens.Add(new TokenInfo(dubi.ContractAddress.ToLower(), "Decentralized Universal Basic Income", "DUBI", 18));
        tokenContractManager.AddToken(new TokenInfo(prps.ContractAddress.ToLower(), "Purpose", "PRPS", 18));
        tokenContractManager.AddToken(new TokenInfo(dubi.ContractAddress.ToLower(), "Decentralized Universal Basic Income", "DUBI", 18));

        if (ethereumNetworkSettings.networkType == EthereumNetworkManager.NetworkType.Mainnet)
        {
            var defaultTokenList = Resources.Load("Data/tokens") as TextAsset;
            var deserializedData = JsonUtils.DeserializeDynamicCollection(defaultTokenList.text);

            for (int i = 0; i < deserializedData.Count; i++)
            {
                var obj = deserializedData[i];

                var address  = (string)obj.address;
                var symbol   = (string)obj.symbol;
                var name     = (string)obj.name;
                var decimals = (int)obj.decimals;

                var isEnabled = address.EqualsIgnoreCase(prps.ContractAddress) || address.EqualsIgnoreCase(dubi.ContractAddress);

                addableTokens.Add(new TokenInfo(address.ToLower(), name, symbol, decimals));

                if (isEnabled)
                {
                    tokenContractManager.AddToken(new TokenInfo(address.ToLower(), name, symbol, decimals));
                }
            }
        }
    }
 public void Construct(TokenContractManager tokenContractManager)
 {
     this.tokenContractManager = tokenContractManager;
 }
Ejemplo n.º 9
0
 private void Initialize(TokenContractManager tokenContractManager, PRPS prps, DUBI dubi, EthereumNetworkManager.Settings ethereumNetworkSettings)
 {
     addableTokens = new SecurePlayerPrefList <TokenInfo>(PlayerPrefConstants.CACHED_TOKEN_LIST, (int)ethereumNetworkSettings.networkType);
     InitializeDefaultTokenList(tokenContractManager, prps, dubi, ethereumNetworkSettings);
 }
Ejemplo n.º 10
0
 /// <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);
 }