From 4f2ba1b59c093f80fe7ea7567ffbd0265a022713 Mon Sep 17 00:00:00 2001 From: FedericoAmura Date: Wed, 9 Oct 2024 17:12:24 +0200 Subject: [PATCH 1/2] feat: only wait for threshold nodes when signing session keys which uses BLS --- .../lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index e654174890..e02ea74062 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1869,7 +1869,7 @@ export class LitNodeClientNodeJs res = await this.handleNodePromises( nodePromises, requestId, - this.connectedNodes.size + this.config.minNodeCount ); log('signSessionKey node promises:', res); } catch (e) { From 76d813ea7b572c83a6ab9783d8d1c9eea3ae49f4 Mon Sep 17 00:00:00 2001 From: FedericoAmura Date: Wed, 9 Oct 2024 17:36:34 +0200 Subject: [PATCH 2/2] fix: don't discard node response with index 0 due to being a falsy value in JS --- .../src/lib/lit-node-client-nodejs.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts index e02ea74062..db31ff00f7 100644 --- a/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts +++ b/packages/lit-node-client-nodejs/src/lib/lit-node-client-nodejs.ts @@ -1934,7 +1934,11 @@ export class LitNodeClientNodeJs for (const field of requiredFields) { const key: keyof BlsResponseData = field as keyof BlsResponseData; - if (!data[key] || data[key] === '') { + if ( + data[key] === undefined || + data[key] === null || + data[key] === '' + ) { log( `[signSessionKey] Invalid signed data. "${field}" is missing. Not a problem, we only need ${this.config.minNodeCount} nodes to sign the session key.` );