@matter/react-native 0.14.1-alpha.0-20250606-a9bcd03f9 → 0.15.0-alpha.0-20250612-ddd428561
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/dist/cjs/crypto/ReactNativeCrypto.d.ts +8 -2
- package/dist/cjs/crypto/ReactNativeCrypto.d.ts.map +1 -1
- package/dist/cjs/crypto/ReactNativeCrypto.js +2 -2
- package/dist/cjs/crypto/ReactNativeCrypto.js.map +1 -1
- package/dist/cjs/net/export.d.ts.map +1 -1
- package/dist/cjs/net/export.js +4 -2
- package/dist/cjs/net/export.js.map +1 -1
- package/dist/esm/crypto/ReactNativeCrypto.d.ts +8 -2
- package/dist/esm/crypto/ReactNativeCrypto.d.ts.map +1 -1
- package/dist/esm/crypto/ReactNativeCrypto.js +2 -2
- package/dist/esm/crypto/ReactNativeCrypto.js.map +1 -1
- package/dist/esm/net/export.d.ts.map +1 -1
- package/dist/esm/net/export.js +4 -2
- package/dist/esm/net/export.js.map +1 -1
- package/package.json +6 -6
- package/src/crypto/ReactNativeCrypto.ts +10 -2
- package/src/net/export.ts +4 -2
- package/dist/cjs/crypto/register.d.ts +0 -7
- package/dist/cjs/crypto/register.d.ts.map +0 -1
- package/dist/cjs/crypto/register.js +0 -17
- package/dist/cjs/crypto/register.js.map +0 -6
- package/dist/cjs/net/register.d.ts +0 -7
- package/dist/cjs/net/register.d.ts.map +0 -1
- package/dist/cjs/net/register.js +0 -17
- package/dist/cjs/net/register.js.map +0 -6
- package/dist/esm/crypto/register.d.ts +0 -7
- package/dist/esm/crypto/register.d.ts.map +0 -1
- package/dist/esm/crypto/register.js +0 -16
- package/dist/esm/crypto/register.js.map +0 -6
- package/dist/esm/net/register.d.ts +0 -7
- package/dist/esm/net/register.d.ts.map +0 -1
- package/dist/esm/net/register.js +0 -16
- package/dist/esm/net/register.js.map +0 -6
- package/src/crypto/register.ts +0 -18
- package/src/net/register.ts +0 -19
|
@@ -5,8 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { CryptoDsaEncoding } from "#general";
|
|
7
7
|
import { NodeJsCrypto } from "#nodejs";
|
|
8
|
+
/**
|
|
9
|
+
* Crypto implementation for React Native
|
|
10
|
+
*
|
|
11
|
+
* We do not install this implementation by default because it is not fully functional. The Node.js crypto
|
|
12
|
+
* compatibility interface in React Native does not implement all features (AES-CCM, at least, is missing).
|
|
13
|
+
*/
|
|
8
14
|
export declare class CryptoReactNative extends NodeJsCrypto {
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
signEcdsa(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): Uint8Array;
|
|
16
|
+
verifyEcdsa(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): void;
|
|
11
17
|
}
|
|
12
18
|
//# sourceMappingURL=ReactNativeCrypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/ReactNativeCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAyB,iBAAiB,EAAqB,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ReactNativeCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/ReactNativeCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAyB,iBAAiB,EAAqB,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuDvC;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IACtC,SAAS,CACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,EAC/B,WAAW,GAAE,iBAAgC,GAC9C,UAAU;IAkBJ,WAAW,CAChB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,WAAW,GAAE,iBAAgC;CAgBpD"}
|
|
@@ -61,7 +61,7 @@ crypto.hkdf = (digest, ikm, salt, info, keylen) => {
|
|
|
61
61
|
return T.slice(0, keylen);
|
|
62
62
|
};
|
|
63
63
|
class CryptoReactNative extends import_nodejs.NodeJsCrypto {
|
|
64
|
-
|
|
64
|
+
signEcdsa(privateKey, data, dsaEncoding = "ieee-p1363") {
|
|
65
65
|
const signer = crypto.createSign(import_general.CRYPTO_HASH_ALGORITHM);
|
|
66
66
|
if (Array.isArray(data)) {
|
|
67
67
|
data.forEach((chunk) => signer.update(chunk));
|
|
@@ -77,7 +77,7 @@ class CryptoReactNative extends import_nodejs.NodeJsCrypto {
|
|
|
77
77
|
})
|
|
78
78
|
);
|
|
79
79
|
}
|
|
80
|
-
|
|
80
|
+
verifyEcdsa(publicKey, data, signature, dsaEncoding = "ieee-p1363") {
|
|
81
81
|
const verifier = crypto.createVerify(import_general.CRYPTO_HASH_ALGORITHM);
|
|
82
82
|
verifier.update(data);
|
|
83
83
|
const success = verifier.verify(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/ReactNativeCrypto.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uCAAwB;AAIxB,qBAA4E;AAC5E,oBAA6B;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uCAAwB;AAIxB,qBAA4E;AAC5E,oBAA6B;AAG7B,wBAAoB;AAdpB;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,0CAAQ;AASR,OAAO,OAAO,CACV,QACA,KACA,MACA,MACA,WACC;AACD,QAAM,UAAU,SAAS,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,KAAK;AACvD,QAAM,MAAM,OAEP,WAAW,QAAQ,KAAK,aAAa,OAAO,IAAI,WAAW,OAAO,CAAC,EACnE,OAAO,GAAG,EACV,OAAO;AASZ,QAAM,IAAI,KAAK,KAAK,SAAS,OAAO;AAIpC,QAAM,IAAI,IAAI,WAAW,UAAU,IAAI,KAAK,aAAa,CAAC;AAC1D,MAAI,OAAO;AACX,MAAI,QAAQ;AACZ,WAAS,IAAI,GAAG,KAAK,GAAG,KAAK;AACzB,MAAE,IAAI,MAAM,KAAK;AACjB,MAAE,QAAQ,KAAK,UAAU,IAAI;AAE7B,MAAE;AAAA,MACE,OAEK,WAAW,QAAQ,GAAG,EACtB,OAAO,EAAE,SAAS,MAAM,QAAQ,KAAK,aAAa,CAAC,CAAC,EACpD,OAAO;AAAA,MACZ;AAAA,IACJ;AAEA,WAAO;AACP,aAAS;AAAA,EACb;AAGA,SAAO,EAAE,MAAM,GAAG,MAAM;AAC5B;AAQO,MAAM,0BAA0B,2BAAa;AAAA,EACvC,UACL,YACA,MACA,cAAiC,cACvB;AAEV,UAAM,SAAS,OAAO,WAAW,oCAAqB;AACtD,QAAI,MAAM,QAAQ,IAAI,GAAG;AACrB,WAAK,QAAQ,WAAS,OAAO,OAAO,KAAK,CAAC;AAAA,IAC9C,OAAO;AACH,aAAO,OAAO,IAAI;AAAA,IACtB;AACA,WAAO,IAAI;AAAA,MACP,OAAO,KAAK;AAAA,QACR,SAAK,kBAAAA,SAAQ,YAA2B,EAAE,SAAS,KAAK,CAAC;AAAA,QACzD,QAAQ;AAAA,QACR,MAAM;AAAA,QACN;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAES,YACL,WACA,MACA,WACA,cAAiC,cACnC;AAEE,UAAM,WAAW,OAAO,aAAa,oCAAqB;AAC1D,aAAS,OAAO,IAAI;AACpB,UAAM,UAAU,SAAS;AAAA,MACrB;AAAA,QACI,SAAK,kBAAAA,SAAQ,SAAwB;AAAA,QACrC,QAAQ;AAAA,QACR,MAAM;AAAA,QACN;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AACA,QAAI,CAAC,QAAS,OAAM,IAAI,iCAAkB,+BAA+B;AAAA,EAC7E;AACJ;",
|
|
5
5
|
"names": ["jwk2pem"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/net/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,yBAAyB,CAAC;AAExC,wBAAsB,YAAY,
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/net/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,yBAAyB,CAAC;AAExC,wBAAsB,YAAY,kBAIjC"}
|
package/dist/cjs/net/export.js
CHANGED
|
@@ -22,7 +22,7 @@ __export(export_exports, {
|
|
|
22
22
|
closeNetwork: () => closeNetwork
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(export_exports);
|
|
25
|
-
var import_general = require("
|
|
25
|
+
var import_general = require("#general");
|
|
26
26
|
__reExport(export_exports, require("./NetworkReactNative.js"), module.exports);
|
|
27
27
|
/**
|
|
28
28
|
* @license
|
|
@@ -30,6 +30,8 @@ __reExport(export_exports, require("./NetworkReactNative.js"), module.exports);
|
|
|
30
30
|
* SPDX-License-Identifier: Apache-2.0
|
|
31
31
|
*/
|
|
32
32
|
async function closeNetwork() {
|
|
33
|
-
|
|
33
|
+
if (import_general.Environment.default.has(import_general.Network)) {
|
|
34
|
+
return import_general.Environment.default.get(import_general.Network).close();
|
|
35
|
+
}
|
|
34
36
|
}
|
|
35
37
|
//# sourceMappingURL=export.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/net/export.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqC;AAErC,2BAAc,oCARd;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,eAAsB,eAAe;AACjC,MAAI,2BAAY,QAAQ,IAAI,sBAAO,GAAG;AAClC,WAAO,2BAAY,QAAQ,IAAI,sBAAO,EAAE,MAAM;AAAA,EAClD;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -5,8 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { CryptoDsaEncoding } from "#general";
|
|
7
7
|
import { NodeJsCrypto } from "#nodejs";
|
|
8
|
+
/**
|
|
9
|
+
* Crypto implementation for React Native
|
|
10
|
+
*
|
|
11
|
+
* We do not install this implementation by default because it is not fully functional. The Node.js crypto
|
|
12
|
+
* compatibility interface in React Native does not implement all features (AES-CCM, at least, is missing).
|
|
13
|
+
*/
|
|
8
14
|
export declare class CryptoReactNative extends NodeJsCrypto {
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
signEcdsa(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): Uint8Array;
|
|
16
|
+
verifyEcdsa(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): void;
|
|
11
17
|
}
|
|
12
18
|
//# sourceMappingURL=ReactNativeCrypto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/ReactNativeCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAyB,iBAAiB,EAAqB,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ReactNativeCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/ReactNativeCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAyB,iBAAiB,EAAqB,MAAM,UAAU,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuDvC;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IACtC,SAAS,CACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,EAC/B,WAAW,GAAE,iBAAgC,GAC9C,UAAU;IAkBJ,WAAW,CAChB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,WAAW,GAAE,iBAAgC;CAgBpD"}
|
|
@@ -28,7 +28,7 @@ crypto.hkdf = (digest, ikm, salt, info, keylen) => {
|
|
|
28
28
|
return T.slice(0, keylen);
|
|
29
29
|
};
|
|
30
30
|
class CryptoReactNative extends NodeJsCrypto {
|
|
31
|
-
|
|
31
|
+
signEcdsa(privateKey, data, dsaEncoding = "ieee-p1363") {
|
|
32
32
|
const signer = crypto.createSign(CRYPTO_HASH_ALGORITHM);
|
|
33
33
|
if (Array.isArray(data)) {
|
|
34
34
|
data.forEach((chunk) => signer.update(chunk));
|
|
@@ -44,7 +44,7 @@ class CryptoReactNative extends NodeJsCrypto {
|
|
|
44
44
|
})
|
|
45
45
|
);
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
verifyEcdsa(publicKey, data, signature, dsaEncoding = "ieee-p1363") {
|
|
48
48
|
const verifier = crypto.createVerify(CRYPTO_HASH_ALGORITHM);
|
|
49
49
|
verifier.update(data);
|
|
50
50
|
const success = verifier.verify(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/crypto/ReactNativeCrypto.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;AAExB,QAAQ;AAER,SAAS,uBAA0C,yBAAyB;AAC5E,SAAS,oBAAoB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;AAExB,QAAQ;AAER,SAAS,uBAA0C,yBAAyB;AAC5E,SAAS,oBAAoB;AAG7B,OAAO,aAAa;AAGpB,OAAO,OAAO,CACV,QACA,KACA,MACA,MACA,WACC;AACD,QAAM,UAAU,SAAS,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,KAAK;AACvD,QAAM,MAAM,OAEP,WAAW,QAAQ,KAAK,aAAa,OAAO,IAAI,WAAW,OAAO,CAAC,EACnE,OAAO,GAAG,EACV,OAAO;AASZ,QAAM,IAAI,KAAK,KAAK,SAAS,OAAO;AAIpC,QAAM,IAAI,IAAI,WAAW,UAAU,IAAI,KAAK,aAAa,CAAC;AAC1D,MAAI,OAAO;AACX,MAAI,QAAQ;AACZ,WAAS,IAAI,GAAG,KAAK,GAAG,KAAK;AACzB,MAAE,IAAI,MAAM,KAAK;AACjB,MAAE,QAAQ,KAAK,UAAU,IAAI;AAE7B,MAAE;AAAA,MACE,OAEK,WAAW,QAAQ,GAAG,EACtB,OAAO,EAAE,SAAS,MAAM,QAAQ,KAAK,aAAa,CAAC,CAAC,EACpD,OAAO;AAAA,MACZ;AAAA,IACJ;AAEA,WAAO;AACP,aAAS;AAAA,EACb;AAGA,SAAO,EAAE,MAAM,GAAG,MAAM;AAC5B;AAQO,MAAM,0BAA0B,aAAa;AAAA,EACvC,UACL,YACA,MACA,cAAiC,cACvB;AAEV,UAAM,SAAS,OAAO,WAAW,qBAAqB;AACtD,QAAI,MAAM,QAAQ,IAAI,GAAG;AACrB,WAAK,QAAQ,WAAS,OAAO,OAAO,KAAK,CAAC;AAAA,IAC9C,OAAO;AACH,aAAO,OAAO,IAAI;AAAA,IACtB;AACA,WAAO,IAAI;AAAA,MACP,OAAO,KAAK;AAAA,QACR,KAAK,QAAQ,YAA2B,EAAE,SAAS,KAAK,CAAC;AAAA,QACzD,QAAQ;AAAA,QACR,MAAM;AAAA,QACN;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAES,YACL,WACA,MACA,WACA,cAAiC,cACnC;AAEE,UAAM,WAAW,OAAO,aAAa,qBAAqB;AAC1D,aAAS,OAAO,IAAI;AACpB,UAAM,UAAU,SAAS;AAAA,MACrB;AAAA,QACI,KAAK,QAAQ,SAAwB;AAAA,QACrC,QAAQ;AAAA,QACR,MAAM;AAAA,QACN;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AACA,QAAI,CAAC,QAAS,OAAM,IAAI,kBAAkB,+BAA+B;AAAA,EAC7E;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/net/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,yBAAyB,CAAC;AAExC,wBAAsB,YAAY,
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/net/export.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,yBAAyB,CAAC;AAExC,wBAAsB,YAAY,kBAIjC"}
|
package/dist/esm/net/export.js
CHANGED
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Network } from "
|
|
6
|
+
import { Environment, Network } from "#general";
|
|
7
7
|
export * from "./NetworkReactNative.js";
|
|
8
8
|
async function closeNetwork() {
|
|
9
|
-
|
|
9
|
+
if (Environment.default.has(Network)) {
|
|
10
|
+
return Environment.default.get(Network).close();
|
|
11
|
+
}
|
|
10
12
|
}
|
|
11
13
|
export {
|
|
12
14
|
closeNetwork
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/net/export.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,eAAe;AAErC,cAAc;AAEd,eAAsB,eAAe;AACjC,MAAI,YAAY,QAAQ,IAAI,OAAO,GAAG;AAClC,WAAO,YAAY,QAAQ,IAAI,OAAO,EAAE,MAAM;AAAA,EAClD;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/react-native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0-alpha.0-20250612-ddd428561",
|
|
4
4
|
"description": "Experimental React Native support for matter.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"#*": "./src/*"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@matter/general": "0.
|
|
39
|
-
"@matter/nodejs": "0.
|
|
40
|
-
"@matter/protocol": "0.
|
|
41
|
-
"@react-native-async-storage/async-storage": "^2.
|
|
38
|
+
"@matter/general": "0.15.0-alpha.0-20250612-ddd428561",
|
|
39
|
+
"@matter/nodejs": "0.15.0-alpha.0-20250612-ddd428561",
|
|
40
|
+
"@matter/protocol": "0.15.0-alpha.0-20250612-ddd428561",
|
|
41
|
+
"@react-native-async-storage/async-storage": "^2.2.0",
|
|
42
42
|
"@react-native-community/netinfo": "^11.3.2",
|
|
43
43
|
"@types/jwk-to-pem": "^2.0.3",
|
|
44
44
|
"@types/node": "^22.15.29",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"react-native-udp": "^4.1.7"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@matter/tools": "0.
|
|
52
|
+
"@matter/tools": "0.15.0-alpha.0-20250612-ddd428561"
|
|
53
53
|
},
|
|
54
54
|
"overrides": {
|
|
55
55
|
"brorand": "npm:@matter.js/brorand@1.1.0"
|
|
@@ -10,6 +10,8 @@ install(); // Install the react-native crypto module
|
|
|
10
10
|
|
|
11
11
|
import { CRYPTO_HASH_ALGORITHM, CryptoDsaEncoding, CryptoVerifyError } from "#general";
|
|
12
12
|
import { NodeJsCrypto } from "#nodejs";
|
|
13
|
+
|
|
14
|
+
// TODO -
|
|
13
15
|
import jwk2pem from "jwk-to-pem";
|
|
14
16
|
|
|
15
17
|
// @ts-expect-error No types but all fine
|
|
@@ -62,8 +64,14 @@ crypto.hkdf = (
|
|
|
62
64
|
return T.slice(0, keylen);
|
|
63
65
|
};
|
|
64
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Crypto implementation for React Native
|
|
69
|
+
*
|
|
70
|
+
* We do not install this implementation by default because it is not fully functional. The Node.js crypto
|
|
71
|
+
* compatibility interface in React Native does not implement all features (AES-CCM, at least, is missing).
|
|
72
|
+
*/
|
|
65
73
|
export class CryptoReactNative extends NodeJsCrypto {
|
|
66
|
-
override
|
|
74
|
+
override signEcdsa(
|
|
67
75
|
privateKey: JsonWebKey,
|
|
68
76
|
data: Uint8Array | Uint8Array[],
|
|
69
77
|
dsaEncoding: CryptoDsaEncoding = "ieee-p1363",
|
|
@@ -85,7 +93,7 @@ export class CryptoReactNative extends NodeJsCrypto {
|
|
|
85
93
|
);
|
|
86
94
|
}
|
|
87
95
|
|
|
88
|
-
override
|
|
96
|
+
override verifyEcdsa(
|
|
89
97
|
publicKey: JsonWebKey,
|
|
90
98
|
data: Uint8Array,
|
|
91
99
|
signature: Uint8Array,
|
package/src/net/export.ts
CHANGED
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Network } from "
|
|
7
|
+
import { Environment, Network } from "#general";
|
|
8
8
|
|
|
9
9
|
export * from "./NetworkReactNative.js";
|
|
10
10
|
|
|
11
11
|
export async function closeNetwork() {
|
|
12
|
-
|
|
12
|
+
if (Environment.default.has(Network)) {
|
|
13
|
+
return Environment.default.get(Network).close();
|
|
14
|
+
}
|
|
13
15
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/crypto/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var import_general = require("@matter/general");
|
|
3
|
-
var import_ReactNativeCrypto = require("./ReactNativeCrypto.js");
|
|
4
|
-
/**
|
|
5
|
-
* @license
|
|
6
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
7
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
-
*/
|
|
9
|
-
import_general.Boot.init(() => {
|
|
10
|
-
try {
|
|
11
|
-
import_general.Crypto.get();
|
|
12
|
-
} catch (error) {
|
|
13
|
-
import_general.NoProviderError.accept(error);
|
|
14
|
-
import_general.Crypto.get = (0, import_general.singleton)(() => new import_ReactNativeCrypto.CryptoReactNative());
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=register.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/crypto/register.ts"],
|
|
4
|
-
"mappings": ";AAMA,qBAAyD;AACzD,+BAAkC;AAPlC;AAAA;AAAA;AAAA;AAAA;AASA,oBAAK,KAAK,MAAM;AAEZ,MAAI;AACA,0BAAO,IAAI;AAAA,EACf,SAAS,OAAO;AACZ,mCAAgB,OAAO,KAAK;AAC5B,0BAAO,UAAM,0BAAU,MAAM,IAAI,2CAAkB,CAAC;AAAA,EACxD;AACJ,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/net/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/dist/cjs/net/register.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var import_general = require("@matter/general");
|
|
3
|
-
var import_NetworkReactNative = require("./NetworkReactNative.js");
|
|
4
|
-
/**
|
|
5
|
-
* @license
|
|
6
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
7
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
-
*/
|
|
9
|
-
import_general.Boot.init(() => {
|
|
10
|
-
try {
|
|
11
|
-
import_general.Network.get();
|
|
12
|
-
} catch (error) {
|
|
13
|
-
import_general.NoProviderError.accept(error);
|
|
14
|
-
import_general.Network.get = (0, import_general.singleton)(() => new import_NetworkReactNative.NetworkReactNative());
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=register.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/net/register.ts"],
|
|
4
|
-
"mappings": ";AAMA,qBAA0D;AAC1D,gCAAmC;AAPnC;AAAA;AAAA;AAAA;AAAA;AASA,oBAAK,KAAK,MAAM;AAEZ,MAAI;AACA,2BAAQ,IAAI;AAAA,EAChB,SAAS,OAAO;AACZ,mCAAgB,OAAO,KAAK;AAC5B,2BAAQ,UAAM,0BAAU,MAAM,IAAI,6CAAmB,CAAC;AAAA,EAE1D;AACJ,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/crypto/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { Boot, Crypto, NoProviderError, singleton } from "@matter/general";
|
|
7
|
-
import { CryptoReactNative } from "./ReactNativeCrypto.js";
|
|
8
|
-
Boot.init(() => {
|
|
9
|
-
try {
|
|
10
|
-
Crypto.get();
|
|
11
|
-
} catch (error) {
|
|
12
|
-
NoProviderError.accept(error);
|
|
13
|
-
Crypto.get = singleton(() => new CryptoReactNative());
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=register.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/crypto/register.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAM,QAAQ,iBAAiB,iBAAiB;AACzD,SAAS,yBAAyB;AAElC,KAAK,KAAK,MAAM;AAEZ,MAAI;AACA,WAAO,IAAI;AAAA,EACf,SAAS,OAAO;AACZ,oBAAgB,OAAO,KAAK;AAC5B,WAAO,MAAM,UAAU,MAAM,IAAI,kBAAkB,CAAC;AAAA,EACxD;AACJ,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/net/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/dist/esm/net/register.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { Boot, Network, NoProviderError, singleton } from "@matter/general";
|
|
7
|
-
import { NetworkReactNative } from "./NetworkReactNative.js";
|
|
8
|
-
Boot.init(() => {
|
|
9
|
-
try {
|
|
10
|
-
Network.get();
|
|
11
|
-
} catch (error) {
|
|
12
|
-
NoProviderError.accept(error);
|
|
13
|
-
Network.get = singleton(() => new NetworkReactNative());
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=register.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/net/register.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAM,SAAS,iBAAiB,iBAAiB;AAC1D,SAAS,0BAA0B;AAEnC,KAAK,KAAK,MAAM;AAEZ,MAAI;AACA,YAAQ,IAAI;AAAA,EAChB,SAAS,OAAO;AACZ,oBAAgB,OAAO,KAAK;AAC5B,YAAQ,MAAM,UAAU,MAAM,IAAI,mBAAmB,CAAC;AAAA,EAE1D;AACJ,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/src/crypto/register.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { Boot, Crypto, NoProviderError, singleton } from "@matter/general";
|
|
8
|
-
import { CryptoReactNative } from "./ReactNativeCrypto.js";
|
|
9
|
-
|
|
10
|
-
Boot.init(() => {
|
|
11
|
-
// Check if Crypto singleton is already registered and auto register if not
|
|
12
|
-
try {
|
|
13
|
-
Crypto.get();
|
|
14
|
-
} catch (error) {
|
|
15
|
-
NoProviderError.accept(error);
|
|
16
|
-
Crypto.get = singleton(() => new CryptoReactNative());
|
|
17
|
-
}
|
|
18
|
-
});
|
package/src/net/register.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { Boot, Network, NoProviderError, singleton } from "@matter/general";
|
|
8
|
-
import { NetworkReactNative } from "./NetworkReactNative.js";
|
|
9
|
-
|
|
10
|
-
Boot.init(() => {
|
|
11
|
-
// Check if Network singleton is already registered and auto register if not
|
|
12
|
-
try {
|
|
13
|
-
Network.get();
|
|
14
|
-
} catch (error) {
|
|
15
|
-
NoProviderError.accept(error);
|
|
16
|
-
Network.get = singleton(() => new NetworkReactNative());
|
|
17
|
-
// use net export closeNetwork() to close the network
|
|
18
|
-
}
|
|
19
|
-
});
|