dexe-mcp 0.16.0 → 0.19.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 (83) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/README.md +1 -1
  3. package/dexe-plugin/skills/dexe-create-dao/SKILL.md +90 -66
  4. package/dexe-plugin/skills/dexe-setup/SKILL.md +117 -73
  5. package/dist/cli/init.d.ts.map +1 -1
  6. package/dist/cli/init.js +7 -4
  7. package/dist/cli/init.js.map +1 -1
  8. package/dist/config.d.ts +32 -1
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +45 -7
  11. package/dist/config.js.map +1 -1
  12. package/dist/diag/checks.d.ts.map +1 -1
  13. package/dist/diag/checks.js +53 -4
  14. package/dist/diag/checks.js.map +1 -1
  15. package/dist/env/schema.d.ts +7 -0
  16. package/dist/env/schema.d.ts.map +1 -1
  17. package/dist/env/schema.js +7 -0
  18. package/dist/env/schema.js.map +1 -1
  19. package/dist/lib/ipfs.d.ts +9 -7
  20. package/dist/lib/ipfs.d.ts.map +1 -1
  21. package/dist/lib/ipfs.js +36 -8
  22. package/dist/lib/ipfs.js.map +1 -1
  23. package/dist/lib/preflight.d.ts +67 -4
  24. package/dist/lib/preflight.d.ts.map +1 -1
  25. package/dist/lib/preflight.js +155 -14
  26. package/dist/lib/preflight.js.map +1 -1
  27. package/dist/lib/qr.d.ts +43 -0
  28. package/dist/lib/qr.d.ts.map +1 -0
  29. package/dist/lib/qr.js +95 -0
  30. package/dist/lib/qr.js.map +1 -0
  31. package/dist/lib/requireEnv.d.ts +7 -0
  32. package/dist/lib/requireEnv.d.ts.map +1 -1
  33. package/dist/lib/requireEnv.js +13 -0
  34. package/dist/lib/requireEnv.js.map +1 -1
  35. package/dist/lib/walletconnect.d.ts +15 -0
  36. package/dist/lib/walletconnect.d.ts.map +1 -1
  37. package/dist/lib/walletconnect.js +26 -0
  38. package/dist/lib/walletconnect.js.map +1 -1
  39. package/dist/rpc.d.ts.map +1 -1
  40. package/dist/rpc.js +47 -1
  41. package/dist/rpc.js.map +1 -1
  42. package/dist/tools/daoCreate.d.ts +40 -1
  43. package/dist/tools/daoCreate.d.ts.map +1 -1
  44. package/dist/tools/daoCreate.js +264 -29
  45. package/dist/tools/daoCreate.js.map +1 -1
  46. package/dist/tools/daoDeploy.d.ts.map +1 -1
  47. package/dist/tools/daoDeploy.js +41 -3
  48. package/dist/tools/daoDeploy.js.map +1 -1
  49. package/dist/tools/flow.d.ts +16 -1
  50. package/dist/tools/flow.d.ts.map +1 -1
  51. package/dist/tools/flow.js +67 -12
  52. package/dist/tools/flow.js.map +1 -1
  53. package/dist/tools/getConfig.d.ts.map +1 -1
  54. package/dist/tools/getConfig.js +7 -0
  55. package/dist/tools/getConfig.js.map +1 -1
  56. package/dist/tools/index.js +3 -3
  57. package/dist/tools/index.js.map +1 -1
  58. package/dist/tools/ipfs.d.ts.map +1 -1
  59. package/dist/tools/ipfs.js +34 -14
  60. package/dist/tools/ipfs.js.map +1 -1
  61. package/dist/tools/operationalContext.d.ts.map +1 -1
  62. package/dist/tools/operationalContext.js +16 -1
  63. package/dist/tools/operationalContext.js.map +1 -1
  64. package/dist/tools/otc.d.ts +2 -1
  65. package/dist/tools/otc.d.ts.map +1 -1
  66. package/dist/tools/otc.js +6 -4
  67. package/dist/tools/otc.js.map +1 -1
  68. package/dist/tools/proposalBuild.d.ts.map +1 -1
  69. package/dist/tools/proposalBuild.js +3 -4
  70. package/dist/tools/proposalBuild.js.map +1 -1
  71. package/dist/tools/proposalBuildOffchain.d.ts.map +1 -1
  72. package/dist/tools/proposalBuildOffchain.js +3 -6
  73. package/dist/tools/proposalBuildOffchain.js.map +1 -1
  74. package/dist/tools/read.d.ts.map +1 -1
  75. package/dist/tools/read.js +7 -9
  76. package/dist/tools/read.js.map +1 -1
  77. package/dist/tools/txSend.d.ts.map +1 -1
  78. package/dist/tools/txSend.js +36 -14
  79. package/dist/tools/txSend.js.map +1 -1
  80. package/dist/tools/walletconnectStatus.d.ts.map +1 -1
  81. package/dist/tools/walletconnectStatus.js +13 -29
  82. package/dist/tools/walletconnectStatus.js.map +1 -1
  83. package/package.json +3 -1
@@ -1,23 +1,37 @@
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";
5
6
  import { resolveChain } from "../config.js";
7
+ import { pinataUploadHint } from "../lib/requireEnv.js";
6
8
  import { sendOrCollect } from "./flow.js";
7
9
  import { buildDeployGovPool, DeployParamsSchema } from "./daoDeploy.js";
8
- 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";
9
12
  /**
10
- * `dexe_dao_create` — the one-call DAO deploy composite (Phase 1b). Wraps:
11
- * avatar CID → DAO IPFS metadata → deploy config (buildDeployGovPool,
12
- * reusing the exact predicted-address wiring / settings auto-expand /
13
- * executorDescription upload) → sendOrCollect (dryRun / no-signer payloads /
14
- * broadcast). Deploy gotchas (cap>minted, LINEAR initData, non-zero
15
- * userKeeper asset, mainnet treasury remainder) are pre-flighted with
16
- * actionable errors.
13
+ * `dexe_dao_create` — the one-call DAO deploy composite. Two ways to call it:
17
14
  *
18
- * Validated on BSC testnet (chain 97) only mainnet deployGovPool is broken
19
- * upstream (require(false)).
15
+ * 1. SIMPLE (recommended): pass a few high-level fields (`symbol`,
16
+ * `totalSupply`, optional `treasuryPercent`/`quorumPercent`/`voteModel`)
17
+ * and the tool synthesizes a coherent, frontend-equivalent config —
18
+ * LINEAR power, treasury as an implicit remainder, a reachable quorum. It
19
+ * does NOT invent distribution/quorum silently: it returns a `preview` of
20
+ * the resolved config + a safety proof, and only broadcasts on a second
21
+ * call with `confirm: true` (mainnet always requires the confirm).
22
+ *
23
+ * 2. ADVANCED: pass a full `params` deploy struct (as `dexe_dao_build_deploy`).
24
+ *
25
+ * Either way the deploy goes through `buildDeployGovPool`, whose governance
26
+ * coherence guards (unreachable quorum, min-votes > every holder, treasury in
27
+ * the voter list, out-of-range settings) block any config the frontend blocks.
28
+ *
29
+ * Mainnet (chain 56) is a supported target (the frontend ships there daily);
30
+ * it just requires `confirm: true` because it spends real BNB.
20
31
  */
32
+ const ZERO = ZeroAddress;
33
+ const PCT_25DEC = 10n ** 25n; // 1% in quorum units (100% = 1e27)
34
+ const ONE_TOKEN = 10n ** 18n;
21
35
  function err(message) {
22
36
  return { content: [{ type: "text", text: message }], isError: true };
23
37
  }
@@ -26,20 +40,125 @@ function ok(data) {
26
40
  }
27
41
  // Params minus the two fields the composite derives itself.
28
42
  const DaoCreateDeployParams = DeployParamsSchema.omit({ descriptionURL: true, name: true });
29
- export function registerDaoCreateTools(server, ctx, signer, state) {
43
+ /** Default polynomial curve coefficients (25-decimal), matching the frontend. */
44
+ const POLY_COEFFS = {
45
+ coefficient1: (108n * 10n ** 23n).toString(), // 1.08e25
46
+ coefficient2: (92n * 10n ** 23n).toString(), // 0.92e25
47
+ coefficient3: (97n * 10n ** 23n).toString(), // 0.97e25
48
+ };
49
+ /**
50
+ * Synthesize a full, coherent deploy config from a few high-level fields — the
51
+ * frontend-equivalent shape: new gov token, treasury as an IMPLICIT remainder
52
+ * (never a recipient), deployer holds the distributed portion, LINEAR power.
53
+ */
54
+ export function synthesizeParams(c, deployer) {
55
+ const supplyWei = parseUnits(c.totalSupply, 18);
56
+ const treasuryWei = (supplyWei * BigInt(Math.round(c.treasuryPercent * 100))) / 10000n;
57
+ const distributable = supplyWei - treasuryWei;
58
+ const quorumRaw = (BigInt(Math.round(c.quorumPercent * 1_000_000)) * PCT_25DEC) / 1000000n;
59
+ // min-votes: 1 token, clamped to the distributed amount so it can never exceed
60
+ // the largest (only) recipient's balance.
61
+ const minVotes = distributable < ONE_TOKEN ? distributable : ONE_TOKEN;
62
+ const dur = String(c.durationSeconds);
63
+ const isPoly = c.voteModel === "POLYNOMIAL";
64
+ return {
65
+ settingsParams: {
66
+ proposalSettings: [
67
+ {
68
+ earlyCompletion: true,
69
+ delegatedVotingAllowed: false, // contract semantics: false = delegation ALLOWED (frontend default)
70
+ validatorsVote: true,
71
+ duration: dur,
72
+ durationValidators: dur,
73
+ executionDelay: String(c.executionDelaySeconds),
74
+ quorum: quorumRaw.toString(),
75
+ quorumValidators: quorumRaw.toString(),
76
+ minVotesForVoting: minVotes.toString(),
77
+ minVotesForCreating: minVotes.toString(),
78
+ rewardsInfo: {
79
+ rewardToken: ZERO,
80
+ creationReward: "0",
81
+ executionReward: "0",
82
+ voteRewardsCoefficient: "0",
83
+ },
84
+ executorDescription: "",
85
+ },
86
+ ],
87
+ additionalProposalExecutors: [],
88
+ },
89
+ userKeeperParams: { tokenAddress: ZERO, nftAddress: ZERO, individualPower: "0", nftsTotalSupply: "0" },
90
+ tokenParams: {
91
+ name: c.daoName,
92
+ symbol: c.symbol,
93
+ users: [deployer],
94
+ // Fixed supply: cap == mintedTotal. cap MUST be > 0 (ERC20Capped rejects 0)
95
+ // and ≥ mintedTotal — verified live on mainnet.
96
+ cap: supplyWei.toString(),
97
+ mintedTotal: supplyWei.toString(),
98
+ amounts: [distributable.toString()],
99
+ },
100
+ votePowerParams: {
101
+ voteType: isPoly ? "POLYNOMIAL_VOTES" : "LINEAR_VOTES",
102
+ presetAddress: ZERO,
103
+ ...(isPoly ? { polynomialCoefficients: POLY_COEFFS } : {}),
104
+ },
105
+ verifier: ZERO,
106
+ onlyBABTHolders: false,
107
+ };
108
+ }
109
+ /**
110
+ * Compute a human-readable safety proof for a resolved deploy config: the
111
+ * votable share, the quorum, whether the quorum is reachable (the hard rule),
112
+ * and whether it clears the ≥50% treasury-safety floor (advisory). `feasible`
113
+ * is false only when the quorum is unreachable — the same rule the builder
114
+ * enforces, surfaced early so the preview can explain it.
115
+ */
116
+ export function computeSafetyProof(p) {
117
+ const isTokenCreation = p.tokenParams.name.length > 0;
118
+ const supply = BigInt(p.tokenParams.mintedTotal || "0");
119
+ const votable = p.tokenParams.amounts.reduce((a, b) => a + BigInt(b || "0"), 0n);
120
+ const quorumRaw = p.settingsParams.proposalSettings[0]?.quorum ?? "0";
121
+ const quorumPct = quorumPctFromRaw(quorumRaw);
122
+ const voteType = p.votePowerParams.voteType;
123
+ const reach = checkQuorumReachable({
124
+ voteType,
125
+ quorumRaw,
126
+ mintedTotal: supply.toString(),
127
+ votable: votable.toString(),
128
+ isTokenCreation,
129
+ });
130
+ const votablePct = supply > 0n ? Number((votable * 10000n) / supply) / 100 : 0;
131
+ const reachablePct = voteType === "LINEAR_VOTES" ? votablePct : supply > 0n ? Number((votable * 10000n) / supply) / 100 : 0;
132
+ return {
133
+ isTokenCreation,
134
+ supply: supply.toString(),
135
+ votable: votable.toString(),
136
+ votablePct,
137
+ quorumPct,
138
+ reachable: reach.ok,
139
+ reachablePct,
140
+ floorOk: !Number.isNaN(quorumPct) && quorumPct >= 50,
141
+ feasible: reach.ok,
142
+ ...(reach.ok ? {} : { message: reach.remediation }),
143
+ };
144
+ }
145
+ export function registerDaoCreateTools(server, ctx, signer, wc, state) {
30
146
  const rpc = new RpcProvider(ctx.config);
31
- server.tool("dexe_dao_create", "Create (deploy) a new DeXe DAO in ONE call. Uploads DAO profile metadata to IPFS, builds the " +
32
- "PoolFactory.deployGovPool tx (predicted-address wiring, 1→5 settings auto-expand, executorDescription " +
33
- "IPFS upload all handled), pre-flights the known deploy reverts (cap>minted, LINEAR initData, non-zero " +
34
- "userKeeper asset, mainnet treasury remainder), then signs+broadcasts when DEXE_PRIVATE_KEY is set " +
35
- "(else returns the TxPayload). Validate on BSC testnet (chain 97) mainnet deployGovPool is broken upstream. " +
147
+ server.tool("dexe_dao_create", "Create (deploy) a new DeXe DAO in ONE call. SIMPLE mode (recommended): pass `symbol` + `totalSupply` " +
148
+ "(+ optional `treasuryPercent`/`quorumPercent`/`voteModel`) and the tool synthesizes a coherent, " +
149
+ "frontend-equivalent config (LINEAR power, treasury as an implicit remainder, a reachable quorum). It " +
150
+ "returns a `preview` of the resolved config + a safety proof and only broadcasts on a second call with " +
151
+ "`confirm: true`. ADVANCED mode: pass a full `params` deploy struct. Either way the deploy runs governance " +
152
+ "coherence guards (unreachable quorum, min-votes above every holder, treasury in the voter list, out-of-range " +
153
+ "settings) that block any config the frontend blocks. Mainnet (chain 56) is supported (the frontend ships there " +
154
+ "daily) but requires `confirm: true` since it spends real BNB; testnet (97) is the recommended place to validate. " +
36
155
  "`deployer` defaults to the configured signer. Pass avatarCID from dexe_ipfs_upload_avatar / dexe_dao_generate_avatar.", {
37
156
  chainId: z
38
157
  .number()
39
158
  .int()
40
159
  .positive()
41
160
  .optional()
42
- .describe("Target chain id. Defaults to the MCP's default chain. Use 97 (BSC testnet) to validate."),
161
+ .describe("Target chain id. Defaults to the MCP's default chain. Use 97 (BSC testnet) to validate; 56 = BSC mainnet (real funds)."),
43
162
  poolFactory: z.string().optional().describe("PoolFactory override; defaults to ContractsRegistry lookup"),
44
163
  deployer: z
45
164
  .string()
@@ -51,32 +170,147 @@ export function registerDaoCreateTools(server, ctx, signer, state) {
51
170
  socialLinks: z.array(z.tuple([z.string(), z.string()])).default([]).describe("[[network, url], ...]"),
52
171
  avatarCID: z.string().default("").describe("IPFS CID of an already-pinned JPEG avatar (dexe_ipfs_upload_avatar)"),
53
172
  avatarFileName: z.string().default("avatar.jpeg"),
54
- params: DaoCreateDeployParams,
173
+ // ---- SIMPLE mode fields (used when `params` is omitted) ----
174
+ symbol: z.string().optional().describe("SIMPLE mode: gov token symbol (e.g. 'GENA'). Required when `params` is omitted."),
175
+ totalSupply: z
176
+ .string()
177
+ .optional()
178
+ .describe("SIMPLE mode: total token supply in WHOLE tokens (e.g. '1000000'). Required when `params` is omitted."),
179
+ treasuryPercent: z
180
+ .number()
181
+ .min(0)
182
+ .max(100)
183
+ .default(49)
184
+ .describe("SIMPLE mode: % of supply held by the DAO treasury (implicit remainder — cannot vote). Default 49."),
185
+ quorumPercent: z
186
+ .number()
187
+ .min(0)
188
+ .max(100)
189
+ .default(51)
190
+ .describe("SIMPLE mode: quorum %. Default 51. Must be ≥50 (security) and ≤ the votable %, i.e. ≤ 100−treasuryPercent."),
191
+ voteModel: z
192
+ .enum(["LINEAR", "POLYNOMIAL"])
193
+ .default("LINEAR")
194
+ .describe("SIMPLE mode: vote-power model. LINEAR = 1 token = 1 vote (default). POLYNOMIAL = meritocratic curve."),
195
+ durationSeconds: z.number().int().positive().default(86400).describe("SIMPLE mode: voting duration. Default 86400 (1 day)."),
196
+ executionDelaySeconds: z.number().int().min(0).default(0).describe("SIMPLE mode: delay before execution. Default 0."),
197
+ params: DaoCreateDeployParams.optional().describe("ADVANCED mode: full deployGovPool params. Omit to use SIMPLE mode (symbol + totalSupply)."),
198
+ confirm: z
199
+ .boolean()
200
+ .default(false)
201
+ .describe("Set true to actually broadcast. Without it, SIMPLE mode and any mainnet deploy return a review-only preview."),
55
202
  dryRun: z.boolean().default(false).describe("If true, return the deploy TxPayload even when DEXE_PRIVATE_KEY is set."),
56
203
  }, async (input) => {
57
204
  if (!ctx.config.pinataJwt)
58
- return err("DEXE_PINATA_JWT required for DAO creation (IPFS metadata upload).");
205
+ return err(pinataUploadHint("to create a DAO"));
59
206
  const deployer = input.deployer ?? (signer.hasSigner() ? signer.getAddress() : undefined);
60
207
  if (!deployer)
61
208
  return err("Provide 'deployer' address or set DEXE_PRIVATE_KEY.");
62
209
  const chain = resolveChain(ctx.config, input.chainId);
63
210
  const chainId = chain.chainId;
211
+ const isMainnet = chainId === 56 || chainId === 1;
64
212
  const pinata = new PinataClient(ctx.config.pinataJwt);
65
- // ---------- deploy preflight (fail fast, before the RPC-heavy predict) ----------
66
- const isTokenCreation = input.params.tokenParams.name.length > 0;
213
+ // ---------- resolve the deploy config: SIMPLE synthesis vs ADVANCED params ----------
214
+ const synthesized = !input.params;
215
+ let deployParams;
216
+ if (input.params) {
217
+ deployParams = input.params;
218
+ }
219
+ else {
220
+ if (!input.symbol || !input.totalSupply) {
221
+ return err("SIMPLE mode needs `symbol` and `totalSupply` (whole tokens), or pass a full `params` struct (ADVANCED mode). " +
222
+ "Example: { daoName, symbol: 'GENA', totalSupply: '1000000' } → deployer gets 51%, treasury 49% (implicit), " +
223
+ "quorum 51%, LINEAR power.");
224
+ }
225
+ try {
226
+ deployParams = synthesizeParams({
227
+ daoName: input.daoName,
228
+ symbol: input.symbol,
229
+ totalSupply: input.totalSupply,
230
+ treasuryPercent: input.treasuryPercent,
231
+ quorumPercent: input.quorumPercent,
232
+ voteModel: input.voteModel,
233
+ durationSeconds: input.durationSeconds,
234
+ executionDelaySeconds: input.executionDelaySeconds,
235
+ }, deployer);
236
+ }
237
+ catch (e) {
238
+ return err(`Could not synthesize DAO config: ${e instanceof Error ? e.message : String(e)}`);
239
+ }
240
+ }
241
+ // ---------- fast preflight (predict-independent, fail before RPC/IPFS) ----------
242
+ const isTokenCreation = deployParams.tokenParams.name.length > 0;
67
243
  try {
68
244
  assertPreflight([
69
- checkDeployCap(input.params.tokenParams.cap, input.params.tokenParams.mintedTotal, isTokenCreation),
70
- checkUserKeeperAsset(input.params.userKeeperParams.tokenAddress, input.params.userKeeperParams.nftAddress, isTokenCreation),
71
- checkTreasuryRemainder(input.params.tokenParams.mintedTotal, input.params.tokenParams.amounts, chainId, isTokenCreation),
72
- // LINEAR initData is auto-encoded by the deploy builder; this only trips
73
- // if a caller hand-passes a wrong CUSTOM/LINEAR override.
74
- checkLinearInitData(input.params.votePowerParams.voteType, input.params.votePowerParams.initData),
245
+ checkDeployCap(deployParams.tokenParams.cap, deployParams.tokenParams.mintedTotal, isTokenCreation),
246
+ checkUserKeeperAsset(deployParams.userKeeperParams.tokenAddress, deployParams.userKeeperParams.nftAddress, isTokenCreation),
247
+ checkTreasuryRemainder(deployParams.tokenParams.mintedTotal, deployParams.tokenParams.amounts, isTokenCreation),
248
+ checkLinearInitData(deployParams.votePowerParams.voteType, deployParams.votePowerParams.initData),
75
249
  ]);
76
250
  }
77
251
  catch (e) {
78
252
  return err(e instanceof Error ? e.message : String(e));
79
253
  }
254
+ // ---------- safety proof (reachability is the hard rule) ----------
255
+ const proof = computeSafetyProof(deployParams);
256
+ if (!proof.feasible) {
257
+ return err(`This DAO would be governance-dead: ${proof.message} ` +
258
+ (synthesized
259
+ ? `Adjust so quorumPercent ≤ ${Math.floor(100 - input.treasuryPercent)} (100 − treasuryPercent) while staying ≥50.`
260
+ : ""));
261
+ }
262
+ // ---------- confirm gate: preview before broadcasting ----------
263
+ const willBroadcast = !input.dryRun && signer.hasSigner();
264
+ const needsConfirm = willBroadcast && !input.confirm && (synthesized || isMainnet);
265
+ if (needsConfirm) {
266
+ const t = deployParams.tokenParams;
267
+ const supplyTokens = formatUnits(t.mintedTotal || "0", 18);
268
+ const treasuryWei = BigInt(t.mintedTotal || "0") - t.amounts.reduce((a, b) => a + BigInt(b || "0"), 0n);
269
+ const warnings = [];
270
+ if (!proof.floorOk) {
271
+ warnings.push(`⚠️ quorum ${proof.quorumPct}% is below the 50% treasury-safety floor — a low quorum lets a small group ` +
272
+ "pass proposals (incl. draining treasury). 51%+ recommended. [advisory]");
273
+ }
274
+ if (isMainnet)
275
+ warnings.push("⚠️ MAINNET (chain " + chainId + ") — this will spend real BNB.");
276
+ return ok({
277
+ mode: "preview",
278
+ action: "review-then-confirm",
279
+ chainId,
280
+ mainnet: isMainnet,
281
+ daoName: input.daoName,
282
+ resolvedConfig: {
283
+ voteModel: deployParams.votePowerParams.voteType === "POLYNOMIAL_VOTES" ? "POLYNOMIAL" : "LINEAR",
284
+ symbol: t.symbol,
285
+ totalSupply: supplyTokens,
286
+ distribution: {
287
+ recipients: t.users.map((u, i) => ({
288
+ address: u,
289
+ tokens: formatUnits(t.amounts[i] ?? "0", 18),
290
+ percent: proof.supply !== "0" ? Number((BigInt(t.amounts[i] ?? "0") * 10000n) / BigInt(proof.supply)) / 100 : 0,
291
+ })),
292
+ treasury: {
293
+ tokens: formatUnits(treasuryWei.toString(), 18),
294
+ percent: 100 - proof.votablePct,
295
+ note: "implicit remainder held by the DAO — cannot vote",
296
+ },
297
+ },
298
+ quorumPercent: proof.quorumPct,
299
+ durationSeconds: Number(deployParams.settingsParams.proposalSettings[0]?.duration ?? "0"),
300
+ executionDelaySeconds: Number(deployParams.settingsParams.proposalSettings[0]?.executionDelay ?? "0"),
301
+ },
302
+ safetyProof: {
303
+ votablePercent: proof.votablePct,
304
+ quorumPercent: proof.quorumPct,
305
+ quorumReachable: proof.reachable,
306
+ maxReachableQuorumPercent: proof.reachablePct,
307
+ treasuryFloorOk: proof.floorOk,
308
+ },
309
+ ...(warnings.length ? { warnings } : {}),
310
+ next: `Config looks coherent. Re-call dexe_dao_create with the SAME arguments plus confirm:true to broadcast` +
311
+ (isMainnet ? " on MAINNET (spends real BNB). To validate first, set chainId:97 (testnet)." : "."),
312
+ });
313
+ }
80
314
  // ---------- build + upload DAO profile metadata ----------
81
315
  let descriptionRef = "";
82
316
  if (input.daoDescription && input.daoDescription.length > 0) {
@@ -109,14 +343,14 @@ export function registerDaoCreateTools(server, ctx, signer, state) {
109
343
  chainId: input.chainId,
110
344
  poolFactory: input.poolFactory,
111
345
  deployer,
112
- params: { ...input.params, descriptionURL, name: input.daoName },
346
+ params: { ...deployParams, descriptionURL, name: input.daoName },
113
347
  }, ctx, rpc);
114
348
  if (!res.ok)
115
349
  return err(res.error);
116
350
  // ---------- send or collect ----------
117
351
  let result;
118
352
  try {
119
- result = await sendOrCollect(signer, [res.payload], { dryRun: input.dryRun, chainId });
353
+ result = await sendOrCollect(signer, [res.payload], { dryRun: input.dryRun, chainId, wc });
120
354
  }
121
355
  catch (e) {
122
356
  return err(`Deploy broadcast failed: ${e instanceof Error ? e.message : String(e)}`);
@@ -150,6 +384,7 @@ export function registerDaoCreateTools(server, ctx, signer, state) {
150
384
  note: res.note,
151
385
  steps: result.steps,
152
386
  ...(result.enableWrites ? { enableWrites: result.enableWrites } : {}),
387
+ ...(result.pairing ? { pairing: result.pairing } : {}),
153
388
  });
154
389
  });
155
390
  }
@@ -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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"}