コード例 #1
0
        public void AddOrReplaceInventoryItem(KeyInventoryItem aItem, params string[] aArgs)
        {
            if (PasscodeEntropy == Guid.Empty)
            {
                throw new InvalidOperationException("To add or replace items the wallet must be decrypted");
            }

            switch (aItem)
            {
            case KeyInventoryItem.GUIDSeed:

                if (aArgs.Count() != 1)
                {
                    throw new ArgumentOutOfRangeException(nameof(aArgs), "For GUID only one param is needed");
                }

                PasscodeEntropy = ParseGUID(aArgs[0]);

                break;

            case KeyInventoryItem.BittrexKeyPair:

                if (aArgs.Count() != 2)
                {
                    throw new ArgumentOutOfRangeException(nameof(aArgs), "For KeyPairs two params are needed");
                }

                PandoraKeys.ExchangeKeys lItem = new PandoraKeys.ExchangeKeys
                {
                    ExchangeName = aItem.GetEnumDescription(),
                    Key          = aArgs[0],
                    Secret       = aArgs[1]
                };

                PandoraKeys.ExchangeKeys lKeyPair = FExchangeKeys.Where(x => x.ExchangeName == aItem.GetEnumDescription()).FirstOrDefault();

                if (lKeyPair == null)
                {
                    List <PandoraKeys.ExchangeKeys> lKeyList = FExchangeKeys.ToList();

                    lKeyList.Add(lItem);

                    FExchangeKeys = lKeyList.ToArray();

                    List <KeyInventoryItem> lInventoryKey = FInventory.ToList();

                    lInventoryKey.Add(aItem);

                    FInventory = lInventoryKey.ToArray();
                }
                else
                {
                    FExchangeKeys[Array.IndexOf(FExchangeKeys, lKeyPair)] = lItem;
                }

                break;
            }

            FPendingChanges = true;
        }
コード例 #2
0
        public Tuple <string, string> GetExchangeKeyPair(KeyInventoryItem aInventoryItem)
        {
            if (FExchangeKeys == null)
            {
                throw new InvalidOperationException("Wallet must be decrypted before retrieving key pairs");
            }

            PandoraKeys.ExchangeKeys lPair = FExchangeKeys.Where(x => x.ExchangeName == aInventoryItem.GetEnumDescription()).FirstOrDefault();

            if (lPair != null)
            {
                return(new Tuple <string, string>(lPair.Key, lPair.Secret));
            }

            return(null);
        }