@manifest-network/manifest-mcp-browser 0.1.1 → 0.1.6
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 +11 -6
- 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 +98 -1
- package/dist/modules.js.map +1 -1
- package/dist/modules.test.js +60 -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/sku.d.ts +13 -0
- package/dist/queries/sku.d.ts.map +1 -0
- package/dist/queries/sku.js +60 -0
- package/dist/queries/sku.js.map +1 -0
- 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 +60 -10
- package/dist/queries/utils.d.ts.map +1 -1
- package/dist/queries/utils.js +80 -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 +125 -89
- 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/sku.d.ts +7 -0
- package/dist/transactions/sku.d.ts.map +1 -0
- package/dist/transactions/sku.js +184 -0
- package/dist/transactions/sku.js.map +1 -0
- 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 +65 -1
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +123 -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 +218 -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 +62 -0
- package/src/modules.ts +155 -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/sku.ts +85 -0
- package/src/queries/staking.ts +55 -91
- package/src/queries/utils.test.ts +103 -8
- package/src/queries/utils.ts +119 -12
- package/src/transactions/bank.ts +9 -33
- package/src/transactions/billing.ts +155 -141
- 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/sku.ts +232 -0
- package/src/transactions/staking.ts +7 -29
- package/src/transactions/utils.test.ts +390 -1
- package/src/transactions/utils.ts +194 -2
- package/src/types.ts +344 -9
- package/src/wallet/mnemonic.ts +41 -17
- package/.claude/settings.local.json +0 -20
package/dist/queries/gov.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gov.js","sourceRoot":"","sources":["../../src/queries/gov.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gov.js","sourceRoot":"","sources":["../../src/queries/gov.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { parseBigInt,
|
|
1
|
+
export { parseBigInt, parseInteger, createPagination, extractPaginationArgs, DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, defaultPagination, } from './utils.js';
|
|
2
|
+
export type { PaginationConfig } from './utils.js';
|
|
2
3
|
export { routeBankQuery } from './bank.js';
|
|
3
4
|
export { routeStakingQuery } from './staking.js';
|
|
4
5
|
export { routeDistributionQuery } from './distribution.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/queries/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { parseBigInt,
|
|
1
|
+
export { parseBigInt, parseInteger, createPagination, extractPaginationArgs, DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, defaultPagination, } from './utils.js';
|
|
2
2
|
export { routeBankQuery } from './bank.js';
|
|
3
3
|
export { routeStakingQuery } from './staking.js';
|
|
4
4
|
export { routeDistributionQuery } from './distribution.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ManifestQueryClient } from '../client.js';
|
|
2
|
+
import { SkuParamsResult, ProviderResult, ProvidersResult, SkuResult, SkusResult } from '../types.js';
|
|
3
|
+
/** SKU query result union type */
|
|
4
|
+
type SkuQueryResult = SkuParamsResult | ProviderResult | ProvidersResult | SkuResult | SkusResult;
|
|
5
|
+
/**
|
|
6
|
+
* Route SKU module query to manifestjs query client
|
|
7
|
+
*
|
|
8
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
9
|
+
* Filterable queries support --active-only flag
|
|
10
|
+
*/
|
|
11
|
+
export declare function routeSkuQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<SkuQueryResult>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=sku.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sku.d.ts","sourceRoot":"","sources":["../../src/queries/sku.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,eAAe,EAAE,cAAc,EAAE,eAAe,EAChD,SAAS,EAAE,UAAU,EACtB,MAAM,aAAa,CAAC;AAIrB,kCAAkC;AAClC,KAAK,cAAc,GACf,eAAe,GACf,cAAc,GACd,eAAe,GACf,SAAS,GACT,UAAU,CAAC;AAEf;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,cAAc,CAAC,CA0DzB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { requireArgs, extractPaginationArgs, extractBooleanFlag } from './utils.js';
|
|
2
|
+
import { throwUnsupportedSubcommand } from '../modules.js';
|
|
3
|
+
/**
|
|
4
|
+
* Route SKU module query to manifestjs query client
|
|
5
|
+
*
|
|
6
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
7
|
+
* Filterable queries support --active-only flag
|
|
8
|
+
*/
|
|
9
|
+
export async function routeSkuQuery(queryClient, subcommand, args) {
|
|
10
|
+
const sku = queryClient.liftedinit.sku.v1;
|
|
11
|
+
switch (subcommand) {
|
|
12
|
+
case 'params': {
|
|
13
|
+
const result = await sku.params({});
|
|
14
|
+
return { params: result.params };
|
|
15
|
+
}
|
|
16
|
+
case 'provider': {
|
|
17
|
+
requireArgs(args, 1, ['provider-uuid'], 'sku provider');
|
|
18
|
+
const [uuid] = args;
|
|
19
|
+
const result = await sku.provider({ uuid });
|
|
20
|
+
return { provider: result.provider };
|
|
21
|
+
}
|
|
22
|
+
case 'providers': {
|
|
23
|
+
const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, '--active-only');
|
|
24
|
+
const { pagination } = extractPaginationArgs(afterBool, 'sku providers');
|
|
25
|
+
const result = await sku.providers({ pagination, activeOnly });
|
|
26
|
+
return { providers: result.providers, pagination: result.pagination };
|
|
27
|
+
}
|
|
28
|
+
case 'sku': {
|
|
29
|
+
requireArgs(args, 1, ['sku-uuid'], 'sku sku');
|
|
30
|
+
const [uuid] = args;
|
|
31
|
+
const result = await sku.sKU({ uuid });
|
|
32
|
+
return { sku: result.sku };
|
|
33
|
+
}
|
|
34
|
+
case 'skus': {
|
|
35
|
+
const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, '--active-only');
|
|
36
|
+
const { pagination } = extractPaginationArgs(afterBool, 'sku skus');
|
|
37
|
+
const result = await sku.sKUs({ pagination, activeOnly });
|
|
38
|
+
return { skus: result.skus, pagination: result.pagination };
|
|
39
|
+
}
|
|
40
|
+
case 'skus-by-provider': {
|
|
41
|
+
const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, '--active-only');
|
|
42
|
+
const { pagination, remainingArgs } = extractPaginationArgs(afterBool, 'sku skus-by-provider');
|
|
43
|
+
requireArgs(remainingArgs, 1, ['provider-uuid'], 'sku skus-by-provider');
|
|
44
|
+
const [providerUuid] = remainingArgs;
|
|
45
|
+
const result = await sku.sKUsByProvider({ providerUuid, pagination, activeOnly });
|
|
46
|
+
return { skus: result.skus, pagination: result.pagination };
|
|
47
|
+
}
|
|
48
|
+
case 'provider-by-address': {
|
|
49
|
+
const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, '--active-only');
|
|
50
|
+
const { pagination, remainingArgs } = extractPaginationArgs(afterBool, 'sku provider-by-address');
|
|
51
|
+
requireArgs(remainingArgs, 1, ['address'], 'sku provider-by-address');
|
|
52
|
+
const [address] = remainingArgs;
|
|
53
|
+
const result = await sku.providerByAddress({ address, pagination, activeOnly });
|
|
54
|
+
return { providers: result.providers, pagination: result.pagination };
|
|
55
|
+
}
|
|
56
|
+
default:
|
|
57
|
+
throwUnsupportedSubcommand('query', 'sku', subcommand);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=sku.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sku.js","sourceRoot":"","sources":["../../src/queries/sku.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { ManifestQueryClient } from '../client.js';
|
|
2
|
+
import { DelegationResult, DelegationsResult, UnbondingDelegationResult, UnbondingDelegationsResult, RedelegationsResult, ValidatorResult, ValidatorsResult, StakingPoolResult, StakingParamsResult, HistoricalInfoResult } from '../types.js';
|
|
3
|
+
/** Staking query result union type */
|
|
4
|
+
type StakingQueryResult = DelegationResult | DelegationsResult | UnbondingDelegationResult | UnbondingDelegationsResult | RedelegationsResult | ValidatorResult | ValidatorsResult | StakingPoolResult | StakingParamsResult | HistoricalInfoResult;
|
|
2
5
|
/**
|
|
3
6
|
* Route staking query to manifestjs query client
|
|
7
|
+
*
|
|
8
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
4
9
|
*/
|
|
5
|
-
export declare function routeStakingQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<
|
|
10
|
+
export declare function routeStakingQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<StakingQueryResult>;
|
|
11
|
+
export {};
|
|
6
12
|
//# sourceMappingURL=staking.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/queries/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/queries/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,gBAAgB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,0BAA0B,EAC1F,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EACzE,mBAAmB,EAAE,oBAAoB,EAC1C,MAAM,aAAa,CAAC;AAIrB,sCAAsC;AACtC,KAAK,kBAAkB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,yBAAyB,GACzB,0BAA0B,GAC1B,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,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,CA0H7B"}
|
package/dist/queries/staking.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { parseBigInt, requireArgs, extractPaginationArgs } from './utils.js';
|
|
2
|
+
import { throwUnsupportedSubcommand } from '../modules.js';
|
|
3
3
|
/**
|
|
4
4
|
* Route staking query to manifestjs query client
|
|
5
|
+
*
|
|
6
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
5
7
|
*/
|
|
6
8
|
export async function routeStakingQuery(queryClient, subcommand, args) {
|
|
7
9
|
const staking = queryClient.cosmos.staking.v1beta1;
|
|
8
10
|
switch (subcommand) {
|
|
9
11
|
case 'delegation': {
|
|
10
|
-
|
|
11
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'delegation requires delegator-address and validator-address arguments');
|
|
12
|
-
}
|
|
12
|
+
requireArgs(args, 2, ['delegator-address', 'validator-address'], 'staking delegation');
|
|
13
13
|
const [delegatorAddr, validatorAddr] = args;
|
|
14
14
|
const result = await staking.delegation({
|
|
15
15
|
delegatorAddr,
|
|
@@ -18,20 +18,17 @@ export async function routeStakingQuery(queryClient, subcommand, args) {
|
|
|
18
18
|
return { delegationResponse: result.delegationResponse };
|
|
19
19
|
}
|
|
20
20
|
case 'delegations': {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
const result = await staking.delegatorDelegations({ delegatorAddr, pagination: defaultPagination });
|
|
21
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, 'staking delegations');
|
|
22
|
+
requireArgs(remainingArgs, 1, ['delegator-address'], 'staking delegations');
|
|
23
|
+
const [delegatorAddr] = remainingArgs;
|
|
24
|
+
const result = await staking.delegatorDelegations({ delegatorAddr, pagination });
|
|
26
25
|
return {
|
|
27
26
|
delegationResponses: result.delegationResponses,
|
|
28
27
|
pagination: result.pagination,
|
|
29
28
|
};
|
|
30
29
|
}
|
|
31
30
|
case 'unbonding-delegation': {
|
|
32
|
-
|
|
33
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'unbonding-delegation requires delegator-address and validator-address arguments');
|
|
34
|
-
}
|
|
31
|
+
requireArgs(args, 2, ['delegator-address', 'validator-address'], 'staking unbonding-delegation');
|
|
35
32
|
const [delegatorAddr, validatorAddr] = args;
|
|
36
33
|
const result = await staking.unbondingDelegation({
|
|
37
34
|
delegatorAddr,
|
|
@@ -40,28 +37,27 @@ export async function routeStakingQuery(queryClient, subcommand, args) {
|
|
|
40
37
|
return { unbond: result.unbond };
|
|
41
38
|
}
|
|
42
39
|
case 'unbonding-delegations': {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
const result = await staking.delegatorUnbondingDelegations({ delegatorAddr, pagination: defaultPagination });
|
|
40
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, 'staking unbonding-delegations');
|
|
41
|
+
requireArgs(remainingArgs, 1, ['delegator-address'], 'staking unbonding-delegations');
|
|
42
|
+
const [delegatorAddr] = remainingArgs;
|
|
43
|
+
const result = await staking.delegatorUnbondingDelegations({ delegatorAddr, pagination });
|
|
48
44
|
return {
|
|
49
45
|
unbondingResponses: result.unbondingResponses,
|
|
50
46
|
pagination: result.pagination,
|
|
51
47
|
};
|
|
52
48
|
}
|
|
53
49
|
case 'redelegations': {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const srcValidatorAddr =
|
|
59
|
-
const dstValidatorAddr =
|
|
50
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, 'staking redelegations');
|
|
51
|
+
requireArgs(remainingArgs, 1, ['delegator-address'], 'staking redelegations');
|
|
52
|
+
const [delegatorAddr] = remainingArgs;
|
|
53
|
+
// Optional: src and dst validator addresses for filtering
|
|
54
|
+
const srcValidatorAddr = remainingArgs[1] || '';
|
|
55
|
+
const dstValidatorAddr = remainingArgs[2] || '';
|
|
60
56
|
const result = await staking.redelegations({
|
|
61
57
|
delegatorAddr,
|
|
62
58
|
srcValidatorAddr,
|
|
63
59
|
dstValidatorAddr,
|
|
64
|
-
pagination
|
|
60
|
+
pagination,
|
|
65
61
|
});
|
|
66
62
|
return {
|
|
67
63
|
redelegationResponses: result.redelegationResponses,
|
|
@@ -69,35 +65,33 @@ export async function routeStakingQuery(queryClient, subcommand, args) {
|
|
|
69
65
|
};
|
|
70
66
|
}
|
|
71
67
|
case 'validator': {
|
|
72
|
-
|
|
73
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'validator requires validator-address argument');
|
|
74
|
-
}
|
|
68
|
+
requireArgs(args, 1, ['validator-address'], 'staking validator');
|
|
75
69
|
const [validatorAddr] = args;
|
|
76
70
|
const result = await staking.validator({ validatorAddr });
|
|
77
71
|
return { validator: result.validator };
|
|
78
72
|
}
|
|
79
73
|
case 'validators': {
|
|
80
|
-
const
|
|
81
|
-
|
|
74
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, 'staking validators');
|
|
75
|
+
// Optional: status filter
|
|
76
|
+
const status = remainingArgs[0] || '';
|
|
77
|
+
const result = await staking.validators({ status, pagination });
|
|
82
78
|
return { validators: result.validators, pagination: result.pagination };
|
|
83
79
|
}
|
|
84
80
|
case 'validator-delegations': {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
const result = await staking.validatorDelegations({ validatorAddr, pagination: defaultPagination });
|
|
81
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, 'staking validator-delegations');
|
|
82
|
+
requireArgs(remainingArgs, 1, ['validator-address'], 'staking validator-delegations');
|
|
83
|
+
const [validatorAddr] = remainingArgs;
|
|
84
|
+
const result = await staking.validatorDelegations({ validatorAddr, pagination });
|
|
90
85
|
return {
|
|
91
86
|
delegationResponses: result.delegationResponses,
|
|
92
87
|
pagination: result.pagination,
|
|
93
88
|
};
|
|
94
89
|
}
|
|
95
90
|
case 'validator-unbonding-delegations': {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
const result = await staking.validatorUnbondingDelegations({ validatorAddr, pagination: defaultPagination });
|
|
91
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, 'staking validator-unbonding-delegations');
|
|
92
|
+
requireArgs(remainingArgs, 1, ['validator-address'], 'staking validator-unbonding-delegations');
|
|
93
|
+
const [validatorAddr] = remainingArgs;
|
|
94
|
+
const result = await staking.validatorUnbondingDelegations({ validatorAddr, pagination });
|
|
101
95
|
return {
|
|
102
96
|
unbondingResponses: result.unbondingResponses,
|
|
103
97
|
pagination: result.pagination,
|
|
@@ -112,30 +106,13 @@ export async function routeStakingQuery(queryClient, subcommand, args) {
|
|
|
112
106
|
return { params: result.params };
|
|
113
107
|
}
|
|
114
108
|
case 'historical-info': {
|
|
115
|
-
|
|
116
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, 'historical-info requires height argument');
|
|
117
|
-
}
|
|
109
|
+
requireArgs(args, 1, ['height'], 'staking historical-info');
|
|
118
110
|
const height = parseBigInt(args[0], 'height');
|
|
119
111
|
const result = await staking.historicalInfo({ height });
|
|
120
112
|
return { hist: result.hist };
|
|
121
113
|
}
|
|
122
114
|
default:
|
|
123
|
-
|
|
124
|
-
availableSubcommands: [
|
|
125
|
-
'delegation',
|
|
126
|
-
'delegations',
|
|
127
|
-
'unbonding-delegation',
|
|
128
|
-
'unbonding-delegations',
|
|
129
|
-
'redelegations',
|
|
130
|
-
'validator',
|
|
131
|
-
'validators',
|
|
132
|
-
'validator-delegations',
|
|
133
|
-
'validator-unbonding-delegations',
|
|
134
|
-
'pool',
|
|
135
|
-
'params',
|
|
136
|
-
'historical-info',
|
|
137
|
-
],
|
|
138
|
-
});
|
|
115
|
+
throwUnsupportedSubcommand('query', 'staking', subcommand);
|
|
139
116
|
}
|
|
140
117
|
}
|
|
141
118
|
//# sourceMappingURL=staking.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staking.js","sourceRoot":"","sources":["../../src/queries/staking.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"staking.js","sourceRoot":"","sources":["../../src/queries/staking.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/utils.d.ts
CHANGED
|
@@ -1,22 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Result from extracting a boolean (valueless) flag from args
|
|
3
|
+
*/
|
|
4
|
+
export interface ExtractedBooleanFlag {
|
|
5
|
+
/** Whether the flag was present */
|
|
6
|
+
value: boolean;
|
|
7
|
+
/** Args with the flag removed */
|
|
8
|
+
remainingArgs: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Extract a valueless boolean flag from args array.
|
|
12
|
+
* Returns { value: true, remainingArgs } if flag is present, { value: false, remainingArgs: args } otherwise.
|
|
13
|
+
*
|
|
14
|
+
* @param args - The arguments array to search
|
|
15
|
+
* @param flagName - The flag to look for (e.g., '--active-only')
|
|
16
|
+
* @returns Object with boolean value and filtered args
|
|
17
|
+
*/
|
|
18
|
+
export declare function extractBooleanFlag(args: string[], flagName: string): ExtractedBooleanFlag;
|
|
1
19
|
/** Default page size limit for paginated queries to prevent resource exhaustion */
|
|
2
20
|
export declare const DEFAULT_PAGE_LIMIT: bigint;
|
|
21
|
+
/** Maximum page size limit to prevent DoS */
|
|
22
|
+
export declare const MAX_PAGE_LIMIT: bigint;
|
|
23
|
+
/**
|
|
24
|
+
* Cosmos SDK pagination configuration
|
|
25
|
+
*/
|
|
26
|
+
export interface PaginationConfig {
|
|
27
|
+
readonly key: Uint8Array;
|
|
28
|
+
readonly offset: bigint;
|
|
29
|
+
readonly limit: bigint;
|
|
30
|
+
readonly countTotal: boolean;
|
|
31
|
+
readonly reverse: boolean;
|
|
32
|
+
}
|
|
3
33
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
34
|
+
* Create pagination configuration with optional custom limit.
|
|
35
|
+
* Validates that limit is within acceptable bounds.
|
|
36
|
+
*
|
|
37
|
+
* @param limit - Optional custom limit (defaults to DEFAULT_PAGE_LIMIT)
|
|
38
|
+
* @returns Cosmos SDK pagination object
|
|
6
39
|
*/
|
|
7
|
-
export declare
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
40
|
+
export declare function createPagination(limit?: bigint): PaginationConfig;
|
|
41
|
+
/**
|
|
42
|
+
* Default pagination configuration for queries (for backwards compatibility)
|
|
43
|
+
* @deprecated Use createPagination() instead for configurable limits
|
|
44
|
+
*/
|
|
45
|
+
export declare const defaultPagination: PaginationConfig;
|
|
46
|
+
/**
|
|
47
|
+
* Extract --limit flag from args and return pagination config with remaining args.
|
|
48
|
+
* Use this helper for paginated queries.
|
|
49
|
+
*
|
|
50
|
+
* @param args - The arguments array
|
|
51
|
+
* @param context - Context for error messages
|
|
52
|
+
* @returns Object with pagination config and filtered args
|
|
53
|
+
*/
|
|
54
|
+
export declare function extractPaginationArgs(args: string[], context: string): {
|
|
55
|
+
pagination: PaginationConfig;
|
|
56
|
+
remainingArgs: string[];
|
|
13
57
|
};
|
|
14
58
|
/**
|
|
15
59
|
* Safely parse a string to BigInt with proper error handling (for queries)
|
|
16
60
|
*/
|
|
17
61
|
export declare function parseBigInt(value: string, fieldName: string): bigint;
|
|
18
62
|
/**
|
|
19
|
-
* Safely parse a string to integer with proper error handling
|
|
63
|
+
* Safely parse a string to integer with proper error handling.
|
|
64
|
+
* Named parseInteger to avoid shadowing global parseInt.
|
|
65
|
+
*/
|
|
66
|
+
export declare function parseInteger(value: string, fieldName: string): number;
|
|
67
|
+
/**
|
|
68
|
+
* Validate that required arguments are present (for queries).
|
|
69
|
+
* Uses QUERY_FAILED error code by default.
|
|
20
70
|
*/
|
|
21
|
-
export declare function
|
|
71
|
+
export declare function requireArgs(args: string[], minCount: number, expectedNames: string[], context: string): void;
|
|
22
72
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/queries/utils.ts"],"names":[],"mappings":"AAGA,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,QAAc,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/queries/utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,iCAAiC;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAOzF;AAED,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,QAAc,CAAC;AAE9C,6CAA6C;AAC7C,eAAO,MAAM,cAAc,QAAe,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAiBjE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,kBAAqB,CAAC;AAEpD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,MAAM,GACd;IAAE,UAAU,EAAE,gBAAgB,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAmB3D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CASrE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GACd,IAAI,CAEN"}
|
package/dist/queries/utils.js
CHANGED
|
@@ -1,18 +1,78 @@
|
|
|
1
1
|
import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
|
|
2
|
-
import { parseBigIntWithCode } from '../transactions/utils.js';
|
|
2
|
+
import { parseBigIntWithCode, requireArgs as requireArgsBase, extractFlag, filterConsumedArgs } from '../transactions/utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Extract a valueless boolean flag from args array.
|
|
5
|
+
* Returns { value: true, remainingArgs } if flag is present, { value: false, remainingArgs: args } otherwise.
|
|
6
|
+
*
|
|
7
|
+
* @param args - The arguments array to search
|
|
8
|
+
* @param flagName - The flag to look for (e.g., '--active-only')
|
|
9
|
+
* @returns Object with boolean value and filtered args
|
|
10
|
+
*/
|
|
11
|
+
export function extractBooleanFlag(args, flagName) {
|
|
12
|
+
const flagIndex = args.indexOf(flagName);
|
|
13
|
+
if (flagIndex === -1) {
|
|
14
|
+
return { value: false, remainingArgs: args };
|
|
15
|
+
}
|
|
16
|
+
const remainingArgs = args.filter((_, index) => index !== flagIndex);
|
|
17
|
+
return { value: true, remainingArgs };
|
|
18
|
+
}
|
|
3
19
|
/** Default page size limit for paginated queries to prevent resource exhaustion */
|
|
4
20
|
export const DEFAULT_PAGE_LIMIT = BigInt(100);
|
|
21
|
+
/** Maximum page size limit to prevent DoS */
|
|
22
|
+
export const MAX_PAGE_LIMIT = BigInt(1000);
|
|
23
|
+
/**
|
|
24
|
+
* Create pagination configuration with optional custom limit.
|
|
25
|
+
* Validates that limit is within acceptable bounds.
|
|
26
|
+
*
|
|
27
|
+
* @param limit - Optional custom limit (defaults to DEFAULT_PAGE_LIMIT)
|
|
28
|
+
* @returns Cosmos SDK pagination object
|
|
29
|
+
*/
|
|
30
|
+
export function createPagination(limit) {
|
|
31
|
+
let effectiveLimit = limit ?? DEFAULT_PAGE_LIMIT;
|
|
32
|
+
// Clamp to valid range
|
|
33
|
+
if (effectiveLimit < BigInt(1)) {
|
|
34
|
+
effectiveLimit = BigInt(1);
|
|
35
|
+
}
|
|
36
|
+
else if (effectiveLimit > MAX_PAGE_LIMIT) {
|
|
37
|
+
effectiveLimit = MAX_PAGE_LIMIT;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
key: new Uint8Array(),
|
|
41
|
+
offset: BigInt(0),
|
|
42
|
+
limit: effectiveLimit,
|
|
43
|
+
countTotal: false,
|
|
44
|
+
reverse: false,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
5
47
|
/**
|
|
6
|
-
* Default pagination configuration for queries
|
|
7
|
-
*
|
|
48
|
+
* Default pagination configuration for queries (for backwards compatibility)
|
|
49
|
+
* @deprecated Use createPagination() instead for configurable limits
|
|
8
50
|
*/
|
|
9
|
-
export const defaultPagination =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
51
|
+
export const defaultPagination = createPagination();
|
|
52
|
+
/**
|
|
53
|
+
* Extract --limit flag from args and return pagination config with remaining args.
|
|
54
|
+
* Use this helper for paginated queries.
|
|
55
|
+
*
|
|
56
|
+
* @param args - The arguments array
|
|
57
|
+
* @param context - Context for error messages
|
|
58
|
+
* @returns Object with pagination config and filtered args
|
|
59
|
+
*/
|
|
60
|
+
export function extractPaginationArgs(args, context) {
|
|
61
|
+
const { value: limitStr, consumedIndices } = extractFlag(args, '--limit', context);
|
|
62
|
+
const remainingArgs = filterConsumedArgs(args, consumedIndices);
|
|
63
|
+
let pagination;
|
|
64
|
+
if (limitStr) {
|
|
65
|
+
const limit = parseBigInt(limitStr, 'limit');
|
|
66
|
+
if (limit < BigInt(1) || limit > MAX_PAGE_LIMIT) {
|
|
67
|
+
throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, `Invalid limit: ${limit}. Must be between 1 and ${MAX_PAGE_LIMIT}.`);
|
|
68
|
+
}
|
|
69
|
+
pagination = createPagination(limit);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
pagination = createPagination();
|
|
73
|
+
}
|
|
74
|
+
return { pagination, remainingArgs };
|
|
75
|
+
}
|
|
16
76
|
/**
|
|
17
77
|
* Safely parse a string to BigInt with proper error handling (for queries)
|
|
18
78
|
*/
|
|
@@ -20,13 +80,21 @@ export function parseBigInt(value, fieldName) {
|
|
|
20
80
|
return parseBigIntWithCode(value, fieldName, ManifestMCPErrorCode.QUERY_FAILED);
|
|
21
81
|
}
|
|
22
82
|
/**
|
|
23
|
-
* Safely parse a string to integer with proper error handling
|
|
83
|
+
* Safely parse a string to integer with proper error handling.
|
|
84
|
+
* Named parseInteger to avoid shadowing global parseInt.
|
|
24
85
|
*/
|
|
25
|
-
export function
|
|
86
|
+
export function parseInteger(value, fieldName) {
|
|
26
87
|
const parsed = Number.parseInt(value, 10);
|
|
27
88
|
if (Number.isNaN(parsed)) {
|
|
28
89
|
throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, `Invalid ${fieldName}: "${value}". Expected a valid integer.`);
|
|
29
90
|
}
|
|
30
91
|
return parsed;
|
|
31
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Validate that required arguments are present (for queries).
|
|
95
|
+
* Uses QUERY_FAILED error code by default.
|
|
96
|
+
*/
|
|
97
|
+
export function requireArgs(args, minCount, expectedNames, context) {
|
|
98
|
+
requireArgsBase(args, minCount, expectedNames, context, ManifestMCPErrorCode.QUERY_FAILED);
|
|
99
|
+
}
|
|
32
100
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/queries/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/queries/utils.ts"],"names":[],"mappings":"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"}
|