@cello-protocol/daemon 0.0.193 → 0.0.195
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.
- package/dist/assignment-verify.d.ts +39 -11
- package/dist/assignment-verify.d.ts.map +1 -1
- package/dist/assignment-verify.js +133 -17
- package/dist/assignment-verify.js.map +1 -1
- package/dist/authorship-verification.d.ts +70 -0
- package/dist/authorship-verification.d.ts.map +1 -0
- package/dist/authorship-verification.js +441 -0
- package/dist/authorship-verification.js.map +1 -0
- package/dist/daemon.js +4 -1
- package/dist/daemon.js.map +1 -1
- package/dist/db-identity-store.d.ts +1 -0
- package/dist/db-identity-store.d.ts.map +1 -1
- package/dist/db-identity-store.js +19 -1
- package/dist/db-identity-store.js.map +1 -1
- package/dist/held-content.d.ts +141 -0
- package/dist/held-content.d.ts.map +1 -0
- package/dist/held-content.js +388 -0
- package/dist/held-content.js.map +1 -0
- package/dist/inbound-refusals.d.ts +283 -0
- package/dist/inbound-refusals.d.ts.map +1 -0
- package/dist/inbound-refusals.js +919 -0
- package/dist/inbound-refusals.js.map +1 -0
- package/dist/inbound-sessions.d.ts +1 -1
- package/dist/inbound-sessions.d.ts.map +1 -1
- package/dist/inbound-sessions.js +189 -32
- package/dist/inbound-sessions.js.map +1 -1
- package/dist/initiate-session-handler.d.ts.map +1 -1
- package/dist/initiate-session-handler.js +82 -0
- package/dist/initiate-session-handler.js.map +1 -1
- package/dist/outbound-sessions.d.ts.map +1 -1
- package/dist/outbound-sessions.js +108 -8
- package/dist/outbound-sessions.js.map +1 -1
- package/dist/park-recovery.d.ts +205 -0
- package/dist/park-recovery.d.ts.map +1 -0
- package/dist/park-recovery.js +600 -0
- package/dist/park-recovery.js.map +1 -0
- package/dist/refusal-notices.d.ts +196 -0
- package/dist/refusal-notices.d.ts.map +1 -0
- package/dist/refusal-notices.js +496 -0
- package/dist/refusal-notices.js.map +1 -0
- package/dist/refusal-reasons.d.ts +34 -0
- package/dist/refusal-reasons.d.ts.map +1 -1
- package/dist/refusal-reasons.js +84 -0
- package/dist/refusal-reasons.js.map +1 -1
- package/dist/registration-manager.d.ts.map +1 -1
- package/dist/registration-manager.js +126 -5
- package/dist/registration-manager.js.map +1 -1
- package/dist/registration-persistence.d.ts +18 -0
- package/dist/registration-persistence.d.ts.map +1 -1
- package/dist/registration-persistence.js +6 -0
- package/dist/registration-persistence.js.map +1 -1
- package/dist/session-assignment-parser.d.ts.map +1 -1
- package/dist/session-assignment-parser.js +23 -1
- package/dist/session-assignment-parser.js.map +1 -1
- package/dist/session-ceremony.d.ts +12 -7
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +12 -7
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-ephemerals.d.ts +271 -0
- package/dist/session-ephemerals.d.ts.map +1 -0
- package/dist/session-ephemerals.js +546 -0
- package/dist/session-ephemerals.js.map +1 -0
- package/dist/session-leaf-records.d.ts +132 -0
- package/dist/session-leaf-records.d.ts.map +1 -0
- package/dist/session-leaf-records.js +320 -0
- package/dist/session-leaf-records.js.map +1 -0
- package/dist/session-liveness.d.ts +135 -0
- package/dist/session-liveness.d.ts.map +1 -0
- package/dist/session-liveness.js +347 -0
- package/dist/session-liveness.js.map +1 -0
- package/dist/session-node-manager.d.ts +293 -1652
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +1039 -9659
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-node-types.d.ts +933 -0
- package/dist/session-node-types.d.ts.map +1 -0
- package/dist/session-node-types.js +576 -0
- package/dist/session-node-types.js.map +1 -0
- package/dist/session-own-chain-store.d.ts +65 -0
- package/dist/session-own-chain-store.d.ts.map +1 -0
- package/dist/session-own-chain-store.js +75 -0
- package/dist/session-own-chain-store.js.map +1 -0
- package/dist/session-queries.d.ts +476 -0
- package/dist/session-queries.d.ts.map +1 -0
- package/dist/session-queries.js +1006 -0
- package/dist/session-queries.js.map +1 -0
- package/dist/session-records.d.ts +320 -0
- package/dist/session-records.d.ts.map +1 -0
- package/dist/session-records.js +792 -0
- package/dist/session-records.js.map +1 -0
- package/dist/session-relay-client.d.ts +35 -3
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +211 -30
- package/dist/session-relay-client.js.map +1 -1
- package/dist/session-salts.d.ts +390 -0
- package/dist/session-salts.d.ts.map +1 -0
- package/dist/session-salts.js +1457 -0
- package/dist/session-salts.js.map +1 -0
- package/dist/session-schema.d.ts +30 -0
- package/dist/session-schema.d.ts.map +1 -0
- package/dist/session-schema.js +786 -0
- package/dist/session-schema.js.map +1 -0
- package/dist/standing-receivers.d.ts +280 -0
- package/dist/standing-receivers.d.ts.map +1 -0
- package/dist/standing-receivers.js +1100 -0
- package/dist/standing-receivers.js.map +1 -0
- package/dist/transport-selector.d.ts +13 -0
- package/dist/transport-selector.d.ts.map +1 -1
- package/dist/transport-selector.js.map +1 -1
- package/dist/witness-alerts.d.ts +40 -0
- package/dist/witness-alerts.d.ts.map +1 -0
- package/dist/witness-alerts.js +102 -0
- package/dist/witness-alerts.js.map +1 -0
- package/package.json +5 -5
package/dist/refusal-reasons.js
CHANGED
|
@@ -126,6 +126,40 @@ export const REFUSAL_REASONS = {
|
|
|
126
126
|
COUNTERPARTY_PRIMARY_KEY_CHANGED: "counterparty_primary_key_changed",
|
|
127
127
|
/** The inbound assignment failed verification (signature, signer, or shape). */
|
|
128
128
|
INBOUND_ASSIGNMENT_INVALID: "inbound_assignment_invalid",
|
|
129
|
+
/**
|
|
130
|
+
* 038-KEYBIND — the caller's assignment carried no proof that its threshold key is theirs, or
|
|
131
|
+
* carried one that does not hold.
|
|
132
|
+
*
|
|
133
|
+
* ⚠️ ITS OWN REASON, not folded into INBOUND_ASSIGNMENT_INVALID, because the remedy is different
|
|
134
|
+
* and the other one's remedy is actively wrong here. "The assignment did not verify" tells the
|
|
135
|
+
* caller their frame was damaged and to start a new session; a retry cannot produce a binding
|
|
136
|
+
* that was never minted. What this actually means is that the caller registered against a
|
|
137
|
+
* directory that predates the proof, and the fix is on their side and is a re-registration.
|
|
138
|
+
*/
|
|
139
|
+
INBOUND_ASSIGNMENT_KEY_BINDING: "inbound_assignment_key_binding",
|
|
140
|
+
/**
|
|
141
|
+
* `DOD-M15-SELFCHAIN-1` — a session was offered with NO directory assignment to anchor it.
|
|
142
|
+
*
|
|
143
|
+
* ⚠️ TREATED AS SUSPICIOUS, NOT AS A MISSING OPTIONAL. Every real session is brokered: the
|
|
144
|
+
* directory FROST-signs an establishment record and each side verifies it before the session
|
|
145
|
+
* begins. That record carries the conversation's STARTING POINT — the value every first message
|
|
146
|
+
* chains to — so a session without one is a conversation whose order could never be proven.
|
|
147
|
+
*
|
|
148
|
+
* Nothing legitimate produces it. A counterparty that offers one is either running software that
|
|
149
|
+
* cannot participate in the record, or trying to open a conversation that leaves none.
|
|
150
|
+
*/
|
|
151
|
+
SESSION_WITHOUT_ASSIGNMENT: "session_without_assignment",
|
|
152
|
+
/**
|
|
153
|
+
* A session offer whose directory assignment IS there and cannot be read — its session id or one
|
|
154
|
+
* of its two participants is missing or malformed.
|
|
155
|
+
*
|
|
156
|
+
* ⚠️ SEPARATE FROM `SESSION_WITHOUT_ASSIGNMENT`, AND THE SPLIT IS THE POINT. Both came out of the
|
|
157
|
+
* same `null` return, so a wire or version fault was reaching the operator under a notice reading
|
|
158
|
+
* "NOTHING LEGITIMATE PRODUCES THIS. TREAT IT AS SUSPICIOUS." One exit point standing in for two
|
|
159
|
+
* causes, and the wrong one of the two was the loud one — which teaches an operator to scroll
|
|
160
|
+
* past the notice that matters.
|
|
161
|
+
*/
|
|
162
|
+
ASSIGNMENT_UNREADABLE: "assignment_unreadable",
|
|
129
163
|
};
|
|
130
164
|
/**
|
|
131
165
|
* The CAPACITY refusals — bounds, not security findings.
|
|
@@ -158,6 +192,49 @@ export const CAPACITY_REASONS = {
|
|
|
158
192
|
* `session_refused` frame, which goes to the side that can act on it.
|
|
159
193
|
*/
|
|
160
194
|
export const REFUSAL_GUIDANCE = {
|
|
195
|
+
/**
|
|
196
|
+
* ⛔ THE REPORTING LINE IS OWED AND IS DELIBERATELY ABSENT — `CELLO_Reporting` DOES NOT EXIST YET.
|
|
197
|
+
*
|
|
198
|
+
* Andre asked (2026-09-06) for this notice to tell the operator to report the attempt to
|
|
199
|
+
* `CELLO_Reporting`, which he expected to be in every address book. It is designed and not
|
|
200
|
+
* provisioned — `orphan-triage.ts` carries the same standing trigger, and
|
|
201
|
+
* `dod-m15-no-silent-refusal-1.test.ts` asserts that no guidance names it.
|
|
202
|
+
*
|
|
203
|
+
* Naming it now would be an affordance that resolves to nothing: the reader would go looking for
|
|
204
|
+
* a contact they do not have, which is worse than no advice because they will try to follow it.
|
|
205
|
+
*
|
|
206
|
+
* ⚠️ AND IT IS THE ADVICE A STRANGER ACTUALLY NEEDS. The notice below gives ONE instruction, for
|
|
207
|
+
* a counterparty the operator recognises: reach them out of band. You cannot do that with an
|
|
208
|
+
* unknown agent — there is no channel and no one to ask.
|
|
209
|
+
*
|
|
210
|
+
* ⚠️ AND THE STRANGER CASE IS SAID BY SAYING NOTHING, deliberately. A draft ended with "if you do
|
|
211
|
+
* not know them, do not accept a session from them" — which restates the header: it was ALREADY
|
|
212
|
+
* refused, and the reader is not being offered a choice. Advice that repeats the outcome spends
|
|
213
|
+
* the reader's attention and gives them nothing to do with it.
|
|
214
|
+
*
|
|
215
|
+
* Reporting is the only action that would work for the stranger, and it is precisely the one that
|
|
216
|
+
* does not exist yet. That is what makes provisioning it worth doing rather than a nicety: today
|
|
217
|
+
* the notice has nothing at all to offer that reader.
|
|
218
|
+
*
|
|
219
|
+
* ⛔ TRIGGER: when `CELLO_Reporting` is provisioned and its pubkey published, add a sentence here
|
|
220
|
+
* telling the operator to report the attempt to it, and drop the assertion in that test.
|
|
221
|
+
*/
|
|
222
|
+
[REFUSAL_REASONS.SESSION_WITHOUT_ASSIGNMENT]: "REFUSED ON PURPOSE, AND TREAT IT AS SUSPICIOUS. Somebody tried to open a conversation with " +
|
|
223
|
+
"you without the directory record that every real session carries. That record is what fixes " +
|
|
224
|
+
"the conversation's starting point, and every message chains to it — so a session without one " +
|
|
225
|
+
"is a conversation whose order could never be proven afterwards, by you or by anyone. NOTHING " +
|
|
226
|
+
"LEGITIMATE PRODUCES THIS. IF THEY LOOK LIKE SOMEONE YOU KNOW, reach them OUT OF BAND — send " +
|
|
227
|
+
"an email or a direct message, some channel that is not this one — and tell them their agent " +
|
|
228
|
+
"cannot hold a provable conversation with anyone while it is in this state.",
|
|
229
|
+
[REFUSAL_REASONS.ASSIGNMENT_UNREADABLE]:
|
|
230
|
+
// "REFUSED ON PURPOSE" is a cross-cutting invariant (`DOD-M15-GUARD-HEARD-1`): every refusal
|
|
231
|
+
// guidance says the refusal was deliberate, so an operator never reads one as a malfunction.
|
|
232
|
+
"REFUSED ON PURPOSE, AND PROBABLY NOT AN ATTACK. Somebody tried to open a conversation with " +
|
|
233
|
+
"you and the directory record they brought could not be read — a field it must carry is " +
|
|
234
|
+
"missing or the wrong shape. That is what a version difference between their agent and yours " +
|
|
235
|
+
"looks like, and it is by far the likeliest explanation. Ask them OUT OF BAND — a channel that " +
|
|
236
|
+
"is not this one — which version they are running; if you are both current, ask them to try " +
|
|
237
|
+
"again, because a record damaged in transit produces exactly this too.",
|
|
161
238
|
[REFUSAL_REASONS.COUNTERPARTY_PRIMARY_KEY_CHANGED]: "REFUSED ON PURPOSE. The directory named a different signing identity for a contact you have " +
|
|
162
239
|
"completed sessions with before. Either they genuinely re-registered — confirm that with them " +
|
|
163
240
|
"OUT OF BAND (a channel that is not this one), then run cello_contact_remove for them, which " +
|
|
@@ -174,6 +251,13 @@ export const REFUSAL_GUIDANCE = {
|
|
|
174
251
|
"There is nothing for you to retry — the other party holds the session and has been told to " +
|
|
175
252
|
"start a new one. If it repeats for the SAME counterparty, do not accept anything from them " +
|
|
176
253
|
"until you have confirmed out of band that they still control the identity you know them by.",
|
|
254
|
+
[REFUSAL_REASONS.INBOUND_ASSIGNMENT_KEY_BINDING]: "REFUSED ON PURPOSE. Your session record did not carry the proof that the threshold signing key " +
|
|
255
|
+
"on it is yours — the signature your own identity key makes over it at registration. Without " +
|
|
256
|
+
"that, they would be taking a directory's word for which key is yours, and recording it as your " +
|
|
257
|
+
"identity for every future conversation. Retrying will not produce it. Run cello_status: if your " +
|
|
258
|
+
"agent registered before this proof existed, re-register it and the proof is minted and " +
|
|
259
|
+
"published; if it is current, the directory node that brokered this is dropping the field, and " +
|
|
260
|
+
"another node will serve it.",
|
|
177
261
|
};
|
|
178
262
|
/**
|
|
179
263
|
* 033-ACKEMIT — what the operator is told when the RELAY refuses to witness a message because the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refusal-reasons.js","sourceRoot":"","sources":["../src/refusal-reasons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,6FAA6F;IAC7F,OAAO,EAAE,SAAS;IAClB,2FAA2F;IAC3F,OAAO,EAAE,SAAS;IAClB,mGAAmG;IACnG,QAAQ,EAAE,UAAU;IACpB,gGAAgG;IAChG,IAAI,EAAE,MAAM;IACZ,0FAA0F;IAC1F,QAAQ,EAAE,UAAU;CACZ,CAAC;AAIX;;;;;;;GAOG;AACH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,+FAA+F;IAC/F,iGAAiG;IACjG,0FAA0F;IAC1F,gGAAgG;IAChG,kGAAkG;IAClG,+FAA+F;IAC/F,4FAA4F;IAC5F,qEAAqE,CAAC;AAExE,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE;;;;OAIG;IACH,CAAC,aAAa,CAAC,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,2FAA2F;QAC3F;;;;;;;;;WASG;QACH,oEAAoE;QACpE,qEAAqE;QACrE,kGAAkG;QAClG,iGAAiG;QACjG,sBAAsB;IACxB,CAAC,aAAa,CAAC,OAAO,CAAC,EACrB,+FAA+F;QAC/F,8FAA8F;QAC9F,iGAAiG;QACjG,6FAA6F;QAC7F,2BAA2B;IAC7B,CAAC,aAAa,CAAC,QAAQ,CAAC,EACtB,4FAA4F;QAC5F,+FAA+F;QAC/F,kGAAkG;QAClG,iGAAiG;QACjG,QAAQ;IACV,CAAC,aAAa,CAAC,IAAI,CAAC,EAClB,gGAAgG;QAChG,2FAA2F;QAC3F,gGAAgG;QAChG,yEAAyE;IAC3E,CAAC,aAAa,CAAC,QAAQ,CAAC,EACtB,kGAAkG;QAClG,8FAA8F;QAC9F,iFAAiF;CACpF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,4FAA4F;IAC5F,gCAAgC,EAAE,kCAAkC;IACpE,6FAA6F;IAC7F,gCAAgC,EAAE,kCAAkC;IACpE,gFAAgF;IAChF,0BAA0B,EAAE,4BAA4B;
|
|
1
|
+
{"version":3,"file":"refusal-reasons.js","sourceRoot":"","sources":["../src/refusal-reasons.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration-manager.d.ts","sourceRoot":"","sources":["../src/registration-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,yFAAyF;AACzF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;gFAE4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,6BAA6B,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,OAAO,IAAI,SAAS,GAAG,IAAI,CAAC;IAC5B,cAAc,IAAI,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE;;;;;;;;OAQG;IACH,sBAAsB,IAAI,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACtD,kBAAkB,IAAI,gBAAgB,GAAG,SAAS,CAAC;IACnD,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,kBAAkB,IAAI,UAAU,GAAG,IAAI,CAAC;IACxC,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7C,yFAAyF;IACzF,oBAAoB,IAAI,OAAO,CAAC;IAChC,kFAAkF;IAClF,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjF,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5F,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7F;AAED,qBAAa,mBAAmB;;gBAOlB,GAAG,EAAE,mBAAmB;IAMpC,oBAAoB,IAAI,iBAAiB,GAAG,IAAI;IAIhD,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAI3D,gBAAgB,IAAI,gBAAgB,GAAG,IAAI;IAI3C,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"registration-manager.d.ts","sourceRoot":"","sources":["../src/registration-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,yFAAyF;AACzF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;gFAE4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,6BAA6B,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,OAAO,IAAI,SAAS,GAAG,IAAI,CAAC;IAC5B,cAAc,IAAI,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE;;;;;;;;OAQG;IACH,sBAAsB,IAAI,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACtD,kBAAkB,IAAI,gBAAgB,GAAG,SAAS,CAAC;IACnD,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,kBAAkB,IAAI,UAAU,GAAG,IAAI,CAAC;IACxC,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7C,yFAAyF;IACzF,oBAAoB,IAAI,OAAO,CAAC;IAChC,kFAAkF;IAClF,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjF,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5F,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7F;AAED,qBAAa,mBAAmB;;gBAOlB,GAAG,EAAE,mBAAmB;IAMpC,oBAAoB,IAAI,iBAAiB,GAAG,IAAI;IAIhD,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAI3D,gBAAgB,IAAI,gBAAgB,GAAG,IAAI;IAI3C,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;IA6HzD;;;OAGG;IACG,QAAQ,CAAC,SAAS,GAAE,MAAW,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAsX/H"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* otherwise unchanged.
|
|
13
13
|
*/
|
|
14
14
|
import { encodeCbor } from "@cello-protocol/protocol-types";
|
|
15
|
-
import { mlDsaKeygen, mlDsaKeygenWithBytes, FileMlDsaKeyProvider } from "@cello-protocol/crypto";
|
|
15
|
+
import { mlDsaKeygen, mlDsaKeygenWithBytes, FileMlDsaKeyProvider, buildKeyBindingTbs } from "@cello-protocol/crypto";
|
|
16
16
|
import { NetworkDirectoryNode, runNetworkDkg } from "./network-directory-node.js";
|
|
17
17
|
export class RegistrationManager {
|
|
18
18
|
#ctx;
|
|
@@ -61,7 +61,7 @@ export class RegistrationManager {
|
|
|
61
61
|
* gated on the ml-dsa blob — so an agent is never left durably-unregistered when the blob is absent.
|
|
62
62
|
* Requires `this.#ctx.persistence` to be present (callers check).
|
|
63
63
|
*/
|
|
64
|
-
#identityPersistOps(state, mlDsaPubkeyHex, mlDsaSecretKeyBlob) {
|
|
64
|
+
#identityPersistOps(state, mlDsaPubkeyHex, mlDsaSecretKeyBlob, keyBinding) {
|
|
65
65
|
const persistence = this.#ctx.persistence;
|
|
66
66
|
const ops = [];
|
|
67
67
|
if (mlDsaSecretKeyBlob) {
|
|
@@ -72,9 +72,75 @@ export class RegistrationManager {
|
|
|
72
72
|
primaryPubkey: state.primary_pubkey,
|
|
73
73
|
mlDsaPubkey: state.ml_dsa_pubkey,
|
|
74
74
|
registeredAt: state.registered_at,
|
|
75
|
+
keyBinding,
|
|
75
76
|
}));
|
|
76
77
|
return ops;
|
|
77
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* 038-KEYBIND — sign the statement "this FROST group key is mine" with K_local.
|
|
81
|
+
*
|
|
82
|
+
* ⚠️ NEVER A RE-DKG. An agent that already exists holds both keys and can produce this on
|
|
83
|
+
* demand: K_local is on this machine and the group key is either just out of the DKG or handed
|
|
84
|
+
* back by the directory on `already_registered`. Key refresh preserves the group key
|
|
85
|
+
* (`session-ceremony.ts` aborts if the primary changes), so the binding is signed once for the
|
|
86
|
+
* life of the agent — which is why every path that learns a `primary_pubkey` mints one, rather
|
|
87
|
+
* than only the path that ran a ceremony.
|
|
88
|
+
*
|
|
89
|
+
* The signer is a key NO DIRECTORY HOLDS. That is the whole property: the directory carries this
|
|
90
|
+
* value to the counterparty and cannot forge it, cannot swap it, and cannot lift it onto another
|
|
91
|
+
* identity — the signed bytes name the K_local it belongs to as well as the group key.
|
|
92
|
+
*/
|
|
93
|
+
async #mintKeyBinding(kLocalPubkeyHex, primaryPubkeyHex) {
|
|
94
|
+
const tbs = buildKeyBindingTbs(new Uint8Array(Buffer.from(kLocalPubkeyHex, "hex")), new Uint8Array(Buffer.from(primaryPubkeyHex, "hex")));
|
|
95
|
+
return Buffer.from(await this.#ctx.keyProvider.sign(tbs)).toString("hex");
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 038-KEYBIND review F4 — mint a binding ONLY over a group key this machine can corroborate.
|
|
99
|
+
*
|
|
100
|
+
* ⚠️ THE `already_registered` PATHS RUN NO CEREMONY, so the group key arrives in a directory's
|
|
101
|
+
* reply and there is nothing in that frame to check it against. Signing over it regardless is the
|
|
102
|
+
* defect this order exists to remove, relocated from the verify site to the mint site: K_local
|
|
103
|
+
* would be making a non-repudiable statement about a key chosen by the one party the binding is
|
|
104
|
+
* designed to take out of the trust path.
|
|
105
|
+
*
|
|
106
|
+
* The anchor this machine DOES hold is its FROST share. `commitments[0]` is the group key the
|
|
107
|
+
* DKG produced — computed here, from every participant's commitment — and it cannot be edited by
|
|
108
|
+
* a directory. So the answered key is checked against it, and only then signed over.
|
|
109
|
+
*
|
|
110
|
+
* ⚠️ NO SHARE IS A REFUSAL, not a licence to sign. An agent with no share cannot co-sign anything
|
|
111
|
+
* anyway; minting a binding for it would produce a proof that its group key is one it has no way
|
|
112
|
+
* to use, and the absent share is the fault worth reporting.
|
|
113
|
+
*
|
|
114
|
+
* Returns the binding, or the error the caller returns verbatim.
|
|
115
|
+
*/
|
|
116
|
+
async #mintCorroboratedKeyBinding(kLocalPubkeyHex, answeredPrimaryHex) {
|
|
117
|
+
const share = await this.#ctx.persistence?.loadActiveFrostKeyShare();
|
|
118
|
+
if (!share) {
|
|
119
|
+
this.#ctx.logger.error("registration.key_binding.no_share", {
|
|
120
|
+
agentPubkey: kLocalPubkeyHex,
|
|
121
|
+
impact: "the directory reports this agent already registered, but this machine holds no FROST share for it — so the threshold key in the reply could not be checked against anything local and no key binding was signed; nothing was persisted",
|
|
122
|
+
});
|
|
123
|
+
return {
|
|
124
|
+
ok: false,
|
|
125
|
+
error: "registration_share_missing",
|
|
126
|
+
detail: "The directory says this agent is already registered, but this machine holds no signing share for it — so it cannot take part in ceremonies and cannot vouch for its own threshold key. This usually means the agent was registered on a different device. Restore that device's backup, or remove this agent and register a new one.",
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
if (share.primaryPubkey.toLowerCase() !== answeredPrimaryHex.toLowerCase()) {
|
|
130
|
+
this.#ctx.logger.error("registration.primary_pubkey.mismatch", {
|
|
131
|
+
agentPubkey: kLocalPubkeyHex,
|
|
132
|
+
derivedPrefix: share.primaryPubkey.slice(0, 16),
|
|
133
|
+
answeredPrefix: answeredPrimaryHex.slice(0, 16),
|
|
134
|
+
impact: "the directory named a threshold group key other than the one this agent's own share belongs to; nothing was persisted and no key binding was signed, because signing one would have vouched for a key this agent cannot sign with",
|
|
135
|
+
});
|
|
136
|
+
return {
|
|
137
|
+
ok: false,
|
|
138
|
+
error: "registration_primary_pubkey_mismatch",
|
|
139
|
+
detail: "The directory named a different threshold key for this agent than the one its signing share belongs to. Nothing was saved. Retry registration; if it repeats, the node that answered is serving a profile that does not match this agent and cello status will show which one it was.",
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
return { ok: true, keyBinding: await this.#mintKeyBinding(kLocalPubkeyHex, answeredPrimaryHex) };
|
|
143
|
+
}
|
|
78
144
|
/**
|
|
79
145
|
* Register this agent with the directory.
|
|
80
146
|
* REG-001: ML-DSA keygen → signaling stream → register_request → DKG → register_success.
|
|
@@ -159,7 +225,12 @@ export class RegistrationManager {
|
|
|
159
225
|
// state is persisted whenever persistence is present — NOT gated on the ml-dsa blob (so an
|
|
160
226
|
// already_registered agent is never left durably-unregistered when the blob is absent).
|
|
161
227
|
if (this.#ctx.persistence) {
|
|
162
|
-
|
|
228
|
+
// 038-KEYBIND: no ceremony runs on this path, so the group key comes from the directory's
|
|
229
|
+
// reply — checked against this machine's own share before K_local signs over it (F4).
|
|
230
|
+
const minted = await this.#mintCorroboratedKeyBinding(kLocalPubkeyHex, state.primary_pubkey);
|
|
231
|
+
if (!minted.ok)
|
|
232
|
+
return { error: minted.error, detail: minted.detail };
|
|
233
|
+
const ok = await this.#persistAll(this.#identityPersistOps(state, mlDsaPubkeyHex, mlDsaSecretKeyBlob, minted.keyBinding));
|
|
163
234
|
if (!ok)
|
|
164
235
|
return { error: "identity_persist_failed" };
|
|
165
236
|
}
|
|
@@ -315,10 +386,24 @@ export class RegistrationManager {
|
|
|
315
386
|
if (!ok)
|
|
316
387
|
return { error: "identity_persist_failed" };
|
|
317
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* ─── 038-KEYBIND: MINT THE BINDING, THEN HAND IT OVER WITH THE GROUP KEY ────────────────────
|
|
391
|
+
*
|
|
392
|
+
* THE TAIL OF REGISTRATION IS THE ONLY MOMENT THIS CAN HAPPEN. At agent creation the group key
|
|
393
|
+
* does not exist — a FROST DKG's group key is the sum of every participant's commitment, so by
|
|
394
|
+
* construction it is nobody's existing key. After this frame the ceremony is over. Right here
|
|
395
|
+
* is the one point where K_local's private half and the finished group key are both on this
|
|
396
|
+
* machine.
|
|
397
|
+
*
|
|
398
|
+
* It rides on `dkg_complete` rather than in a frame of its own so the directory can never hold
|
|
399
|
+
* a group key it has no binding for: one frame, both values, or neither.
|
|
400
|
+
*/
|
|
401
|
+
const keyBinding = await this.#mintKeyBinding(kLocalPubkeyHex, dkgPrimaryPubkeyHex);
|
|
318
402
|
// Step 5c: send dkg_complete (SignalingManager CBOR/lp-encodes the frame)
|
|
319
403
|
const dkgSent = await this.#ctx.sendSignalingFrame({
|
|
320
404
|
type: "dkg_complete",
|
|
321
405
|
primary_pubkey: dkgPrimaryPubkeyHex,
|
|
406
|
+
key_binding: keyBinding,
|
|
322
407
|
});
|
|
323
408
|
if (!dkgSent.ok) {
|
|
324
409
|
return { error: dkgSent.reason ?? "directory_unreachable" };
|
|
@@ -352,7 +437,14 @@ export class RegistrationManager {
|
|
|
352
437
|
};
|
|
353
438
|
// SI-003: persist before caching the registered state (see the dkg_ready branch).
|
|
354
439
|
if (this.#ctx.persistence) {
|
|
355
|
-
|
|
440
|
+
// 038-KEYBIND: the DKG ran, but the directory already held a profile and answered with
|
|
441
|
+
// ITS key. Checked against this machine's own share before signing over it (F4) — an
|
|
442
|
+
// answer that disagrees with the share is a directory contradicting the ceremony, not a
|
|
443
|
+
// more authoritative value.
|
|
444
|
+
const minted = await this.#mintCorroboratedKeyBinding(kLocalPubkeyHex, state.primary_pubkey);
|
|
445
|
+
if (!minted.ok)
|
|
446
|
+
return { error: minted.error, detail: minted.detail };
|
|
447
|
+
const ok = await this.#persistAll(this.#identityPersistOps(state, mlDsaPubkeyHex, mlDsaSecretKeyBlob, minted.keyBinding));
|
|
356
448
|
if (!ok)
|
|
357
449
|
return { error: "identity_persist_failed" };
|
|
358
450
|
}
|
|
@@ -365,6 +457,35 @@ export class RegistrationManager {
|
|
|
365
457
|
// Step 7: build RegistrationState and cache
|
|
366
458
|
const agentId = responseWithTimeout["agent_id"];
|
|
367
459
|
const primaryPubkey = responseWithTimeout["primary_pubkey"];
|
|
460
|
+
/**
|
|
461
|
+
* ─── 038-KEYBIND review F4: A DIRECTORY THAT ANSWERS A DIFFERENT GROUP KEY IS REFUSED ───────
|
|
462
|
+
*
|
|
463
|
+
* ⚠️ THE EARLIER SHAPE HERE WAS THE DEFECT THIS ORDER EXISTS TO REMOVE, one level up. It
|
|
464
|
+
* re-minted the binding over `primaryPubkey` whenever it differed from what the DKG derived,
|
|
465
|
+
* and argued that "binding what was ANSWERED cannot drift". It cannot drift, and it is the
|
|
466
|
+
* wrong thing to bind: K_local would be signing a statement about a group key this agent never
|
|
467
|
+
* derived and holds no share for, on the say-so of the one party the binding exists to remove
|
|
468
|
+
* from the trust path. A directory would get to choose which key is yours, which is exactly
|
|
469
|
+
* what Part 4.2 of the order rules out.
|
|
470
|
+
*
|
|
471
|
+
* `dkgPrimaryPubkeyHex` is the sum of the commitments this daemon computed in the ceremony it
|
|
472
|
+
* ran. That is the value that is ours. A `register_success` naming anything else is a directory
|
|
473
|
+
* contradicting the ceremony, and there is no honest reading of it — so the registration fails
|
|
474
|
+
* and no binding is signed. Mirrors `session-ceremony.ts`, which already aborts a key refresh
|
|
475
|
+
* when the primary changes.
|
|
476
|
+
*/
|
|
477
|
+
if (primaryPubkey !== dkgPrimaryPubkeyHex) {
|
|
478
|
+
this.#ctx.logger.error("registration.primary_pubkey.mismatch", {
|
|
479
|
+
agentPubkey: kLocalPubkeyHex,
|
|
480
|
+
derivedPrefix: dkgPrimaryPubkeyHex.slice(0, 16),
|
|
481
|
+
answeredPrefix: primaryPubkey.slice(0, 16),
|
|
482
|
+
impact: "the directory confirmed registration under a threshold group key other than the one this agent's own DKG produced; nothing was persisted and no key binding was signed, because signing one would have vouched for a key this agent does not hold a share for",
|
|
483
|
+
});
|
|
484
|
+
return {
|
|
485
|
+
error: "registration_primary_pubkey_mismatch",
|
|
486
|
+
detail: "The directory confirmed your registration under a different threshold key than the ceremony on this machine produced. Nothing was saved. Retry registration; if it repeats, the node that answered is not completing ceremonies correctly and cello status will show which one it was.",
|
|
487
|
+
};
|
|
488
|
+
}
|
|
368
489
|
const state = {
|
|
369
490
|
agent_id: agentId,
|
|
370
491
|
primary_pubkey: primaryPubkey,
|
|
@@ -375,7 +496,7 @@ export class RegistrationManager {
|
|
|
375
496
|
// SI-003: AWAIT the final identity persists before reporting success, and cache the registered
|
|
376
497
|
// state only after they commit — a register-success guarantees a durable identity row.
|
|
377
498
|
if (this.#ctx.persistence) {
|
|
378
|
-
const ok = await this.#persistAll(this.#identityPersistOps(state, mlDsaPubkeyHex, mlDsaSecretKeyBlob));
|
|
499
|
+
const ok = await this.#persistAll(this.#identityPersistOps(state, mlDsaPubkeyHex, mlDsaSecretKeyBlob, keyBinding));
|
|
379
500
|
if (!ok)
|
|
380
501
|
return { error: "identity_persist_failed" };
|
|
381
502
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration-manager.js","sourceRoot":"","sources":["../src/registration-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registration-manager.js","sourceRoot":"","sources":["../src/registration-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,17 @@ export interface RegistrationStateRecord {
|
|
|
22
22
|
mlDsaPubkey: string;
|
|
23
23
|
registeredAt: number;
|
|
24
24
|
status: string;
|
|
25
|
+
/**
|
|
26
|
+
* 038-KEYBIND. Hex 64-byte Ed25519 signature by this agent's K_local over
|
|
27
|
+
* (k_local_pubkey, primaryPubkey). Null for an agent whose row predates the column.
|
|
28
|
+
*
|
|
29
|
+
* ⚠️ **WRITTEN, AND READ BY NOTHING YET** — said plainly rather than implied, because the careful
|
|
30
|
+
* null-handling around it otherwise reads as a decision some caller acts on, and no caller
|
|
31
|
+
* exists. The live copy is the one on the DIRECTORY's profile, which is what rides on every
|
|
32
|
+
* session assignment; this is the agent's own record of what it signed, kept so a future
|
|
33
|
+
* re-upload does not have to re-derive it from a value a directory supplied.
|
|
34
|
+
*/
|
|
35
|
+
keyBinding: string | null;
|
|
25
36
|
}
|
|
26
37
|
export interface MlDsaKeypairRecord {
|
|
27
38
|
mlDsaPubkey: string;
|
|
@@ -67,6 +78,12 @@ export interface DaemonRegistrationPersistence {
|
|
|
67
78
|
primaryPubkey: string;
|
|
68
79
|
mlDsaPubkey: string;
|
|
69
80
|
registeredAt: number;
|
|
81
|
+
/**
|
|
82
|
+
* 038-KEYBIND. The binding minted at the tail of registration, hex. Persisted BESIDE the share
|
|
83
|
+
* because it is the same kind of artifact: produced once, for the life of the agent, from key
|
|
84
|
+
* material that is only ever together on this machine.
|
|
85
|
+
*/
|
|
86
|
+
keyBinding: string;
|
|
70
87
|
}): Promise<void>;
|
|
71
88
|
persistFrostKeyShare(opts: {
|
|
72
89
|
epochId: string;
|
|
@@ -105,6 +122,7 @@ export declare class FileRegistrationPersistence implements DaemonRegistrationPe
|
|
|
105
122
|
primaryPubkey: string;
|
|
106
123
|
mlDsaPubkey: string;
|
|
107
124
|
registeredAt: number;
|
|
125
|
+
keyBinding: string;
|
|
108
126
|
}): Promise<void>;
|
|
109
127
|
persistFrostKeyShare(opts: {
|
|
110
128
|
epochId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration-persistence.d.ts","sourceRoot":"","sources":["../src/registration-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIzC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"registration-persistence.d.ts","sourceRoot":"","sources":["../src/registration-persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,6 +75,9 @@ export class FileRegistrationPersistence {
|
|
|
75
75
|
primaryPubkey: opts.primaryPubkey,
|
|
76
76
|
mlDsaPubkey: opts.mlDsaPubkey,
|
|
77
77
|
registeredAt: opts.registeredAt,
|
|
78
|
+
// 038-KEYBIND: a public signature, not a secret — but it lives with the rest of the
|
|
79
|
+
// registration record because it is meaningless apart from the two keys it names.
|
|
80
|
+
keyBinding: opts.keyBinding,
|
|
78
81
|
status: "active",
|
|
79
82
|
});
|
|
80
83
|
this.#logger.info("registration.state.persisted", {
|
|
@@ -129,6 +132,9 @@ export class FileRegistrationPersistence {
|
|
|
129
132
|
mlDsaPubkey: reqStr(obj, "mlDsaPubkey", FILE_REGISTRATION_STATE),
|
|
130
133
|
registeredAt: reqNum(obj, "registeredAt", FILE_REGISTRATION_STATE),
|
|
131
134
|
status: reqStr(obj, "status", FILE_REGISTRATION_STATE),
|
|
135
|
+
// NOT `reqStr`: a file written before 038-KEYBIND has no such field, and that is a value to
|
|
136
|
+
// report (null), not a corrupt-file throw that would make the agent unloadable.
|
|
137
|
+
keyBinding: typeof obj["keyBinding"] === "string" ? obj["keyBinding"] : null,
|
|
132
138
|
};
|
|
133
139
|
}
|
|
134
140
|
async loadMlDsaKeypair() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration-persistence.js","sourceRoot":"","sources":["../src/registration-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"registration-persistence.js","sourceRoot":"","sources":["../src/registration-persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-assignment-parser.d.ts","sourceRoot":"","sources":["../src/session-assignment-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAcxE;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,wBAAwB,GAAG,qBAAqB,CAAC;AAkE9E;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AAC5B;;;;GAIG;AACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAC5C,iBAAiB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"session-assignment-parser.d.ts","sourceRoot":"","sources":["../src/session-assignment-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAcxE;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,wBAAwB,GAAG,qBAAqB,CAAC;AAkE9E;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AAC5B;;;;GAIG;AACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAC5C,iBAAiB,GAAG,IAAI,CAgH1B;AAID,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,eAAe,CAAC;IAC9C,uFAAuF;IACvF,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,2BAA2B,GAAG,IAAI,CAK7G;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAIlF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA0BhF;AAMD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACnE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC9C,CAeA;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAGtF"}
|
|
@@ -198,7 +198,29 @@ onTolerated) {
|
|
|
198
198
|
const signerPubkey = toU8Safe(raw["signer_pubkey"]);
|
|
199
199
|
if (!signerPubkey || signerPubkey.length !== 32)
|
|
200
200
|
return null;
|
|
201
|
-
|
|
201
|
+
/**
|
|
202
|
+
* 038-KEYBIND — the key bindings are SHAPE-CHECKED HERE AND JUDGED IN `assignment-verify.ts`.
|
|
203
|
+
*
|
|
204
|
+
* A wrong-length value yields `undefined`, which the verifiers treat exactly as absent: both
|
|
205
|
+
* take the REFUSE path, and refuse by name. That is the missing/malformed/mismatched collapse
|
|
206
|
+
* the milestone requires — there is no shape of these fields that reaches a session.
|
|
207
|
+
*
|
|
208
|
+
* They are NOT rejected here (a `return null`) on purpose. `null` from this parser means "the
|
|
209
|
+
* assignment was malformed", which tells an operator nothing about which protection stopped
|
|
210
|
+
* them. Carrying the absence one layer further is what lets the refusal say
|
|
211
|
+
* "this counterparty's directory did not supply the proof that its group key is theirs".
|
|
212
|
+
*/
|
|
213
|
+
const bindA = toU8Safe(raw["participant_a_key_binding"]);
|
|
214
|
+
const bPrimary = toU8Safe(raw["participant_b_primary_pubkey"]);
|
|
215
|
+
const bindB = toU8Safe(raw["participant_b_key_binding"]);
|
|
216
|
+
return {
|
|
217
|
+
...common,
|
|
218
|
+
signature_type: "frost",
|
|
219
|
+
signer_pubkey: signerPubkey,
|
|
220
|
+
participant_a_key_binding: bindA && bindA.length === 64 ? bindA : undefined,
|
|
221
|
+
participant_b_primary_pubkey: bPrimary && bPrimary.length === 32 ? bPrimary : undefined,
|
|
222
|
+
participant_b_key_binding: bindB && bindB.length === 64 ? bindB : undefined,
|
|
223
|
+
};
|
|
202
224
|
}
|
|
203
225
|
return { ...common, signature_type: "single" };
|
|
204
226
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-assignment-parser.js","sourceRoot":"","sources":["../src/session-assignment-parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-assignment-parser.js","sourceRoot":"","sources":["../src/session-assignment-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -223,13 +223,18 @@ export declare function verifyUnilateralCertificate(deps: {
|
|
|
223
223
|
* primary value is OUT-OF-BAND (any holder of the signer's primary — e.g. an arbitrator — can verify
|
|
224
224
|
* an exported cert's legibility).
|
|
225
225
|
*
|
|
226
|
-
* SYMMETRY STATUS:
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
226
|
+
* SYMMETRY STATUS: SYMMETRIC as of 038-KEYBIND, and the old text is worth stating because it names
|
|
227
|
+
* what was broken. It read: *"The missing half is the INITIATOR-records-RESPONDER direction: an
|
|
228
|
+
* initiator never learns the responder's primary, so when the responder closes first, the initiator
|
|
229
|
+
* cannot verify locally and accepts with reason `signer_key_not_held`."* That was exactly right,
|
|
230
|
+
* and it is now closed: the session assignment carries `participant_b_primary_pubkey` alongside a
|
|
231
|
+
* binding signed by participant_b's own K_local, the initiator verifies that binding before it will
|
|
232
|
+
* accept the assignment at all, and `initiate-session-handler.ts` records the result. Both closing
|
|
233
|
+
* orders verify locally.
|
|
234
|
+
*
|
|
235
|
+
* `signer_key_not_held` therefore no longer describes an ordinary responder-first close. It remains
|
|
236
|
+
* reachable — a session row that predates the recording, or one whose assignment never reached this
|
|
237
|
+
* path — and it is still the honest answer in those cases, which is why the branch stays.
|
|
233
238
|
*
|
|
234
239
|
* `legibility` MUST be the AS-RECEIVED wire object (not a normalised copy) — the directory signed
|
|
235
240
|
* over the canonical hash of exactly what it sent.
|