cojson 0.0.11 → 0.0.13

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 (75) hide show
  1. package/README.md +2 -2
  2. package/dist/account.d.ts +57 -0
  3. package/dist/account.js +76 -0
  4. package/dist/account.js.map +1 -0
  5. package/dist/account.test.d.ts +1 -0
  6. package/dist/account.test.js +40 -0
  7. package/dist/account.test.js.map +1 -0
  8. package/dist/coValue.d.ts +17 -36
  9. package/dist/coValue.js +53 -117
  10. package/dist/coValue.js.map +1 -1
  11. package/dist/coValue.test.js +16 -16
  12. package/dist/coValue.test.js.map +1 -1
  13. package/dist/contentType.d.ts +9 -9
  14. package/dist/contentType.js.map +1 -1
  15. package/dist/contentType.test.js +13 -17
  16. package/dist/contentType.test.js.map +1 -1
  17. package/dist/contentTypes/coList.d.ts +3 -3
  18. package/dist/contentTypes/coList.js.map +1 -1
  19. package/dist/contentTypes/coMap.d.ts +31 -21
  20. package/dist/contentTypes/coMap.js +28 -0
  21. package/dist/contentTypes/coMap.js.map +1 -1
  22. package/dist/contentTypes/coStream.d.ts +3 -3
  23. package/dist/contentTypes/coStream.js.map +1 -1
  24. package/dist/contentTypes/static.d.ts +4 -4
  25. package/dist/contentTypes/static.js.map +1 -1
  26. package/dist/crypto.d.ts +45 -39
  27. package/dist/crypto.js +68 -49
  28. package/dist/crypto.js.map +1 -1
  29. package/dist/crypto.test.js +45 -49
  30. package/dist/crypto.test.js.map +1 -1
  31. package/dist/ids.d.ts +5 -3
  32. package/dist/ids.js +3 -1
  33. package/dist/ids.js.map +1 -1
  34. package/dist/index.d.ts +12 -14
  35. package/dist/index.js +6 -8
  36. package/dist/index.js.map +1 -1
  37. package/dist/jsonValue.d.ts +2 -2
  38. package/dist/node.d.ts +25 -15
  39. package/dist/node.js +88 -33
  40. package/dist/node.js.map +1 -1
  41. package/dist/permissions.d.ts +27 -33
  42. package/dist/permissions.js +55 -47
  43. package/dist/permissions.js.map +1 -1
  44. package/dist/permissions.test.js +231 -314
  45. package/dist/permissions.test.js.map +1 -1
  46. package/dist/sync.d.ts +27 -30
  47. package/dist/sync.js +68 -64
  48. package/dist/sync.js.map +1 -1
  49. package/dist/sync.test.js +181 -305
  50. package/dist/sync.test.js.map +1 -1
  51. package/dist/testUtils.d.ts +37 -0
  52. package/dist/testUtils.js +157 -0
  53. package/dist/testUtils.js.map +1 -0
  54. package/package.json +1 -1
  55. package/src/account.test.ts +67 -0
  56. package/src/account.ts +152 -0
  57. package/src/coValue.test.ts +17 -31
  58. package/src/coValue.ts +98 -185
  59. package/src/contentType.test.ts +18 -45
  60. package/src/contentType.ts +15 -13
  61. package/src/contentTypes/coList.ts +4 -4
  62. package/src/contentTypes/coMap.ts +55 -29
  63. package/src/contentTypes/coStream.ts +4 -4
  64. package/src/contentTypes/static.ts +5 -5
  65. package/src/crypto.test.ts +53 -59
  66. package/src/crypto.ts +123 -95
  67. package/src/ids.ts +9 -3
  68. package/src/index.ts +14 -25
  69. package/src/jsonValue.ts +2 -2
  70. package/src/node.ts +189 -61
  71. package/src/permissions.test.ts +370 -404
  72. package/src/permissions.ts +126 -109
  73. package/src/sync.test.ts +262 -440
  74. package/src/sync.ts +96 -101
  75. package/src/testUtils.ts +229 -0
@@ -1,14 +1,14 @@
1
- import { getAgent, getAgentID, newRandomAgentCredential, newRandomSessionID, } from './coValue.js';
2
- import { LocalNode } from './node.js';
3
- import { createdNowUnique, sign } from './crypto.js';
1
+ import { LocalNode } from "./node.js";
2
+ import { createdNowUnique, getAgentSignerSecret, newRandomAgentSecret, sign } from "./crypto.js";
3
+ import { randomAnonymousAccountAndSessionID } from "./testUtils.js";
4
4
  test("Can create coValue with new agent credentials and add transaction to it", () => {
5
- const agentCredential = newRandomAgentCredential("agent1");
6
- const node = new LocalNode(agentCredential, newRandomSessionID(getAgentID(getAgent(agentCredential))));
5
+ const [account, sessionID] = randomAnonymousAccountAndSessionID();
6
+ const node = new LocalNode(account, sessionID);
7
7
  const coValue = node.createCoValue({
8
8
  type: "costream",
9
9
  ruleset: { type: "unsafeAllowAll" },
10
10
  meta: null,
11
- ...createdNowUnique()
11
+ ...createdNowUnique(),
12
12
  });
13
13
  const transaction = {
14
14
  privacy: "trusting",
@@ -20,17 +20,17 @@ test("Can create coValue with new agent credentials and add transaction to it",
20
20
  ],
21
21
  };
22
22
  const { expectedNewHash } = coValue.expectedNewHashAfter(node.ownSessionID, [transaction]);
23
- expect(coValue.tryAddTransactions(node.ownSessionID, [transaction], expectedNewHash, sign(agentCredential.signatorySecret, expectedNewHash))).toBe(true);
23
+ expect(coValue.tryAddTransactions(node.ownSessionID, [transaction], expectedNewHash, sign(account.currentSignerSecret(), expectedNewHash))).toBe(true);
24
24
  });
25
25
  test("transactions with wrong signature are rejected", () => {
26
- const wrongAgent = newRandomAgentCredential("wrongAgent");
27
- const agentCredential = newRandomAgentCredential("agent1");
28
- const node = new LocalNode(agentCredential, newRandomSessionID(getAgentID(getAgent(agentCredential))));
26
+ const wrongAgent = newRandomAgentSecret();
27
+ const [agentSecret, sessionID] = randomAnonymousAccountAndSessionID();
28
+ const node = new LocalNode(agentSecret, sessionID);
29
29
  const coValue = node.createCoValue({
30
30
  type: "costream",
31
31
  ruleset: { type: "unsafeAllowAll" },
32
32
  meta: null,
33
- ...createdNowUnique()
33
+ ...createdNowUnique(),
34
34
  });
35
35
  const transaction = {
36
36
  privacy: "trusting",
@@ -42,16 +42,16 @@ test("transactions with wrong signature are rejected", () => {
42
42
  ],
43
43
  };
44
44
  const { expectedNewHash } = coValue.expectedNewHashAfter(node.ownSessionID, [transaction]);
45
- expect(coValue.tryAddTransactions(node.ownSessionID, [transaction], expectedNewHash, sign(wrongAgent.signatorySecret, expectedNewHash))).toBe(false);
45
+ expect(coValue.tryAddTransactions(node.ownSessionID, [transaction], expectedNewHash, sign(getAgentSignerSecret(wrongAgent), expectedNewHash))).toBe(false);
46
46
  });
47
47
  test("transactions with correctly signed, but wrong hash are rejected", () => {
48
- const agentCredential = newRandomAgentCredential("agent1");
49
- const node = new LocalNode(agentCredential, newRandomSessionID(getAgentID(getAgent(agentCredential))));
48
+ const [account, sessionID] = randomAnonymousAccountAndSessionID();
49
+ const node = new LocalNode(account, sessionID);
50
50
  const coValue = node.createCoValue({
51
51
  type: "costream",
52
52
  ruleset: { type: "unsafeAllowAll" },
53
53
  meta: null,
54
- ...createdNowUnique()
54
+ ...createdNowUnique(),
55
55
  });
56
56
  const transaction = {
57
57
  privacy: "trusting",
@@ -73,6 +73,6 @@ test("transactions with correctly signed, but wrong hash are rejected", () => {
73
73
  ],
74
74
  },
75
75
  ]);
76
- expect(coValue.tryAddTransactions(node.ownSessionID, [transaction], expectedNewHash, sign(agentCredential.signatorySecret, expectedNewHash))).toBe(false);
76
+ expect(coValue.tryAddTransactions(node.ownSessionID, [transaction], expectedNewHash, sign(account.currentSignerSecret(), expectedNewHash))).toBe(false);
77
77
  });
78
78
  //# sourceMappingURL=coValue.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coValue.test.js","sourceRoot":"","sources":["../src/coValue.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValue.test.js","sourceRoot":"","sources":["../src/coValue.test.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { JsonValue } from './jsonValue.js';
2
- import { RawCoValueID } from './ids.js';
3
- import { CoMap } from './contentTypes/coMap.js';
4
- import { CoStream } from './contentTypes/coStream.js';
5
- import { Static } from './contentTypes/static.js';
6
- import { CoList } from './contentTypes/coList.js';
7
- export type CoValueID<T extends ContentType> = RawCoValueID & {
1
+ import { JsonObject, JsonValue } from "./jsonValue.js";
2
+ import { RawCoID } from "./ids.js";
3
+ import { CoMap } from "./contentTypes/coMap.js";
4
+ import { CoStream } from "./contentTypes/coStream.js";
5
+ import { Static } from "./contentTypes/static.js";
6
+ import { CoList } from "./contentTypes/coList.js";
7
+ export type CoID<T extends ContentType> = RawCoID & {
8
8
  readonly __type: T;
9
9
  };
10
10
  export type ContentType = CoMap<{
11
11
  [key: string]: JsonValue;
12
- }, JsonValue> | CoList<JsonValue, JsonValue> | CoStream<JsonValue, JsonValue> | Static<JsonValue>;
12
+ }, JsonObject | null> | CoList<JsonValue, JsonObject | null> | CoStream<JsonValue, JsonObject | null> | Static<JsonObject>;
13
13
  export declare function expectMap(content: ContentType): CoMap<{
14
14
  [key: string]: string;
15
- }, {}>;
15
+ }, JsonObject | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"contentType.js","sourceRoot":"","sources":["../src/contentType.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,SAAS,CAAC,OAAoB;IAC1C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;KACnC;IAED,OAAO,OAA+C,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"contentType.js","sourceRoot":"","sources":["../src/contentType.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,SAAS,CACrB,OAAoB;IAEpB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;KACnC;IAED,OAAO,OAA8D,CAAC;AAC1E,CAAC"}
@@ -1,14 +1,14 @@
1
- import { agentIDfromSessionID, getAgent, getAgentID, newRandomAgentCredential, newRandomSessionID, } from './coValue.js';
1
+ import { accountOrAgentIDfromSessionID } from "./coValue.js";
2
2
  import { createdNowUnique } from "./crypto.js";
3
3
  import { LocalNode } from "./node.js";
4
+ import { randomAnonymousAccountAndSessionID } from "./testUtils.js";
4
5
  test("Empty COJSON Map works", () => {
5
- const agentCredential = newRandomAgentCredential("agent1");
6
- const node = new LocalNode(agentCredential, newRandomSessionID(getAgentID(getAgent(agentCredential))));
6
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID());
7
7
  const coValue = node.createCoValue({
8
8
  type: "comap",
9
9
  ruleset: { type: "unsafeAllowAll" },
10
10
  meta: null,
11
- ...createdNowUnique()
11
+ ...createdNowUnique(),
12
12
  });
13
13
  const content = coValue.getCurrentContent();
14
14
  if (content.type !== "comap") {
@@ -19,13 +19,12 @@ test("Empty COJSON Map works", () => {
19
19
  expect(content.toJSON()).toEqual({});
20
20
  });
21
21
  test("Can insert and delete Map entries in edit()", () => {
22
- const agentCredential = newRandomAgentCredential("agent1");
23
- const node = new LocalNode(agentCredential, newRandomSessionID(getAgentID(getAgent(agentCredential))));
22
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID());
24
23
  const coValue = node.createCoValue({
25
24
  type: "comap",
26
25
  ruleset: { type: "unsafeAllowAll" },
27
26
  meta: null,
28
- ...createdNowUnique()
27
+ ...createdNowUnique(),
29
28
  });
30
29
  const content = coValue.getCurrentContent();
31
30
  if (content.type !== "comap") {
@@ -43,13 +42,12 @@ test("Can insert and delete Map entries in edit()", () => {
43
42
  });
44
43
  });
45
44
  test("Can get map entry values at different points in time", () => {
46
- const agentCredential = newRandomAgentCredential("agent1");
47
- const node = new LocalNode(agentCredential, newRandomSessionID(getAgentID(getAgent(agentCredential))));
45
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID());
48
46
  const coValue = node.createCoValue({
49
47
  type: "comap",
50
48
  ruleset: { type: "unsafeAllowAll" },
51
49
  meta: null,
52
- ...createdNowUnique()
50
+ ...createdNowUnique(),
53
51
  });
54
52
  const content = coValue.getCurrentContent();
55
53
  if (content.type !== "comap") {
@@ -74,13 +72,12 @@ test("Can get map entry values at different points in time", () => {
74
72
  });
75
73
  });
76
74
  test("Can get all historic values of key", () => {
77
- const agentCredential = newRandomAgentCredential("agent1");
78
- const node = new LocalNode(agentCredential, newRandomSessionID(getAgentID(getAgent(agentCredential))));
75
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID());
79
76
  const coValue = node.createCoValue({
80
77
  type: "comap",
81
78
  ruleset: { type: "unsafeAllowAll" },
82
79
  meta: null,
83
- ...createdNowUnique()
80
+ ...createdNowUnique(),
84
81
  });
85
82
  const content = coValue.getCurrentContent();
86
83
  if (content.type !== "comap") {
@@ -121,13 +118,12 @@ test("Can get all historic values of key", () => {
121
118
  });
122
119
  });
123
120
  test("Can get last tx ID for a key", () => {
124
- const agentCredential = newRandomAgentCredential("agent1");
125
- const node = new LocalNode(agentCredential, newRandomSessionID(getAgentID(getAgent(agentCredential))));
121
+ const node = new LocalNode(...randomAnonymousAccountAndSessionID());
126
122
  const coValue = node.createCoValue({
127
123
  type: "comap",
128
124
  ruleset: { type: "unsafeAllowAll" },
129
125
  meta: null,
130
- ...createdNowUnique()
126
+ ...createdNowUnique(),
131
127
  });
132
128
  const content = coValue.getCurrentContent();
133
129
  if (content.type !== "comap") {
@@ -138,7 +134,7 @@ test("Can get last tx ID for a key", () => {
138
134
  expect(editable.getLastTxID("hello")).toEqual(undefined);
139
135
  editable.set("hello", "A", "trusting");
140
136
  const sessionID = editable.getLastTxID("hello")?.sessionID;
141
- expect(sessionID && agentIDfromSessionID(sessionID)).toEqual(getAgentID(getAgent(agentCredential)));
137
+ expect(sessionID && accountOrAgentIDfromSessionID(sessionID)).toEqual(node.account.id);
142
138
  expect(editable.getLastTxID("hello")?.txIndex).toEqual(0);
143
139
  editable.set("hello", "B", "trusting");
144
140
  expect(editable.getLastTxID("hello")?.txIndex).toEqual(1);
@@ -1 +1 @@
1
- {"version":3,"file":"contentType.test.js","sourceRoot":"","sources":["../src/contentType.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contentType.test.js","sourceRoot":"","sources":["../src/contentType.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { JsonObject, JsonValue } from '../jsonValue.js';
2
- import { CoValueID } from '../contentType.js';
2
+ import { CoID } from '../contentType.js';
3
3
  import { CoValue } from '../coValue.js';
4
- export declare class CoList<T extends JsonValue, Meta extends JsonValue> {
5
- id: CoValueID<CoList<T, Meta>>;
4
+ export declare class CoList<T extends JsonValue, Meta extends JsonObject | null = null> {
5
+ id: CoID<CoList<T, Meta>>;
6
6
  type: "colist";
7
7
  coValue: CoValue;
8
8
  constructor(coValue: CoValue);
@@ -1 +1 @@
1
- {"version":3,"file":"coList.js","sourceRoot":"","sources":["../../src/contentTypes/coList.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,MAAM;IAKf,YAAY,OAAgB;QAH5B,SAAI,GAAG,QAAiB,CAAC;QAIrB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAgC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,QAA0C;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,QAAQ,CAAC,OAA0B,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"coList.js","sourceRoot":"","sources":["../../src/contentTypes/coList.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,MAAM;IAKf,YAAY,OAAgB;QAH5B,SAAI,GAAG,QAAiB,CAAC;QAIrB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAA2B,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,QAA0C;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,QAAQ,CAAC,OAA0B,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,7 +1,8 @@
1
1
  import { JsonObject, JsonValue } from '../jsonValue.js';
2
2
  import { TransactionID } from '../ids.js';
3
- import { CoValueID } from '../contentType.js';
3
+ import { CoID } from '../contentType.js';
4
4
  import { CoValue } from '../coValue.js';
5
+ import { AccountID } from '../account.js';
5
6
  type MapOp<K extends string, V extends JsonValue> = {
6
7
  txID: TransactionID;
7
8
  madeAt: number;
@@ -15,29 +16,42 @@ export type MapOpPayload<K extends string, V extends JsonValue> = {
15
16
  op: "delete";
16
17
  key: K;
17
18
  };
18
- export declare class CoMap<M extends {
19
+ export type MapK<M extends {
20
+ [key: string]: JsonValue;
21
+ }> = keyof M & string;
22
+ export type MapV<M extends {
19
23
  [key: string]: JsonValue;
20
- }, Meta extends JsonValue, K extends string = keyof M & string, V extends JsonValue = M[K], MM extends {
24
+ }> = M[MapK<M>];
25
+ export type MapM<M extends {
26
+ [key: string]: JsonValue;
27
+ }> = {
28
+ [KK in MapK<M>]: M[KK];
29
+ };
30
+ export declare class CoMap<M extends {
21
31
  [key: string]: JsonValue;
22
- } = {
23
- [KK in K]: M[KK];
24
- }> {
25
- id: CoValueID<CoMap<MM, Meta>>;
32
+ }, Meta extends JsonObject | null = null> {
33
+ id: CoID<CoMap<MapM<M>, Meta>>;
26
34
  coValue: CoValue;
27
35
  type: "comap";
28
36
  ops: {
29
- [KK in K]?: MapOp<K, M[KK]>[];
37
+ [KK in MapK<M>]?: MapOp<KK, M[KK]>[];
30
38
  };
31
39
  constructor(coValue: CoValue);
32
40
  protected fillOpsFromCoValue(): void;
33
- keys(): K[];
34
- get<KK extends K>(key: KK): M[KK] | undefined;
35
- getAtTime<KK extends K>(key: KK, time: number): M[KK] | undefined;
36
- getLastTxID<KK extends K>(key: KK): TransactionID | undefined;
37
- getHistory<KK extends K>(key: KK): {
41
+ keys(): MapK<M>[];
42
+ get<K extends MapK<M>>(key: K): M[K] | undefined;
43
+ getAtTime<K extends MapK<M>>(key: K, time: number): M[K] | undefined;
44
+ getLastEditor<K extends MapK<M>>(key: K): AccountID | undefined;
45
+ getLastTxID<K extends MapK<M>>(key: K): TransactionID | undefined;
46
+ getLastEntry<K extends MapK<M>>(key: K): {
47
+ at: number;
48
+ txID: TransactionID;
49
+ value: M[K];
50
+ } | undefined;
51
+ getHistory<K extends MapK<M>>(key: K): {
38
52
  at: number;
39
53
  txID: TransactionID;
40
- value: M[KK] | undefined;
54
+ value: M[K] | undefined;
41
55
  }[];
42
56
  toJSON(): JsonObject;
43
57
  edit(changer: (editable: WriteableCoMap<M, Meta>) => void): CoMap<M, Meta>;
@@ -45,12 +59,8 @@ export declare class CoMap<M extends {
45
59
  }
46
60
  export declare class WriteableCoMap<M extends {
47
61
  [key: string]: JsonValue;
48
- }, Meta extends JsonValue, K extends string = keyof M & string, V extends JsonValue = M[K], MM extends {
49
- [key: string]: JsonValue;
50
- } = {
51
- [KK in K]: M[KK];
52
- }> extends CoMap<M, Meta, K, V, MM> {
53
- set<KK extends K>(key: KK, value: M[KK], privacy?: "private" | "trusting"): void;
54
- delete(key: K, privacy?: "private" | "trusting"): void;
62
+ }, Meta extends JsonObject | null = null> extends CoMap<M, Meta> {
63
+ set<K extends MapK<M>>(key: K, value: M[K], privacy?: "private" | "trusting"): void;
64
+ delete(key: MapK<M>, privacy?: "private" | "trusting"): void;
55
65
  }
56
66
  export {};
@@ -1,3 +1,5 @@
1
+ import { accountOrAgentIDfromSessionID } from '../coValue.js';
2
+ import { isAccountID } from '../account.js';
1
3
  export class CoMap {
2
4
  constructor(coValue) {
3
5
  this.type = "comap";
@@ -57,6 +59,19 @@ export class CoMap {
57
59
  return lastOpBeforeOrAtTime.value;
58
60
  }
59
61
  }
62
+ getLastEditor(key) {
63
+ const tx = this.getLastTxID(key);
64
+ if (!tx) {
65
+ return undefined;
66
+ }
67
+ const accountID = accountOrAgentIDfromSessionID(tx.sessionID);
68
+ if (isAccountID(accountID)) {
69
+ return accountID;
70
+ }
71
+ else {
72
+ return undefined;
73
+ }
74
+ }
60
75
  getLastTxID(key) {
61
76
  const ops = this.ops[key];
62
77
  if (!ops) {
@@ -65,6 +80,19 @@ export class CoMap {
65
80
  const lastEntry = ops[ops.length - 1];
66
81
  return lastEntry.txID;
67
82
  }
83
+ getLastEntry(key) {
84
+ const ops = this.ops[key];
85
+ if (!ops) {
86
+ return undefined;
87
+ }
88
+ const lastEntry = ops[ops.length - 1];
89
+ if (lastEntry.op === "delete") {
90
+ return undefined;
91
+ }
92
+ else {
93
+ return { at: lastEntry.madeAt, txID: lastEntry.txID, value: lastEntry.value };
94
+ }
95
+ }
68
96
  getHistory(key) {
69
97
  const ops = this.ops[key];
70
98
  if (!ops) {
@@ -1 +1 @@
1
- {"version":3,"file":"coMap.js","sourceRoot":"","sources":["../../src/contentTypes/coMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coMap.js","sourceRoot":"","sources":["../../src/contentTypes/coMap.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { JsonObject, JsonValue } from '../jsonValue.js';
2
- import { CoValueID } from '../contentType.js';
2
+ import { CoID } from '../contentType.js';
3
3
  import { CoValue } from '../coValue.js';
4
- export declare class CoStream<T extends JsonValue, Meta extends JsonValue> {
5
- id: CoValueID<CoStream<T, Meta>>;
4
+ export declare class CoStream<T extends JsonValue, Meta extends JsonObject | null = null> {
5
+ id: CoID<CoStream<T, Meta>>;
6
6
  type: "costream";
7
7
  coValue: CoValue;
8
8
  constructor(coValue: CoValue);
@@ -1 +1 @@
1
- {"version":3,"file":"coStream.js","sourceRoot":"","sources":["../../src/contentTypes/coStream.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IAKjB,YAAY,OAAgB;QAH5B,SAAI,GAAG,UAAmB,CAAC;QAIvB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAkC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,QAA4C;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,QAAQ,CAAC,OAA4B,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"coStream.js","sourceRoot":"","sources":["../../src/contentTypes/coStream.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,QAAQ;IAKjB,YAAY,OAAgB;QAH5B,SAAI,GAAG,UAAmB,CAAC;QAIvB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAA6B,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,QAA4C;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACtC,QAAQ,CAAC,OAA4B,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,8 +1,8 @@
1
- import { JsonObject, JsonValue } from '../jsonValue.js';
2
- import { CoValueID } from '../contentType.js';
1
+ import { JsonObject } from '../jsonValue.js';
2
+ import { CoID } from '../contentType.js';
3
3
  import { CoValue } from '../coValue.js';
4
- export declare class Static<T extends JsonValue> {
5
- id: CoValueID<Static<T>>;
4
+ export declare class Static<T extends JsonObject> {
5
+ id: CoID<Static<T>>;
6
6
  type: "static";
7
7
  coValue: CoValue;
8
8
  constructor(coValue: CoValue);
@@ -1 +1 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/contentTypes/static.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,MAAM;IAKf,YAAY,OAAgB;QAH5B,SAAI,GAAG,QAAiB,CAAC;QAIrB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAA0B,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,SAAqC;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CACJ"}
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/contentTypes/static.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,MAAM;IAKf,YAAY,OAAgB;QAH5B,SAAI,GAAG,QAAiB,CAAC;QAIrB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAqB,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,SAAqC;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CACJ"}
package/dist/crypto.d.ts CHANGED
@@ -1,33 +1,39 @@
1
1
  import { JsonValue } from './jsonValue.js';
2
2
  import { blake3 } from "@noble/hashes/blake3";
3
- import { RawCoValueID, TransactionID } from './ids.js';
4
- export type SignatorySecret = `signatorySecret_z${string}`;
5
- export type SignatoryID = `signatory_z${string}`;
3
+ import { AgentID, RawCoID, TransactionID } from './ids.js';
4
+ export type SignerSecret = `signerSecret_z${string}`;
5
+ export type SignerID = `signer_z${string}`;
6
6
  export type Signature = `signature_z${string}`;
7
- export type RecipientSecret = `recipientSecret_z${string}`;
8
- export type RecipientID = `recipient_z${string}`;
7
+ export type SealerSecret = `sealerSecret_z${string}`;
8
+ export type SealerID = `sealer_z${string}`;
9
9
  export type Sealed<T> = `sealed_U${string}` & {
10
10
  __type: T;
11
11
  };
12
- export declare function newRandomSignatory(): SignatorySecret;
13
- export declare function signatorySecretToBytes(secret: SignatorySecret): Uint8Array;
14
- export declare function signatorySecretFromBytes(bytes: Uint8Array): SignatorySecret;
15
- export declare function getSignatoryID(secret: SignatorySecret): SignatoryID;
16
- export declare function sign(secret: SignatorySecret, message: JsonValue): Signature;
17
- export declare function verify(signature: Signature, message: JsonValue, id: SignatoryID): boolean;
18
- export declare function newRandomRecipient(): RecipientSecret;
19
- export declare function recipientSecretToBytes(secret: RecipientSecret): Uint8Array;
20
- export declare function recipientSecretFromBytes(bytes: Uint8Array): RecipientSecret;
21
- export declare function getRecipientID(secret: RecipientSecret): RecipientID;
22
- export type SealedSet<T> = {
23
- [recipient: RecipientID]: Sealed<T>;
24
- };
25
- export declare function seal<T extends JsonValue>(message: T, from: RecipientSecret, to: Set<RecipientID>, nOnceMaterial: {
26
- in: RawCoValueID;
12
+ export type AgentSecret = `${SealerSecret}/${SignerSecret}`;
13
+ export declare function newRandomSigner(): SignerSecret;
14
+ export declare function signerSecretToBytes(secret: SignerSecret): Uint8Array;
15
+ export declare function signerSecretFromBytes(bytes: Uint8Array): SignerSecret;
16
+ export declare function getSignerID(secret: SignerSecret): SignerID;
17
+ export declare function sign(secret: SignerSecret, message: JsonValue): Signature;
18
+ export declare function verify(signature: Signature, message: JsonValue, id: SignerID): boolean;
19
+ export declare function newRandomSealer(): SealerSecret;
20
+ export declare function sealerSecretToBytes(secret: SealerSecret): Uint8Array;
21
+ export declare function sealerSecretFromBytes(bytes: Uint8Array): SealerSecret;
22
+ export declare function getSealerID(secret: SealerSecret): SealerID;
23
+ export declare function newRandomAgentSecret(): AgentSecret;
24
+ export declare function agentSecretToBytes(secret: AgentSecret): Uint8Array;
25
+ export declare function agentSecretFromBytes(bytes: Uint8Array): AgentSecret;
26
+ export declare function getAgentID(secret: AgentSecret): AgentID;
27
+ export declare function getAgentSignerID(agentId: AgentID): SignerID;
28
+ export declare function getAgentSignerSecret(agentSecret: AgentSecret): SignerSecret;
29
+ export declare function getAgentSealerID(agentId: AgentID): SealerID;
30
+ export declare function getAgentSealerSecret(agentSecret: AgentSecret): SealerSecret;
31
+ export declare function seal<T extends JsonValue>(message: T, from: SealerSecret, to: SealerID, nOnceMaterial: {
32
+ in: RawCoID;
27
33
  tx: TransactionID;
28
- }): SealedSet<T>;
29
- export declare function openAs<T extends JsonValue>(sealedSet: SealedSet<T>, recipient: RecipientSecret, from: RecipientID, nOnceMaterial: {
30
- in: RawCoValueID;
34
+ }): Sealed<T>;
35
+ export declare function unseal<T extends JsonValue>(sealed: Sealed<T>, sealer: SealerSecret, from: SealerID, nOnceMaterial: {
36
+ in: RawCoID;
31
37
  tx: TransactionID;
32
38
  }): T | undefined;
33
39
  export type Hash = `hash_z${string}`;
@@ -52,42 +58,42 @@ export declare function newRandomKeySecret(): {
52
58
  id: KeyID;
53
59
  };
54
60
  export declare function encryptForTransaction<T extends JsonValue>(value: T, keySecret: KeySecret, nOnceMaterial: {
55
- in: RawCoValueID;
61
+ in: RawCoID;
56
62
  tx: TransactionID;
57
63
  }): Encrypted<T, {
58
- in: RawCoValueID;
64
+ in: RawCoID;
59
65
  tx: TransactionID;
60
66
  }>;
61
- export declare function sealKeySecret(keys: {
62
- toSeal: {
67
+ export declare function encryptKeySecret(keys: {
68
+ toEncrypt: {
63
69
  id: KeyID;
64
70
  secret: KeySecret;
65
71
  };
66
- sealing: {
72
+ encrypting: {
67
73
  id: KeyID;
68
74
  secret: KeySecret;
69
75
  };
70
76
  }): {
71
- sealed: KeyID;
72
- sealing: KeyID;
77
+ encryptedID: KeyID;
78
+ encryptingID: KeyID;
73
79
  encrypted: Encrypted<KeySecret, {
74
- sealed: KeyID;
75
- sealing: KeyID;
80
+ encryptedID: KeyID;
81
+ encryptingID: KeyID;
76
82
  }>;
77
83
  };
78
84
  export declare function decryptForTransaction<T extends JsonValue>(encrypted: Encrypted<T, {
79
- in: RawCoValueID;
85
+ in: RawCoID;
80
86
  tx: TransactionID;
81
87
  }>, keySecret: KeySecret, nOnceMaterial: {
82
- in: RawCoValueID;
88
+ in: RawCoID;
83
89
  tx: TransactionID;
84
90
  }): T | undefined;
85
- export declare function unsealKeySecret(sealedInfo: {
86
- sealed: KeyID;
87
- sealing: KeyID;
91
+ export declare function decryptKeySecret(encryptedInfo: {
92
+ encryptedID: KeyID;
93
+ encryptingID: KeyID;
88
94
  encrypted: Encrypted<KeySecret, {
89
- sealed: KeyID;
90
- sealing: KeyID;
95
+ encryptedID: KeyID;
96
+ encryptingID: KeyID;
91
97
  }>;
92
98
  }, sealingSecret: KeySecret): KeySecret | undefined;
93
99
  export declare function uniquenessForHeader(): `z${string}`;