From 4a16d957fe398891d174c91277de1edca71754db Mon Sep 17 00:00:00 2001 From: smslc Date: Tue, 14 Jul 2026 00:59:02 +0200 Subject: [PATCH] fix: add closeListenKey endpoint and method --- .../services/listen-key.service.ts | 20 +++++++++++ .../bingx-close-listen-key-endpoint.ts | 35 +++++++++++++++++++ src/bingx/endpoints/index.ts | 1 + 3 files changed, 56 insertions(+) create mode 100644 src/bingx/endpoints/bingx-close-listen-key-endpoint.ts diff --git a/src/bingx-client/services/listen-key.service.ts b/src/bingx-client/services/listen-key.service.ts index 6535d93..382b146 100644 --- a/src/bingx-client/services/listen-key.service.ts +++ b/src/bingx-client/services/listen-key.service.ts @@ -1,6 +1,8 @@ import { AccountInterface } from 'bingx-api/bingx/account/account.interface'; import { BingxGenerateListenKeyEndpoint } from 'bingx-api/bingx/endpoints/bingx-generate-listen-key-endpoint'; import { BingxGenerateListenKeyResponse } from 'bingx-api/bingx/endpoints/bingx-generate-listen-key-response'; +import { BingxExtendListenKeyEndpoint } from 'bingx-api/bingx/endpoints/bingx-extend-listen-key-endpoint'; +import { BingxCloseListenKeyEndpoint } from 'bingx-api/bingx/endpoints/bingx-close-listen-key-endpoint'; import { RequestExecutorInterface } from 'bingx-api/bingx/request-executor/request-executor.interface'; export class ListenKeyService { @@ -13,4 +15,22 @@ export class ListenKeyService { new BingxGenerateListenKeyEndpoint(account), ); } + + async extendListenKey( + listenKey: string, + account: AccountInterface, + ): Promise { + return this.requestExecutor.execute( + new BingxExtendListenKeyEndpoint(listenKey, account), + ); + } + + async closeListenKey( + listenKey: string, + account: AccountInterface, + ): Promise { + return this.requestExecutor.execute( + new BingxCloseListenKeyEndpoint(listenKey, account), + ); + } } diff --git a/src/bingx/endpoints/bingx-close-listen-key-endpoint.ts b/src/bingx/endpoints/bingx-close-listen-key-endpoint.ts new file mode 100644 index 0000000..285cc2a --- /dev/null +++ b/src/bingx/endpoints/bingx-close-listen-key-endpoint.ts @@ -0,0 +1,35 @@ +import { + AccountInterface, + DefaultSignatureParameters, + Endpoint, + EndpointInterface, + SignatureParametersInterface, +} from 'bingx-api/bingx'; + +export class BingxCloseListenKeyEndpoint + extends Endpoint + implements EndpointInterface +{ + constructor( + private readonly listenKey: string, + account: AccountInterface, + ) { + super(account); + } + + method(): 'get' | 'post' | 'put' | 'patch' | 'delete' { + return 'delete'; + } + + parameters(): SignatureParametersInterface { + return new DefaultSignatureParameters({ + listenKey: this.listenKey, + }); + } + + path(): string { + return '/openApi/user/auth/userDataStream'; + } + + readonly t!: R; +} diff --git a/src/bingx/endpoints/index.ts b/src/bingx/endpoints/index.ts index 6866f8b..bfec32a 100644 --- a/src/bingx/endpoints/index.ts +++ b/src/bingx/endpoints/index.ts @@ -13,3 +13,4 @@ export * from './endpoint'; export * from './bingx-user-history-orders-endpoint'; export * from './bingx-user-history-orders-response'; export * from './bingx-cancel-order-endpoint'; +export * from './bingx-close-listen-key-endpoint';