@manifest-network/manifest-mcp-browser 0.1.1 → 0.1.5

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 (121) hide show
  1. package/.github/workflows/publish.yml +4 -2
  2. package/CLAUDE.md +7 -3
  3. package/README.md +1 -1
  4. package/dist/client.d.ts +6 -1
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +77 -21
  7. package/dist/client.js.map +1 -1
  8. package/dist/cosmos.d.ts.map +1 -1
  9. package/dist/cosmos.js +7 -57
  10. package/dist/cosmos.js.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +16 -25
  13. package/dist/index.js.map +1 -1
  14. package/dist/modules.d.ts +30 -1
  15. package/dist/modules.d.ts.map +1 -1
  16. package/dist/modules.js +65 -1
  17. package/dist/modules.js.map +1 -1
  18. package/dist/modules.test.js +58 -1
  19. package/dist/modules.test.js.map +1 -1
  20. package/dist/queries/auth.d.ts +7 -1
  21. package/dist/queries/auth.d.ts.map +1 -1
  22. package/dist/queries/auth.js +18 -45
  23. package/dist/queries/auth.js.map +1 -1
  24. package/dist/queries/bank.d.ts +7 -1
  25. package/dist/queries/bank.d.ts.map +1 -1
  26. package/dist/queries/bank.js +24 -38
  27. package/dist/queries/bank.js.map +1 -1
  28. package/dist/queries/billing.d.ts +7 -1
  29. package/dist/queries/billing.d.ts.map +1 -1
  30. package/dist/queries/billing.js +28 -54
  31. package/dist/queries/billing.js.map +1 -1
  32. package/dist/queries/distribution.d.ts +7 -1
  33. package/dist/queries/distribution.d.ts.map +1 -1
  34. package/dist/queries/distribution.js +18 -36
  35. package/dist/queries/distribution.js.map +1 -1
  36. package/dist/queries/gov.d.ts +7 -1
  37. package/dist/queries/gov.d.ts.map +1 -1
  38. package/dist/queries/gov.js +24 -41
  39. package/dist/queries/gov.js.map +1 -1
  40. package/dist/queries/index.d.ts +2 -1
  41. package/dist/queries/index.d.ts.map +1 -1
  42. package/dist/queries/index.js +1 -1
  43. package/dist/queries/index.js.map +1 -1
  44. package/dist/queries/staking.d.ts +7 -1
  45. package/dist/queries/staking.d.ts.map +1 -1
  46. package/dist/queries/staking.js +36 -59
  47. package/dist/queries/staking.js.map +1 -1
  48. package/dist/queries/utils.d.ts +42 -10
  49. package/dist/queries/utils.d.ts.map +1 -1
  50. package/dist/queries/utils.js +64 -12
  51. package/dist/queries/utils.js.map +1 -1
  52. package/dist/queries/utils.test.js +68 -8
  53. package/dist/queries/utils.test.js.map +1 -1
  54. package/dist/transactions/bank.d.ts +2 -2
  55. package/dist/transactions/bank.d.ts.map +1 -1
  56. package/dist/transactions/bank.js +9 -18
  57. package/dist/transactions/bank.js.map +1 -1
  58. package/dist/transactions/billing.d.ts +2 -2
  59. package/dist/transactions/billing.d.ts.map +1 -1
  60. package/dist/transactions/billing.js +29 -86
  61. package/dist/transactions/billing.js.map +1 -1
  62. package/dist/transactions/distribution.d.ts +2 -2
  63. package/dist/transactions/distribution.d.ts.map +1 -1
  64. package/dist/transactions/distribution.js +7 -13
  65. package/dist/transactions/distribution.js.map +1 -1
  66. package/dist/transactions/gov.d.ts +2 -2
  67. package/dist/transactions/gov.d.ts.map +1 -1
  68. package/dist/transactions/gov.js +29 -20
  69. package/dist/transactions/gov.js.map +1 -1
  70. package/dist/transactions/index.d.ts +1 -1
  71. package/dist/transactions/index.d.ts.map +1 -1
  72. package/dist/transactions/index.js +1 -1
  73. package/dist/transactions/index.js.map +1 -1
  74. package/dist/transactions/manifest.d.ts +2 -2
  75. package/dist/transactions/manifest.d.ts.map +1 -1
  76. package/dist/transactions/manifest.js +7 -14
  77. package/dist/transactions/manifest.js.map +1 -1
  78. package/dist/transactions/staking.d.ts +2 -2
  79. package/dist/transactions/staking.d.ts.map +1 -1
  80. package/dist/transactions/staking.js +7 -13
  81. package/dist/transactions/staking.js.map +1 -1
  82. package/dist/transactions/utils.d.ts +63 -1
  83. package/dist/transactions/utils.d.ts.map +1 -1
  84. package/dist/transactions/utils.js +121 -2
  85. package/dist/transactions/utils.js.map +1 -1
  86. package/dist/transactions/utils.test.js +351 -1
  87. package/dist/transactions/utils.test.js.map +1 -1
  88. package/dist/types.d.ts +203 -8
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js.map +1 -1
  91. package/dist/wallet/mnemonic.d.ts +1 -0
  92. package/dist/wallet/mnemonic.d.ts.map +1 -1
  93. package/dist/wallet/mnemonic.js +34 -13
  94. package/dist/wallet/mnemonic.js.map +1 -1
  95. package/package.json +5 -1
  96. package/src/client.ts +84 -21
  97. package/src/cosmos.ts +13 -109
  98. package/src/index.ts +17 -23
  99. package/src/modules.test.ts +60 -0
  100. package/src/modules.ts +122 -5
  101. package/src/queries/auth.ts +35 -74
  102. package/src/queries/bank.ts +40 -58
  103. package/src/queries/billing.ts +46 -86
  104. package/src/queries/distribution.ts +35 -59
  105. package/src/queries/gov.ts +40 -64
  106. package/src/queries/index.ts +10 -1
  107. package/src/queries/staking.ts +55 -91
  108. package/src/queries/utils.test.ts +103 -8
  109. package/src/queries/utils.ts +92 -12
  110. package/src/transactions/bank.ts +9 -33
  111. package/src/transactions/billing.ts +30 -137
  112. package/src/transactions/distribution.ts +7 -29
  113. package/src/transactions/gov.ts +33 -37
  114. package/src/transactions/index.ts +1 -1
  115. package/src/transactions/manifest.ts +7 -29
  116. package/src/transactions/staking.ts +7 -29
  117. package/src/transactions/utils.test.ts +390 -1
  118. package/src/transactions/utils.ts +191 -2
  119. package/src/types.ts +318 -9
  120. package/src/wallet/mnemonic.ts +41 -17
  121. package/.claude/settings.local.json +0 -20
@@ -1,43 +1,18 @@
1
- import { fromHex } from '@cosmjs/encoding';
2
1
  import { liftedinit } from '@manifest-network/manifestjs';
3
2
  import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
4
- import { parseAmount, buildTxResult, parseBigInt, validateAddress, validateArgsLength } from './utils.js';
5
- import { getSubcommandUsage } from '../modules.js';
3
+ import { parseAmount, buildTxResult, parseBigInt, validateAddress, validateArgsLength, extractFlag, filterConsumedArgs, parseColonPair, requireArgs, parseHexBytes } from './utils.js';
4
+ import { getSubcommandUsage, throwUnsupportedSubcommand } from '../modules.js';
6
5
  const { MsgFundCredit, MsgCreateLease, MsgCloseLease, MsgWithdraw } = liftedinit.billing.v1;
7
6
  /** Maximum meta hash length in bytes (64 bytes for SHA-512) */
8
7
  const MAX_META_HASH_BYTES = 64;
9
- /**
10
- * Validate and parse a hex string into Uint8Array
11
- * Uses @cosmjs/encoding for hex validation and conversion
12
- */
13
- function parseMetaHash(hexString) {
14
- // Check even length first to avoid fractional byte counts in error messages
15
- if (hexString.length % 2 !== 0) {
16
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid meta-hash: hex string must have even length. Got ${hexString.length} characters.`);
17
- }
18
- // Check max length (64 bytes = 128 hex chars)
19
- const byteLength = hexString.length / 2;
20
- if (byteLength > MAX_META_HASH_BYTES) {
21
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid meta-hash: exceeds maximum ${MAX_META_HASH_BYTES} bytes. Got ${byteLength} bytes (${hexString.length} hex chars).`);
22
- }
23
- try {
24
- return fromHex(hexString);
25
- }
26
- catch (error) {
27
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid meta-hash: ${error instanceof Error ? error.message : String(error)}`);
28
- }
29
- }
30
8
  /**
31
9
  * Route billing transaction to appropriate handler
32
10
  */
33
- export async function routeBillingTransaction(client, senderAddress, subcommand, args, _config, waitForConfirmation) {
11
+ export async function routeBillingTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
34
12
  validateArgsLength(args, 'billing transaction');
35
13
  switch (subcommand) {
36
14
  case 'fund-credit': {
37
- if (args.length < 2) {
38
- const usage = getSubcommandUsage('tx', 'billing', 'fund-credit');
39
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `fund-credit requires tenant-address and amount arguments. Received ${args.length} argument(s): [${args.map(a => `"${a}"`).join(', ')}]. Usage: fund-credit ${usage || '<tenant-address> <amount>'}`, { receivedArgs: args, expectedArgs: ['tenant-address', 'amount'], usage });
40
- }
15
+ requireArgs(args, 2, ['tenant-address', 'amount'], 'billing fund-credit');
41
16
  const [tenant, amountStr] = args;
42
17
  validateAddress(tenant, 'tenant address');
43
18
  const { amount, denom } = parseAmount(amountStr);
@@ -53,29 +28,15 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
53
28
  return buildTxResult('billing', 'fund-credit', result, waitForConfirmation);
54
29
  }
55
30
  case 'create-lease': {
56
- // Parse optional --meta-hash flag
57
- let metaHash;
58
- let itemArgs = args;
59
- if (args[0] === '--meta-hash') {
60
- if (args.length < 2 || args[1].startsWith('--')) {
61
- const usage = getSubcommandUsage('tx', 'billing', 'create-lease');
62
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `--meta-hash flag requires a hex value. Usage: create-lease ${usage ?? '<args>'}`);
63
- }
64
- const hexHash = args[1];
65
- // Validate and convert hex string to Uint8Array (max 64 bytes)
66
- metaHash = parseMetaHash(hexHash);
67
- itemArgs = args.slice(2);
68
- }
69
- if (itemArgs.length < 1) {
70
- const usage = getSubcommandUsage('tx', 'billing', 'create-lease');
71
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `create-lease requires at least one sku-uuid:quantity pair. Usage: create-lease ${usage ?? '<args>'}`, { usage });
72
- }
31
+ // Parse optional --meta-hash flag (can appear anywhere in args)
32
+ const { value: metaHashHex, consumedIndices } = extractFlag(args, '--meta-hash', 'billing create-lease');
33
+ const metaHash = metaHashHex ? parseHexBytes(metaHashHex, 'meta-hash', MAX_META_HASH_BYTES) : undefined;
34
+ // Filter out --meta-hash and its value to get item args
35
+ const itemArgs = filterConsumedArgs(args, consumedIndices);
36
+ requireArgs(itemArgs, 1, ['sku-uuid:quantity'], 'billing create-lease');
73
37
  // Parse items (format: sku-uuid:quantity ...)
74
38
  const items = itemArgs.map((arg) => {
75
- const [skuUuid, quantityStr] = arg.split(':');
76
- if (!skuUuid || !quantityStr) {
77
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid lease item format: ${arg}. Expected format: sku-uuid:quantity`);
78
- }
39
+ const [skuUuid, quantityStr] = parseColonPair(arg, 'sku-uuid', 'quantity', 'lease item');
79
40
  return { skuUuid, quantity: parseBigInt(quantityStr, 'quantity') };
80
41
  });
81
42
  const msg = {
@@ -90,58 +51,44 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
90
51
  return buildTxResult('billing', 'create-lease', result, waitForConfirmation);
91
52
  }
92
53
  case 'close-lease': {
93
- if (args.length < 1) {
94
- const usage = getSubcommandUsage('tx', 'billing', 'close-lease');
95
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `close-lease requires at least one lease-uuid argument. Usage: close-lease ${usage || '<lease-uuid>...'}`, { usage });
96
- }
54
+ // Parse optional --reason flag
55
+ const { value: reason, consumedIndices } = extractFlag(args, '--reason', 'billing close-lease');
56
+ const leaseArgs = filterConsumedArgs(args, consumedIndices);
57
+ requireArgs(leaseArgs, 1, ['lease-uuid'], 'billing close-lease');
97
58
  // MsgCloseLease can close multiple leases at once
98
- const leaseUuids = args;
99
- const reason = ''; // Optional reason, could be added as a flag later
59
+ const leaseUuids = leaseArgs;
100
60
  const msg = {
101
61
  typeUrl: '/liftedinit.billing.v1.MsgCloseLease',
102
62
  value: MsgCloseLease.fromPartial({
103
63
  sender: senderAddress,
104
64
  leaseUuids,
105
- reason,
65
+ reason: reason ?? '',
106
66
  }),
107
67
  };
108
68
  const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
109
69
  return buildTxResult('billing', 'close-lease', result, waitForConfirmation);
110
70
  }
111
71
  case 'withdraw': {
112
- if (args.length < 1) {
113
- const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
114
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `withdraw requires at least one lease-uuid argument or provider-uuid with --provider flag. Usage: withdraw ${usage ?? '<args>'}`, { usage });
115
- }
116
- // Check if using provider-wide withdrawal
117
- const providerFlagIndex = args.indexOf('--provider');
118
- const limitFlagIndex = args.indexOf('--limit');
72
+ requireArgs(args, 1, ['lease-uuid or --provider'], 'billing withdraw');
73
+ // Extract flags
74
+ const providerFlag = extractFlag(args, '--provider', 'billing withdraw');
75
+ const limitFlag = extractFlag(args, '--limit', 'billing withdraw');
119
76
  let leaseUuids = [];
120
77
  let providerUuid = '';
121
78
  let limit = BigInt(0); // 0 means use default (50)
122
- if (providerFlagIndex !== -1) {
79
+ if (providerFlag.value) {
123
80
  // Provider-wide withdrawal mode
124
- providerUuid = args[providerFlagIndex + 1] || '';
125
- if (!providerUuid || providerUuid.startsWith('--')) {
126
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'withdraw with --provider flag requires provider-uuid argument');
127
- }
128
- // Track consumed arg indices to detect extra arguments
129
- const consumedIndices = new Set([providerFlagIndex, providerFlagIndex + 1]);
81
+ providerUuid = providerFlag.value;
130
82
  // Parse optional --limit flag (only valid with --provider)
131
- if (limitFlagIndex !== -1) {
132
- const limitStr = args[limitFlagIndex + 1] || '';
133
- if (!limitStr || limitStr.startsWith('--')) {
134
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'withdraw with --limit flag requires a number argument (1-100)');
135
- }
136
- limit = parseBigInt(limitStr, 'limit');
83
+ if (limitFlag.value) {
84
+ limit = parseBigInt(limitFlag.value, 'limit');
137
85
  if (limit < BigInt(1) || limit > BigInt(100)) {
138
86
  throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid limit: ${limit}. Must be between 1 and 100.`);
139
87
  }
140
- consumedIndices.add(limitFlagIndex);
141
- consumedIndices.add(limitFlagIndex + 1);
142
88
  }
143
89
  // Check for any extra arguments that weren't consumed
144
- const extraArgs = args.filter((_, index) => !consumedIndices.has(index));
90
+ const allConsumed = [...providerFlag.consumedIndices, ...limitFlag.consumedIndices];
91
+ const extraArgs = filterConsumedArgs(args, allConsumed);
145
92
  if (extraArgs.length > 0) {
146
93
  const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
147
94
  throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Provider-wide withdrawal does not accept additional arguments. ` +
@@ -151,7 +98,7 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
151
98
  }
152
99
  else {
153
100
  // Lease-specific withdrawal mode
154
- // Check for unexpected flags
101
+ // Check for unexpected flags (--limit without --provider is invalid)
155
102
  const unexpectedFlags = args.filter(arg => arg.startsWith('--'));
156
103
  if (unexpectedFlags.length > 0) {
157
104
  const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
@@ -159,10 +106,6 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
159
106
  `Use --provider for provider-wide withdrawal. Usage: withdraw ${usage ?? '<args>'}`);
160
107
  }
161
108
  leaseUuids = args;
162
- if (leaseUuids.length === 0) {
163
- const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
164
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `withdraw requires at least one lease-uuid. Usage: withdraw ${usage ?? '<args>'}`);
165
- }
166
109
  }
167
110
  const msg = {
168
111
  typeUrl: '/liftedinit.billing.v1.MsgWithdraw',
@@ -177,7 +120,7 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
177
120
  return buildTxResult('billing', 'withdraw', result, waitForConfirmation);
178
121
  }
179
122
  default:
180
- throw new ManifestMCPError(ManifestMCPErrorCode.UNSUPPORTED_TX, `Unsupported billing transaction subcommand: ${subcommand}`, { availableSubcommands: ['fund-credit', 'create-lease', 'close-lease', 'withdraw'] });
123
+ throwUnsupportedSubcommand('tx', 'billing', subcommand);
181
124
  }
182
125
  }
183
126
  //# sourceMappingURL=billing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/transactions/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/transactions/billing.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { SigningStargateClient } from '@cosmjs/stargate';
2
- import { CosmosTxResult, ManifestMCPConfig } from '../types.js';
2
+ import { CosmosTxResult } from '../types.js';
3
3
  /**
4
4
  * Route distribution transaction to appropriate handler
5
5
  */
6
- export declare function routeDistributionTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], _config: ManifestMCPConfig, waitForConfirmation: boolean): Promise<CosmosTxResult>;
6
+ export declare function routeDistributionTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
7
7
  //# sourceMappingURL=distribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/transactions/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA0C,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKxG;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,iBAAiB,EAC1B,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CAgFzB"}
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/transactions/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CA0DzB"}
@@ -1,17 +1,15 @@
1
1
  import { cosmos } from '@manifest-network/manifestjs';
2
- import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
3
- import { parseAmount, buildTxResult, validateAddress, validateArgsLength } from './utils.js';
2
+ import { throwUnsupportedSubcommand } from '../modules.js';
3
+ import { parseAmount, buildTxResult, validateAddress, validateArgsLength, requireArgs } from './utils.js';
4
4
  const { MsgWithdrawDelegatorReward, MsgSetWithdrawAddress, MsgFundCommunityPool } = cosmos.distribution.v1beta1;
5
5
  /**
6
6
  * Route distribution transaction to appropriate handler
7
7
  */
8
- export async function routeDistributionTransaction(client, senderAddress, subcommand, args, _config, waitForConfirmation) {
8
+ export async function routeDistributionTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
9
9
  validateArgsLength(args, 'distribution transaction');
10
10
  switch (subcommand) {
11
11
  case 'withdraw-rewards': {
12
- if (args.length < 1) {
13
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'withdraw-rewards requires validator-address argument');
14
- }
12
+ requireArgs(args, 1, ['validator-address'], 'distribution withdraw-rewards');
15
13
  const [validatorAddress] = args;
16
14
  validateAddress(validatorAddress, 'validator address');
17
15
  const msg = {
@@ -25,9 +23,7 @@ export async function routeDistributionTransaction(client, senderAddress, subcom
25
23
  return buildTxResult('distribution', 'withdraw-rewards', result, waitForConfirmation);
26
24
  }
27
25
  case 'set-withdraw-addr': {
28
- if (args.length < 1) {
29
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'set-withdraw-addr requires withdraw-address argument');
30
- }
26
+ requireArgs(args, 1, ['withdraw-address'], 'distribution set-withdraw-addr');
31
27
  const [withdrawAddress] = args;
32
28
  validateAddress(withdrawAddress, 'withdraw address');
33
29
  const msg = {
@@ -41,9 +37,7 @@ export async function routeDistributionTransaction(client, senderAddress, subcom
41
37
  return buildTxResult('distribution', 'set-withdraw-addr', result, waitForConfirmation);
42
38
  }
43
39
  case 'fund-community-pool': {
44
- if (args.length < 1) {
45
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'fund-community-pool requires amount argument');
46
- }
40
+ requireArgs(args, 1, ['amount'], 'distribution fund-community-pool');
47
41
  const [amountStr] = args;
48
42
  const { amount, denom } = parseAmount(amountStr);
49
43
  const msg = {
@@ -57,7 +51,7 @@ export async function routeDistributionTransaction(client, senderAddress, subcom
57
51
  return buildTxResult('distribution', 'fund-community-pool', result, waitForConfirmation);
58
52
  }
59
53
  default:
60
- throw new ManifestMCPError(ManifestMCPErrorCode.UNSUPPORTED_TX, `Unsupported distribution transaction subcommand: ${subcommand}`, { availableSubcommands: ['withdraw-rewards', 'set-withdraw-addr', 'fund-community-pool'] });
54
+ throwUnsupportedSubcommand('tx', 'distribution', subcommand);
61
55
  }
62
56
  }
63
57
  //# sourceMappingURL=distribution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/transactions/distribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/transactions/distribution.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { SigningStargateClient } from '@cosmjs/stargate';
2
- import { CosmosTxResult, ManifestMCPConfig } from '../types.js';
2
+ import { CosmosTxResult } from '../types.js';
3
3
  /**
4
4
  * Route gov transaction to appropriate handler
5
5
  */
6
- export declare function routeGovTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], _config: ManifestMCPConfig, waitForConfirmation: boolean): Promise<CosmosTxResult>;
6
+ export declare function routeGovTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
7
7
  //# sourceMappingURL=gov.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gov.d.ts","sourceRoot":"","sources":["../../src/transactions/gov.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA0C,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA8DxG;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,iBAAiB,EAC1B,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CAwHzB"}
1
+ {"version":3,"file":"gov.d.ts","sourceRoot":"","sources":["../../src/transactions/gov.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA0C,cAAc,EAAE,MAAM,aAAa,CAAC;AAsFrF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CA6FzB"}
@@ -1,7 +1,27 @@
1
1
  import { cosmos } from '@manifest-network/manifestjs';
2
2
  import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
3
- import { parseAmount, buildTxResult, parseBigInt, validateArgsLength } from './utils.js';
3
+ import { throwUnsupportedSubcommand } from '../modules.js';
4
+ import { parseAmount, buildTxResult, parseBigInt, validateArgsLength, extractFlag, requireArgs } from './utils.js';
4
5
  const { MsgVote, MsgDeposit, MsgVoteWeighted, VoteOption } = cosmos.gov.v1;
6
+ /** 10^18 as BigInt for fixed-point math */
7
+ const FIXED18_ONE = BigInt('1000000000000000000');
8
+ /**
9
+ * Format a fixed-18 BigInt as a decimal string without precision loss.
10
+ * E.g., 500000000000000000n -> "0.5", 1000000000000000000n -> "1.0"
11
+ */
12
+ function formatFixed18(value) {
13
+ const isNegative = value < BigInt(0);
14
+ const absValue = isNegative ? -value : value;
15
+ const intPart = absValue / FIXED18_ONE;
16
+ const fracPart = absValue % FIXED18_ONE;
17
+ // Pad fraction to 18 digits, then trim trailing zeros
18
+ const fracStr = fracPart.toString().padStart(18, '0').replace(/0+$/, '');
19
+ const sign = isNegative ? '-' : '';
20
+ if (fracStr === '') {
21
+ return `${sign}${intPart}.0`;
22
+ }
23
+ return `${sign}${intPart}.${fracStr}`;
24
+ }
5
25
  /**
6
26
  * Parse a decimal weight string to an 18-decimal fixed-point string.
7
27
  * Uses string manipulation to avoid floating-point precision loss.
@@ -49,22 +69,16 @@ function parseVoteOption(optionStr) {
49
69
  /**
50
70
  * Route gov transaction to appropriate handler
51
71
  */
52
- export async function routeGovTransaction(client, senderAddress, subcommand, args, _config, waitForConfirmation) {
72
+ export async function routeGovTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
53
73
  validateArgsLength(args, 'gov transaction');
54
74
  switch (subcommand) {
55
75
  case 'vote': {
56
- if (args.length < 2) {
57
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'vote requires proposal-id and option arguments');
58
- }
76
+ requireArgs(args, 2, ['proposal-id', 'option'], 'gov vote');
59
77
  const [proposalIdStr, optionStr] = args;
60
78
  const proposalId = parseBigInt(proposalIdStr, 'proposal-id');
61
79
  const option = parseVoteOption(optionStr);
62
80
  // Extract optional metadata from args
63
- let metadata = '';
64
- const metadataIndex = args.indexOf('--metadata');
65
- if (metadataIndex !== -1 && args[metadataIndex + 1]) {
66
- metadata = args[metadataIndex + 1];
67
- }
81
+ const { value: metadata = '' } = extractFlag(args, '--metadata', 'gov vote');
68
82
  const msg = {
69
83
  typeUrl: '/cosmos.gov.v1.MsgVote',
70
84
  value: MsgVote.fromPartial({
@@ -78,9 +92,7 @@ export async function routeGovTransaction(client, senderAddress, subcommand, arg
78
92
  return buildTxResult('gov', 'vote', result, waitForConfirmation);
79
93
  }
80
94
  case 'weighted-vote': {
81
- if (args.length < 2) {
82
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'weighted-vote requires proposal-id and options arguments (format: yes=0.5,no=0.5)');
83
- }
95
+ requireArgs(args, 2, ['proposal-id', 'options'], 'gov weighted-vote');
84
96
  const [proposalIdStr, optionsStr] = args;
85
97
  const proposalId = parseBigInt(proposalIdStr, 'proposal-id');
86
98
  // Parse weighted options (format: yes=0.5,no=0.3,abstain=0.2)
@@ -97,9 +109,8 @@ export async function routeGovTransaction(client, senderAddress, subcommand, arg
97
109
  });
98
110
  // Validate that weights sum to exactly 1.0 (10^18 in fixed-point)
99
111
  const totalWeight = options.reduce((sum, opt) => sum + BigInt(opt.weight), BigInt(0));
100
- const oneInFixed18 = BigInt('1000000000000000000'); // 10^18
101
- if (totalWeight !== oneInFixed18) {
102
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Weighted vote options must sum to exactly 1.0. Got ${Number(totalWeight) / 1e18} (${options.map(o => o.weight).join(' + ')} = ${totalWeight})`);
112
+ if (totalWeight !== FIXED18_ONE) {
113
+ throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Weighted vote options must sum to exactly 1.0. Got ${formatFixed18(totalWeight)} (${options.map(o => o.weight).join(' + ')} = ${totalWeight})`);
103
114
  }
104
115
  const msg = {
105
116
  typeUrl: '/cosmos.gov.v1.MsgVoteWeighted',
@@ -114,9 +125,7 @@ export async function routeGovTransaction(client, senderAddress, subcommand, arg
114
125
  return buildTxResult('gov', 'weighted-vote', result, waitForConfirmation);
115
126
  }
116
127
  case 'deposit': {
117
- if (args.length < 2) {
118
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'deposit requires proposal-id and amount arguments');
119
- }
128
+ requireArgs(args, 2, ['proposal-id', 'amount'], 'gov deposit');
120
129
  const [proposalIdStr, amountStr] = args;
121
130
  const proposalId = parseBigInt(proposalIdStr, 'proposal-id');
122
131
  const { amount, denom } = parseAmount(amountStr);
@@ -132,7 +141,7 @@ export async function routeGovTransaction(client, senderAddress, subcommand, arg
132
141
  return buildTxResult('gov', 'deposit', result, waitForConfirmation);
133
142
  }
134
143
  default:
135
- throw new ManifestMCPError(ManifestMCPErrorCode.UNSUPPORTED_TX, `Unsupported gov transaction subcommand: ${subcommand}`, { availableSubcommands: ['vote', 'weighted-vote', 'deposit'] });
144
+ throwUnsupportedSubcommand('tx', 'gov', subcommand);
136
145
  }
137
146
  }
138
147
  //# sourceMappingURL=gov.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gov.js","sourceRoot":"","sources":["../../src/transactions/gov.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gov.js","sourceRoot":"","sources":["../../src/transactions/gov.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { parseAmount, buildTxResult, parseBigInt } from './utils.js';
1
+ export { parseAmount, buildTxResult, parseBigInt, parseHexBytes, bytesToHex } from './utils.js';
2
2
  export { routeBankTransaction } from './bank.js';
3
3
  export { routeStakingTransaction } from './staking.js';
4
4
  export { routeDistributionTransaction } from './distribution.js';
@@ -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,MAAM,YAAY,CAAC;AACrE,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"}
@@ -1,4 +1,4 @@
1
- export { parseAmount, buildTxResult, parseBigInt } from './utils.js';
1
+ export { parseAmount, buildTxResult, parseBigInt, parseHexBytes, bytesToHex } from './utils.js';
2
2
  export { routeBankTransaction } from './bank.js';
3
3
  export { routeStakingTransaction } from './staking.js';
4
4
  export { routeDistributionTransaction } from './distribution.js';
@@ -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,MAAM,YAAY,CAAC;AACrE,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"}
@@ -1,7 +1,7 @@
1
1
  import { SigningStargateClient } from '@cosmjs/stargate';
2
- import { CosmosTxResult, ManifestMCPConfig } from '../types.js';
2
+ import { CosmosTxResult } from '../types.js';
3
3
  /**
4
4
  * Route manifest transaction to appropriate handler
5
5
  */
6
- export declare function routeManifestTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], _config: ManifestMCPConfig, waitForConfirmation: boolean): Promise<CosmosTxResult>;
6
+ export declare function routeManifestTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
7
7
  //# sourceMappingURL=manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/transactions/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA0C,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKxG;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,iBAAiB,EAC1B,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CAuEzB"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/transactions/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CAiDzB"}
@@ -1,23 +1,18 @@
1
1
  import { liftedinit } from '@manifest-network/manifestjs';
2
- import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
3
- import { parseAmount, buildTxResult, validateAddress, validateArgsLength } from './utils.js';
2
+ import { throwUnsupportedSubcommand } from '../modules.js';
3
+ import { parseAmount, buildTxResult, validateAddress, validateArgsLength, parseColonPair, requireArgs } from './utils.js';
4
4
  const { MsgPayout, MsgBurnHeldBalance } = liftedinit.manifest.v1;
5
5
  /**
6
6
  * Route manifest transaction to appropriate handler
7
7
  */
8
- export async function routeManifestTransaction(client, senderAddress, subcommand, args, _config, waitForConfirmation) {
8
+ export async function routeManifestTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
9
9
  validateArgsLength(args, 'manifest transaction');
10
10
  switch (subcommand) {
11
11
  case 'payout': {
12
- if (args.length < 1) {
13
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'payout requires at least one address:amount pair');
14
- }
12
+ requireArgs(args, 1, ['address:amount'], 'manifest payout');
15
13
  // Parse payout pairs (format: address:amount ...)
16
14
  const payoutPairs = args.map((arg) => {
17
- const [address, amountStr] = arg.split(':');
18
- if (!address || !amountStr) {
19
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid payout pair format: ${arg}. Expected format: address:amount`);
20
- }
15
+ const [address, amountStr] = parseColonPair(arg, 'address', 'amount', 'payout pair');
21
16
  validateAddress(address, 'payout recipient address');
22
17
  const { amount, denom } = parseAmount(amountStr);
23
18
  return { address, coin: { denom, amount } };
@@ -33,9 +28,7 @@ export async function routeManifestTransaction(client, senderAddress, subcommand
33
28
  return buildTxResult('manifest', 'payout', result, waitForConfirmation);
34
29
  }
35
30
  case 'burn-held-balance': {
36
- if (args.length < 1) {
37
- throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'burn-held-balance requires at least one amount argument');
38
- }
31
+ requireArgs(args, 1, ['amount'], 'manifest burn-held-balance');
39
32
  // Parse coins to burn
40
33
  const burnCoins = args.map((amountStr) => {
41
34
  const { amount, denom } = parseAmount(amountStr);
@@ -52,7 +45,7 @@ export async function routeManifestTransaction(client, senderAddress, subcommand
52
45
  return buildTxResult('manifest', 'burn-held-balance', result, waitForConfirmation);
53
46
  }
54
47
  default:
55
- throw new ManifestMCPError(ManifestMCPErrorCode.UNSUPPORTED_TX, `Unsupported manifest transaction subcommand: ${subcommand}`, { availableSubcommands: ['payout', 'burn-held-balance'] });
48
+ throwUnsupportedSubcommand('tx', 'manifest', subcommand);
56
49
  }
57
50
  }
58
51
  //# sourceMappingURL=manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/transactions/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/transactions/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1H,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAA6B,EAC7B,aAAqB,EACrB,UAAkB,EAClB,IAAc,EACd,mBAA4B;IAE5B,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAEjD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAC5D,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACrF,eAAe,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;gBACrD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,mCAAmC;gBAC5C,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC;oBAC3B,SAAS,EAAE,aAAa;oBACxB,WAAW;iBACZ,CAAC;aACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAC/D,sBAAsB;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,4CAA4C;gBACrD,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC;oBACpC,SAAS,EAAE,aAAa;oBACxB,SAAS;iBACV,CAAC;aACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,aAAa,CAAC,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACrF,CAAC;QAED;YACE,0BAA0B,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { SigningStargateClient } from '@cosmjs/stargate';
2
- import { CosmosTxResult, ManifestMCPConfig } from '../types.js';
2
+ import { CosmosTxResult } from '../types.js';
3
3
  /**
4
4
  * Route staking transaction to appropriate handler
5
5
  */
6
- export declare function routeStakingTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], _config: ManifestMCPConfig, waitForConfirmation: boolean): Promise<CosmosTxResult>;
6
+ export declare function routeStakingTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
7
7
  //# sourceMappingURL=staking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/transactions/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA0C,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKxG;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,iBAAiB,EAC1B,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CAyFzB"}
1
+ {"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/transactions/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CAmEzB"}