@neykoor/libsignal-node 1.0.8 → 1.0.9

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/README.md CHANGED
@@ -35,6 +35,10 @@ Mismo API, misma criptografía, cero `@ts-ignore`, tipado de punta a punta — y
35
35
  - 🧾 **Sistema de logging inyectable** (`setLogger` / `getLogger`) — permite conectar tu logger (pino, winston, consola) o silenciar todo. La original usa `console.error` fijo, sin forma de desactivarlo.
36
36
  - 🏷️ **Tipado estricto de punta a punta** — `strict: true`, `noUncheckedIndexedAccess`, interfaces para `SignalStorage`, `DeviceKeyBundle`, `EncryptedMessage`, etc. La original es JS puro sin ningún `.d.ts` propio para su lógica principal.
37
37
  - 🟦 **100% TypeScript en `src/`**, incluidos los mensajes protobuf de Signal (`whisper-text-protocol.ts`) — sin un solo `.js` generado a mano.
38
+ - 📄 **`WhisperTextProtocol.proto` como fuente de verdad** (`protos/`), igual que la original, más dos scripts que la original no tiene:
39
+ - `npm run generate:proto` — equivalente a `generate-proto.sh` (usa `pbjs`/`pbts`), pero escribe a `generated/` en vez de `src/`, para no romper el port a mano.
40
+ - `npm run verify:proto` — carga el `.proto` en runtime con `protobufjs` y hace un round-trip encode/decode contra las clases de `whisper-text-protocol.ts`, comparando bytes. Es la forma real de detectar si el port a mano se desincroniza del `.proto` (requiere `npm run build` antes).
41
+ - 🧹 **Config de ESLint propia** (`.eslintrc.json`) — cubre `src/**/*.ts` (con `@typescript-eslint/recommended`) y `scripts/**/*.mjs`, para forzar el mismo estilo en todo el repo. `no-non-null-assertion` está apagado a propósito: con `noUncheckedIndexedAccess` en `tsconfig.json`, el `!` tras accesos indexados es intencional, no un descuido.
38
42
 
39
43
  ### Lo que tienen en común
40
44
 
@@ -45,9 +49,7 @@ Mismo API, misma criptografía, cero `@ts-ignore`, tipado de punta a punta — y
45
49
 
46
50
  ### Pendiente por traer desde `libsignal-node` (roadmap)
47
51
 
48
- - 📄 **`WhisperTextProtocol.proto` + script de generación** — la original mantiene el `.proto` fuente y un `generate-proto.sh` que regenera el código con `pbjs`. En `libsignal-node-ts` el protobuf está portado a mano en TypeScript; falta el `.proto` como fuente de verdad y un script equivalente para regenerarlo automáticamente.
49
52
  - 🔁 **Workflows de CI/CD** (`.github/workflows`) — build, lint y publish automático a npm, como los que trae la original.
50
- - 🧹 **Config de ESLint propia** (`.eslintrc.json`) para forzar el mismo estilo en todo el repo.
51
53
  - 📜 **`SECURITY.md` y `CODE_OF_CONDUCT.md`** — políticas de reporte de vulnerabilidades y de comunidad que la original sí documenta.
52
54
 
53
55
  ## 📦 Instalación
package/lib/curve.d.ts CHANGED
@@ -4,6 +4,7 @@ export interface KeyPair {
4
4
  }
5
5
  export declare function getPublicFromPrivateKey(privKey: Uint8Array): Buffer;
6
6
  export declare function generateKeyPair(): KeyPair;
7
+ export declare function generateKeyPairAsync(): Promise<KeyPair>;
7
8
  export declare function calculateAgreement(pubKeyInput: Uint8Array, privKey: Uint8Array): Buffer;
8
9
  export declare function calculateSignature(privKey: Uint8Array, message: Uint8Array): Buffer;
9
10
  export declare function verifySignature(pubKeyInput: Uint8Array, msg: Uint8Array, sig: Uint8Array, isInit?: boolean): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"curve.d.ts","sourceRoot":"","sources":["../src/curve.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AA+CD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAInE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAsBzC;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CA4BvF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAQnF;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAgBpH"}
1
+ {"version":3,"file":"curve.d.ts","sourceRoot":"","sources":["../src/curve.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AA+CD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAInE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAsBzC;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAsC7D;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CA4BvF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAQnF;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAgBpH"}
package/lib/curve.js CHANGED
@@ -65,6 +65,38 @@ export function generateKeyPair() {
65
65
  };
66
66
  }
67
67
  }
68
+ export async function generateKeyPairAsync() {
69
+ try {
70
+ const { publicKey: publicDerBytes, privateKey: privateDerBytes } = await new Promise((resolve, reject) => {
71
+ nodeCrypto.generateKeyPair("x25519", {
72
+ publicKeyEncoding: { format: "der", type: "spki" },
73
+ privateKeyEncoding: { format: "der", type: "pkcs8" }
74
+ }, (err, publicKey, privateKey) => {
75
+ if (err) {
76
+ reject(err);
77
+ }
78
+ else {
79
+ resolve({ publicKey: publicKey, privateKey: privateKey });
80
+ }
81
+ });
82
+ });
83
+ const pubKey = publicDerBytes.slice(PUBLIC_KEY_DER_PREFIX.length, PUBLIC_KEY_DER_PREFIX.length + 32);
84
+ const privKey = privateDerBytes.slice(PRIVATE_KEY_DER_PREFIX.length, PRIVATE_KEY_DER_PREFIX.length + 32);
85
+ return {
86
+ pubKey: prefixKeyInPublicKey(pubKey),
87
+ privKey
88
+ };
89
+ }
90
+ catch (e) {
91
+ getLogger().debug(`x25519 native async keygen failed, falling back to curve25519-js: ${e?.message}`);
92
+ await new Promise((resolve) => setImmediate(resolve));
93
+ const keyPair = curveJs.generateKeyPair(nodeCrypto.randomBytes(32));
94
+ return {
95
+ privKey: Buffer.from(keyPair.private),
96
+ pubKey: prefixKeyInPublicKey(Buffer.from(keyPair.public))
97
+ };
98
+ }
99
+ }
68
100
  export function calculateAgreement(pubKeyInput, privKey) {
69
101
  const pubKey = scrubPubKeyFormat(pubKeyInput);
70
102
  validatePrivKey(privKey);
package/lib/curve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"curve.js","sourceRoot":"","sources":["../src/curve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve.js","sourceRoot":"","sources":["../src/curve.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -11,6 +11,8 @@ export { BaseKeyType } from "./base-key-type.js";
11
11
  export { ChainType } from "./chain-type.js";
12
12
  export { Direction } from "./direction.js";
13
13
  export { MemorySignalStorage } from "./memory-storage.js";
14
+ export { PreKeyPoolManager } from "./prekey-pool.js";
15
+ export type { PreKeyPoolStorage, PreKeyPoolOptions, PreKeyPoolStatus } from "./prekey-pool.js";
14
16
  export { setLogger, getLogger } from "./logger.js";
15
17
  export type { SignalLogger } from "./logger.js";
16
18
  export { wipeBuffer, wipeBuffers } from "./util.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,cAAc,UAAU,CAAA;AACxB,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACtH,YAAY,EACV,KAAK,EACL,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,sBAAsB,EACvB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,YAAY,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACpE,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,cAAc,UAAU,CAAA;AACxB,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACtH,YAAY,EACV,KAAK,EACL,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,sBAAsB,EACvB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,YAAY,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACpE,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA"}
package/lib/index.js CHANGED
@@ -11,6 +11,7 @@ export { BaseKeyType } from "./base-key-type.js";
11
11
  export { ChainType } from "./chain-type.js";
12
12
  export { Direction } from "./direction.js";
13
13
  export { MemorySignalStorage } from "./memory-storage.js";
14
+ export { PreKeyPoolManager } from "./prekey-pool.js";
14
15
  export { setLogger, getLogger } from "./logger.js";
15
16
  export { wipeBuffer, wipeBuffers } from "./util.js";
16
17
  export * from "./errors.js";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,cAAc,UAAU,CAAA;AAaxB,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,cAAc,UAAU,CAAA;AAaxB,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -16,4 +16,10 @@ export declare const generateIdentityKeyPair: typeof curve.generateKeyPair;
16
16
  export declare function generateRegistrationId(): number;
17
17
  export declare function generateSignedPreKey(identityKeyPair: KeyPair, signedKeyId: number): SignedPreKey;
18
18
  export declare function generatePreKey(keyId: number): PreKey;
19
+ export declare function generateSignedPreKeyAsync(identityKeyPair: KeyPair, signedKeyId: number): Promise<SignedPreKey>;
20
+ export declare function generatePreKeyAsync(keyId: number): Promise<PreKey>;
21
+ export interface PreKeyBatchOptions {
22
+ concurrency?: number;
23
+ }
24
+ export declare function generatePreKeysBatch(startId: number, count: number, options?: PreKeyBatchOptions): Promise<PreKey[]>;
19
25
  //# sourceMappingURL=keyhelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyhelper.d.ts","sourceRoot":"","sources":["../src/keyhelper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAMtC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,eAAO,MAAM,iCAAiC,QAA0B,CAAA;AAExE,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAA0C,GACnD,OAAO,CAUT;AAED,eAAO,MAAM,uBAAuB,8BAAwB,CAAA;AAE5D,wBAAgB,sBAAsB,IAAI,MAAM,CAO/C;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAuBhG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpD"}
1
+ {"version":3,"file":"keyhelper.d.ts","sourceRoot":"","sources":["../src/keyhelper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAMtC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,eAAO,MAAM,iCAAiC,QAA0B,CAAA;AAExE,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAA0C,GACnD,OAAO,CAUT;AAED,eAAO,MAAM,uBAAuB,8BAAwB,CAAA;AAE5D,wBAAgB,sBAAsB,IAAI,MAAM,CAO/C;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAuBhG;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,wBAAsB,yBAAyB,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAuBpH;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWxE;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB"}
package/lib/keyhelper.js CHANGED
@@ -50,4 +50,55 @@ export function generatePreKey(keyId) {
50
50
  keyPair
51
51
  };
52
52
  }
53
+ export async function generateSignedPreKeyAsync(identityKeyPair, signedKeyId) {
54
+ if (!(identityKeyPair.privKey instanceof Buffer) ||
55
+ identityKeyPair.privKey.byteLength !== 32 ||
56
+ !(identityKeyPair.pubKey instanceof Buffer) ||
57
+ identityKeyPair.pubKey.byteLength !== 33) {
58
+ throw new TypeError("Invalid argument for identityKeyPair");
59
+ }
60
+ if (!isNonNegativeInteger(signedKeyId)) {
61
+ throw new TypeError("Invalid argument for signedKeyId: " + signedKeyId);
62
+ }
63
+ const keyPair = await curve.generateKeyPairAsync();
64
+ const sig = curve.calculateSignature(identityKeyPair.privKey, keyPair.pubKey);
65
+ return {
66
+ keyId: signedKeyId,
67
+ keyPair,
68
+ signature: sig,
69
+ createdAt: Date.now()
70
+ };
71
+ }
72
+ export async function generatePreKeyAsync(keyId) {
73
+ if (!isNonNegativeInteger(keyId)) {
74
+ throw new TypeError("Invalid argument for keyId: " + keyId);
75
+ }
76
+ const keyPair = await curve.generateKeyPairAsync();
77
+ return {
78
+ keyId,
79
+ keyPair
80
+ };
81
+ }
82
+ export async function generatePreKeysBatch(startId, count, options = {}) {
83
+ if (!isNonNegativeInteger(startId)) {
84
+ throw new TypeError("Invalid argument for startId: " + startId);
85
+ }
86
+ if (!isNonNegativeInteger(count) || count === 0) {
87
+ throw new TypeError("Invalid argument for count: " + count);
88
+ }
89
+ const concurrency = Math.max(1, Math.min(options.concurrency ?? 8, count));
90
+ const results = new Array(count);
91
+ let next = 0;
92
+ async function worker() {
93
+ for (;;) {
94
+ const i = next++;
95
+ if (i >= count) {
96
+ return;
97
+ }
98
+ results[i] = await generatePreKeyAsync(startId + i);
99
+ }
100
+ }
101
+ await Promise.all(Array.from({ length: concurrency }, worker));
102
+ return results;
103
+ }
53
104
  //# sourceMappingURL=keyhelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyhelper.js","sourceRoot":"","sources":["../src/keyhelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAGhC,SAAS,oBAAoB,CAAC,CAAS;IACrC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC;AAcD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAExE,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,WAAmB,iCAAiC;IAEpD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,kCAAkC,GAAG,SAAS,CAAC,CAAA;IACrE,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,iCAAiC,GAAG,QAAQ,CAAC,CAAA;IACnE,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,QAAQ,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,eAAe,CAAA;AAE5D,MAAM,UAAU,sBAAsB;IACpC,IAAI,cAAsB,CAAA;IAC1B,GAAG,CAAC;QACF,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;IACrE,CAAC,QAAQ,cAAc,KAAK,CAAC,EAAC;IAE9B,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,eAAwB,EAAE,WAAmB;IAChF,IACE,CAAC,CAAC,eAAe,CAAC,OAAO,YAAY,MAAM,CAAC;QAC5C,eAAe,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;QACzC,CAAC,CAAC,eAAe,CAAC,MAAM,YAAY,MAAM,CAAC;QAC3C,eAAe,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EACxC,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAAC,oCAAoC,GAAG,WAAW,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAE7E,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,OAAO;QACP,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvC,OAAO;QACL,KAAK;QACL,OAAO;KACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"keyhelper.js","sourceRoot":"","sources":["../src/keyhelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAGhC,SAAS,oBAAoB,CAAC,CAAS;IACrC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC;AAcD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAExE,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,WAAmB,iCAAiC;IAEpD,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,kCAAkC,GAAG,SAAS,CAAC,CAAA;IACrE,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,iCAAiC,GAAG,QAAQ,CAAC,CAAA;IACnE,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,QAAQ,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,eAAe,CAAA;AAE5D,MAAM,UAAU,sBAAsB;IACpC,IAAI,cAAsB,CAAA;IAC1B,GAAG,CAAC;QACF,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;IACrE,CAAC,QAAQ,cAAc,KAAK,CAAC,EAAC;IAE9B,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,eAAwB,EAAE,WAAmB;IAChF,IACE,CAAC,CAAC,eAAe,CAAC,OAAO,YAAY,MAAM,CAAC;QAC5C,eAAe,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;QACzC,CAAC,CAAC,eAAe,CAAC,MAAM,YAAY,MAAM,CAAC;QAC3C,eAAe,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EACxC,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAAC,oCAAoC,GAAG,WAAW,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAE7E,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,OAAO;QACP,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvC,OAAO;QACL,KAAK;QACL,OAAO;KACR,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,eAAwB,EAAE,WAAmB;IAC3F,IACE,CAAC,CAAC,eAAe,CAAC,OAAO,YAAY,MAAM,CAAC;QAC5C,eAAe,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;QACzC,CAAC,CAAC,eAAe,CAAC,MAAM,YAAY,MAAM,CAAC;QAC3C,eAAe,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,EACxC,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAAC,oCAAoC,GAAG,WAAW,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,oBAAoB,EAAE,CAAA;IAClD,MAAM,GAAG,GAAG,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAE7E,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,OAAO;QACP,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAa;IACrD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,oBAAoB,EAAE,CAAA;IAElD,OAAO;QACL,KAAK;QACL,OAAO;KACR,CAAA;AACH,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,KAAa,EACb,UAA8B,EAAE;IAEhC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,gCAAgC,GAAG,OAAO,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAC1E,MAAM,OAAO,GAAa,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,KAAK,UAAU,MAAM;QACnB,SAAS,CAAC;YACR,MAAM,CAAC,GAAG,IAAI,EAAE,CAAA;YAChB,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;gBACf,OAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,mBAAmB,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9D,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,14 +1,18 @@
1
1
  import type { KeyPair } from "./curve.js";
2
2
  import type { Direction } from "./direction.js";
3
+ import type { SignedPreKey } from "./keyhelper.js";
4
+ import type { PreKeyPoolStorage } from "./prekey-pool.js";
3
5
  import { SessionRecord } from "./session-record.js";
4
6
  import type { SignalStorage } from "./types.js";
5
- export declare class MemorySignalStorage implements SignalStorage {
7
+ export declare class MemorySignalStorage implements SignalStorage, PreKeyPoolStorage {
6
8
  private identityKeyPair;
7
9
  private registrationId;
8
10
  private sessions;
9
11
  private preKeys;
10
12
  private signedPreKeys;
11
13
  private trustedIdentities;
14
+ private nextPreKeyId;
15
+ private latestSignedPreKey;
12
16
  constructor(identityKeyPair: KeyPair, registrationId: number);
13
17
  loadSession(id: string): Promise<SessionRecord | undefined>;
14
18
  storeSession(id: string, session: SessionRecord): Promise<void>;
@@ -21,6 +25,10 @@ export declare class MemorySignalStorage implements SignalStorage {
21
25
  getOurRegistrationId(): Promise<number>;
22
26
  getOurIdentity(): Promise<KeyPair>;
23
27
  storePreKey(id: number, keyPair: KeyPair): void;
24
- storeSignedPreKey(id: number, keyPair: KeyPair): void;
28
+ storeSignedPreKey(idOrRecord: number | SignedPreKey, keyPair?: KeyPair): void;
29
+ getPreKeyCount(): Promise<number>;
30
+ getNextPreKeyId(): Promise<number>;
31
+ setNextPreKeyId(id: number): Promise<void>;
32
+ loadLatestSignedPreKey(): Promise<SignedPreKey | undefined>;
25
33
  }
26
34
  //# sourceMappingURL=memory-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAU5C,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,iBAAiB,CAA4B;gBAEzC,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM;IAKtD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAI3D,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAQ9D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,gBAAgB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAQpE,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAI/C,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAGtD"}
1
+ {"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAU5C,qBAAa,mBAAoB,YAAW,aAAa,EAAE,iBAAiB;IAC1E,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,kBAAkB,CAA0B;gBAExC,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM;IAKtD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAI3D,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvE,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAQ9D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,gBAAgB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAQpE,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAI/C,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAUvE,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,sBAAsB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;CAGlE"}
@@ -12,6 +12,7 @@ export class MemorySignalStorage {
12
12
  this.preKeys = new Map();
13
13
  this.signedPreKeys = new Map();
14
14
  this.trustedIdentities = new Map();
15
+ this.nextPreKeyId = 1;
15
16
  this.identityKeyPair = identityKeyPair;
16
17
  this.registrationId = registrationId;
17
18
  }
@@ -62,8 +63,25 @@ export class MemorySignalStorage {
62
63
  storePreKey(id, keyPair) {
63
64
  this.preKeys.set(id, keyPair);
64
65
  }
65
- storeSignedPreKey(id, keyPair) {
66
- this.signedPreKeys.set(id, keyPair);
66
+ storeSignedPreKey(idOrRecord, keyPair) {
67
+ if (typeof idOrRecord === "number") {
68
+ this.signedPreKeys.set(idOrRecord, keyPair);
69
+ return;
70
+ }
71
+ this.signedPreKeys.set(idOrRecord.keyId, idOrRecord.keyPair);
72
+ this.latestSignedPreKey = idOrRecord;
73
+ }
74
+ async getPreKeyCount() {
75
+ return this.preKeys.size;
76
+ }
77
+ async getNextPreKeyId() {
78
+ return this.nextPreKeyId;
79
+ }
80
+ async setNextPreKeyId(id) {
81
+ this.nextPreKeyId = id;
82
+ }
83
+ async loadLatestSignedPreKey() {
84
+ return this.latestSignedPreKey;
67
85
  }
68
86
  }
69
87
  //# sourceMappingURL=memory-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-storage.js","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-storage.js","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { KeyPair } from "./curve.js";
2
+ import type { PreKey, SignedPreKey } from "./keyhelper.js";
3
+ export interface PreKeyPoolStorage {
4
+ storePreKey(id: number, keyPair: KeyPair): Promise<void> | void;
5
+ getPreKeyCount(): Promise<number> | number;
6
+ getNextPreKeyId(): Promise<number> | number;
7
+ setNextPreKeyId(id: number): Promise<void> | void;
8
+ storeSignedPreKey(record: SignedPreKey): Promise<void> | void;
9
+ loadLatestSignedPreKey(): Promise<SignedPreKey | undefined> | SignedPreKey | undefined;
10
+ }
11
+ export interface PreKeyPoolOptions {
12
+ minCount?: number;
13
+ replenishCount?: number;
14
+ concurrency?: number;
15
+ signedPreKeyMaxAgeMs?: number;
16
+ }
17
+ export interface PreKeyPoolStatus {
18
+ preKeyCount: number;
19
+ nextPreKeyId: number;
20
+ signedPreKeyId?: number;
21
+ signedPreKeyAgeMs?: number;
22
+ }
23
+ export declare class PreKeyPoolManager {
24
+ private storage;
25
+ private identityKeyPair;
26
+ private minCount;
27
+ private replenishCount;
28
+ private concurrency;
29
+ private signedPreKeyMaxAgeMs;
30
+ private replenishing;
31
+ private rotatingSignedPreKey;
32
+ constructor(storage: PreKeyPoolStorage, identityKeyPair: KeyPair, options?: PreKeyPoolOptions);
33
+ ensurePreKeys(): Promise<void>;
34
+ replenishPreKeys(count?: number): Promise<PreKey[]>;
35
+ private _replenishPreKeys;
36
+ ensureSignedPreKey(): Promise<SignedPreKey>;
37
+ rotateSignedPreKey(keyId: number): Promise<SignedPreKey>;
38
+ private _rotateSignedPreKey;
39
+ getStatus(): Promise<PreKeyPoolStatus>;
40
+ }
41
+ //# sourceMappingURL=prekey-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prekey-pool.d.ts","sourceRoot":"","sources":["../src/prekey-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC/D,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC1C,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC3C,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjD,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,sBAAsB,IAAI,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,YAAY,GAAG,SAAS,CAAA;CACvF;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAKD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,oBAAoB,CAAQ;IACpC,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,oBAAoB,CAAmC;gBAEnD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB;IAS3F,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,gBAAgB,CAAC,KAAK,GAAE,MAA4B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAahE,iBAAiB;IAazB,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC;IAS3C,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YAahD,mBAAmB;IAO3B,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAc7C"}
@@ -0,0 +1,82 @@
1
+ import * as keyhelper from "./keyhelper.js";
2
+ import { getLogger } from "./logger.js";
3
+ const DEFAULT_MIN_COUNT = 20;
4
+ const DEFAULT_REPLENISH_COUNT = 100;
5
+ export class PreKeyPoolManager {
6
+ constructor(storage, identityKeyPair, options = {}) {
7
+ this.storage = storage;
8
+ this.identityKeyPair = identityKeyPair;
9
+ this.minCount = options.minCount ?? DEFAULT_MIN_COUNT;
10
+ this.replenishCount = options.replenishCount ?? DEFAULT_REPLENISH_COUNT;
11
+ this.concurrency = options.concurrency;
12
+ this.signedPreKeyMaxAgeMs = options.signedPreKeyMaxAgeMs ?? keyhelper.DEFAULT_SIGNED_PRE_KEY_MAX_AGE_MS;
13
+ }
14
+ async ensurePreKeys() {
15
+ const count = await this.storage.getPreKeyCount();
16
+ if (count >= this.minCount) {
17
+ return;
18
+ }
19
+ await this.replenishPreKeys();
20
+ }
21
+ async replenishPreKeys(count = this.replenishCount) {
22
+ if (this.replenishing) {
23
+ return this.replenishing;
24
+ }
25
+ this.replenishing = this._replenishPreKeys(count);
26
+ try {
27
+ return await this.replenishing;
28
+ }
29
+ finally {
30
+ this.replenishing = undefined;
31
+ }
32
+ }
33
+ async _replenishPreKeys(count) {
34
+ const startId = await this.storage.getNextPreKeyId();
35
+ const generated = await keyhelper.generatePreKeysBatch(startId, count, { concurrency: this.concurrency });
36
+ for (const preKey of generated) {
37
+ await this.storage.storePreKey(preKey.keyId, preKey.keyPair);
38
+ }
39
+ await this.storage.setNextPreKeyId(startId + count);
40
+ getLogger().debug(`Replenished ${count} prekeys starting at id ${startId}`);
41
+ return generated;
42
+ }
43
+ async ensureSignedPreKey() {
44
+ const latest = await this.storage.loadLatestSignedPreKey();
45
+ if (latest && !keyhelper.shouldRotateSignedPreKey(latest.createdAt, this.signedPreKeyMaxAgeMs)) {
46
+ return latest;
47
+ }
48
+ return this.rotateSignedPreKey(latest ? latest.keyId + 1 : 1);
49
+ }
50
+ async rotateSignedPreKey(keyId) {
51
+ if (this.rotatingSignedPreKey) {
52
+ return this.rotatingSignedPreKey;
53
+ }
54
+ this.rotatingSignedPreKey = this._rotateSignedPreKey(keyId);
55
+ try {
56
+ return await this.rotatingSignedPreKey;
57
+ }
58
+ finally {
59
+ this.rotatingSignedPreKey = undefined;
60
+ }
61
+ }
62
+ async _rotateSignedPreKey(keyId) {
63
+ const signedPreKey = await keyhelper.generateSignedPreKeyAsync(this.identityKeyPair, keyId);
64
+ await this.storage.storeSignedPreKey(signedPreKey);
65
+ getLogger().debug(`Rotated signed prekey to id ${keyId}`);
66
+ return signedPreKey;
67
+ }
68
+ async getStatus() {
69
+ const [preKeyCount, nextPreKeyId, latestSignedPreKey] = await Promise.all([
70
+ this.storage.getPreKeyCount(),
71
+ this.storage.getNextPreKeyId(),
72
+ this.storage.loadLatestSignedPreKey()
73
+ ]);
74
+ return {
75
+ preKeyCount,
76
+ nextPreKeyId,
77
+ signedPreKeyId: latestSignedPreKey?.keyId,
78
+ signedPreKeyAgeMs: latestSignedPreKey ? Date.now() - latestSignedPreKey.createdAt : undefined
79
+ };
80
+ }
81
+ }
82
+ //# sourceMappingURL=prekey-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prekey-pool.js","sourceRoot":"","sources":["../src/prekey-pool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-cipher.d.ts","sourceRoot":"","sources":["../src/session-cipher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKpD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAc9D,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAQ;gBAGnC,OAAO,EAAE,aAAa,EACtB,eAAe,EAAE,eAAe,EAChC,oBAAoB,GAAE,MAAM,GAAG,SAA4C;IAW7E,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAIxB,QAAQ,IAAI,MAAM;IAIZ,SAAS,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAS/C,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IASjD,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpD,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8FpD,mBAAmB,CACvB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,YAAY,EAAE,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAuBlD,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBxD,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAiD9D,uBAAuB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAyDhG,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAiBpD,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IA0BzF,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAkB5E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAWlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC"}
1
+ {"version":3,"file":"session-cipher.d.ts","sourceRoot":"","sources":["../src/session-cipher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKpD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAc9D,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAQ;gBAGnC,OAAO,EAAE,aAAa,EACtB,eAAe,EAAE,eAAe,EAChC,oBAAoB,GAAE,MAAM,GAAG,SAA4C;IAW7E,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAIxB,QAAQ,IAAI,MAAM;IAIZ,SAAS,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAS/C,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IASjD,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpD,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8FpD,mBAAmB,CACvB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,YAAY,EAAE,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAuBlD,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBxD,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAiD9D,uBAAuB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAyDhG,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAkBpD,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IA6BzF,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAsB5E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAWlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC"}
@@ -263,6 +263,7 @@ export class SessionCipher {
263
263
  const key = chain.chainKey.key;
264
264
  chain.messageKeys[chain.chainKey.counter + 1] = crypto.calculateMAC(key, Buffer.from([1]));
265
265
  chain.chainKey.key = crypto.calculateMAC(key, Buffer.from([2]));
266
+ wipeBuffer(key);
266
267
  chain.chainKey.counter += 1;
267
268
  }
268
269
  }
@@ -283,7 +284,9 @@ export class SessionCipher {
283
284
  ratchet.previousCounter = prevCounter.chainKey.counter;
284
285
  session.deleteChain(ratchet.ephemeralKeyPair.pubKey);
285
286
  }
287
+ const previousEphemeralPrivKey = ratchet.ephemeralKeyPair.privKey;
286
288
  ratchet.ephemeralKeyPair = curve.generateKeyPair();
289
+ wipeBuffer(previousEphemeralPrivKey);
287
290
  this.calculateRatchet(session, remoteKey, true);
288
291
  ratchet.lastRemoteEphemeralKey = remoteKey;
289
292
  }
@@ -291,6 +294,7 @@ export class SessionCipher {
291
294
  const ratchet = session.currentRatchet;
292
295
  const sharedSecret = curve.calculateAgreement(remoteKey, ratchet.ephemeralKeyPair.privKey);
293
296
  const masterKey = crypto.deriveSecrets(sharedSecret, ratchet.rootKey, Buffer.from("WhisperRatchet"), 2);
297
+ wipeBuffer(sharedSecret);
294
298
  const chainKey = sending ? ratchet.ephemeralKeyPair.pubKey : remoteKey;
295
299
  session.addChain(chainKey, {
296
300
  messageKeys: {},
@@ -300,7 +304,9 @@ export class SessionCipher {
300
304
  },
301
305
  chainType: sending ? ChainType.SENDING : ChainType.RECEIVING
302
306
  });
307
+ const previousRootKey = ratchet.rootKey;
303
308
  ratchet.rootKey = masterKey[0];
309
+ wipeBuffer(previousRootKey);
304
310
  }
305
311
  async hasOpenSession() {
306
312
  return await this.queueJob(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"session-cipher.js","sourceRoot":"","sources":["../src/session-cipher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,MAAM,OAAO,GAAG,CAAC,CAAA;AACjB,MAAM,gCAAgC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AACjE,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEpC,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,SAAS,CAAC,mCAAoC,KAA2B,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IACvG,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,OAAO,aAAa;IAKxB,YACE,OAAsB,EACtB,eAAgC,EAChC,uBAA2C,gCAAgC;QAE3E,IAAI,CAAC,CAAC,eAAe,YAAY,eAAe,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;IAClD,CAAC;IAEO,gBAAgB,CAAC,OAAe,EAAE,OAAe;QACvD,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QAED,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,OAAO,CAAA;IACjC,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAA;IAChC,CAAC;IAED,QAAQ;QACN,OAAO,kBAAkB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACnE,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,aAAa,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAA;QACrE,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAqB;QACrC,MAAM,CAAC,iBAAiB,EAAE,CAAA;QAC1B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAA;IAC/D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAI,SAA2B;QAC3C,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAgB;QAC5B,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;QAE1D,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;YAC9C,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,CAAA;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;YAClD,CAAC;YAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAA;YAC7D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAChG,MAAM,IAAI,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAA;YAC7E,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;YAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,oCAAoC,CAAC,CAAA;YACrE,CAAC;YAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;gBAC5C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAA;YACxE,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAC/B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAE,EAC1C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAChB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAClC,CAAA;YACD,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;YACrD,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEhD,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,CAAA;YAC7C,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAA;YACjE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAA;YACpC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,eAAe,CAAA;YAC5D,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YAEtE,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;YAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAC7D,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;YACnC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;YACrD,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC1D,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAEhC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAA;YACnD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;YAClD,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACnD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACrB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;YAElD,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAE9B,IAAI,IAAY,CAAA;YAChB,IAAI,IAAY,CAAA;YAEhB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B,IAAI,GAAG,CAAC,CAAA;gBACR,MAAM,SAAS,GAAG,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBACtD,WAAW,EAAE,cAAc,CAAC,MAAM;oBAClC,cAAc,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;oBACzD,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO;oBACtC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC,WAAW;oBACjD,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAA;gBAEF,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBACnC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAA;gBACrD,CAAC;gBAED,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;iBACvE,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,CAAC,CAAA;gBACR,IAAI,GAAG,MAAM,CAAA;YACf,CAAC;YAED,OAAO;gBACL,IAAI;gBACJ,IAAI;gBACJ,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,IAAgB,EAChB,QAAwB;QAExB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,IAAI,GAAc,EAAE,CAAA;QAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,SAAiB,CAAA;YACrB,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAC7D,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACnC,OAAO;oBACL,OAAO;oBACP,SAAS;iBACV,CAAA;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACd,CAAC;QACH,CAAC;QAED,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,wCAAwC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1G,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAgB;QAC1C,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;YACpD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;YACzE,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAA;YACpE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAClG,MAAM,IAAI,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAA;YAC7E,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5C,CAAC;YAED,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC9B,OAAO,MAAM,CAAC,SAAS,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,IAAgB;QAChD,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,IAAI,CAAC,UAAU,GAAG,kBAAkB,EAAE,CAAC;YACzC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAA;QAChD,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QACxE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YACnC,MAAM,WAAW,GAAG,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAExE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,WAAW,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;oBACvC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;gBACnD,CAAC;gBAED,MAAM,GAAG,IAAI,aAAa,EAAE,CAAA;YAC9B,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE;gBAClD,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;gBACjD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBACzC,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,cAAc,EAAE,WAAW,CAAC,cAAc;gBAC1C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;aAC1C,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;YACnE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,0DAA0D,CAAC,CAAA;YAC3F,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;YAC/F,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAE9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YAC3C,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,aAAyB,EAAE,OAAqB;QAC5E,YAAY,CAAC,aAAa,CAAC,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,aAAa,CAAC,UAAU,GAAG,kBAAkB,EAAE,CAAC;YAClD,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC,CAAA;QACzD,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAE7D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QAE1F,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;QACjE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,0CAA0C,CAAC,CAAA;QAC3E,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAE5C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,kCAAkC,CAAC,CAAA;QAC1E,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAE,CAAA;QACtD,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEzC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAClG,UAAU,CAAC,UAAU,CAAC,CAAA;QACtB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;QAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACnE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;QACjD,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACvC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC1D,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAEtC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAEhE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAClG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,OAAO,OAAO,CAAC,aAAa,CAAA;QAE5B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,eAAe,CAAC,KAAY,EAAE,OAAe;QAC3C,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC;YACxC,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;gBAC5C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAA;YACtE,CAAC;YAED,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;YAC/C,CAAC;YAED,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;YAC9B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1F,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/D,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,OAAqB,EAAE,SAAiB,EAAE,eAAuB;QAChF,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAA;QACtC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QACxE,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;YACtD,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YACxC,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAA;QACrC,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QAEhD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACrE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAA;YACtD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACtD,CAAC;QAED,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;QAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QAC/C,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAA;IAC5C,CAAC;IAED,gBAAgB,CAAC,OAAqB,EAAE,SAAiB,EAAE,OAAgB;QACzE,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAA;QACtC,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAC1F,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAA;QACvG,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;QAEtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACzB,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE;gBACR,OAAO,EAAE,CAAC,CAAC;gBACX,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;aAClB;YACD,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS;SAC7D,CAAC,CAAA;QAEF,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAE,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,MAAM,CAAC,eAAe,EAAE,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YACrC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAA;gBAC3C,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;oBAChC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"session-cipher.js","sourceRoot":"","sources":["../src/session-cipher.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,7 @@ export declare class SessionEntry {
79
79
  getChain(key: Buffer): Chain | undefined;
80
80
  deleteChain(key: Buffer): void;
81
81
  chains(): IterableIterator<[Buffer, Chain]>;
82
+ wipeKeyMaterial(): void;
82
83
  serialize(): SerializedSessionEntry;
83
84
  static migrateEntry(data: SerializedSessionEntry): void;
84
85
  static deserialize(data: SerializedSessionEntry): SessionEntry;
@@ -1 +1 @@
1
- {"version":3,"file":"session-record.d.ts","sourceRoot":"","sources":["../src/session-record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-record.d.ts","sourceRoot":"","sources":["../src/session-record.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { BaseKeyType } from "./base-key-type.js";
2
2
  import { getLogger } from "./logger.js";
3
+ import { wipeBuffer } from "./util.js";
3
4
  const CLOSED_SESSIONS_MAX = 40;
4
5
  const SESSION_RECORD_VERSION = "v1";
5
6
  const SESSION_ENTRY_VERSION = "v1";
@@ -36,9 +37,14 @@ export class SessionEntry {
36
37
  deleteChain(key) {
37
38
  assertBuffer(key);
38
39
  const id = key.toString("base64");
39
- if (!Object.prototype.hasOwnProperty.call(this._chains, id)) {
40
+ const chain = this._chains[id];
41
+ if (!chain) {
40
42
  throw new ReferenceError("Not Found");
41
43
  }
44
+ wipeBuffer(chain.chainKey.key);
45
+ for (const messageKey of Object.values(chain.messageKeys)) {
46
+ wipeBuffer(messageKey);
47
+ }
42
48
  delete this._chains[id];
43
49
  }
44
50
  *chains() {
@@ -46,6 +52,16 @@ export class SessionEntry {
46
52
  yield [Buffer.from(k, "base64"), v];
47
53
  }
48
54
  }
55
+ wipeKeyMaterial() {
56
+ wipeBuffer(this.currentRatchet.ephemeralKeyPair.privKey);
57
+ wipeBuffer(this.currentRatchet.rootKey);
58
+ for (const chain of Object.values(this._chains)) {
59
+ wipeBuffer(chain.chainKey.key);
60
+ for (const messageKey of Object.values(chain.messageKeys)) {
61
+ wipeBuffer(messageKey);
62
+ }
63
+ }
64
+ }
49
65
  serialize() {
50
66
  const data = {
51
67
  entryVersion: this.entryVersion,
@@ -284,6 +300,7 @@ export class SessionRecord {
284
300
  }
285
301
  }
286
302
  if (oldestKey) {
303
+ this.sessions[oldestKey].wipeKeyMaterial();
287
304
  delete this.sessions[oldestKey];
288
305
  }
289
306
  else {
@@ -296,12 +313,14 @@ export class SessionRecord {
296
313
  for (const [key, session] of Object.entries(this.sessions)) {
297
314
  const lastUsed = session.indexInfo.used || session.indexInfo.created || 0;
298
315
  if (session.indexInfo.closed !== -1 && lastUsed < cutoff) {
316
+ session.wipeKeyMaterial();
299
317
  delete this.sessions[key];
300
318
  }
301
319
  }
302
320
  }
303
321
  deleteAllSessions() {
304
322
  for (const key of Object.keys(this.sessions)) {
323
+ this.sessions[key].wipeKeyMaterial();
305
324
  delete this.sessions[key];
306
325
  }
307
326
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-record.js","sourceRoot":"","sources":["../src/session-record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-record.js","sourceRoot":"","sources":["../src/session-record.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neykoor/libsignal-node",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "TypeScript port of libsignal-node, compatible with BaileysX",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -25,7 +25,9 @@
25
25
  "prepack": "npm run build",
26
26
  "prepare": "npm run build",
27
27
  "format": "prettier --write \"src/**/*.ts\"",
28
- "lint": "eslint \"src/**/*.ts\""
28
+ "lint": "eslint \"src/**/*.ts\" \"scripts/**/*.mjs\"",
29
+ "generate:proto": "node scripts/generate-proto.mjs",
30
+ "verify:proto": "node scripts/verify-proto.mjs"
29
31
  },
30
32
  "dependencies": {
31
33
  "@neykoor/curve25519-ts": "^0.0.11",
@@ -40,7 +42,8 @@
40
42
  "prettier": "^3.3.2",
41
43
  "eslint": "^8.57.0",
42
44
  "@typescript-eslint/eslint-plugin": "^7.13.0",
43
- "@typescript-eslint/parser": "^7.13.0"
45
+ "@typescript-eslint/parser": "^7.13.0",
46
+ "protobufjs-cli": "^1.1.3"
44
47
  },
45
48
  "engines": {
46
49
  "node": ">=20.0.0"