コード例 #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;
 }
コード例 #2
0
    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;
    }
コード例 #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);
 }
コード例 #4
0
    /// <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;
    }
コード例 #5
0
    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;
    }
コード例 #6
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));
                }
            }
        }
    }
コード例 #7
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);
 }