dexe-mcp 0.17.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +126 -228
  3. package/dexe-plugin/skills/dexe-create-dao/SKILL.md +92 -66
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -0
  6. package/dist/config.js.map +1 -1
  7. package/dist/diag/checks.js +11 -0
  8. package/dist/diag/checks.js.map +1 -1
  9. package/dist/lib/avatarImage.d.ts +22 -0
  10. package/dist/lib/avatarImage.d.ts.map +1 -0
  11. package/dist/lib/avatarImage.js +199 -0
  12. package/dist/lib/avatarImage.js.map +1 -0
  13. package/dist/lib/imageSniff.d.ts +44 -0
  14. package/dist/lib/imageSniff.d.ts.map +1 -0
  15. package/dist/lib/imageSniff.js +145 -0
  16. package/dist/lib/imageSniff.js.map +1 -0
  17. package/dist/lib/preflight.d.ts +67 -4
  18. package/dist/lib/preflight.d.ts.map +1 -1
  19. package/dist/lib/preflight.js +155 -14
  20. package/dist/lib/preflight.js.map +1 -1
  21. package/dist/lib/qr.d.ts +43 -0
  22. package/dist/lib/qr.d.ts.map +1 -0
  23. package/dist/lib/qr.js +95 -0
  24. package/dist/lib/qr.js.map +1 -0
  25. package/dist/lib/walletconnect.d.ts +15 -0
  26. package/dist/lib/walletconnect.d.ts.map +1 -1
  27. package/dist/lib/walletconnect.js +26 -0
  28. package/dist/lib/walletconnect.js.map +1 -1
  29. package/dist/tools/daoCreate.d.ts +40 -1
  30. package/dist/tools/daoCreate.d.ts.map +1 -1
  31. package/dist/tools/daoCreate.js +272 -28
  32. package/dist/tools/daoCreate.js.map +1 -1
  33. package/dist/tools/daoDeploy.d.ts.map +1 -1
  34. package/dist/tools/daoDeploy.js +41 -3
  35. package/dist/tools/daoDeploy.js.map +1 -1
  36. package/dist/tools/flow.d.ts +16 -1
  37. package/dist/tools/flow.d.ts.map +1 -1
  38. package/dist/tools/flow.js +65 -11
  39. package/dist/tools/flow.js.map +1 -1
  40. package/dist/tools/getConfig.d.ts.map +1 -1
  41. package/dist/tools/getConfig.js +7 -0
  42. package/dist/tools/getConfig.js.map +1 -1
  43. package/dist/tools/index.js +3 -3
  44. package/dist/tools/index.js.map +1 -1
  45. package/dist/tools/ipfs.d.ts +1 -0
  46. package/dist/tools/ipfs.d.ts.map +1 -1
  47. package/dist/tools/ipfs.js +49 -42
  48. package/dist/tools/ipfs.js.map +1 -1
  49. package/dist/tools/otc.d.ts +2 -1
  50. package/dist/tools/otc.d.ts.map +1 -1
  51. package/dist/tools/otc.js +6 -4
  52. package/dist/tools/otc.js.map +1 -1
  53. package/dist/tools/txSend.d.ts.map +1 -1
  54. package/dist/tools/txSend.js +36 -14
  55. package/dist/tools/txSend.js.map +1 -1
  56. package/dist/tools/walletconnectStatus.d.ts.map +1 -1
  57. package/dist/tools/walletconnectStatus.js +13 -29
  58. package/dist/tools/walletconnectStatus.js.map +1 -1
  59. package/package.json +4 -1
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { parseUnits, formatUnits, ZeroAddress } from "ethers";
2
3
  import { RpcProvider } from "../rpc.js";
3
4
  import { PinataClient } from "../lib/ipfs.js";
4
5
  import { markdownToSlate } from "../lib/markdownToSlate.js";
@@ -6,19 +7,33 @@ import { resolveChain } from "../config.js";
6
7
  import { pinataUploadHint } from "../lib/requireEnv.js";
7
8
  import { sendOrCollect } from "./flow.js";
8
9
  import { buildDeployGovPool, DeployParamsSchema } from "./daoDeploy.js";
9
- import { checkDeployCap, checkUserKeeperAsset, checkTreasuryRemainder, checkLinearInitData, assertPreflight, } from "../lib/preflight.js";
10
+ import { checkDeployCap, checkUserKeeperAsset, checkTreasuryRemainder, checkLinearInitData, checkQuorumReachable, assertPreflight, } from "../lib/preflight.js";
11
+ import { quorumPctFromRaw } from "../lib/quorumRisk.js";
12
+ import { checkAvatarCidBytes } from "../lib/imageSniff.js";
13
+ import { resolveGateways } from "./ipfs.js";
10
14
  /**
11
- * `dexe_dao_create` — the one-call DAO deploy composite (Phase 1b). Wraps:
12
- * avatar CID → DAO IPFS metadata → deploy config (buildDeployGovPool,
13
- * reusing the exact predicted-address wiring / settings auto-expand /
14
- * executorDescription upload) → sendOrCollect (dryRun / no-signer payloads /
15
- * broadcast). Deploy gotchas (cap>minted, LINEAR initData, non-zero
16
- * userKeeper asset, mainnet treasury remainder) are pre-flighted with
17
- * actionable errors.
15
+ * `dexe_dao_create` — the one-call DAO deploy composite. Two ways to call it:
18
16
  *
19
- * Validated on BSC testnet (chain 97) only mainnet deployGovPool is broken
20
- * upstream (require(false)).
17
+ * 1. SIMPLE (recommended): pass a few high-level fields (`symbol`,
18
+ * `totalSupply`, optional `treasuryPercent`/`quorumPercent`/`voteModel`)
19
+ * and the tool synthesizes a coherent, frontend-equivalent config —
20
+ * LINEAR power, treasury as an implicit remainder, a reachable quorum. It
21
+ * does NOT invent distribution/quorum silently: it returns a `preview` of
22
+ * the resolved config + a safety proof, and only broadcasts on a second
23
+ * call with `confirm: true` (mainnet always requires the confirm).
24
+ *
25
+ * 2. ADVANCED: pass a full `params` deploy struct (as `dexe_dao_build_deploy`).
26
+ *
27
+ * Either way the deploy goes through `buildDeployGovPool`, whose governance
28
+ * coherence guards (unreachable quorum, min-votes > every holder, treasury in
29
+ * the voter list, out-of-range settings) block any config the frontend blocks.
30
+ *
31
+ * Mainnet (chain 56) is a supported target (the frontend ships there daily);
32
+ * it just requires `confirm: true` because it spends real BNB.
21
33
  */
34
+ const ZERO = ZeroAddress;
35
+ const PCT_25DEC = 10n ** 25n; // 1% in quorum units (100% = 1e27)
36
+ const ONE_TOKEN = 10n ** 18n;
22
37
  function err(message) {
23
38
  return { content: [{ type: "text", text: message }], isError: true };
24
39
  }
@@ -27,20 +42,125 @@ function ok(data) {
27
42
  }
28
43
  // Params minus the two fields the composite derives itself.
29
44
  const DaoCreateDeployParams = DeployParamsSchema.omit({ descriptionURL: true, name: true });
30
- export function registerDaoCreateTools(server, ctx, signer, state) {
45
+ /** Default polynomial curve coefficients (25-decimal), matching the frontend. */
46
+ const POLY_COEFFS = {
47
+ coefficient1: (108n * 10n ** 23n).toString(), // 1.08e25
48
+ coefficient2: (92n * 10n ** 23n).toString(), // 0.92e25
49
+ coefficient3: (97n * 10n ** 23n).toString(), // 0.97e25
50
+ };
51
+ /**
52
+ * Synthesize a full, coherent deploy config from a few high-level fields — the
53
+ * frontend-equivalent shape: new gov token, treasury as an IMPLICIT remainder
54
+ * (never a recipient), deployer holds the distributed portion, LINEAR power.
55
+ */
56
+ export function synthesizeParams(c, deployer) {
57
+ const supplyWei = parseUnits(c.totalSupply, 18);
58
+ const treasuryWei = (supplyWei * BigInt(Math.round(c.treasuryPercent * 100))) / 10000n;
59
+ const distributable = supplyWei - treasuryWei;
60
+ const quorumRaw = (BigInt(Math.round(c.quorumPercent * 1_000_000)) * PCT_25DEC) / 1000000n;
61
+ // min-votes: 1 token, clamped to the distributed amount so it can never exceed
62
+ // the largest (only) recipient's balance.
63
+ const minVotes = distributable < ONE_TOKEN ? distributable : ONE_TOKEN;
64
+ const dur = String(c.durationSeconds);
65
+ const isPoly = c.voteModel === "POLYNOMIAL";
66
+ return {
67
+ settingsParams: {
68
+ proposalSettings: [
69
+ {
70
+ earlyCompletion: true,
71
+ delegatedVotingAllowed: false, // contract semantics: false = delegation ALLOWED (frontend default)
72
+ validatorsVote: true,
73
+ duration: dur,
74
+ durationValidators: dur,
75
+ executionDelay: String(c.executionDelaySeconds),
76
+ quorum: quorumRaw.toString(),
77
+ quorumValidators: quorumRaw.toString(),
78
+ minVotesForVoting: minVotes.toString(),
79
+ minVotesForCreating: minVotes.toString(),
80
+ rewardsInfo: {
81
+ rewardToken: ZERO,
82
+ creationReward: "0",
83
+ executionReward: "0",
84
+ voteRewardsCoefficient: "0",
85
+ },
86
+ executorDescription: "",
87
+ },
88
+ ],
89
+ additionalProposalExecutors: [],
90
+ },
91
+ userKeeperParams: { tokenAddress: ZERO, nftAddress: ZERO, individualPower: "0", nftsTotalSupply: "0" },
92
+ tokenParams: {
93
+ name: c.daoName,
94
+ symbol: c.symbol,
95
+ users: [deployer],
96
+ // Fixed supply: cap == mintedTotal. cap MUST be > 0 (ERC20Capped rejects 0)
97
+ // and ≥ mintedTotal — verified live on mainnet.
98
+ cap: supplyWei.toString(),
99
+ mintedTotal: supplyWei.toString(),
100
+ amounts: [distributable.toString()],
101
+ },
102
+ votePowerParams: {
103
+ voteType: isPoly ? "POLYNOMIAL_VOTES" : "LINEAR_VOTES",
104
+ presetAddress: ZERO,
105
+ ...(isPoly ? { polynomialCoefficients: POLY_COEFFS } : {}),
106
+ },
107
+ verifier: ZERO,
108
+ onlyBABTHolders: false,
109
+ };
110
+ }
111
+ /**
112
+ * Compute a human-readable safety proof for a resolved deploy config: the
113
+ * votable share, the quorum, whether the quorum is reachable (the hard rule),
114
+ * and whether it clears the ≥50% treasury-safety floor (advisory). `feasible`
115
+ * is false only when the quorum is unreachable — the same rule the builder
116
+ * enforces, surfaced early so the preview can explain it.
117
+ */
118
+ export function computeSafetyProof(p) {
119
+ const isTokenCreation = p.tokenParams.name.length > 0;
120
+ const supply = BigInt(p.tokenParams.mintedTotal || "0");
121
+ const votable = p.tokenParams.amounts.reduce((a, b) => a + BigInt(b || "0"), 0n);
122
+ const quorumRaw = p.settingsParams.proposalSettings[0]?.quorum ?? "0";
123
+ const quorumPct = quorumPctFromRaw(quorumRaw);
124
+ const voteType = p.votePowerParams.voteType;
125
+ const reach = checkQuorumReachable({
126
+ voteType,
127
+ quorumRaw,
128
+ mintedTotal: supply.toString(),
129
+ votable: votable.toString(),
130
+ isTokenCreation,
131
+ });
132
+ const votablePct = supply > 0n ? Number((votable * 10000n) / supply) / 100 : 0;
133
+ const reachablePct = voteType === "LINEAR_VOTES" ? votablePct : supply > 0n ? Number((votable * 10000n) / supply) / 100 : 0;
134
+ return {
135
+ isTokenCreation,
136
+ supply: supply.toString(),
137
+ votable: votable.toString(),
138
+ votablePct,
139
+ quorumPct,
140
+ reachable: reach.ok,
141
+ reachablePct,
142
+ floorOk: !Number.isNaN(quorumPct) && quorumPct >= 50,
143
+ feasible: reach.ok,
144
+ ...(reach.ok ? {} : { message: reach.remediation }),
145
+ };
146
+ }
147
+ export function registerDaoCreateTools(server, ctx, signer, wc, state) {
31
148
  const rpc = new RpcProvider(ctx.config);
32
- server.tool("dexe_dao_create", "Create (deploy) a new DeXe DAO in ONE call. Uploads DAO profile metadata to IPFS, builds the " +
33
- "PoolFactory.deployGovPool tx (predicted-address wiring, 1→5 settings auto-expand, executorDescription " +
34
- "IPFS upload all handled), pre-flights the known deploy reverts (cap>minted, LINEAR initData, non-zero " +
35
- "userKeeper asset, mainnet treasury remainder), then signs+broadcasts when DEXE_PRIVATE_KEY is set " +
36
- "(else returns the TxPayload). Validate on BSC testnet (chain 97) mainnet deployGovPool is broken upstream. " +
149
+ server.tool("dexe_dao_create", "Create (deploy) a new DeXe DAO in ONE call. SIMPLE mode (recommended): pass `symbol` + `totalSupply` " +
150
+ "(+ optional `treasuryPercent`/`quorumPercent`/`voteModel`) and the tool synthesizes a coherent, " +
151
+ "frontend-equivalent config (LINEAR power, treasury as an implicit remainder, a reachable quorum). It " +
152
+ "returns a `preview` of the resolved config + a safety proof and only broadcasts on a second call with " +
153
+ "`confirm: true`. ADVANCED mode: pass a full `params` deploy struct. Either way the deploy runs governance " +
154
+ "coherence guards (unreachable quorum, min-votes above every holder, treasury in the voter list, out-of-range " +
155
+ "settings) that block any config the frontend blocks. Mainnet (chain 56) is supported (the frontend ships there " +
156
+ "daily) but requires `confirm: true` since it spends real BNB; testnet (97) is the recommended place to validate. " +
37
157
  "`deployer` defaults to the configured signer. Pass avatarCID from dexe_ipfs_upload_avatar / dexe_dao_generate_avatar.", {
38
158
  chainId: z
39
159
  .number()
40
160
  .int()
41
161
  .positive()
42
162
  .optional()
43
- .describe("Target chain id. Defaults to the MCP's default chain. Use 97 (BSC testnet) to validate."),
163
+ .describe("Target chain id. Defaults to the MCP's default chain. Use 97 (BSC testnet) to validate; 56 = BSC mainnet (real funds)."),
44
164
  poolFactory: z.string().optional().describe("PoolFactory override; defaults to ContractsRegistry lookup"),
45
165
  deployer: z
46
166
  .string()
@@ -52,7 +172,35 @@ export function registerDaoCreateTools(server, ctx, signer, state) {
52
172
  socialLinks: z.array(z.tuple([z.string(), z.string()])).default([]).describe("[[network, url], ...]"),
53
173
  avatarCID: z.string().default("").describe("IPFS CID of an already-pinned JPEG avatar (dexe_ipfs_upload_avatar)"),
54
174
  avatarFileName: z.string().default("avatar.jpeg"),
55
- params: DaoCreateDeployParams,
175
+ // ---- SIMPLE mode fields (used when `params` is omitted) ----
176
+ symbol: z.string().optional().describe("SIMPLE mode: gov token symbol (e.g. 'GENA'). Required when `params` is omitted."),
177
+ totalSupply: z
178
+ .string()
179
+ .optional()
180
+ .describe("SIMPLE mode: total token supply in WHOLE tokens (e.g. '1000000'). Required when `params` is omitted."),
181
+ treasuryPercent: z
182
+ .number()
183
+ .min(0)
184
+ .max(100)
185
+ .default(49)
186
+ .describe("SIMPLE mode: % of supply held by the DAO treasury (implicit remainder — cannot vote). Default 49."),
187
+ quorumPercent: z
188
+ .number()
189
+ .min(0)
190
+ .max(100)
191
+ .default(51)
192
+ .describe("SIMPLE mode: quorum %. Default 51. Must be ≥50 (security) and ≤ the votable %, i.e. ≤ 100−treasuryPercent."),
193
+ voteModel: z
194
+ .enum(["LINEAR", "POLYNOMIAL"])
195
+ .default("LINEAR")
196
+ .describe("SIMPLE mode: vote-power model. LINEAR = 1 token = 1 vote (default). POLYNOMIAL = meritocratic curve."),
197
+ durationSeconds: z.number().int().positive().default(86400).describe("SIMPLE mode: voting duration. Default 86400 (1 day)."),
198
+ executionDelaySeconds: z.number().int().min(0).default(0).describe("SIMPLE mode: delay before execution. Default 0."),
199
+ params: DaoCreateDeployParams.optional().describe("ADVANCED mode: full deployGovPool params. Omit to use SIMPLE mode (symbol + totalSupply)."),
200
+ confirm: z
201
+ .boolean()
202
+ .default(false)
203
+ .describe("Set true to actually broadcast. Without it, SIMPLE mode and any mainnet deploy return a review-only preview."),
56
204
  dryRun: z.boolean().default(false).describe("If true, return the deploy TxPayload even when DEXE_PRIVATE_KEY is set."),
57
205
  }, async (input) => {
58
206
  if (!ctx.config.pinataJwt)
@@ -62,22 +210,109 @@ export function registerDaoCreateTools(server, ctx, signer, state) {
62
210
  return err("Provide 'deployer' address or set DEXE_PRIVATE_KEY.");
63
211
  const chain = resolveChain(ctx.config, input.chainId);
64
212
  const chainId = chain.chainId;
213
+ const isMainnet = chainId === 56 || chainId === 1;
65
214
  const pinata = new PinataClient(ctx.config.pinataJwt);
66
- // ---------- deploy preflight (fail fast, before the RPC-heavy predict) ----------
67
- const isTokenCreation = input.params.tokenParams.name.length > 0;
215
+ // ---------- resolve the deploy config: SIMPLE synthesis vs ADVANCED params ----------
216
+ const synthesized = !input.params;
217
+ let deployParams;
218
+ if (input.params) {
219
+ deployParams = input.params;
220
+ }
221
+ else {
222
+ if (!input.symbol || !input.totalSupply) {
223
+ return err("SIMPLE mode needs `symbol` and `totalSupply` (whole tokens), or pass a full `params` struct (ADVANCED mode). " +
224
+ "Example: { daoName, symbol: 'GENA', totalSupply: '1000000' } → deployer gets 51%, treasury 49% (implicit), " +
225
+ "quorum 51%, LINEAR power.");
226
+ }
227
+ try {
228
+ deployParams = synthesizeParams({
229
+ daoName: input.daoName,
230
+ symbol: input.symbol,
231
+ totalSupply: input.totalSupply,
232
+ treasuryPercent: input.treasuryPercent,
233
+ quorumPercent: input.quorumPercent,
234
+ voteModel: input.voteModel,
235
+ durationSeconds: input.durationSeconds,
236
+ executionDelaySeconds: input.executionDelaySeconds,
237
+ }, deployer);
238
+ }
239
+ catch (e) {
240
+ return err(`Could not synthesize DAO config: ${e instanceof Error ? e.message : String(e)}`);
241
+ }
242
+ }
243
+ // ---------- fast preflight (predict-independent, fail before RPC/IPFS) ----------
244
+ const isTokenCreation = deployParams.tokenParams.name.length > 0;
68
245
  try {
69
246
  assertPreflight([
70
- checkDeployCap(input.params.tokenParams.cap, input.params.tokenParams.mintedTotal, isTokenCreation),
71
- checkUserKeeperAsset(input.params.userKeeperParams.tokenAddress, input.params.userKeeperParams.nftAddress, isTokenCreation),
72
- checkTreasuryRemainder(input.params.tokenParams.mintedTotal, input.params.tokenParams.amounts, chainId, isTokenCreation),
73
- // LINEAR initData is auto-encoded by the deploy builder; this only trips
74
- // if a caller hand-passes a wrong CUSTOM/LINEAR override.
75
- checkLinearInitData(input.params.votePowerParams.voteType, input.params.votePowerParams.initData),
247
+ checkDeployCap(deployParams.tokenParams.cap, deployParams.tokenParams.mintedTotal, isTokenCreation),
248
+ checkUserKeeperAsset(deployParams.userKeeperParams.tokenAddress, deployParams.userKeeperParams.nftAddress, isTokenCreation),
249
+ checkTreasuryRemainder(deployParams.tokenParams.mintedTotal, deployParams.tokenParams.amounts, isTokenCreation),
250
+ checkLinearInitData(deployParams.votePowerParams.voteType, deployParams.votePowerParams.initData),
76
251
  ]);
77
252
  }
78
253
  catch (e) {
79
254
  return err(e instanceof Error ? e.message : String(e));
80
255
  }
256
+ // ---------- safety proof (reachability is the hard rule) ----------
257
+ const proof = computeSafetyProof(deployParams);
258
+ if (!proof.feasible) {
259
+ return err(`This DAO would be governance-dead: ${proof.message} ` +
260
+ (synthesized
261
+ ? `Adjust so quorumPercent ≤ ${Math.floor(100 - input.treasuryPercent)} (100 − treasuryPercent) while staying ≥50.`
262
+ : ""));
263
+ }
264
+ // ---------- confirm gate: preview before broadcasting ----------
265
+ const willBroadcast = !input.dryRun && signer.hasSigner();
266
+ const needsConfirm = willBroadcast && !input.confirm && (synthesized || isMainnet);
267
+ if (needsConfirm) {
268
+ const t = deployParams.tokenParams;
269
+ const supplyTokens = formatUnits(t.mintedTotal || "0", 18);
270
+ const treasuryWei = BigInt(t.mintedTotal || "0") - t.amounts.reduce((a, b) => a + BigInt(b || "0"), 0n);
271
+ const warnings = [];
272
+ if (!proof.floorOk) {
273
+ warnings.push(`⚠️ quorum ${proof.quorumPct}% is below the 50% treasury-safety floor — a low quorum lets a small group ` +
274
+ "pass proposals (incl. draining treasury). 51%+ recommended. [advisory]");
275
+ }
276
+ if (isMainnet)
277
+ warnings.push("⚠️ MAINNET (chain " + chainId + ") — this will spend real BNB.");
278
+ return ok({
279
+ mode: "preview",
280
+ action: "review-then-confirm",
281
+ chainId,
282
+ mainnet: isMainnet,
283
+ daoName: input.daoName,
284
+ resolvedConfig: {
285
+ voteModel: deployParams.votePowerParams.voteType === "POLYNOMIAL_VOTES" ? "POLYNOMIAL" : "LINEAR",
286
+ symbol: t.symbol,
287
+ totalSupply: supplyTokens,
288
+ distribution: {
289
+ recipients: t.users.map((u, i) => ({
290
+ address: u,
291
+ tokens: formatUnits(t.amounts[i] ?? "0", 18),
292
+ percent: proof.supply !== "0" ? Number((BigInt(t.amounts[i] ?? "0") * 10000n) / BigInt(proof.supply)) / 100 : 0,
293
+ })),
294
+ treasury: {
295
+ tokens: formatUnits(treasuryWei.toString(), 18),
296
+ percent: 100 - proof.votablePct,
297
+ note: "implicit remainder held by the DAO — cannot vote",
298
+ },
299
+ },
300
+ quorumPercent: proof.quorumPct,
301
+ durationSeconds: Number(deployParams.settingsParams.proposalSettings[0]?.duration ?? "0"),
302
+ executionDelaySeconds: Number(deployParams.settingsParams.proposalSettings[0]?.executionDelay ?? "0"),
303
+ },
304
+ safetyProof: {
305
+ votablePercent: proof.votablePct,
306
+ quorumPercent: proof.quorumPct,
307
+ quorumReachable: proof.reachable,
308
+ maxReachableQuorumPercent: proof.reachablePct,
309
+ treasuryFloorOk: proof.floorOk,
310
+ },
311
+ ...(warnings.length ? { warnings } : {}),
312
+ next: `Config looks coherent. Re-call dexe_dao_create with the SAME arguments plus confirm:true to broadcast` +
313
+ (isMainnet ? " on MAINNET (spends real BNB). To validate first, set chainId:97 (testnet)." : "."),
314
+ });
315
+ }
81
316
  // ---------- build + upload DAO profile metadata ----------
82
317
  let descriptionRef = "";
83
318
  if (input.daoDescription && input.daoDescription.length > 0) {
@@ -93,6 +328,14 @@ export function registerDaoCreateTools(server, ctx, signer, state) {
93
328
  documents: [],
94
329
  };
95
330
  if (input.avatarCID) {
331
+ // avatarCID arrives by reference — the upload tools validate their own
332
+ // bytes, but nothing forces the caller to have used them. Best-effort
333
+ // fetch + sniff; hard-block only on confirmed non-raster bytes (an SVG
334
+ // here becomes a permanently broken avatar on app.dexe.io).
335
+ const avatarCheck = await checkAvatarCidBytes(input.avatarCID, input.avatarFileName, resolveGateways(ctx));
336
+ if (!avatarCheck.ok) {
337
+ return err(avatarCheck.error ?? "avatarCID failed raster validation");
338
+ }
96
339
  daoMeta.avatarCID = input.avatarCID;
97
340
  daoMeta.avatarFileName = input.avatarFileName;
98
341
  daoMeta.avatarUrl = `https://${input.avatarCID}.ipfs.dweb.link/${input.avatarFileName}`;
@@ -110,14 +353,14 @@ export function registerDaoCreateTools(server, ctx, signer, state) {
110
353
  chainId: input.chainId,
111
354
  poolFactory: input.poolFactory,
112
355
  deployer,
113
- params: { ...input.params, descriptionURL, name: input.daoName },
356
+ params: { ...deployParams, descriptionURL, name: input.daoName },
114
357
  }, ctx, rpc);
115
358
  if (!res.ok)
116
359
  return err(res.error);
117
360
  // ---------- send or collect ----------
118
361
  let result;
119
362
  try {
120
- result = await sendOrCollect(signer, [res.payload], { dryRun: input.dryRun, chainId });
363
+ result = await sendOrCollect(signer, [res.payload], { dryRun: input.dryRun, chainId, wc });
121
364
  }
122
365
  catch (e) {
123
366
  return err(`Deploy broadcast failed: ${e instanceof Error ? e.message : String(e)}`);
@@ -151,6 +394,7 @@ export function registerDaoCreateTools(server, ctx, signer, state) {
151
394
  note: res.note,
152
395
  steps: result.steps,
153
396
  ...(result.enableWrites ? { enableWrites: result.enableWrites } : {}),
397
+ ...(result.pairing ? { pairing: result.pairing } : {}),
154
398
  });
155
399
  });
156
400
  }
@@ -1 +1 @@
1
- {"version":3,"file":"daoCreate.js","sourceRoot":"","sources":["../../src/tools/daoCreate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daoCreate.js","sourceRoot":"","sources":["../../src/tools/daoCreate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daoDeploy.d.ts","sourceRoot":"","sources":["../../src/tools/daoDeploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIlE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAsJxC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAGhF;AAuCD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA7D7B;sEAC8D;;;QAK9D,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiElD,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,SAAS,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,iBAAiB,CAAC,CA6W5B"}
1
+ {"version":3,"file":"daoDeploy.d.ts","sourceRoot":"","sources":["../../src/tools/daoDeploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIlE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AA8JxC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAGhF;AAuCD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA7D7B;sEAC8D;;;QAK9D,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiElD,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,SAAS,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,iBAAiB,CAAC,CAsZ5B"}
@@ -7,6 +7,7 @@ import { AddressBook, CONTRACT_NAMES } from "../lib/addresses.js";
7
7
  import { RpcProvider } from "../rpc.js";
8
8
  import { PinataClient } from "../lib/ipfs.js";
9
9
  import { quorumPctFromRaw, judgeQuorum } from "../lib/quorumRisk.js";
10
+ import { firstFailure, checkTreasuryRemainder, checkQuorumReachable, checkMinVotesVsDistribution, checkSettingsBounds, checkNoTreasuryRecipient, } from "../lib/preflight.js";
10
11
  /**
11
12
  * Phase 5 — deploy a new DAO via `PoolFactory.deployGovPool(GovPoolDeployParams)`.
12
13
  *
@@ -251,12 +252,16 @@ export async function buildDeployGovPool(input, ctx, rpc) {
251
252
  if (params.tokenParams.users.length !== params.tokenParams.amounts.length) {
252
253
  return fail("tokenParams.users and .amounts must be the same length");
253
254
  }
254
- // Bug #28: ERC20Gov init reverts silently when cap == mintedTotal.
255
+ // cap rules (verified live on mainnet): cap > 0 (ERC20Capped rejects cap=0) and
256
+ // cap >= mintedTotal (cap==minted is a valid fixed supply). See checkDeployCap.
255
257
  if (isTokenCreation) {
256
258
  const capBn = BigInt(params.tokenParams.cap);
257
259
  const mintedBn = BigInt(params.tokenParams.mintedTotal);
258
- if (capBn > 0n && capBn <= mintedBn) {
259
- return fail(`tokenParams.cap (${capBn}) must be strictly greater than tokenParams.mintedTotal (${mintedBn}). ERC20Gov requires headroom for future minting; pass cap=0 for uncapped, or cap > mintedTotal.`);
260
+ if (capBn <= 0n) {
261
+ return fail(`tokenParams.cap must be > 0 the gov token is ERC20Capped and cap=0 reverts ("ERC20Capped: cap is 0"). Set cap mintedTotal (${mintedBn}); cap == mintedTotal is a valid fixed supply.`);
262
+ }
263
+ if (capBn < mintedBn) {
264
+ return fail(`tokenParams.cap (${capBn}) must be ≥ tokenParams.mintedTotal (${mintedBn}) — otherwise deployGovPool reverts "ERC20Gov: mintedTotal should not be greater than cap". cap == mintedTotal is allowed.`);
260
265
  }
261
266
  }
262
267
  // ---------- resolve PoolFactory address ----------
@@ -343,6 +348,39 @@ export async function buildDeployGovPool(input, ctx, rpc) {
343
348
  else if (expandedSettings.length !== 5) {
344
349
  return fail(`proposalSettings must be 1 (auto-expand to 5) or exactly 5. Got ${expandedSettings.length}.`);
345
350
  }
351
+ // ---------- governance coherence guards (frontend parity) ----------
352
+ // Single chokepoint for BOTH dexe_dao_create and dexe_dao_build_deploy. Blocks
353
+ // configs the frontend blocks: unreachable quorum, min-votes above every
354
+ // holder, out-of-range settings, treasury jammed into the voter list. Votable
355
+ // power excludes any amount sent to the predicted govPool (treasury).
356
+ const gpLower = predictedGovPool?.toLowerCase();
357
+ let votable = 0n;
358
+ params.tokenParams.users.forEach((u, i) => {
359
+ if (!gpLower || u.toLowerCase() !== gpLower)
360
+ votable += BigInt(params.tokenParams.amounts[i] ?? "0");
361
+ });
362
+ const base0 = expandedSettings[0];
363
+ const coherence = firstFailure([
364
+ checkNoTreasuryRecipient(params.tokenParams.users, predictedGovPool),
365
+ checkTreasuryRemainder(params.tokenParams.mintedTotal, params.tokenParams.amounts, isTokenCreation),
366
+ checkSettingsBounds({
367
+ quorum: base0.quorum,
368
+ quorumValidators: base0.quorumValidators,
369
+ duration: base0.duration,
370
+ durationValidators: base0.durationValidators,
371
+ }),
372
+ checkMinVotesVsDistribution(base0.minVotesForVoting, base0.minVotesForCreating, params.tokenParams.amounts, isTokenCreation),
373
+ checkQuorumReachable({
374
+ voteType: params.votePowerParams.voteType,
375
+ quorumRaw: base0.quorum,
376
+ mintedTotal: params.tokenParams.mintedTotal,
377
+ votable: votable.toString(),
378
+ isTokenCreation,
379
+ }),
380
+ ]);
381
+ if (coherence) {
382
+ return fail(`Preflight [${coherence.check}] failed: ${coherence.remediation}${coherence.detail ? ` (${coherence.detail})` : ""}`);
383
+ }
346
384
  // ---------- treasury-safety advisory: quorum floor ----------
347
385
  let quorumWarning = "";
348
386
  if (ctx.config.treasuryGuard !== "off") {
@@ -1 +1 @@
1
- {"version":3,"file":"daoDeploy.js","sourceRoot":"","sources":["../../src/tools/daoDeploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daoDeploy.js","sourceRoot":"","sources":["../../src/tools/daoDeploy.ts"],"names":[],"mappings":"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"}