cojson 0.18.21 → 0.18.23

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.18.21 build /home/runner/_work/jazz/jazz/packages/cojson
2
+ > cojson@0.18.23 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,21 @@
1
1
  # cojson
2
2
 
3
+ ## 0.18.23
4
+
5
+ ### Patch Changes
6
+
7
+ - cojson-core-wasm@0.18.23
8
+ - cojson-core-napi@0.18.23
9
+
10
+ ## 0.18.22
11
+
12
+ ### Patch Changes
13
+
14
+ - 1e20db6: Added cojson-core-napi
15
+ - Updated dependencies [1e20db6]
16
+ - cojson-core-napi@0.18.22
17
+ - cojson-core-wasm@0.18.22
18
+
3
19
  ## 0.18.21
4
20
 
5
21
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
@@ -513,9 +513,10 @@ export class CoValueCore {
513
513
  const isBranched = this.isBranched();
514
514
  for (const [sessionID, sessionLog] of this.verified.sessions.entries()) {
515
515
  const count = this.verifiedTransactionsKnownSessions[sessionID] ?? 0;
516
- sessionLog.transactions.forEach((tx, txIndex) => {
517
- if (txIndex < count) {
518
- return;
516
+ for (let txIndex = count; txIndex < sessionLog.transactions.length; txIndex++) {
517
+ const tx = sessionLog.transactions[txIndex];
518
+ if (!tx) {
519
+ continue;
519
520
  }
520
521
  const txID = isBranched
521
522
  ? {
@@ -554,7 +555,7 @@ export class CoValueCore {
554
555
  this.verifiedTransactions.push(verifiedTransaction);
555
556
  this.lastVerifiedTransactionBySessionID[sessionID] =
556
557
  verifiedTransaction;
557
- });
558
+ }
558
559
  this.verifiedTransactionsKnownSessions[sessionID] =
559
560
  sessionLog.transactions.length;
560
561
  }
@@ -1 +1 @@
1
- {"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { SessionLog, Blake3Hasher } from "cojson-core-napi";
2
+ import { RawCoID, SessionID, TransactionID } from "../ids.js";
3
+ import { Stringified } from "../jsonStringify.js";
4
+ import { JsonObject, JsonValue } from "../jsonValue.js";
5
+ import { PureJSCrypto } from "./PureJSCrypto.js";
6
+ import { CryptoProvider, Encrypted, KeyID, KeySecret, Sealed, SealerID, SealerSecret, Signature, SignerID, SignerSecret } from "./crypto.js";
7
+ import { ControlledAccountOrAgent } from "../coValues/account.js";
8
+ import { WasmCrypto } from "./WasmCrypto.js";
9
+ import { PrivateTransaction, Transaction, TrustingTransaction } from "../coValueCore/verifiedState.js";
10
+ type Blake3State = Blake3Hasher;
11
+ /**
12
+ * N-API implementation of the CryptoProvider interface using cojson-core-napi.
13
+ * This provides the primary implementation using N-API for optimal performance, offering:
14
+ * - Signing/verifying (Ed25519)
15
+ * - Encryption/decryption (XSalsa20)
16
+ * - Sealing/unsealing (X25519 + XSalsa20-Poly1305)
17
+ * - Hashing (BLAKE3)
18
+ */
19
+ export declare class NapiCrypto extends CryptoProvider<Blake3State> {
20
+ private constructor();
21
+ static create(): Promise<NapiCrypto | PureJSCrypto | WasmCrypto>;
22
+ blake3HashOnce(data: Uint8Array): Uint8Array;
23
+ blake3HashOnceWithContext(data: Uint8Array, { context }: {
24
+ context: Uint8Array;
25
+ }): Uint8Array;
26
+ newEd25519SigningKey(): Uint8Array;
27
+ getSignerID(secret: SignerSecret): SignerID;
28
+ sign(secret: SignerSecret, message: JsonValue): Signature;
29
+ verify(signature: Signature, message: JsonValue, id: SignerID): boolean;
30
+ newX25519StaticSecret(): Uint8Array;
31
+ getSealerID(secret: SealerSecret): SealerID;
32
+ encrypt<T extends JsonValue, N extends JsonValue>(value: T, keySecret: KeySecret, nOnceMaterial: N): Encrypted<T, N>;
33
+ decryptRaw<T extends JsonValue, N extends JsonValue>(encrypted: Encrypted<T, N>, keySecret: KeySecret, nOnceMaterial: N): Stringified<T>;
34
+ seal<T extends JsonValue>({ message, from, to, nOnceMaterial, }: {
35
+ message: T;
36
+ from: SealerSecret;
37
+ to: SealerID;
38
+ nOnceMaterial: {
39
+ in: RawCoID;
40
+ tx: TransactionID;
41
+ };
42
+ }): Sealed<T>;
43
+ unseal<T extends JsonValue>(sealed: Sealed<T>, sealer: SealerSecret, from: SealerID, nOnceMaterial: {
44
+ in: RawCoID;
45
+ tx: TransactionID;
46
+ }): T | undefined;
47
+ createSessionLog(coID: RawCoID, sessionID: SessionID, signerID?: SignerID): SessionLogAdapter;
48
+ }
49
+ declare class SessionLogAdapter {
50
+ private readonly sessionLog;
51
+ constructor(sessionLog: SessionLog);
52
+ tryAdd(transactions: Transaction[], newSignature: Signature, skipVerify: boolean): void;
53
+ addNewPrivateTransaction(signerAgent: ControlledAccountOrAgent, changes: JsonValue[], keyID: KeyID, keySecret: KeySecret, madeAt: number, meta: JsonObject | undefined): {
54
+ signature: Signature;
55
+ transaction: PrivateTransaction;
56
+ };
57
+ addNewTrustingTransaction(signerAgent: ControlledAccountOrAgent, changes: JsonValue[], madeAt: number, meta: JsonObject | undefined): {
58
+ signature: Signature;
59
+ transaction: TrustingTransaction;
60
+ };
61
+ decryptNextTransactionChangesJson(txIndex: number, keySecret: KeySecret): string;
62
+ decryptNextTransactionMetaJson(txIndex: number, keySecret: KeySecret): string | undefined;
63
+ free(): void;
64
+ clone(): SessionLogAdapter;
65
+ }
66
+ export {};
67
+ //# sourceMappingURL=NapiCrypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NapiCrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/NapiCrypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { SessionLog, blake3HashOnce, blake3HashOnceWithContext, decrypt, encrypt, getSealerId, getSignerId, newEd25519SigningKey, newX25519PrivateKey, seal, sign, unseal, verify, } from "cojson-core-napi";
2
+ import { base64URLtoBytes, bytesToBase64url } from "../base64url.js";
3
+ import { stableStringify } from "../jsonStringify.js";
4
+ import { logger } from "../logger.js";
5
+ import { CryptoProvider, textDecoder, textEncoder, } from "./crypto.js";
6
+ /**
7
+ * N-API implementation of the CryptoProvider interface using cojson-core-napi.
8
+ * This provides the primary implementation using N-API for optimal performance, offering:
9
+ * - Signing/verifying (Ed25519)
10
+ * - Encryption/decryption (XSalsa20)
11
+ * - Sealing/unsealing (X25519 + XSalsa20-Poly1305)
12
+ * - Hashing (BLAKE3)
13
+ */
14
+ export class NapiCrypto extends CryptoProvider {
15
+ constructor() {
16
+ super();
17
+ }
18
+ static async create() {
19
+ return new NapiCrypto();
20
+ }
21
+ blake3HashOnce(data) {
22
+ return blake3HashOnce(data);
23
+ }
24
+ blake3HashOnceWithContext(data, { context }) {
25
+ return blake3HashOnceWithContext(data, context);
26
+ }
27
+ newEd25519SigningKey() {
28
+ return newEd25519SigningKey();
29
+ }
30
+ getSignerID(secret) {
31
+ return getSignerId(textEncoder.encode(secret));
32
+ }
33
+ sign(secret, message) {
34
+ return sign(textEncoder.encode(stableStringify(message)), textEncoder.encode(secret));
35
+ }
36
+ verify(signature, message, id) {
37
+ const result = verify(textEncoder.encode(signature), textEncoder.encode(stableStringify(message)), textEncoder.encode(id));
38
+ return result;
39
+ }
40
+ newX25519StaticSecret() {
41
+ return newX25519PrivateKey();
42
+ }
43
+ getSealerID(secret) {
44
+ return getSealerId(textEncoder.encode(secret));
45
+ }
46
+ encrypt(value, keySecret, nOnceMaterial) {
47
+ return `encrypted_U${bytesToBase64url(encrypt(textEncoder.encode(stableStringify(value)), keySecret, textEncoder.encode(stableStringify(nOnceMaterial))))}`;
48
+ }
49
+ decryptRaw(encrypted, keySecret, nOnceMaterial) {
50
+ return textDecoder.decode(decrypt(base64URLtoBytes(encrypted.substring("encrypted_U".length)), keySecret, textEncoder.encode(stableStringify(nOnceMaterial))));
51
+ }
52
+ seal({ message, from, to, nOnceMaterial, }) {
53
+ return `sealed_U${bytesToBase64url(seal(textEncoder.encode(stableStringify(message)), from, to, textEncoder.encode(stableStringify(nOnceMaterial))))}`;
54
+ }
55
+ unseal(sealed, sealer, from, nOnceMaterial) {
56
+ const plaintext = textDecoder.decode(unseal(base64URLtoBytes(sealed.substring("sealed_U".length)), sealer, from, textEncoder.encode(stableStringify(nOnceMaterial))));
57
+ try {
58
+ return JSON.parse(plaintext);
59
+ }
60
+ catch (e) {
61
+ logger.error("Failed to decrypt/parse sealed message", { err: e });
62
+ return undefined;
63
+ }
64
+ }
65
+ createSessionLog(coID, sessionID, signerID) {
66
+ return new SessionLogAdapter(new SessionLog(coID, sessionID, signerID));
67
+ }
68
+ }
69
+ class SessionLogAdapter {
70
+ constructor(sessionLog) {
71
+ this.sessionLog = sessionLog;
72
+ }
73
+ tryAdd(transactions, newSignature, skipVerify) {
74
+ this.sessionLog.tryAdd(transactions.map((tx) => stableStringify(tx)), newSignature, skipVerify);
75
+ }
76
+ addNewPrivateTransaction(signerAgent, changes, keyID, keySecret, madeAt, meta) {
77
+ const output = this.sessionLog.addNewPrivateTransaction(stableStringify(changes), signerAgent.currentSignerSecret(), keySecret, keyID, madeAt, meta ? stableStringify(meta) : undefined);
78
+ const parsedOutput = JSON.parse(output);
79
+ const transaction = {
80
+ privacy: "private",
81
+ madeAt,
82
+ encryptedChanges: parsedOutput.encrypted_changes,
83
+ keyUsed: keyID,
84
+ meta: parsedOutput.meta,
85
+ };
86
+ return { signature: parsedOutput.signature, transaction };
87
+ }
88
+ addNewTrustingTransaction(signerAgent, changes, madeAt, meta) {
89
+ const stringifiedChanges = stableStringify(changes);
90
+ const stringifiedMeta = meta ? stableStringify(meta) : undefined;
91
+ const output = this.sessionLog.addNewTrustingTransaction(stringifiedChanges, signerAgent.currentSignerSecret(), madeAt, stringifiedMeta);
92
+ const transaction = {
93
+ privacy: "trusting",
94
+ madeAt,
95
+ changes: stringifiedChanges,
96
+ meta: stringifiedMeta,
97
+ };
98
+ return { signature: output, transaction };
99
+ }
100
+ decryptNextTransactionChangesJson(txIndex, keySecret) {
101
+ const output = this.sessionLog.decryptNextTransactionChangesJson(txIndex, keySecret);
102
+ return output;
103
+ }
104
+ decryptNextTransactionMetaJson(txIndex, keySecret) {
105
+ return (this.sessionLog.decryptNextTransactionMetaJson(txIndex, keySecret) ||
106
+ undefined);
107
+ }
108
+ free() {
109
+ // No-op since the underlying SessionLog doesn't require explicit freeing
110
+ }
111
+ clone() {
112
+ return new SessionLogAdapter(this.sessionLog.clone());
113
+ }
114
+ }
115
+ //# sourceMappingURL=NapiCrypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NapiCrypto.js","sourceRoot":"","sources":["../../src/crypto/NapiCrypto.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SessionLog, initialize, blake3_hash_once, blake3_hash_once_with_context, decrypt, encrypt, get_sealer_id, get_signer_id, new_ed25519_signing_key, new_x25519_private_key, seal, sign, unseal, verify, } from "cojson-core-wasm";
1
+ import { SessionLog, initialize, blake3HashOnce, blake3HashOnceWithContext, decrypt, encrypt, getSealerId, getSignerId, newEd25519SigningKey, newX25519PrivateKey, seal, sign, unseal, verify, } from "cojson-core-wasm";
2
2
  import { base64URLtoBytes, bytesToBase64url } from "../base64url.js";
3
3
  import { stableStringify } from "../jsonStringify.js";
4
4
  import { logger } from "../logger.js";
@@ -31,16 +31,16 @@ export class WasmCrypto extends CryptoProvider {
31
31
  return new WasmCrypto();
32
32
  }
33
33
  blake3HashOnce(data) {
34
- return blake3_hash_once(data);
34
+ return blake3HashOnce(data);
35
35
  }
36
36
  blake3HashOnceWithContext(data, { context }) {
37
- return blake3_hash_once_with_context(data, context);
37
+ return blake3HashOnceWithContext(data, context);
38
38
  }
39
39
  newEd25519SigningKey() {
40
- return new_ed25519_signing_key();
40
+ return newEd25519SigningKey();
41
41
  }
42
42
  getSignerID(secret) {
43
- return get_signer_id(textEncoder.encode(secret));
43
+ return getSignerId(textEncoder.encode(secret));
44
44
  }
45
45
  sign(secret, message) {
46
46
  return sign(textEncoder.encode(stableStringify(message)), textEncoder.encode(secret));
@@ -50,10 +50,10 @@ export class WasmCrypto extends CryptoProvider {
50
50
  return result;
51
51
  }
52
52
  newX25519StaticSecret() {
53
- return new_x25519_private_key();
53
+ return newX25519PrivateKey();
54
54
  }
55
55
  getSealerID(secret) {
56
- return get_sealer_id(textEncoder.encode(secret));
56
+ return getSealerId(textEncoder.encode(secret));
57
57
  }
58
58
  encrypt(value, keySecret, nOnceMaterial) {
59
59
  return `encrypted_U${bytesToBase64url(encrypt(textEncoder.encode(stableStringify(value)), keySecret, textEncoder.encode(stableStringify(nOnceMaterial))))}`;
@@ -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
@@ -16,6 +16,10 @@
16
16
  "types": "./dist/crypto/PureJSCrypto.d.ts",
17
17
  "default": "./dist/crypto/PureJSCrypto.js"
18
18
  },
19
+ "./crypto/NapiCrypto": {
20
+ "types": "./dist/crypto/NapiCrypto.d.ts",
21
+ "default": "./dist/crypto/NapiCrypto.js"
22
+ },
19
23
  "./crypto/WasmCrypto": {
20
24
  "types": "./dist/crypto/WasmCrypto.d.ts",
21
25
  "default": "./dist/crypto/WasmCrypto.js"
@@ -29,7 +33,7 @@
29
33
  },
30
34
  "type": "module",
31
35
  "license": "MIT",
32
- "version": "0.18.21",
36
+ "version": "0.18.23",
33
37
  "devDependencies": {
34
38
  "@opentelemetry/sdk-metrics": "^2.0.0",
35
39
  "libsql": "^0.5.13",
@@ -43,7 +47,8 @@
43
47
  "@scure/base": "1.2.1",
44
48
  "neverthrow": "^7.0.1",
45
49
  "unicode-segmenter": "^0.12.0",
46
- "cojson-core-wasm": "0.18.21"
50
+ "cojson-core-wasm": "0.18.23",
51
+ "cojson-core-napi": "0.18.23"
47
52
  },
48
53
  "gitHead": "33c27053293b4801b968c61d5c4c989f93a67d13",
49
54
  "scripts": {
@@ -805,9 +805,14 @@ export class CoValueCore {
805
805
  for (const [sessionID, sessionLog] of this.verified.sessions.entries()) {
806
806
  const count = this.verifiedTransactionsKnownSessions[sessionID] ?? 0;
807
807
 
808
- sessionLog.transactions.forEach((tx, txIndex) => {
809
- if (txIndex < count) {
810
- return;
808
+ for (
809
+ let txIndex = count;
810
+ txIndex < sessionLog.transactions.length;
811
+ txIndex++
812
+ ) {
813
+ const tx = sessionLog.transactions[txIndex];
814
+ if (!tx) {
815
+ continue;
811
816
  }
812
817
 
813
818
  const txID = isBranched
@@ -852,7 +857,7 @@ export class CoValueCore {
852
857
  this.verifiedTransactions.push(verifiedTransaction);
853
858
  this.lastVerifiedTransactionBySessionID[sessionID] =
854
859
  verifiedTransaction;
855
- });
860
+ }
856
861
 
857
862
  this.verifiedTransactionsKnownSessions[sessionID] =
858
863
  sessionLog.transactions.length;
@@ -0,0 +1,278 @@
1
+ import {
2
+ SessionLog,
3
+ Blake3Hasher,
4
+ blake3HashOnce,
5
+ blake3HashOnceWithContext,
6
+ decrypt,
7
+ encrypt,
8
+ getSealerId,
9
+ getSignerId,
10
+ newEd25519SigningKey,
11
+ newX25519PrivateKey,
12
+ seal,
13
+ sign,
14
+ unseal,
15
+ verify,
16
+ } from "cojson-core-napi";
17
+ import { base64URLtoBytes, bytesToBase64url } from "../base64url.js";
18
+ import { RawCoID, SessionID, TransactionID } from "../ids.js";
19
+ import { Stringified, stableStringify } from "../jsonStringify.js";
20
+ import { JsonObject, JsonValue } from "../jsonValue.js";
21
+ import { logger } from "../logger.js";
22
+ import { PureJSCrypto } from "./PureJSCrypto.js";
23
+ import {
24
+ CryptoProvider,
25
+ Encrypted,
26
+ KeyID,
27
+ KeySecret,
28
+ Sealed,
29
+ SealerID,
30
+ SealerSecret,
31
+ Signature,
32
+ SignerID,
33
+ SignerSecret,
34
+ textDecoder,
35
+ textEncoder,
36
+ } from "./crypto.js";
37
+ import { ControlledAccountOrAgent } from "../coValues/account.js";
38
+ import { WasmCrypto } from "./WasmCrypto.js";
39
+
40
+ import {
41
+ PrivateTransaction,
42
+ Transaction,
43
+ TrustingTransaction,
44
+ } from "../coValueCore/verifiedState.js";
45
+
46
+ type Blake3State = Blake3Hasher;
47
+
48
+ /**
49
+ * N-API implementation of the CryptoProvider interface using cojson-core-napi.
50
+ * This provides the primary implementation using N-API for optimal performance, offering:
51
+ * - Signing/verifying (Ed25519)
52
+ * - Encryption/decryption (XSalsa20)
53
+ * - Sealing/unsealing (X25519 + XSalsa20-Poly1305)
54
+ * - Hashing (BLAKE3)
55
+ */
56
+ export class NapiCrypto extends CryptoProvider<Blake3State> {
57
+ private constructor() {
58
+ super();
59
+ }
60
+
61
+ static async create(): Promise<NapiCrypto | PureJSCrypto | WasmCrypto> {
62
+ return new NapiCrypto();
63
+ }
64
+
65
+ blake3HashOnce(data: Uint8Array) {
66
+ return blake3HashOnce(data);
67
+ }
68
+
69
+ blake3HashOnceWithContext(
70
+ data: Uint8Array,
71
+ { context }: { context: Uint8Array },
72
+ ) {
73
+ return blake3HashOnceWithContext(data, context);
74
+ }
75
+
76
+ newEd25519SigningKey(): Uint8Array {
77
+ return newEd25519SigningKey();
78
+ }
79
+
80
+ getSignerID(secret: SignerSecret): SignerID {
81
+ return getSignerId(textEncoder.encode(secret)) as SignerID;
82
+ }
83
+
84
+ sign(secret: SignerSecret, message: JsonValue): Signature {
85
+ return sign(
86
+ textEncoder.encode(stableStringify(message)),
87
+ textEncoder.encode(secret),
88
+ ) as Signature;
89
+ }
90
+
91
+ verify(signature: Signature, message: JsonValue, id: SignerID): boolean {
92
+ const result = verify(
93
+ textEncoder.encode(signature),
94
+ textEncoder.encode(stableStringify(message)),
95
+ textEncoder.encode(id),
96
+ );
97
+
98
+ return result;
99
+ }
100
+
101
+ newX25519StaticSecret(): Uint8Array {
102
+ return newX25519PrivateKey();
103
+ }
104
+
105
+ getSealerID(secret: SealerSecret): SealerID {
106
+ return getSealerId(textEncoder.encode(secret)) as SealerID;
107
+ }
108
+
109
+ encrypt<T extends JsonValue, N extends JsonValue>(
110
+ value: T,
111
+ keySecret: KeySecret,
112
+ nOnceMaterial: N,
113
+ ): Encrypted<T, N> {
114
+ return `encrypted_U${bytesToBase64url(
115
+ encrypt(
116
+ textEncoder.encode(stableStringify(value)),
117
+ keySecret,
118
+ textEncoder.encode(stableStringify(nOnceMaterial)),
119
+ ),
120
+ )}` as Encrypted<T, N>;
121
+ }
122
+
123
+ decryptRaw<T extends JsonValue, N extends JsonValue>(
124
+ encrypted: Encrypted<T, N>,
125
+ keySecret: KeySecret,
126
+ nOnceMaterial: N,
127
+ ): Stringified<T> {
128
+ return textDecoder.decode(
129
+ decrypt(
130
+ base64URLtoBytes(encrypted.substring("encrypted_U".length)),
131
+ keySecret,
132
+ textEncoder.encode(stableStringify(nOnceMaterial)),
133
+ ),
134
+ ) as Stringified<T>;
135
+ }
136
+
137
+ seal<T extends JsonValue>({
138
+ message,
139
+ from,
140
+ to,
141
+ nOnceMaterial,
142
+ }: {
143
+ message: T;
144
+ from: SealerSecret;
145
+ to: SealerID;
146
+ nOnceMaterial: { in: RawCoID; tx: TransactionID };
147
+ }): Sealed<T> {
148
+ return `sealed_U${bytesToBase64url(
149
+ seal(
150
+ textEncoder.encode(stableStringify(message)),
151
+ from,
152
+ to,
153
+ textEncoder.encode(stableStringify(nOnceMaterial)),
154
+ ),
155
+ )}` as Sealed<T>;
156
+ }
157
+
158
+ unseal<T extends JsonValue>(
159
+ sealed: Sealed<T>,
160
+ sealer: SealerSecret,
161
+ from: SealerID,
162
+ nOnceMaterial: { in: RawCoID; tx: TransactionID },
163
+ ): T | undefined {
164
+ const plaintext = textDecoder.decode(
165
+ unseal(
166
+ base64URLtoBytes(sealed.substring("sealed_U".length)),
167
+ sealer,
168
+ from,
169
+ textEncoder.encode(stableStringify(nOnceMaterial)),
170
+ ),
171
+ );
172
+ try {
173
+ return JSON.parse(plaintext) as T;
174
+ } catch (e) {
175
+ logger.error("Failed to decrypt/parse sealed message", { err: e });
176
+ return undefined;
177
+ }
178
+ }
179
+
180
+ createSessionLog(coID: RawCoID, sessionID: SessionID, signerID?: SignerID) {
181
+ return new SessionLogAdapter(new SessionLog(coID, sessionID, signerID));
182
+ }
183
+ }
184
+
185
+ class SessionLogAdapter {
186
+ constructor(private readonly sessionLog: SessionLog) {}
187
+
188
+ tryAdd(
189
+ transactions: Transaction[],
190
+ newSignature: Signature,
191
+ skipVerify: boolean,
192
+ ): void {
193
+ this.sessionLog.tryAdd(
194
+ transactions.map((tx) => stableStringify(tx)),
195
+ newSignature,
196
+ skipVerify,
197
+ );
198
+ }
199
+
200
+ addNewPrivateTransaction(
201
+ signerAgent: ControlledAccountOrAgent,
202
+ changes: JsonValue[],
203
+ keyID: KeyID,
204
+ keySecret: KeySecret,
205
+ madeAt: number,
206
+ meta: JsonObject | undefined,
207
+ ): { signature: Signature; transaction: PrivateTransaction } {
208
+ const output = this.sessionLog.addNewPrivateTransaction(
209
+ stableStringify(changes),
210
+ signerAgent.currentSignerSecret(),
211
+ keySecret,
212
+ keyID,
213
+ madeAt,
214
+ meta ? stableStringify(meta) : undefined,
215
+ );
216
+ const parsedOutput = JSON.parse(output);
217
+ const transaction: PrivateTransaction = {
218
+ privacy: "private",
219
+ madeAt,
220
+ encryptedChanges: parsedOutput.encrypted_changes,
221
+ keyUsed: keyID,
222
+ meta: parsedOutput.meta,
223
+ };
224
+ return { signature: parsedOutput.signature, transaction };
225
+ }
226
+
227
+ addNewTrustingTransaction(
228
+ signerAgent: ControlledAccountOrAgent,
229
+ changes: JsonValue[],
230
+ madeAt: number,
231
+ meta: JsonObject | undefined,
232
+ ): { signature: Signature; transaction: TrustingTransaction } {
233
+ const stringifiedChanges = stableStringify(changes);
234
+ const stringifiedMeta = meta ? stableStringify(meta) : undefined;
235
+ const output = this.sessionLog.addNewTrustingTransaction(
236
+ stringifiedChanges,
237
+ signerAgent.currentSignerSecret(),
238
+ madeAt,
239
+ stringifiedMeta,
240
+ );
241
+ const transaction: TrustingTransaction = {
242
+ privacy: "trusting",
243
+ madeAt,
244
+ changes: stringifiedChanges,
245
+ meta: stringifiedMeta,
246
+ };
247
+ return { signature: output as Signature, transaction };
248
+ }
249
+
250
+ decryptNextTransactionChangesJson(
251
+ txIndex: number,
252
+ keySecret: KeySecret,
253
+ ): string {
254
+ const output = this.sessionLog.decryptNextTransactionChangesJson(
255
+ txIndex,
256
+ keySecret,
257
+ );
258
+ return output;
259
+ }
260
+
261
+ decryptNextTransactionMetaJson(
262
+ txIndex: number,
263
+ keySecret: KeySecret,
264
+ ): string | undefined {
265
+ return (
266
+ this.sessionLog.decryptNextTransactionMetaJson(txIndex, keySecret) ||
267
+ undefined
268
+ );
269
+ }
270
+
271
+ free() {
272
+ // No-op since the underlying SessionLog doesn't require explicit freeing
273
+ }
274
+
275
+ clone(): SessionLogAdapter {
276
+ return new SessionLogAdapter(this.sessionLog.clone());
277
+ }
278
+ }
@@ -2,14 +2,14 @@ import {
2
2
  SessionLog,
3
3
  initialize,
4
4
  Blake3Hasher,
5
- blake3_hash_once,
6
- blake3_hash_once_with_context,
5
+ blake3HashOnce,
6
+ blake3HashOnceWithContext,
7
7
  decrypt,
8
8
  encrypt,
9
- get_sealer_id,
10
- get_signer_id,
11
- new_ed25519_signing_key,
12
- new_x25519_private_key,
9
+ getSealerId,
10
+ getSignerId,
11
+ newEd25519SigningKey,
12
+ newX25519PrivateKey,
13
13
  seal,
14
14
  sign,
15
15
  unseal,
@@ -77,22 +77,22 @@ export class WasmCrypto extends CryptoProvider<Blake3State> {
77
77
  }
78
78
 
79
79
  blake3HashOnce(data: Uint8Array) {
80
- return blake3_hash_once(data);
80
+ return blake3HashOnce(data);
81
81
  }
82
82
 
83
83
  blake3HashOnceWithContext(
84
84
  data: Uint8Array,
85
85
  { context }: { context: Uint8Array },
86
86
  ) {
87
- return blake3_hash_once_with_context(data, context);
87
+ return blake3HashOnceWithContext(data, context);
88
88
  }
89
89
 
90
90
  newEd25519SigningKey(): Uint8Array {
91
- return new_ed25519_signing_key();
91
+ return newEd25519SigningKey();
92
92
  }
93
93
 
94
94
  getSignerID(secret: SignerSecret): SignerID {
95
- return get_signer_id(textEncoder.encode(secret)) as SignerID;
95
+ return getSignerId(textEncoder.encode(secret)) as SignerID;
96
96
  }
97
97
 
98
98
  sign(secret: SignerSecret, message: JsonValue): Signature {
@@ -113,11 +113,11 @@ export class WasmCrypto extends CryptoProvider<Blake3State> {
113
113
  }
114
114
 
115
115
  newX25519StaticSecret(): Uint8Array {
116
- return new_x25519_private_key();
116
+ return newX25519PrivateKey();
117
117
  }
118
118
 
119
119
  getSealerID(secret: SealerSecret): SealerID {
120
- return get_sealer_id(textEncoder.encode(secret)) as SealerID;
120
+ return getSealerId(textEncoder.encode(secret)) as SealerID;
121
121
  }
122
122
 
123
123
  encrypt<T extends JsonValue, N extends JsonValue>(