public CurrencyOfMarket(Currency currency, Market market, double txFee, bool isActive, CryptoAddress baseAddress, int minConfirmation)
 {
     Currency        = currency;
     Market          = market;
     TxFee           = txFee;
     IsActive        = isActive;
     BaseAddress     = baseAddress;
     MinConfirmation = minConfirmation;
 }
Exemplo n.º 2
0
 public Balance(Market market, Currency currency, CryptoAddress address, double available, double reserved, double pending)
 {
     Market    = market;
     Currency  = currency;
     Address   = address;
     Reserved  = reserved;
     Available = available;
     Pending   = pending;
 }
Exemplo n.º 3
0
        public static Balance ToBalance(this PoloniexBalanceDataType balanceItemDataType, CurrencyOfMarket currency, string cryptoAddress)
        {
            var balance = new Balance(
                currency, CryptoAddress.FromString(cryptoAddress),
                balanceItemDataType.Available ?? 0,
                0,
                balanceItemDataType.Pending ?? 0);

            return(balance);
        }
Exemplo n.º 4
0
        public static CurrencyOfMarket ToCurrency(this PoloniexCurrencyDataType currencyDataType, string currencyShortName, Market market)
        {
            var currency = new CurrencyOfMarket(
                new Currency(currencyShortName, currencyDataType.CurrencyName),
                market, currencyDataType.TaxFee, !currencyDataType.IsDisabled,
                CryptoAddress.FromString(currencyDataType.DepositAddress),
                currencyDataType.MinConfirmation);

            return(currency);
        }
Exemplo n.º 5
0
        public static CurrencyOfMarket ToCurrency(this BittrexCurrencyDataType currencyDataType, Market market)
        {
            var currency = new CurrencyOfMarket(
                new Currency(currencyDataType.CurrencyName, currencyDataType.CurrencyLongName),
                market, currencyDataType.TxFee, currencyDataType.IsActive,
                CryptoAddress.FromString(currencyDataType.BaseAddress),
                currencyDataType.MinConfirmation);

            return(currency);
        }
Exemplo n.º 6
0
        public long Insert(CryptoAddress entities)
        {
            const string sql = @"INSERT INTO [dbo].[CryptoAddresses]([AccountId],[AccountType],[CryptoId],[Alias],[Address],[Tag])
                                      VALUES (@AccountId,@AccountType,@CryptoId,@Alias,@Address,@Tag); SELECT SCOPE_IDENTITY()";

            using (var con = WriteConnection())
            {
                return(con.ExecuteScalar <long>(sql, entities));
            }
        }
Exemplo n.º 7
0
        public Balance Balance(Market market, Currency currency)
        {
            double total     = 0;
            double available = 0;
            double pending   = 0;

            if (!currency.Equals(CurrencyDummy.Usdt) && !currency.Equals(CurrencyDummy.Eth))
            {
                GetRandomBalance(out total, out available, out pending);
            }
            return(new Balance(market, currency, CryptoAddress.FromString("address"), total, available, pending));
        }
Exemplo n.º 8
0
        public void Update(CryptoAddress enities)
        {
            const string sql = @"UPDATE [dbo].[CryptoAddresses]
                                    SET [Alias] = @Alias,
                                        [Address] = @Address
                                  WHERE [Id]=@Id";

            using (var con = WriteConnection())
            {
                con.Execute(sql, enities);
            }
        }
Exemplo n.º 9
0
        public static Balance ToBalance(this BittrexBalanceItemDataType balanceItemDataType, Market market, Currency currency)
        {
            double reserved = 0;

            if (balanceItemDataType.Balance.HasValue && balanceItemDataType.Available.HasValue)
            {
                reserved = balanceItemDataType.Balance.Value - balanceItemDataType.Available.Value;
            }

            var balance = new Balance(
                market, currency, CryptoAddress.FromString(balanceItemDataType.CryptoAddress),
                balanceItemDataType.Available ?? 0,
                reserved,
                balanceItemDataType.Pending ?? 0);

            return(balance);
        }
Exemplo n.º 10
0
        public IEnumerable <Balance> Balances(Market market)
        {
            var balances = new List <Balance>();

            double reserved;
            double available;
            double pending;

            GetRandomBalance(out reserved, out available, out pending);
            balances.Add(new Balance(market, CurrencyDummy.Btc, CryptoAddress.FromString("address btc"), available, reserved, pending));

            GetRandomBalance(out reserved, out available, out pending);
            balances.Add(new Balance(market, CurrencyDummy.Eth, CryptoAddress.FromString("address eth"), available, reserved, pending));

            GetRandomBalance(out reserved, out available, out pending);
            balances.Add(new Balance(market, CurrencyDummy.Ltc, CryptoAddress.FromString("address ltc"), available, reserved, pending));

            return(balances);
        }
Exemplo n.º 11
0
        public void AddAddress(Guid merchantAccountId, int cryptoId, string address, string tag, string remark)
        {
            var crypto = new CryptocurrencyDAC().GetById(cryptoId);

            CryptoAddressValidation.ValidateAddress(crypto.Code, address);
            if (!string.IsNullOrEmpty(tag))
            {
                CryptoAddressValidation.ValidateTag(crypto.Code, tag);
            }

            //var merchant = new MerchantAccountDAC().GetById(merchantAccountId);

            try
            {
                if (!new FiiiFinanceAgent().ValidateAddress(crypto.Code, address))
                {
                    throw new CommonException(ReasonCode.GENERAL_ERROR, GeneralResources.EMInvalidAddress);
                }
            }
            catch (FiiiFinanceException ex)
            {
                if (ex.ReasonCode == 20002)
                {
                    throw new CommonException(ReasonCode.GENERAL_ERROR, GeneralResources.EMInvalidAddress);
                }
            }

            var dac      = new CryptoAddressDAC();
            var entities = new CryptoAddress
            {
                AccountId   = merchantAccountId,
                AccountType = AccountType.Merchant,
                CryptoId    = cryptoId,
                Address     = address,
                Tag         = tag,
                Alias       = remark
            };

            dac.Insert(entities);
        }
 public CurrencyOfMarket(Currency currency, Market market, double txFee, bool isActive, CryptoAddress baseAddress) :
     this(currency, market, txFee, isActive, baseAddress, 0)
 {
 }
Exemplo n.º 13
0
 public Balance(CurrencyOfMarket currency, CryptoAddress address, double available, double reserved, double pending)
     : this(currency.Market, currency.Currency, address, available, reserved, pending)
 {
 }