Beispiel #1
0
        public MarketBase(MetaDaemonApi daemon, MarketRow market, BitsharesWallet bitshares, BitcoinWallet bitcoin, string bitsharesAccount)
        {
            m_daemon = daemon;
            m_market = market;

            m_bitshares        = bitshares;
            m_bitcoin          = bitcoin;
            m_bitsharesAccount = bitsharesAccount;
        }
Beispiel #2
0
        public MarketBase(MetaDaemonApi daemon, MarketRow market, BitsharesWallet bitshares, BitcoinWallet bitcoin, string bitsharesAccount)
        {
            m_daemon = daemon;
            m_market = market;

            m_bitshares = bitshares;
            m_bitcoin = bitcoin;
            m_bitsharesAccount = bitsharesAccount;
        }
Beispiel #3
0
        public TestBase()
        {
            m_database = new Database(kDatabaseName, kDatabaseUser, kDatabasePassword, Thread.CurrentThread.ManagedThreadId);

            RedisWrapper.Initialise("test");

            m_data       = new MySqlData(kDatabaseName, kDatabaseUser, kDatabasePassword);
            m_currencies = m_data.GetAllCurrencies();

            m_defaultSymbolPair = CurrencyHelpers.GetMarketSymbolPair(m_currencies["bitBTC"], m_currencies[kBtc]);
            m_alternateMarket   = CurrencyHelpers.GetMarketSymbolPair(m_currencies["bitGOLD"], m_currencies[kBtc]);

            Thread thread = new Thread(() =>
            {
                string bitsharesUrl      = "http://localhost:65066/rpc";
                string bitsharesUser     = "******";
                string bitsharesPassword = "******";
                string bitsharesAccount  = "gatewaytest";

                string bitcoinUrl      = "http://localhost:18332";
                string bitcoinUser     = "******";
                string bitcoinPassword = "******";
                bool bitcoinUseTestNet = true;

                string database         = kDatabaseName;
                string databaseUser     = kDatabaseUser;
                string databasePassword = kDatabasePassword;

                string apiListen = kApiRoot;

                // create a scheduler so we can be sure of thread affinity
                AsyncPump scheduler = new AsyncPump(Thread.CurrentThread, OnException);

                m_api = new MetaDaemonApi(new RpcConfig {
                    m_url = bitsharesUrl, m_rpcUser = bitsharesUser, m_rpcPassword = bitsharesPassword
                },
                                          new RpcConfig {
                    m_url = bitcoinUrl, m_rpcUser = bitcoinUser, m_rpcPassword = bitcoinPassword, m_useTestnet = bitcoinUseTestNet
                },
                                          bitsharesAccount,
                                          database, databaseUser, databasePassword,
                                          apiListen, null, null, "gatewayclient", "http://192.168.0.2:1235/", "192.168.0.2", scheduler);

                m_api.m_ApiServer.m_HttpServer.m_DdosProtector.m_Enabled = false;

                scheduler.RunWithUpdate(m_api.Start, m_api.Update, 1);

                Console.WriteLine("meta thread exiting...");
            });

            thread.Start();
        }
        /// <summary>	Constructor. </summary>
        ///
        /// <remarks>	Paul, 05/02/2015. </remarks>
        ///
        /// <param name="uid">			    The UID. </param>
        /// <param name="base">			    The base. </param>
        /// <param name="quote">		    The quote. </param>
        /// <param name="bitshares">	    The bitshares. </param>
        /// <param name="bitcoin">		    The bitcoin. </param>
        /// <param name="bitsharesAccount">	The bitshares account. </param>
        public InternalMarket(MetaDaemonApi daemon, MarketRow market, BitsharesWallet bitshares, BitcoinWallet bitcoin,
                              string bitsharesAccount, CurrenciesRow bitsharesAsset) :
            base(daemon, market, bitshares, bitcoin, bitsharesAccount)
        {
            m_currency = bitsharesAsset;
            m_flipped  = m_market.GetBase(daemon.m_AllCurrencies) != bitsharesAsset;
            m_asset    = m_bitshares.BlockchainGetAsset(CurrencyHelpers.ToBitsharesSymbol(bitsharesAsset));

            Dictionary <int, ulong> allBitsharesBalances = m_bitshares.WalletAccountBalance(bitsharesAccount)[bitsharesAccount];
            decimal bitcoinBalance = bitcoin.GetBalance();

            ComputeMarketPricesAndLimits(ref m_market, allBitsharesBalances, bitcoinBalance);
        }