@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.
- package/.github/workflows/publish.yml +4 -2
- package/CLAUDE.md +7 -3
- package/README.md +1 -1
- package/dist/client.d.ts +6 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +77 -21
- package/dist/client.js.map +1 -1
- package/dist/cosmos.d.ts.map +1 -1
- package/dist/cosmos.js +7 -57
- package/dist/cosmos.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -25
- package/dist/index.js.map +1 -1
- package/dist/modules.d.ts +30 -1
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +65 -1
- package/dist/modules.js.map +1 -1
- package/dist/modules.test.js +58 -1
- package/dist/modules.test.js.map +1 -1
- package/dist/queries/auth.d.ts +7 -1
- package/dist/queries/auth.d.ts.map +1 -1
- package/dist/queries/auth.js +18 -45
- package/dist/queries/auth.js.map +1 -1
- package/dist/queries/bank.d.ts +7 -1
- package/dist/queries/bank.d.ts.map +1 -1
- package/dist/queries/bank.js +24 -38
- package/dist/queries/bank.js.map +1 -1
- package/dist/queries/billing.d.ts +7 -1
- package/dist/queries/billing.d.ts.map +1 -1
- package/dist/queries/billing.js +28 -54
- package/dist/queries/billing.js.map +1 -1
- package/dist/queries/distribution.d.ts +7 -1
- package/dist/queries/distribution.d.ts.map +1 -1
- package/dist/queries/distribution.js +18 -36
- package/dist/queries/distribution.js.map +1 -1
- package/dist/queries/gov.d.ts +7 -1
- package/dist/queries/gov.d.ts.map +1 -1
- package/dist/queries/gov.js +24 -41
- package/dist/queries/gov.js.map +1 -1
- package/dist/queries/index.d.ts +2 -1
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +1 -1
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/staking.d.ts +7 -1
- package/dist/queries/staking.d.ts.map +1 -1
- package/dist/queries/staking.js +36 -59
- package/dist/queries/staking.js.map +1 -1
- package/dist/queries/utils.d.ts +42 -10
- package/dist/queries/utils.d.ts.map +1 -1
- package/dist/queries/utils.js +64 -12
- package/dist/queries/utils.js.map +1 -1
- package/dist/queries/utils.test.js +68 -8
- package/dist/queries/utils.test.js.map +1 -1
- package/dist/transactions/bank.d.ts +2 -2
- package/dist/transactions/bank.d.ts.map +1 -1
- package/dist/transactions/bank.js +9 -18
- package/dist/transactions/bank.js.map +1 -1
- package/dist/transactions/billing.d.ts +2 -2
- package/dist/transactions/billing.d.ts.map +1 -1
- package/dist/transactions/billing.js +29 -86
- package/dist/transactions/billing.js.map +1 -1
- package/dist/transactions/distribution.d.ts +2 -2
- package/dist/transactions/distribution.d.ts.map +1 -1
- package/dist/transactions/distribution.js +7 -13
- package/dist/transactions/distribution.js.map +1 -1
- package/dist/transactions/gov.d.ts +2 -2
- package/dist/transactions/gov.d.ts.map +1 -1
- package/dist/transactions/gov.js +29 -20
- package/dist/transactions/gov.js.map +1 -1
- package/dist/transactions/index.d.ts +1 -1
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/transactions/index.js +1 -1
- package/dist/transactions/index.js.map +1 -1
- package/dist/transactions/manifest.d.ts +2 -2
- package/dist/transactions/manifest.d.ts.map +1 -1
- package/dist/transactions/manifest.js +7 -14
- package/dist/transactions/manifest.js.map +1 -1
- package/dist/transactions/staking.d.ts +2 -2
- package/dist/transactions/staking.d.ts.map +1 -1
- package/dist/transactions/staking.js +7 -13
- package/dist/transactions/staking.js.map +1 -1
- package/dist/transactions/utils.d.ts +63 -1
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +121 -2
- package/dist/transactions/utils.js.map +1 -1
- package/dist/transactions/utils.test.js +351 -1
- package/dist/transactions/utils.test.js.map +1 -1
- package/dist/types.d.ts +203 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wallet/mnemonic.d.ts +1 -0
- package/dist/wallet/mnemonic.d.ts.map +1 -1
- package/dist/wallet/mnemonic.js +34 -13
- package/dist/wallet/mnemonic.js.map +1 -1
- package/package.json +5 -1
- package/src/client.ts +84 -21
- package/src/cosmos.ts +13 -109
- package/src/index.ts +17 -23
- package/src/modules.test.ts +60 -0
- package/src/modules.ts +122 -5
- package/src/queries/auth.ts +35 -74
- package/src/queries/bank.ts +40 -58
- package/src/queries/billing.ts +46 -86
- package/src/queries/distribution.ts +35 -59
- package/src/queries/gov.ts +40 -64
- package/src/queries/index.ts +10 -1
- package/src/queries/staking.ts +55 -91
- package/src/queries/utils.test.ts +103 -8
- package/src/queries/utils.ts +92 -12
- package/src/transactions/bank.ts +9 -33
- package/src/transactions/billing.ts +30 -137
- package/src/transactions/distribution.ts +7 -29
- package/src/transactions/gov.ts +33 -37
- package/src/transactions/index.ts +1 -1
- package/src/transactions/manifest.ts +7 -29
- package/src/transactions/staking.ts +7 -29
- package/src/transactions/utils.test.ts +390 -1
- package/src/transactions/utils.ts +191 -2
- package/src/types.ts +318 -9
- package/src/wallet/mnemonic.ts +41 -17
- package/.claude/settings.local.json +0 -20
package/dist/modules.js
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
import { ManifestMCPError, ManifestMCPErrorCode } from './types.js';
|
|
2
|
+
// Import query handlers
|
|
3
|
+
import { routeBankQuery } from './queries/bank.js';
|
|
4
|
+
import { routeStakingQuery } from './queries/staking.js';
|
|
5
|
+
import { routeDistributionQuery } from './queries/distribution.js';
|
|
6
|
+
import { routeGovQuery } from './queries/gov.js';
|
|
7
|
+
import { routeAuthQuery } from './queries/auth.js';
|
|
8
|
+
import { routeBillingQuery } from './queries/billing.js';
|
|
9
|
+
// Import transaction handlers
|
|
10
|
+
import { routeBankTransaction } from './transactions/bank.js';
|
|
11
|
+
import { routeStakingTransaction } from './transactions/staking.js';
|
|
12
|
+
import { routeDistributionTransaction } from './transactions/distribution.js';
|
|
13
|
+
import { routeGovTransaction } from './transactions/gov.js';
|
|
14
|
+
import { routeBillingTransaction } from './transactions/billing.js';
|
|
15
|
+
import { routeManifestTransaction } from './transactions/manifest.js';
|
|
16
|
+
/**
|
|
17
|
+
* Throw an error for an unsupported subcommand.
|
|
18
|
+
* Automatically looks up available subcommands from the module registry.
|
|
19
|
+
*
|
|
20
|
+
* @param type - 'query' or 'tx'
|
|
21
|
+
* @param module - The module name (e.g., 'bank', 'staking')
|
|
22
|
+
* @param subcommand - The unsupported subcommand that was requested
|
|
23
|
+
*/
|
|
24
|
+
export function throwUnsupportedSubcommand(type, module, subcommand) {
|
|
25
|
+
const registry = type === 'query' ? QUERY_MODULES : TX_MODULES;
|
|
26
|
+
const moduleInfo = registry[module];
|
|
27
|
+
const availableSubcommands = moduleInfo?.subcommands.map(s => s.name) ?? [];
|
|
28
|
+
throw new ManifestMCPError(type === 'query' ? ManifestMCPErrorCode.UNSUPPORTED_QUERY : ManifestMCPErrorCode.UNSUPPORTED_TX, `Unsupported ${module} ${type === 'query' ? 'query' : 'transaction'} subcommand: ${subcommand}`, { availableSubcommands });
|
|
29
|
+
}
|
|
2
30
|
/**
|
|
3
31
|
* Query modules registry
|
|
32
|
+
* Each module includes metadata and its handler function
|
|
4
33
|
*/
|
|
5
34
|
const QUERY_MODULES = {
|
|
6
35
|
bank: {
|
|
7
36
|
description: 'Querying commands for the bank module',
|
|
37
|
+
handler: routeBankQuery,
|
|
8
38
|
subcommands: [
|
|
9
39
|
{ name: 'balance', description: 'Query account balance for a specific denom' },
|
|
10
40
|
{ name: 'balances', description: 'Query all balances for an account' },
|
|
@@ -20,6 +50,7 @@ const QUERY_MODULES = {
|
|
|
20
50
|
},
|
|
21
51
|
staking: {
|
|
22
52
|
description: 'Querying commands for the staking module',
|
|
53
|
+
handler: routeStakingQuery,
|
|
23
54
|
subcommands: [
|
|
24
55
|
{ name: 'delegation', description: 'Query a delegation' },
|
|
25
56
|
{ name: 'delegations', description: 'Query all delegations for a delegator' },
|
|
@@ -37,6 +68,7 @@ const QUERY_MODULES = {
|
|
|
37
68
|
},
|
|
38
69
|
distribution: {
|
|
39
70
|
description: 'Querying commands for the distribution module',
|
|
71
|
+
handler: routeDistributionQuery,
|
|
40
72
|
subcommands: [
|
|
41
73
|
{ name: 'rewards', description: 'Query distribution rewards for a delegator' },
|
|
42
74
|
{ name: 'commission', description: 'Query validator commission' },
|
|
@@ -50,6 +82,7 @@ const QUERY_MODULES = {
|
|
|
50
82
|
},
|
|
51
83
|
gov: {
|
|
52
84
|
description: 'Querying commands for the governance module',
|
|
85
|
+
handler: routeGovQuery,
|
|
53
86
|
subcommands: [
|
|
54
87
|
{ name: 'proposal', description: 'Query a proposal by ID' },
|
|
55
88
|
{ name: 'proposals', description: 'Query all proposals' },
|
|
@@ -63,6 +96,7 @@ const QUERY_MODULES = {
|
|
|
63
96
|
},
|
|
64
97
|
auth: {
|
|
65
98
|
description: 'Querying commands for the auth module',
|
|
99
|
+
handler: routeAuthQuery,
|
|
66
100
|
subcommands: [
|
|
67
101
|
{ name: 'account', description: 'Query account by address' },
|
|
68
102
|
{ name: 'accounts', description: 'Query all accounts' },
|
|
@@ -77,6 +111,7 @@ const QUERY_MODULES = {
|
|
|
77
111
|
},
|
|
78
112
|
billing: {
|
|
79
113
|
description: 'Querying commands for the Manifest billing module',
|
|
114
|
+
handler: routeBillingQuery,
|
|
80
115
|
subcommands: [
|
|
81
116
|
{ name: 'params', description: 'Query billing parameters' },
|
|
82
117
|
{ name: 'lease', description: 'Query a lease by UUID' },
|
|
@@ -95,10 +130,12 @@ const QUERY_MODULES = {
|
|
|
95
130
|
};
|
|
96
131
|
/**
|
|
97
132
|
* Transaction modules registry
|
|
133
|
+
* Each module includes metadata and its handler function
|
|
98
134
|
*/
|
|
99
135
|
const TX_MODULES = {
|
|
100
136
|
bank: {
|
|
101
137
|
description: 'Bank transaction subcommands',
|
|
138
|
+
handler: routeBankTransaction,
|
|
102
139
|
subcommands: [
|
|
103
140
|
{ name: 'send', description: 'Send tokens to another account', args: '<to-address> <amount> (e.g., manifest1abc... 1000000umfx)' },
|
|
104
141
|
{ name: 'multi-send', description: 'Send tokens to multiple accounts', args: '<to-address:amount>... (e.g., manifest1a:1000umfx manifest1b:2000umfx)' },
|
|
@@ -106,6 +143,7 @@ const TX_MODULES = {
|
|
|
106
143
|
},
|
|
107
144
|
staking: {
|
|
108
145
|
description: 'Staking transaction subcommands',
|
|
146
|
+
handler: routeStakingTransaction,
|
|
109
147
|
subcommands: [
|
|
110
148
|
{ name: 'delegate', description: 'Delegate tokens to a validator' },
|
|
111
149
|
{ name: 'unbond', description: 'Unbond tokens from a validator' },
|
|
@@ -115,6 +153,7 @@ const TX_MODULES = {
|
|
|
115
153
|
},
|
|
116
154
|
distribution: {
|
|
117
155
|
description: 'Distribution transaction subcommands',
|
|
156
|
+
handler: routeDistributionTransaction,
|
|
118
157
|
subcommands: [
|
|
119
158
|
{ name: 'withdraw-rewards', description: 'Withdraw rewards from a validator' },
|
|
120
159
|
{ name: 'set-withdraw-addr', description: 'Set withdraw address' },
|
|
@@ -123,6 +162,7 @@ const TX_MODULES = {
|
|
|
123
162
|
},
|
|
124
163
|
gov: {
|
|
125
164
|
description: 'Governance transaction subcommands',
|
|
165
|
+
handler: routeGovTransaction,
|
|
126
166
|
subcommands: [
|
|
127
167
|
{ name: 'vote', description: 'Vote on a proposal' },
|
|
128
168
|
{ name: 'weighted-vote', description: 'Weighted vote on a proposal' },
|
|
@@ -131,15 +171,17 @@ const TX_MODULES = {
|
|
|
131
171
|
},
|
|
132
172
|
billing: {
|
|
133
173
|
description: 'Manifest billing transaction subcommands',
|
|
174
|
+
handler: routeBillingTransaction,
|
|
134
175
|
subcommands: [
|
|
135
176
|
{ name: 'fund-credit', description: 'Fund credit for a tenant', args: '<tenant-address> <amount> (e.g., manifest1abc... 1000000umfx)' },
|
|
136
177
|
{ name: 'create-lease', description: 'Create a new lease', args: '[--meta-hash <hex>] <sku-uuid:quantity>... (e.g., sku-123:1 sku-456:2)' },
|
|
137
|
-
{ name: 'close-lease', description: 'Close one or more leases', args: '<lease-uuid>... (e.g., lease-123 lease-456)' },
|
|
178
|
+
{ name: 'close-lease', description: 'Close one or more leases', args: '[--reason <text>] <lease-uuid>... (e.g., lease-123 lease-456)' },
|
|
138
179
|
{ name: 'withdraw', description: 'Withdraw earnings from leases', args: '<lease-uuid>... OR --provider <provider-uuid> [--limit <1-100>]' },
|
|
139
180
|
],
|
|
140
181
|
},
|
|
141
182
|
manifest: {
|
|
142
183
|
description: 'Manifest module transaction subcommands',
|
|
184
|
+
handler: routeManifestTransaction,
|
|
143
185
|
subcommands: [
|
|
144
186
|
{ name: 'payout', description: 'Execute a payout to multiple addresses' },
|
|
145
187
|
{ name: 'burn-held-balance', description: 'Burn held balance' },
|
|
@@ -218,4 +260,26 @@ export function getSupportedModules() {
|
|
|
218
260
|
}
|
|
219
261
|
return result;
|
|
220
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Get the handler function for a query module
|
|
265
|
+
* @throws ManifestMCPError if module is not found
|
|
266
|
+
*/
|
|
267
|
+
export function getQueryHandler(module) {
|
|
268
|
+
const moduleInfo = QUERY_MODULES[module];
|
|
269
|
+
if (!moduleInfo) {
|
|
270
|
+
throw new ManifestMCPError(ManifestMCPErrorCode.UNKNOWN_MODULE, `Unknown query module: ${module}`, { availableModules: Object.keys(QUERY_MODULES) });
|
|
271
|
+
}
|
|
272
|
+
return moduleInfo.handler;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Get the handler function for a transaction module
|
|
276
|
+
* @throws ManifestMCPError if module is not found
|
|
277
|
+
*/
|
|
278
|
+
export function getTxHandler(module) {
|
|
279
|
+
const moduleInfo = TX_MODULES[module];
|
|
280
|
+
if (!moduleInfo) {
|
|
281
|
+
throw new ManifestMCPError(ManifestMCPErrorCode.UNKNOWN_MODULE, `Unknown tx module: ${module}`, { availableModules: Object.keys(TX_MODULES) });
|
|
282
|
+
}
|
|
283
|
+
return moduleInfo.handler;
|
|
284
|
+
}
|
|
221
285
|
//# sourceMappingURL=modules.js.map
|
package/dist/modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"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"}
|
package/dist/modules.test.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { getAvailableModules, getModuleSubcommands, isSubcommandSupported, getSupportedModules, } from './modules.js';
|
|
2
|
+
import { getAvailableModules, getModuleSubcommands, isSubcommandSupported, getSupportedModules, throwUnsupportedSubcommand, } from './modules.js';
|
|
3
3
|
import { ManifestMCPError, ManifestMCPErrorCode } from './types.js';
|
|
4
4
|
describe('getAvailableModules', () => {
|
|
5
5
|
it('should return query and tx modules', () => {
|
|
@@ -97,4 +97,61 @@ describe('getSupportedModules', () => {
|
|
|
97
97
|
expect(modules.tx.bank).toContain('send');
|
|
98
98
|
});
|
|
99
99
|
});
|
|
100
|
+
describe('throwUnsupportedSubcommand', () => {
|
|
101
|
+
it('should throw ManifestMCPError for unsupported query subcommand', () => {
|
|
102
|
+
expect(() => throwUnsupportedSubcommand('query', 'bank', 'unknown')).toThrow(ManifestMCPError);
|
|
103
|
+
});
|
|
104
|
+
it('should throw ManifestMCPError for unsupported tx subcommand', () => {
|
|
105
|
+
expect(() => throwUnsupportedSubcommand('tx', 'bank', 'unknown')).toThrow(ManifestMCPError);
|
|
106
|
+
});
|
|
107
|
+
it('should use UNSUPPORTED_QUERY error code for queries', () => {
|
|
108
|
+
try {
|
|
109
|
+
throwUnsupportedSubcommand('query', 'bank', 'unknown');
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
expect(error.code).toBe(ManifestMCPErrorCode.UNSUPPORTED_QUERY);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
it('should use UNSUPPORTED_TX error code for transactions', () => {
|
|
116
|
+
try {
|
|
117
|
+
throwUnsupportedSubcommand('tx', 'bank', 'unknown');
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
expect(error.code).toBe(ManifestMCPErrorCode.UNSUPPORTED_TX);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
it('should include module and subcommand in error message', () => {
|
|
124
|
+
try {
|
|
125
|
+
throwUnsupportedSubcommand('query', 'staking', 'badcmd');
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
const message = error.message;
|
|
129
|
+
expect(message).toContain('staking');
|
|
130
|
+
expect(message).toContain('badcmd');
|
|
131
|
+
expect(message).toContain('query');
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
it('should include availableSubcommands in error details', () => {
|
|
135
|
+
try {
|
|
136
|
+
throwUnsupportedSubcommand('tx', 'bank', 'unknown');
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
const details = error.details;
|
|
140
|
+
expect(details?.availableSubcommands).toBeDefined();
|
|
141
|
+
expect(details?.availableSubcommands).toContain('send');
|
|
142
|
+
expect(details?.availableSubcommands).toContain('multi-send');
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
it('should include correct subcommands for each module', () => {
|
|
146
|
+
try {
|
|
147
|
+
throwUnsupportedSubcommand('query', 'gov', 'unknown');
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
const details = error.details;
|
|
151
|
+
expect(details?.availableSubcommands).toContain('proposal');
|
|
152
|
+
expect(details?.availableSubcommands).toContain('proposals');
|
|
153
|
+
expect(details?.availableSubcommands).toContain('vote');
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
});
|
|
100
157
|
//# sourceMappingURL=modules.test.js.map
|
package/dist/modules.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.test.js","sourceRoot":"","sources":["../src/modules.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"modules.test.js","sourceRoot":"","sources":["../src/modules.test.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/auth.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { ManifestQueryClient } from '../client.js';
|
|
2
|
+
import { AuthAccountResult, AuthAccountsResult, AuthParamsResult, ModuleAccountsResult, AddressBytesToStringResult, AddressStringToBytesResult, Bech32PrefixResult, AccountInfoResult } from '../types.js';
|
|
3
|
+
/** Auth query result union type */
|
|
4
|
+
type AuthQueryResult = AuthAccountResult | AuthAccountsResult | AuthParamsResult | ModuleAccountsResult | AddressBytesToStringResult | AddressStringToBytesResult | Bech32PrefixResult | AccountInfoResult;
|
|
2
5
|
/**
|
|
3
6
|
* Route auth query to manifestjs query client
|
|
7
|
+
*
|
|
8
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
4
9
|
*/
|
|
5
|
-
export declare function routeAuthQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<
|
|
10
|
+
export declare function routeAuthQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<AuthQueryResult>;
|
|
11
|
+
export {};
|
|
6
12
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/queries/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/queries/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAEL,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAC7E,0BAA0B,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,iBAAiB,EAC9F,MAAM,aAAa,CAAC;AAQrB,mCAAmC;AACnC,KAAK,eAAe,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,0BAA0B,GAC1B,0BAA0B,GAC1B,kBAAkB,GAClB,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,CA+D1B"}
|
package/dist/queries/auth.js
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
39
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
package/dist/queries/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/queries/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/queries/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/bank.d.ts
CHANGED
|
@@ -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<
|
|
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;
|
|
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"}
|
package/dist/queries/bank.js
CHANGED
|
@@ -1,44 +1,41 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
64
|
-
|
|
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
|
-
|
|
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
|
package/dist/queries/bank.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bank.js","sourceRoot":"","sources":["../../src/queries/bank.ts"],"names":[],"mappings":"
|
|
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<
|
|
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;
|
|
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"}
|