예제 #1
0
        /// <summary>
        /// PiggyBank Purchase/Redemption
        /// </summary>
        /// <param name="currency">Currency</param>
        /// <param name="amount">Amount</param>
        /// <param name="side">Side</param>
        /// <param name="ct">Cancellation Token</param>
        /// <returns></returns>
        public virtual async Task <WebCallResult <OkexPiggyBankActionResponse> > PiggyBankAction_Async(
            string currency,
            decimal amount,
            OkexPiggyBankActionSide side,
            CancellationToken ct = default)
        {
            var parameters = new Dictionary <string, object> {
                { "ccy", currency },
                { "amt", amount.ToString(OkexGlobals.OkexCultureInfo) },
                { "side", JsonConvert.SerializeObject(side, new PiggyBankActionSideConverter(false)) },
            };

            var result = await SendRequestAsync <OkexRestApiResponse <IEnumerable <OkexPiggyBankActionResponse> > >(GetUrl(Endpoints_V5_Asset_PurchaseRedempt), HttpMethod.Post, ct, parameters, true).ConfigureAwait(false);

            if (!result.Success)
            {
                return(WebCallResult <OkexPiggyBankActionResponse> .CreateErrorResult(result.ResponseStatusCode, result.ResponseHeaders, result.Error));
            }
            if (result.Data.ErrorCode > 0)
            {
                return(WebCallResult <OkexPiggyBankActionResponse> .CreateErrorResult(result.ResponseStatusCode, result.ResponseHeaders, new ServerError(result.Data.ErrorCode, result.Data.ErrorMessage, result.Data.Data)));
            }

            return(new WebCallResult <OkexPiggyBankActionResponse>(result.ResponseStatusCode, result.ResponseHeaders, result.Data.Data.FirstOrDefault(), null));
        }
예제 #2
0
 /// <summary>
 /// PiggyBank Purchase/Redemption
 /// </summary>
 /// <param name="currency">Currency</param>
 /// <param name="amount">Amount</param>
 /// <param name="side">Side</param>
 /// <param name="ct">Cancellation Token</param>
 /// <returns></returns>
 public virtual WebCallResult <OkexPiggyBankActionResponse> PiggyBankAction(
     string currency,
     decimal amount,
     OkexPiggyBankActionSide side,
     CancellationToken ct = default) => PiggyBankAction_Async(
     currency,
     amount,
     side,
     ct).Result;