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 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); }
public TokenListManager( TokenContractManager tokenContractManager, PRPS prps, DUBI dubi, EthereumNetworkManager.Settings ethereumNetworkSettings) { Initialize(tokenContractManager, prps, dubi, ethereumNetworkSettings); ethereumNetworkSettings.OnNetworkChanged += _ => Initialize(tokenContractManager, prps, dubi, ethereumNetworkSettings); }
public void Construct( TradableAssetManager tradableAssetManager, TokenContractManager tokenContractManager, TokenListManager tokenListManager, DUBI dubiContract) { this.tradableAssetManager = tradableAssetManager; this.tokenContractManager = tokenContractManager; this.tokenListManager = tokenListManager; this.dubiContract = dubiContract; }
/// <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( 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); }
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; }
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); }
/// <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); }