@mcsherrylabs/evolver-mcp 0.0.0-stage → 0.8.1
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/amount.d.ts +20 -0
- package/dist/amount.d.ts.map +1 -0
- package/dist/amount.js +44 -0
- package/dist/amount.js.map +1 -0
- package/dist/bootstrap.d.ts +264 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +901 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/channel.d.ts +78 -0
- package/dist/channel.d.ts.map +1 -0
- package/dist/channel.js +288 -0
- package/dist/channel.js.map +1 -0
- package/dist/claim.d.ts +48 -0
- package/dist/claim.d.ts.map +1 -0
- package/dist/claim.js +81 -0
- package/dist/claim.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +35 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +39 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +77 -0
- package/dist/config.js.map +1 -0
- package/dist/content.d.ts +51 -0
- package/dist/content.d.ts.map +1 -0
- package/dist/content.js +60 -0
- package/dist/content.js.map +1 -0
- package/dist/group.d.ts +60 -0
- package/dist/group.d.ts.map +1 -0
- package/dist/group.js +204 -0
- package/dist/group.js.map +1 -0
- package/dist/identity.d.ts +87 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +230 -0
- package/dist/identity.js.map +1 -0
- package/dist/inbox.d.ts +30 -0
- package/dist/inbox.d.ts.map +1 -0
- package/dist/inbox.js +95 -0
- package/dist/inbox.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +206 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp.d.ts +39 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +83 -0
- package/dist/mcp.js.map +1 -0
- package/dist/read.d.ts +175 -0
- package/dist/read.d.ts.map +1 -0
- package/dist/read.js +219 -0
- package/dist/read.js.map +1 -0
- package/dist/result.d.ts +110 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +97 -0
- package/dist/result.js.map +1 -0
- package/dist/signer.d.ts +37 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signer.js +76 -0
- package/dist/signer.js.map +1 -0
- package/dist/tools.d.ts +44 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +642 -0
- package/dist/tools.js.map +1 -0
- package/dist/write.d.ts +173 -0
- package/dist/write.d.ts.map +1 -0
- package/dist/write.js +322 -0
- package/dist/write.js.map +1 -0
- package/package.json +55 -4
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { Signer } from "@mcsherrylabs/evolver-client";
|
|
2
|
+
import type { ChainReads } from "./read.js";
|
|
3
|
+
import type { SignedChannel } from "./write.js";
|
|
4
|
+
import type { ToolResult } from "./result.js";
|
|
5
|
+
/** What the channel verbs need from the world. NO `submitTx` — deliberately: the six signing verbs
|
|
6
|
+
* submit nothing, so the capability is not present to reach for (zero-submit is structural). */
|
|
7
|
+
export interface ChannelOpsDeps {
|
|
8
|
+
readonly identity: string;
|
|
9
|
+
readonly signer: Signer;
|
|
10
|
+
readonly ttlOffset?: number;
|
|
11
|
+
readonly reads: ChainReads;
|
|
12
|
+
}
|
|
13
|
+
/** A signed channel-ledger operation, as returned by a signing verb. */
|
|
14
|
+
export type ChannelSignResult = ToolResult<SignedChannel>;
|
|
15
|
+
/**
|
|
16
|
+
* Claim a channel (SIGN-14): become its owner and set its terms. Signed for `deps.identity` on the
|
|
17
|
+
* caller-chosen channel ledger id, which `writableChannelId` has already refused if it is a core or
|
|
18
|
+
* reserved ledger. Does NOT submit.
|
|
19
|
+
*/
|
|
20
|
+
export declare function signChannelClaim(deps: ChannelOpsDeps, params: {
|
|
21
|
+
channel: string;
|
|
22
|
+
groupOwner?: string;
|
|
23
|
+
writePolicy?: string;
|
|
24
|
+
daGroup?: string;
|
|
25
|
+
daThresholdM?: number;
|
|
26
|
+
tollAmount?: string;
|
|
27
|
+
tollRecipient?: string;
|
|
28
|
+
}): Promise<ChannelSignResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Write an opaque payload to a channel (SIGN-13), carrying the toll-consent `maxToll`. The caller
|
|
31
|
+
* chooses the bytes and the channel (never a core/reserved ledger — `writableChannelId` refuses those
|
|
32
|
+
* FIRST); the MCP signs the ceiling the write consents to. `maxToll` is optional: omitted it signs
|
|
33
|
+
* "consents to no toll" (0), which the node refuses with `toll_ceiling_too_low` on a tolled channel.
|
|
34
|
+
*/
|
|
35
|
+
export declare function signChannelWrite(deps: ChannelOpsDeps, params: {
|
|
36
|
+
channel: string;
|
|
37
|
+
bodyHex: string;
|
|
38
|
+
maxToll?: string;
|
|
39
|
+
}): Promise<ChannelSignResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Unclaim a channel (SIGN-15): `removeOwnerBody(ledgerId)` is the unclaim — it gives up ownership.
|
|
42
|
+
* Signed on the caller-chosen channel ledger id (refused if core/reserved). Does NOT submit.
|
|
43
|
+
*/
|
|
44
|
+
export declare function signChannelUnclaim(deps: ChannelOpsDeps, params: {
|
|
45
|
+
channel: string;
|
|
46
|
+
}): Promise<ChannelSignResult>;
|
|
47
|
+
/**
|
|
48
|
+
* Set a channel's write policy (SIGN-18): `"owner_or_group"` or `"open"`. The policy is ENUMERATED
|
|
49
|
+
* locally (Pitfall 5 — `writePolicyWire` narrows a typo to the default, silently) and refused
|
|
50
|
+
* otherwise. Does NOT submit.
|
|
51
|
+
*/
|
|
52
|
+
export declare function signChannelWritePolicy(deps: ChannelOpsDeps, params: {
|
|
53
|
+
channel: string;
|
|
54
|
+
writePolicy: string;
|
|
55
|
+
}): Promise<ChannelSignResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Set a channel's toll (SIGN-17). A positive `tollAmount` sets the toll; `"0"`/omitted removes it
|
|
58
|
+
* (composes `updateChannelTollBody({ ledgerId })` with no `tollAmount`, clearing the toll). A
|
|
59
|
+
* NEGATIVE `tollAmount` is refused locally — it would encode as a different positive number, not fail.
|
|
60
|
+
* Does NOT submit.
|
|
61
|
+
*/
|
|
62
|
+
export declare function signChannelToll(deps: ChannelOpsDeps, params: {
|
|
63
|
+
channel: string;
|
|
64
|
+
tollAmount?: string;
|
|
65
|
+
tollRecipient?: string;
|
|
66
|
+
}): Promise<ChannelSignResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Set a channel's data-availability policy (SIGN-16): the group that must hold (and attest for) its
|
|
69
|
+
* bodies, and the M-of-N threshold. The SDK THROWS when `daThresholdM` is set but `daGroup` is empty,
|
|
70
|
+
* so the encoder call is wrapped and the throw surfaced as `partial daGroup` rather than escaping.
|
|
71
|
+
* Does NOT submit.
|
|
72
|
+
*/
|
|
73
|
+
export declare function signChannelDa(deps: ChannelOpsDeps, params: {
|
|
74
|
+
channel: string;
|
|
75
|
+
daGroup?: string;
|
|
76
|
+
daThresholdM?: number;
|
|
77
|
+
}): Promise<ChannelSignResult>;
|
|
78
|
+
//# sourceMappingURL=channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;iGACiG;AACjG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AAkC1D;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,OAAO,CAAC,iBAAiB,CAAC,CAkD5B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D,OAAO,CAAC,iBAAiB,CAAC,CA+C5B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAgB5B;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,iBAAiB,CAAC,CAmB5B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,iBAAiB,CAAC,CA+B5B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACnE,OAAO,CAAC,iBAAiB,CAAC,CA8B5B"}
|
package/dist/channel.js
ADDED
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
// Channel-ledger signing verbs (SIGN-13..18): sign claim/unclaim/write/set-toll/set-write-policy/
|
|
2
|
+
// set-DA-policy. Each is a compose→sign→record→return-txId operation with ZERO submit, mirroring the
|
|
3
|
+
// identity verbs in `src/identity.ts` and the group verbs in `src/group.ts`, and resolving in the
|
|
4
|
+
// SAME `submitSigned`/`inspectSigned` path.
|
|
5
|
+
//
|
|
6
|
+
// A channel is NOT a registered entity — it is any ledger id that is not a core ledger id and not
|
|
7
|
+
// the reserved `ce.evolver.` namespace. So the ledger id is CALLER-CHOSEN, and the safety argument is
|
|
8
|
+
// the dispatch refusal: `writableChannelId` (imported verbatim from `write.ts`, never re-implemented)
|
|
9
|
+
// refuses every core ledger and the whole reserved namespace BEFORE anything is signed. That is the
|
|
10
|
+
// only thing between a caller and the node's own interpreters.
|
|
11
|
+
//
|
|
12
|
+
// The one new mechanism over the group/identity verbs is toll-consent: `signChannelWrite` threads
|
|
13
|
+
// `maxToll` through `composeAndSign` → `buildSignedTx`/`txIdHex`, so the signed ceiling is folded
|
|
14
|
+
// into the digest and carried on the wire (field 6). A write to a tolled channel MUST sign a
|
|
15
|
+
// `maxToll >= toll.amount` or the node refuses `toll_ceiling_too_low`.
|
|
16
|
+
//
|
|
17
|
+
// ⚠️ KEY MATERIAL NEVER REACHES A RECORD OR A REFUSAL. Records carry the channel id, write policy,
|
|
18
|
+
// toll-as-decimal-string and DA metadata only; refusals name the FIELD/PATH, never the bytes.
|
|
19
|
+
import { claimBody, removeOwnerBody, updateChannelDaBody, updateChannelWritePolicyBody, updateChannelTollBody, channelBody, } from "@mcsherrylabs/evolver-client";
|
|
20
|
+
import { DEFAULT_TTL_OFFSET, composeAndSign, hexToBytes, writableChannelId } from "./write.js";
|
|
21
|
+
import { parseAmount, formatAmount } from "./amount.js";
|
|
22
|
+
/** Read the chain tip to bound a transaction's life; an unreachable chain is `unreachable`, never a
|
|
23
|
+
* submit. */
|
|
24
|
+
async function tipOrUnreachable(deps) {
|
|
25
|
+
try {
|
|
26
|
+
return await deps.reads.currentRound();
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return { kind: "unreachable", chain: "", cause: e instanceof Error ? e.message : String(e) };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** The largest body a channel write will sign, in bytes (mirrors `signOpaque`'s bound). */
|
|
33
|
+
const MAX_BODY_BYTES = 65536 - 1024;
|
|
34
|
+
/** The two write policies the wire carries. `writePolicyWire` narrows anything-but-"open" to proto
|
|
35
|
+
* zero (default `owner_or_group`), so a typo is silently widened to the default — enumerated and
|
|
36
|
+
* refused here (Pitfall 5). */
|
|
37
|
+
const WRITE_POLICIES = ["owner_or_group", "open"];
|
|
38
|
+
/** Enumerate a caller-supplied `writePolicy` against the wire's two values; refuse anything else
|
|
39
|
+
* (a typo here would silently widen to `owner_or_group`, a data-integrity risk). */
|
|
40
|
+
function policyOrRefusal(raw) {
|
|
41
|
+
const p = String(raw ?? "").trim();
|
|
42
|
+
if (WRITE_POLICIES.includes(p))
|
|
43
|
+
return p;
|
|
44
|
+
return {
|
|
45
|
+
kind: "partial",
|
|
46
|
+
what: "writePolicy",
|
|
47
|
+
cause: `"${p}" is not a write policy — it must be "owner_or_group" or "open". Anything else is ` +
|
|
48
|
+
`narrowed to the default and silently loses the intended policy, so it is refused here.`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Claim a channel (SIGN-14): become its owner and set its terms. Signed for `deps.identity` on the
|
|
53
|
+
* caller-chosen channel ledger id, which `writableChannelId` has already refused if it is a core or
|
|
54
|
+
* reserved ledger. Does NOT submit.
|
|
55
|
+
*/
|
|
56
|
+
export async function signChannelClaim(deps, params) {
|
|
57
|
+
// 1. the channel — the refusal that pays for the caller-chosen-ledger exemption.
|
|
58
|
+
const channel = writableChannelId(params.channel);
|
|
59
|
+
if (typeof channel !== "string")
|
|
60
|
+
return channel;
|
|
61
|
+
// 2. an optional write policy, enumerated (Pitfall 5) BEFORE anything reaches the wire.
|
|
62
|
+
let writePolicy;
|
|
63
|
+
if (params.writePolicy !== undefined && String(params.writePolicy ?? "").trim().length > 0) {
|
|
64
|
+
const p = policyOrRefusal(params.writePolicy);
|
|
65
|
+
if (typeof p !== "string")
|
|
66
|
+
return p;
|
|
67
|
+
writePolicy = p;
|
|
68
|
+
}
|
|
69
|
+
// 3. an optional toll, refused locally when negative (a negative amount would not fail to encode —
|
|
70
|
+
// it would encode as a different positive number).
|
|
71
|
+
let tollAmount;
|
|
72
|
+
if (params.tollAmount !== undefined) {
|
|
73
|
+
const a = parseAmount(String(params.tollAmount ?? ""));
|
|
74
|
+
if (!a.ok)
|
|
75
|
+
return { kind: "partial", what: "tollAmount", cause: a.error };
|
|
76
|
+
tollAmount = a.value;
|
|
77
|
+
}
|
|
78
|
+
const tip = await tipOrUnreachable(deps);
|
|
79
|
+
if (typeof tip !== "number")
|
|
80
|
+
return tip;
|
|
81
|
+
const expiresAtRound = tip + (deps.ttlOffset ?? DEFAULT_TTL_OFFSET);
|
|
82
|
+
const fields = { channel };
|
|
83
|
+
if (params.groupOwner)
|
|
84
|
+
fields.groupOwner = String(params.groupOwner);
|
|
85
|
+
if (writePolicy)
|
|
86
|
+
fields.writePolicy = writePolicy;
|
|
87
|
+
if (params.daGroup)
|
|
88
|
+
fields.daGroup = String(params.daGroup);
|
|
89
|
+
if (params.daThresholdM !== undefined)
|
|
90
|
+
fields.daThresholdM = String(params.daThresholdM);
|
|
91
|
+
if (tollAmount !== undefined)
|
|
92
|
+
fields.tollAmount = formatAmount(tollAmount);
|
|
93
|
+
if (params.tollRecipient)
|
|
94
|
+
fields.tollRecipient = String(params.tollRecipient);
|
|
95
|
+
return composeAndSign(deps, {
|
|
96
|
+
ledgerId: channel,
|
|
97
|
+
body: claimBody({
|
|
98
|
+
ledgerId: channel,
|
|
99
|
+
groupOwner: params.groupOwner ? String(params.groupOwner) : undefined,
|
|
100
|
+
daGroup: params.daGroup ? String(params.daGroup) : undefined,
|
|
101
|
+
daThresholdM: params.daThresholdM,
|
|
102
|
+
tollAmount,
|
|
103
|
+
tollRecipient: params.tollRecipient ? String(params.tollRecipient) : undefined,
|
|
104
|
+
writePolicy,
|
|
105
|
+
}),
|
|
106
|
+
ttlRound: expiresAtRound,
|
|
107
|
+
signedAtRound: tip,
|
|
108
|
+
verb: "channel_claim",
|
|
109
|
+
fields,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Write an opaque payload to a channel (SIGN-13), carrying the toll-consent `maxToll`. The caller
|
|
114
|
+
* chooses the bytes and the channel (never a core/reserved ledger — `writableChannelId` refuses those
|
|
115
|
+
* FIRST); the MCP signs the ceiling the write consents to. `maxToll` is optional: omitted it signs
|
|
116
|
+
* "consents to no toll" (0), which the node refuses with `toll_ceiling_too_low` on a tolled channel.
|
|
117
|
+
*/
|
|
118
|
+
export async function signChannelWrite(deps, params) {
|
|
119
|
+
// 1. the channel — the refusal that pays for the caller-chosen-ledger exemption.
|
|
120
|
+
const channel = writableChannelId(params.channel);
|
|
121
|
+
if (typeof channel !== "string")
|
|
122
|
+
return channel;
|
|
123
|
+
// 2. the body, hex — decoded by the ONE decoder (`hexToBytes`, imported from write.ts, never a
|
|
124
|
+
// hand-rolled second), with empty/oversized refusals before anything is signed.
|
|
125
|
+
let body;
|
|
126
|
+
try {
|
|
127
|
+
body = hexToBytes(String(params.bodyHex ?? "").trim());
|
|
128
|
+
}
|
|
129
|
+
catch (e) {
|
|
130
|
+
return { kind: "partial", what: "bodyHex", cause: e instanceof Error ? e.message : String(e) };
|
|
131
|
+
}
|
|
132
|
+
if (body.length === 0)
|
|
133
|
+
return {
|
|
134
|
+
kind: "partial",
|
|
135
|
+
what: "bodyHex",
|
|
136
|
+
cause: "no body given — a channel write carries the bytes you supply, and an empty one costs the same while conveying nothing",
|
|
137
|
+
};
|
|
138
|
+
if (body.length > MAX_BODY_BYTES)
|
|
139
|
+
return {
|
|
140
|
+
kind: "partial",
|
|
141
|
+
what: "bodyHex",
|
|
142
|
+
cause: `${body.length} bytes is over the ${MAX_BODY_BYTES}-byte limit this verb will sign`,
|
|
143
|
+
};
|
|
144
|
+
// 3. the toll ceiling, validated (positive decimal) when supplied; 0n = "no toll consent".
|
|
145
|
+
let maxToll = 0n;
|
|
146
|
+
if (params.maxToll !== undefined && String(params.maxToll ?? "").trim().length > 0) {
|
|
147
|
+
const m = parseAmount(String(params.maxToll ?? "").trim());
|
|
148
|
+
if (!m.ok)
|
|
149
|
+
return { kind: "partial", what: "maxToll", cause: m.error };
|
|
150
|
+
maxToll = m.value;
|
|
151
|
+
}
|
|
152
|
+
const tip = await tipOrUnreachable(deps);
|
|
153
|
+
if (typeof tip !== "number")
|
|
154
|
+
return tip;
|
|
155
|
+
const expiresAtRound = tip + (deps.ttlOffset ?? DEFAULT_TTL_OFFSET);
|
|
156
|
+
return composeAndSign(deps, {
|
|
157
|
+
ledgerId: channel,
|
|
158
|
+
body: channelBody(body),
|
|
159
|
+
ttlRound: expiresAtRound,
|
|
160
|
+
signedAtRound: tip,
|
|
161
|
+
verb: "channel_write",
|
|
162
|
+
fields: { channel, bodyBytes: String(body.length) },
|
|
163
|
+
maxToll,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Unclaim a channel (SIGN-15): `removeOwnerBody(ledgerId)` is the unclaim — it gives up ownership.
|
|
168
|
+
* Signed on the caller-chosen channel ledger id (refused if core/reserved). Does NOT submit.
|
|
169
|
+
*/
|
|
170
|
+
export async function signChannelUnclaim(deps, params) {
|
|
171
|
+
const channel = writableChannelId(params.channel);
|
|
172
|
+
if (typeof channel !== "string")
|
|
173
|
+
return channel;
|
|
174
|
+
const tip = await tipOrUnreachable(deps);
|
|
175
|
+
if (typeof tip !== "number")
|
|
176
|
+
return tip;
|
|
177
|
+
const expiresAtRound = tip + (deps.ttlOffset ?? DEFAULT_TTL_OFFSET);
|
|
178
|
+
return composeAndSign(deps, {
|
|
179
|
+
ledgerId: channel,
|
|
180
|
+
body: removeOwnerBody(channel),
|
|
181
|
+
ttlRound: expiresAtRound,
|
|
182
|
+
signedAtRound: tip,
|
|
183
|
+
verb: "channel_unclaim",
|
|
184
|
+
fields: { channel },
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Set a channel's write policy (SIGN-18): `"owner_or_group"` or `"open"`. The policy is ENUMERATED
|
|
189
|
+
* locally (Pitfall 5 — `writePolicyWire` narrows a typo to the default, silently) and refused
|
|
190
|
+
* otherwise. Does NOT submit.
|
|
191
|
+
*/
|
|
192
|
+
export async function signChannelWritePolicy(deps, params) {
|
|
193
|
+
const channel = writableChannelId(params.channel);
|
|
194
|
+
if (typeof channel !== "string")
|
|
195
|
+
return channel;
|
|
196
|
+
const writePolicy = policyOrRefusal(params.writePolicy);
|
|
197
|
+
if (typeof writePolicy !== "string")
|
|
198
|
+
return writePolicy;
|
|
199
|
+
const tip = await tipOrUnreachable(deps);
|
|
200
|
+
if (typeof tip !== "number")
|
|
201
|
+
return tip;
|
|
202
|
+
const expiresAtRound = tip + (deps.ttlOffset ?? DEFAULT_TTL_OFFSET);
|
|
203
|
+
return composeAndSign(deps, {
|
|
204
|
+
ledgerId: channel,
|
|
205
|
+
body: updateChannelWritePolicyBody({ ledgerId: channel, writePolicy }),
|
|
206
|
+
ttlRound: expiresAtRound,
|
|
207
|
+
signedAtRound: tip,
|
|
208
|
+
verb: "channel_write_policy",
|
|
209
|
+
fields: { channel, writePolicy },
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Set a channel's toll (SIGN-17). A positive `tollAmount` sets the toll; `"0"`/omitted removes it
|
|
214
|
+
* (composes `updateChannelTollBody({ ledgerId })` with no `tollAmount`, clearing the toll). A
|
|
215
|
+
* NEGATIVE `tollAmount` is refused locally — it would encode as a different positive number, not fail.
|
|
216
|
+
* Does NOT submit.
|
|
217
|
+
*/
|
|
218
|
+
export async function signChannelToll(deps, params) {
|
|
219
|
+
const channel = writableChannelId(params.channel);
|
|
220
|
+
if (typeof channel !== "string")
|
|
221
|
+
return channel;
|
|
222
|
+
let tollAmount;
|
|
223
|
+
if (params.tollAmount !== undefined && String(params.tollAmount ?? "").trim().length > 0) {
|
|
224
|
+
const a = parseAmount(String(params.tollAmount ?? "").trim());
|
|
225
|
+
if (!a.ok)
|
|
226
|
+
return { kind: "partial", what: "tollAmount", cause: a.error };
|
|
227
|
+
tollAmount = a.value;
|
|
228
|
+
}
|
|
229
|
+
const tip = await tipOrUnreachable(deps);
|
|
230
|
+
if (typeof tip !== "number")
|
|
231
|
+
return tip;
|
|
232
|
+
const expiresAtRound = tip + (deps.ttlOffset ?? DEFAULT_TTL_OFFSET);
|
|
233
|
+
const fields = { channel };
|
|
234
|
+
if (tollAmount !== undefined)
|
|
235
|
+
fields.tollAmount = formatAmount(tollAmount);
|
|
236
|
+
if (params.tollRecipient)
|
|
237
|
+
fields.tollRecipient = String(params.tollRecipient);
|
|
238
|
+
return composeAndSign(deps, {
|
|
239
|
+
ledgerId: channel,
|
|
240
|
+
body: updateChannelTollBody({
|
|
241
|
+
ledgerId: channel,
|
|
242
|
+
tollAmount,
|
|
243
|
+
tollRecipient: params.tollRecipient ? String(params.tollRecipient) : undefined,
|
|
244
|
+
}),
|
|
245
|
+
ttlRound: expiresAtRound,
|
|
246
|
+
signedAtRound: tip,
|
|
247
|
+
verb: "channel_toll",
|
|
248
|
+
fields,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Set a channel's data-availability policy (SIGN-16): the group that must hold (and attest for) its
|
|
253
|
+
* bodies, and the M-of-N threshold. The SDK THROWS when `daThresholdM` is set but `daGroup` is empty,
|
|
254
|
+
* so the encoder call is wrapped and the throw surfaced as `partial daGroup` rather than escaping.
|
|
255
|
+
* Does NOT submit.
|
|
256
|
+
*/
|
|
257
|
+
export async function signChannelDa(deps, params) {
|
|
258
|
+
const channel = writableChannelId(params.channel);
|
|
259
|
+
if (typeof channel !== "string")
|
|
260
|
+
return channel;
|
|
261
|
+
const daGroup = params.daGroup !== undefined ? String(params.daGroup ?? "").trim() : undefined;
|
|
262
|
+
const daThresholdM = params.daThresholdM;
|
|
263
|
+
let body;
|
|
264
|
+
try {
|
|
265
|
+
body = updateChannelDaBody({ ledgerId: channel, daGroup, daThresholdM });
|
|
266
|
+
}
|
|
267
|
+
catch (e) {
|
|
268
|
+
return { kind: "partial", what: "daGroup", cause: e instanceof Error ? e.message : String(e) };
|
|
269
|
+
}
|
|
270
|
+
const tip = await tipOrUnreachable(deps);
|
|
271
|
+
if (typeof tip !== "number")
|
|
272
|
+
return tip;
|
|
273
|
+
const expiresAtRound = tip + (deps.ttlOffset ?? DEFAULT_TTL_OFFSET);
|
|
274
|
+
const fields = { channel };
|
|
275
|
+
if (daGroup)
|
|
276
|
+
fields.daGroup = daGroup;
|
|
277
|
+
if (daThresholdM !== undefined)
|
|
278
|
+
fields.daThresholdM = String(daThresholdM);
|
|
279
|
+
return composeAndSign(deps, {
|
|
280
|
+
ledgerId: channel,
|
|
281
|
+
body,
|
|
282
|
+
ttlRound: expiresAtRound,
|
|
283
|
+
signedAtRound: tip,
|
|
284
|
+
verb: "channel_da",
|
|
285
|
+
fields,
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|
package/dist/claim.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ClaimResult } from "@mcsherrylabs/evolver-client";
|
|
2
|
+
import type { ToolResult } from "./result.js";
|
|
3
|
+
/** What `claimIdentity` needs from the world: exactly the SDK's claim affordance, injected so the
|
|
4
|
+
* whole flow is exercisable against a structural fake rather than a live node. */
|
|
5
|
+
export interface ClaimFn {
|
|
6
|
+
(args: {
|
|
7
|
+
nodeId: string;
|
|
8
|
+
blsPublicKey: Uint8Array;
|
|
9
|
+
blsPop: Uint8Array;
|
|
10
|
+
ed25519PublicKey: Uint8Array;
|
|
11
|
+
ed25519Pop: Uint8Array;
|
|
12
|
+
}): Promise<ClaimResult>;
|
|
13
|
+
}
|
|
14
|
+
/** What a successful claim answers. `committed` carries the block height it committed at; `exists`
|
|
15
|
+
* means the identity was already on-chain (an idempotent rerun). No key bytes, no proofs, no
|
|
16
|
+
* `txId` — the claim has nothing to submit later. */
|
|
17
|
+
export type ClaimSummary = {
|
|
18
|
+
name: string;
|
|
19
|
+
outcome: "committed";
|
|
20
|
+
blockHeight: number;
|
|
21
|
+
} | {
|
|
22
|
+
name: string;
|
|
23
|
+
outcome: "exists";
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Claim a FRESH identity via the node-sponsored faucet (SIGN-08).
|
|
27
|
+
*
|
|
28
|
+
* ⚠️ NOT A SIGNING VERB. The holder produced both proofs elsewhere; this MCP holds neither key, so
|
|
29
|
+
* it forwards the holder's proofs to the SDK and the node sponsors + pays. Nothing is recorded in
|
|
30
|
+
* the session stores, no `txId` is returned, and nothing reaches `evolver_submit`.
|
|
31
|
+
*
|
|
32
|
+
* ⚠️ THE DIGEST IS NEVER RECOMPUTED HERE. The SDK's `claimIdentityWithProofs` recomputes the claim
|
|
33
|
+
* digest locally and refuses `digest_mismatch` before the sponsored `create`, so a claim whose
|
|
34
|
+
* proofs cover the wrong bytes aborts rather than signing server-chosen bytes.
|
|
35
|
+
*
|
|
36
|
+
* An empty `blsPop`/`ed25519Pop` (hex-decodes to zero bytes) is refused BEFORE any `claim` call:
|
|
37
|
+
* the holder must prove possession, and this MCP forwards for no key it does not hold (T-03-10).
|
|
38
|
+
*/
|
|
39
|
+
export declare function claimIdentity(deps: {
|
|
40
|
+
claim: ClaimFn;
|
|
41
|
+
}, params: {
|
|
42
|
+
nodeId: string;
|
|
43
|
+
blsPublicKey: string;
|
|
44
|
+
blsPop: string;
|
|
45
|
+
ed25519PublicKey: string;
|
|
46
|
+
ed25519Pop: string;
|
|
47
|
+
}): Promise<ToolResult<ClaimSummary>>;
|
|
48
|
+
//# sourceMappingURL=claim.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../src/claim.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;mFACmF;AACnF,MAAM,WAAW,OAAO;IACtB,CAAC,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,UAAU,CAAC;QACzB,MAAM,EAAE,UAAU,CAAC;QACnB,gBAAgB,EAAE,UAAU,CAAC;QAC7B,UAAU,EAAE,UAAU,CAAC;KACxB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC1B;AAED;;sDAEsD;AACtD,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AAaxC;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,EACxB,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CA8CnC"}
|
package/dist/claim.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// The faucet identity claim (SIGN-08) — the ONE deliberate asymmetry from the "every verb signs
|
|
2
|
+
// and returns a txId" rule. It is NOT a signing verb: it is a DIRECT node call through
|
|
3
|
+
// `NodeClient.claimIdentityWithProofs`, because the MCP holds NEITHER key of the identity being
|
|
4
|
+
// claimed (both proofs are produced by the holder), the node sponsors and pays a fixed credit, and
|
|
5
|
+
// the SDK already recomputes the proof-of-possession digest locally and refuses on mismatch.
|
|
6
|
+
import { hexToBytes } from "@mcsherrylabs/evolver-client";
|
|
7
|
+
/** Decode one hex field, refusing on non-hex/odd-length input. The refusal names the FIELD, never
|
|
8
|
+
* the bytes (T-03-09). The SDK's `hexToBytes` throws a precise reason on bad input, which is what
|
|
9
|
+
* the `partial` cause carries. */
|
|
10
|
+
function parseHex(field, raw) {
|
|
11
|
+
try {
|
|
12
|
+
return hexToBytes(String(raw ?? "").trim());
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
return { field, cause: e instanceof Error ? e.message : String(e) };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Claim a FRESH identity via the node-sponsored faucet (SIGN-08).
|
|
20
|
+
*
|
|
21
|
+
* ⚠️ NOT A SIGNING VERB. The holder produced both proofs elsewhere; this MCP holds neither key, so
|
|
22
|
+
* it forwards the holder's proofs to the SDK and the node sponsors + pays. Nothing is recorded in
|
|
23
|
+
* the session stores, no `txId` is returned, and nothing reaches `evolver_submit`.
|
|
24
|
+
*
|
|
25
|
+
* ⚠️ THE DIGEST IS NEVER RECOMPUTED HERE. The SDK's `claimIdentityWithProofs` recomputes the claim
|
|
26
|
+
* digest locally and refuses `digest_mismatch` before the sponsored `create`, so a claim whose
|
|
27
|
+
* proofs cover the wrong bytes aborts rather than signing server-chosen bytes.
|
|
28
|
+
*
|
|
29
|
+
* An empty `blsPop`/`ed25519Pop` (hex-decodes to zero bytes) is refused BEFORE any `claim` call:
|
|
30
|
+
* the holder must prove possession, and this MCP forwards for no key it does not hold (T-03-10).
|
|
31
|
+
*/
|
|
32
|
+
export async function claimIdentity(deps, params) {
|
|
33
|
+
const name = String(params.nodeId ?? "").trim();
|
|
34
|
+
if (name.length === 0)
|
|
35
|
+
return { kind: "partial", what: "nodeId", cause: "the new identity needs a name" };
|
|
36
|
+
const blsPublicKey = parseHex("blsPublicKey", params.blsPublicKey);
|
|
37
|
+
if ("field" in blsPublicKey)
|
|
38
|
+
return { kind: "partial", what: blsPublicKey.field, cause: blsPublicKey.cause };
|
|
39
|
+
const blsPop = parseHex("blsPop", params.blsPop);
|
|
40
|
+
if ("field" in blsPop)
|
|
41
|
+
return { kind: "partial", what: blsPop.field, cause: blsPop.cause };
|
|
42
|
+
const ed25519PublicKey = parseHex("ed25519PublicKey", params.ed25519PublicKey);
|
|
43
|
+
if ("field" in ed25519PublicKey)
|
|
44
|
+
return { kind: "partial", what: ed25519PublicKey.field, cause: ed25519PublicKey.cause };
|
|
45
|
+
const ed25519Pop = parseHex("ed25519Pop", params.ed25519Pop);
|
|
46
|
+
if ("field" in ed25519Pop)
|
|
47
|
+
return { kind: "partial", what: ed25519Pop.field, cause: ed25519Pop.cause };
|
|
48
|
+
// Empty-PoP refusal: the holder must prove possession, and this MCP signs/forwards for no key it
|
|
49
|
+
// does not hold. Named by FIELD, never by bytes.
|
|
50
|
+
if (blsPop.length === 0)
|
|
51
|
+
return {
|
|
52
|
+
kind: "partial",
|
|
53
|
+
what: "blsPop",
|
|
54
|
+
cause: "both keys need a proof of possession from their holder — this agent holds neither key",
|
|
55
|
+
};
|
|
56
|
+
if (ed25519Pop.length === 0)
|
|
57
|
+
return {
|
|
58
|
+
kind: "partial",
|
|
59
|
+
what: "ed25519Pop",
|
|
60
|
+
cause: "both keys need a proof of possession from their holder — this agent holds neither key",
|
|
61
|
+
};
|
|
62
|
+
try {
|
|
63
|
+
const r = await deps.claim({ nodeId: name, blsPublicKey, blsPop, ed25519PublicKey, ed25519Pop });
|
|
64
|
+
if (r.kind === "committed")
|
|
65
|
+
return { kind: "ok", value: { name, outcome: "committed", blockHeight: r.blockHeight } };
|
|
66
|
+
if (r.kind === "exists")
|
|
67
|
+
return { kind: "ok", value: { name, outcome: "exists" } };
|
|
68
|
+
// ⚠️ A refusal from the node is an ANSWER, not a transport failure, and names the node's own
|
|
69
|
+
// reason — including `digest_mismatch`, which means the bytes those proofs cover are not the
|
|
70
|
+
// bytes this chain wants signed. `error`/`message` surface verbatim.
|
|
71
|
+
return {
|
|
72
|
+
kind: "partial",
|
|
73
|
+
what: "claim",
|
|
74
|
+
cause: `${r.error ?? "refused"}: ${r.message ?? ""}`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
return { kind: "unreachable", chain: "", cause: e instanceof Error ? e.message : String(e) };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=claim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../src/claim.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|