dexe-mcp 0.5.8 → 0.6.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 (82) hide show
  1. package/CHANGELOG.md +641 -536
  2. package/README.md +289 -270
  3. package/SECURITY.md +96 -46
  4. package/dist/config.d.ts +9 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +60 -0
  7. package/dist/config.js.map +1 -1
  8. package/dist/governor/adapter.d.ts +90 -0
  9. package/dist/governor/adapter.d.ts.map +1 -0
  10. package/dist/governor/adapter.js +169 -0
  11. package/dist/governor/adapter.js.map +1 -0
  12. package/dist/governor/configs/compound.json +32 -0
  13. package/dist/governor/configs/optimism.json +28 -0
  14. package/dist/governor/configs/uniswap.json +32 -0
  15. package/dist/governor/encoder.d.ts +59 -0
  16. package/dist/governor/encoder.d.ts.map +1 -0
  17. package/dist/governor/encoder.js +290 -0
  18. package/dist/governor/encoder.js.map +1 -0
  19. package/dist/governor/index.d.ts +11 -0
  20. package/dist/governor/index.d.ts.map +1 -0
  21. package/dist/governor/index.js +20 -0
  22. package/dist/governor/index.js.map +1 -0
  23. package/dist/governor/loader.d.ts +42 -0
  24. package/dist/governor/loader.d.ts.map +1 -0
  25. package/dist/governor/loader.js +103 -0
  26. package/dist/governor/loader.js.map +1 -0
  27. package/dist/governor/tally.d.ts +48 -0
  28. package/dist/governor/tally.d.ts.map +1 -0
  29. package/dist/governor/tally.js +103 -0
  30. package/dist/governor/tally.js.map +1 -0
  31. package/dist/governor/tools/build.d.ts +3 -0
  32. package/dist/governor/tools/build.d.ts.map +1 -0
  33. package/dist/governor/tools/build.js +137 -0
  34. package/dist/governor/tools/build.js.map +1 -0
  35. package/dist/governor/tools/extras.d.ts +4 -0
  36. package/dist/governor/tools/extras.d.ts.map +1 -0
  37. package/dist/governor/tools/extras.js +197 -0
  38. package/dist/governor/tools/extras.js.map +1 -0
  39. package/dist/governor/tools/read.d.ts +4 -0
  40. package/dist/governor/tools/read.d.ts.map +1 -0
  41. package/dist/governor/tools/read.js +174 -0
  42. package/dist/governor/tools/read.js.map +1 -0
  43. package/dist/governor/tools/simulate.d.ts +6 -0
  44. package/dist/governor/tools/simulate.d.ts.map +1 -0
  45. package/dist/governor/tools/simulate.js +191 -0
  46. package/dist/governor/tools/simulate.js.map +1 -0
  47. package/dist/lib/broadcastGuards.d.ts +41 -0
  48. package/dist/lib/broadcastGuards.d.ts.map +1 -0
  49. package/dist/lib/broadcastGuards.js +85 -0
  50. package/dist/lib/broadcastGuards.js.map +1 -0
  51. package/dist/lib/ethersProvider.d.ts +96 -0
  52. package/dist/lib/ethersProvider.d.ts.map +1 -0
  53. package/dist/lib/ethersProvider.js +170 -0
  54. package/dist/lib/ethersProvider.js.map +1 -0
  55. package/dist/lib/signer.d.ts +2 -0
  56. package/dist/lib/signer.d.ts.map +1 -1
  57. package/dist/lib/signer.js +4 -0
  58. package/dist/lib/signer.js.map +1 -1
  59. package/dist/tools/flow.d.ts.map +1 -1
  60. package/dist/tools/flow.js +13 -0
  61. package/dist/tools/flow.js.map +1 -1
  62. package/dist/tools/getConfig.d.ts.map +1 -1
  63. package/dist/tools/getConfig.js +17 -0
  64. package/dist/tools/getConfig.js.map +1 -1
  65. package/dist/tools/inbox.js +8 -8
  66. package/dist/tools/index.d.ts.map +1 -1
  67. package/dist/tools/index.js +6 -0
  68. package/dist/tools/index.js.map +1 -1
  69. package/dist/tools/predict.js +17 -17
  70. package/dist/tools/safe.d.ts +5 -0
  71. package/dist/tools/safe.d.ts.map +1 -0
  72. package/dist/tools/safe.js +264 -0
  73. package/dist/tools/safe.js.map +1 -0
  74. package/dist/tools/simulate.d.ts +7 -0
  75. package/dist/tools/simulate.d.ts.map +1 -1
  76. package/dist/tools/simulate.js +8 -0
  77. package/dist/tools/simulate.js.map +1 -1
  78. package/dist/tools/subgraph.js +162 -162
  79. package/dist/tools/txSend.d.ts.map +1 -1
  80. package/dist/tools/txSend.js +25 -0
  81. package/dist/tools/txSend.js.map +1 -1
  82. package/package.json +95 -92
@@ -28,174 +28,174 @@ const ENV_HINT = {
28
28
  subgraphInteractionsUrl: "DEXE_SUBGRAPH_INTERACTIONS_URL",
29
29
  };
30
30
  // ---------- queries ----------
31
- const DAO_LIST_QUERY = /* GraphQL */ `
32
- query getGovPoolsList($offset: Int!, $limit: Int!, $queryString: String!) {
33
- daoPools(
34
- skip: $offset
35
- first: $limit
36
- where: { name_contains_nocase: $queryString }
37
- orderBy: votersCount
38
- orderDirection: desc
39
- ) {
40
- id
41
- name
42
- erc20Token
43
- erc721Token
44
- votersCount
45
- proposalCount
46
- totalCurrentTokenDelegated
47
- totalCurrentTokenDelegatees
48
- creationTime
49
- creationBlock
50
- }
51
- }
31
+ const DAO_LIST_QUERY = /* GraphQL */ `
32
+ query getGovPoolsList($offset: Int!, $limit: Int!, $queryString: String!) {
33
+ daoPools(
34
+ skip: $offset
35
+ first: $limit
36
+ where: { name_contains_nocase: $queryString }
37
+ orderBy: votersCount
38
+ orderDirection: desc
39
+ ) {
40
+ id
41
+ name
42
+ erc20Token
43
+ erc721Token
44
+ votersCount
45
+ proposalCount
46
+ totalCurrentTokenDelegated
47
+ totalCurrentTokenDelegatees
48
+ creationTime
49
+ creationBlock
50
+ }
51
+ }
52
52
  `;
53
- const DAO_MEMBERS_QUERY = /* GraphQL */ `
54
- query getVotersInPool($poolId: String!, $offset: Int!, $limit: Int!) {
55
- voterInPools(skip: $offset, first: $limit, where: { pool: $poolId }) {
56
- id
57
- APR
58
- currentDelegateesCount
59
- currentDelegatorsCount
60
- engagedProposalsCount
61
- joinedTimestamp
62
- receivedDelegation
63
- receivedNFTDelegation
64
- receivedTreasuryDelegation
65
- totalClaimedUSD
66
- totalLockedUSD
67
- totalPersonalVotingRewardUSD
68
- totalMicropoolVotingRewardUSD
69
- totalTreasuryVotingRewardUSD
70
- expertNft {
71
- id
72
- tokenId
73
- }
74
- voter {
75
- id
76
- totalProposalsCreated
77
- totalVotedProposals
78
- totalVotes
79
- currentVotesReceived
80
- currentVotesDelegated
81
- totalClaimedUSD
82
- }
83
- }
84
- }
53
+ const DAO_MEMBERS_QUERY = /* GraphQL */ `
54
+ query getVotersInPool($poolId: String!, $offset: Int!, $limit: Int!) {
55
+ voterInPools(skip: $offset, first: $limit, where: { pool: $poolId }) {
56
+ id
57
+ APR
58
+ currentDelegateesCount
59
+ currentDelegatorsCount
60
+ engagedProposalsCount
61
+ joinedTimestamp
62
+ receivedDelegation
63
+ receivedNFTDelegation
64
+ receivedTreasuryDelegation
65
+ totalClaimedUSD
66
+ totalLockedUSD
67
+ totalPersonalVotingRewardUSD
68
+ totalMicropoolVotingRewardUSD
69
+ totalTreasuryVotingRewardUSD
70
+ expertNft {
71
+ id
72
+ tokenId
73
+ }
74
+ voter {
75
+ id
76
+ totalProposalsCreated
77
+ totalVotedProposals
78
+ totalVotes
79
+ currentVotesReceived
80
+ currentVotesDelegated
81
+ totalClaimedUSD
82
+ }
83
+ }
84
+ }
85
85
  `;
86
- const DELEGATION_MAP_QUERY = /* GraphQL */ `
87
- query getDefaultDelegationsFromPool($offset: Int!, $limit: Int!, $delegatorIn: [String!]) {
88
- voterInPoolPairs(
89
- skip: $offset
90
- first: $limit
91
- where: { delegator_: { voter_in: $delegatorIn } }
92
- ) {
93
- id
94
- creationTimestamp
95
- delegatedAmount
96
- delegatedNfts
97
- delegatedUSD
98
- delegatedVotes
99
- delegatee {
100
- expertNft {
101
- id
102
- }
103
- voter {
104
- id
105
- }
106
- totalClaimedUSD
107
- }
108
- delegator {
109
- voter {
110
- id
111
- }
112
- pool {
113
- id
114
- erc20Token
115
- }
116
- }
117
- }
118
- }
86
+ const DELEGATION_MAP_QUERY = /* GraphQL */ `
87
+ query getDefaultDelegationsFromPool($offset: Int!, $limit: Int!, $delegatorIn: [String!]) {
88
+ voterInPoolPairs(
89
+ skip: $offset
90
+ first: $limit
91
+ where: { delegator_: { voter_in: $delegatorIn } }
92
+ ) {
93
+ id
94
+ creationTimestamp
95
+ delegatedAmount
96
+ delegatedNfts
97
+ delegatedUSD
98
+ delegatedVotes
99
+ delegatee {
100
+ expertNft {
101
+ id
102
+ }
103
+ voter {
104
+ id
105
+ }
106
+ totalClaimedUSD
107
+ }
108
+ delegator {
109
+ voter {
110
+ id
111
+ }
112
+ pool {
113
+ id
114
+ erc20Token
115
+ }
116
+ }
117
+ }
118
+ }
119
119
  `;
120
- const DELEGATION_INCOMING_QUERY = /* GraphQL */ `
121
- query getPoolIncomingDelegations($offset: Int!, $limit: Int!, $voterIn: [String!]) {
122
- voterInPoolPairs(
123
- skip: $offset
124
- first: $limit
125
- where: { delegatee_: { voter_in: $voterIn } }
126
- ) {
127
- id
128
- delegatedAmount
129
- delegatedNfts
130
- delegatedUSD
131
- delegatedVotes
132
- delegator {
133
- voter {
134
- id
135
- }
136
- }
137
- delegatee {
138
- voter {
139
- id
140
- }
141
- }
142
- }
143
- }
120
+ const DELEGATION_INCOMING_QUERY = /* GraphQL */ `
121
+ query getPoolIncomingDelegations($offset: Int!, $limit: Int!, $voterIn: [String!]) {
122
+ voterInPoolPairs(
123
+ skip: $offset
124
+ first: $limit
125
+ where: { delegatee_: { voter_in: $voterIn } }
126
+ ) {
127
+ id
128
+ delegatedAmount
129
+ delegatedNfts
130
+ delegatedUSD
131
+ delegatedVotes
132
+ delegator {
133
+ voter {
134
+ id
135
+ }
136
+ }
137
+ delegatee {
138
+ voter {
139
+ id
140
+ }
141
+ }
142
+ }
143
+ }
144
144
  `;
145
- const VALIDATORS_QUERY = /* GraphQL */ `
146
- query getDaoPoolValidators($offset: Int!, $limit: Int!, $address: String!) {
147
- validatorInPools(
148
- skip: $offset
149
- first: $limit
150
- orderBy: balance
151
- orderDirection: desc
152
- where: { pool: $address }
153
- ) {
154
- id
155
- balance
156
- validatorAddress
157
- }
158
- }
145
+ const VALIDATORS_QUERY = /* GraphQL */ `
146
+ query getDaoPoolValidators($offset: Int!, $limit: Int!, $address: String!) {
147
+ validatorInPools(
148
+ skip: $offset
149
+ first: $limit
150
+ orderBy: balance
151
+ orderDirection: desc
152
+ where: { pool: $address }
153
+ ) {
154
+ id
155
+ balance
156
+ validatorAddress
157
+ }
158
+ }
159
159
  `;
160
- const USER_ACTIVITY_QUERY = /* GraphQL */ `
161
- query getUserTransactions($offset: Int!, $limit: Int!, $address: Bytes!) {
162
- transactions(
163
- skip: $offset
164
- first: $limit
165
- where: { user: $address }
166
- orderBy: timestamp
167
- orderDirection: desc
168
- ) {
169
- id
170
- type
171
- user
172
- timestamp
173
- interactionsCount
174
- }
175
- }
160
+ const USER_ACTIVITY_QUERY = /* GraphQL */ `
161
+ query getUserTransactions($offset: Int!, $limit: Int!, $address: Bytes!) {
162
+ transactions(
163
+ skip: $offset
164
+ first: $limit
165
+ where: { user: $address }
166
+ orderBy: timestamp
167
+ orderDirection: desc
168
+ ) {
169
+ id
170
+ type
171
+ user
172
+ timestamp
173
+ interactionsCount
174
+ }
175
+ }
176
176
  `;
177
- const EXPERTS_QUERY = /* GraphQL */ `
178
- query getLocalExpertsByPool($offset: Int!, $limit: Int!, $daoAddress: Bytes!) {
179
- voterInPools(
180
- skip: $offset
181
- first: $limit
182
- where: { pool_: { id: $daoAddress }, expertNft_: { id_not: null } }
183
- ) {
184
- id
185
- receivedTreasuryDelegation
186
- receivedDelegation
187
- voter {
188
- id
189
- }
190
- expertNft {
191
- id
192
- tokenId
193
- }
194
- pool {
195
- id
196
- }
197
- }
198
- }
177
+ const EXPERTS_QUERY = /* GraphQL */ `
178
+ query getLocalExpertsByPool($offset: Int!, $limit: Int!, $daoAddress: Bytes!) {
179
+ voterInPools(
180
+ skip: $offset
181
+ first: $limit
182
+ where: { pool_: { id: $daoAddress }, expertNft_: { id_not: null } }
183
+ ) {
184
+ id
185
+ receivedTreasuryDelegation
186
+ receivedDelegation
187
+ voter {
188
+ id
189
+ }
190
+ expertNft {
191
+ id
192
+ tokenId
193
+ }
194
+ pool {
195
+ id
196
+ }
197
+ }
198
+ }
199
199
  `;
200
200
  // ---------- register ----------
201
201
  export function registerSubgraphTools(server, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"txSend.d.ts","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE7D,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,aAAa,GACpB,IAAI,CA8IN"}
1
+ {"version":3,"file":"txSend.d.ts","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,aAAa,GACpB,IAAI,CA6KN"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { resolveChain } from "../config.js";
3
+ import { runBroadcastGuards, BroadcastGuardError } from "../lib/broadcastGuards.js";
3
4
  export function registerTxTools(server, config, signer) {
4
5
  server.tool("dexe_tx_send", "Sign and broadcast a transaction using the configured DEXE_PRIVATE_KEY. " +
5
6
  "Pass the TxPayload fields returned by any dexe_*_build_* tool. " +
@@ -31,6 +32,30 @@ export function registerTxTools(server, config, signer) {
31
32
  }, async ({ to, data, value, chainId, gasLimit, waitConfirmations }) => {
32
33
  const chain = resolveChain(config, chainId);
33
34
  const wallet = signer.requireSigner(chain.chainId);
35
+ // Signer broadcast guards (B6/B7/B9/B10) — no-ops unless their env vars
36
+ // are set. Run before spending any gas.
37
+ try {
38
+ await runBroadcastGuards({ to, data, value, chainId: chain.chainId, from: wallet.address }, config);
39
+ }
40
+ catch (e) {
41
+ if (e instanceof BroadcastGuardError) {
42
+ return {
43
+ content: [
44
+ {
45
+ type: "text",
46
+ text: JSON.stringify({
47
+ status: "rejected",
48
+ guard: e.guard,
49
+ reason: e.message,
50
+ chainId: chain.chainId,
51
+ }, null, 2),
52
+ },
53
+ ],
54
+ isError: true,
55
+ };
56
+ }
57
+ throw e;
58
+ }
34
59
  const tx = await wallet.sendTransaction({
35
60
  to,
36
61
  data,
@@ -1 +1 @@
1
- {"version":3,"file":"txSend.js","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAE7D,MAAM,UAAU,eAAe,CAC7B,MAAiB,EACjB,MAAkB,EAClB,MAAqB;IAErB,MAAM,CAAC,IAAI,CACT,cAAc,EACd,0EAA0E;QACxE,iEAAiE;QACjE,2DAA2D;QAC3D,gJAAgJ,EAClJ;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACnE,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,OAAO,CAAC,GAAG,CAAC;aACZ,QAAQ,CAAC,6BAA6B,CAAC;QAC1C,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,qHAAqH,CACtH;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;QAC3D,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,6CAA6C,CAAC;KAC3D,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE;QAClE,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;YACtC,EAAE;YACF,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CAAC;QAEH,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,MAAM,EAAE,EAAE,CAAC,IAAI;4BACf,IAAI,EAAE,MAAM,CAAC,OAAO;4BACpB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,MAAM,EAAE,WAAW;yBACpB,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAC9D,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,IAAI,EAAE,MAAM,CAAC,OAAO;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,sEAAsE,EACtE;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC1D,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,0EAA0E,CAC3E;KACJ,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAS,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;qBACpE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;YACnC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SAC/B,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"txSend.js","sourceRoot":"","sources":["../../src/tools/txSend.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,92 +1,95 @@
1
- {
2
- "name": "dexe-mcp",
3
- "version": "0.5.8",
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
- "type": "module",
6
- "license": "MIT",
7
- "author": "Edward Arinin <edward.arinin@gmail.com>",
8
- "homepage": "https://github.com/edward-arinin-web-dev/dexe-mcp#readme",
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/edward-arinin-web-dev/dexe-mcp.git"
12
- },
13
- "bugs": {
14
- "url": "https://github.com/edward-arinin-web-dev/dexe-mcp/issues"
15
- },
16
- "keywords": [
17
- "mcp",
18
- "model-context-protocol",
19
- "claude",
20
- "claude-code",
21
- "hardhat",
22
- "solidity",
23
- "ethereum",
24
- "dexe",
25
- "dao",
26
- "governance",
27
- "smart-contracts",
28
- "dev-tools",
29
- "dao-operations",
30
- "proposals",
31
- "ipfs",
32
- "pinata",
33
- "calldata-builder"
34
- ],
35
- "bin": {
36
- "dexe-mcp": "dist/index.js"
37
- },
38
- "main": "dist/index.js",
39
- "files": [
40
- "dist",
41
- "README.md",
42
- "CHANGELOG.md",
43
- "FUTURE.md",
44
- "SECURITY.md",
45
- "LICENSE",
46
- ".mcp.example.json"
47
- ],
48
- "scripts": {
49
- "build": "tsc",
50
- "dev": "tsx watch src/index.ts",
51
- "start": "node dist/index.js",
52
- "test": "vitest run",
53
- "test:watch": "vitest",
54
- "test:compat": "node tests/compat/diff-otc.mjs",
55
- "typecheck": "tsc --noEmit",
56
- "prepublishOnly": "npm run typecheck && npm run build",
57
- "swarm:preflight": "tsx scripts/swarm/preflight.ts",
58
- "swarm:fund": "tsx scripts/swarm/fund-pool.ts",
59
- "swarm:run": "tsx scripts/swarm/orchestrator.ts",
60
- "swarm:smoke": "tsx scripts/swarm/orchestrator.ts --scenarios=S00-reset,S01-delegation-chain-3hop --dry-run"
61
- },
62
- "dependencies": {
63
- "@modelcontextprotocol/sdk": "^1.29.0",
64
- "ethers": "^6.13.0",
65
- "execa": "^9.5.0",
66
- "multiformats": "^13.4.2",
67
- "p-limit": "^6.2.0",
68
- "remark-gfm": "^4.0.1",
69
- "remark-parse": "^11.0.0",
70
- "remark-slate-transformer": "^0.9.0",
71
- "unified": "^11.0.5",
72
- "zod": "^3.23.8"
73
- },
74
- "overrides": {
75
- "fast-uri": ">=3.1.2",
76
- "hono": ">=4.12.18",
77
- "ip-address": ">=10.1.1",
78
- "express-rate-limit": ">=8.4.0"
79
- },
80
- "devDependencies": {
81
- "@types/node": "^22.10.0",
82
- "tsx": "^4.19.0",
83
- "typescript": "^5.7.0",
84
- "vitest": "^2.1.0"
85
- },
86
- "engines": {
87
- "node": ">=20.0.0"
88
- },
89
- "publishConfig": {
90
- "access": "public"
91
- }
92
- }
1
+ {
2
+ "name": "dexe-mcp",
3
+ "version": "0.6.0",
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
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Edward Arinin <edward.arinin@gmail.com>",
8
+ "homepage": "https://github.com/edward-arinin-web-dev/dexe-mcp#readme",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/edward-arinin-web-dev/dexe-mcp.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/edward-arinin-web-dev/dexe-mcp/issues"
15
+ },
16
+ "keywords": [
17
+ "mcp",
18
+ "model-context-protocol",
19
+ "claude",
20
+ "claude-code",
21
+ "hardhat",
22
+ "solidity",
23
+ "ethereum",
24
+ "dexe",
25
+ "dao",
26
+ "governance",
27
+ "smart-contracts",
28
+ "dev-tools",
29
+ "dao-operations",
30
+ "proposals",
31
+ "ipfs",
32
+ "pinata",
33
+ "calldata-builder"
34
+ ],
35
+ "bin": {
36
+ "dexe-mcp": "dist/index.js"
37
+ },
38
+ "main": "dist/index.js",
39
+ "files": [
40
+ "dist",
41
+ "README.md",
42
+ "CHANGELOG.md",
43
+ "FUTURE.md",
44
+ "SECURITY.md",
45
+ "LICENSE",
46
+ ".mcp.example.json"
47
+ ],
48
+ "scripts": {
49
+ "build": "tsc",
50
+ "dev": "tsx watch src/index.ts",
51
+ "start": "node dist/index.js",
52
+ "test": "vitest run --passWithNoTests",
53
+ "test:watch": "vitest",
54
+ "test:compat": "node tests/compat/diff-otc.mjs",
55
+ "typecheck": "tsc --noEmit",
56
+ "prepublishOnly": "npm run typecheck && npm run build",
57
+ "swarm:preflight": "tsx scripts/swarm/preflight.ts",
58
+ "swarm:fund": "tsx scripts/swarm/fund-pool.ts",
59
+ "swarm:run": "tsx scripts/swarm/orchestrator.ts",
60
+ "swarm:smoke": "tsx scripts/swarm/orchestrator.ts --scenarios=S00-reset,S01-delegation-chain-3hop --dry-run"
61
+ },
62
+ "dependencies": {
63
+ "@modelcontextprotocol/sdk": "^1.29.0",
64
+ "ethers": "^6.13.0",
65
+ "execa": "^9.5.0",
66
+ "multiformats": "^13.4.2",
67
+ "p-limit": "^6.2.0",
68
+ "remark-gfm": "^4.0.1",
69
+ "remark-parse": "^11.0.0",
70
+ "remark-slate-transformer": "^0.9.0",
71
+ "unified": "^11.0.5",
72
+ "zod": "^3.23.8"
73
+ },
74
+ "overrides": {
75
+ "fast-uri": ">=3.1.2",
76
+ "hono": ">=4.12.18",
77
+ "ip-address": ">=10.1.1",
78
+ "express-rate-limit": ">=8.4.0",
79
+ "esbuild": ">=0.25.0",
80
+ "ws": ">=8.20.1"
81
+ },
82
+ "devDependencies": {
83
+ "@types/node": "^22.10.0",
84
+ "tsx": "^4.19.0",
85
+ "typescript": "^5.7.0",
86
+ "vitest": "^3.0.0"
87
+ },
88
+ "engines": {
89
+ "node": ">=20.0.0"
90
+ },
91
+ "publishConfig": {
92
+ "access": "public",
93
+ "provenance": true
94
+ }
95
+ }