@manifest-network/manifest-mcp-browser 0.1.0 → 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 (137) hide show
  1. package/.github/workflows/publish.yml +4 -2
  2. package/CLAUDE.md +9 -3
  3. package/README.md +6 -1
  4. package/dist/client.d.ts +13 -1
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +105 -9
  7. package/dist/client.js.map +1 -1
  8. package/dist/config.d.ts +4 -0
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +52 -7
  11. package/dist/config.js.map +1 -1
  12. package/dist/config.test.js +128 -0
  13. package/dist/config.test.js.map +1 -1
  14. package/dist/cosmos.d.ts.map +1 -1
  15. package/dist/cosmos.js +11 -57
  16. package/dist/cosmos.js.map +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +16 -25
  19. package/dist/index.js.map +1 -1
  20. package/dist/modules.d.ts +30 -1
  21. package/dist/modules.d.ts.map +1 -1
  22. package/dist/modules.js +67 -3
  23. package/dist/modules.js.map +1 -1
  24. package/dist/modules.test.js +58 -1
  25. package/dist/modules.test.js.map +1 -1
  26. package/dist/queries/auth.d.ts +7 -1
  27. package/dist/queries/auth.d.ts.map +1 -1
  28. package/dist/queries/auth.js +18 -45
  29. package/dist/queries/auth.js.map +1 -1
  30. package/dist/queries/bank.d.ts +7 -1
  31. package/dist/queries/bank.d.ts.map +1 -1
  32. package/dist/queries/bank.js +24 -38
  33. package/dist/queries/bank.js.map +1 -1
  34. package/dist/queries/billing.d.ts +7 -1
  35. package/dist/queries/billing.d.ts.map +1 -1
  36. package/dist/queries/billing.js +28 -54
  37. package/dist/queries/billing.js.map +1 -1
  38. package/dist/queries/distribution.d.ts +7 -1
  39. package/dist/queries/distribution.d.ts.map +1 -1
  40. package/dist/queries/distribution.js +18 -36
  41. package/dist/queries/distribution.js.map +1 -1
  42. package/dist/queries/gov.d.ts +7 -1
  43. package/dist/queries/gov.d.ts.map +1 -1
  44. package/dist/queries/gov.js +24 -41
  45. package/dist/queries/gov.js.map +1 -1
  46. package/dist/queries/index.d.ts +2 -1
  47. package/dist/queries/index.d.ts.map +1 -1
  48. package/dist/queries/index.js +1 -1
  49. package/dist/queries/index.js.map +1 -1
  50. package/dist/queries/staking.d.ts +7 -1
  51. package/dist/queries/staking.d.ts.map +1 -1
  52. package/dist/queries/staking.js +36 -59
  53. package/dist/queries/staking.js.map +1 -1
  54. package/dist/queries/utils.d.ts +42 -10
  55. package/dist/queries/utils.d.ts.map +1 -1
  56. package/dist/queries/utils.js +64 -12
  57. package/dist/queries/utils.js.map +1 -1
  58. package/dist/queries/utils.test.js +68 -8
  59. package/dist/queries/utils.test.js.map +1 -1
  60. package/dist/transactions/bank.d.ts +2 -2
  61. package/dist/transactions/bank.d.ts.map +1 -1
  62. package/dist/transactions/bank.js +9 -18
  63. package/dist/transactions/bank.js.map +1 -1
  64. package/dist/transactions/billing.d.ts +2 -2
  65. package/dist/transactions/billing.d.ts.map +1 -1
  66. package/dist/transactions/billing.js +52 -34
  67. package/dist/transactions/billing.js.map +1 -1
  68. package/dist/transactions/distribution.d.ts +2 -2
  69. package/dist/transactions/distribution.d.ts.map +1 -1
  70. package/dist/transactions/distribution.js +7 -13
  71. package/dist/transactions/distribution.js.map +1 -1
  72. package/dist/transactions/gov.d.ts +2 -2
  73. package/dist/transactions/gov.d.ts.map +1 -1
  74. package/dist/transactions/gov.js +32 -17
  75. package/dist/transactions/gov.js.map +1 -1
  76. package/dist/transactions/index.d.ts +1 -1
  77. package/dist/transactions/index.d.ts.map +1 -1
  78. package/dist/transactions/index.js +1 -1
  79. package/dist/transactions/index.js.map +1 -1
  80. package/dist/transactions/manifest.d.ts +2 -2
  81. package/dist/transactions/manifest.d.ts.map +1 -1
  82. package/dist/transactions/manifest.js +7 -14
  83. package/dist/transactions/manifest.js.map +1 -1
  84. package/dist/transactions/staking.d.ts +2 -2
  85. package/dist/transactions/staking.d.ts.map +1 -1
  86. package/dist/transactions/staking.js +7 -13
  87. package/dist/transactions/staking.js.map +1 -1
  88. package/dist/transactions/utils.d.ts +63 -1
  89. package/dist/transactions/utils.d.ts.map +1 -1
  90. package/dist/transactions/utils.js +121 -2
  91. package/dist/transactions/utils.js.map +1 -1
  92. package/dist/transactions/utils.test.js +351 -1
  93. package/dist/transactions/utils.test.js.map +1 -1
  94. package/dist/types.d.ts +212 -8
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/types.js.map +1 -1
  97. package/dist/wallet/mnemonic.d.ts +1 -0
  98. package/dist/wallet/mnemonic.d.ts.map +1 -1
  99. package/dist/wallet/mnemonic.js +34 -13
  100. package/dist/wallet/mnemonic.js.map +1 -1
  101. package/package.json +11 -6
  102. package/src/client.ts +119 -9
  103. package/src/config.test.ts +156 -0
  104. package/src/config.ts +59 -7
  105. package/src/cosmos.ts +19 -109
  106. package/src/index.ts +17 -23
  107. package/src/modules.test.ts +60 -0
  108. package/src/modules.ts +124 -7
  109. package/src/queries/auth.ts +35 -74
  110. package/src/queries/bank.ts +40 -58
  111. package/src/queries/billing.ts +46 -86
  112. package/src/queries/distribution.ts +35 -59
  113. package/src/queries/gov.ts +40 -64
  114. package/src/queries/index.ts +10 -1
  115. package/src/queries/staking.ts +55 -91
  116. package/src/queries/utils.test.ts +103 -8
  117. package/src/queries/utils.ts +92 -12
  118. package/src/transactions/bank.ts +9 -33
  119. package/src/transactions/billing.ts +64 -59
  120. package/src/transactions/distribution.ts +7 -29
  121. package/src/transactions/gov.ts +40 -34
  122. package/src/transactions/index.ts +1 -1
  123. package/src/transactions/manifest.ts +7 -29
  124. package/src/transactions/staking.ts +7 -29
  125. package/src/transactions/utils.test.ts +390 -1
  126. package/src/transactions/utils.ts +191 -2
  127. package/src/types.ts +328 -9
  128. package/src/wallet/mnemonic.ts +41 -17
  129. package/.claude/settings.local.json +0 -17
  130. package/dist/browser.d.ts.map +0 -1
  131. package/dist/browser.js.map +0 -1
  132. package/dist/queries/manifest.d.ts +0 -10
  133. package/dist/queries/manifest.d.ts.map +0 -1
  134. package/dist/queries/manifest.js +0 -14
  135. package/dist/queries/manifest.js.map +0 -1
  136. package/dist/wallet/keplr.d.ts.map +0 -1
  137. package/dist/wallet/keplr.js.map +0 -1
@@ -1,21 +1,26 @@
1
- import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
2
- import { defaultPagination } from './utils.js';
1
+ import { ManifestMCPErrorCode } from '../types.js';
2
+ import { requireArgs, extractPaginationArgs } from './utils.js';
3
+ import { parseHexBytes, bytesToHex } from '../transactions/utils.js';
4
+ import { throwUnsupportedSubcommand } from '../modules.js';
5
+ /** Maximum address bytes length (256 bytes, more than enough for any address) */
6
+ const MAX_ADDRESS_BYTES = 256;
3
7
  /**
4
8
  * Route auth query to manifestjs query client
9
+ *
10
+ * Paginated queries support --limit flag (default: 100, max: 1000)
5
11
  */
6
12
  export async function routeAuthQuery(queryClient, subcommand, args) {
7
13
  const auth = queryClient.cosmos.auth.v1beta1;
8
14
  switch (subcommand) {
9
15
  case 'account': {
10
- if (args.length < 1) {
11
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'account requires address argument');
12
- }
16
+ requireArgs(args, 1, ['address'], 'auth account');
13
17
  const [address] = args;
14
18
  const result = await auth.account({ address });
15
19
  return { account: result.account };
16
20
  }
17
21
  case 'accounts': {
18
- const result = await auth.accounts({ pagination: defaultPagination });
22
+ const { pagination } = extractPaginationArgs(args, 'auth accounts');
23
+ const result = await auth.accounts({ pagination });
19
24
  return { accounts: result.accounts, pagination: result.pagination };
20
25
  }
21
26
  case 'params': {
@@ -27,67 +32,35 @@ export async function routeAuthQuery(queryClient, subcommand, args) {
27
32
  return { accounts: result.accounts };
28
33
  }
29
34
  case 'module-account-by-name': {
30
- if (args.length < 1) {
31
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'module-account-by-name requires name argument');
32
- }
35
+ requireArgs(args, 1, ['name'], 'auth module-account-by-name');
33
36
  const [name] = args;
34
37
  const result = await auth.moduleAccountByName({ name });
35
38
  return { account: result.account };
36
39
  }
37
40
  case 'address-bytes-to-string': {
38
- if (args.length < 1) {
39
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'address-bytes-to-string requires address-bytes argument');
40
- }
41
- const hexString = args[0];
42
- // Validate hex format: must be valid hex characters with even length
43
- if (!/^[0-9a-fA-F]*$/.test(hexString)) {
44
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, `Invalid hex string: "${hexString}". Must contain only hexadecimal characters (0-9, a-f, A-F)`);
45
- }
46
- if (hexString.length % 2 !== 0) {
47
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, `Invalid hex string length: ${hexString.length}. Must have an even number of characters`);
48
- }
49
- // Limit size to prevent DoS (256 bytes = 512 hex chars, more than enough for any address)
50
- if (hexString.length > 512) {
51
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, `Hex string too long: ${hexString.length} characters. Maximum allowed: 512`);
52
- }
53
- const addressBytes = new Uint8Array(Buffer.from(hexString, 'hex'));
41
+ requireArgs(args, 1, ['address-bytes'], 'auth address-bytes-to-string');
42
+ const addressBytes = parseHexBytes(args[0], 'address-bytes', MAX_ADDRESS_BYTES, ManifestMCPErrorCode.QUERY_FAILED);
54
43
  const result = await auth.addressBytesToString({ addressBytes });
55
44
  return { addressString: result.addressString };
56
45
  }
57
46
  case 'address-string-to-bytes': {
58
- if (args.length < 1) {
59
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'address-string-to-bytes requires address-string argument');
60
- }
47
+ requireArgs(args, 1, ['address-string'], 'auth address-string-to-bytes');
61
48
  const [addressString] = args;
62
49
  const result = await auth.addressStringToBytes({ addressString });
63
- return { addressBytes: Buffer.from(result.addressBytes).toString('hex') };
50
+ return { addressBytes: bytesToHex(result.addressBytes) };
64
51
  }
65
52
  case 'bech32-prefix': {
66
53
  const result = await auth.bech32Prefix({});
67
54
  return { bech32Prefix: result.bech32Prefix };
68
55
  }
69
56
  case 'account-info': {
70
- if (args.length < 1) {
71
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'account-info requires address argument');
72
- }
57
+ requireArgs(args, 1, ['address'], 'auth account-info');
73
58
  const [address] = args;
74
59
  const result = await auth.accountInfo({ address });
75
60
  return { info: result.info };
76
61
  }
77
62
  default:
78
- throw new ManifestMCPError(ManifestMCPErrorCode.UNSUPPORTED_QUERY, `Unsupported auth query subcommand: ${subcommand}`, {
79
- availableSubcommands: [
80
- 'account',
81
- 'accounts',
82
- 'params',
83
- 'module-accounts',
84
- 'module-account-by-name',
85
- 'address-bytes-to-string',
86
- 'address-string-to-bytes',
87
- 'bech32-prefix',
88
- 'account-info',
89
- ],
90
- });
63
+ throwUnsupportedSubcommand('query', 'auth', subcommand);
91
64
  }
92
65
  }
93
66
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/queries/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAgC,EAChC,UAAkB,EAClB,IAAc;IAEd,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAE7C,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,YAAY,EACjC,mCAAmC,CACpC,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACtE,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,YAAY,EACjC,+CAA+C,CAChD,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;QAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,YAAY,EACjC,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,qEAAqE;YACrE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,YAAY,EACjC,wBAAwB,SAAS,6DAA6D,CAC/F,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,YAAY,EACjC,8BAA8B,SAAS,CAAC,MAAM,0CAA0C,CACzF,CAAC;YACJ,CAAC;YACD,0FAA0F;YAC1F,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBAC3B,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,YAAY,EACjC,wBAAwB,SAAS,CAAC,MAAM,mCAAmC,CAC5E,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;YACjE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,CAAC;QAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,YAAY,EACjC,0DAA0D,CAC3D,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5E,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/C,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,YAAY,EACjC,wCAAwC,CACzC,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED;YACE,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,CAAC,iBAAiB,EACtC,sCAAsC,UAAU,EAAE,EAClD;gBACE,oBAAoB,EAAE;oBACpB,SAAS;oBACT,UAAU;oBACV,QAAQ;oBACR,iBAAiB;oBACjB,wBAAwB;oBACxB,yBAAyB;oBACzB,yBAAyB;oBACzB,eAAe;oBACf,cAAc;iBACf;aACF,CACF,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/queries/auth.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import { ManifestQueryClient } from '../client.js';
2
+ import { BalanceResult, BalancesResult, TotalSupplyResult, SupplyOfResult, BankParamsResult, DenomMetadataResult, DenomsMetadataResult, SendEnabledResult } from '../types.js';
3
+ /** Bank query result union type */
4
+ type BankQueryResult = BalanceResult | BalancesResult | TotalSupplyResult | SupplyOfResult | BankParamsResult | DenomMetadataResult | DenomsMetadataResult | SendEnabledResult;
2
5
  /**
3
6
  * Route bank query to manifestjs query client
7
+ *
8
+ * Paginated queries support --limit flag (default: 100, max: 1000)
4
9
  */
5
- export declare function routeBankQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<Record<string, unknown>>;
10
+ export declare function routeBankQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<BankQueryResult>;
11
+ export {};
6
12
  //# sourceMappingURL=bank.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../../src/queries/bank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAyGlC"}
1
+ {"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../../src/queries/bank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAChE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAC/E,MAAM,aAAa,CAAC;AAIrB,mCAAmC;AACnC,KAAK,eAAe,GAChB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,mBAAmB,GACnB,oBAAoB,GACpB,iBAAiB,CAAC;AAEtB;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,eAAe,CAAC,CAsE1B"}
@@ -1,44 +1,41 @@
1
- import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
2
- import { defaultPagination } from './utils.js';
1
+ import { requireArgs, extractPaginationArgs } from './utils.js';
2
+ import { throwUnsupportedSubcommand } from '../modules.js';
3
3
  /**
4
4
  * Route bank query to manifestjs query client
5
+ *
6
+ * Paginated queries support --limit flag (default: 100, max: 1000)
5
7
  */
6
8
  export async function routeBankQuery(queryClient, subcommand, args) {
7
9
  const bank = queryClient.cosmos.bank.v1beta1;
8
10
  switch (subcommand) {
9
11
  case 'balance': {
10
- if (args.length < 2) {
11
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'balance requires address and denom arguments');
12
- }
12
+ requireArgs(args, 2, ['address', 'denom'], 'bank balance');
13
13
  const [address, denom] = args;
14
14
  const result = await bank.balance({ address, denom });
15
15
  return { balance: result.balance };
16
16
  }
17
17
  case 'balances': {
18
- if (args.length < 1) {
19
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'balances requires address argument');
20
- }
21
- const [address] = args;
22
- const result = await bank.allBalances({ address, resolveDenom: false, pagination: defaultPagination });
18
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'bank balances');
19
+ requireArgs(remainingArgs, 1, ['address'], 'bank balances');
20
+ const [address] = remainingArgs;
21
+ const result = await bank.allBalances({ address, resolveDenom: false, pagination });
23
22
  return { balances: result.balances, pagination: result.pagination };
24
23
  }
25
24
  case 'spendable-balances': {
26
- if (args.length < 1) {
27
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'spendable-balances requires address argument');
28
- }
29
- const [address] = args;
30
- const result = await bank.spendableBalances({ address, pagination: defaultPagination });
25
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'bank spendable-balances');
26
+ requireArgs(remainingArgs, 1, ['address'], 'bank spendable-balances');
27
+ const [address] = remainingArgs;
28
+ const result = await bank.spendableBalances({ address, pagination });
31
29
  return { balances: result.balances, pagination: result.pagination };
32
30
  }
33
31
  case 'total-supply':
34
32
  case 'total': {
35
- const result = await bank.totalSupply({ pagination: defaultPagination });
33
+ const { pagination } = extractPaginationArgs(args, 'bank total-supply');
34
+ const result = await bank.totalSupply({ pagination });
36
35
  return { supply: result.supply, pagination: result.pagination };
37
36
  }
38
37
  case 'supply-of': {
39
- if (args.length < 1) {
40
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'supply-of requires denom argument');
41
- }
38
+ requireArgs(args, 1, ['denom'], 'bank supply-of');
42
39
  const [denom] = args;
43
40
  const result = await bank.supplyOf({ denom });
44
41
  return { amount: result.amount };
@@ -48,36 +45,25 @@ export async function routeBankQuery(queryClient, subcommand, args) {
48
45
  return { params: result.params };
49
46
  }
50
47
  case 'denom-metadata': {
51
- if (args.length < 1) {
52
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'denom-metadata requires denom argument');
53
- }
48
+ requireArgs(args, 1, ['denom'], 'bank denom-metadata');
54
49
  const [denom] = args;
55
50
  const result = await bank.denomMetadata({ denom });
56
51
  return { metadata: result.metadata };
57
52
  }
58
53
  case 'denoms-metadata': {
59
- const result = await bank.denomsMetadata({ pagination: defaultPagination });
54
+ const { pagination } = extractPaginationArgs(args, 'bank denoms-metadata');
55
+ const result = await bank.denomsMetadata({ pagination });
60
56
  return { metadatas: result.metadatas, pagination: result.pagination };
61
57
  }
62
58
  case 'send-enabled': {
63
- const denoms = args.length > 0 ? args : [];
64
- const result = await bank.sendEnabled({ denoms, pagination: defaultPagination });
59
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'bank send-enabled');
60
+ // Optional: denoms can be empty to query all
61
+ const denoms = remainingArgs.length > 0 ? remainingArgs : [];
62
+ const result = await bank.sendEnabled({ denoms, pagination });
65
63
  return { sendEnabled: result.sendEnabled, pagination: result.pagination };
66
64
  }
67
65
  default:
68
- throw new ManifestMCPError(ManifestMCPErrorCode.UNSUPPORTED_QUERY, `Unsupported bank query subcommand: ${subcommand}`, {
69
- availableSubcommands: [
70
- 'balance',
71
- 'balances',
72
- 'spendable-balances',
73
- 'total-supply',
74
- 'supply-of',
75
- 'params',
76
- 'denom-metadata',
77
- 'denoms-metadata',
78
- 'send-enabled',
79
- ],
80
- });
66
+ throwUnsupportedSubcommand('query', 'bank', subcommand);
81
67
  }
82
68
  }
83
69
  //# sourceMappingURL=bank.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bank.js","sourceRoot":"","sources":["../../src/queries/bank.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bank.js","sourceRoot":"","sources":["../../src/queries/bank.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import { ManifestQueryClient } from '../client.js';
2
+ import { BillingParamsResult, LeaseResult, LeasesResult, CreditAccountResult, CreditAccountsResult, CreditAddressResult, WithdrawableAmountResult, ProviderWithdrawableResult, CreditEstimateResult } from '../types.js';
3
+ /** Billing query result union type */
4
+ type BillingQueryResult = BillingParamsResult | LeaseResult | LeasesResult | CreditAccountResult | CreditAccountsResult | CreditAddressResult | WithdrawableAmountResult | ProviderWithdrawableResult | CreditEstimateResult;
2
5
  /**
3
6
  * Route billing module query to manifestjs query client
7
+ *
8
+ * Paginated queries support --limit flag (default: 100, max: 1000)
4
9
  */
5
- export declare function routeBillingQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<Record<string, unknown>>;
10
+ export declare function routeBillingQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<BillingQueryResult>;
11
+ export {};
6
12
  //# sourceMappingURL=billing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/queries/billing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAwJlC"}
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/queries/billing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EACnE,oBAAoB,EAAE,mBAAmB,EAAE,wBAAwB,EACnE,0BAA0B,EAAE,oBAAoB,EACjD,MAAM,aAAa,CAAC;AAIrB,sCAAsC;AACtC,KAAK,kBAAkB,GACnB,mBAAmB,GACnB,WAAW,GACX,YAAY,GACZ,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,wBAAwB,GACxB,0BAA0B,GAC1B,oBAAoB,CAAC;AAEzB;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,kBAAkB,CAAC,CA6F7B"}
@@ -1,7 +1,9 @@
1
- import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
2
- import { parseBigInt, defaultPagination } from './utils.js';
1
+ import { parseBigInt, requireArgs, extractPaginationArgs } from './utils.js';
2
+ import { throwUnsupportedSubcommand } from '../modules.js';
3
3
  /**
4
4
  * Route billing module query to manifestjs query client
5
+ *
6
+ * Paginated queries support --limit flag (default: 100, max: 1000)
5
7
  */
6
8
  export async function routeBillingQuery(queryClient, subcommand, args) {
7
9
  const billing = queryClient.liftedinit.billing.v1;
@@ -11,105 +13,77 @@ export async function routeBillingQuery(queryClient, subcommand, args) {
11
13
  return { params: result.params };
12
14
  }
13
15
  case 'lease': {
14
- if (args.length < 1) {
15
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'lease requires lease-uuid argument');
16
- }
16
+ requireArgs(args, 1, ['lease-uuid'], 'billing lease');
17
17
  const [leaseUuid] = args;
18
18
  const result = await billing.lease({ leaseUuid });
19
19
  return { lease: result.lease };
20
20
  }
21
21
  case 'leases': {
22
+ const { pagination } = extractPaginationArgs(args, 'billing leases');
22
23
  // stateFilter: 0 = LEASE_STATE_UNSPECIFIED (returns all)
23
- const result = await billing.leases({ stateFilter: 0, pagination: defaultPagination });
24
+ const result = await billing.leases({ stateFilter: 0, pagination });
24
25
  return { leases: result.leases, pagination: result.pagination };
25
26
  }
26
27
  case 'leases-by-tenant': {
27
- if (args.length < 1) {
28
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'leases-by-tenant requires tenant-address argument');
29
- }
30
- const [tenant] = args;
31
- const result = await billing.leasesByTenant({ tenant, stateFilter: 0, pagination: defaultPagination });
28
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'billing leases-by-tenant');
29
+ requireArgs(remainingArgs, 1, ['tenant-address'], 'billing leases-by-tenant');
30
+ const [tenant] = remainingArgs;
31
+ const result = await billing.leasesByTenant({ tenant, stateFilter: 0, pagination });
32
32
  return { leases: result.leases, pagination: result.pagination };
33
33
  }
34
34
  case 'leases-by-provider': {
35
- if (args.length < 1) {
36
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'leases-by-provider requires provider-uuid argument');
37
- }
38
- const [providerUuid] = args;
39
- const result = await billing.leasesByProvider({ providerUuid, stateFilter: 0, pagination: defaultPagination });
35
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'billing leases-by-provider');
36
+ requireArgs(remainingArgs, 1, ['provider-uuid'], 'billing leases-by-provider');
37
+ const [providerUuid] = remainingArgs;
38
+ const result = await billing.leasesByProvider({ providerUuid, stateFilter: 0, pagination });
40
39
  return { leases: result.leases, pagination: result.pagination };
41
40
  }
42
41
  case 'leases-by-sku': {
43
- if (args.length < 1) {
44
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'leases-by-sku requires sku-uuid argument');
45
- }
46
- const [skuUuid] = args;
47
- const result = await billing.leasesBySKU({ skuUuid, stateFilter: 0, pagination: defaultPagination });
42
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'billing leases-by-sku');
43
+ requireArgs(remainingArgs, 1, ['sku-uuid'], 'billing leases-by-sku');
44
+ const [skuUuid] = remainingArgs;
45
+ const result = await billing.leasesBySKU({ skuUuid, stateFilter: 0, pagination });
48
46
  return { leases: result.leases, pagination: result.pagination };
49
47
  }
50
48
  case 'credit-account': {
51
- if (args.length < 1) {
52
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'credit-account requires tenant-address argument');
53
- }
49
+ requireArgs(args, 1, ['tenant-address'], 'billing credit-account');
54
50
  const [tenant] = args;
55
51
  const result = await billing.creditAccount({ tenant });
56
52
  return { creditAccount: result.creditAccount };
57
53
  }
58
54
  case 'credit-accounts': {
59
- const result = await billing.creditAccounts({ pagination: defaultPagination });
55
+ const { pagination } = extractPaginationArgs(args, 'billing credit-accounts');
56
+ const result = await billing.creditAccounts({ pagination });
60
57
  return { creditAccounts: result.creditAccounts, pagination: result.pagination };
61
58
  }
62
59
  case 'credit-address': {
63
- if (args.length < 1) {
64
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'credit-address requires tenant-address argument');
65
- }
60
+ requireArgs(args, 1, ['tenant-address'], 'billing credit-address');
66
61
  const [tenant] = args;
67
62
  const result = await billing.creditAddress({ tenant });
68
63
  return { creditAddress: result.creditAddress };
69
64
  }
70
65
  case 'withdrawable-amount': {
71
- if (args.length < 1) {
72
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'withdrawable-amount requires lease-uuid argument');
73
- }
66
+ requireArgs(args, 1, ['lease-uuid'], 'billing withdrawable-amount');
74
67
  const [leaseUuid] = args;
75
68
  const result = await billing.withdrawableAmount({ leaseUuid });
76
69
  return { amounts: result.amounts };
77
70
  }
78
71
  case 'provider-withdrawable': {
79
- if (args.length < 1) {
80
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'provider-withdrawable requires provider-uuid argument');
81
- }
72
+ requireArgs(args, 1, ['provider-uuid'], 'billing provider-withdrawable');
82
73
  const [providerUuid] = args;
83
- // limit: max leases to process (default 100, max 1000)
74
+ // Optional: limit for max leases to process (default 100, max 1000)
84
75
  const limit = args[1] ? parseBigInt(args[1], 'limit') : BigInt(100);
85
76
  const result = await billing.providerWithdrawable({ providerUuid, limit });
86
77
  return { amounts: result.amounts };
87
78
  }
88
79
  case 'credit-estimate': {
89
- if (args.length < 1) {
90
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'credit-estimate requires tenant-address argument');
91
- }
80
+ requireArgs(args, 1, ['tenant-address'], 'billing credit-estimate');
92
81
  const [tenant] = args;
93
82
  const result = await billing.creditEstimate({ tenant });
94
83
  return { estimate: result };
95
84
  }
96
85
  default:
97
- throw new ManifestMCPError(ManifestMCPErrorCode.UNSUPPORTED_QUERY, `Unsupported billing query subcommand: ${subcommand}`, {
98
- availableSubcommands: [
99
- 'params',
100
- 'lease',
101
- 'leases',
102
- 'leases-by-tenant',
103
- 'leases-by-provider',
104
- 'leases-by-sku',
105
- 'credit-account',
106
- 'credit-accounts',
107
- 'credit-address',
108
- 'withdrawable-amount',
109
- 'provider-withdrawable',
110
- 'credit-estimate',
111
- ],
112
- });
86
+ throwUnsupportedSubcommand('query', 'billing', subcommand);
113
87
  }
114
88
  }
115
89
  //# sourceMappingURL=billing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/queries/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/queries/billing.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import { ManifestQueryClient } from '../client.js';
2
+ import { RewardsResult, CommissionResult, CommunityPoolResult, DistributionParamsResult, ValidatorOutstandingRewardsResult, SlashesResult, DelegatorValidatorsResult, DelegatorWithdrawAddressResult } from '../types.js';
3
+ /** Distribution query result union type */
4
+ type DistributionQueryResult = RewardsResult | CommissionResult | CommunityPoolResult | DistributionParamsResult | ValidatorOutstandingRewardsResult | SlashesResult | DelegatorValidatorsResult | DelegatorWithdrawAddressResult;
2
5
  /**
3
6
  * Route distribution query to manifestjs query client
7
+ *
8
+ * Paginated queries support --limit flag (default: 100, max: 1000)
4
9
  */
5
- export declare function routeDistributionQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<Record<string, unknown>>;
10
+ export declare function routeDistributionQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<DistributionQueryResult>;
11
+ export {};
6
12
  //# sourceMappingURL=distribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/queries/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA8HlC"}
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/queries/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,wBAAwB,EAC9E,iCAAiC,EAAE,aAAa,EAAE,yBAAyB,EAC3E,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AAIrB,2CAA2C;AAC3C,KAAK,uBAAuB,GACxB,aAAa,GACb,gBAAgB,GAChB,mBAAmB,GACnB,wBAAwB,GACxB,iCAAiC,GACjC,aAAa,GACb,yBAAyB,GACzB,8BAA8B,CAAC;AAEnC;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,uBAAuB,CAAC,CAoFlC"}
@@ -1,16 +1,17 @@
1
- import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
2
- import { parseBigInt, defaultPagination } from './utils.js';
1
+ import { parseBigInt, requireArgs, extractPaginationArgs } from './utils.js';
2
+ import { throwUnsupportedSubcommand } from '../modules.js';
3
3
  /**
4
4
  * Route distribution query to manifestjs query client
5
+ *
6
+ * Paginated queries support --limit flag (default: 100, max: 1000)
5
7
  */
6
8
  export async function routeDistributionQuery(queryClient, subcommand, args) {
7
9
  const distribution = queryClient.cosmos.distribution.v1beta1;
8
10
  switch (subcommand) {
9
11
  case 'rewards': {
10
- if (args.length < 1) {
11
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'rewards requires delegator-address argument');
12
- }
12
+ requireArgs(args, 1, ['delegator-address'], 'distribution rewards');
13
13
  const [delegatorAddress] = args;
14
+ // Optional: validator address for specific validator rewards
14
15
  const validatorAddress = args[1];
15
16
  if (validatorAddress) {
16
17
  // Get rewards from specific validator
@@ -30,9 +31,7 @@ export async function routeDistributionQuery(queryClient, subcommand, args) {
30
31
  }
31
32
  }
32
33
  case 'commission': {
33
- if (args.length < 1) {
34
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'commission requires validator-address argument');
35
- }
34
+ requireArgs(args, 1, ['validator-address'], 'distribution commission');
36
35
  const [validatorAddress] = args;
37
36
  const result = await distribution.validatorCommission({ validatorAddress });
38
37
  return { commission: result.commission };
@@ -46,57 +45,40 @@ export async function routeDistributionQuery(queryClient, subcommand, args) {
46
45
  return { params: result.params };
47
46
  }
48
47
  case 'validator-outstanding-rewards': {
49
- if (args.length < 1) {
50
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'validator-outstanding-rewards requires validator-address argument');
51
- }
48
+ requireArgs(args, 1, ['validator-address'], 'distribution validator-outstanding-rewards');
52
49
  const [validatorAddress] = args;
53
50
  const result = await distribution.validatorOutstandingRewards({ validatorAddress });
54
51
  return { rewards: result.rewards };
55
52
  }
56
53
  case 'slashes': {
57
- if (args.length < 1) {
58
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'slashes requires validator-address argument');
59
- }
60
- const [validatorAddress] = args;
61
- const startingHeight = args[1] ? parseBigInt(args[1], 'starting-height') : BigInt(0);
62
- const endingHeight = args[2] ? parseBigInt(args[2], 'ending-height') : BigInt(Number.MAX_SAFE_INTEGER);
54
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'distribution slashes');
55
+ requireArgs(remainingArgs, 1, ['validator-address'], 'distribution slashes');
56
+ const [validatorAddress] = remainingArgs;
57
+ // Optional: starting and ending height for filtering
58
+ const startingHeight = remainingArgs[1] ? parseBigInt(remainingArgs[1], 'starting-height') : BigInt(0);
59
+ const endingHeight = remainingArgs[2] ? parseBigInt(remainingArgs[2], 'ending-height') : BigInt(Number.MAX_SAFE_INTEGER);
63
60
  const result = await distribution.validatorSlashes({
64
61
  validatorAddress,
65
62
  startingHeight,
66
63
  endingHeight,
67
- pagination: defaultPagination,
64
+ pagination,
68
65
  });
69
66
  return { slashes: result.slashes, pagination: result.pagination };
70
67
  }
71
68
  case 'delegator-validators': {
72
- if (args.length < 1) {
73
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'delegator-validators requires delegator-address argument');
74
- }
69
+ requireArgs(args, 1, ['delegator-address'], 'distribution delegator-validators');
75
70
  const [delegatorAddress] = args;
76
71
  const result = await distribution.delegatorValidators({ delegatorAddress });
77
72
  return { validators: result.validators };
78
73
  }
79
74
  case 'delegator-withdraw-address': {
80
- if (args.length < 1) {
81
- throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'delegator-withdraw-address requires delegator-address argument');
82
- }
75
+ requireArgs(args, 1, ['delegator-address'], 'distribution delegator-withdraw-address');
83
76
  const [delegatorAddress] = args;
84
77
  const result = await distribution.delegatorWithdrawAddress({ delegatorAddress });
85
78
  return { withdrawAddress: result.withdrawAddress };
86
79
  }
87
80
  default:
88
- throw new ManifestMCPError(ManifestMCPErrorCode.UNSUPPORTED_QUERY, `Unsupported distribution query subcommand: ${subcommand}`, {
89
- availableSubcommands: [
90
- 'rewards',
91
- 'commission',
92
- 'community-pool',
93
- 'params',
94
- 'validator-outstanding-rewards',
95
- 'slashes',
96
- 'delegator-validators',
97
- 'delegator-withdraw-address',
98
- ],
99
- });
81
+ throwUnsupportedSubcommand('query', 'distribution', subcommand);
100
82
  }
101
83
  }
102
84
  //# sourceMappingURL=distribution.js.map