Exemple #1
0
 /// <summary>	Executes the submit address action. </summary>
 ///
 /// <remarks>	Paul, 17/03/2015. </remarks>
 ///
 /// <param name="ctx">      The context. </param>
 /// <param name="dummy">	The dummy. </param>
 ///
 /// <returns>	A Task. </returns>
 Task OnGetAllMarkets(RequestContext ctx, IDummyDaemon dummy)
 {
     if (m_suspended)
     {
         throw new ApiExceptionNetworkAlert();
     }
     else
     {
         return(m_api.OnGetAllMarkets(ctx, dummy));
     }
 }
Exemple #2
0
        /// <summary>	Executes the submit address action. </summary>
        ///
        /// <remarks>	Paul, 05/02/2015. </remarks>
        ///
        /// <exception cref="ApiExceptionUnknownMarket">	Thrown when an API exception unknown market
        ///                                                 error condition occurs. </exception>
        ///
        /// <param name="ctx">      The context. </param>
        /// <param name="dummy">	The dummy. </param>
        ///
        /// <returns>	A Task. </returns>
        Task OnSubmitAddress(RequestContext ctx, IDummyDaemon dummy)
        {
            if (m_suspended)
            {
                throw new ApiExceptionNetworkAlert();
            }
            else
            {
                string        symbolPair       = RestHelpers.GetPostArg <string, ApiExceptionMissingParameter>(ctx, WebForms.kSymbolPair);
                string        receivingAddress = RestHelpers.GetPostArg <string, ApiExceptionMissingParameter>(ctx, WebForms.kReceivingAddress);
                MetaOrderType orderType        = RestHelpers.GetPostArg <MetaOrderType, ApiExceptionMissingParameter>(ctx, WebForms.kOrderType);
                uint          referralUser     = RestHelpers.GetPostArg <uint>(ctx, WebForms.kReferralId);

                if (!m_marketHandlers.ContainsKey(symbolPair))
                {
                    throw new ApiExceptionUnknownMarket(symbolPair);
                }

                // prevent our own deposit addresses from being used as receiving addresses
                if (m_dataAccess.GetSenderDepositFromDeposit(receivingAddress, symbolPair, referralUser) != null)
                {
                    throw new ApiExceptionInvalidAddress("<internal deposit address>");
                }
                else if (m_bitsharesAccount == receivingAddress)
                {
                    throw new ApiExceptionInvalidAccount(m_bitsharesAccount);
                }

                // get the handler for this market
                MarketBase market = m_marketHandlers[symbolPair];

                // get the response and send it
                SubmitAddressResponse response = market.OnSubmitAddress(receivingAddress, orderType, referralUser);

                //ctx.Respond<SubmitAddressResponse>(response);
                m_api.SendCorsResponse <SubmitAddressResponse>(ctx, response);
            }

            return(null);
        }