cojson 0.11.3 → 0.11.5

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > cojson@0.11.3 build /home/runner/_work/jazz/jazz/packages/cojson
2
+ > cojson@0.11.5 build /home/runner/_work/jazz/jazz/packages/cojson
3
3
  > rm -rf ./dist && tsc --sourceMap --outDir dist
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # cojson
2
2
 
3
+ ## 0.11.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 60f5b3f: Downgrade the WasmCrypto initialization error logging to a warning
8
+
9
+ ## 0.11.4
10
+
11
+ ### Patch Changes
12
+
13
+ - 7f036c1: Use PureJSCrypto as fallback when WasmCrypto fails to initialize
14
+
3
15
  ## 0.11.3
4
16
 
5
17
  ### Patch Changes
@@ -2,6 +2,7 @@ import { Blake3Hasher } from "jazz-crypto-rs";
2
2
  import { RawCoID, TransactionID } from "../ids.js";
3
3
  import { Stringified } from "../jsonStringify.js";
4
4
  import { JsonValue } from "../jsonValue.js";
5
+ import { PureJSCrypto } from "./PureJSCrypto.js";
5
6
  import { CryptoProvider, Encrypted, KeySecret, Sealed, SealerID, SealerSecret, Signature, SignerID, SignerSecret } from "./crypto.js";
6
7
  type Blake3State = Blake3Hasher;
7
8
  /**
@@ -14,7 +15,7 @@ type Blake3State = Blake3Hasher;
14
15
  */
15
16
  export declare class WasmCrypto extends CryptoProvider<Blake3State> {
16
17
  private constructor();
17
- static create(): Promise<WasmCrypto>;
18
+ static create(): Promise<WasmCrypto | PureJSCrypto>;
18
19
  emptyBlake3State(): Blake3State;
19
20
  cloneBlake3State(state: Blake3State): Blake3State;
20
21
  blake3HashOnce(data: Uint8Array): Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"WasmCrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAeb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,YAAY,EAGb,MAAM,aAAa,CAAC;AAErB,KAAK,WAAW,GAAG,YAAY,CAAC;AAEhC;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,cAAc,CAAC,WAAW,CAAC;IACzD,OAAO;WAIM,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAK1C,gBAAgB,IAAI,WAAW;IAI/B,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAIjD,cAAc,CAAC,IAAI,EAAE,UAAU;IAI/B,yBAAyB,CACvB,IAAI,EAAE,UAAU,EAChB,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE;IAKtC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW;IAK1E,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU;IAIpD,oBAAoB,IAAI,UAAU;IAIlC,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ;IAI3C,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS;IAOzD,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO;IAQvE,qBAAqB,IAAI,UAAU;IAInC,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ;IAI3C,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,CAAC,GACf,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAUlB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACjD,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,CAAC,GACf,WAAW,CAAC,CAAC,CAAC;IAUjB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EACxB,OAAO,EACP,IAAI,EACJ,EAAE,EACF,aAAa,GACd,EAAE;QACD,OAAO,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,YAAY,CAAC;QACnB,EAAE,EAAE,QAAQ,CAAC;QACb,aAAa,EAAE;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,EAAE,EAAE,aAAa,CAAA;SAAE,CAAC;KACnD,GAAG,MAAM,CAAC,CAAC,CAAC;IAWb,MAAM,CAAC,CAAC,SAAS,SAAS,EACxB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,aAAa,CAAA;KAAE,GAChD,CAAC,GAAG,SAAS;CAgBjB"}
1
+ {"version":3,"file":"WasmCrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAeb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,YAAY,EAGb,MAAM,aAAa,CAAC;AAErB,KAAK,WAAW,GAAG,YAAY,CAAC;AAEhC;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,cAAc,CAAC,WAAW,CAAC;IACzD,OAAO;WAIM,MAAM,IAAI,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC;IAczD,gBAAgB,IAAI,WAAW;IAI/B,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAIjD,cAAc,CAAC,IAAI,EAAE,UAAU;IAI/B,yBAAyB,CACvB,IAAI,EAAE,UAAU,EAChB,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE;IAKtC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW;IAK1E,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU;IAIpD,oBAAoB,IAAI,UAAU;IAIlC,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ;IAI3C,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS;IAOzD,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO;IAQvE,qBAAqB,IAAI,UAAU;IAInC,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ;IAI3C,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,CAAC,GACf,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAUlB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACjD,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,CAAC,GACf,WAAW,CAAC,CAAC,CAAC;IAUjB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EACxB,OAAO,EACP,IAAI,EACJ,EAAE,EACF,aAAa,GACd,EAAE;QACD,OAAO,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,YAAY,CAAC;QACnB,EAAE,EAAE,QAAQ,CAAC;QACb,aAAa,EAAE;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,EAAE,EAAE,aAAa,CAAA;SAAE,CAAC;KACnD,GAAG,MAAM,CAAC,CAAC,CAAC;IAWb,MAAM,CAAC,CAAC,SAAS,SAAS,EACxB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,aAAa,CAAA;KAAE,GAChD,CAAC,GAAG,SAAS;CAgBjB"}
@@ -2,6 +2,7 @@ import { blake3_empty_state, blake3_hash_once, blake3_hash_once_with_context, de
2
2
  import { base64URLtoBytes, bytesToBase64url } from "../base64url.js";
3
3
  import { stableStringify } from "../jsonStringify.js";
4
4
  import { logger } from "../logger.js";
5
+ import { PureJSCrypto } from "./PureJSCrypto.js";
5
6
  import { CryptoProvider, textDecoder, textEncoder, } from "./crypto.js";
6
7
  /**
7
8
  * WebAssembly implementation of the CryptoProvider interface using jazz-crypto-rs.
@@ -16,7 +17,13 @@ export class WasmCrypto extends CryptoProvider {
16
17
  super();
17
18
  }
18
19
  static async create() {
19
- await initialize();
20
+ try {
21
+ await initialize();
22
+ }
23
+ catch (e) {
24
+ logger.warn("Failed to initialize WasmCrypto, falling back to PureJSCrypto", { err: e });
25
+ return new PureJSCrypto();
26
+ }
20
27
  return new WasmCrypto();
21
28
  }
22
29
  emptyBlake3State() {
@@ -1 +1 @@
1
- {"version":3,"file":"WasmCrypto.js","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WasmCrypto.js","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "type": "module",
27
27
  "license": "MIT",
28
- "version": "0.11.3",
28
+ "version": "0.11.5",
29
29
  "devDependencies": {
30
30
  "@opentelemetry/sdk-metrics": "^1.29.0",
31
31
  "typescript": "~5.6.2",
@@ -20,6 +20,7 @@ import { RawCoID, TransactionID } from "../ids.js";
20
20
  import { Stringified, stableStringify } from "../jsonStringify.js";
21
21
  import { JsonValue } from "../jsonValue.js";
22
22
  import { logger } from "../logger.js";
23
+ import { PureJSCrypto } from "./PureJSCrypto.js";
23
24
  import {
24
25
  CryptoProvider,
25
26
  Encrypted,
@@ -49,8 +50,17 @@ export class WasmCrypto extends CryptoProvider<Blake3State> {
49
50
  super();
50
51
  }
51
52
 
52
- static async create(): Promise<WasmCrypto> {
53
- await initialize();
53
+ static async create(): Promise<WasmCrypto | PureJSCrypto> {
54
+ try {
55
+ await initialize();
56
+ } catch (e) {
57
+ logger.warn(
58
+ "Failed to initialize WasmCrypto, falling back to PureJSCrypto",
59
+ { err: e },
60
+ );
61
+ return new PureJSCrypto();
62
+ }
63
+
54
64
  return new WasmCrypto();
55
65
  }
56
66