@manifest-network/manifest-mcp-browser 0.1.6 → 0.1.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.
Files changed (49) hide show
  1. package/CLAUDE.md +4 -2
  2. package/dist/modules.d.ts.map +1 -1
  3. package/dist/modules.js +42 -0
  4. package/dist/modules.js.map +1 -1
  5. package/dist/modules.test.js +2 -0
  6. package/dist/modules.test.js.map +1 -1
  7. package/dist/queries/group.d.ts +12 -0
  8. package/dist/queries/group.d.ts.map +1 -0
  9. package/dist/queries/group.js +107 -0
  10. package/dist/queries/group.js.map +1 -0
  11. package/dist/queries/index.d.ts +1 -0
  12. package/dist/queries/index.d.ts.map +1 -1
  13. package/dist/queries/index.js +1 -0
  14. package/dist/queries/index.js.map +1 -1
  15. package/dist/queries/utils.d.ts +3 -18
  16. package/dist/queries/utils.d.ts.map +1 -1
  17. package/dist/queries/utils.js +2 -17
  18. package/dist/queries/utils.js.map +1 -1
  19. package/dist/transactions/gov.d.ts.map +1 -1
  20. package/dist/transactions/gov.js +3 -26
  21. package/dist/transactions/gov.js.map +1 -1
  22. package/dist/transactions/group.d.ts +7 -0
  23. package/dist/transactions/group.d.ts.map +1 -0
  24. package/dist/transactions/group.js +339 -0
  25. package/dist/transactions/group.js.map +1 -0
  26. package/dist/transactions/index.d.ts +1 -0
  27. package/dist/transactions/index.d.ts.map +1 -1
  28. package/dist/transactions/index.js +1 -0
  29. package/dist/transactions/index.js.map +1 -1
  30. package/dist/transactions/utils.d.ts +37 -0
  31. package/dist/transactions/utils.d.ts.map +1 -1
  32. package/dist/transactions/utils.js +43 -0
  33. package/dist/transactions/utils.js.map +1 -1
  34. package/dist/transactions/utils.test.js +97 -1
  35. package/dist/transactions/utils.test.js.map +1 -1
  36. package/dist/types.d.ts +31 -1
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/src/modules.test.ts +2 -0
  40. package/src/modules.ts +42 -0
  41. package/src/queries/group.ts +146 -0
  42. package/src/queries/index.ts +1 -0
  43. package/src/queries/utils.ts +3 -27
  44. package/src/transactions/gov.ts +3 -30
  45. package/src/transactions/group.ts +458 -0
  46. package/src/transactions/index.ts +1 -0
  47. package/src/transactions/utils.test.ts +109 -1
  48. package/src/transactions/utils.ts +69 -0
  49. package/src/types.ts +52 -1
@@ -0,0 +1,339 @@
1
+ import { fromBase64 } from '@cosmjs/encoding';
2
+ import { cosmos } from '@manifest-network/manifestjs';
3
+ import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
4
+ import { buildTxResult, validateAddress, validateArgsLength, extractFlag, filterConsumedArgs, requireArgs, parseColonPair, parseBigInt, parseVoteOption, extractBooleanFlag, } from './utils.js';
5
+ import { throwUnsupportedSubcommand } from '../modules.js';
6
+ const { MsgCreateGroup, MsgUpdateGroupMembers, MsgUpdateGroupAdmin, MsgUpdateGroupMetadata, MsgCreateGroupPolicy, MsgUpdateGroupPolicyAdmin, MsgCreateGroupWithPolicy, MsgUpdateGroupPolicyDecisionPolicy, MsgUpdateGroupPolicyMetadata, MsgSubmitProposal, MsgWithdrawProposal, MsgVote, MsgExec, MsgLeaveGroup, VoteOption, Exec, } = cosmos.group.v1;
7
+ /**
8
+ * Parse an exec mode string. Accepts 'try' or '1' for EXEC_TRY.
9
+ * Returns EXEC_UNSPECIFIED by default.
10
+ */
11
+ function parseExec(value) {
12
+ if (!value)
13
+ return Exec.EXEC_UNSPECIFIED;
14
+ const lower = value.toLowerCase();
15
+ if (lower === 'try' || lower === '1')
16
+ return Exec.EXEC_TRY;
17
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid exec mode: "${value}". Expected: "try" for immediate execution.`);
18
+ }
19
+ /**
20
+ * Build a decision policy (ThresholdDecisionPolicy or PercentageDecisionPolicy)
21
+ * wrapped for use with fromPartial().
22
+ */
23
+ function buildDecisionPolicy(policyType, value, votingPeriodSecs, minExecPeriodSecs) {
24
+ const votingSecs = parseBigInt(votingPeriodSecs, 'voting-period-secs');
25
+ const minExecSecs = parseBigInt(minExecPeriodSecs, 'min-execution-period-secs');
26
+ const windows = {
27
+ votingPeriod: { seconds: votingSecs, nanos: 0 },
28
+ minExecutionPeriod: { seconds: minExecSecs, nanos: 0 },
29
+ };
30
+ switch (policyType.toLowerCase()) {
31
+ case 'threshold':
32
+ return {
33
+ $typeUrl: '/cosmos.group.v1.ThresholdDecisionPolicy',
34
+ threshold: value,
35
+ windows,
36
+ };
37
+ case 'percentage':
38
+ return {
39
+ $typeUrl: '/cosmos.group.v1.PercentageDecisionPolicy',
40
+ percentage: value,
41
+ windows,
42
+ };
43
+ default:
44
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid policy type: "${policyType}". Expected "threshold" or "percentage".`);
45
+ }
46
+ }
47
+ /**
48
+ * Parse address:weight pairs into MemberRequest array.
49
+ * Each pair is validated for proper address format and non-negative weight.
50
+ */
51
+ function parseMemberRequests(pairs) {
52
+ return pairs.map(pair => {
53
+ const [address, weight] = parseColonPair(pair, 'address', 'weight', 'member');
54
+ validateAddress(address, 'member address');
55
+ if (!/^\d+(\.\d+)?$/.test(weight)) {
56
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid member weight: "${weight}" for address "${address}". Expected a non-negative decimal string (e.g., "1", "0.5").`);
57
+ }
58
+ return { address, weight, metadata: '' };
59
+ });
60
+ }
61
+ /**
62
+ * Parse JSON message strings into Any[] for MsgSubmitProposal.
63
+ * Each JSON object must have a typeUrl and a base64-encoded value field.
64
+ * The value must contain protobuf-encoded bytes (not JSON).
65
+ */
66
+ function parseProposalMessages(jsonArgs) {
67
+ return jsonArgs.map((jsonStr, index) => {
68
+ let parsed;
69
+ try {
70
+ parsed = JSON.parse(jsonStr);
71
+ }
72
+ catch {
73
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid JSON in message at index ${index}: ${jsonStr}`);
74
+ }
75
+ const { typeUrl, value } = parsed;
76
+ if (typeof typeUrl !== 'string' || !typeUrl) {
77
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Message at index ${index} missing required "typeUrl" field.`);
78
+ }
79
+ if (typeof value !== 'string' || !value) {
80
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Message at index ${index} missing required "value" field. Provide protobuf-encoded bytes as a base64 string.`);
81
+ }
82
+ try {
83
+ const bytes = fromBase64(value);
84
+ return { typeUrl, value: bytes };
85
+ }
86
+ catch {
87
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Message at index ${index}: invalid base64 value.`);
88
+ }
89
+ });
90
+ }
91
+ /**
92
+ * Route group transaction to appropriate handler
93
+ */
94
+ export async function routeGroupTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
95
+ validateArgsLength(args, 'group transaction');
96
+ switch (subcommand) {
97
+ case 'create-group': {
98
+ requireArgs(args, 2, ['metadata', 'address:weight'], 'group create-group');
99
+ const [metadata, ...memberPairs] = args;
100
+ const members = parseMemberRequests(memberPairs);
101
+ const msg = {
102
+ typeUrl: '/cosmos.group.v1.MsgCreateGroup',
103
+ value: MsgCreateGroup.fromPartial({
104
+ admin: senderAddress,
105
+ members,
106
+ metadata,
107
+ }),
108
+ };
109
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
110
+ return buildTxResult('group', 'create-group', result, waitForConfirmation);
111
+ }
112
+ case 'update-group-members': {
113
+ requireArgs(args, 2, ['group-id', 'address:weight'], 'group update-group-members');
114
+ const [groupIdStr, ...memberPairs] = args;
115
+ const groupId = parseBigInt(groupIdStr, 'group-id');
116
+ const memberUpdates = parseMemberRequests(memberPairs);
117
+ const msg = {
118
+ typeUrl: '/cosmos.group.v1.MsgUpdateGroupMembers',
119
+ value: MsgUpdateGroupMembers.fromPartial({
120
+ admin: senderAddress,
121
+ groupId,
122
+ memberUpdates,
123
+ }),
124
+ };
125
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
126
+ return buildTxResult('group', 'update-group-members', result, waitForConfirmation);
127
+ }
128
+ case 'update-group-admin': {
129
+ requireArgs(args, 2, ['group-id', 'new-admin-address'], 'group update-group-admin');
130
+ const [groupIdStr, newAdmin] = args;
131
+ const groupId = parseBigInt(groupIdStr, 'group-id');
132
+ validateAddress(newAdmin, 'new admin address');
133
+ const msg = {
134
+ typeUrl: '/cosmos.group.v1.MsgUpdateGroupAdmin',
135
+ value: MsgUpdateGroupAdmin.fromPartial({
136
+ admin: senderAddress,
137
+ groupId,
138
+ newAdmin,
139
+ }),
140
+ };
141
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
142
+ return buildTxResult('group', 'update-group-admin', result, waitForConfirmation);
143
+ }
144
+ case 'update-group-metadata': {
145
+ requireArgs(args, 2, ['group-id', 'metadata'], 'group update-group-metadata');
146
+ const [groupIdStr, metadata] = args;
147
+ const groupId = parseBigInt(groupIdStr, 'group-id');
148
+ const msg = {
149
+ typeUrl: '/cosmos.group.v1.MsgUpdateGroupMetadata',
150
+ value: MsgUpdateGroupMetadata.fromPartial({
151
+ admin: senderAddress,
152
+ groupId,
153
+ metadata,
154
+ }),
155
+ };
156
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
157
+ return buildTxResult('group', 'update-group-metadata', result, waitForConfirmation);
158
+ }
159
+ case 'create-group-policy': {
160
+ requireArgs(args, 6, ['group-id', 'metadata', 'policy-type', 'threshold-or-pct', 'voting-period-secs', 'min-execution-period-secs'], 'group create-group-policy');
161
+ const [groupIdStr, metadata, policyType, value, votingPeriodSecs, minExecPeriodSecs] = args;
162
+ const groupId = parseBigInt(groupIdStr, 'group-id');
163
+ const decisionPolicy = buildDecisionPolicy(policyType, value, votingPeriodSecs, minExecPeriodSecs);
164
+ const msg = {
165
+ typeUrl: '/cosmos.group.v1.MsgCreateGroupPolicy',
166
+ value: MsgCreateGroupPolicy.fromPartial({
167
+ admin: senderAddress,
168
+ groupId,
169
+ metadata,
170
+ decisionPolicy,
171
+ }),
172
+ };
173
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
174
+ return buildTxResult('group', 'create-group-policy', result, waitForConfirmation);
175
+ }
176
+ case 'update-group-policy-admin': {
177
+ requireArgs(args, 2, ['group-policy-address', 'new-admin-address'], 'group update-group-policy-admin');
178
+ const [groupPolicyAddress, newAdmin] = args;
179
+ validateAddress(groupPolicyAddress, 'group policy address');
180
+ validateAddress(newAdmin, 'new admin address');
181
+ const msg = {
182
+ typeUrl: '/cosmos.group.v1.MsgUpdateGroupPolicyAdmin',
183
+ value: MsgUpdateGroupPolicyAdmin.fromPartial({
184
+ admin: senderAddress,
185
+ groupPolicyAddress,
186
+ newAdmin,
187
+ }),
188
+ };
189
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
190
+ return buildTxResult('group', 'update-group-policy-admin', result, waitForConfirmation);
191
+ }
192
+ case 'create-group-with-policy': {
193
+ // Extract optional --group-policy-as-admin flag
194
+ const { value: groupPolicyAsAdmin, remainingArgs: afterBool } = extractBooleanFlag(args, '--group-policy-as-admin');
195
+ requireArgs(afterBool, 7, ['group-metadata', 'group-policy-metadata', 'policy-type', 'threshold-or-pct', 'voting-period-secs', 'min-execution-period-secs', 'address:weight'], 'group create-group-with-policy');
196
+ const [groupMetadata, groupPolicyMetadata, policyType, value, votingPeriodSecs, minExecPeriodSecs, ...memberPairs] = afterBool;
197
+ const members = parseMemberRequests(memberPairs);
198
+ const decisionPolicy = buildDecisionPolicy(policyType, value, votingPeriodSecs, minExecPeriodSecs);
199
+ const msg = {
200
+ typeUrl: '/cosmos.group.v1.MsgCreateGroupWithPolicy',
201
+ value: MsgCreateGroupWithPolicy.fromPartial({
202
+ admin: senderAddress,
203
+ members,
204
+ groupMetadata,
205
+ groupPolicyMetadata,
206
+ groupPolicyAsAdmin,
207
+ decisionPolicy,
208
+ }),
209
+ };
210
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
211
+ return buildTxResult('group', 'create-group-with-policy', result, waitForConfirmation);
212
+ }
213
+ case 'update-group-policy-decision-policy': {
214
+ requireArgs(args, 5, ['group-policy-address', 'policy-type', 'threshold-or-pct', 'voting-period-secs', 'min-execution-period-secs'], 'group update-group-policy-decision-policy');
215
+ const [groupPolicyAddress, policyType, value, votingPeriodSecs, minExecPeriodSecs] = args;
216
+ validateAddress(groupPolicyAddress, 'group policy address');
217
+ const decisionPolicy = buildDecisionPolicy(policyType, value, votingPeriodSecs, minExecPeriodSecs);
218
+ const msg = {
219
+ typeUrl: '/cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicy',
220
+ value: MsgUpdateGroupPolicyDecisionPolicy.fromPartial({
221
+ admin: senderAddress,
222
+ groupPolicyAddress,
223
+ decisionPolicy,
224
+ }),
225
+ };
226
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
227
+ return buildTxResult('group', 'update-group-policy-decision-policy', result, waitForConfirmation);
228
+ }
229
+ case 'update-group-policy-metadata': {
230
+ requireArgs(args, 2, ['group-policy-address', 'metadata'], 'group update-group-policy-metadata');
231
+ const [groupPolicyAddress, metadata] = args;
232
+ validateAddress(groupPolicyAddress, 'group policy address');
233
+ const msg = {
234
+ typeUrl: '/cosmos.group.v1.MsgUpdateGroupPolicyMetadata',
235
+ value: MsgUpdateGroupPolicyMetadata.fromPartial({
236
+ admin: senderAddress,
237
+ groupPolicyAddress,
238
+ metadata,
239
+ }),
240
+ };
241
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
242
+ return buildTxResult('group', 'update-group-policy-metadata', result, waitForConfirmation);
243
+ }
244
+ case 'submit-proposal': {
245
+ // Extract optional flags
246
+ const execFlag = extractFlag(args, '--exec', 'group submit-proposal');
247
+ const metadataFlag = extractFlag(args, '--metadata', 'group submit-proposal');
248
+ const allConsumed = [...execFlag.consumedIndices, ...metadataFlag.consumedIndices];
249
+ const positionalArgs = filterConsumedArgs(args, allConsumed);
250
+ requireArgs(positionalArgs, 3, ['group-policy-address', 'title', 'summary'], 'group submit-proposal');
251
+ const [groupPolicyAddress, title, summary, ...messageJsonArgs] = positionalArgs;
252
+ validateAddress(groupPolicyAddress, 'group policy address');
253
+ const exec = parseExec(execFlag.value);
254
+ const metadata = metadataFlag.value ?? '';
255
+ const messages = messageJsonArgs.length > 0 ? parseProposalMessages(messageJsonArgs) : [];
256
+ const msg = {
257
+ typeUrl: '/cosmos.group.v1.MsgSubmitProposal',
258
+ value: MsgSubmitProposal.fromPartial({
259
+ groupPolicyAddress,
260
+ proposers: [senderAddress],
261
+ metadata,
262
+ messages,
263
+ exec,
264
+ title,
265
+ summary,
266
+ }),
267
+ };
268
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
269
+ return buildTxResult('group', 'submit-proposal', result, waitForConfirmation);
270
+ }
271
+ case 'withdraw-proposal': {
272
+ requireArgs(args, 1, ['proposal-id'], 'group withdraw-proposal');
273
+ const proposalId = parseBigInt(args[0], 'proposal-id');
274
+ const msg = {
275
+ typeUrl: '/cosmos.group.v1.MsgWithdrawProposal',
276
+ value: MsgWithdrawProposal.fromPartial({
277
+ proposalId,
278
+ address: senderAddress,
279
+ }),
280
+ };
281
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
282
+ return buildTxResult('group', 'withdraw-proposal', result, waitForConfirmation);
283
+ }
284
+ case 'vote': {
285
+ // Extract optional flags
286
+ const execFlag = extractFlag(args, '--exec', 'group vote');
287
+ const metadataFlag = extractFlag(args, '--metadata', 'group vote');
288
+ const allConsumed = [...execFlag.consumedIndices, ...metadataFlag.consumedIndices];
289
+ const positionalArgs = filterConsumedArgs(args, allConsumed);
290
+ requireArgs(positionalArgs, 2, ['proposal-id', 'option'], 'group vote');
291
+ const [proposalIdStr, optionStr] = positionalArgs;
292
+ const proposalId = parseBigInt(proposalIdStr, 'proposal-id');
293
+ const option = parseVoteOption(optionStr, VoteOption);
294
+ const exec = parseExec(execFlag.value);
295
+ const metadata = metadataFlag.value ?? '';
296
+ const msg = {
297
+ typeUrl: '/cosmos.group.v1.MsgVote',
298
+ value: MsgVote.fromPartial({
299
+ proposalId,
300
+ voter: senderAddress,
301
+ option,
302
+ metadata,
303
+ exec,
304
+ }),
305
+ };
306
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
307
+ return buildTxResult('group', 'vote', result, waitForConfirmation);
308
+ }
309
+ case 'exec': {
310
+ requireArgs(args, 1, ['proposal-id'], 'group exec');
311
+ const proposalId = parseBigInt(args[0], 'proposal-id');
312
+ const msg = {
313
+ typeUrl: '/cosmos.group.v1.MsgExec',
314
+ value: MsgExec.fromPartial({
315
+ proposalId,
316
+ executor: senderAddress,
317
+ }),
318
+ };
319
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
320
+ return buildTxResult('group', 'exec', result, waitForConfirmation);
321
+ }
322
+ case 'leave-group': {
323
+ requireArgs(args, 1, ['group-id'], 'group leave-group');
324
+ const groupId = parseBigInt(args[0], 'group-id');
325
+ const msg = {
326
+ typeUrl: '/cosmos.group.v1.MsgLeaveGroup',
327
+ value: MsgLeaveGroup.fromPartial({
328
+ address: senderAddress,
329
+ groupId,
330
+ }),
331
+ };
332
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
333
+ return buildTxResult('group', 'leave-group', result, waitForConfirmation);
334
+ }
335
+ default:
336
+ throwUnsupportedSubcommand('tx', 'group', subcommand);
337
+ }
338
+ }
339
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/transactions/group.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export { routeDistributionTransaction } from './distribution.js';
5
5
  export { routeGovTransaction } from './gov.js';
6
6
  export { routeBillingTransaction } from './billing.js';
7
7
  export { routeManifestTransaction } from './manifest.js';
8
+ export { routeGroupTransaction } from './group.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -5,4 +5,5 @@ export { routeDistributionTransaction } from './distribution.js';
5
5
  export { routeGovTransaction } from './gov.js';
6
6
  export { routeBillingTransaction } from './billing.js';
7
7
  export { routeManifestTransaction } from './manifest.js';
8
+ export { routeGroupTransaction } from './group.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -23,6 +23,24 @@ export interface ExtractedFlag {
23
23
  * @param context - Description for error messages (e.g., 'bank send')
24
24
  */
25
25
  export declare function extractFlag(args: string[], flagName: string, context: string): ExtractedFlag;
26
+ /**
27
+ * Result from extracting a boolean (valueless) flag from args
28
+ */
29
+ export interface ExtractedBooleanFlag {
30
+ /** Whether the flag was present */
31
+ value: boolean;
32
+ /** Args with the flag removed */
33
+ remainingArgs: string[];
34
+ }
35
+ /**
36
+ * Extract a valueless boolean flag from args array.
37
+ * Returns { value: true, remainingArgs } if flag is present, { value: false, remainingArgs: args } otherwise.
38
+ *
39
+ * @param args - The arguments array to search
40
+ * @param flagName - The flag to look for (e.g., '--active-only')
41
+ * @returns Object with boolean value and filtered args
42
+ */
43
+ export declare function extractBooleanFlag(args: string[], flagName: string): ExtractedBooleanFlag;
26
44
  /**
27
45
  * Filter args to remove consumed flag indices
28
46
  */
@@ -89,6 +107,24 @@ export declare function parseBigIntWithCode(value: string, fieldName: string, er
89
107
  * Safely parse a string to BigInt with proper error handling (for transactions)
90
108
  */
91
109
  export declare function parseBigInt(value: string, fieldName: string): bigint;
110
+ /**
111
+ * Interface for VoteOption-like enums from cosmos protobuf modules.
112
+ * Both cosmos.gov.v1.VoteOption and cosmos.group.v1.VoteOption share this shape.
113
+ */
114
+ interface VoteOptionEnum {
115
+ VOTE_OPTION_YES: number;
116
+ VOTE_OPTION_ABSTAIN: number;
117
+ VOTE_OPTION_NO: number;
118
+ VOTE_OPTION_NO_WITH_VETO: number;
119
+ }
120
+ /**
121
+ * Parse a vote option string to its numeric enum value.
122
+ * Accepts case-insensitive strings or numeric identifiers.
123
+ *
124
+ * @param optionStr - Vote option string (yes, no, abstain, no_with_veto, or 1-4)
125
+ * @param voteOptionEnum - The VoteOption enum object from the relevant cosmos module
126
+ */
127
+ export declare function parseVoteOption(optionStr: string, voteOptionEnum: VoteOptionEnum): number;
92
128
  /**
93
129
  * Parse amount string into coin (e.g., "1000umfx" -> { amount: "1000", denom: "umfx" })
94
130
  * Supports simple denoms (umfx), IBC denoms (ibc/...), and factory denoms (factory/creator/subdenom)
@@ -101,4 +137,5 @@ export declare function parseAmount(amountStr: string): {
101
137
  * Build transaction result from DeliverTxResponse
102
138
  */
103
139
  export declare function buildTxResult(module: string, subcommand: string, result: Awaited<ReturnType<SigningStargateClient['signAndBroadcast']>>, waitForConfirmation: boolean): CosmosTxResult;
140
+ export {};
104
141
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/transactions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAoB,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,MAAM,CAAC;AAE5B,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,iEAAiE;IACjE,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,aAAa,CAef;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAMtF;AAED,+CAA+C;AAC/C,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBlB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAOxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,oBAAqD,GAC/D,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAyBjG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,oBAAqD,GAC/D,UAAU,CAmCZ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,oBAAoB,GAC9B,MAAM,CAiBR;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAyBhF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACtE,mBAAmB,EAAE,OAAO,GAC3B,cAAc,CAmBhB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/transactions/utils.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,22 @@ export function extractFlag(args, flagName, context) {
24
24
  }
25
25
  return { value, consumedIndices: [flagIndex, flagIndex + 1] };
26
26
  }
27
+ /**
28
+ * Extract a valueless boolean flag from args array.
29
+ * Returns { value: true, remainingArgs } if flag is present, { value: false, remainingArgs: args } otherwise.
30
+ *
31
+ * @param args - The arguments array to search
32
+ * @param flagName - The flag to look for (e.g., '--active-only')
33
+ * @returns Object with boolean value and filtered args
34
+ */
35
+ export function extractBooleanFlag(args, flagName) {
36
+ const flagIndex = args.indexOf(flagName);
37
+ if (flagIndex === -1) {
38
+ return { value: false, remainingArgs: args };
39
+ }
40
+ const remainingArgs = args.filter((_, index) => index !== flagIndex);
41
+ return { value: true, remainingArgs };
42
+ }
27
43
  /**
28
44
  * Filter args to remove consumed flag indices
29
45
  */
@@ -182,6 +198,33 @@ export function parseBigIntWithCode(value, fieldName, errorCode) {
182
198
  export function parseBigInt(value, fieldName) {
183
199
  return parseBigIntWithCode(value, fieldName, ManifestMCPErrorCode.TX_FAILED);
184
200
  }
201
+ /**
202
+ * Parse a vote option string to its numeric enum value.
203
+ * Accepts case-insensitive strings or numeric identifiers.
204
+ *
205
+ * @param optionStr - Vote option string (yes, no, abstain, no_with_veto, or 1-4)
206
+ * @param voteOptionEnum - The VoteOption enum object from the relevant cosmos module
207
+ */
208
+ export function parseVoteOption(optionStr, voteOptionEnum) {
209
+ const option = optionStr.toLowerCase();
210
+ switch (option) {
211
+ case 'yes':
212
+ case '1':
213
+ return voteOptionEnum.VOTE_OPTION_YES;
214
+ case 'abstain':
215
+ case '2':
216
+ return voteOptionEnum.VOTE_OPTION_ABSTAIN;
217
+ case 'no':
218
+ case '3':
219
+ return voteOptionEnum.VOTE_OPTION_NO;
220
+ case 'no_with_veto':
221
+ case 'nowithveto':
222
+ case '4':
223
+ return voteOptionEnum.VOTE_OPTION_NO_WITH_VETO;
224
+ default:
225
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid vote option: ${optionStr}. Expected: yes, no, abstain, or no_with_veto`);
226
+ }
227
+ }
185
228
  /**
186
229
  * Parse amount string into coin (e.g., "1000umfx" -> { amount: "1000", denom: "umfx" })
187
230
  * Supports simple denoms (umfx), IBC denoms (ibc/...), and factory denoms (factory/creator/subdenom)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/transactions/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/transactions/utils.ts"],"names":[],"mappings":"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"}