/// <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)); }
/// <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;