From 5b30175cbbf70810d4f6a1e2eec7cfb1d54b24eb Mon Sep 17 00:00:00 2001 From: Geoff Lee Date: Thu, 11 Nov 2021 11:29:43 +0900 Subject: [PATCH] fix query return format of denomTrace[s] --- src/client/lcd/api/IbcTransferAPI.spec.ts | 20 ++++++++++++++++---- src/client/lcd/api/IbcTransferAPI.ts | 7 ++++--- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/client/lcd/api/IbcTransferAPI.spec.ts b/src/client/lcd/api/IbcTransferAPI.spec.ts index 9e4fa16fb..9ded66a2e 100644 --- a/src/client/lcd/api/IbcTransferAPI.spec.ts +++ b/src/client/lcd/api/IbcTransferAPI.spec.ts @@ -1,18 +1,30 @@ -import { APIRequester } from '../APIRequester'; +import { APIRequester, Pagination } from '../APIRequester'; import { IbcTransferAPI } from './IbcTransferAPI'; +import { DenomTrace } from '../../../core/ibc-transfer/DenomTrace'; const c = new APIRequester('https://bombay-lcd.terra.dev/'); const ibctx = new IbcTransferAPI(c); describe('IbcTransferAPI', () => { - /* - describe('denomTrace', () => { + + it('denomTraces', async () => { + const denomTraces = await ibctx.denomTraces().then(v => v[0]) + denomTraces.forEach(function (denomTrace: DenomTrace.Data) { + expect(denomTrace.path).toMatch("transfer/channel-"); + expect(denomTrace.base_denom).not.toBeUndefined(); }); - */ + }); + + it('denomTrace', async () => { + const denomTrace = await ibctx.denomTrace('B8AF5D92165F35AB31F3FC7C7B444B9D240760FA5D406C49D24862BD0284E395') + expect(denomTrace.path).toEqual("transfer/channel-4"); + expect(denomTrace.base_denom).toEqual("uluna"); + }); it('params', async () => { const param = await ibctx.parameters(); expect(param.send_enabled).toEqual(expect.any(Boolean)); expect(param.receive_enabled).toEqual(expect.any(Boolean)); }); + }); diff --git a/src/client/lcd/api/IbcTransferAPI.ts b/src/client/lcd/api/IbcTransferAPI.ts index 515896479..364339de9 100644 --- a/src/client/lcd/api/IbcTransferAPI.ts +++ b/src/client/lcd/api/IbcTransferAPI.ts @@ -18,9 +18,10 @@ export namespace IbcTransferParams { export class IbcTransferAPI extends BaseAPI { /** Gets a denomTrace for the hash */ public async denomTrace(hash: string): Promise { - return await this.c.get( + + return this.c.get<{ denom_trace: DenomTrace.Data }>( `/ibc/apps/transfer/v1/denom_traces/${hash}` - ); + ).then(d => DenomTrace.fromData(d.denom_trace)); } /** Gets a list of denomTraces */ @@ -32,7 +33,7 @@ export class IbcTransferAPI extends BaseAPI { `/ibc/apps/transfer/v1/denom_traces`, params ) - .then(d => [d.denom_traces, d.pagination]); + .then(d => [d.denom_traces.map(DenomTrace.fromData), d.pagination]); } /* not supoorted