From 566a28f23212c9c13783ca6453ea68f3707809c1 Mon Sep 17 00:00:00 2001 From: willclarktech Date: Thu, 5 Nov 2020 13:52:09 +0100 Subject: [PATCH] stargate: Add pagination key params to IBC queries --- packages/stargate/src/queries/ibc.ts | 40 +++++++++++++++++------- packages/stargate/types/queries/ibc.d.ts | 8 +++-- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/packages/stargate/src/queries/ibc.ts b/packages/stargate/src/queries/ibc.ts index a51bf6e8..6c5b099d 100644 --- a/packages/stargate/src/queries/ibc.ts +++ b/packages/stargate/src/queries/ibc.ts @@ -26,9 +26,10 @@ export interface IbcExtension { portId: string, channelId: string, ) => Promise; - readonly channels: () => Promise; + readonly channels: (paginationKey?: Uint8Array) => Promise; readonly connectionChannels: ( connection: string, + paginationKey?: Uint8Array, ) => Promise; readonly packetCommitment: ( portId: string, @@ -38,6 +39,7 @@ export interface IbcExtension { readonly packetCommitments: ( portId: string, channelId: string, + paginationKey?: Uint8Array, ) => Promise; readonly packetAcknowledgement: ( portId: string, @@ -62,7 +64,9 @@ export interface IbcExtension { // Queries for ibc.core.connection.v1 readonly connection: (connectionId: string) => Promise; - readonly connections: () => Promise; + readonly connections: ( + paginationKey?: Uint8Array, + ) => Promise; readonly clientConnections: ( clientId: string, ) => Promise; @@ -131,12 +135,19 @@ export function setupIbcExtension(base: QueryClient): IbcExtension { const response = await channelQueryService.channel({ portId: portId, channelId: channelId }); return toObject(response); }, - channels: async () => { - const response = await channelQueryService.channels({}); + channels: async (paginationKey?: Uint8Array) => { + const request = { + pagination: paginationKey ? { key: paginationKey } : undefined, + }; + const response = await channelQueryService.channels(request); return toObject(response); }, - connectionChannels: async (connection: string) => { - const response = await channelQueryService.connectionChannels({ connection: connection }); + connectionChannels: async (connection: string, paginationKey?: Uint8Array) => { + const request = { + connection: connection, + pagination: paginationKey ? { key: paginationKey } : undefined, + }; + const response = await channelQueryService.connectionChannels(request); return toObject(response); }, packetCommitment: async (portId: string, channelId: string, sequence: number) => { @@ -147,11 +158,13 @@ export function setupIbcExtension(base: QueryClient): IbcExtension { }); return toObject(response); }, - packetCommitments: async (portId: string, channelId: string) => { - const response = await channelQueryService.packetCommitments({ - portId: portId, + packetCommitments: async (portId: string, channelId: string, paginationKey?: Uint8Array) => { + const request = { channelId: channelId, - }); + portId: portId, + pagination: paginationKey ? { key: paginationKey } : undefined, + }; + const response = await channelQueryService.packetCommitments(request); return toObject(response); }, packetAcknowledgement: async (portId: string, channelId: string, sequence: number) => { @@ -196,8 +209,11 @@ export function setupIbcExtension(base: QueryClient): IbcExtension { const response = await connectionQueryService.connection({ connectionId: connectionId }); return toObject(response); }, - connections: async () => { - const response = await connectionQueryService.connections({}); + connections: async (paginationKey?: Uint8Array) => { + const request = { + pagination: paginationKey ? { key: paginationKey } : undefined, + }; + const response = await connectionQueryService.connections(request); return toObject(response); }, clientConnections: async (clientId: string) => { diff --git a/packages/stargate/types/queries/ibc.d.ts b/packages/stargate/types/queries/ibc.d.ts index 71033e4f..f30acd4e 100644 --- a/packages/stargate/types/queries/ibc.d.ts +++ b/packages/stargate/types/queries/ibc.d.ts @@ -15,9 +15,10 @@ export interface IbcExtension { portId: string, channelId: string, ) => Promise; - readonly channels: () => Promise; + readonly channels: (paginationKey?: Uint8Array) => Promise; readonly connectionChannels: ( connection: string, + paginationKey?: Uint8Array, ) => Promise; readonly packetCommitment: ( portId: string, @@ -27,6 +28,7 @@ export interface IbcExtension { readonly packetCommitments: ( portId: string, channelId: string, + paginationKey?: Uint8Array, ) => Promise; readonly packetAcknowledgement: ( portId: string, @@ -48,7 +50,9 @@ export interface IbcExtension { channelId: string, ) => Promise; readonly connection: (connectionId: string) => Promise; - readonly connections: () => Promise; + readonly connections: ( + paginationKey?: Uint8Array, + ) => Promise; readonly clientConnections: ( clientId: string, ) => Promise;