Update to libsignal-client v0.10.1 with zkgroup included
This commit is contained in:
parent
6445a01f2a
commit
983713003d
4
.snyk
4
.snyk
|
@ -8,14 +8,10 @@ patch:
|
|||
'npm:debug:20170905':
|
||||
- websocket > debug:
|
||||
patched: '2020-04-30T19:26:25.236Z'
|
||||
- ref-array-napi > array-index > debug:
|
||||
patched: '2020-04-30T19:26:25.236Z'
|
||||
- babel-template > babel-traverse > debug:
|
||||
patched: '2020-04-30T19:26:25.236Z'
|
||||
- istanbul-lib-instrument > babel-traverse > debug:
|
||||
patched: '2020-04-30T19:26:25.236Z'
|
||||
- zkgroup > ref-array-napi > array-index > debug:
|
||||
patched: '2020-04-30T19:26:25.236Z'
|
||||
- istanbul-lib-instrument > babel-template > babel-traverse > debug:
|
||||
patched: '2020-04-30T19:26:25.236Z'
|
||||
- array-index > debug:
|
||||
|
|
23
package.json
23
package.json
|
@ -74,7 +74,7 @@
|
|||
"dependencies": {
|
||||
"@popperjs/core": "2.9.2",
|
||||
"@react-spring/web": "9.2.6",
|
||||
"@signalapp/signal-client": "0.9.8",
|
||||
"@signalapp/signal-client": "0.10.1",
|
||||
"@sindresorhus/is": "0.8.0",
|
||||
"abort-controller": "3.0.0",
|
||||
"array-move": "2.1.0",
|
||||
|
@ -165,7 +165,6 @@
|
|||
"underscore": "1.12.1",
|
||||
"uuid": "3.3.2",
|
||||
"websocket": "1.0.28",
|
||||
"zkgroup": "https://github.com/signalapp/signal-zkgroup-node.git#0d2b3874d2e671fa5fdcc2154065cc061f977672",
|
||||
"zod": "3.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -305,10 +304,7 @@
|
|||
"appId": "org.whispersystems.signal-desktop",
|
||||
"mac": {
|
||||
"asarUnpack": [
|
||||
"**/*.node",
|
||||
"node_modules/zkgroup/libzkgroup.*",
|
||||
"node_modules/@signalapp/signal-client/build/*.node",
|
||||
"node_modules/mac-screen-capture-permissions/build/Release/*.node"
|
||||
"**/*.node"
|
||||
],
|
||||
"artifactName": "${name}-mac-${version}.${ext}",
|
||||
"category": "public.app-category.social-networking",
|
||||
|
@ -332,9 +328,7 @@
|
|||
"asarUnpack": [
|
||||
"**/*.node",
|
||||
"node_modules/spellchecker/vendor/hunspell_dictionaries",
|
||||
"node_modules/sharp",
|
||||
"node_modules/zkgroup/libzkgroup.*",
|
||||
"node_modules/@signalapp/signal-client/build/*.node"
|
||||
"node_modules/sharp"
|
||||
],
|
||||
"artifactName": "${name}-win-${version}.${ext}",
|
||||
"certificateSubjectName": "Signal Messenger, LLC",
|
||||
|
@ -365,9 +359,7 @@
|
|||
"asarUnpack": [
|
||||
"**/*.node",
|
||||
"node_modules/spellchecker/vendor/hunspell_dictionaries",
|
||||
"node_modules/sharp",
|
||||
"node_modules/zkgroup/libzkgroup.*",
|
||||
"node_modules/@signalapp/signal-client/build/*.node"
|
||||
"node_modules/sharp"
|
||||
],
|
||||
"target": [
|
||||
"deb"
|
||||
|
@ -434,15 +426,13 @@
|
|||
"!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts,.snyk-*.flag,benchmark}",
|
||||
"!**/node_modules/.bin",
|
||||
"!**/node_modules/**/build/**",
|
||||
"!**/node_modules/**/prebuilds/**",
|
||||
"!**/*.{o,hprof,orig,pyc,pyo,rbc}",
|
||||
"!**/._*",
|
||||
"!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,thumbs.db,.gitignore,.gitattributes,.flowconfig,.yarn-metadata.json,.idea,appveyor.yml,.travis.yml,circle.yml,npm-debug.log,.nyc_output,yarn.lock,.yarn-integrity}",
|
||||
"node_modules/spellchecker/build/Release/*.node",
|
||||
"node_modules/websocket/build/Release/*.node",
|
||||
"!node_modules/websocket/builderror.log",
|
||||
"node_modules/ref-napi/build/Release/*.node",
|
||||
"node_modules/ref-array-napi/node_modules/ref-napi/build/Release/*.node",
|
||||
"node_modules/ffi-napi/build/Release/*.node",
|
||||
"node_modules/socks/build/*.js",
|
||||
"node_modules/socks/build/common/*.js",
|
||||
"node_modules/socks/build/client/*.js",
|
||||
|
@ -452,10 +442,9 @@
|
|||
"!node_modules/better-sqlite3/deps/*",
|
||||
"!node_modules/better-sqlite3/src/*",
|
||||
"node_modules/better-sqlite3/build/Release/better_sqlite3.node",
|
||||
"node_modules/@signalapp/signal-client/build/*${platform}*.node",
|
||||
"node_modules/@signalapp/signal-client/prebuilds/*${platform}*/*.node",
|
||||
"node_modules/ringrtc/build/${platform}/**",
|
||||
"node_modules/mac-screen-capture-permissions/build/Release/*.node",
|
||||
"!**/node_modules/ffi-napi/deps",
|
||||
"!**/node_modules/react-dom/*/*.development.js",
|
||||
"!node_modules/.cache"
|
||||
]
|
||||
|
|
|
@ -13,11 +13,7 @@ const {
|
|||
optionalDependencies = {},
|
||||
} = require('../package.json');
|
||||
|
||||
const SKIPPED_DEPENDENCIES = new Set([
|
||||
'ringrtc',
|
||||
'zkgroup',
|
||||
'@signalapp/signal-client',
|
||||
]);
|
||||
const SKIPPED_DEPENDENCIES = new Set(['ringrtc', '@signalapp/signal-client']);
|
||||
|
||||
const rootDir = join(__dirname, '..');
|
||||
const nodeModulesPath = join(rootDir, 'node_modules');
|
||||
|
|
|
@ -9,7 +9,7 @@ import {
|
|||
isNumber,
|
||||
values,
|
||||
} from 'lodash';
|
||||
import type { ClientZkGroupCipher } from 'zkgroup';
|
||||
import type { ClientZkGroupCipher } from '@signalapp/signal-client/zkgroup';
|
||||
import { v4 as getGuid } from 'uuid';
|
||||
import LRU from 'lru-cache';
|
||||
import * as log from './logging/log';
|
||||
|
|
|
@ -2,13 +2,9 @@
|
|||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { last, sortBy } from 'lodash';
|
||||
import { AuthCredentialResponse } from 'zkgroup';
|
||||
import { AuthCredentialResponse } from '@signalapp/signal-client/zkgroup';
|
||||
|
||||
import {
|
||||
base64ToCompatArray,
|
||||
compatArrayToBase64,
|
||||
getClientZkAuthOperations,
|
||||
} from '../util/zkgroup';
|
||||
import { getClientZkAuthOperations } from '../util/zkgroup';
|
||||
|
||||
import type { GroupCredentialType } from '../textsecure/WebAPI';
|
||||
import * as durations from '../util/durations';
|
||||
|
@ -151,9 +147,9 @@ export async function maybeFetchNewCredentials(): Promise<void> {
|
|||
const authCredential = clientZKAuthOperations.receiveAuthCredential(
|
||||
uuid,
|
||||
item.redemptionTime,
|
||||
new AuthCredentialResponse(base64ToCompatArray(item.credential))
|
||||
new AuthCredentialResponse(Buffer.from(item.credential, 'base64'))
|
||||
);
|
||||
const credential = compatArrayToBase64(authCredential.serialize());
|
||||
const credential = authCredential.serialize().toString('base64');
|
||||
|
||||
return {
|
||||
redemptionTime: item.redemptionTime,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright 2020-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import type { ProfileKeyCredentialRequestContext } from 'zkgroup';
|
||||
import type { ProfileKeyCredentialRequestContext } from '@signalapp/signal-client/zkgroup';
|
||||
import { SEALED_SENDER } from '../types/SealedSender';
|
||||
import { Address } from '../types/Address';
|
||||
import { QualifiedAddress } from '../types/QualifiedAddress';
|
||||
|
|
|
@ -564,36 +564,6 @@
|
|||
"updated": "2020-08-26T18:06:51.702Z",
|
||||
"reasonDetail": "isn't jquery"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/array-index/node_modules/debug/src/browser.js",
|
||||
"line": "function load() {",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-02-21T22:10:39.074Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/array-index/node_modules/debug/src/browser.js",
|
||||
"line": "exports.enable(load());",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-02-21T22:10:39.074Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/array-index/node_modules/debug/src/node.js",
|
||||
"line": "function load() {",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-10-21T00:36:11.618Z",
|
||||
"reasonDetail": "isn't jquery"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/array-index/node_modules/debug/src/node.js",
|
||||
"line": "exports.enable(load());",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-10-21T00:36:11.618Z",
|
||||
"reasonDetail": "isn't jquery"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-insertAfter(",
|
||||
"path": "node_modules/ast-types/lib/path.js",
|
||||
|
@ -9230,62 +9200,6 @@
|
|||
"reasonCategory": "falseMatch",
|
||||
"updated": "2021-04-05T20:48:36.065Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/ref-array-napi/node_modules/debug/src/browser.js",
|
||||
"line": "function load() {",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/ref-array-napi/node_modules/debug/src/browser.js",
|
||||
"line": "exports.enable(load());",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/ref-array-napi/node_modules/debug/src/node.js",
|
||||
"line": "function load() {",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/ref-array-napi/node_modules/debug/src/node.js",
|
||||
"line": "exports.enable(load());",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/ref-struct-di/node_modules/debug/src/browser.js",
|
||||
"line": "function load() {",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-02-21T22:10:39.074Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/ref-struct-di/node_modules/debug/src/browser.js",
|
||||
"line": "exports.enable(load());",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-02-21T22:10:39.074Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/ref-struct-di/node_modules/debug/src/node.js",
|
||||
"line": "function load() {",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-02-21T22:10:39.074Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-load(",
|
||||
"path": "node_modules/ref-struct-di/node_modules/debug/src/node.js",
|
||||
"line": "exports.enable(load());",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-02-21T22:10:39.074Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "node_modules/regenerate/regenerate.js",
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
// Copyright 2020 Signal Messenger, LLC
|
||||
// Copyright 2020-2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import type {
|
||||
FFICompatArrayType,
|
||||
ProfileKeyCredentialRequestContext,
|
||||
} from 'zkgroup';
|
||||
import type { ProfileKeyCredentialRequestContext } from '@signalapp/signal-client/zkgroup';
|
||||
import {
|
||||
AuthCredential,
|
||||
ClientZkAuthOperations,
|
||||
ClientZkGroupCipher,
|
||||
ClientZkProfileOperations,
|
||||
FFICompatArray,
|
||||
GroupMasterKey,
|
||||
GroupSecretParams,
|
||||
ProfileKey,
|
||||
|
@ -20,36 +16,11 @@ import {
|
|||
ProfileKeyCredentialResponse,
|
||||
ServerPublicParams,
|
||||
UuidCiphertext,
|
||||
} from 'zkgroup';
|
||||
import * as Bytes from '../Bytes';
|
||||
} from '@signalapp/signal-client/zkgroup';
|
||||
import { UUID } from '../types/UUID';
|
||||
import type { UUIDStringType } from '../types/UUID';
|
||||
|
||||
export * from 'zkgroup';
|
||||
|
||||
export function uint8ArrayToCompatArray(
|
||||
buffer: Uint8Array
|
||||
): FFICompatArrayType {
|
||||
return new FFICompatArray(Buffer.from(buffer));
|
||||
}
|
||||
|
||||
export function compatArrayToUint8Array(
|
||||
compatArray: FFICompatArrayType
|
||||
): Uint8Array {
|
||||
return compatArray.buffer;
|
||||
}
|
||||
|
||||
export function base64ToCompatArray(base64: string): FFICompatArrayType {
|
||||
return uint8ArrayToCompatArray(Bytes.fromBase64(base64));
|
||||
}
|
||||
|
||||
export function compatArrayToBase64(compatArray: FFICompatArrayType): string {
|
||||
return Bytes.toBase64(compatArrayToUint8Array(compatArray));
|
||||
}
|
||||
|
||||
export function compatArrayToHex(compatArray: FFICompatArrayType): string {
|
||||
return Bytes.toHex(compatArrayToUint8Array(compatArray));
|
||||
}
|
||||
export * from '@signalapp/signal-client/zkgroup';
|
||||
|
||||
// Scenarios
|
||||
|
||||
|
@ -57,9 +28,7 @@ export function decryptGroupBlob(
|
|||
clientZkGroupCipher: ClientZkGroupCipher,
|
||||
ciphertext: Uint8Array
|
||||
): Uint8Array {
|
||||
return compatArrayToUint8Array(
|
||||
clientZkGroupCipher.decryptBlob(uint8ArrayToCompatArray(ciphertext))
|
||||
);
|
||||
return clientZkGroupCipher.decryptBlob(Buffer.from(ciphertext));
|
||||
}
|
||||
|
||||
export function decryptProfileKeyCredentialPresentation(
|
||||
|
@ -67,7 +36,7 @@ export function decryptProfileKeyCredentialPresentation(
|
|||
presentationBuffer: Uint8Array
|
||||
): { profileKey: Uint8Array; uuid: UUIDStringType } {
|
||||
const presentation = new ProfileKeyCredentialPresentation(
|
||||
uint8ArrayToCompatArray(presentationBuffer)
|
||||
Buffer.from(presentationBuffer)
|
||||
);
|
||||
|
||||
const uuidCiphertext = presentation.getUuidCiphertext();
|
||||
|
@ -80,7 +49,7 @@ export function decryptProfileKeyCredentialPresentation(
|
|||
);
|
||||
|
||||
return {
|
||||
profileKey: compatArrayToUint8Array(profileKey.serialize()),
|
||||
profileKey: profileKey.serialize(),
|
||||
uuid: UUID.cast(uuid),
|
||||
};
|
||||
}
|
||||
|
@ -91,7 +60,7 @@ export function decryptProfileKey(
|
|||
uuid: UUIDStringType
|
||||
): Uint8Array {
|
||||
const profileKeyCiphertext = new ProfileKeyCiphertext(
|
||||
uint8ArrayToCompatArray(profileKeyCiphertextBuffer)
|
||||
Buffer.from(profileKeyCiphertextBuffer)
|
||||
);
|
||||
|
||||
const profileKey = clientZkGroupCipher.decryptProfileKey(
|
||||
|
@ -99,16 +68,14 @@ export function decryptProfileKey(
|
|||
uuid
|
||||
);
|
||||
|
||||
return compatArrayToUint8Array(profileKey.serialize());
|
||||
return profileKey.serialize();
|
||||
}
|
||||
|
||||
export function decryptUuid(
|
||||
clientZkGroupCipher: ClientZkGroupCipher,
|
||||
uuidCiphertextBuffer: Uint8Array
|
||||
): string {
|
||||
const uuidCiphertext = new UuidCiphertext(
|
||||
uint8ArrayToCompatArray(uuidCiphertextBuffer)
|
||||
);
|
||||
const uuidCiphertext = new UuidCiphertext(Buffer.from(uuidCiphertextBuffer));
|
||||
|
||||
return clientZkGroupCipher.decryptUuid(uuidCiphertext);
|
||||
}
|
||||
|
@ -117,7 +84,7 @@ export function deriveProfileKeyVersion(
|
|||
profileKeyBase64: string,
|
||||
uuid: UUIDStringType
|
||||
): string {
|
||||
const profileKeyArray = base64ToCompatArray(profileKeyBase64);
|
||||
const profileKeyArray = Buffer.from(profileKeyBase64, 'base64');
|
||||
const profileKey = new ProfileKey(profileKeyArray);
|
||||
|
||||
const profileKeyVersion = profileKey.getProfileKeyVersion(uuid);
|
||||
|
@ -129,42 +96,34 @@ export function deriveGroupPublicParams(
|
|||
groupSecretParamsBuffer: Uint8Array
|
||||
): Uint8Array {
|
||||
const groupSecretParams = new GroupSecretParams(
|
||||
uint8ArrayToCompatArray(groupSecretParamsBuffer)
|
||||
Buffer.from(groupSecretParamsBuffer)
|
||||
);
|
||||
|
||||
return compatArrayToUint8Array(
|
||||
groupSecretParams.getPublicParams().serialize()
|
||||
);
|
||||
return groupSecretParams.getPublicParams().serialize();
|
||||
}
|
||||
|
||||
export function deriveGroupID(groupSecretParamsBuffer: Uint8Array): Uint8Array {
|
||||
const groupSecretParams = new GroupSecretParams(
|
||||
uint8ArrayToCompatArray(groupSecretParamsBuffer)
|
||||
Buffer.from(groupSecretParamsBuffer)
|
||||
);
|
||||
|
||||
return compatArrayToUint8Array(
|
||||
groupSecretParams.getPublicParams().getGroupIdentifier().serialize()
|
||||
);
|
||||
return groupSecretParams.getPublicParams().getGroupIdentifier().serialize();
|
||||
}
|
||||
|
||||
export function deriveGroupSecretParams(
|
||||
masterKeyBuffer: Uint8Array
|
||||
): Uint8Array {
|
||||
const masterKey = new GroupMasterKey(
|
||||
uint8ArrayToCompatArray(masterKeyBuffer)
|
||||
);
|
||||
const masterKey = new GroupMasterKey(Buffer.from(masterKeyBuffer));
|
||||
const groupSecretParams = GroupSecretParams.deriveFromMasterKey(masterKey);
|
||||
|
||||
return compatArrayToUint8Array(groupSecretParams.serialize());
|
||||
return groupSecretParams.serialize();
|
||||
}
|
||||
|
||||
export function encryptGroupBlob(
|
||||
clientZkGroupCipher: ClientZkGroupCipher,
|
||||
plaintext: Uint8Array
|
||||
): Uint8Array {
|
||||
return compatArrayToUint8Array(
|
||||
clientZkGroupCipher.encryptBlob(uint8ArrayToCompatArray(plaintext))
|
||||
);
|
||||
return clientZkGroupCipher.encryptBlob(Buffer.from(plaintext));
|
||||
}
|
||||
|
||||
export function encryptUuid(
|
||||
|
@ -173,7 +132,7 @@ export function encryptUuid(
|
|||
): Uint8Array {
|
||||
const uuidCiphertext = clientZkGroupCipher.encryptUuid(uuidPlaintext);
|
||||
|
||||
return compatArrayToUint8Array(uuidCiphertext.serialize());
|
||||
return uuidCiphertext.serialize();
|
||||
}
|
||||
|
||||
export function generateProfileKeyCredentialRequest(
|
||||
|
@ -181,7 +140,7 @@ export function generateProfileKeyCredentialRequest(
|
|||
uuid: UUIDStringType,
|
||||
profileKeyBase64: string
|
||||
): { context: ProfileKeyCredentialRequestContext; requestHex: string } {
|
||||
const profileKeyArray = base64ToCompatArray(profileKeyBase64);
|
||||
const profileKeyArray = Buffer.from(profileKeyBase64, 'base64');
|
||||
const profileKey = new ProfileKey(profileKeyArray);
|
||||
|
||||
const context = clientZkProfileCipher.createProfileKeyCredentialRequestContext(
|
||||
|
@ -193,7 +152,7 @@ export function generateProfileKeyCredentialRequest(
|
|||
|
||||
return {
|
||||
context,
|
||||
requestHex: compatArrayToHex(requestArray),
|
||||
requestHex: requestArray.toString('hex'),
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -203,17 +162,17 @@ export function getAuthCredentialPresentation(
|
|||
groupSecretParamsBase64: string
|
||||
): Uint8Array {
|
||||
const authCredential = new AuthCredential(
|
||||
base64ToCompatArray(authCredentialBase64)
|
||||
Buffer.from(authCredentialBase64, 'base64')
|
||||
);
|
||||
const secretParams = new GroupSecretParams(
|
||||
base64ToCompatArray(groupSecretParamsBase64)
|
||||
Buffer.from(groupSecretParamsBase64, 'base64')
|
||||
);
|
||||
|
||||
const presentation = clientZkAuthOperations.createAuthCredentialPresentation(
|
||||
secretParams,
|
||||
authCredential
|
||||
);
|
||||
return compatArrayToUint8Array(presentation.serialize());
|
||||
return presentation.serialize();
|
||||
}
|
||||
|
||||
export function createProfileKeyCredentialPresentation(
|
||||
|
@ -221,14 +180,15 @@ export function createProfileKeyCredentialPresentation(
|
|||
profileKeyCredentialBase64: string,
|
||||
groupSecretParamsBase64: string
|
||||
): Uint8Array {
|
||||
const profileKeyCredentialArray = base64ToCompatArray(
|
||||
profileKeyCredentialBase64
|
||||
const profileKeyCredentialArray = Buffer.from(
|
||||
profileKeyCredentialBase64,
|
||||
'base64'
|
||||
);
|
||||
const profileKeyCredential = new ProfileKeyCredential(
|
||||
profileKeyCredentialArray
|
||||
);
|
||||
const secretParams = new GroupSecretParams(
|
||||
base64ToCompatArray(groupSecretParamsBase64)
|
||||
Buffer.from(groupSecretParamsBase64, 'base64')
|
||||
);
|
||||
|
||||
const presentation = clientZkProfileCipher.createProfileKeyCredentialPresentation(
|
||||
|
@ -236,14 +196,14 @@ export function createProfileKeyCredentialPresentation(
|
|||
profileKeyCredential
|
||||
);
|
||||
|
||||
return compatArrayToUint8Array(presentation.serialize());
|
||||
return presentation.serialize();
|
||||
}
|
||||
|
||||
export function getClientZkAuthOperations(
|
||||
serverPublicParamsBase64: string
|
||||
): ClientZkAuthOperations {
|
||||
const serverPublicParams = new ServerPublicParams(
|
||||
base64ToCompatArray(serverPublicParamsBase64)
|
||||
Buffer.from(serverPublicParamsBase64, 'base64')
|
||||
);
|
||||
|
||||
return new ClientZkAuthOperations(serverPublicParams);
|
||||
|
@ -253,7 +213,7 @@ export function getClientZkGroupCipher(
|
|||
groupSecretParamsBase64: string
|
||||
): ClientZkGroupCipher {
|
||||
const serverPublicParams = new GroupSecretParams(
|
||||
base64ToCompatArray(groupSecretParamsBase64)
|
||||
Buffer.from(groupSecretParamsBase64, 'base64')
|
||||
);
|
||||
|
||||
return new ClientZkGroupCipher(serverPublicParams);
|
||||
|
@ -263,7 +223,7 @@ export function getClientZkProfileOperations(
|
|||
serverPublicParamsBase64: string
|
||||
): ClientZkProfileOperations {
|
||||
const serverPublicParams = new ServerPublicParams(
|
||||
base64ToCompatArray(serverPublicParamsBase64)
|
||||
Buffer.from(serverPublicParamsBase64, 'base64')
|
||||
);
|
||||
|
||||
return new ClientZkProfileOperations(serverPublicParams);
|
||||
|
@ -275,7 +235,7 @@ export function handleProfileKeyCredential(
|
|||
responseBase64: string
|
||||
): string {
|
||||
const response = new ProfileKeyCredentialResponse(
|
||||
base64ToCompatArray(responseBase64)
|
||||
Buffer.from(responseBase64, 'base64')
|
||||
);
|
||||
const profileKeyCredential = clientZkProfileCipher.receiveProfileKeyCredential(
|
||||
context,
|
||||
|
@ -284,15 +244,15 @@ export function handleProfileKeyCredential(
|
|||
|
||||
const credentialArray = profileKeyCredential.serialize();
|
||||
|
||||
return compatArrayToBase64(credentialArray);
|
||||
return credentialArray.toString('base64');
|
||||
}
|
||||
|
||||
export function deriveProfileKeyCommitment(
|
||||
profileKeyBase64: string,
|
||||
uuid: UUIDStringType
|
||||
): string {
|
||||
const profileKeyArray = base64ToCompatArray(profileKeyBase64);
|
||||
const profileKeyArray = Buffer.from(profileKeyBase64, 'base64');
|
||||
const profileKey = new ProfileKey(profileKeyArray);
|
||||
|
||||
return compatArrayToBase64(profileKey.getCommitment(uuid).contents);
|
||||
return profileKey.getCommitment(uuid).contents.toString('base64');
|
||||
}
|
||||
|
|
|
@ -58,10 +58,5 @@
|
|||
// "experimentalDecorators": true, // Enables experimental support for ES7 decorators.
|
||||
// "emitDecoratorMetadata": true, // Enables experimental support for emitting type metadata for decorators.
|
||||
},
|
||||
"include": [
|
||||
"ts/**/*",
|
||||
"app/*",
|
||||
"node_modules/zkgroup/zkgroup/modules/*",
|
||||
"package.json"
|
||||
]
|
||||
"include": ["ts/**/*", "app/*", "package.json"]
|
||||
}
|
||||
|
|
|
@ -11,9 +11,9 @@ const { NODE_ENV: mode = 'development' } = process.env;
|
|||
|
||||
const EXTERNAL_MODULE = new Set([
|
||||
'@signalapp/signal-client',
|
||||
'@signalapp/signal-client/zkgroup',
|
||||
'backbone',
|
||||
'better-sqlite3',
|
||||
'ffi-napi',
|
||||
'fs-xattr',
|
||||
'fsevents',
|
||||
'got',
|
||||
|
@ -23,12 +23,9 @@ const EXTERNAL_MODULE = new Set([
|
|||
'node-sass',
|
||||
'pino',
|
||||
'proxy-agent',
|
||||
'ref-array-napi',
|
||||
'ref-napi',
|
||||
'ringrtc',
|
||||
'sharp',
|
||||
'websocket',
|
||||
'zkgroup',
|
||||
|
||||
// Uses fast-glob and dynamic requires
|
||||
'./preload_test',
|
||||
|
|
147
yarn.lock
147
yarn.lock
|
@ -1717,10 +1717,10 @@
|
|||
"@react-spring/shared" "~9.2.6-beta.0"
|
||||
"@react-spring/types" "~9.2.6-beta.0"
|
||||
|
||||
"@signalapp/signal-client@0.9.8":
|
||||
version "0.9.8"
|
||||
resolved "https://registry.yarnpkg.com/@signalapp/signal-client/-/signal-client-0.9.8.tgz#e3bd9795eb29ee0246adf0a5245de06054d69180"
|
||||
integrity sha512-ESm/n2rtVtDVdQvO9ad8y5Hh3grf+HWtM+nzZHYTw3QpvhaYONl3xUBAs1mbGYp/6Gwf83qJ/Le9rduFfw/lVQ==
|
||||
"@signalapp/signal-client@0.10.1":
|
||||
version "0.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@signalapp/signal-client/-/signal-client-0.10.1.tgz#74b41264044caac4d42df3baf1f5c393f63ec50a"
|
||||
integrity sha512-myVTaqFljakN0fxvmK4FmslOHJPuuoGxpSmlu4KU2D3RP2EiDHmg3Q+Xw9TWh7ehpstUxwe5op6sThq5d3b3Dw==
|
||||
dependencies:
|
||||
node-gyp-build "^4.2.3"
|
||||
uuid "^8.3.0"
|
||||
|
@ -2578,15 +2578,6 @@
|
|||
"@types/express-serve-static-core" "*"
|
||||
"@types/serve-static" "*"
|
||||
|
||||
"@types/ffi-napi@^4.0.1":
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/ffi-napi/-/ffi-napi-4.0.3.tgz#2f016368198e4c6fbb0a69501b67cd8bec9cc3b7"
|
||||
integrity sha512-hP9SJCapWnVH5dGSsvb3nvrjJMj95cU2jrs45RhZz8IhPHhcwrzqi9XyaTxGuafGJ9rS07I+zJ83BU5dhorerw==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
"@types/ref-napi" "*"
|
||||
"@types/ref-struct-di" "*"
|
||||
|
||||
"@types/filesize@3.6.0":
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/filesize/-/filesize-3.6.0.tgz#5f1a25c7b4e3d5ee2bc63133d374d096b7008c8d"
|
||||
|
@ -2937,20 +2928,6 @@
|
|||
dependencies:
|
||||
redux "^3.6.0"
|
||||
|
||||
"@types/ref-napi@*", "@types/ref-napi@^3.0.1":
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/ref-napi/-/ref-napi-3.0.3.tgz#1e6093f407dfe5b4dab4a490da1860344045732b"
|
||||
integrity sha512-5Jm6TjMk9tt2A0m1jPXHhRTOAeDxhAirF36GUEV2ldQSOcXkG9FRV856PZFfx1s2hpdHvJg4nRfojlfEQo7v3A==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/ref-struct-di@*":
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/ref-struct-di/-/ref-struct-di-1.1.3.tgz#2e42d5889eb072b2c3f2780f12a397e829b58b8f"
|
||||
integrity sha512-OdsiCc10hByKZ27R8Bd+09EhiciuD6V9eAn+RjiLNx0YJum8E6CKg8zws5OmHKDtYA5Ke7kUvBJlUwITSZdvzA==
|
||||
dependencies:
|
||||
"@types/ref-napi" "*"
|
||||
|
||||
"@types/responselike@*", "@types/responselike@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
|
||||
|
@ -4048,14 +4025,6 @@ array-includes@^3.1.1:
|
|||
es-abstract "^1.17.0"
|
||||
is-string "^1.0.5"
|
||||
|
||||
array-index@1:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz#ec56a749ee103e4e08c790b9c353df16055b97f9"
|
||||
integrity sha1-7FanSe4QPk4Ix5C5w1PfFgVbl/k=
|
||||
dependencies:
|
||||
debug "^2.2.0"
|
||||
es6-symbol "^3.0.2"
|
||||
|
||||
array-map@~0.0.0:
|
||||
version "0.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
|
||||
|
@ -6576,14 +6545,6 @@ d@1:
|
|||
dependencies:
|
||||
es5-ext "^0.10.9"
|
||||
|
||||
d@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
|
||||
integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
|
||||
dependencies:
|
||||
es5-ext "^0.10.50"
|
||||
type "^1.0.1"
|
||||
|
||||
damerau-levenshtein@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791"
|
||||
|
@ -7614,15 +7575,6 @@ es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.9, es5-ext@~
|
|||
es6-symbol "~3.1.1"
|
||||
next-tick "^1.0.0"
|
||||
|
||||
es5-ext@^0.10.50:
|
||||
version "0.10.53"
|
||||
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
|
||||
integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
|
||||
dependencies:
|
||||
es6-iterator "~2.0.3"
|
||||
es6-symbol "~3.1.3"
|
||||
next-tick "~1.0.0"
|
||||
|
||||
es5-shim@^4.5.13:
|
||||
version "4.5.13"
|
||||
resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.5.13.tgz#5d88062de049f8969f83783f4a4884395f21d28b"
|
||||
|
@ -7662,14 +7614,6 @@ es6-shim@^0.35.5:
|
|||
resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.5.tgz#46f59dc0a84a1c5029e8ff1166ca0a902077a9ab"
|
||||
integrity sha512-E9kK/bjtCQRpN1K28Xh4BlmP8egvZBGJJ+9GtnzOwt7mdqtrjHFuVGr7QJfdjBIKqrlU5duPf3pCBoDrkjVYFg==
|
||||
|
||||
es6-symbol@^3.0.2, es6-symbol@~3.1.3:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
|
||||
integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
|
||||
dependencies:
|
||||
d "^1.0.1"
|
||||
ext "^1.1.2"
|
||||
|
||||
es6-symbol@^3.1.1, es6-symbol@~3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
|
||||
|
@ -8234,13 +8178,6 @@ express@^4.17.0, express@^4.17.1:
|
|||
utils-merge "1.0.1"
|
||||
vary "~1.1.2"
|
||||
|
||||
ext@^1.1.2:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
|
||||
integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
|
||||
dependencies:
|
||||
type "^2.0.0"
|
||||
|
||||
extend-shallow@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
|
||||
|
@ -8473,18 +8410,6 @@ fd-slicer@~1.1.0:
|
|||
dependencies:
|
||||
pend "~1.2.0"
|
||||
|
||||
ffi-napi@4.0.3:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/ffi-napi/-/ffi-napi-4.0.3.tgz#27a8d42a8ea938457154895c59761fbf1a10f441"
|
||||
integrity sha512-PMdLCIvDY9mS32RxZ0XGb95sonPRal8aqRhLbeEtWKZTe2A87qRFG9HjOhvG8EX2UmQw5XNRMIOT+1MYlWmdeg==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
get-uv-event-loop-napi-h "^1.0.5"
|
||||
node-addon-api "^3.0.0"
|
||||
node-gyp-build "^4.2.1"
|
||||
ref-napi "^2.0.1 || ^3.0.2"
|
||||
ref-struct-di "^1.1.0"
|
||||
|
||||
figgy-pudding@^3.5.1:
|
||||
version "3.5.2"
|
||||
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
|
||||
|
@ -9138,11 +9063,6 @@ get-stream@^6.0.0:
|
|||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718"
|
||||
integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==
|
||||
|
||||
get-symbol-from-current-process-h@^1.0.1, get-symbol-from-current-process-h@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz#510af52eaef873f7028854c3377f47f7bb200265"
|
||||
integrity sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw==
|
||||
|
||||
get-uri@3:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c"
|
||||
|
@ -9166,13 +9086,6 @@ get-uri@^2.0.0:
|
|||
ftp "~0.3.10"
|
||||
readable-stream "2"
|
||||
|
||||
get-uv-event-loop-napi-h@^1.0.5:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/get-uv-event-loop-napi-h/-/get-uv-event-loop-napi-h-1.0.6.tgz#42b0b06b74c3ed21fbac8e7c72845fdb7a200208"
|
||||
integrity sha512-t5c9VNR84nRoF+eLiz6wFrEp1SE2Acg0wS+Ysa2zF0eROes+LzOfuTaVHxGy8AbS8rq7FHEJzjnCZo1BupwdJg==
|
||||
dependencies:
|
||||
get-symbol-from-current-process-h "^1.0.1"
|
||||
|
||||
get-value@^2.0.3, get-value@^2.0.6:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
|
||||
|
@ -12802,7 +12715,7 @@ new-github-issue-url@^0.2.1:
|
|||
resolved "https://registry.yarnpkg.com/new-github-issue-url/-/new-github-issue-url-0.2.1.tgz#e17be1f665a92de465926603e44b9f8685630c1d"
|
||||
integrity sha512-md4cGoxuT4T4d/HDOXbrUHkTKrp/vp+m3aOA7XXVYwNsUNMK49g3SQicTSeV5GIz/5QVGAeYRAOlyp9OvlgsYA==
|
||||
|
||||
next-tick@1, next-tick@^1.0.0, next-tick@~1.0.0:
|
||||
next-tick@1, next-tick@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
|
||||
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
|
||||
|
@ -12850,7 +12763,7 @@ node-addon-api@^1.6.3:
|
|||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
|
||||
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
|
||||
|
||||
node-addon-api@^3.0.0, node-addon-api@^3.1.0:
|
||||
node-addon-api@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
|
||||
integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
|
||||
|
@ -12879,7 +12792,7 @@ node-forge@0.10.0, node-forge@^0.10.0:
|
|||
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
|
||||
integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
|
||||
|
||||
node-gyp-build@^4.2.1, node-gyp-build@^4.2.3:
|
||||
node-gyp-build@^4.2.3:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739"
|
||||
integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==
|
||||
|
@ -15587,32 +15500,6 @@ redux@^4.0.0:
|
|||
loose-envify "^1.4.0"
|
||||
symbol-observable "^1.2.0"
|
||||
|
||||
ref-array-napi@1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/ref-array-napi/-/ref-array-napi-1.2.2.tgz#8b172b375aa04441860973c262ac8a557e3d368e"
|
||||
integrity sha512-EGQzUQpyqD/hN9eIn3uF68UPBmwJXdWkumHCmvK3ncjw128bkjd8TbJ51ur+2PZ4UrfCOQCcPQkuWZ6mNHch9A==
|
||||
dependencies:
|
||||
array-index "1"
|
||||
debug "2"
|
||||
ref-napi "^3.0.1"
|
||||
|
||||
ref-napi@3.0.3, "ref-napi@^2.0.1 || ^3.0.2", ref-napi@^3.0.1:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/ref-napi/-/ref-napi-3.0.3.tgz#e259bfc2bbafb3e169e8cd9ba49037dd00396b22"
|
||||
integrity sha512-LiMq/XDGcgodTYOMppikEtJelWsKQERbLQsYm0IOOnzhwE9xYZC7x8txNnFC9wJNOkPferQI4vD4ZkC0mDyrOA==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
get-symbol-from-current-process-h "^1.0.2"
|
||||
node-addon-api "^3.0.0"
|
||||
node-gyp-build "^4.2.1"
|
||||
|
||||
ref-struct-di@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ref-struct-di/-/ref-struct-di-1.1.0.tgz#d252144eb449608ccf2e5c12fda35f8153bd3760"
|
||||
integrity sha512-gghZITj/iQwdwFDduZ6T8kL2B2ogInlOz7AOB0ggFoEc7akAKMcDrbzh3OIPk13Kxy8U2bHPvN6nejcBh4jN7A==
|
||||
dependencies:
|
||||
debug "^3.1.0"
|
||||
|
||||
refractor@^2.4.1:
|
||||
version "2.10.0"
|
||||
resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.10.0.tgz#4cc7efc0028a87924a9b31d82d129dec831a287b"
|
||||
|
@ -18320,16 +18207,6 @@ type-is@~1.6.17, type-is@~1.6.18:
|
|||
media-typer "0.3.0"
|
||||
mime-types "~2.1.24"
|
||||
|
||||
type@^1.0.1:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
|
||||
integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
|
||||
|
||||
type@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3"
|
||||
integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==
|
||||
|
||||
typed-scss-modules@4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/typed-scss-modules/-/typed-scss-modules-4.1.1.tgz#eab12f25511a329f8e4837842c3b484ffd66b449"
|
||||
|
@ -19478,16 +19355,6 @@ zip-stream@^1.2.0:
|
|||
lodash "^4.8.0"
|
||||
readable-stream "^2.0.0"
|
||||
|
||||
"zkgroup@https://github.com/signalapp/signal-zkgroup-node.git#0d2b3874d2e671fa5fdcc2154065cc061f977672":
|
||||
version "0.8.2"
|
||||
resolved "https://github.com/signalapp/signal-zkgroup-node.git#0d2b3874d2e671fa5fdcc2154065cc061f977672"
|
||||
dependencies:
|
||||
"@types/ffi-napi" "^4.0.1"
|
||||
"@types/ref-napi" "^3.0.1"
|
||||
ffi-napi "4.0.3"
|
||||
ref-array-napi "1.2.2"
|
||||
ref-napi "3.0.3"
|
||||
|
||||
zod@3.5.1:
|
||||
version "3.5.1"
|
||||
resolved "https://registry.yarnpkg.com/zod/-/zod-3.5.1.tgz#e93ce58e182bb76f7d29ccd24feee72611f9a129"
|
||||
|
|
Loading…
Reference in New Issue