@plane31/blind-relay 0.1.3 → 0.3.0

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 (86) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/index.d.ts +4 -3
  3. package/dist/adapters/index.d.ts.map +1 -1
  4. package/dist/adapters/index.js +2 -1
  5. package/dist/adapters/index.js.map +1 -1
  6. package/dist/audience.d.ts +1 -1
  7. package/dist/audience.d.ts.map +1 -1
  8. package/dist/audience.js +7 -6
  9. package/dist/audience.js.map +1 -1
  10. package/dist/client.d.ts +159 -3
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +1112 -102
  13. package/dist/client.js.map +1 -1
  14. package/dist/codec.d.ts +25 -1
  15. package/dist/codec.d.ts.map +1 -1
  16. package/dist/codec.js +44 -0
  17. package/dist/codec.js.map +1 -1
  18. package/dist/crypto/noble.d.ts.map +1 -1
  19. package/dist/crypto/noble.js +19 -1
  20. package/dist/crypto/noble.js.map +1 -1
  21. package/dist/crypto.d.ts +1 -1
  22. package/dist/crypto.d.ts.map +1 -1
  23. package/dist/crypto.js.map +1 -1
  24. package/dist/errors.d.ts +9 -1
  25. package/dist/errors.d.ts.map +1 -1
  26. package/dist/errors.js +2 -1
  27. package/dist/errors.js.map +1 -1
  28. package/dist/identity.d.ts +8 -2
  29. package/dist/identity.d.ts.map +1 -1
  30. package/dist/identity.js +7 -3
  31. package/dist/identity.js.map +1 -1
  32. package/dist/index.d.ts +4 -4
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -2
  35. package/dist/index.js.map +1 -1
  36. package/dist/policy.d.ts +13 -0
  37. package/dist/policy.d.ts.map +1 -1
  38. package/dist/policy.js +12 -1
  39. package/dist/policy.js.map +1 -1
  40. package/dist/rows.d.ts.map +1 -1
  41. package/dist/rows.js +2 -0
  42. package/dist/rows.js.map +1 -1
  43. package/dist/store.d.ts +116 -3
  44. package/dist/store.d.ts.map +1 -1
  45. package/dist/store.js +2 -0
  46. package/dist/store.js.map +1 -1
  47. package/dist/succession.d.ts +108 -0
  48. package/dist/succession.d.ts.map +1 -0
  49. package/dist/succession.js +205 -0
  50. package/dist/succession.js.map +1 -0
  51. package/dist/testing/clock.d.ts.map +1 -1
  52. package/dist/testing/clock.js +1 -0
  53. package/dist/testing/clock.js.map +1 -1
  54. package/dist/testing/fakeHost.d.ts +60 -1
  55. package/dist/testing/fakeHost.d.ts.map +1 -1
  56. package/dist/testing/fakeHost.js +201 -31
  57. package/dist/testing/fakeHost.js.map +1 -1
  58. package/dist/testing/faults.d.ts +7 -3
  59. package/dist/testing/faults.d.ts.map +1 -1
  60. package/dist/testing/faults.js +27 -3
  61. package/dist/testing/faults.js.map +1 -1
  62. package/dist/transactions.d.ts +6 -0
  63. package/dist/transactions.d.ts.map +1 -1
  64. package/dist/transactions.js +11 -5
  65. package/dist/transactions.js.map +1 -1
  66. package/dist/transport.d.ts +66 -2
  67. package/dist/transport.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/src/adapters/index.ts +14 -0
  70. package/src/audience.ts +7 -6
  71. package/src/client.ts +1165 -108
  72. package/src/codec.ts +64 -1
  73. package/src/crypto/noble.ts +18 -1
  74. package/src/crypto.ts +1 -0
  75. package/src/errors.ts +13 -1
  76. package/src/identity.ts +13 -3
  77. package/src/index.ts +10 -3
  78. package/src/policy.ts +23 -1
  79. package/src/rows.ts +2 -0
  80. package/src/store.ts +113 -3
  81. package/src/succession.ts +270 -0
  82. package/src/testing/clock.ts +1 -0
  83. package/src/testing/fakeHost.ts +204 -28
  84. package/src/testing/faults.ts +32 -7
  85. package/src/transactions.ts +13 -6
  86. package/src/transport.ts +69 -2
@@ -123,6 +123,7 @@ export class MaliciousTransport {
123
123
  const gate = this.knobs.hold.get(name);
124
124
  if (gate) {
125
125
  this.knobs.hold.delete(name);
126
+ this.knobs.onHeld?.(name);
126
127
  await gate;
127
128
  }
128
129
  if (this.knobs.loseResponseOf.has(name)) {
@@ -132,6 +133,12 @@ export class MaliciousTransport {
132
133
  }
133
134
  return result;
134
135
  }
136
+ /** A resolved account as served: a forked or tampered certificate, and a tampered chain, where the knobs say so. */
137
+ servedAccount(r) {
138
+ const certificate = this.knobs.fork.certificates.get(r.accountName) ?? this.serve("certificate", r.certificate) ?? r.certificate;
139
+ const successions = r.successions?.map((l) => ({ ...l, wire: this.serve("succession", l.wire) ?? l.wire }));
140
+ return { ...r, certificate, ...(successions ? { successions } : {}) };
141
+ }
135
142
  wrapDirectory() {
136
143
  // The inner transport may rebind itself per call (a device's certificate changes at
137
144
  // activation), so it is read on every call, never captured.
@@ -143,14 +150,14 @@ export class MaliciousTransport {
143
150
  if (k.withhold.has("certificates"))
144
151
  return [];
145
152
  const rs = await d().resolveAccounts(names);
146
- return rs.map((r) => ({ ...r, certificate: k.fork.certificates.get(r.accountName) ?? this.serve("certificate", r.certificate) ?? r.certificate }));
153
+ return rs.map((r) => this.servedAccount(r));
147
154
  },
148
155
  resolveIdentities: async (ids) => {
149
156
  this.calls.push("resolveIdentities");
150
157
  if (k.withhold.has("certificates"))
151
158
  return [];
152
159
  const rs = await d().resolveIdentities(ids);
153
- return rs.map((r) => ({ ...r, certificate: k.fork.certificates.get(r.accountName) ?? this.serve("certificate", r.certificate) ?? r.certificate }));
160
+ return rs.map((r) => this.servedAccount(r));
154
161
  },
155
162
  getCertificate: async (hash) => {
156
163
  this.calls.push("getCertificate");
@@ -187,7 +194,22 @@ export class MaliciousTransport {
187
194
  this.calls.push("getResetReceipt");
188
195
  return this.serve("receipt", await d().getResetReceipt(id));
189
196
  },
190
- resetAccount: (input) => this.mutate("resetAccount", () => d().resetAccount(input))
197
+ resetAccount: (input) => this.mutate("resetAccount", () => d().resetAccount(input)),
198
+ succeedAccount: (input) => this.mutate("succeedAccount", () => d().succeedAccount(input)),
199
+ getSuccessions: async (accountId, after, limit) => {
200
+ this.calls.push("getSuccessions");
201
+ if (k.withhold.has("successions"))
202
+ return { successions: [] };
203
+ const page = await d().getSuccessions(accountId, after, limit);
204
+ return { ...page, successions: page.successions.map((l) => ({ ...l, wire: this.serve("succession", l.wire) ?? l.wire })) };
205
+ },
206
+ listCircles: async (cursor) => {
207
+ this.calls.push("listCircles");
208
+ if (k.withhold.has("circleList"))
209
+ throw new KavachError("NETWORK", "transport", "network unreachable");
210
+ return d().listCircles(cursor);
211
+ },
212
+ setSharingPreference: (circleId, enabled, expected) => this.mutate("setSharingPreference", () => d().setSharingPreference(circleId, enabled, expected))
191
213
  };
192
214
  }
193
215
  wrapRelay() {
@@ -251,6 +273,8 @@ export class MaliciousTransport {
251
273
  ackThrough: (streamId, cursor) => this.mutate("ackThrough", () => r().ackThrough(streamId, cursor)),
252
274
  listSubscriptions: async () => {
253
275
  this.calls.push("listSubscriptions");
276
+ if (k.withhold.has("subscriptions"))
277
+ throw new KavachError("NETWORK", "transport", "network unreachable");
254
278
  return r().listSubscriptions();
255
279
  }
256
280
  };
@@ -1 +1 @@
1
- {"version":3,"file":"faults.js","sourceRoot":"","sources":["../../src/testing/faults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"faults.js","sourceRoot":"","sources":["../../src/testing/faults.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,12 @@ export type OpenedState = {
16
16
  readonly kind: StoreState;
17
17
  readonly meta: MetaRow;
18
18
  readonly account: OwnAccount;
19
+ }
20
+ /** A device retired by a succession erased its account seed (amendment A1, section 4): the header stays, the key is gone. */
21
+ | {
22
+ readonly kind: "RETIRED";
23
+ readonly meta: MetaRow;
24
+ readonly account: undefined;
19
25
  };
20
26
  /**
21
27
  * Bind the secret store to the local store. A mismatch between the two is `RECOVERY_REQUIRED`
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * live with the outbox and the inbox. Each function takes an open `Tx` so callers can compose
4
4
  * them; nothing here opens the network.
5
5
  */
6
- import { equalBytes, toHex } from "./bytes.js";
6
+ import { equalBytes, fromHex, toHex } from "./bytes.js";
7
7
  import { applyAudienceEvent, initialRevisionState } from "./audience.js";
8
8
  import { DocumentType, expectType, parseDocument } from "./codec.js";
9
9
  import { identityId } from "./crypto.js";
@@ -25,11 +25,13 @@ export async function openStore(store, secrets, accountName) {
25
25
  const [accountSeed, instanceId] = await Promise.all([secrets.get("accountSeed"), secrets.get("instanceId")]);
26
26
  const meta = await store.read((tx) => tx.get("meta", META));
27
27
  if (!accountSeed || !instanceId) {
28
+ if (meta?.state === "RETIRED")
29
+ return { kind: "RETIRED", meta, account: undefined };
28
30
  if (meta)
29
31
  throw new KavachError("RECOVERY_REQUIRED", stage, "store present but secrets missing");
30
32
  return { kind: "fresh" };
31
33
  }
32
- const account = openAccount(accountName, accountSeed);
34
+ const account = openAccount(accountName, accountSeed, meta?.accountId ? fromHex(meta.accountId) : undefined);
33
35
  if (!meta)
34
36
  return { kind: "initializing", account };
35
37
  if (meta.instanceId !== toHex(instanceId) || meta.identityId !== toHex(account.identityId) || meta.accountName !== accountName || meta.schema !== 1) {
@@ -50,7 +52,7 @@ export async function t1Secrets(secrets, roots) {
50
52
  /** T1b: the store header with the INITIALIZING marker, the own pin and the stream state. */
51
53
  export function t1Header(tx, input) {
52
54
  const doc = expectType(parseDocument(input.certificate), DocumentType.AccountDevice, "t1");
53
- const pin = pinFromCertificate(doc);
55
+ const pin = pinFromCertificate(doc, undefined, input.account.accountId);
54
56
  if (!equalBytes(pin.identityId, input.account.identityId))
55
57
  throw new KavachError("MALFORMED", "t1", "certificate is not for this account");
56
58
  tx.put("meta", META, {
@@ -60,6 +62,7 @@ export function t1Header(tx, input) {
60
62
  instanceId: toHex(input.instanceId),
61
63
  accountName: input.account.accountName,
62
64
  identityId: toHex(input.account.identityId),
65
+ accountId: toHex(input.account.accountId),
63
66
  certificateHash: toHex(pin.certificateHash),
64
67
  state: "INITIALIZING"
65
68
  });
@@ -70,9 +73,12 @@ export function t1Header(tx, input) {
70
73
  certificateHash: toHex(pin.certificateHash),
71
74
  streamId: toHex(pin.streamId)
72
75
  });
73
- tx.put("pins", toHex(pin.identityId), pinToRow(pin));
76
+ tx.put("pins", toHex(pin.accountId), pinToRow(pin));
77
+ if (!tx.get("identities", toHex(pin.identityId))) {
78
+ tx.put("identities", toHex(pin.identityId), { accountId: toHex(pin.accountId), accountName: pin.accountName, accountKey: toHex(pin.accountKey), sinceGeneration: big(input.generation), retired: false });
79
+ }
74
80
  tx.put("certificates", toHex(pin.certificateHash), {
75
- identityId: toHex(pin.identityId),
81
+ identityId: toHex(pin.accountId),
76
82
  certificateHash: toHex(pin.certificateHash),
77
83
  signingKey: toHex(pin.signingKey),
78
84
  boxKey: toHex(pin.boxKey),
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,47 @@ export interface ResolvedAccount {
16
16
  readonly certificate: Uint8Array;
17
17
  /** When the account's key changed through a reset: the receipt that proves it. */
18
18
  readonly resetReceipt?: Uint8Array | undefined;
19
+ /** When the account's key changed through successions (revision 9): the first page of the chain from the root, each link with the successor's certificate, oldest first. */
20
+ readonly successions?: readonly SuccessionLink[] | undefined;
21
+ /** Set when `successions` is not the whole chain: the generation to continue from with `getSuccessions`. */
22
+ readonly successionsNext?: bigint | undefined;
23
+ /** With a non-empty chain: a certificate under the root key (the one the first succession replaced), so a peer can verify what that key signed. */
24
+ readonly rootCertificate?: Uint8Array | undefined;
25
+ }
26
+ /** One link of an account's succession chain: the type 9 document and the certificate it binds. */
27
+ export interface SuccessionLink {
28
+ readonly wire: Uint8Array;
29
+ readonly certificate: Uint8Array;
30
+ }
31
+ export interface SuccessionPage {
32
+ readonly successions: readonly SuccessionLink[];
33
+ /** On the first page of a non-empty chain: a certificate under the root key. */
34
+ readonly rootCertificate?: Uint8Array | undefined;
35
+ /** The generation to ask after for the next page; absent when the chain ends here. */
36
+ readonly nextGeneration?: bigint | undefined;
37
+ }
38
+ /** One circle of the authenticated account as the host lists it for bootstrap (amendment A1, section 5). Host-trusted. */
39
+ export interface CircleListing {
40
+ readonly circleId: Uint8Array;
41
+ readonly ownerAccountId: Uint8Array;
42
+ readonly role: "owner" | "member" | "pending";
43
+ /** The current snapshot; absent for a closed circle. */
44
+ readonly snapshot: Uint8Array | undefined;
45
+ /** The account's sharing preference the host holds; absent when none was ever set (disabled). */
46
+ readonly enabled: boolean | undefined;
47
+ readonly preferenceRevision: bigint;
48
+ }
49
+ export interface CirclePage {
50
+ readonly circles: readonly CircleListing[];
51
+ /** The cursor for the next page; absent on the last page. */
52
+ readonly cursor?: string | undefined;
53
+ }
54
+ export interface PreferenceOutcome {
55
+ readonly status: "COMMITTED" | "ALREADY_COMMITTED" | "CONFLICT" | "UNAUTHORIZED" | "RETRYABLE";
56
+ /** The revision the host now holds (the new one on success, the current one on conflict). */
57
+ readonly revision: bigint;
58
+ /** On CONFLICT: the value the host holds at that revision. */
59
+ readonly enabled?: boolean | undefined;
19
60
  }
20
61
  export interface JoinRequest {
21
62
  readonly circleId: Uint8Array;
@@ -36,9 +77,10 @@ export interface Directory {
36
77
  newCertificate: Uint8Array;
37
78
  newVault: Uint8Array;
38
79
  }): Promise<MutationOutcome>;
80
+ /** `vault` is absent for an account on a recovery-only profile without a recovery provider. */
39
81
  registerAccount(input: {
40
82
  certificate: Uint8Array;
41
- vault: Uint8Array;
83
+ vault: Uint8Array | undefined;
42
84
  }): Promise<MutationOutcome>;
43
85
  getVault(accountName: string): Promise<Uint8Array | undefined>;
44
86
  publishVault(input: {
@@ -62,12 +104,34 @@ export interface Directory {
62
104
  accountName: string;
63
105
  expectedOldIdentityId: Uint8Array;
64
106
  newCertificate: Uint8Array;
65
- newVault: Uint8Array;
107
+ newVault: Uint8Array | undefined;
66
108
  resetId: Uint8Array;
67
109
  reauthProof: Uint8Array;
68
110
  }): Promise<MutationOutcome & {
69
111
  receipt?: Uint8Array | undefined;
70
112
  }>;
113
+ /**
114
+ * Account recovery (amendment A1): commit a prepared replacement. `ALREADY_COMMITTED` with the
115
+ * original document for a repeated `successionId` with identical bytes is answered before any
116
+ * authorization check; `CONFLICT` carries the current certificate; `UNAUTHORIZED` covers a
117
+ * missing, expired or mismatched authorization and a known id with different bytes.
118
+ */
119
+ succeedAccount(input: {
120
+ accountName: string;
121
+ expectedCertificateHash: Uint8Array;
122
+ newCertificate: Uint8Array;
123
+ newVault: Uint8Array | undefined;
124
+ successionId: Uint8Array;
125
+ authorization: Uint8Array;
126
+ }): Promise<MutationOutcome & {
127
+ succession?: Uint8Array | undefined;
128
+ }>;
129
+ /** One page of an account's succession chain, in generation order, links whose new generation exceeds `afterGeneration`. */
130
+ getSuccessions(accountId: Uint8Array, afterGeneration: bigint, limit: number): Promise<SuccessionPage>;
131
+ /** One page of the authenticated account's circles, for bootstrap without a vault. */
132
+ listCircles(cursor: string | undefined): Promise<CirclePage>;
133
+ /** Compare-and-swap on the per-circle preference revision the host keeps for the authenticated account. */
134
+ setSharingPreference(circleId: Uint8Array, enabled: boolean, expectedRevision: bigint): Promise<PreferenceOutcome>;
71
135
  }
72
136
  export interface EpochBundle {
73
137
  readonly manifest: Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plane31/blind-relay",
3
- "version": "0.1.3",
3
+ "version": "0.3.0",
4
4
  "description": "Kavach v1 protocol: documents, cryptography, state machine. Pure TypeScript, no platform imports.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -22,12 +22,14 @@ export {
22
22
  DocumentType,
23
23
  buildResetKeyList,
24
24
  buildResetReceipt,
25
+ buildSuccession,
25
26
  expectType,
26
27
  parseDocument,
27
28
  parseVaultHeader,
28
29
  verifyDocument,
29
30
  type AccountDevice,
30
31
  type AccountResetReceipt,
32
+ type AccountSuccession,
31
33
  type CircleSnapshot,
32
34
  type EncryptedRecord,
33
35
  type EpochManifest,
@@ -57,6 +59,12 @@ export {
57
59
  type OutboxStatus,
58
60
  type EnqueueKeyRow,
59
61
  type HistoryIndexRow,
62
+ type SuccessionRow,
63
+ type IdentityRow,
64
+ type KeyChangeRow,
65
+ type ReplacementRow,
66
+ type PreferenceRow,
67
+ type ChainProgressRow,
60
68
  type KeyRange,
61
69
  inKeyRange,
62
70
  type PendingResetRow,
@@ -84,14 +92,19 @@ export {
84
92
  export type {
85
93
  AppendOutcome,
86
94
  AppendStatus,
95
+ CircleListing,
96
+ CirclePage,
87
97
  Directory,
88
98
  EpochBundle,
89
99
  JoinRequest,
90
100
  MutationOutcome,
91
101
  MutationStatus,
102
+ PreferenceOutcome,
92
103
  ReadRecordsResult,
93
104
  Relay,
94
105
  ResolvedAccount,
106
+ SuccessionLink,
107
+ SuccessionPage,
95
108
  Transport
96
109
  } from "../transport.js";
97
110
 
@@ -100,3 +113,4 @@ export type { BackupState, ProviderLoadResult, ProviderSaveResult, ProviderStatu
100
113
 
101
114
  // The transactions an adapter test drives against a store -----------------------------------------
102
115
  export { openStore, t1Activate, t1Header, t1Secrets, t3ApplyChange, type ChangeResult, type OpenedState } from "../transactions.js";
116
+ export { SECRET_NAMES } from "../store.js";
package/src/audience.ts CHANGED
@@ -23,12 +23,12 @@ export interface ResolvedAudience {
23
23
  readonly key: string;
24
24
  }
25
25
 
26
- export function isEligible(circle: CircleState, selfIdentityId: Uint8Array): boolean {
26
+ export function isEligible(circle: CircleState, selfAccountId: Uint8Array): boolean {
27
27
  return (
28
28
  circle.status === "member" &&
29
29
  circle.enabled &&
30
30
  circle.revision > 0n &&
31
- circle.members.some((m) => equalBytes(m, selfIdentityId))
31
+ circle.members.some((m) => equalBytes(m, selfAccountId))
32
32
  );
33
33
  }
34
34
 
@@ -39,17 +39,18 @@ export function isEligible(circle: CircleState, selfIdentityId: Uint8Array): boo
39
39
  */
40
40
  export function resolveAudience(self: AccountPin, circles: readonly CircleState[], pins: ReadonlyMap<string, AccountPin>, retired: ReadonlySet<string> = new Set()): ResolvedAudience {
41
41
  const stage = "resolveAudience";
42
+ // Members are account ids; `pins` is keyed by account id and names each account's current device.
42
43
  const wanted = new Map<string, Uint8Array>();
43
- wanted.set(toHex(self.identityId), self.identityId);
44
+ wanted.set(toHex(self.accountId), self.accountId);
44
45
  for (const c of circles) {
45
- if (!isEligible(c, self.identityId)) continue;
46
- // An identity retired by a validated reset receipt is no longer a recipient.
46
+ if (!isEligible(c, self.accountId)) continue;
47
+ // An account retired by a validated reset receipt is no longer a recipient.
47
48
  for (const m of c.members) if (!retired.has(toHex(m))) wanted.set(toHex(m), m);
48
49
  }
49
50
  if (wanted.size > MAX_AUDIENCE) throw new KavachError("RECIPIENT_LIMIT", stage, `${wanted.size} accounts`);
50
51
  const rows: AudienceEntry[] = [];
51
52
  for (const [hex, iid] of wanted) {
52
- const pin = hex === toHex(self.identityId) ? self : pins.get(hex);
53
+ const pin = hex === toHex(self.accountId) ? self : pins.get(hex);
53
54
  if (!pin) throw new KavachError("METADATA_REQUIRED", stage, "no certificate for a member");
54
55
  rows.push({ identityId: iid, certificateHash: pin.certificateHash, boxKey: pin.boxKey });
55
56
  }