dexe-mcp 0.5.3 → 0.5.7
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/CHANGELOG.md +149 -0
- package/README.md +24 -18
- package/dist/config.d.ts +27 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +105 -9
- package/dist/config.js.map +1 -1
- package/dist/lib/blacklist.d.ts +22 -0
- package/dist/lib/blacklist.d.ts.map +1 -0
- package/dist/lib/blacklist.js +43 -0
- package/dist/lib/blacklist.js.map +1 -0
- package/dist/lib/signer.d.ts +17 -4
- package/dist/lib/signer.d.ts.map +1 -1
- package/dist/lib/signer.js +33 -16
- package/dist/lib/signer.js.map +1 -1
- package/dist/rpc.d.ts +10 -5
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +18 -10
- package/dist/rpc.js.map +1 -1
- package/dist/tools/daoDeploy.d.ts.map +1 -1
- package/dist/tools/daoDeploy.js +27 -6
- package/dist/tools/daoDeploy.js.map +1 -1
- package/dist/tools/flow.d.ts +3 -0
- package/dist/tools/flow.d.ts.map +1 -1
- package/dist/tools/flow.js +29 -14
- package/dist/tools/flow.js.map +1 -1
- package/dist/tools/getConfig.d.ts +10 -0
- package/dist/tools/getConfig.d.ts.map +1 -0
- package/dist/tools/getConfig.js +52 -0
- package/dist/tools/getConfig.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/otc.d.ts.map +1 -1
- package/dist/tools/otc.js +28 -6
- package/dist/tools/otc.js.map +1 -1
- package/dist/tools/proposalBuild.d.ts.map +1 -1
- package/dist/tools/proposalBuild.js +11 -2
- package/dist/tools/proposalBuild.js.map +1 -1
- package/dist/tools/proposalBuildComplex.d.ts.map +1 -1
- package/dist/tools/proposalBuildComplex.js +49 -14
- package/dist/tools/proposalBuildComplex.js.map +1 -1
- package/dist/tools/proposalBuildMore.js +60 -20
- package/dist/tools/proposalBuildMore.js.map +1 -1
- package/dist/tools/proposalBuildOffchain.d.ts.map +1 -1
- package/dist/tools/proposalBuildOffchain.js +26 -15
- package/dist/tools/proposalBuildOffchain.js.map +1 -1
- package/dist/tools/txSend.d.ts +1 -1
- package/dist/tools/txSend.d.ts.map +1 -1
- package/dist/tools/txSend.js +37 -9
- package/dist/tools/txSend.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/txSend.js
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { resolveChain } from "../config.js";
|
|
2
3
|
export function registerTxTools(server, config, signer) {
|
|
3
4
|
server.tool("dexe_tx_send", "Sign and broadcast a transaction using the configured DEXE_PRIVATE_KEY. " +
|
|
4
5
|
"Pass the TxPayload fields returned by any dexe_*_build_* tool. " +
|
|
5
|
-
"Waits for on-chain confirmation and returns the receipt."
|
|
6
|
+
"Waits for on-chain confirmation and returns the receipt. " +
|
|
7
|
+
"When the MCP has multiple chains configured, pass `chainId` explicitly to pick which one to broadcast on; otherwise the default chain is used.", {
|
|
6
8
|
to: z.string().describe("Destination contract address"),
|
|
7
9
|
data: z.string().describe("ABI-encoded calldata (0x-prefixed hex)"),
|
|
8
10
|
value: z
|
|
9
11
|
.string()
|
|
10
12
|
.default("0")
|
|
11
13
|
.describe("Wei value as decimal string"),
|
|
14
|
+
chainId: z
|
|
15
|
+
.number()
|
|
16
|
+
.int()
|
|
17
|
+
.positive()
|
|
18
|
+
.optional()
|
|
19
|
+
.describe("Target chain id. Defaults to the MCP's default chain. Tool rejects if no RPC is configured for the requested chain."),
|
|
12
20
|
gasLimit: z
|
|
13
21
|
.string()
|
|
14
22
|
.optional()
|
|
@@ -20,13 +28,14 @@ export function registerTxTools(server, config, signer) {
|
|
|
20
28
|
.max(12)
|
|
21
29
|
.default(1)
|
|
22
30
|
.describe("Confirmations to wait (0 = fire-and-forget)"),
|
|
23
|
-
}, async ({ to, data, value, gasLimit, waitConfirmations }) => {
|
|
24
|
-
const
|
|
31
|
+
}, async ({ to, data, value, chainId, gasLimit, waitConfirmations }) => {
|
|
32
|
+
const chain = resolveChain(config, chainId);
|
|
33
|
+
const wallet = signer.requireSigner(chain.chainId);
|
|
25
34
|
const tx = await wallet.sendTransaction({
|
|
26
35
|
to,
|
|
27
36
|
data,
|
|
28
37
|
value: BigInt(value),
|
|
29
|
-
chainId: BigInt(
|
|
38
|
+
chainId: BigInt(chain.chainId),
|
|
30
39
|
...(gasLimit ? { gasLimit: BigInt(gasLimit) } : {}),
|
|
31
40
|
});
|
|
32
41
|
if (waitConfirmations === 0) {
|
|
@@ -34,7 +43,12 @@ export function registerTxTools(server, config, signer) {
|
|
|
34
43
|
content: [
|
|
35
44
|
{
|
|
36
45
|
type: "text",
|
|
37
|
-
text: JSON.stringify({
|
|
46
|
+
text: JSON.stringify({
|
|
47
|
+
txHash: tx.hash,
|
|
48
|
+
from: wallet.address,
|
|
49
|
+
chainId: chain.chainId,
|
|
50
|
+
status: "submitted",
|
|
51
|
+
}, null, 2),
|
|
38
52
|
},
|
|
39
53
|
],
|
|
40
54
|
};
|
|
@@ -45,7 +59,7 @@ export function registerTxTools(server, config, signer) {
|
|
|
45
59
|
content: [
|
|
46
60
|
{
|
|
47
61
|
type: "text",
|
|
48
|
-
text: JSON.stringify({ txHash: tx.hash, status: "unknown" }, null, 2),
|
|
62
|
+
text: JSON.stringify({ txHash: tx.hash, chainId: chain.chainId, status: "unknown" }, null, 2),
|
|
49
63
|
},
|
|
50
64
|
],
|
|
51
65
|
};
|
|
@@ -53,6 +67,7 @@ export function registerTxTools(server, config, signer) {
|
|
|
53
67
|
const result = {
|
|
54
68
|
txHash: receipt.hash,
|
|
55
69
|
from: wallet.address,
|
|
70
|
+
chainId: chain.chainId,
|
|
56
71
|
blockNumber: receipt.blockNumber,
|
|
57
72
|
gasUsed: receipt.gasUsed.toString(),
|
|
58
73
|
status: receipt.status,
|
|
@@ -63,17 +78,30 @@ export function registerTxTools(server, config, signer) {
|
|
|
63
78
|
});
|
|
64
79
|
server.tool("dexe_tx_status", "Check the receipt/status of a previously submitted transaction hash.", {
|
|
65
80
|
txHash: z.string().describe("Transaction hash to look up"),
|
|
66
|
-
|
|
67
|
-
|
|
81
|
+
chainId: z
|
|
82
|
+
.number()
|
|
83
|
+
.int()
|
|
84
|
+
.positive()
|
|
85
|
+
.optional()
|
|
86
|
+
.describe("Chain id to look up the receipt on. Defaults to the MCP's default chain."),
|
|
87
|
+
}, async ({ txHash, chainId }) => {
|
|
88
|
+
const chain = resolveChain(config, chainId);
|
|
89
|
+
const wallet = signer.requireSigner(chain.chainId);
|
|
68
90
|
const provider = wallet.provider;
|
|
69
91
|
const receipt = await provider.getTransactionReceipt(txHash);
|
|
70
92
|
if (!receipt) {
|
|
71
93
|
return {
|
|
72
|
-
content: [
|
|
94
|
+
content: [
|
|
95
|
+
{
|
|
96
|
+
type: "text",
|
|
97
|
+
text: JSON.stringify({ chainId: chain.chainId, status: "pending" }),
|
|
98
|
+
},
|
|
99
|
+
],
|
|
73
100
|
};
|
|
74
101
|
}
|
|
75
102
|
const result = {
|
|
76
103
|
txHash: receipt.hash,
|
|
104
|
+
chainId: chain.chainId,
|
|
77
105
|
status: receipt.status,
|
|
78
106
|
blockNumber: receipt.blockNumber,
|
|
79
107
|
gasUsed: receipt.gasUsed.toString(),
|
package/dist/tools/txSend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txSend.js","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"txSend.js","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dexe-mcp",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.7",
|
|
4
4
|
"description": "MCP server for the DeXe Protocol — full DAO operations coverage: deploy DAOs, build every proposal type, IPFS metadata, stake/vote/delegate/execute/claim calldata. Plus dev tooling (build/test/introspect/decode).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|