cojson 0.7.0-alpha.36 → 0.7.0-alpha.38

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.
Files changed (106) hide show
  1. package/.eslintrc.cjs +3 -2
  2. package/.prettierrc.js +9 -0
  3. package/.turbo/turbo-build.log +3 -36
  4. package/.turbo/turbo-lint.log +4 -0
  5. package/.turbo/turbo-test.log +1106 -0
  6. package/CHANGELOG.md +12 -0
  7. package/README.md +3 -1
  8. package/dist/base64url.test.js +25 -0
  9. package/dist/base64url.test.js.map +1 -0
  10. package/dist/coValueCore.js +16 -15
  11. package/dist/coValueCore.js.map +1 -1
  12. package/dist/coValues/account.js +16 -15
  13. package/dist/coValues/account.js.map +1 -1
  14. package/dist/coValues/group.js +13 -14
  15. package/dist/coValues/group.js.map +1 -1
  16. package/dist/coreToCoValue.js.map +1 -1
  17. package/dist/crypto/PureJSCrypto.js +89 -0
  18. package/dist/crypto/PureJSCrypto.js.map +1 -0
  19. package/dist/crypto/WasmCrypto.js +127 -0
  20. package/dist/crypto/WasmCrypto.js.map +1 -0
  21. package/dist/crypto/crypto.js +151 -0
  22. package/dist/crypto/crypto.js.map +1 -0
  23. package/dist/ids.js +4 -2
  24. package/dist/ids.js.map +1 -1
  25. package/dist/index.js +5 -9
  26. package/dist/index.js.map +1 -1
  27. package/dist/jsonStringify.js.map +1 -1
  28. package/dist/localNode.js +24 -24
  29. package/dist/localNode.js.map +1 -1
  30. package/dist/permissions.js.map +1 -1
  31. package/dist/storage/FileSystem.js +2 -2
  32. package/dist/storage/FileSystem.js.map +1 -1
  33. package/dist/storage/chunksAndKnownStates.js +2 -2
  34. package/dist/storage/chunksAndKnownStates.js.map +1 -1
  35. package/dist/storage/index.js.map +1 -1
  36. package/dist/sync.js +6 -2
  37. package/dist/sync.js.map +1 -1
  38. package/dist/tests/account.test.js +58 -0
  39. package/dist/tests/account.test.js.map +1 -0
  40. package/dist/tests/coList.test.js +76 -0
  41. package/dist/tests/coList.test.js.map +1 -0
  42. package/dist/tests/coMap.test.js +136 -0
  43. package/dist/tests/coMap.test.js.map +1 -0
  44. package/dist/tests/coStream.test.js +172 -0
  45. package/dist/tests/coStream.test.js.map +1 -0
  46. package/dist/tests/coValueCore.test.js +114 -0
  47. package/dist/tests/coValueCore.test.js.map +1 -0
  48. package/dist/tests/crypto.test.js +118 -0
  49. package/dist/tests/crypto.test.js.map +1 -0
  50. package/dist/tests/cryptoImpl.test.js +113 -0
  51. package/dist/tests/cryptoImpl.test.js.map +1 -0
  52. package/dist/tests/group.test.js +34 -0
  53. package/dist/tests/group.test.js.map +1 -0
  54. package/dist/tests/permissions.test.js +1060 -0
  55. package/dist/tests/permissions.test.js.map +1 -0
  56. package/dist/tests/sync.test.js +816 -0
  57. package/dist/tests/sync.test.js.map +1 -0
  58. package/dist/tests/testUtils.js +10 -9
  59. package/dist/tests/testUtils.js.map +1 -1
  60. package/dist/typeUtils/accountOrAgentIDfromSessionID.js.map +1 -1
  61. package/dist/typeUtils/isAccountID.js.map +1 -1
  62. package/dist/typeUtils/isCoValue.js.map +1 -1
  63. package/package.json +14 -28
  64. package/src/base64url.test.ts +6 -6
  65. package/src/coValue.ts +1 -1
  66. package/src/coValueCore.ts +87 -85
  67. package/src/coValues/account.ts +26 -28
  68. package/src/coValues/coList.ts +10 -10
  69. package/src/coValues/coMap.ts +10 -10
  70. package/src/coValues/coStream.ts +17 -17
  71. package/src/coValues/group.ts +93 -109
  72. package/src/coreToCoValue.ts +5 -2
  73. package/src/crypto/PureJSCrypto.ts +200 -0
  74. package/src/crypto/WasmCrypto.ts +259 -0
  75. package/src/crypto/crypto.ts +336 -0
  76. package/src/ids.ts +8 -7
  77. package/src/index.ts +14 -26
  78. package/src/jsonStringify.ts +6 -4
  79. package/src/jsonValue.ts +2 -2
  80. package/src/localNode.ts +86 -80
  81. package/src/media.ts +3 -3
  82. package/src/permissions.ts +14 -16
  83. package/src/storage/FileSystem.ts +31 -30
  84. package/src/storage/chunksAndKnownStates.ts +24 -17
  85. package/src/storage/index.ts +42 -38
  86. package/src/streamUtils.ts +12 -12
  87. package/src/sync.ts +56 -40
  88. package/src/tests/account.test.ts +8 -12
  89. package/src/tests/coList.test.ts +19 -25
  90. package/src/tests/coMap.test.ts +25 -30
  91. package/src/tests/coStream.test.ts +28 -38
  92. package/src/tests/coValueCore.test.ts +35 -36
  93. package/src/tests/crypto.test.ts +66 -72
  94. package/src/tests/cryptoImpl.test.ts +183 -0
  95. package/src/tests/group.test.ts +16 -17
  96. package/src/tests/permissions.test.ts +237 -254
  97. package/src/tests/sync.test.ts +119 -120
  98. package/src/tests/testUtils.ts +22 -19
  99. package/src/typeUtils/accountOrAgentIDfromSessionID.ts +1 -2
  100. package/src/typeUtils/expectGroup.ts +1 -1
  101. package/src/typeUtils/isAccountID.ts +0 -1
  102. package/src/typeUtils/isCoValue.ts +1 -2
  103. package/tsconfig.json +0 -1
  104. package/dist/crypto.js +0 -255
  105. package/dist/crypto.js.map +0 -1
  106. package/src/crypto.ts +0 -485
@@ -0,0 +1,127 @@
1
+ import { initBundledOnce, Ed25519SigningKey, Ed25519VerifyingKey, X25519StaticSecret, Memory, Ed25519Signature, X25519PublicKey, } from "@hazae41/berith";
2
+ import { xsalsa20_poly1305, xsalsa20 } from "@noble/ciphers/salsa";
3
+ import { base58 } from "@scure/base";
4
+ import { randomBytes } from "@noble/ciphers/webcrypto/utils";
5
+ import { base64URLtoBytes, bytesToBase64url } from "../base64url.js";
6
+ import { createBLAKE3 } from "hash-wasm";
7
+ import { stableStringify } from "../jsonStringify.js";
8
+ import { CryptoProvider, textEncoder, textDecoder, } from "./crypto.js";
9
+ export class WasmCrypto extends CryptoProvider {
10
+ constructor(blake3Instance) {
11
+ super();
12
+ this.blake3Instance = blake3Instance;
13
+ }
14
+ static async create() {
15
+ return Promise.all([
16
+ createBLAKE3(),
17
+ initBundledOnce(),
18
+ new Promise((resolve) => {
19
+ if ("crypto" in globalThis) {
20
+ resolve();
21
+ }
22
+ else {
23
+ return import("node:crypto").then(({ webcrypto }) => {
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
+ globalThis.crypto = webcrypto;
26
+ resolve();
27
+ });
28
+ }
29
+ }),
30
+ ]).then(([blake3instance]) => new WasmCrypto(blake3instance));
31
+ }
32
+ randomBytes(length) {
33
+ return randomBytes(length);
34
+ }
35
+ emptyBlake3State() {
36
+ return this.blake3Instance.init().save();
37
+ }
38
+ blake3HashOnce(data) {
39
+ return this.blake3Instance.init().update(data).digest("binary");
40
+ }
41
+ blake3HashOnceWithContext(data, { context }) {
42
+ return this.blake3Instance
43
+ .init()
44
+ .update(context)
45
+ .update(data)
46
+ .digest("binary");
47
+ }
48
+ blake3IncrementalUpdate(state, data) {
49
+ return this.blake3Instance.load(state).update(data).save();
50
+ }
51
+ blake3DigestForState(state) {
52
+ return this.blake3Instance.load(state).digest("binary");
53
+ }
54
+ newEd25519SigningKey() {
55
+ return new Ed25519SigningKey().to_bytes().copyAndDispose();
56
+ }
57
+ getSignerID(secret) {
58
+ return `signer_z${base58.encode(Ed25519SigningKey.from_bytes(new Memory(base58.decode(secret.substring("signerSecret_z".length))))
59
+ .public()
60
+ .to_bytes()
61
+ .copyAndDispose())}`;
62
+ }
63
+ sign(secret, message) {
64
+ const signature = Ed25519SigningKey.from_bytes(new Memory(base58.decode(secret.substring("signerSecret_z".length))))
65
+ .sign(new Memory(textEncoder.encode(stableStringify(message))))
66
+ .to_bytes()
67
+ .copyAndDispose();
68
+ return `signature_z${base58.encode(signature)}`;
69
+ }
70
+ verify(signature, message, id) {
71
+ return new Ed25519VerifyingKey(new Memory(base58.decode(id.substring("signer_z".length)))).verify(new Memory(textEncoder.encode(stableStringify(message))), new Ed25519Signature(new Memory(base58.decode(signature.substring("signature_z".length)))));
72
+ }
73
+ newX25519StaticSecret() {
74
+ return new X25519StaticSecret().to_bytes().copyAndDispose();
75
+ }
76
+ getSealerID(secret) {
77
+ return `sealer_z${base58.encode(X25519StaticSecret.from_bytes(new Memory(base58.decode(secret.substring("sealerSecret_z".length))))
78
+ .to_public()
79
+ .to_bytes()
80
+ .copyAndDispose())}`;
81
+ }
82
+ encrypt(value, keySecret, nOnceMaterial) {
83
+ const keySecretBytes = base58.decode(keySecret.substring("keySecret_z".length));
84
+ const nOnce = this.blake3HashOnce(textEncoder.encode(stableStringify(nOnceMaterial))).slice(0, 24);
85
+ const plaintext = textEncoder.encode(stableStringify(value));
86
+ const ciphertext = xsalsa20(keySecretBytes, nOnce, plaintext);
87
+ return `encrypted_U${bytesToBase64url(ciphertext)}`;
88
+ }
89
+ decryptRaw(encrypted, keySecret, nOnceMaterial) {
90
+ const keySecretBytes = base58.decode(keySecret.substring("keySecret_z".length));
91
+ const nOnce = this.blake3HashOnce(textEncoder.encode(stableStringify(nOnceMaterial))).slice(0, 24);
92
+ const ciphertext = base64URLtoBytes(encrypted.substring("encrypted_U".length));
93
+ const plaintext = xsalsa20(keySecretBytes, nOnce, ciphertext);
94
+ return textDecoder.decode(plaintext);
95
+ }
96
+ seal({ message, from, to, nOnceMaterial, }) {
97
+ const nOnce = this.blake3HashOnce(textEncoder.encode(stableStringify(nOnceMaterial))).slice(0, 24);
98
+ const sealerPub = base58.decode(to.substring("sealer_z".length));
99
+ const senderPriv = base58.decode(from.substring("sealerSecret_z".length));
100
+ const plaintext = textEncoder.encode(stableStringify(message));
101
+ const sharedSecret = X25519StaticSecret.from_bytes(new Memory(senderPriv))
102
+ .diffie_hellman(X25519PublicKey.from_bytes(new Memory(sealerPub)))
103
+ .to_bytes()
104
+ .copyAndDispose();
105
+ const sealedBytes = xsalsa20_poly1305(sharedSecret, nOnce).encrypt(plaintext);
106
+ return `sealed_U${bytesToBase64url(sealedBytes)}`;
107
+ }
108
+ unseal(sealed, sealer, from, nOnceMaterial) {
109
+ const nOnce = this.blake3HashOnce(textEncoder.encode(stableStringify(nOnceMaterial))).slice(0, 24);
110
+ const sealerPriv = base58.decode(sealer.substring("sealerSecret_z".length));
111
+ const senderPub = base58.decode(from.substring("sealer_z".length));
112
+ const sealedBytes = base64URLtoBytes(sealed.substring("sealed_U".length));
113
+ const sharedSecret = X25519StaticSecret.from_bytes(new Memory(sealerPriv))
114
+ .diffie_hellman(X25519PublicKey.from_bytes(new Memory(senderPub)))
115
+ .to_bytes()
116
+ .copyAndDispose();
117
+ const plaintext = xsalsa20_poly1305(sharedSecret, nOnce).decrypt(sealedBytes);
118
+ try {
119
+ return JSON.parse(textDecoder.decode(plaintext));
120
+ }
121
+ catch (e) {
122
+ console.error("Failed to decrypt/parse sealed message", e);
123
+ return undefined;
124
+ }
125
+ }
126
+ }
127
+ //# sourceMappingURL=WasmCrypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WasmCrypto.js","sourceRoot":"","sources":["../../src/crypto/WasmCrypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { base58 } from "@scure/base";
2
+ import { parseJSON, stableStringify } from "../jsonStringify.js";
3
+ export const textEncoder = new TextEncoder();
4
+ export const textDecoder = new TextDecoder();
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ export class CryptoProvider {
7
+ newRandomSigner() {
8
+ return `signerSecret_z${base58.encode(this.newEd25519SigningKey())}`;
9
+ }
10
+ signerSecretToBytes(secret) {
11
+ return base58.decode(secret.substring("signerSecret_z".length));
12
+ }
13
+ signerSecretFromBytes(bytes) {
14
+ return `signerSecret_z${base58.encode(bytes)}`;
15
+ }
16
+ newRandomSealer() {
17
+ return `sealerSecret_z${base58.encode(this.newX25519StaticSecret())}`;
18
+ }
19
+ sealerSecretToBytes(secret) {
20
+ return base58.decode(secret.substring("sealerSecret_z".length));
21
+ }
22
+ sealerSecretFromBytes(bytes) {
23
+ return `sealerSecret_z${base58.encode(bytes)}`;
24
+ }
25
+ newRandomAgentSecret() {
26
+ return `${this.newRandomSealer()}/${this.newRandomSigner()}`;
27
+ }
28
+ agentSecretToBytes(secret) {
29
+ const [sealerSecret, signerSecret] = secret.split("/");
30
+ return new Uint8Array([
31
+ ...this.sealerSecretToBytes(sealerSecret),
32
+ ...this.signerSecretToBytes(signerSecret),
33
+ ]);
34
+ }
35
+ agentSecretFromBytes(bytes) {
36
+ const sealerSecret = this.sealerSecretFromBytes(bytes.slice(0, 32));
37
+ const signerSecret = this.signerSecretFromBytes(bytes.slice(32));
38
+ return `${sealerSecret}/${signerSecret}`;
39
+ }
40
+ getAgentID(secret) {
41
+ const [sealerSecret, signerSecret] = secret.split("/");
42
+ return `${this.getSealerID(sealerSecret)}/${this.getSignerID(signerSecret)}`;
43
+ }
44
+ getAgentSignerID(agentId) {
45
+ return agentId.split("/")[1];
46
+ }
47
+ getAgentSignerSecret(agentSecret) {
48
+ return agentSecret.split("/")[1];
49
+ }
50
+ getAgentSealerID(agentId) {
51
+ return agentId.split("/")[0];
52
+ }
53
+ getAgentSealerSecret(agentSecret) {
54
+ return agentSecret.split("/")[0];
55
+ }
56
+ secureHash(value) {
57
+ return `hash_z${base58.encode(this.blake3HashOnce(textEncoder.encode(stableStringify(value))))}`;
58
+ }
59
+ shortHash(value) {
60
+ return `shortHash_z${base58.encode(this.blake3HashOnce(textEncoder.encode(stableStringify(value))).slice(0, shortHashLength))}`;
61
+ }
62
+ encryptForTransaction(value, keySecret, nOnceMaterial) {
63
+ return this.encrypt(value, keySecret, nOnceMaterial);
64
+ }
65
+ decrypt(encrypted, keySecret, nOnceMaterial) {
66
+ try {
67
+ return parseJSON(this.decryptRaw(encrypted, keySecret, nOnceMaterial));
68
+ }
69
+ catch (e) {
70
+ console.error("Decryption error", e);
71
+ return undefined;
72
+ }
73
+ }
74
+ newRandomKeySecret() {
75
+ return {
76
+ secret: `keySecret_z${base58.encode(this.randomBytes(32))}`,
77
+ id: `key_z${base58.encode(this.randomBytes(12))}`,
78
+ };
79
+ }
80
+ decryptRawForTransaction(encrypted, keySecret, nOnceMaterial) {
81
+ return this.decryptRaw(encrypted, keySecret, nOnceMaterial);
82
+ }
83
+ decryptForTransaction(encrypted, keySecret, nOnceMaterial) {
84
+ return this.decrypt(encrypted, keySecret, nOnceMaterial);
85
+ }
86
+ encryptKeySecret(keys) {
87
+ const nOnceMaterial = {
88
+ encryptedID: keys.toEncrypt.id,
89
+ encryptingID: keys.encrypting.id,
90
+ };
91
+ return {
92
+ encryptedID: keys.toEncrypt.id,
93
+ encryptingID: keys.encrypting.id,
94
+ encrypted: this.encrypt(keys.toEncrypt.secret, keys.encrypting.secret, nOnceMaterial),
95
+ };
96
+ }
97
+ decryptKeySecret(encryptedInfo, sealingSecret) {
98
+ const nOnceMaterial = {
99
+ encryptedID: encryptedInfo.encryptedID,
100
+ encryptingID: encryptedInfo.encryptingID,
101
+ };
102
+ return this.decrypt(encryptedInfo.encrypted, sealingSecret, nOnceMaterial);
103
+ }
104
+ uniquenessForHeader() {
105
+ return `z${base58.encode(this.randomBytes(12))}`;
106
+ }
107
+ createdNowUnique() {
108
+ const createdAt = new Date().toISOString();
109
+ return {
110
+ createdAt,
111
+ uniqueness: this.uniquenessForHeader(),
112
+ };
113
+ }
114
+ newRandomSecretSeed() {
115
+ return this.randomBytes(secretSeedLength);
116
+ }
117
+ agentSecretFromSecretSeed(secretSeed) {
118
+ if (secretSeed.length !== secretSeedLength) {
119
+ throw new Error(`Secret seed needs to be ${secretSeedLength} bytes long`);
120
+ }
121
+ return `sealerSecret_z${base58.encode(this.blake3HashOnceWithContext(secretSeed, {
122
+ context: textEncoder.encode("seal"),
123
+ }))}/signerSecret_z${base58.encode(this.blake3HashOnceWithContext(secretSeed, {
124
+ context: textEncoder.encode("sign"),
125
+ }))}`;
126
+ }
127
+ }
128
+ export class StreamingHash {
129
+ constructor(crypto, fromClone) {
130
+ this.state = fromClone || crypto.emptyBlake3State();
131
+ this.crypto = crypto;
132
+ }
133
+ update(value) {
134
+ const encoded = textEncoder.encode(stableStringify(value));
135
+ // const before = performance.now();
136
+ this.state = this.crypto.blake3IncrementalUpdate(this.state, encoded);
137
+ // const after = performance.now();
138
+ // console.log(`Hashing throughput in MB/s`, 1000 * (encoded.length / (after - before)) / (1024 * 1024));
139
+ return encoded;
140
+ }
141
+ digest() {
142
+ const hash = this.crypto.blake3DigestForState(this.state);
143
+ return `hash_z${base58.encode(hash)}`;
144
+ }
145
+ clone() {
146
+ return new StreamingHash(this.crypto, new Uint8Array(this.state));
147
+ }
148
+ }
149
+ export const shortHashLength = 19;
150
+ export const secretSeedLength = 32;
151
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto/crypto.ts"],"names":[],"mappings":"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"}
package/dist/ids.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { base58 } from "@scure/base";
2
- import { shortHashLength } from './crypto.js';
2
+ import { shortHashLength } from "./crypto/crypto.js";
3
3
  export function isRawCoID(id) {
4
4
  return typeof id === "string" && id.startsWith("co_z");
5
5
  }
@@ -10,6 +10,8 @@ export function rawCoIDfromBytes(bytes) {
10
10
  return `co_z${base58.encode(bytes.slice(0, shortHashLength))}`;
11
11
  }
12
12
  export function isAgentID(id) {
13
- return typeof id === "string" && id.startsWith("sealer_") && id.includes("/signer_");
13
+ return (typeof id === "string" &&
14
+ id.startsWith("sealer_") &&
15
+ id.includes("/signer_"));
14
16
  }
15
17
  //# sourceMappingURL=ids.js.map
package/dist/ids.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ids.js","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,MAAM,UAAU,SAAS,CAAC,EAAW;IACjC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAW;IACtC,OAAO,MAAM,CAAC,MAAM,CAChB,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAC9B,CAAA;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAC9C,OAAO,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,EAAa,CAAC;AAC9E,CAAC;AAMD,MAAM,UAAU,SAAS,CAAC,EAAU;IAChC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,MAAM,UAAU,SAAS,CAAC,EAAW;IACjC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAW;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAC9C,OAAO,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,EAAa,CAAC;AAC9E,CAAC;AAMD,MAAM,UAAU,SAAS,CAAC,EAAU;IAChC,OAAO,CACH,OAAO,EAAE,KAAK,QAAQ;QACtB,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QACxB,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC1B,CAAC;AACN,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,9 @@ import { LocalNode } from "./localNode.js";
4
4
  import { RawCoMap } from "./coValues/coMap.js";
5
5
  import { RawCoList } from "./coValues/coList.js";
6
6
  import { RawCoStream, RawBinaryCoStream } from "./coValues/coStream.js";
7
- import { agentSecretFromBytes, agentSecretToBytes, getAgentID, newRandomAgentSecret, newRandomSecretSeed, agentSecretFromSecretSeed, secretSeedLength, shortHashLength, cryptoReady, StreamingHash } from "./crypto.js";
7
+ import { secretSeedLength, shortHashLength, StreamingHash, CryptoProvider, } from "./crypto/crypto.js";
8
+ import { WasmCrypto } from "./crypto/WasmCrypto.js";
9
+ import { PureJSCrypto } from "./crypto/PureJSCrypto.js";
8
10
  import { connectedPeers } from "./streamUtils.js";
9
11
  import { ControlledAgent, RawControlledAccount } from "./coValues/account.js";
10
12
  import { rawCoIDtoBytes, rawCoIDfromBytes, isRawCoID } from "./ids.js";
@@ -17,16 +19,10 @@ import { isAccountID } from "./typeUtils/isAccountID.js";
17
19
  import { LSMStorage, } from "./storage/index.js";
18
20
  /** @hidden */
19
21
  export const cojsonInternals = {
20
- agentSecretFromBytes,
21
- agentSecretToBytes,
22
22
  newRandomSessionID,
23
- newRandomAgentSecret,
24
23
  connectedPeers,
25
- getAgentID,
26
24
  rawCoIDtoBytes,
27
25
  rawCoIDfromBytes,
28
- newRandomSecretSeed,
29
- agentSecretFromSecretSeed,
30
26
  secretSeedLength,
31
27
  shortHashLength,
32
28
  expectGroup,
@@ -37,7 +33,7 @@ export const cojsonInternals = {
37
33
  isAccountID,
38
34
  accountHeaderForInitialAgentSecret,
39
35
  idforHeader,
40
- StreamingHash
36
+ StreamingHash,
41
37
  };
42
- export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, RawProfile as Profile, CoValueCore, ControlledAgent, RawControlledAccount, cryptoReady as cojsonReady, MAX_RECOMMENDED_TX_SIZE, isRawCoID, LSMStorage, };
38
+ export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, RawProfile as Profile, CoValueCore, ControlledAgent, RawControlledAccount, MAX_RECOMMENDED_TX_SIZE, CryptoProvider, WasmCrypto, PureJSCrypto, isRawCoID, LSMStorage, };
43
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,aAAa,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACH,UAAU,EACV,UAAU,EACV,kCAAkC,GACrC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAqBzD,OAAO,EACH,UAAU,GAIb,MAAM,oBAAoB,CAAC;AAG5B,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;IACd,UAAU;IACV,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,yBAAyB;IACzB,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,6BAA6B;IAC7B,WAAW;IACX,kCAAkC;IAClC,WAAW;IACX,aAAa;CAChB,CAAC;AAEF,OAAO,EACH,SAAS,EACT,QAAQ,EAER,QAAQ,EAER,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EAIjB,UAAU,EAIV,UAAU,IAAI,OAAO,EAGrB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,WAAW,IAAI,WAAW,EAC1B,uBAAuB,EASvB,SAAS,EAET,UAAU,GAIb,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACH,UAAU,EACV,UAAU,EACV,kCAAkC,GACrC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAqBzD,OAAO,EACH,UAAU,GAIb,MAAM,oBAAoB,CAAC;AAG5B,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,6BAA6B;IAC7B,WAAW;IACX,kCAAkC;IAClC,WAAW;IACX,aAAa;CAChB,CAAC;AAEF,OAAO,EACH,SAAS,EACT,QAAQ,EAER,QAAQ,EAER,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EAIjB,UAAU,EAIV,UAAU,IAAI,OAAO,EAGrB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EAQvB,cAAc,EACd,UAAU,EACV,YAAY,EAEZ,SAAS,EACT,UAAU,GACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsonStringify.js","sourceRoot":"","sources":["../src/jsonStringify.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAMtG,MAAM,UAAU,eAAe,CAAI,IAAmB;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC;IAErB,8DAA8D;IAC9D,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,8DAA8D;IAC9D,IAAI,IAAI,GAAG,IAAW,CAAC;IAEvB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;QAC1D,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;KACxB;IAED,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,OAAO,IAAI,IAAI,QAAQ;QACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAmB,CAAC;IACnE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,IACI,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EACjE;YACE,OAAO,IAAI,IAAI,GAAqB,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAmB,CAAC;KACjD;IAED,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,GAAG,GAAG,GAAG,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC;gBAAE,GAAG,IAAI,GAAG,CAAC;YAClB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;SAC7C;QACD,OAAO,CAAC,GAAG,GAAG,GAAG,CAAmB,CAAC;KACxC;IAED,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,MAAwB,CAAC;IAEnD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC3B,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAmB,CAAC;QACjE,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;KAChE;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,GAAG,GAAG,EAAE,CAAC;IACT,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,GAAG;YAAE,GAAG,IAAI,GAAG,CAAC;QACpB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;KAC5C;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAmB,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,IAAoB;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"jsonStringify.js","sourceRoot":"","sources":["../src/jsonStringify.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAMtG,MAAM,UAAU,eAAe,CAC3B,IAAmB;IAEnB,MAAM,MAAM,GAAG,KAAK,CAAC;IAErB,8DAA8D;IAC9D,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,8DAA8D;IAC9D,IAAI,IAAI,GAAG,IAAW,CAAC;IAEvB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;QAC1D,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;KACxB;IAED,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,OAAO,IAAI,IAAI,QAAQ;QACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAmB,CAAC;IACnE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC1B,IACI,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EACjE;YACE,OAAO,IAAI,IAAI,GAAqB,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAmB,CAAC;KACjD;IAED,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,GAAG,GAAG,GAAG,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC;gBAAE,GAAG,IAAI,GAAG,CAAC;YAClB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;SAC7C;QACD,OAAO,CAAC,GAAG,GAAG,GAAG,CAAmB,CAAC;KACxC;IAED,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,MAAwB,CAAC;IAEnD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC3B,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAmB,CAAC;QACjE,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;KAChE;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,GAAG,GAAG,EAAE,CAAC;IACT,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACrB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,GAAG;YAAE,GAAG,IAAI,GAAG,CAAC;QACpB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;KAC5C;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAmB,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,IAAoB;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
package/dist/localNode.js CHANGED
@@ -1,4 +1,3 @@
1
- import { agentSecretFromSecretSeed, createdNowUnique, getAgentID, getAgentSealerID, getAgentSealerSecret, newRandomAgentSecret, newRandomKeySecret, seal, } from "./crypto.js";
2
1
  import { CoValueCore, newRandomSessionID, } from "./coValueCore.js";
3
2
  import { secretSeedFromInviteSecret, } from "./coValues/group.js";
4
3
  import { SyncManager } from "./sync.js";
@@ -18,18 +17,19 @@ const { localNode } = useJazz();
18
17
  */
19
18
  export class LocalNode {
20
19
  /** @category 3. Low-level */
21
- constructor(account, currentSessionID) {
20
+ constructor(account, currentSessionID, crypto) {
22
21
  /** @internal */
23
22
  this.coValues = {};
24
23
  /** @category 3. Low-level */
25
24
  this.syncManager = new SyncManager(this);
26
25
  this.account = account;
27
26
  this.currentSessionID = currentSessionID;
27
+ this.crypto = crypto;
28
28
  }
29
29
  /** @category 2. Node Creation */
30
- static async withNewlyCreatedAccount({ creationProps, peersToLoadFrom, migration, initialAgentSecret = newRandomAgentSecret(), }) {
31
- const throwawayAgent = newRandomAgentSecret();
32
- const setupNode = new LocalNode(new ControlledAgent(throwawayAgent), newRandomSessionID(getAgentID(throwawayAgent)));
30
+ static async withNewlyCreatedAccount({ creationProps, peersToLoadFrom, migration, crypto, initialAgentSecret = crypto.newRandomAgentSecret(), }) {
31
+ const throwawayAgent = crypto.newRandomAgentSecret();
32
+ const setupNode = new LocalNode(new ControlledAgent(throwawayAgent, crypto), newRandomSessionID(crypto.getAgentID(throwawayAgent)), crypto);
33
33
  const account = setupNode.createAccount(initialAgentSecret);
34
34
  const nodeWithAccount = account.core.node.testWithDifferentAccount(account, newRandomSessionID(account.id));
35
35
  const accountOnNodeWithAccount = nodeWithAccount.account;
@@ -47,7 +47,7 @@ export class LocalNode {
47
47
  const profile = profileGroup.createMap({
48
48
  name: creationProps.name,
49
49
  });
50
- accountOnNodeWithAccount.set('profile', profile.id, "trusting");
50
+ accountOnNodeWithAccount.set("profile", profile.id, "trusting");
51
51
  }
52
52
  const controlledAccount = new RawControlledAccount(accountOnNodeWithAccount.core, accountOnNodeWithAccount.agentSecret);
53
53
  nodeWithAccount.account = controlledAccount;
@@ -77,8 +77,8 @@ export class LocalNode {
77
77
  };
78
78
  }
79
79
  /** @category 2. Node Creation */
80
- static async withLoadedAccount({ accountID, accountSecret, sessionID, peersToLoadFrom, migration, }) {
81
- const loadingNode = new LocalNode(new ControlledAgent(accountSecret), newRandomSessionID(accountID));
80
+ static async withLoadedAccount({ accountID, accountSecret, sessionID, peersToLoadFrom, crypto, migration, }) {
81
+ const loadingNode = new LocalNode(new ControlledAgent(accountSecret, crypto), newRandomSessionID(accountID), crypto);
82
82
  for (const peer of peersToLoadFrom) {
83
83
  loadingNode.syncManager.addPeer(peer);
84
84
  }
@@ -203,8 +203,8 @@ export class LocalNode {
203
203
  throw new Error("Can only accept invites to groups");
204
204
  }
205
205
  const group = expectGroup(groupOrOwnedValue);
206
- const inviteAgentSecret = agentSecretFromSecretSeed(secretSeedFromInviteSecret(inviteSecret));
207
- const inviteAgentID = getAgentID(inviteAgentSecret);
206
+ const inviteAgentSecret = this.crypto.agentSecretFromSecretSeed(secretSeedFromInviteSecret(inviteSecret));
207
+ const inviteAgentID = this.crypto.getAgentID(inviteAgentSecret);
208
208
  const inviteRole = await new Promise((resolve, reject) => {
209
209
  group.subscribe((groupUpdate) => {
210
210
  const role = groupUpdate.get(inviteAgentID);
@@ -226,7 +226,7 @@ export class LocalNode {
226
226
  return;
227
227
  }
228
228
  const groupAsInvite = expectGroup(group.core
229
- .testWithDifferentAccount(new ControlledAgent(inviteAgentSecret), newRandomSessionID(inviteAgentID))
229
+ .testWithDifferentAccount(new ControlledAgent(inviteAgentSecret, this.crypto), newRandomSessionID(inviteAgentID))
230
230
  .getCurrentContent());
231
231
  groupAsInvite.addMemberInternal(this.account, inviteRole === "adminInvite"
232
232
  ? "admin"
@@ -260,17 +260,17 @@ export class LocalNode {
260
260
  return this.expectCoValueLoaded(profileID, expectation).getCurrentContent();
261
261
  }
262
262
  /** @internal */
263
- createAccount(agentSecret = newRandomAgentSecret()) {
264
- const accountAgentID = getAgentID(agentSecret);
265
- const account = expectGroup(this.createCoValue(accountHeaderForInitialAgentSecret(agentSecret))
266
- .testWithDifferentAccount(new ControlledAgent(agentSecret), newRandomSessionID(accountAgentID))
263
+ createAccount(agentSecret = this.crypto.newRandomAgentSecret()) {
264
+ const accountAgentID = this.crypto.getAgentID(agentSecret);
265
+ const account = expectGroup(this.createCoValue(accountHeaderForInitialAgentSecret(agentSecret, this.crypto))
266
+ .testWithDifferentAccount(new ControlledAgent(agentSecret, this.crypto), newRandomSessionID(accountAgentID))
267
267
  .getCurrentContent());
268
268
  account.set(accountAgentID, "admin", "trusting");
269
- const readKey = newRandomKeySecret();
270
- const sealed = seal({
269
+ const readKey = this.crypto.newRandomKeySecret();
270
+ const sealed = this.crypto.seal({
271
271
  message: readKey.secret,
272
- from: getAgentSealerSecret(agentSecret),
273
- to: getAgentSealerID(accountAgentID),
272
+ from: this.crypto.getAgentSealerSecret(agentSecret),
273
+ to: this.crypto.getAgentSealerID(accountAgentID),
274
274
  nOnceMaterial: {
275
275
  in: account.id,
276
276
  tx: account.core.nextTransactionID(),
@@ -323,12 +323,12 @@ export class LocalNode {
323
323
  type: "comap",
324
324
  ruleset: { type: "group", initialAdmin: this.account.id },
325
325
  meta: null,
326
- ...createdNowUnique(),
326
+ ...this.crypto.createdNowUnique(),
327
327
  });
328
- let group = expectGroup(groupCoValue.getCurrentContent());
328
+ const group = expectGroup(groupCoValue.getCurrentContent());
329
329
  group.set(this.account.id, "admin", "trusting");
330
- const readKey = newRandomKeySecret();
331
- group.set(`${readKey.id}_for_${this.account.id}`, seal({
330
+ const readKey = this.crypto.newRandomKeySecret();
331
+ group.set(`${readKey.id}_for_${this.account.id}`, this.crypto.seal({
332
332
  message: readKey.secret,
333
333
  from: this.account.currentSealerSecret(),
334
334
  to: this.account.currentSealerID(),
@@ -342,7 +342,7 @@ export class LocalNode {
342
342
  }
343
343
  /** @internal */
344
344
  testWithDifferentAccount(account, currentSessionID) {
345
- const newNode = new LocalNode(account, currentSessionID);
345
+ const newNode = new LocalNode(account, currentSessionID, this.crypto);
346
346
  const coValuesToCopy = Object.entries(this.coValues);
347
347
  while (coValuesToCopy.length > 0) {
348
348
  const [coValueID, entry] = coValuesToCopy[coValuesToCopy.length - 1];
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Effect } from "effect";
2
- import { StreamingHash } from "../crypto.js";
2
+ import { StreamingHash } from "../crypto/crypto.js";
3
3
  export const textEncoder = new TextEncoder();
4
4
  export const textDecoder = new TextDecoder();
5
5
  export function readChunk(handle, header, fs) {
@@ -27,7 +27,7 @@ export function writeBlock(chunks, level, fs) {
27
27
  const file = yield* $(fs.createFile("wipBlock" +
28
28
  Math.random().toString(36).substring(7) +
29
29
  ".tmp.jsonl"));
30
- const hash = new StreamingHash();
30
+ const hash = new StreamingHash(fs.crypto);
31
31
  const chunksSortedById = Array.from(chunks).sort(([id1], [id2]) => id1.localeCompare(id2));
32
32
  for (const [id, chunk] of chunksSortedById) {
33
33
  const encodedBytes = hash.update(chunk);