From 30dd9978108fb77a2310c94c85630f117aa04ba0 Mon Sep 17 00:00:00 2001 From: woodser Date: Thu, 23 Feb 2023 09:21:22 -0500 Subject: [PATCH] getMyOffers() does not require asset code --- src/HavenoClient.test.ts | 11 ++++++++++- src/HavenoClient.ts | 10 ++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/HavenoClient.test.ts b/src/HavenoClient.test.ts index 46561352..8e3304fd 100644 --- a/src/HavenoClient.test.ts +++ b/src/HavenoClient.test.ts @@ -967,9 +967,18 @@ test("Can get offers (CI)", async () => { }); test("Can get my offers (CI)", async () => { + + // get all offers + const offers: OfferInfo[] = await user1.getMyOffers(); + for (const offer of offers) testOffer(offer); + + // get offers by asset code for (const assetCode of TestConfig.assetCodes) { const offers: OfferInfo[] = await user1.getMyOffers(assetCode); - for (const offer of offers) testOffer(offer); + for (const offer of offers) { + testOffer(offer); + expect(assetCode).toEqual(isCrypto(assetCode) ? offer.getBaseCurrencyCode() : offer.getCounterCurrencyCode()); // crypto asset codes are base + } } }); diff --git a/src/HavenoClient.ts b/src/HavenoClient.ts index eafd698d..bcdf8d20 100644 --- a/src/HavenoClient.ts +++ b/src/HavenoClient.ts @@ -958,14 +958,16 @@ export default class HavenoClient { /** * Get the user's posted offers to buy or sell XMR. * - * @param {string} assetCode - traded asset code + * @param {string|undefined} assetCode - traded asset code * @param {string|undefined} direction - "buy" or "sell" XMR (default all) * @return {OfferInfo[]} the user's created offers */ - async getMyOffers(assetCode: string, direction?: string): Promise { + async getMyOffers(assetCode?: string, direction?: string): Promise { try { - if (!direction) return (await this.getMyOffers(assetCode, "buy")).concat(await this.getMyOffers(assetCode, "sell")); // TODO: implement in backend - return (await this._offersClient.getMyOffers(new GetOffersRequest().setDirection(direction).setCurrencyCode(assetCode), {password: this._password})).getOffersList(); + const req = new GetOffersRequest(); + if (assetCode) req.setCurrencyCode(assetCode); + if (direction) req.setDirection(direction); + return (await this._offersClient.getMyOffers(req, {password: this._password})).getOffersList(); } catch (e: any) { throw new HavenoError(e.message, e.code); }