@paraswap/dex-lib 4.0.6-rfq-pub-sub.5 → 4.0.6-rfq-pub-sub.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dex-helper/icache.d.ts +2 -2
- package/build/lib/pub-sub.js +17 -7
- package/build/lib/pub-sub.js.map +1 -1
- package/package.json +1 -1
- package/src/dex-helper/icache.ts +1 -2
- package/src/lib/pub-sub.ts +21 -21
|
@@ -21,7 +21,7 @@ export interface ICache {
|
|
|
21
21
|
hmget(mapKey: string, keys: string[]): Promise<(string | null)[]>;
|
|
22
22
|
hmset(mapKey: string, mappings: Record<string, string>): Promise<void>;
|
|
23
23
|
hgetAll(mapKey: string): Promise<Record<string, string>>;
|
|
24
|
-
publish(channel: string, msg: string
|
|
25
|
-
subscribe(channel: string, cb: (channel: string, msg: string) => void
|
|
24
|
+
publish(channel: string, msg: string): Promise<void>;
|
|
25
|
+
subscribe(channel: string, cb: (channel: string, msg: string) => void): () => void;
|
|
26
26
|
addBatchHGet(mapKey: string, key: string, cb: (result: string | null) => boolean): void;
|
|
27
27
|
}
|
package/build/lib/pub-sub.js
CHANGED
|
@@ -29,12 +29,12 @@ class JsonPubSub {
|
|
|
29
29
|
this.dexHelper.cache.subscribe(this.channel, (_, msg) => {
|
|
30
30
|
const decodedMsg = JSON.parse(msg);
|
|
31
31
|
this.handleSubscription(decodedMsg);
|
|
32
|
-
}
|
|
32
|
+
});
|
|
33
33
|
}
|
|
34
34
|
publish(data, ttl) {
|
|
35
35
|
this.logger.info(`Publishing to ${this.channel}`);
|
|
36
36
|
const expiresAt = Math.round(Date.now() / 1000) + ttl;
|
|
37
|
-
this.dexHelper.cache.publish(this.channel, JSON.stringify({ expiresAt, data })
|
|
37
|
+
this.dexHelper.cache.publish(this.channel, JSON.stringify({ expiresAt, data }));
|
|
38
38
|
}
|
|
39
39
|
handleSubscription(json) {
|
|
40
40
|
this.logger.info(`Received message from ${this.channel}`);
|
|
@@ -42,9 +42,19 @@ class JsonPubSub {
|
|
|
42
42
|
const now = Math.round(Date.now() / 1000);
|
|
43
43
|
// calculating ttl as message might come with the delay
|
|
44
44
|
const ttl = expiresAt - now;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
if (ttl > 0) {
|
|
46
|
+
const keys = Object.keys(data);
|
|
47
|
+
for (const key of keys) {
|
|
48
|
+
this.localCache.set(key, data[key], ttl);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.logger.error('Message has expired', {
|
|
53
|
+
now,
|
|
54
|
+
expiresAt,
|
|
55
|
+
diffInSeconds: now - expiresAt,
|
|
56
|
+
keys: Object.keys(data),
|
|
57
|
+
});
|
|
48
58
|
}
|
|
49
59
|
}
|
|
50
60
|
async getAndCache(key) {
|
|
@@ -102,7 +112,7 @@ class SetPubSub {
|
|
|
102
112
|
this.dexHelper.cache.subscribe(this.channel, (_, msg) => {
|
|
103
113
|
const decodedMsg = JSON.parse(msg);
|
|
104
114
|
this.handleSubscription(decodedMsg);
|
|
105
|
-
}
|
|
115
|
+
});
|
|
106
116
|
}
|
|
107
117
|
publish(set) {
|
|
108
118
|
this.logger.info(`Publishing to ${this.channel}`);
|
|
@@ -110,7 +120,7 @@ class SetPubSub {
|
|
|
110
120
|
for (const key of set) {
|
|
111
121
|
this.set.add(key);
|
|
112
122
|
}
|
|
113
|
-
this.dexHelper.cache.publish(this.channel, JSON.stringify(set)
|
|
123
|
+
this.dexHelper.cache.publish(this.channel, JSON.stringify(set));
|
|
114
124
|
}
|
|
115
125
|
handleSubscription(set) {
|
|
116
126
|
this.logger.info(`Received message from ${this.channel}`);
|
package/build/lib/pub-sub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pub-sub.js","sourceRoot":"","sources":["../../src/lib/pub-sub.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAmC;AAInC,oDAAuB;AASvB,MAAa,UAAU;IASX;IACA;IATV,OAAO,CAAS;IAChB,OAAO,CAAU;IACjB,UAAU,GAAc,IAAI,oBAAS,EAAE,CAAC;IAExC,gCAAgC;IAChC,MAAM,CAAS;IAEf,YACU,SAAqB,EACrB,MAAc,EACtB,OAAe;QAFP,cAAS,GAAT,SAAS,CAAY;QACrB,WAAM,GAAN,MAAM,CAAQ;QAGtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;QAE3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"pub-sub.js","sourceRoot":"","sources":["../../src/lib/pub-sub.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/dex-helper/icache.ts
CHANGED
|
@@ -68,12 +68,11 @@ export interface ICache {
|
|
|
68
68
|
|
|
69
69
|
hgetAll(mapKey: string): Promise<Record<string, string>>;
|
|
70
70
|
|
|
71
|
-
publish(channel: string, msg: string
|
|
71
|
+
publish(channel: string, msg: string): Promise<void>;
|
|
72
72
|
|
|
73
73
|
subscribe(
|
|
74
74
|
channel: string,
|
|
75
75
|
cb: (channel: string, msg: string) => void,
|
|
76
|
-
global?: boolean,
|
|
77
76
|
): () => void;
|
|
78
77
|
|
|
79
78
|
addBatchHGet(
|
package/src/lib/pub-sub.ts
CHANGED
|
@@ -37,14 +37,10 @@ export class JsonPubSub {
|
|
|
37
37
|
subscribe() {
|
|
38
38
|
this.logger.info(`Subscribing to ${this.channel}`);
|
|
39
39
|
|
|
40
|
-
this.dexHelper.cache.subscribe(
|
|
41
|
-
|
|
42
|
-
(
|
|
43
|
-
|
|
44
|
-
this.handleSubscription(decodedMsg);
|
|
45
|
-
},
|
|
46
|
-
false,
|
|
47
|
-
);
|
|
40
|
+
this.dexHelper.cache.subscribe(this.channel, (_, msg) => {
|
|
41
|
+
const decodedMsg = JSON.parse(msg) as JsonPubSubMsg;
|
|
42
|
+
this.handleSubscription(decodedMsg);
|
|
43
|
+
});
|
|
48
44
|
}
|
|
49
45
|
|
|
50
46
|
publish(data: Record<string, unknown>, ttl: number) {
|
|
@@ -54,7 +50,6 @@ export class JsonPubSub {
|
|
|
54
50
|
this.dexHelper.cache.publish(
|
|
55
51
|
this.channel,
|
|
56
52
|
JSON.stringify({ expiresAt, data }),
|
|
57
|
-
false,
|
|
58
53
|
);
|
|
59
54
|
}
|
|
60
55
|
|
|
@@ -67,9 +62,18 @@ export class JsonPubSub {
|
|
|
67
62
|
// calculating ttl as message might come with the delay
|
|
68
63
|
const ttl = expiresAt - now;
|
|
69
64
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
if (ttl > 0) {
|
|
66
|
+
const keys = Object.keys(data);
|
|
67
|
+
for (const key of keys) {
|
|
68
|
+
this.localCache.set(key, data[key], ttl);
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
this.logger.error('Message has expired', {
|
|
72
|
+
now,
|
|
73
|
+
expiresAt,
|
|
74
|
+
diffInSeconds: now - expiresAt,
|
|
75
|
+
keys: Object.keys(data),
|
|
76
|
+
});
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
|
|
@@ -136,14 +140,10 @@ export class SetPubSub {
|
|
|
136
140
|
subscribe() {
|
|
137
141
|
this.logger.info(`Subscribing to ${this.channel}`);
|
|
138
142
|
|
|
139
|
-
this.dexHelper.cache.subscribe(
|
|
140
|
-
|
|
141
|
-
(
|
|
142
|
-
|
|
143
|
-
this.handleSubscription(decodedMsg);
|
|
144
|
-
},
|
|
145
|
-
false,
|
|
146
|
-
);
|
|
143
|
+
this.dexHelper.cache.subscribe(this.channel, (_, msg) => {
|
|
144
|
+
const decodedMsg = JSON.parse(msg) as SetPubSubMsg;
|
|
145
|
+
this.handleSubscription(decodedMsg);
|
|
146
|
+
});
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
publish(set: SetPubSubMsg) {
|
|
@@ -153,7 +153,7 @@ export class SetPubSub {
|
|
|
153
153
|
for (const key of set) {
|
|
154
154
|
this.set.add(key);
|
|
155
155
|
}
|
|
156
|
-
this.dexHelper.cache.publish(this.channel, JSON.stringify(set)
|
|
156
|
+
this.dexHelper.cache.publish(this.channel, JSON.stringify(set));
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
handleSubscription(set: SetPubSubMsg) {
|