@mcsherrylabs/evolver-mcp 0.11.0 → 0.12.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.
@@ -0,0 +1,325 @@
1
+ // Group OWNERSHIP transfer (issue #9) — a two-party prepare → consent → finalize → submit workflow.
2
+ // NOT a credit transfer: `evolver_sign_transfer_many` moves credit; this hands a group to a new owner.
3
+ //
4
+ // The chain applies `TransferGroupOwnershipTxBody` only when the SignedTx carries an auth whose
5
+ // `node_id` is the incoming owner (GroupLedgerOrchestrator.applyTransferOwnership), and admission
6
+ // verifies EVERY auth against the named identity's REGISTERED (node_id, key_type, key_label) key
7
+ // over the same auth-free digest (BlockPayloadValidator.admitFilter / resolveAuths). So:
8
+ //
9
+ // 1. PREPARE (outgoing owner's session) — composes the intent with the SDK body composer and the
10
+ // SDK canonical digest. Signs NOTHING and records no bytes, so `evolver_submit` cannot find it.
11
+ // 2. CONSENT (incoming owner's session, its own host-held key) — recomputes the digest from the
12
+ // structured intent, refuses a mismatching txId, signs the digest with ITS signer and returns
13
+ // one public auth. It never holds a submittable envelope.
14
+ // 3. FINALIZE (outgoing owner's session) — re-reads the chain, verifies the consent signature
15
+ // against the incoming owner's REGISTERED key, then signs as sender and assembles BOTH auths
16
+ // with the SDK `encodeSignedTx`. Recorded once, strictly, by id.
17
+ // 4. `evolver_submit` — the ordinary path and its guards, unchanged.
18
+ //
19
+ // ⚠️ THE txId IS AUTH-FREE. SDK `txId` = node `signingMaterial` = SHA-256 over the tx-auth tag,
20
+ // ledger, sender, ttl, body hash and maxToll — no auths (SignedTxOps.txId, signed_tx.proto). So the
21
+ // prepared id, the consented id and the submitted id are one value; finalize re-derives and checks
22
+ // it rather than assuming.
23
+ //
24
+ // ⚠️ ONLY Ed25519 CONSENT CAN BE VERIFIED HERE. SDK 0.21.0 exports `edVerify` but no BLS verify, and
25
+ // verifying before assembly is the point. A BLS consent is refused locally — never assembled blind,
26
+ // never verified by a hand-rolled pairing check. ACCEPTED DISCREPANCY: SDK `edVerify` is noble's
27
+ // ZIP215 (permissive) rule while the node's JCA verifier is strict RFC 8032, so a deliberately
28
+ // non-canonical signature could pass here and be refused by the node as `invalid_signature` —
29
+ // uncharged, but the submit consumes this session's once-only id and needs a NEW prepare.
30
+ //
31
+ // ⚠️ KEY MATERIAL NEVER ENTERS OR LEAVES. Arguments and results carry names, the digest-bound
32
+ // intent, key type/label and the single consent signature; never a private key or signed envelope.
33
+ //
34
+ // ⚠️ THE CONSENT IS SAFE TO HAND OVER ONLY ON A NODE THAT REQUIRES THE SENDER'S OWN AUTH. Before
35
+ // the #9 node fix, admission/validation/apply accepted ANY verified auth, so the incoming owner's
36
+ // consent alone was a submittable transfer "from" the outgoing owner: a bearer artefact that seized
37
+ // the group and charged a sender who never signed. Every step therefore refuses unless the
38
+ // connected node's /status says `senderAuthorizationRequired: true` (SDK `nodeStatus`). That is
39
+ // the connected node's assertion only: the whole chain must run compatible nodes (a deployment
40
+ // prerequisite, not something this process can verify), and the canonical digest has no chain id,
41
+ // so a consent remains replayable on another chain with the same names/keys until it expires.
42
+ import { LEDGER, encodeSignedTx, txId as txDigest, transferGroupOwnershipBody, isValidGroupName, isValidNodeId, hexToBytes, edVerify, edSpkiToRaw, } from "@mcsherrylabs/evolver-client";
43
+ import { recordAssembledOnce, recordPendingOwnership, pendingOwnershipById, dropPendingOwnership, pruneExpiredPendingOwnership, recordedById, namedInRefusal, MAX_PENDING_OWNERSHIP, } from "./write.js";
44
+ /** Rounds of life for a two-party transfer. Longer than `DEFAULT_TTL_OFFSET` (50, sized for no
45
+ * human wait) because a second party must act, but never beyond the node's default
46
+ * `max-ttl-offset` (RoutingConfig.DefaultMaxTtlOffset = 100): a longer ttl is `ttl_too_far`, and
47
+ * a long-lived co-signed envelope is a bearer artefact. The default stays 10 rounds inside that
48
+ * bound so the two parties' nodes may disagree slightly about the tip. Expiry is final. */
49
+ export const OWNERSHIP_TTL_MAX = 100;
50
+ export const OWNERSHIP_TTL_DEFAULT = 90;
51
+ /** The one key type whose consent can be verified with a published SDK primitive. */
52
+ export const CONSENT_KEY_TYPE = "Ed25519";
53
+ export const INTENT_KIND = "evolver.group_ownership_intent.v1";
54
+ export const CONSENT_KIND = "evolver.group_ownership_consent.v1";
55
+ const PURPOSE = "AUTHORIZE"; // TxAuth.purpose default; encodeSignedTx writes no other.
56
+ const MAX_LABEL = 128;
57
+ const refuse = (what, cause) => ({ kind: "partial", what, cause });
58
+ const unreachable = (e) => ({ kind: "unreachable", chain: "", cause: e instanceof Error ? e.message : String(e) });
59
+ const hex = (b) => Buffer.from(b).toString("hex");
60
+ const str = (v) => (typeof v === "string" ? v.trim() : "");
61
+ /** The canonical digest (== txId) for one transfer intent, from the SDK composer and SDK digest.
62
+ * maxToll is 0: the groups ledger charges no toll and this workflow consents to none. */
63
+ function digestFor(outgoing, groupName, incoming, ttl) {
64
+ const body = transferGroupOwnershipBody({ groupName, newOwnerNodeId: incoming });
65
+ return { body, digest: txDigest(LEDGER.groups, outgoing, ttl, body, 0n) };
66
+ }
67
+ /** Refusals shared by every step, before any read: names and the outgoing/incoming distinction. */
68
+ function validNames(groupName, outgoing, incoming) {
69
+ if (!isValidGroupName(groupName))
70
+ return refuse("groupName", "not a valid group name");
71
+ if (!isValidNodeId(outgoing))
72
+ return refuse("outgoingOwner", "not a valid identity id");
73
+ if (!isValidNodeId(incoming))
74
+ return refuse("incomingOwner", "not a valid identity id");
75
+ if (outgoing === incoming)
76
+ return refuse("incomingOwner", "the incoming owner equals the outgoing owner — the chain fines that rather than refusing it");
77
+ return null;
78
+ }
79
+ /** Chain facts the chain will itself enforce at apply (a mismatch is a FINE, too late to refuse):
80
+ * the group's committed owner, and that the incoming owner is an existing identity, not a group. */
81
+ async function checkChainFacts(reads, groupName, outgoing, incoming) {
82
+ try {
83
+ const listed = (await reads.listGroups()).find((g) => g.ledgerId === groupName);
84
+ if (listed === undefined)
85
+ return { kind: "not_found", what: `group "${groupName}"` };
86
+ if (listed.owner !== outgoing)
87
+ return refuse("outgoingOwner", `group "${groupName}" is owned by "${listed.owner}" at the node's applied state, not "${outgoing}"`);
88
+ if ((await reads.getGroup(incoming)) !== null)
89
+ return refuse("incomingOwner", `"${incoming}" is a group; only an identity can own a group`);
90
+ if ((await reads.getIdentity(incoming)) === null)
91
+ return { kind: "not_found", what: `identity "${incoming}" (incoming owner)` };
92
+ }
93
+ catch (e) {
94
+ return unreachable(e);
95
+ }
96
+ return null;
97
+ }
98
+ /** Freshness under the chain's own admit rule: `tip < ttl <= tip + max-ttl-offset`. */
99
+ function checkFresh(tip, expiresAtRound) {
100
+ if (expiresAtRound <= tip)
101
+ return refuse("expiresAtRound", `expired: round ${expiresAtRound} is not after the current round ${tip}. Expiry is final; prepare a NEW transfer (a new txId) rather than reusing this one`);
102
+ if (expiresAtRound - tip > OWNERSHIP_TTL_MAX)
103
+ return refuse("expiresAtRound", `round ${expiresAtRound} is more than ${OWNERSHIP_TTL_MAX} rounds after the current round ${tip}; refused as over-long`);
104
+ return null;
105
+ }
106
+ /** The incoming owner's REGISTERED key for (identity, Ed25519, label), raw 32 bytes. Knowing a
107
+ * public key is not authority; only the chain's registration of it for this identity is. */
108
+ async function registeredEdKey(reads, who, keyLabel) {
109
+ let rows;
110
+ try {
111
+ rows = await reads.getIdentityKeys(who);
112
+ }
113
+ catch (e) {
114
+ return unreachable(e);
115
+ }
116
+ if (rows === null)
117
+ return { kind: "not_found", what: `identity "${who}"` };
118
+ const match = rows.filter((r) => r.keyType === CONSENT_KEY_TYPE && r.label === keyLabel);
119
+ if (match.length !== 1)
120
+ return refuse("consent.auth", `"${who}" has no single registered ${CONSENT_KEY_TYPE} key labelled "${keyLabel}" at the node's applied state (unknown_key on chain)`);
121
+ try {
122
+ return edSpkiToRaw(hexToBytes(match[0].publicKeyHex));
123
+ }
124
+ catch {
125
+ return refuse("consent.auth", `the registered ${CONSENT_KEY_TYPE} key for "${who}" is not a recognisable Ed25519 public key`);
126
+ }
127
+ }
128
+ /** Fail closed unless the CONNECTED node states it requires the sender's own AUTHORIZE auth.
129
+ * Absent/null/false/non-boolean is unsupported (`partial`); a failed read is `unreachable`. */
130
+ async function requireSenderAuthorizationNode(reads) {
131
+ let flag;
132
+ try {
133
+ flag = (await reads.nodeStatus()).senderAuthorizationRequired;
134
+ }
135
+ catch (e) {
136
+ return unreachable(e);
137
+ }
138
+ if (flag === true)
139
+ return null;
140
+ return refuse("node", "the connected node does not advertise senderAuthorizationRequired: true. On such a node the " +
141
+ "incoming owner's consent alone could be submitted as a transfer the outgoing owner never signed, " +
142
+ "so nothing is prepared, signed or returned. Use a node (and a chain) running the sender-authorization fix.");
143
+ }
144
+ async function tip(reads) {
145
+ try {
146
+ return await reads.currentRound();
147
+ }
148
+ catch (e) {
149
+ return unreachable(e);
150
+ }
151
+ }
152
+ /**
153
+ * PREPARE (outgoing owner). Signs nothing; returns the public intent for the incoming owner.
154
+ */
155
+ export async function prepareOwnershipTransfer(deps, params) {
156
+ const groupName = str(params.groupName), incoming = str(params.incomingOwner), outgoing = deps.identity;
157
+ const bad = validNames(groupName, outgoing, incoming);
158
+ if (bad)
159
+ return bad;
160
+ const ttlRounds = params.ttlRounds === undefined ? OWNERSHIP_TTL_DEFAULT : params.ttlRounds;
161
+ if (typeof ttlRounds !== "number" || !Number.isSafeInteger(ttlRounds) || ttlRounds < 1 || ttlRounds > OWNERSHIP_TTL_MAX)
162
+ return refuse("ttlRounds", `must be an integer 1..${OWNERSHIP_TTL_MAX} (the node's default max-ttl-offset)`);
163
+ const policy = await requireSenderAuthorizationNode(deps.reads);
164
+ if (policy)
165
+ return policy;
166
+ const facts = await checkChainFacts(deps.reads, groupName, outgoing, incoming);
167
+ if (facts)
168
+ return facts;
169
+ const now = await tip(deps.reads);
170
+ if (typeof now !== "number")
171
+ return now;
172
+ const expiresAtRound = now + ttlRounds;
173
+ const id = hex(digestFor(outgoing, groupName, incoming, expiresAtRound).digest);
174
+ const fields = { ledgerId: LEDGER.groups, groupName, outgoingOwner: outgoing, incomingOwner: incoming, maxToll: "0" };
175
+ const pending = {
176
+ txId: id, expiresAtRound, preparedAtRound: now, verb: "group_ownership_transfer_pending", fields,
177
+ summary: { sender: outgoing, ...fields },
178
+ status: "awaiting incoming-owner consent: NOT signed by this session and NOT submittable",
179
+ };
180
+ if (recordedById(id) !== undefined || pendingOwnershipById(id) !== undefined)
181
+ return refuse("txId", `transfer ${id} is already prepared or finalized in this session`);
182
+ pruneExpiredPendingOwnership(now);
183
+ if (!recordPendingOwnership(pending))
184
+ return refuse("pending", `at most ${MAX_PENDING_OWNERSHIP} prepared transfers may await consent per session`);
185
+ return {
186
+ kind: "ok",
187
+ value: {
188
+ kind: INTENT_KIND, txId: id, ...fields, maxToll: "0", expiresAtRound, preparedAtRound: now,
189
+ next: `Send these public fields to "${incoming}". Their own MCP session calls evolver_group_ownership_consent ` +
190
+ `with them; then call evolver_group_ownership_finalize here with the returned consent before round ${expiresAtRound}.`,
191
+ },
192
+ };
193
+ }
194
+ /**
195
+ * CONSENT (incoming owner). Recomputes the intent's txId and signs it with THIS session's key.
196
+ */
197
+ export async function consentOwnershipTransfer(deps, params) {
198
+ const groupName = str(params.groupName), outgoing = str(params.outgoingOwner), incoming = str(params.incomingOwner);
199
+ const claimedId = str(params.txId).toLowerCase();
200
+ const expiresAtRound = params.expiresAtRound;
201
+ if (incoming !== deps.identity)
202
+ return refuse("incomingOwner", `this session signs as "${deps.identity}", not "${incoming || "(empty)"}"; only the incoming owner's own session can consent`);
203
+ const bad = validNames(groupName, outgoing, incoming);
204
+ if (bad)
205
+ return bad;
206
+ if (typeof expiresAtRound !== "number" || !Number.isSafeInteger(expiresAtRound) || expiresAtRound < 1)
207
+ return refuse("expiresAtRound", "must be a positive integer round");
208
+ if (!/^[0-9a-f]{64}$/.test(claimedId))
209
+ return refuse("txId", "must be the 64-character hex txId from the intent");
210
+ if (deps.signer.keyType !== CONSENT_KEY_TYPE)
211
+ return refuse("signer", `this session's key is ${deps.signer.keyType}; the outgoing owner can verify only ${CONSENT_KEY_TYPE} consent ` +
212
+ `(SDK 0.21.0 exports no BLS verify). Use a session configured with this identity's registered Ed25519 key (EVOLVER_KEY_TYPE=ed25519). Nothing was signed.`);
213
+ const { digest } = digestFor(outgoing, groupName, incoming, expiresAtRound);
214
+ if (hex(digest) !== claimedId)
215
+ return refuse("txId", `the intent's txId ${namedInRefusal(claimedId)} does not match the transfer these fields describe; nothing was signed`);
216
+ // Before signing: an old node would let this consent stand alone as the sender's transfer.
217
+ const policy = await requireSenderAuthorizationNode(deps.reads);
218
+ if (policy)
219
+ return policy;
220
+ const now = await tip(deps.reads);
221
+ if (typeof now !== "number")
222
+ return now;
223
+ const stale = checkFresh(now, expiresAtRound);
224
+ if (stale)
225
+ return stale;
226
+ const facts = await checkChainFacts(deps.reads, groupName, outgoing, incoming);
227
+ if (facts)
228
+ return facts;
229
+ // The configured key must be the one the chain will verify against: sign, then check our own
230
+ // signature against the registered key, so a wrong key file fails here rather than at admit.
231
+ const pub = await registeredEdKey(deps.reads, incoming, deps.signer.keyLabel);
232
+ if (!(pub instanceof Uint8Array))
233
+ return pub;
234
+ const signature = deps.signer.sign(digest);
235
+ if (!edVerify(digest, signature, pub))
236
+ return refuse("signer", `this session's Ed25519 key is not the key registered for "${incoming}"; the consent was discarded`);
237
+ return {
238
+ kind: "ok",
239
+ value: {
240
+ kind: CONSENT_KIND, txId: claimedId, ledgerId: LEDGER.groups, groupName, outgoingOwner: outgoing,
241
+ incomingOwner: incoming, expiresAtRound, maxToll: "0",
242
+ auth: { nodeId: incoming, keyType: deps.signer.keyType, keyLabel: deps.signer.keyLabel, purpose: PURPOSE, signatureHex: hex(signature) },
243
+ next: `Return this consent to "${outgoing}". It authorizes ONLY txId ${claimedId}, which expires at round ` +
244
+ `${expiresAtRound}; it does not submit anything and cannot be used for any other operation.`,
245
+ },
246
+ };
247
+ }
248
+ /**
249
+ * FINALIZE (outgoing owner). Verifies the consent, signs as sender, assembles both auths, records.
250
+ */
251
+ export async function finalizeOwnershipTransfer(deps, params) {
252
+ const id = str(params.txId).toLowerCase();
253
+ if (recordedById(id) !== undefined)
254
+ return refuse("txId", `transfer ${namedInRefusal(id)} is already finalized in this session; submit or reconcile that id, never finalize again`);
255
+ const pending = pendingOwnershipById(id);
256
+ if (pending === undefined)
257
+ return refuse("txId", `no transfer ${namedInRefusal(id)} was prepared by this session; only a transfer prepared here can be finalized`);
258
+ const f = pending.fields;
259
+ if (f.outgoingOwner !== deps.identity)
260
+ return refuse("txId", "prepared for a different sender");
261
+ // The consent must describe exactly the prepared intent — every field, not just the id.
262
+ const c = (typeof params.consent === "object" && params.consent !== null ? params.consent : {});
263
+ const a = (typeof c["auth"] === "object" && c["auth"] !== null ? c["auth"] : {});
264
+ if (c["kind"] !== CONSENT_KIND)
265
+ return refuse("consent.kind", `must be "${CONSENT_KIND}"`);
266
+ // Hex case carries no meaning; compare the canonical lowercase form (the id is already lowercase).
267
+ const consentId = typeof c["txId"] === "string" ? c["txId"].trim().toLowerCase() : c["txId"];
268
+ const mismatch = [
269
+ ["txId", consentId, id], ["ledgerId", c["ledgerId"], f.ledgerId], ["groupName", c["groupName"], f.groupName],
270
+ ["outgoingOwner", c["outgoingOwner"], f.outgoingOwner], ["incomingOwner", c["incomingOwner"], f.incomingOwner],
271
+ ["expiresAtRound", c["expiresAtRound"], pending.expiresAtRound], ["maxToll", c["maxToll"], f.maxToll],
272
+ ["auth.nodeId", a["nodeId"], f.incomingOwner], ["auth.purpose", a["purpose"], PURPOSE],
273
+ ].find(([, got, want]) => got !== want);
274
+ if (mismatch)
275
+ return refuse(`consent.${mismatch[0]}`, "does not match the prepared transfer (wrong intent, principal or purpose); nothing was signed");
276
+ const keyType = a["keyType"], keyLabel = a["keyLabel"], sigHex = a["signatureHex"];
277
+ if (keyType !== CONSENT_KEY_TYPE)
278
+ return refuse("consent.auth.keyType", `only ${CONSENT_KEY_TYPE} consent can be verified (SDK 0.21.0 exports no BLS verify); nothing was signed`);
279
+ if (typeof keyLabel !== "string" || keyLabel.length > MAX_LABEL)
280
+ return refuse("consent.auth.keyLabel", "must be a string of at most 128 characters");
281
+ if (typeof sigHex !== "string" || !/^[0-9a-f]{128}$/.test(sigHex))
282
+ return refuse("consent.auth.signatureHex", "must be a 64-byte Ed25519 signature as lowercase hex");
283
+ // Re-derive the digest from the prepared fields with the SDK: the id must still be the intent.
284
+ const { body, digest } = digestFor(f.outgoingOwner, f.groupName, f.incomingOwner, pending.expiresAtRound);
285
+ if (hex(digest) !== id)
286
+ return refuse("txId", "the prepared fields no longer derive this txId; refused");
287
+ // Rechecked at finalization: the session may now be pointed at (or answered by) an older node.
288
+ const policy = await requireSenderAuthorizationNode(deps.reads);
289
+ if (policy)
290
+ return policy;
291
+ const now = await tip(deps.reads);
292
+ if (typeof now !== "number")
293
+ return now;
294
+ const stale = checkFresh(now, pending.expiresAtRound);
295
+ if (stale)
296
+ return stale;
297
+ const facts = await checkChainFacts(deps.reads, f.groupName, f.outgoingOwner, f.incomingOwner);
298
+ if (facts)
299
+ return facts;
300
+ const pub = await registeredEdKey(deps.reads, f.incomingOwner, keyLabel);
301
+ if (!(pub instanceof Uint8Array))
302
+ return pub;
303
+ if (!edVerify(digest, hexToBytes(sigHex), pub))
304
+ return refuse("consent.auth.signatureHex", `does not verify for txId ${id} under "${f.incomingOwner}"'s registered ${CONSENT_KEY_TYPE} key; nothing was signed`);
305
+ // Verified. Sign as sender (empty node_id ⇒ the sender) and assemble with the SDK encoder.
306
+ const auths = [
307
+ { keyType: deps.signer.keyType, keyLabel: deps.signer.keyLabel, nodeId: "", signature: deps.signer.sign(digest) },
308
+ { keyType: CONSENT_KEY_TYPE, keyLabel, nodeId: f.incomingOwner, signature: hexToBytes(sigHex) },
309
+ ];
310
+ const bytes = encodeSignedTx({ ledgerId: LEDGER.groups, senderNodeId: f.outgoingOwner, body, ttlRound: pending.expiresAtRound, auths, maxToll: 0n });
311
+ const fields = {
312
+ groupName: f.groupName, outgoingOwner: f.outgoingOwner, incomingOwner: f.incomingOwner, maxToll: "0",
313
+ outgoingAuth: `${f.outgoingOwner} ${deps.signer.keyType} label="${deps.signer.keyLabel}"`,
314
+ incomingAuth: `${f.incomingOwner} ${CONSENT_KEY_TYPE} label="${keyLabel}" (verified against registered key at round ${now})`,
315
+ };
316
+ const signed = {
317
+ txId: id, expiresAtRound: pending.expiresAtRound, signedAtRound: now, verb: "group_ownership_transfer",
318
+ fields, summary: { sender: f.outgoingOwner, ...fields },
319
+ };
320
+ if (!recordAssembledOnce(signed, bytes))
321
+ return refuse("txId", `transfer ${id} is already recorded in this session; nothing was replaced`);
322
+ dropPendingOwnership(id);
323
+ return { kind: "ok", value: signed };
324
+ }
325
+ //# sourceMappingURL=group-ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-ownership.js","sourceRoot":"","sources":["../src/group-ownership.ts"],"names":[],"mappings":"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"}
package/dist/group.d.ts CHANGED
@@ -46,8 +46,8 @@ export declare function signRemoveMember(deps: GroupOpsDeps, params: {
46
46
  /**
47
47
  * Multi-recipient credit transfer (SIGN-02): move credit from the signing identity to 1..20
48
48
  * recipients. This is the plain `transferBody` on `LEDGER.identity` — NOT a group-membership encoder
49
- * and NOT an ownership transfer (group ownership transfer is deferred to v2; it always fines
50
- * "missing co-signer auth"). "One verb = one tx"; the multi-entry array is the ONE thing that
49
+ * and NOT an ownership transfer (that needs the incoming owner's co-signature and lives in
50
+ * `src/group-ownership.ts`). "One verb = one tx"; the multi-entry array is the ONE thing that
51
51
  * distinguishes it from the singleton `evolver_sign_transfer`. Order is significant — it decides
52
52
  * which transfer survives a short-balance apply.
53
53
  */
package/dist/group.js CHANGED
@@ -155,8 +155,8 @@ export async function signRemoveMember(deps, params) {
155
155
  /**
156
156
  * Multi-recipient credit transfer (SIGN-02): move credit from the signing identity to 1..20
157
157
  * recipients. This is the plain `transferBody` on `LEDGER.identity` — NOT a group-membership encoder
158
- * and NOT an ownership transfer (group ownership transfer is deferred to v2; it always fines
159
- * "missing co-signer auth"). "One verb = one tx"; the multi-entry array is the ONE thing that
158
+ * and NOT an ownership transfer (that needs the incoming owner's co-signature and lives in
159
+ * `src/group-ownership.ts`). "One verb = one tx"; the multi-entry array is the ONE thing that
160
160
  * distinguishes it from the singleton `evolver_sign_transfer`. Order is significant — it decides
161
161
  * which transfer survives a short-balance apply.
162
162
  */
@@ -193,7 +193,7 @@ export async function signGroupTransfer(deps, params) {
193
193
  fields[`amount.${i}`] = formatAmount(parsed[i].amount);
194
194
  }
195
195
  return composeAndSign(deps, {
196
- ledgerId: LEDGER.identity, // NOT groups — credit lives on identities (ownership transfer is deferred to v2)
196
+ ledgerId: LEDGER.identity, // NOT groups — credit lives on identities (ownership: src/group-ownership.ts)
197
197
  body: transferBody(parsed.map((e) => ({ recipient: e.recipient, amount: e.amount }))),
198
198
  ttlRound: expiresAtRound,
199
199
  signedAtRound: tip,
package/dist/group.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../src/group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../src/group.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiDA;;;;;;4BAM4B;AAC5B,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAI5E;AA0FD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAwH1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiDA;;;;;;4BAM4B;AAC5B,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAI5E;AA0FD,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAyH1C"}
package/dist/index.js CHANGED
@@ -225,6 +225,7 @@ export async function main() {
225
225
  identity: config.identity,
226
226
  signer: signerResult.signer,
227
227
  submitTx: (bytes) => client.submitTx(bytes),
228
+ submitTxWithDa: (bytes) => client.submitTxWithDa(bytes),
228
229
  claim: (args) => client.claimIdentityWithProofs(args),
229
230
  content: { client: contentClient, contentUrl },
230
231
  processor,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts CHANGED
@@ -29,6 +29,7 @@ export declare function toMcpResult(r: ToolResult<unknown>): {
29
29
  */
30
30
  export declare function submitOutcomeToMcpResult(outcome: SubmissionOutcome & {
31
31
  readonly commitIntervalMs?: number;
32
+ readonly daSubmitDurationMs?: number;
32
33
  }): {
33
34
  content: Array<{
34
35
  type: "text";
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,+FAA+F;AAC/F,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE7F;uFACuF;AACvF,eAAO,MAAM,SAAS,kHAC2F,CAAC;AAqBlH,6FAA6F;AAC7F,wBAAgB,WAAW,CACzB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GACrB;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAMtE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,GAAG;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAwCtE"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,+FAA+F;AAC/F,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE7F;uFACuF;AACvF,eAAO,MAAM,SAAS,kHAC2F,CAAC;AAqBlH,6FAA6F;AAC7F,wBAAgB,WAAW,CACzB,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GACrB;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAMtE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,GAAG;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GACxG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAuDtE"}
package/dist/mcp.js CHANGED
@@ -57,15 +57,26 @@ export function submitOutcomeToMcpResult(outcome) {
57
57
  break;
58
58
  case "fined":
59
59
  text =
60
- `fined: ordered, but the node reversed it and charged a fee and a fine. reason: ` +
61
- `${outcome.reason}; message: ${outcome.message} (txId ${outcome.txId}). Nothing it asked ` +
62
- `for happened, and it cost more than a fee. Read the balance for the truth.`;
60
+ `fined: ordered, then an apply-time guard failed and a fee and a fine were charged. reason: ` +
61
+ `${outcome.reason}; message: ${outcome.message} (txId ${outcome.txId}). Intended core-state ` +
62
+ `changes were not applied, but a channel body may already have been delivered. Do not ` +
63
+ `automatically retry or re-sign; verify balances and retained delivery separately.`;
63
64
  break;
64
65
  case "refused":
65
- text =
66
- `refused: the node did not order it and charged nothing. reason: ${outcome.reason}; ` +
66
+ // Local guards say only that THIS call sent nothing. In particular already_submitted is
67
+ // not evidence the earlier call never ordered/charged; do not render the node-refusal claim.
68
+ if (["already_submitted", "not_signed_here", "not_channel_write", "da_not_configured"].includes(outcome.reason)) {
69
+ text = `refused: this call sent nothing. reason: ${outcome.reason}; ` +
67
70
  `message: ${outcome.message}${outcome.txId ? ` (txId ${outcome.txId})` : ""}. ` +
68
- `Re-sending the SAME bytes is free; if the reason is structural, fix it before re-signing.`;
71
+ `This says nothing about an earlier submission's outcome; do not automatically retry or re-sign.`;
72
+ }
73
+ else {
74
+ text =
75
+ `refused: the node did not order it and charged nothing. reason: ${outcome.reason}; ` +
76
+ `message: ${outcome.message}${outcome.txId ? ` (txId ${outcome.txId})` : ""}. ` +
77
+ `Re-sending the SAME bytes is free; if the reason is structural, fix it before re-signing. ` +
78
+ `This session still blocks repeat submission; no automatic retry or re-sign is performed.`;
79
+ }
69
80
  break;
70
81
  case "unknown":
71
82
  text =
@@ -79,6 +90,11 @@ export function submitOutcomeToMcpResult(outcome) {
79
90
  text = String(_exhaustive);
80
91
  }
81
92
  }
93
+ if (typeof outcome.daSubmitDurationMs === "number") {
94
+ text += ` \`daSubmitDurationMs\`: ${outcome.daSubmitDurationMs} ms for the whole DA gateway call ` +
95
+ `(collection + assembly + submission until return/error), NOT commit-only latency or proof ` +
96
+ `of commit/delivery. Separate commit timing is unavailable from the SDK.`;
97
+ }
82
98
  return { content: [{ type: "text", text: text + UNTRUSTED }], isError: false };
83
99
  }
84
100
  //# sourceMappingURL=mcp.js.map
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}