From dbec14a78f57a98a4d5e7b54e416704784e26d3a Mon Sep 17 00:00:00 2001 From: Mikhail Gladchenko Date: Mon, 19 Feb 2024 14:30:35 +0000 Subject: [PATCH] feat: expand aus subscription --- package.json | 2 +- src/services/Aggregator/ws/index.ts | 21 +++++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 78c11af..afc36e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.20.60", + "version": "0.20.61-rc0", "description": "Orion Protocol SDK", "main": "./lib/index.cjs", "module": "./lib/index.js", diff --git a/src/services/Aggregator/ws/index.ts b/src/services/Aggregator/ws/index.ts index 69d214c..a7e77e6 100644 --- a/src/services/Aggregator/ws/index.ts +++ b/src/services/Aggregator/ws/index.ts @@ -102,7 +102,11 @@ type AddressUpdateInitial = { } type AddressUpdateSubscription = { - payload: string + payload: { + S: string + pa?: string[] + } + // payload: string callback: (data: AddressUpdateUpdate | AddressUpdateInitial) => void errorCb?: (message: string) => void } @@ -265,7 +269,20 @@ class AggregatorWS { if ('payload' in subscription) { if (typeof subscription.payload === 'string') { subRequest['S'] = subscription.payload; - } else { // SwapInfoSubscriptionPayload + } else { + for (const [key, value] of Object.entries(subscription.payload)) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + subRequest[key] = value; + } + } + + // Crutch for SwapInfoSubscriptionPayload + if ( + typeof subscription.payload !== 'string' && + 'i' in subscription.payload && + 'o' in subscription.payload && + 'a' in subscription.payload + ) { subRequest['S'] = { d: id, ...subscription.payload,