@waku/core 0.0.31-409642d.0 → 0.0.31-514ce36.0
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/bundle/{base_protocol-Dge5_tvU.js → base_protocol-C47QkJ2o.js} +1 -1
- package/bundle/{index-Gts2Ddu_.js → index-tdQNdKHx.js} +22 -2
- package/bundle/index.js +96 -49
- package/bundle/lib/base_protocol.js +2 -2
- package/bundle/lib/message/version_0.js +2 -2
- package/bundle/{version_0-CNRKFufI.js → version_0-BrbNEwD-.js} +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/lib/connection_manager.d.ts +7 -4
- package/dist/lib/connection_manager.js +49 -22
- package/dist/lib/connection_manager.js.map +1 -1
- package/dist/lib/filter/index.js +4 -4
- package/dist/lib/filter/index.js.map +1 -1
- package/dist/lib/light_push/index.js +13 -1
- package/dist/lib/light_push/index.js.map +1 -1
- package/dist/lib/light_push/utils.d.ts +3 -0
- package/dist/lib/light_push/utils.js +26 -0
- package/dist/lib/light_push/utils.js.map +1 -0
- package/package.json +1 -1
- package/src/lib/connection_manager.ts +71 -27
- package/src/lib/filter/index.ts +4 -4
- package/src/lib/light_push/index.ts +14 -1
- package/src/lib/light_push/utils.ts +31 -0
package/dist/lib/filter/index.js
CHANGED
@@ -68,7 +68,7 @@ export class FilterCore extends BaseProtocol {
|
|
68
68
|
return {
|
69
69
|
success: null,
|
70
70
|
failure: {
|
71
|
-
error: ProtocolError.
|
71
|
+
error: ProtocolError.NO_STREAM_AVAILABLE,
|
72
72
|
peerId: peer.id
|
73
73
|
}
|
74
74
|
};
|
@@ -99,7 +99,7 @@ export class FilterCore extends BaseProtocol {
|
|
99
99
|
if (!res || !res.length) {
|
100
100
|
return {
|
101
101
|
failure: {
|
102
|
-
error: ProtocolError.
|
102
|
+
error: ProtocolError.NO_RESPONSE,
|
103
103
|
peerId: peer.id
|
104
104
|
},
|
105
105
|
success: null
|
@@ -131,7 +131,7 @@ export class FilterCore extends BaseProtocol {
|
|
131
131
|
return {
|
132
132
|
success: null,
|
133
133
|
failure: {
|
134
|
-
error: ProtocolError.
|
134
|
+
error: ProtocolError.NO_STREAM_AVAILABLE,
|
135
135
|
peerId: peer.id
|
136
136
|
}
|
137
137
|
};
|
@@ -155,7 +155,7 @@ export class FilterCore extends BaseProtocol {
|
|
155
155
|
return {
|
156
156
|
success: null,
|
157
157
|
failure: {
|
158
|
-
error: ProtocolError.
|
158
|
+
error: ProtocolError.NO_RESPONSE,
|
159
159
|
peerId: peer.id
|
160
160
|
}
|
161
161
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"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"}
|
@@ -8,6 +8,7 @@ import { pipe } from "it-pipe";
|
|
8
8
|
import { Uint8ArrayList } from "uint8arraylist";
|
9
9
|
import { BaseProtocol } from "../base_protocol.js";
|
10
10
|
import { PushRpc } from "./push_rpc.js";
|
11
|
+
import { isRLNResponseError, matchRLNErrorMessage } from "./utils.js";
|
11
12
|
const log = new Logger("light-push");
|
12
13
|
export const LightPushCodec = "/vac/waku/lightpush/2.0.0-beta1";
|
13
14
|
export { PushResponse };
|
@@ -111,7 +112,18 @@ export class LightPushCore extends BaseProtocol {
|
|
111
112
|
return {
|
112
113
|
success: null,
|
113
114
|
failure: {
|
114
|
-
error: ProtocolError.
|
115
|
+
error: ProtocolError.NO_RESPONSE,
|
116
|
+
peerId: peer.id
|
117
|
+
}
|
118
|
+
};
|
119
|
+
}
|
120
|
+
if (isRLNResponseError(response.info)) {
|
121
|
+
const rlnErrorCase = matchRLNErrorMessage(response.info);
|
122
|
+
log.error("Remote peer rejected the message: ", rlnErrorCase);
|
123
|
+
return {
|
124
|
+
success: null,
|
125
|
+
failure: {
|
126
|
+
error: rlnErrorCase,
|
115
127
|
peerId: peer.id
|
116
128
|
}
|
117
129
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/light_push/index.ts"],"names":[],"mappings":"AACA,OAAO,EAML,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/light_push/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { ProtocolError } from "@waku/interfaces";
|
2
|
+
// should match nwaku
|
3
|
+
// https://github.com/waku-org/nwaku/blob/c3cb06ac6c03f0f382d3941ea53b330f6a8dd127/waku/waku_rln_relay/rln_relay.nim#L309
|
4
|
+
// https://github.com/waku-org/nwaku/blob/c3cb06ac6c03f0f382d3941ea53b330f6a8dd127/tests/waku_rln_relay/rln/waku_rln_relay_utils.nim#L20
|
5
|
+
const RLN_GENERATION_PREFIX_ERROR = "could not generate rln-v2 proof";
|
6
|
+
export const isRLNResponseError = (info) => {
|
7
|
+
if (!info) {
|
8
|
+
return false;
|
9
|
+
}
|
10
|
+
return info.includes(RLN_GENERATION_PREFIX_ERROR);
|
11
|
+
};
|
12
|
+
export const matchRLNErrorMessage = (info) => {
|
13
|
+
const rlnErrorMap = {
|
14
|
+
[ProtocolError.RLN_IDENTITY_MISSING]: ProtocolError.RLN_IDENTITY_MISSING,
|
15
|
+
[ProtocolError.RLN_MEMBERSHIP_INDEX]: ProtocolError.RLN_MEMBERSHIP_INDEX,
|
16
|
+
[ProtocolError.RLN_LIMIT_MISSING]: ProtocolError.RLN_LIMIT_MISSING
|
17
|
+
};
|
18
|
+
const infoLowerCase = info.toLowerCase();
|
19
|
+
for (const errorKey in rlnErrorMap) {
|
20
|
+
if (infoLowerCase.includes(errorKey.toLowerCase())) {
|
21
|
+
return rlnErrorMap[errorKey];
|
22
|
+
}
|
23
|
+
}
|
24
|
+
return ProtocolError.RLN_PROOF_GENERATION;
|
25
|
+
};
|
26
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/light_push/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBAAqB;AACrB,yHAAyH;AACzH,wIAAwI;AACxI,MAAM,2BAA2B,GAAG,iCAAiC,CAAC;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAa,EAAW,EAAE;IAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAiB,EAAE;IAClE,MAAM,WAAW,GAAqC;QACpD,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC,oBAAoB;QACxE,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC,oBAAoB;QACxE,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,aAAa,CAAC,iBAAiB;KACnE,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACzC,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;QACnC,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACnD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAC,oBAAoB,CAAC;AAC5C,CAAC,CAAC"}
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"@waku/core","version":"0.0.31-
|
1
|
+
{"name":"@waku/core","version":"0.0.31-514ce36.0","description":"TypeScript implementation of the Waku v2 protocol","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./lib/message/version_0":{"types":"./dist/lib/message/version_0.d.ts","import":"./dist/lib/message/version_0.js"},"./lib/base_protocol":{"types":"./dist/lib/base_protocol.d.ts","import":"./dist/lib/base_protocol.js"}},"typesVersions":{"*":{"lib/*":["dist/lib/*"],"constants/*":["dist/constants/*"]}},"type":"module","homepage":"https://github.com/waku-org/js-waku/tree/master/packages/core#readme","repository":{"type":"git","url":"https://github.com/waku-org/js-waku.git"},"bugs":{"url":"https://github.com/waku-org/js-waku/issues"},"license":"MIT OR Apache-2.0","keywords":["waku","decentralised","communication","web3","ethereum","dapps"],"scripts":{"build":"run-s build:**","build:esm":"tsc","build:bundle":"rollup --config rollup.config.js","fix":"run-s fix:*","fix:lint":"eslint src *.js --fix","check":"run-s check:*","check:tsc":"tsc -p tsconfig.dev.json","check:lint":"eslint src *.js","check:spelling":"cspell \"{README.md,src/**/*.ts}\"","test":"NODE_ENV=test run-s test:*","test:node":"NODE_ENV=test TS_NODE_PROJECT=./tsconfig.dev.json mocha","test:browser":"NODE_ENV=test karma start karma.conf.cjs","watch:build":"tsc -p tsconfig.json -w","watch:test":"mocha --watch","prepublish":"npm run build","reset-hard":"git clean -dfx -e .idea && git reset --hard && npm i && npm run build"},"engines":{"node":">=20"},"dependencies":{"@libp2p/ping":"^1.1.2","@waku/enr":"0.0.25-514ce36.0","@waku/interfaces":"0.0.26-514ce36.0","@waku/proto":"0.0.8-514ce36.0","@waku/utils":"0.0.19-514ce36.0","debug":"^4.3.4","it-all":"^3.0.4","it-length-prefixed":"^9.0.4","it-pipe":"^3.0.1","p-event":"^6.0.1","uint8arraylist":"^2.4.3","uuid":"^9.0.0"},"devDependencies":{"@multiformats/multiaddr":"^12.0.0","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-json":"^6.0.0","@rollup/plugin-node-resolve":"^15.2.3","@types/chai":"^4.3.11","@types/debug":"^4.1.12","@types/mocha":"^10.0.6","@types/uuid":"^9.0.8","@waku/build-utils":"*","chai":"^4.3.10","cspell":"^8.6.1","fast-check":"^3.19.0","ignore-loader":"^0.1.2","isomorphic-fetch":"^3.0.0","mocha":"^10.3.0","npm-run-all":"^4.1.5","process":"^0.11.10","rollup":"^4.12.0"},"peerDependencies":{"@multiformats/multiaddr":"^12.0.0","libp2p":"^1.8.1","@waku/enr":"0.0.25-514ce36.0","@waku/interfaces":"0.0.26-514ce36.0","@waku/proto":"0.0.8-514ce36.0","@waku/utils":"0.0.19-514ce36.0"},"peerDependenciesMeta":{"@multiformats/multiaddr":{"optional":true},"@waku/interfaces":{"optional":true}},"files":["dist","bundle","src/**/*.ts","!**/*.spec.*","!**/*.json","CHANGELOG.md","LICENSE","README.md"]}
|
@@ -38,32 +38,15 @@ export class ConnectionManager
|
|
38
38
|
|
39
39
|
private currentActiveParallelDialCount = 0;
|
40
40
|
private pendingPeerDialQueue: Array<PeerId> = [];
|
41
|
-
private online: boolean = false;
|
42
41
|
|
43
|
-
|
44
|
-
return this.online;
|
45
|
-
}
|
42
|
+
private isP2PNetworkConnected: boolean = false;
|
46
43
|
|
47
|
-
|
48
|
-
if (!
|
49
|
-
|
50
|
-
this.dispatchEvent(
|
51
|
-
new CustomEvent<boolean>(EConnectionStateEvents.CONNECTION_STATUS, {
|
52
|
-
detail: this.online
|
53
|
-
})
|
54
|
-
);
|
44
|
+
public isConnected(): boolean {
|
45
|
+
if (globalThis?.navigator && !globalThis?.navigator?.onLine) {
|
46
|
+
return false;
|
55
47
|
}
|
56
|
-
}
|
57
48
|
|
58
|
-
|
59
|
-
if (this.online && this.libp2p.getConnections().length == 0) {
|
60
|
-
this.online = false;
|
61
|
-
this.dispatchEvent(
|
62
|
-
new CustomEvent<boolean>(EConnectionStateEvents.CONNECTION_STATUS, {
|
63
|
-
detail: this.online
|
64
|
-
})
|
65
|
-
);
|
66
|
-
}
|
49
|
+
return this.isP2PNetworkConnected;
|
67
50
|
}
|
68
51
|
|
69
52
|
public static create(
|
@@ -103,6 +86,7 @@ export class ConnectionManager
|
|
103
86
|
"peer:discovery",
|
104
87
|
this.onEventHandlers["peer:discovery"]
|
105
88
|
);
|
89
|
+
this.stopNetworkStatusListener();
|
106
90
|
}
|
107
91
|
|
108
92
|
public async dropConnection(peerId: PeerId): Promise<void> {
|
@@ -193,7 +177,7 @@ export class ConnectionManager
|
|
193
177
|
options: keepAliveOptions
|
194
178
|
});
|
195
179
|
|
196
|
-
this.
|
180
|
+
this.startEventListeners()
|
197
181
|
.then(() => log.info(`Connection Manager is now running`))
|
198
182
|
.catch((error) =>
|
199
183
|
log.error(`Unexpected error while running service`, error)
|
@@ -225,11 +209,12 @@ export class ConnectionManager
|
|
225
209
|
}
|
226
210
|
}
|
227
211
|
|
228
|
-
private async
|
229
|
-
// start event listeners
|
212
|
+
private async startEventListeners(): Promise<void> {
|
230
213
|
this.startPeerDiscoveryListener();
|
231
214
|
this.startPeerConnectionListener();
|
232
215
|
this.startPeerDisconnectionListener();
|
216
|
+
|
217
|
+
this.startNetworkStatusListener();
|
233
218
|
}
|
234
219
|
|
235
220
|
private async dialPeer(peerId: PeerId): Promise<void> {
|
@@ -428,14 +413,18 @@ export class ConnectionManager
|
|
428
413
|
)
|
429
414
|
);
|
430
415
|
}
|
431
|
-
|
416
|
+
|
417
|
+
this.setP2PNetworkConnected();
|
432
418
|
})();
|
433
419
|
},
|
434
420
|
"peer:disconnect": (evt: CustomEvent<PeerId>): void => {
|
435
421
|
void (async () => {
|
436
422
|
this.keepAliveManager.stop(evt.detail);
|
437
|
-
this.
|
423
|
+
this.setP2PNetworkDisconnected();
|
438
424
|
})();
|
425
|
+
},
|
426
|
+
"browser:network": (): void => {
|
427
|
+
this.dispatchWakuConnectionEvent();
|
439
428
|
}
|
440
429
|
};
|
441
430
|
|
@@ -572,4 +561,59 @@ export class ConnectionManager
|
|
572
561
|
if (!shardInfoBytes) return undefined;
|
573
562
|
return decodeRelayShard(shardInfoBytes);
|
574
563
|
}
|
564
|
+
|
565
|
+
private startNetworkStatusListener(): void {
|
566
|
+
try {
|
567
|
+
globalThis.addEventListener(
|
568
|
+
"online",
|
569
|
+
this.onEventHandlers["browser:network"]
|
570
|
+
);
|
571
|
+
globalThis.addEventListener(
|
572
|
+
"offline",
|
573
|
+
this.onEventHandlers["browser:network"]
|
574
|
+
);
|
575
|
+
} catch (err) {
|
576
|
+
log.error(`Failed to start network listener: ${err}`);
|
577
|
+
}
|
578
|
+
}
|
579
|
+
|
580
|
+
private stopNetworkStatusListener(): void {
|
581
|
+
try {
|
582
|
+
globalThis.removeEventListener(
|
583
|
+
"online",
|
584
|
+
this.onEventHandlers["browser:network"]
|
585
|
+
);
|
586
|
+
globalThis.removeEventListener(
|
587
|
+
"offline",
|
588
|
+
this.onEventHandlers["browser:network"]
|
589
|
+
);
|
590
|
+
} catch (err) {
|
591
|
+
log.error(`Failed to stop network listener: ${err}`);
|
592
|
+
}
|
593
|
+
}
|
594
|
+
|
595
|
+
private setP2PNetworkConnected(): void {
|
596
|
+
if (!this.isP2PNetworkConnected) {
|
597
|
+
this.isP2PNetworkConnected = true;
|
598
|
+
this.dispatchWakuConnectionEvent();
|
599
|
+
}
|
600
|
+
}
|
601
|
+
|
602
|
+
private setP2PNetworkDisconnected(): void {
|
603
|
+
if (
|
604
|
+
this.isP2PNetworkConnected &&
|
605
|
+
this.libp2p.getConnections().length === 0
|
606
|
+
) {
|
607
|
+
this.isP2PNetworkConnected = false;
|
608
|
+
this.dispatchWakuConnectionEvent();
|
609
|
+
}
|
610
|
+
}
|
611
|
+
|
612
|
+
private dispatchWakuConnectionEvent(): void {
|
613
|
+
this.dispatchEvent(
|
614
|
+
new CustomEvent<boolean>(EConnectionStateEvents.CONNECTION_STATUS, {
|
615
|
+
detail: this.isConnected()
|
616
|
+
})
|
617
|
+
);
|
618
|
+
}
|
575
619
|
}
|
package/src/lib/filter/index.ts
CHANGED
@@ -121,7 +121,7 @@ export class FilterCore extends BaseProtocol implements IBaseProtocolCore {
|
|
121
121
|
return {
|
122
122
|
success: null,
|
123
123
|
failure: {
|
124
|
-
error: ProtocolError.
|
124
|
+
error: ProtocolError.NO_STREAM_AVAILABLE,
|
125
125
|
peerId: peer.id
|
126
126
|
}
|
127
127
|
};
|
@@ -170,7 +170,7 @@ export class FilterCore extends BaseProtocol implements IBaseProtocolCore {
|
|
170
170
|
if (!res || !res.length) {
|
171
171
|
return {
|
172
172
|
failure: {
|
173
|
-
error: ProtocolError.
|
173
|
+
error: ProtocolError.NO_RESPONSE,
|
174
174
|
peerId: peer.id
|
175
175
|
},
|
176
176
|
success: null
|
@@ -211,7 +211,7 @@ export class FilterCore extends BaseProtocol implements IBaseProtocolCore {
|
|
211
211
|
return {
|
212
212
|
success: null,
|
213
213
|
failure: {
|
214
|
-
error: ProtocolError.
|
214
|
+
error: ProtocolError.NO_STREAM_AVAILABLE,
|
215
215
|
peerId: peer.id
|
216
216
|
}
|
217
217
|
};
|
@@ -243,7 +243,7 @@ export class FilterCore extends BaseProtocol implements IBaseProtocolCore {
|
|
243
243
|
return {
|
244
244
|
success: null,
|
245
245
|
failure: {
|
246
|
-
error: ProtocolError.
|
246
|
+
error: ProtocolError.NO_RESPONSE,
|
247
247
|
peerId: peer.id
|
248
248
|
}
|
249
249
|
};
|
@@ -20,6 +20,7 @@ import { Uint8ArrayList } from "uint8arraylist";
|
|
20
20
|
import { BaseProtocol } from "../base_protocol.js";
|
21
21
|
|
22
22
|
import { PushRpc } from "./push_rpc.js";
|
23
|
+
import { isRLNResponseError, matchRLNErrorMessage } from "./utils.js";
|
23
24
|
|
24
25
|
const log = new Logger("light-push");
|
25
26
|
|
@@ -153,7 +154,19 @@ export class LightPushCore extends BaseProtocol implements IBaseProtocolCore {
|
|
153
154
|
return {
|
154
155
|
success: null,
|
155
156
|
failure: {
|
156
|
-
error: ProtocolError.
|
157
|
+
error: ProtocolError.NO_RESPONSE,
|
158
|
+
peerId: peer.id
|
159
|
+
}
|
160
|
+
};
|
161
|
+
}
|
162
|
+
|
163
|
+
if (isRLNResponseError(response.info)) {
|
164
|
+
const rlnErrorCase = matchRLNErrorMessage(response.info!);
|
165
|
+
log.error("Remote peer rejected the message: ", rlnErrorCase);
|
166
|
+
return {
|
167
|
+
success: null,
|
168
|
+
failure: {
|
169
|
+
error: rlnErrorCase,
|
157
170
|
peerId: peer.id
|
158
171
|
}
|
159
172
|
};
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { ProtocolError } from "@waku/interfaces";
|
2
|
+
|
3
|
+
// should match nwaku
|
4
|
+
// https://github.com/waku-org/nwaku/blob/c3cb06ac6c03f0f382d3941ea53b330f6a8dd127/waku/waku_rln_relay/rln_relay.nim#L309
|
5
|
+
// https://github.com/waku-org/nwaku/blob/c3cb06ac6c03f0f382d3941ea53b330f6a8dd127/tests/waku_rln_relay/rln/waku_rln_relay_utils.nim#L20
|
6
|
+
const RLN_GENERATION_PREFIX_ERROR = "could not generate rln-v2 proof";
|
7
|
+
|
8
|
+
export const isRLNResponseError = (info?: string): boolean => {
|
9
|
+
if (!info) {
|
10
|
+
return false;
|
11
|
+
}
|
12
|
+
|
13
|
+
return info.includes(RLN_GENERATION_PREFIX_ERROR);
|
14
|
+
};
|
15
|
+
|
16
|
+
export const matchRLNErrorMessage = (info: string): ProtocolError => {
|
17
|
+
const rlnErrorMap: { [key: string]: ProtocolError } = {
|
18
|
+
[ProtocolError.RLN_IDENTITY_MISSING]: ProtocolError.RLN_IDENTITY_MISSING,
|
19
|
+
[ProtocolError.RLN_MEMBERSHIP_INDEX]: ProtocolError.RLN_MEMBERSHIP_INDEX,
|
20
|
+
[ProtocolError.RLN_LIMIT_MISSING]: ProtocolError.RLN_LIMIT_MISSING
|
21
|
+
};
|
22
|
+
|
23
|
+
const infoLowerCase = info.toLowerCase();
|
24
|
+
for (const errorKey in rlnErrorMap) {
|
25
|
+
if (infoLowerCase.includes(errorKey.toLowerCase())) {
|
26
|
+
return rlnErrorMap[errorKey];
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
return ProtocolError.RLN_PROOF_GENERATION;
|
31
|
+
};
|