@manifest-network/manifest-mcp-core 0.1.0
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/dist/__test-utils__/callTool.d.ts +29 -0
- package/dist/__test-utils__/callTool.d.ts.map +1 -0
- package/dist/__test-utils__/callTool.js +45 -0
- package/dist/__test-utils__/callTool.js.map +1 -0
- package/dist/__test-utils__/mocks.d.ts +125 -0
- package/dist/__test-utils__/mocks.d.ts.map +1 -0
- package/dist/__test-utils__/mocks.js +146 -0
- package/dist/__test-utils__/mocks.js.map +1 -0
- package/dist/client.d.ts +67 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +209 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +30 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +127 -0
- package/dist/config.js.map +1 -0
- package/dist/cosmos.d.ts +24 -0
- package/dist/cosmos.d.ts.map +1 -0
- package/dist/cosmos.js +85 -0
- package/dist/cosmos.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +20 -0
- package/dist/lcd-adapter.d.ts +15 -0
- package/dist/lcd-adapter.d.ts.map +1 -0
- package/dist/lcd-adapter.js +98 -0
- package/dist/lcd-adapter.js.map +1 -0
- package/dist/logger.d.ts +20 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +43 -0
- package/dist/logger.js.map +1 -0
- package/dist/modules.d.ts +63 -0
- package/dist/modules.d.ts.map +1 -0
- package/dist/modules.js +759 -0
- package/dist/modules.js.map +1 -0
- package/dist/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.js +78 -0
- package/dist/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.js.map +1 -0
- package/dist/node_modules/@vitest/expect/dist/index.d.ts +802 -0
- package/dist/node_modules/@vitest/expect/dist/index.d.ts.map +1 -0
- package/dist/node_modules/@vitest/expect/dist/index.js +1457 -0
- package/dist/node_modules/@vitest/expect/dist/index.js.map +1 -0
- package/dist/node_modules/@vitest/pretty-format/dist/index.d.ts +95 -0
- package/dist/node_modules/@vitest/pretty-format/dist/index.d.ts.map +1 -0
- package/dist/node_modules/@vitest/pretty-format/dist/index.js +877 -0
- package/dist/node_modules/@vitest/pretty-format/dist/index.js.map +1 -0
- package/dist/node_modules/@vitest/runner/dist/chunk-tasks.js +91 -0
- package/dist/node_modules/@vitest/runner/dist/chunk-tasks.js.map +1 -0
- package/dist/node_modules/@vitest/runner/dist/index.js +1381 -0
- package/dist/node_modules/@vitest/runner/dist/index.js.map +1 -0
- package/dist/node_modules/@vitest/runner/dist/tasks.d-D2GKpdwQ.d.ts +540 -0
- package/dist/node_modules/@vitest/runner/dist/tasks.d-D2GKpdwQ.d.ts.map +1 -0
- package/dist/node_modules/@vitest/runner/dist/utils.js +1 -0
- package/dist/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts +16 -0
- package/dist/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts.map +1 -0
- package/dist/node_modules/@vitest/snapshot/dist/index.d.ts +89 -0
- package/dist/node_modules/@vitest/snapshot/dist/index.d.ts.map +1 -0
- package/dist/node_modules/@vitest/snapshot/dist/index.js +649 -0
- package/dist/node_modules/@vitest/snapshot/dist/index.js.map +1 -0
- package/dist/node_modules/@vitest/snapshot/dist/rawSnapshot.d-U2kJUxDr.d.ts +40 -0
- package/dist/node_modules/@vitest/snapshot/dist/rawSnapshot.d-U2kJUxDr.d.ts.map +1 -0
- package/dist/node_modules/@vitest/spy/dist/index.d.ts +343 -0
- package/dist/node_modules/@vitest/spy/dist/index.d.ts.map +1 -0
- package/dist/node_modules/@vitest/spy/dist/index.js +386 -0
- package/dist/node_modules/@vitest/spy/dist/index.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +82 -0
- package/dist/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/diff.d.ts +14 -0
- package/dist/node_modules/@vitest/utils/dist/diff.d.ts.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/diff.js +1297 -0
- package/dist/node_modules/@vitest/utils/dist/diff.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/display.d.ts +15 -0
- package/dist/node_modules/@vitest/utils/dist/display.d.ts.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/display.js +558 -0
- package/dist/node_modules/@vitest/utils/dist/display.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/error.js +30 -0
- package/dist/node_modules/@vitest/utils/dist/error.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/helpers.js +181 -0
- package/dist/node_modules/@vitest/utils/dist/helpers.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/offset.js +27 -0
- package/dist/node_modules/@vitest/utils/dist/offset.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/serialize.js +77 -0
- package/dist/node_modules/@vitest/utils/dist/serialize.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/source-map.js +367 -0
- package/dist/node_modules/@vitest/utils/dist/source-map.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/timers.js +37 -0
- package/dist/node_modules/@vitest/utils/dist/timers.js.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts +38 -0
- package/dist/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts.map +1 -0
- package/dist/node_modules/@vitest/utils/dist/types.d.ts +25 -0
- package/dist/node_modules/@vitest/utils/dist/types.d.ts.map +1 -0
- package/dist/node_modules/chai/index.js +2875 -0
- package/dist/node_modules/chai/index.js.map +1 -0
- package/dist/node_modules/magic-string/dist/magic-string.es.js +939 -0
- package/dist/node_modules/magic-string/dist/magic-string.es.js.map +1 -0
- package/dist/node_modules/pathe/dist/shared/pathe.M-eThtNZ.js +85 -0
- package/dist/node_modules/pathe/dist/shared/pathe.M-eThtNZ.js.map +1 -0
- package/dist/node_modules/tinybench/dist/index.d.ts +91 -0
- package/dist/node_modules/tinybench/dist/index.d.ts.map +1 -0
- package/dist/node_modules/tinyrainbow/dist/index.d.ts +9 -0
- package/dist/node_modules/tinyrainbow/dist/index.d.ts.map +1 -0
- package/dist/node_modules/tinyrainbow/dist/index.js +86 -0
- package/dist/node_modules/tinyrainbow/dist/index.js.map +1 -0
- package/dist/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +6 -0
- package/dist/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js.map +1 -0
- package/dist/node_modules/vitest/dist/chunks/benchmark.D0SlKNbZ.js +41 -0
- package/dist/node_modules/vitest/dist/chunks/benchmark.D0SlKNbZ.js.map +1 -0
- package/dist/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts +12 -0
- package/dist/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts.map +1 -0
- package/dist/node_modules/vitest/dist/chunks/global.d.x-ILCfAE.d.ts +100 -0
- package/dist/node_modules/vitest/dist/chunks/global.d.x-ILCfAE.d.ts.map +1 -0
- package/dist/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js +57 -0
- package/dist/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js.map +1 -0
- package/dist/node_modules/vitest/dist/chunks/rpc.d.BFMWpdph.d.ts +13 -0
- package/dist/node_modules/vitest/dist/chunks/rpc.d.BFMWpdph.d.ts.map +1 -0
- package/dist/node_modules/vitest/dist/chunks/test.CTcmp4Su.js +2791 -0
- package/dist/node_modules/vitest/dist/chunks/test.CTcmp4Su.js.map +1 -0
- package/dist/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js +44 -0
- package/dist/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js.map +1 -0
- package/dist/node_modules/vitest/dist/index.d.ts +9 -0
- package/dist/queries/auth.d.ts +15 -0
- package/dist/queries/auth.d.ts.map +1 -0
- package/dist/queries/auth.js +58 -0
- package/dist/queries/auth.js.map +1 -0
- package/dist/queries/bank.d.ts +15 -0
- package/dist/queries/bank.d.ts.map +1 -0
- package/dist/queries/bank.js +93 -0
- package/dist/queries/bank.js.map +1 -0
- package/dist/queries/billing.d.ts +15 -0
- package/dist/queries/billing.d.ts.map +1 -0
- package/dist/queries/billing.js +114 -0
- package/dist/queries/billing.js.map +1 -0
- package/dist/queries/distribution.d.ts +15 -0
- package/dist/queries/distribution.d.ts.map +1 -0
- package/dist/queries/distribution.js +73 -0
- package/dist/queries/distribution.js.map +1 -0
- package/dist/queries/gov.d.ts +15 -0
- package/dist/queries/gov.d.ts.map +1 -0
- package/dist/queries/gov.js +98 -0
- package/dist/queries/gov.js.map +1 -0
- package/dist/queries/group.d.ts +15 -0
- package/dist/queries/group.d.ts.map +1 -0
- package/dist/queries/group.js +159 -0
- package/dist/queries/group.js.map +1 -0
- package/dist/queries/index.d.ts +10 -0
- package/dist/queries/index.js +10 -0
- package/dist/queries/sku.d.ts +16 -0
- package/dist/queries/sku.d.ts.map +1 -0
- package/dist/queries/sku.js +85 -0
- package/dist/queries/sku.js.map +1 -0
- package/dist/queries/staking.d.ts +15 -0
- package/dist/queries/staking.d.ts.map +1 -0
- package/dist/queries/staking.js +127 -0
- package/dist/queries/staking.js.map +1 -0
- package/dist/queries/utils.d.ts +54 -0
- package/dist/queries/utils.d.ts.map +1 -0
- package/dist/queries/utils.js +74 -0
- package/dist/queries/utils.js.map +1 -0
- package/dist/retry.d.ts +48 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +106 -0
- package/dist/retry.js.map +1 -0
- package/dist/server-utils.d.ts +61 -0
- package/dist/server-utils.d.ts.map +1 -0
- package/dist/server-utils.js +156 -0
- package/dist/server-utils.js.map +1 -0
- package/dist/tools/fundCredits.d.ts +8 -0
- package/dist/tools/fundCredits.d.ts.map +1 -0
- package/dist/tools/fundCredits.js +9 -0
- package/dist/tools/fundCredits.js.map +1 -0
- package/dist/tools/getBalance.d.ts +26 -0
- package/dist/tools/getBalance.d.ts.map +1 -0
- package/dist/tools/getBalance.js +59 -0
- package/dist/tools/getBalance.js.map +1 -0
- package/dist/tools/stopApp.d.ts +13 -0
- package/dist/tools/stopApp.d.ts.map +1 -0
- package/dist/tools/stopApp.js +15 -0
- package/dist/tools/stopApp.js.map +1 -0
- package/dist/transactions/bank.d.ts +11 -0
- package/dist/transactions/bank.d.ts.map +1 -0
- package/dist/transactions/bank.js +75 -0
- package/dist/transactions/bank.js.map +1 -0
- package/dist/transactions/billing.d.ts +11 -0
- package/dist/transactions/billing.d.ts.map +1 -0
- package/dist/transactions/billing.js +189 -0
- package/dist/transactions/billing.js.map +1 -0
- package/dist/transactions/distribution.d.ts +11 -0
- package/dist/transactions/distribution.d.ts.map +1 -0
- package/dist/transactions/distribution.js +60 -0
- package/dist/transactions/distribution.js.map +1 -0
- package/dist/transactions/gov.d.ts +11 -0
- package/dist/transactions/gov.d.ts.map +1 -0
- package/dist/transactions/gov.js +108 -0
- package/dist/transactions/gov.js.map +1 -0
- package/dist/transactions/group.d.ts +11 -0
- package/dist/transactions/group.d.ts.map +1 -0
- package/dist/transactions/group.js +347 -0
- package/dist/transactions/group.js.map +1 -0
- package/dist/transactions/index.d.ts +10 -0
- package/dist/transactions/index.js +10 -0
- package/dist/transactions/manifest.d.ts +11 -0
- package/dist/transactions/manifest.d.ts.map +1 -0
- package/dist/transactions/manifest.js +59 -0
- package/dist/transactions/manifest.js.map +1 -0
- package/dist/transactions/sku.d.ts +11 -0
- package/dist/transactions/sku.d.ts.map +1 -0
- package/dist/transactions/sku.js +191 -0
- package/dist/transactions/sku.js.map +1 -0
- package/dist/transactions/staking.d.ts +11 -0
- package/dist/transactions/staking.d.ts.map +1 -0
- package/dist/transactions/staking.js +79 -0
- package/dist/transactions/staking.js.map +1 -0
- package/dist/transactions/utils.d.ts +161 -0
- package/dist/transactions/utils.d.ts.map +1 -0
- package/dist/transactions/utils.js +272 -0
- package/dist/transactions/utils.js.map +1 -0
- package/dist/types.d.ts +390 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +45 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +30 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +53 -0
- package/dist/validation.js.map +1 -0
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/dist/wallet/index.d.ts +4 -0
- package/dist/wallet/index.js +3 -0
- package/dist/wallet/mnemonic.d.ts +47 -0
- package/dist/wallet/mnemonic.d.ts.map +1 -0
- package/dist/wallet/mnemonic.js +97 -0
- package/dist/wallet/mnemonic.js.map +1 -0
- package/dist/wallet/sign-arbitrary.d.ts +12 -0
- package/dist/wallet/sign-arbitrary.d.ts.map +1 -0
- package/dist/wallet/sign-arbitrary.js +36 -0
- package/dist/wallet/sign-arbitrary.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { validateAddress } from "../transactions/utils.js";
|
|
2
|
+
import { extractPaginationArgs, parseBigInt, requireArgs } from "./utils.js";
|
|
3
|
+
import { throwUnsupportedSubcommand } from "../modules.js";
|
|
4
|
+
//#region src/queries/group.ts
|
|
5
|
+
/**
|
|
6
|
+
* Route group module query to manifestjs query client
|
|
7
|
+
*
|
|
8
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
9
|
+
*/
|
|
10
|
+
async function routeGroupQuery(queryClient, subcommand, args) {
|
|
11
|
+
const group = queryClient.cosmos.group.v1;
|
|
12
|
+
switch (subcommand) {
|
|
13
|
+
case "group-info": {
|
|
14
|
+
requireArgs(args, 1, ["group-id"], "group group-info");
|
|
15
|
+
const groupId = parseBigInt(args[0], "group-id");
|
|
16
|
+
return { info: (await group.groupInfo({ groupId })).info };
|
|
17
|
+
}
|
|
18
|
+
case "group-policy-info":
|
|
19
|
+
requireArgs(args, 1, ["group-policy-address"], "group group-policy-info");
|
|
20
|
+
validateAddress(args[0], "group policy address");
|
|
21
|
+
return { info: (await group.groupPolicyInfo({ address: args[0] })).info };
|
|
22
|
+
case "group-members": {
|
|
23
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "group group-members");
|
|
24
|
+
requireArgs(remainingArgs, 1, ["group-id"], "group group-members");
|
|
25
|
+
const groupId = parseBigInt(remainingArgs[0], "group-id");
|
|
26
|
+
const result = await group.groupMembers({
|
|
27
|
+
groupId,
|
|
28
|
+
pagination
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
members: result.members,
|
|
32
|
+
pagination: result.pagination
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
case "groups-by-admin": {
|
|
36
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "group groups-by-admin");
|
|
37
|
+
requireArgs(remainingArgs, 1, ["admin-address"], "group groups-by-admin");
|
|
38
|
+
validateAddress(remainingArgs[0], "admin address");
|
|
39
|
+
const result = await group.groupsByAdmin({
|
|
40
|
+
admin: remainingArgs[0],
|
|
41
|
+
pagination
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
groups: result.groups,
|
|
45
|
+
pagination: result.pagination
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
case "group-policies-by-group": {
|
|
49
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "group group-policies-by-group");
|
|
50
|
+
requireArgs(remainingArgs, 1, ["group-id"], "group group-policies-by-group");
|
|
51
|
+
const groupId = parseBigInt(remainingArgs[0], "group-id");
|
|
52
|
+
const result = await group.groupPoliciesByGroup({
|
|
53
|
+
groupId,
|
|
54
|
+
pagination
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
groupPolicies: result.groupPolicies,
|
|
58
|
+
pagination: result.pagination
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
case "group-policies-by-admin": {
|
|
62
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "group group-policies-by-admin");
|
|
63
|
+
requireArgs(remainingArgs, 1, ["admin-address"], "group group-policies-by-admin");
|
|
64
|
+
validateAddress(remainingArgs[0], "admin address");
|
|
65
|
+
const result = await group.groupPoliciesByAdmin({
|
|
66
|
+
admin: remainingArgs[0],
|
|
67
|
+
pagination
|
|
68
|
+
});
|
|
69
|
+
return {
|
|
70
|
+
groupPolicies: result.groupPolicies,
|
|
71
|
+
pagination: result.pagination
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
case "proposal": {
|
|
75
|
+
requireArgs(args, 1, ["proposal-id"], "group proposal");
|
|
76
|
+
const proposalId = parseBigInt(args[0], "proposal-id");
|
|
77
|
+
return { proposal: (await group.proposal({ proposalId })).proposal };
|
|
78
|
+
}
|
|
79
|
+
case "proposals-by-group-policy": {
|
|
80
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "group proposals-by-group-policy");
|
|
81
|
+
requireArgs(remainingArgs, 1, ["group-policy-address"], "group proposals-by-group-policy");
|
|
82
|
+
validateAddress(remainingArgs[0], "group policy address");
|
|
83
|
+
const result = await group.proposalsByGroupPolicy({
|
|
84
|
+
address: remainingArgs[0],
|
|
85
|
+
pagination
|
|
86
|
+
});
|
|
87
|
+
return {
|
|
88
|
+
proposals: result.proposals,
|
|
89
|
+
pagination: result.pagination
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
case "vote": {
|
|
93
|
+
requireArgs(args, 2, ["proposal-id", "voter-address"], "group vote");
|
|
94
|
+
const proposalId = parseBigInt(args[0], "proposal-id");
|
|
95
|
+
validateAddress(args[1], "voter address");
|
|
96
|
+
return { vote: (await group.voteByProposalVoter({
|
|
97
|
+
proposalId,
|
|
98
|
+
voter: args[1]
|
|
99
|
+
})).vote };
|
|
100
|
+
}
|
|
101
|
+
case "votes-by-proposal": {
|
|
102
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "group votes-by-proposal");
|
|
103
|
+
requireArgs(remainingArgs, 1, ["proposal-id"], "group votes-by-proposal");
|
|
104
|
+
const proposalId = parseBigInt(remainingArgs[0], "proposal-id");
|
|
105
|
+
const result = await group.votesByProposal({
|
|
106
|
+
proposalId,
|
|
107
|
+
pagination
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
votes: result.votes,
|
|
111
|
+
pagination: result.pagination
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
case "votes-by-voter": {
|
|
115
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "group votes-by-voter");
|
|
116
|
+
requireArgs(remainingArgs, 1, ["voter-address"], "group votes-by-voter");
|
|
117
|
+
validateAddress(remainingArgs[0], "voter address");
|
|
118
|
+
const result = await group.votesByVoter({
|
|
119
|
+
voter: remainingArgs[0],
|
|
120
|
+
pagination
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
votes: result.votes,
|
|
124
|
+
pagination: result.pagination
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
case "groups-by-member": {
|
|
128
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "group groups-by-member");
|
|
129
|
+
requireArgs(remainingArgs, 1, ["member-address"], "group groups-by-member");
|
|
130
|
+
validateAddress(remainingArgs[0], "member address");
|
|
131
|
+
const result = await group.groupsByMember({
|
|
132
|
+
address: remainingArgs[0],
|
|
133
|
+
pagination
|
|
134
|
+
});
|
|
135
|
+
return {
|
|
136
|
+
groups: result.groups,
|
|
137
|
+
pagination: result.pagination
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
case "tally": {
|
|
141
|
+
requireArgs(args, 1, ["proposal-id"], "group tally");
|
|
142
|
+
const proposalId = parseBigInt(args[0], "proposal-id");
|
|
143
|
+
return { tally: (await group.tallyResult({ proposalId })).tally };
|
|
144
|
+
}
|
|
145
|
+
case "groups": {
|
|
146
|
+
const { pagination } = extractPaginationArgs(args, "group groups");
|
|
147
|
+
const result = await group.groups({ pagination });
|
|
148
|
+
return {
|
|
149
|
+
groups: result.groups,
|
|
150
|
+
pagination: result.pagination
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
default: throwUnsupportedSubcommand("query", "group", subcommand);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//#endregion
|
|
157
|
+
export { routeGroupQuery };
|
|
158
|
+
|
|
159
|
+
//# sourceMappingURL=group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group.js","names":[],"sources":["../../src/queries/group.ts"],"sourcesContent":["import type { ManifestQueryClient } from '../client.js';\nimport { throwUnsupportedSubcommand } from '../modules.js';\nimport type {\n GroupInfoResult,\n GroupMembersResult,\n GroupPoliciesResult,\n GroupPolicyInfoResult,\n GroupProposalResult,\n GroupProposalsResult,\n GroupsResult,\n GroupTallyQueryResult,\n GroupVoteResult,\n GroupVotesResult,\n} from '../types.js';\nimport {\n extractPaginationArgs,\n parseBigInt,\n requireArgs,\n validateAddress,\n} from './utils.js';\n\n/** Group query result union type */\ntype GroupQueryResultUnion =\n | GroupInfoResult\n | GroupPolicyInfoResult\n | GroupMembersResult\n | GroupsResult\n | GroupPoliciesResult\n | GroupProposalResult\n | GroupProposalsResult\n | GroupVoteResult\n | GroupVotesResult\n | GroupTallyQueryResult;\n\n/**\n * Route group module query to manifestjs query client\n *\n * Paginated queries support --limit flag (default: 100, max: 1000)\n */\nexport async function routeGroupQuery(\n queryClient: ManifestQueryClient,\n subcommand: string,\n args: string[],\n): Promise<GroupQueryResultUnion> {\n const group = queryClient.cosmos.group.v1;\n\n switch (subcommand) {\n case 'group-info': {\n requireArgs(args, 1, ['group-id'], 'group group-info');\n const groupId = parseBigInt(args[0], 'group-id');\n const result = await group.groupInfo({ groupId });\n return { info: result.info };\n }\n\n case 'group-policy-info': {\n requireArgs(args, 1, ['group-policy-address'], 'group group-policy-info');\n validateAddress(args[0], 'group policy address');\n const result = await group.groupPolicyInfo({ address: args[0] });\n return { info: result.info };\n }\n\n case 'group-members': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'group group-members',\n );\n requireArgs(remainingArgs, 1, ['group-id'], 'group group-members');\n const groupId = parseBigInt(remainingArgs[0], 'group-id');\n const result = await group.groupMembers({ groupId, pagination });\n return { members: result.members, pagination: result.pagination };\n }\n\n case 'groups-by-admin': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'group groups-by-admin',\n );\n requireArgs(remainingArgs, 1, ['admin-address'], 'group groups-by-admin');\n validateAddress(remainingArgs[0], 'admin address');\n const result = await group.groupsByAdmin({\n admin: remainingArgs[0],\n pagination,\n });\n return { groups: result.groups, pagination: result.pagination };\n }\n\n case 'group-policies-by-group': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'group group-policies-by-group',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['group-id'],\n 'group group-policies-by-group',\n );\n const groupId = parseBigInt(remainingArgs[0], 'group-id');\n const result = await group.groupPoliciesByGroup({ groupId, pagination });\n return {\n groupPolicies: result.groupPolicies,\n pagination: result.pagination,\n };\n }\n\n case 'group-policies-by-admin': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'group group-policies-by-admin',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['admin-address'],\n 'group group-policies-by-admin',\n );\n validateAddress(remainingArgs[0], 'admin address');\n const result = await group.groupPoliciesByAdmin({\n admin: remainingArgs[0],\n pagination,\n });\n return {\n groupPolicies: result.groupPolicies,\n pagination: result.pagination,\n };\n }\n\n case 'proposal': {\n requireArgs(args, 1, ['proposal-id'], 'group proposal');\n const proposalId = parseBigInt(args[0], 'proposal-id');\n const result = await group.proposal({ proposalId });\n return { proposal: result.proposal };\n }\n\n case 'proposals-by-group-policy': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'group proposals-by-group-policy',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['group-policy-address'],\n 'group proposals-by-group-policy',\n );\n validateAddress(remainingArgs[0], 'group policy address');\n const result = await group.proposalsByGroupPolicy({\n address: remainingArgs[0],\n pagination,\n });\n return { proposals: result.proposals, pagination: result.pagination };\n }\n\n case 'vote': {\n requireArgs(args, 2, ['proposal-id', 'voter-address'], 'group vote');\n const proposalId = parseBigInt(args[0], 'proposal-id');\n validateAddress(args[1], 'voter address');\n const result = await group.voteByProposalVoter({\n proposalId,\n voter: args[1],\n });\n return { vote: result.vote };\n }\n\n case 'votes-by-proposal': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'group votes-by-proposal',\n );\n requireArgs(remainingArgs, 1, ['proposal-id'], 'group votes-by-proposal');\n const proposalId = parseBigInt(remainingArgs[0], 'proposal-id');\n const result = await group.votesByProposal({ proposalId, pagination });\n return { votes: result.votes, pagination: result.pagination };\n }\n\n case 'votes-by-voter': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'group votes-by-voter',\n );\n requireArgs(remainingArgs, 1, ['voter-address'], 'group votes-by-voter');\n validateAddress(remainingArgs[0], 'voter address');\n const result = await group.votesByVoter({\n voter: remainingArgs[0],\n pagination,\n });\n return { votes: result.votes, pagination: result.pagination };\n }\n\n case 'groups-by-member': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'group groups-by-member',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['member-address'],\n 'group groups-by-member',\n );\n validateAddress(remainingArgs[0], 'member address');\n const result = await group.groupsByMember({\n address: remainingArgs[0],\n pagination,\n });\n return { groups: result.groups, pagination: result.pagination };\n }\n\n case 'tally': {\n requireArgs(args, 1, ['proposal-id'], 'group tally');\n const proposalId = parseBigInt(args[0], 'proposal-id');\n const result = await group.tallyResult({ proposalId });\n return { tally: result.tally };\n }\n\n case 'groups': {\n const { pagination } = extractPaginationArgs(args, 'group groups');\n const result = await group.groups({ pagination });\n return { groups: result.groups, pagination: result.pagination };\n }\n\n default:\n throwUnsupportedSubcommand('query', 'group', subcommand);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, PaginationConfig, createPagination, extractPaginationArgs, parseBigInt, parseInteger } from "./utils.js";
|
|
2
|
+
import { routeAuthQuery } from "./auth.js";
|
|
3
|
+
import { routeBankQuery } from "./bank.js";
|
|
4
|
+
import { routeBillingQuery } from "./billing.js";
|
|
5
|
+
import { routeDistributionQuery } from "./distribution.js";
|
|
6
|
+
import { routeGovQuery } from "./gov.js";
|
|
7
|
+
import { routeGroupQuery } from "./group.js";
|
|
8
|
+
import { routeSkuQuery } from "./sku.js";
|
|
9
|
+
import { routeStakingQuery } from "./staking.js";
|
|
10
|
+
export { DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, type PaginationConfig, createPagination, extractPaginationArgs, parseBigInt, parseInteger, routeAuthQuery, routeBankQuery, routeBillingQuery, routeDistributionQuery, routeGovQuery, routeGroupQuery, routeSkuQuery, routeStakingQuery };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, createPagination, extractPaginationArgs, parseBigInt, parseInteger } from "./utils.js";
|
|
2
|
+
import { routeAuthQuery } from "./auth.js";
|
|
3
|
+
import { routeBankQuery } from "./bank.js";
|
|
4
|
+
import { routeBillingQuery } from "./billing.js";
|
|
5
|
+
import { routeDistributionQuery } from "./distribution.js";
|
|
6
|
+
import { routeGovQuery } from "./gov.js";
|
|
7
|
+
import { routeGroupQuery } from "./group.js";
|
|
8
|
+
import { routeSkuQuery } from "./sku.js";
|
|
9
|
+
import { routeStakingQuery } from "./staking.js";
|
|
10
|
+
export { DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, createPagination, extractPaginationArgs, parseBigInt, parseInteger, routeAuthQuery, routeBankQuery, routeBillingQuery, routeDistributionQuery, routeGovQuery, routeGroupQuery, routeSkuQuery, routeStakingQuery };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ProviderResult, ProvidersResult, SkuParamsResult, SkuResult, SkusResult } from "../types.js";
|
|
2
|
+
import { ManifestQueryClient } from "../client.js";
|
|
3
|
+
|
|
4
|
+
//#region src/queries/sku.d.ts
|
|
5
|
+
/** SKU query result union type */
|
|
6
|
+
type SkuQueryResult = SkuParamsResult | ProviderResult | ProvidersResult | SkuResult | SkusResult;
|
|
7
|
+
/**
|
|
8
|
+
* Route SKU module query to manifestjs query client
|
|
9
|
+
*
|
|
10
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
11
|
+
* Filterable queries support --active-only flag
|
|
12
|
+
*/
|
|
13
|
+
declare function routeSkuQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<SkuQueryResult>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { routeSkuQuery };
|
|
16
|
+
//# sourceMappingURL=sku.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sku.d.ts","names":[],"sources":["../../src/queries/sku.ts"],"mappings":";;;;;KAgBK,cAAA,GACD,eAAA,GACA,cAAA,GACA,eAAA,GACA,SAAA,GACA,UAAA;AAbiB;;;;;;AAAA,iBAqBC,aAAA,CACpB,WAAA,EAAa,mBAAA,EACb,UAAA,UACA,IAAA,aACC,OAAA,CAAQ,cAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { extractBooleanFlag } from "../transactions/utils.js";
|
|
2
|
+
import { extractPaginationArgs, requireArgs } from "./utils.js";
|
|
3
|
+
import { throwUnsupportedSubcommand } from "../modules.js";
|
|
4
|
+
//#region src/queries/sku.ts
|
|
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
|
+
async function routeSkuQuery(queryClient, subcommand, args) {
|
|
12
|
+
const sku = queryClient.liftedinit.sku.v1;
|
|
13
|
+
switch (subcommand) {
|
|
14
|
+
case "params": return { params: (await sku.params({})).params };
|
|
15
|
+
case "provider": {
|
|
16
|
+
requireArgs(args, 1, ["provider-uuid"], "sku provider");
|
|
17
|
+
const [uuid] = args;
|
|
18
|
+
return { provider: (await sku.provider({ uuid })).provider };
|
|
19
|
+
}
|
|
20
|
+
case "providers": {
|
|
21
|
+
const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, "--active-only");
|
|
22
|
+
const { pagination } = extractPaginationArgs(afterBool, "sku providers");
|
|
23
|
+
const result = await sku.providers({
|
|
24
|
+
pagination,
|
|
25
|
+
activeOnly
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
providers: result.providers,
|
|
29
|
+
pagination: result.pagination
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
case "sku": {
|
|
33
|
+
requireArgs(args, 1, ["sku-uuid"], "sku sku");
|
|
34
|
+
const [uuid] = args;
|
|
35
|
+
return { sku: (await sku.sKU({ uuid })).sku };
|
|
36
|
+
}
|
|
37
|
+
case "skus": {
|
|
38
|
+
const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, "--active-only");
|
|
39
|
+
const { pagination } = extractPaginationArgs(afterBool, "sku skus");
|
|
40
|
+
const result = await sku.sKUs({
|
|
41
|
+
pagination,
|
|
42
|
+
activeOnly
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
skus: result.skus,
|
|
46
|
+
pagination: result.pagination
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
case "skus-by-provider": {
|
|
50
|
+
const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, "--active-only");
|
|
51
|
+
const { pagination, remainingArgs } = extractPaginationArgs(afterBool, "sku skus-by-provider");
|
|
52
|
+
requireArgs(remainingArgs, 1, ["provider-uuid"], "sku skus-by-provider");
|
|
53
|
+
const [providerUuid] = remainingArgs;
|
|
54
|
+
const result = await sku.sKUsByProvider({
|
|
55
|
+
providerUuid,
|
|
56
|
+
pagination,
|
|
57
|
+
activeOnly
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
skus: result.skus,
|
|
61
|
+
pagination: result.pagination
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
case "provider-by-address": {
|
|
65
|
+
const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, "--active-only");
|
|
66
|
+
const { pagination, remainingArgs } = extractPaginationArgs(afterBool, "sku provider-by-address");
|
|
67
|
+
requireArgs(remainingArgs, 1, ["address"], "sku provider-by-address");
|
|
68
|
+
const [address] = remainingArgs;
|
|
69
|
+
const result = await sku.providerByAddress({
|
|
70
|
+
address,
|
|
71
|
+
pagination,
|
|
72
|
+
activeOnly
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
providers: result.providers,
|
|
76
|
+
pagination: result.pagination
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
default: throwUnsupportedSubcommand("query", "sku", subcommand);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//#endregion
|
|
83
|
+
export { routeSkuQuery };
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=sku.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sku.js","names":[],"sources":["../../src/queries/sku.ts"],"sourcesContent":["import type { ManifestQueryClient } from '../client.js';\nimport { throwUnsupportedSubcommand } from '../modules.js';\nimport type {\n ProviderResult,\n ProvidersResult,\n SkuParamsResult,\n SkuResult,\n SkusResult,\n} from '../types.js';\nimport {\n extractBooleanFlag,\n extractPaginationArgs,\n requireArgs,\n} from './utils.js';\n\n/** SKU query result union type */\ntype SkuQueryResult =\n | SkuParamsResult\n | ProviderResult\n | ProvidersResult\n | SkuResult\n | SkusResult;\n\n/**\n * Route SKU module query to manifestjs query client\n *\n * Paginated queries support --limit flag (default: 100, max: 1000)\n * Filterable queries support --active-only flag\n */\nexport async function routeSkuQuery(\n queryClient: ManifestQueryClient,\n subcommand: string,\n args: string[],\n): Promise<SkuQueryResult> {\n const sku = queryClient.liftedinit.sku.v1;\n\n switch (subcommand) {\n case 'params': {\n const result = await sku.params({});\n return { params: result.params };\n }\n\n case 'provider': {\n requireArgs(args, 1, ['provider-uuid'], 'sku provider');\n const [uuid] = args;\n const result = await sku.provider({ uuid });\n return { provider: result.provider };\n }\n\n case 'providers': {\n const { value: activeOnly, remainingArgs: afterBool } =\n extractBooleanFlag(args, '--active-only');\n const { pagination } = extractPaginationArgs(afterBool, 'sku providers');\n const result = await sku.providers({ pagination, activeOnly });\n return { providers: result.providers, pagination: result.pagination };\n }\n\n case 'sku': {\n requireArgs(args, 1, ['sku-uuid'], 'sku sku');\n const [uuid] = args;\n const result = await sku.sKU({ uuid });\n return { sku: result.sku };\n }\n\n case 'skus': {\n const { value: activeOnly, remainingArgs: afterBool } =\n extractBooleanFlag(args, '--active-only');\n const { pagination } = extractPaginationArgs(afterBool, 'sku skus');\n const result = await sku.sKUs({ pagination, activeOnly });\n return { skus: result.skus, pagination: result.pagination };\n }\n\n case 'skus-by-provider': {\n const { value: activeOnly, remainingArgs: afterBool } =\n extractBooleanFlag(args, '--active-only');\n const { pagination, remainingArgs } = extractPaginationArgs(\n afterBool,\n 'sku skus-by-provider',\n );\n requireArgs(remainingArgs, 1, ['provider-uuid'], 'sku skus-by-provider');\n const [providerUuid] = remainingArgs;\n const result = await sku.sKUsByProvider({\n providerUuid,\n pagination,\n activeOnly,\n });\n return { skus: result.skus, pagination: result.pagination };\n }\n\n case 'provider-by-address': {\n const { value: activeOnly, remainingArgs: afterBool } =\n extractBooleanFlag(args, '--active-only');\n const { pagination, remainingArgs } = extractPaginationArgs(\n afterBool,\n 'sku provider-by-address',\n );\n requireArgs(remainingArgs, 1, ['address'], 'sku provider-by-address');\n const [address] = remainingArgs;\n const result = await sku.providerByAddress({\n address,\n pagination,\n activeOnly,\n });\n return { providers: result.providers, pagination: result.pagination };\n }\n\n default:\n throwUnsupportedSubcommand('query', 'sku', subcommand);\n }\n}\n"],"mappings":";;;;;;;;;;AA6BA,eAAsB,cACpB,aACA,YACA,MACyB;CACzB,MAAM,MAAM,YAAY,WAAW,IAAI;AAEvC,SAAQ,YAAR;EACE,KAAK,SAEH,QAAO,EAAE,SADM,MAAM,IAAI,OAAO,EAAE,CAAC,EACX,QAAQ;EAGlC,KAAK,YAAY;AACf,eAAY,MAAM,GAAG,CAAC,gBAAgB,EAAE,eAAe;GACvD,MAAM,CAAC,QAAQ;AAEf,UAAO,EAAE,WADM,MAAM,IAAI,SAAS,EAAE,MAAM,CAAC,EACjB,UAAU;;EAGtC,KAAK,aAAa;GAChB,MAAM,EAAE,OAAO,YAAY,eAAe,cACxC,mBAAmB,MAAM,gBAAgB;GAC3C,MAAM,EAAE,eAAe,sBAAsB,WAAW,gBAAgB;GACxE,MAAM,SAAS,MAAM,IAAI,UAAU;IAAE;IAAY;IAAY,CAAC;AAC9D,UAAO;IAAE,WAAW,OAAO;IAAW,YAAY,OAAO;IAAY;;EAGvE,KAAK,OAAO;AACV,eAAY,MAAM,GAAG,CAAC,WAAW,EAAE,UAAU;GAC7C,MAAM,CAAC,QAAQ;AAEf,UAAO,EAAE,MADM,MAAM,IAAI,IAAI,EAAE,MAAM,CAAC,EACjB,KAAK;;EAG5B,KAAK,QAAQ;GACX,MAAM,EAAE,OAAO,YAAY,eAAe,cACxC,mBAAmB,MAAM,gBAAgB;GAC3C,MAAM,EAAE,eAAe,sBAAsB,WAAW,WAAW;GACnE,MAAM,SAAS,MAAM,IAAI,KAAK;IAAE;IAAY;IAAY,CAAC;AACzD,UAAO;IAAE,MAAM,OAAO;IAAM,YAAY,OAAO;IAAY;;EAG7D,KAAK,oBAAoB;GACvB,MAAM,EAAE,OAAO,YAAY,eAAe,cACxC,mBAAmB,MAAM,gBAAgB;GAC3C,MAAM,EAAE,YAAY,kBAAkB,sBACpC,WACA,uBACD;AACD,eAAY,eAAe,GAAG,CAAC,gBAAgB,EAAE,uBAAuB;GACxE,MAAM,CAAC,gBAAgB;GACvB,MAAM,SAAS,MAAM,IAAI,eAAe;IACtC;IACA;IACA;IACD,CAAC;AACF,UAAO;IAAE,MAAM,OAAO;IAAM,YAAY,OAAO;IAAY;;EAG7D,KAAK,uBAAuB;GAC1B,MAAM,EAAE,OAAO,YAAY,eAAe,cACxC,mBAAmB,MAAM,gBAAgB;GAC3C,MAAM,EAAE,YAAY,kBAAkB,sBACpC,WACA,0BACD;AACD,eAAY,eAAe,GAAG,CAAC,UAAU,EAAE,0BAA0B;GACrE,MAAM,CAAC,WAAW;GAClB,MAAM,SAAS,MAAM,IAAI,kBAAkB;IACzC;IACA;IACA;IACD,CAAC;AACF,UAAO;IAAE,WAAW,OAAO;IAAW,YAAY,OAAO;IAAY;;EAGvE,QACE,4BAA2B,SAAS,OAAO,WAAW"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DelegationResult, DelegationsResult, HistoricalInfoResult, RedelegationsResult, StakingParamsResult, StakingPoolResult, UnbondingDelegationResult, UnbondingDelegationsResult, ValidatorResult, ValidatorsResult } from "../types.js";
|
|
2
|
+
import { ManifestQueryClient } from "../client.js";
|
|
3
|
+
|
|
4
|
+
//#region src/queries/staking.d.ts
|
|
5
|
+
/** Staking query result union type */
|
|
6
|
+
type StakingQueryResult = DelegationResult | DelegationsResult | UnbondingDelegationResult | UnbondingDelegationsResult | RedelegationsResult | ValidatorResult | ValidatorsResult | StakingPoolResult | StakingParamsResult | HistoricalInfoResult;
|
|
7
|
+
/**
|
|
8
|
+
* Route staking query to manifestjs query client
|
|
9
|
+
*
|
|
10
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
11
|
+
*/
|
|
12
|
+
declare function routeStakingQuery(queryClient: ManifestQueryClient, subcommand: string, args: string[]): Promise<StakingQueryResult>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { routeStakingQuery };
|
|
15
|
+
//# sourceMappingURL=staking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staking.d.ts","names":[],"sources":["../../src/queries/staking.ts"],"mappings":";;;;;KAiBK,kBAAA,GACD,gBAAA,GACA,iBAAA,GACA,yBAAA,GACA,0BAAA,GACA,mBAAA,GACA,eAAA,GACA,gBAAA,GACA,iBAAA,GACA,mBAAA,GACA,oBAAA;AAdiB;;;;;AAAA,iBAqBC,iBAAA,CACpB,WAAA,EAAa,mBAAA,EACb,UAAA,UACA,IAAA,aACC,OAAA,CAAQ,kBAAA"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { extractPaginationArgs, parseBigInt, requireArgs } from "./utils.js";
|
|
2
|
+
import { throwUnsupportedSubcommand } from "../modules.js";
|
|
3
|
+
//#region src/queries/staking.ts
|
|
4
|
+
/**
|
|
5
|
+
* Route staking query to manifestjs query client
|
|
6
|
+
*
|
|
7
|
+
* Paginated queries support --limit flag (default: 100, max: 1000)
|
|
8
|
+
*/
|
|
9
|
+
async function routeStakingQuery(queryClient, subcommand, args) {
|
|
10
|
+
const staking = queryClient.cosmos.staking.v1beta1;
|
|
11
|
+
switch (subcommand) {
|
|
12
|
+
case "delegation": {
|
|
13
|
+
requireArgs(args, 2, ["delegator-address", "validator-address"], "staking delegation");
|
|
14
|
+
const [delegatorAddr, validatorAddr] = args;
|
|
15
|
+
return { delegationResponse: (await staking.delegation({
|
|
16
|
+
delegatorAddr,
|
|
17
|
+
validatorAddr
|
|
18
|
+
})).delegationResponse };
|
|
19
|
+
}
|
|
20
|
+
case "delegations": {
|
|
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({
|
|
25
|
+
delegatorAddr,
|
|
26
|
+
pagination
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
delegationResponses: result.delegationResponses,
|
|
30
|
+
pagination: result.pagination
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
case "unbonding-delegation": {
|
|
34
|
+
requireArgs(args, 2, ["delegator-address", "validator-address"], "staking unbonding-delegation");
|
|
35
|
+
const [delegatorAddr, validatorAddr] = args;
|
|
36
|
+
return { unbond: (await staking.unbondingDelegation({
|
|
37
|
+
delegatorAddr,
|
|
38
|
+
validatorAddr
|
|
39
|
+
})).unbond };
|
|
40
|
+
}
|
|
41
|
+
case "unbonding-delegations": {
|
|
42
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "staking unbonding-delegations");
|
|
43
|
+
requireArgs(remainingArgs, 1, ["delegator-address"], "staking unbonding-delegations");
|
|
44
|
+
const [delegatorAddr] = remainingArgs;
|
|
45
|
+
const result = await staking.delegatorUnbondingDelegations({
|
|
46
|
+
delegatorAddr,
|
|
47
|
+
pagination
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
unbondingResponses: result.unbondingResponses,
|
|
51
|
+
pagination: result.pagination
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
case "redelegations": {
|
|
55
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "staking redelegations");
|
|
56
|
+
requireArgs(remainingArgs, 1, ["delegator-address"], "staking redelegations");
|
|
57
|
+
const [delegatorAddr] = remainingArgs;
|
|
58
|
+
const srcValidatorAddr = remainingArgs[1] || "";
|
|
59
|
+
const dstValidatorAddr = remainingArgs[2] || "";
|
|
60
|
+
const result = await staking.redelegations({
|
|
61
|
+
delegatorAddr,
|
|
62
|
+
srcValidatorAddr,
|
|
63
|
+
dstValidatorAddr,
|
|
64
|
+
pagination
|
|
65
|
+
});
|
|
66
|
+
return {
|
|
67
|
+
redelegationResponses: result.redelegationResponses,
|
|
68
|
+
pagination: result.pagination
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
case "validator": {
|
|
72
|
+
requireArgs(args, 1, ["validator-address"], "staking validator");
|
|
73
|
+
const [validatorAddr] = args;
|
|
74
|
+
return { validator: (await staking.validator({ validatorAddr })).validator };
|
|
75
|
+
}
|
|
76
|
+
case "validators": {
|
|
77
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "staking validators");
|
|
78
|
+
const status = remainingArgs[0] || "";
|
|
79
|
+
const result = await staking.validators({
|
|
80
|
+
status,
|
|
81
|
+
pagination
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
validators: result.validators,
|
|
85
|
+
pagination: result.pagination
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
case "validator-delegations": {
|
|
89
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "staking validator-delegations");
|
|
90
|
+
requireArgs(remainingArgs, 1, ["validator-address"], "staking validator-delegations");
|
|
91
|
+
const [validatorAddr] = remainingArgs;
|
|
92
|
+
const result = await staking.validatorDelegations({
|
|
93
|
+
validatorAddr,
|
|
94
|
+
pagination
|
|
95
|
+
});
|
|
96
|
+
return {
|
|
97
|
+
delegationResponses: result.delegationResponses,
|
|
98
|
+
pagination: result.pagination
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
case "validator-unbonding-delegations": {
|
|
102
|
+
const { pagination, remainingArgs } = extractPaginationArgs(args, "staking validator-unbonding-delegations");
|
|
103
|
+
requireArgs(remainingArgs, 1, ["validator-address"], "staking validator-unbonding-delegations");
|
|
104
|
+
const [validatorAddr] = remainingArgs;
|
|
105
|
+
const result = await staking.validatorUnbondingDelegations({
|
|
106
|
+
validatorAddr,
|
|
107
|
+
pagination
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
unbondingResponses: result.unbondingResponses,
|
|
111
|
+
pagination: result.pagination
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
case "pool": return { pool: (await staking.pool({})).pool };
|
|
115
|
+
case "params": return { params: (await staking.params({})).params };
|
|
116
|
+
case "historical-info": {
|
|
117
|
+
requireArgs(args, 1, ["height"], "staking historical-info");
|
|
118
|
+
const height = parseBigInt(args[0], "height");
|
|
119
|
+
return { hist: (await staking.historicalInfo({ height })).hist };
|
|
120
|
+
}
|
|
121
|
+
default: throwUnsupportedSubcommand("query", "staking", subcommand);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//#endregion
|
|
125
|
+
export { routeStakingQuery };
|
|
126
|
+
|
|
127
|
+
//# sourceMappingURL=staking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staking.js","names":[],"sources":["../../src/queries/staking.ts"],"sourcesContent":["import type { ManifestQueryClient } from '../client.js';\nimport { throwUnsupportedSubcommand } from '../modules.js';\nimport type {\n DelegationResult,\n DelegationsResult,\n HistoricalInfoResult,\n RedelegationsResult,\n StakingParamsResult,\n StakingPoolResult,\n UnbondingDelegationResult,\n UnbondingDelegationsResult,\n ValidatorResult,\n ValidatorsResult,\n} from '../types.js';\nimport { extractPaginationArgs, parseBigInt, requireArgs } from './utils.js';\n\n/** Staking query result union type */\ntype StakingQueryResult =\n | DelegationResult\n | DelegationsResult\n | UnbondingDelegationResult\n | UnbondingDelegationsResult\n | RedelegationsResult\n | ValidatorResult\n | ValidatorsResult\n | StakingPoolResult\n | StakingParamsResult\n | HistoricalInfoResult;\n\n/**\n * Route staking query to manifestjs query client\n *\n * Paginated queries support --limit flag (default: 100, max: 1000)\n */\nexport async function routeStakingQuery(\n queryClient: ManifestQueryClient,\n subcommand: string,\n args: string[],\n): Promise<StakingQueryResult> {\n const staking = queryClient.cosmos.staking.v1beta1;\n\n switch (subcommand) {\n case 'delegation': {\n requireArgs(\n args,\n 2,\n ['delegator-address', 'validator-address'],\n 'staking delegation',\n );\n const [delegatorAddr, validatorAddr] = args;\n const result = await staking.delegation({\n delegatorAddr,\n validatorAddr,\n });\n return { delegationResponse: result.delegationResponse };\n }\n\n case 'delegations': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'staking delegations',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['delegator-address'],\n 'staking delegations',\n );\n const [delegatorAddr] = remainingArgs;\n const result = await staking.delegatorDelegations({\n delegatorAddr,\n pagination,\n });\n return {\n delegationResponses: result.delegationResponses,\n pagination: result.pagination,\n };\n }\n\n case 'unbonding-delegation': {\n requireArgs(\n args,\n 2,\n ['delegator-address', 'validator-address'],\n 'staking unbonding-delegation',\n );\n const [delegatorAddr, validatorAddr] = args;\n const result = await staking.unbondingDelegation({\n delegatorAddr,\n validatorAddr,\n });\n return { unbond: result.unbond };\n }\n\n case 'unbonding-delegations': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'staking unbonding-delegations',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['delegator-address'],\n 'staking unbonding-delegations',\n );\n const [delegatorAddr] = remainingArgs;\n const result = await staking.delegatorUnbondingDelegations({\n delegatorAddr,\n pagination,\n });\n return {\n unbondingResponses: result.unbondingResponses,\n pagination: result.pagination,\n };\n }\n\n case 'redelegations': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'staking redelegations',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['delegator-address'],\n 'staking redelegations',\n );\n const [delegatorAddr] = remainingArgs;\n // Optional: src and dst validator addresses for filtering\n const srcValidatorAddr = remainingArgs[1] || '';\n const dstValidatorAddr = remainingArgs[2] || '';\n const result = await staking.redelegations({\n delegatorAddr,\n srcValidatorAddr,\n dstValidatorAddr,\n pagination,\n });\n return {\n redelegationResponses: result.redelegationResponses,\n pagination: result.pagination,\n };\n }\n\n case 'validator': {\n requireArgs(args, 1, ['validator-address'], 'staking validator');\n const [validatorAddr] = args;\n const result = await staking.validator({ validatorAddr });\n return { validator: result.validator };\n }\n\n case 'validators': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'staking validators',\n );\n // Optional: status filter\n const status = remainingArgs[0] || '';\n const result = await staking.validators({ status, pagination });\n return { validators: result.validators, pagination: result.pagination };\n }\n\n case 'validator-delegations': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'staking validator-delegations',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['validator-address'],\n 'staking validator-delegations',\n );\n const [validatorAddr] = remainingArgs;\n const result = await staking.validatorDelegations({\n validatorAddr,\n pagination,\n });\n return {\n delegationResponses: result.delegationResponses,\n pagination: result.pagination,\n };\n }\n\n case 'validator-unbonding-delegations': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'staking validator-unbonding-delegations',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['validator-address'],\n 'staking validator-unbonding-delegations',\n );\n const [validatorAddr] = remainingArgs;\n const result = await staking.validatorUnbondingDelegations({\n validatorAddr,\n pagination,\n });\n return {\n unbondingResponses: result.unbondingResponses,\n pagination: result.pagination,\n };\n }\n\n case 'pool': {\n const result = await staking.pool({});\n return { pool: result.pool };\n }\n\n case 'params': {\n const result = await staking.params({});\n return { params: result.params };\n }\n\n case 'historical-info': {\n requireArgs(args, 1, ['height'], 'staking historical-info');\n const height = parseBigInt(args[0], 'height');\n const result = await staking.historicalInfo({ height });\n return { hist: result.hist };\n }\n\n default:\n throwUnsupportedSubcommand('query', 'staking', subcommand);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ExtractedBooleanFlag, extractBooleanFlag, validateAddress } from "../transactions/utils.js";
|
|
2
|
+
|
|
3
|
+
//#region src/queries/utils.d.ts
|
|
4
|
+
/** Default page size limit for paginated queries to prevent resource exhaustion */
|
|
5
|
+
declare const DEFAULT_PAGE_LIMIT: bigint;
|
|
6
|
+
/** Maximum page size limit to prevent DoS */
|
|
7
|
+
declare const MAX_PAGE_LIMIT: bigint;
|
|
8
|
+
/**
|
|
9
|
+
* Cosmos SDK pagination configuration
|
|
10
|
+
*/
|
|
11
|
+
interface PaginationConfig {
|
|
12
|
+
readonly key: Uint8Array;
|
|
13
|
+
readonly offset: bigint;
|
|
14
|
+
readonly limit: bigint;
|
|
15
|
+
readonly countTotal: boolean;
|
|
16
|
+
readonly reverse: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Create pagination configuration with optional custom limit.
|
|
20
|
+
* Validates that limit is within acceptable bounds.
|
|
21
|
+
*
|
|
22
|
+
* @param limit - Optional custom limit (defaults to DEFAULT_PAGE_LIMIT)
|
|
23
|
+
* @returns Cosmos SDK pagination object
|
|
24
|
+
*/
|
|
25
|
+
declare function createPagination(limit?: bigint): PaginationConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Extract --limit flag from args and return pagination config with remaining args.
|
|
28
|
+
* Use this helper for paginated queries.
|
|
29
|
+
*
|
|
30
|
+
* @param args - The arguments array
|
|
31
|
+
* @param context - Context for error messages
|
|
32
|
+
* @returns Object with pagination config and filtered args
|
|
33
|
+
*/
|
|
34
|
+
declare function extractPaginationArgs(args: string[], context: string): {
|
|
35
|
+
pagination: PaginationConfig;
|
|
36
|
+
remainingArgs: string[];
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Safely parse a string to BigInt with proper error handling (for queries)
|
|
40
|
+
*/
|
|
41
|
+
declare function parseBigInt(value: string, fieldName: string): bigint;
|
|
42
|
+
/**
|
|
43
|
+
* Safely parse a string to integer with proper error handling.
|
|
44
|
+
* Named parseInteger to avoid shadowing global parseInt.
|
|
45
|
+
*/
|
|
46
|
+
declare function parseInteger(value: string, fieldName: string): number;
|
|
47
|
+
/**
|
|
48
|
+
* Validate that required arguments are present (for queries).
|
|
49
|
+
* Uses QUERY_FAILED error code by default.
|
|
50
|
+
*/
|
|
51
|
+
declare function requireArgs(args: string[], minCount: number, expectedNames: string[], context: string): void;
|
|
52
|
+
//#endregion
|
|
53
|
+
export { DEFAULT_PAGE_LIMIT, type ExtractedBooleanFlag, MAX_PAGE_LIMIT, PaginationConfig, createPagination, extractBooleanFlag, extractPaginationArgs, parseBigInt, parseInteger, requireArgs, validateAddress };
|
|
54
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/queries/utils.ts"],"mappings":";;;AAcA;AAAA,cAAa,kBAAA;;cAGA,cAAA;;AAAb;;UAKiB,gBAAA;EAAA,SACN,GAAA,EAAK,UAAA;EAAA,SACL,MAAA;EAAA,SACA,KAAA;EAAA,SACA,UAAA;EAAA,SACA,OAAA;AAAA;;;;;;;;iBAUK,gBAAA,CAAiB,KAAA,YAAiB,gBAAA;AAAlD;;;;;AA2BA;;;AA3BA,iBA2BgB,qBAAA,CACd,IAAA,YACA,OAAA;EACG,UAAA,EAAY,gBAAA;EAAkB,aAAA;AAAA;;;;iBA6BnB,WAAA,CAAY,KAAA,UAAe,SAAA;AAA3C;;;;AAAA,iBAYgB,YAAA,CAAa,KAAA,UAAe,SAAA;AAA5C;;;;AAAA,iBAegB,WAAA,CACd,IAAA,YACA,QAAA,UACA,aAAA,YACA,OAAA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { ManifestMCPError, ManifestMCPErrorCode } from "../types.js";
|
|
2
|
+
import { extractBooleanFlag, extractFlag, filterConsumedArgs, parseBigIntWithCode, requireArgs as requireArgs$1, validateAddress } from "../transactions/utils.js";
|
|
3
|
+
//#region src/queries/utils.ts
|
|
4
|
+
/** Default page size limit for paginated queries to prevent resource exhaustion */
|
|
5
|
+
const DEFAULT_PAGE_LIMIT = BigInt(100);
|
|
6
|
+
/** Maximum page size limit to prevent DoS */
|
|
7
|
+
const MAX_PAGE_LIMIT = BigInt(1e3);
|
|
8
|
+
/**
|
|
9
|
+
* Create pagination configuration with optional custom limit.
|
|
10
|
+
* Validates that limit is within acceptable bounds.
|
|
11
|
+
*
|
|
12
|
+
* @param limit - Optional custom limit (defaults to DEFAULT_PAGE_LIMIT)
|
|
13
|
+
* @returns Cosmos SDK pagination object
|
|
14
|
+
*/
|
|
15
|
+
function createPagination(limit) {
|
|
16
|
+
let effectiveLimit = limit ?? DEFAULT_PAGE_LIMIT;
|
|
17
|
+
if (effectiveLimit < BigInt(1)) effectiveLimit = BigInt(1);
|
|
18
|
+
else if (effectiveLimit > MAX_PAGE_LIMIT) effectiveLimit = MAX_PAGE_LIMIT;
|
|
19
|
+
return {
|
|
20
|
+
key: new Uint8Array(),
|
|
21
|
+
offset: BigInt(0),
|
|
22
|
+
limit: effectiveLimit,
|
|
23
|
+
countTotal: false,
|
|
24
|
+
reverse: false
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Extract --limit flag from args and return pagination config with remaining args.
|
|
29
|
+
* Use this helper for paginated queries.
|
|
30
|
+
*
|
|
31
|
+
* @param args - The arguments array
|
|
32
|
+
* @param context - Context for error messages
|
|
33
|
+
* @returns Object with pagination config and filtered args
|
|
34
|
+
*/
|
|
35
|
+
function extractPaginationArgs(args, context) {
|
|
36
|
+
const { value: limitStr, consumedIndices } = extractFlag(args, "--limit", context, ManifestMCPErrorCode.QUERY_FAILED);
|
|
37
|
+
const remainingArgs = filterConsumedArgs(args, consumedIndices);
|
|
38
|
+
let pagination;
|
|
39
|
+
if (limitStr) {
|
|
40
|
+
const limit = parseBigInt(limitStr, "limit");
|
|
41
|
+
if (limit < BigInt(1) || limit > MAX_PAGE_LIMIT) throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, `Invalid limit: ${limit}. Must be between 1 and ${MAX_PAGE_LIMIT}.`);
|
|
42
|
+
pagination = createPagination(limit);
|
|
43
|
+
} else pagination = createPagination();
|
|
44
|
+
return {
|
|
45
|
+
pagination,
|
|
46
|
+
remainingArgs
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Safely parse a string to BigInt with proper error handling (for queries)
|
|
51
|
+
*/
|
|
52
|
+
function parseBigInt(value, fieldName) {
|
|
53
|
+
return parseBigIntWithCode(value, fieldName, ManifestMCPErrorCode.QUERY_FAILED);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Safely parse a string to integer with proper error handling.
|
|
57
|
+
* Named parseInteger to avoid shadowing global parseInt.
|
|
58
|
+
*/
|
|
59
|
+
function parseInteger(value, fieldName) {
|
|
60
|
+
const parsed = Number.parseInt(value, 10);
|
|
61
|
+
if (Number.isNaN(parsed)) throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, `Invalid ${fieldName}: "${value}". Expected a valid integer.`);
|
|
62
|
+
return parsed;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Validate that required arguments are present (for queries).
|
|
66
|
+
* Uses QUERY_FAILED error code by default.
|
|
67
|
+
*/
|
|
68
|
+
function requireArgs(args, minCount, expectedNames, context) {
|
|
69
|
+
requireArgs$1(args, minCount, expectedNames, context, ManifestMCPErrorCode.QUERY_FAILED);
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
export { DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, createPagination, extractBooleanFlag, extractPaginationArgs, parseBigInt, parseInteger, requireArgs, validateAddress };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../src/queries/utils.ts"],"sourcesContent":["import {\n extractBooleanFlag,\n extractFlag,\n filterConsumedArgs,\n parseBigIntWithCode,\n requireArgs as requireArgsBase,\n validateAddress,\n} from '../transactions/utils.js';\nimport { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';\n\nexport type { ExtractedBooleanFlag } from '../transactions/utils.js';\nexport { extractBooleanFlag, validateAddress };\n\n/** Default page size limit for paginated queries to prevent resource exhaustion */\nexport const DEFAULT_PAGE_LIMIT = BigInt(100);\n\n/** Maximum page size limit to prevent DoS */\nexport const MAX_PAGE_LIMIT = BigInt(1000);\n\n/**\n * Cosmos SDK pagination configuration\n */\nexport interface PaginationConfig {\n readonly key: Uint8Array;\n readonly offset: bigint;\n readonly limit: bigint;\n readonly countTotal: boolean;\n readonly reverse: boolean;\n}\n\n/**\n * Create pagination configuration with optional custom limit.\n * Validates that limit is within acceptable bounds.\n *\n * @param limit - Optional custom limit (defaults to DEFAULT_PAGE_LIMIT)\n * @returns Cosmos SDK pagination object\n */\nexport function createPagination(limit?: bigint): PaginationConfig {\n let effectiveLimit = limit ?? DEFAULT_PAGE_LIMIT;\n\n // Clamp to valid range\n if (effectiveLimit < BigInt(1)) {\n effectiveLimit = BigInt(1);\n } else if (effectiveLimit > MAX_PAGE_LIMIT) {\n effectiveLimit = MAX_PAGE_LIMIT;\n }\n\n return {\n key: new Uint8Array(),\n offset: BigInt(0),\n limit: effectiveLimit,\n countTotal: false,\n reverse: false,\n };\n}\n\n/**\n * Extract --limit flag from args and return pagination config with remaining args.\n * Use this helper for paginated queries.\n *\n * @param args - The arguments array\n * @param context - Context for error messages\n * @returns Object with pagination config and filtered args\n */\nexport function extractPaginationArgs(\n args: string[],\n context: string,\n): { pagination: PaginationConfig; remainingArgs: string[] } {\n const { value: limitStr, consumedIndices } = extractFlag(\n args,\n '--limit',\n context,\n ManifestMCPErrorCode.QUERY_FAILED,\n );\n const remainingArgs = filterConsumedArgs(args, consumedIndices);\n\n let pagination: PaginationConfig;\n if (limitStr) {\n const limit = parseBigInt(limitStr, 'limit');\n if (limit < BigInt(1) || limit > MAX_PAGE_LIMIT) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.QUERY_FAILED,\n `Invalid limit: ${limit}. Must be between 1 and ${MAX_PAGE_LIMIT}.`,\n );\n }\n pagination = createPagination(limit);\n } else {\n pagination = createPagination();\n }\n\n return { pagination, remainingArgs };\n}\n\n/**\n * Safely parse a string to BigInt with proper error handling (for queries)\n */\nexport function parseBigInt(value: string, fieldName: string): bigint {\n return parseBigIntWithCode(\n value,\n fieldName,\n ManifestMCPErrorCode.QUERY_FAILED,\n );\n}\n\n/**\n * Safely parse a string to integer with proper error handling.\n * Named parseInteger to avoid shadowing global parseInt.\n */\nexport function parseInteger(value: string, fieldName: string): number {\n const parsed = Number.parseInt(value, 10);\n if (Number.isNaN(parsed)) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.QUERY_FAILED,\n `Invalid ${fieldName}: \"${value}\". Expected a valid integer.`,\n );\n }\n return parsed;\n}\n\n/**\n * Validate that required arguments are present (for queries).\n * Uses QUERY_FAILED error code by default.\n */\nexport function requireArgs(\n args: string[],\n minCount: number,\n expectedNames: string[],\n context: string,\n): void {\n requireArgsBase(\n args,\n minCount,\n expectedNames,\n context,\n ManifestMCPErrorCode.QUERY_FAILED,\n );\n}\n"],"mappings":";;;;AAcA,MAAa,qBAAqB,OAAO,IAAI;;AAG7C,MAAa,iBAAiB,OAAO,IAAK;;;;;;;;AAoB1C,SAAgB,iBAAiB,OAAkC;CACjE,IAAI,iBAAiB,SAAS;AAG9B,KAAI,iBAAiB,OAAO,EAAE,CAC5B,kBAAiB,OAAO,EAAE;UACjB,iBAAiB,eAC1B,kBAAiB;AAGnB,QAAO;EACL,KAAK,IAAI,YAAY;EACrB,QAAQ,OAAO,EAAE;EACjB,OAAO;EACP,YAAY;EACZ,SAAS;EACV;;;;;;;;;;AAWH,SAAgB,sBACd,MACA,SAC2D;CAC3D,MAAM,EAAE,OAAO,UAAU,oBAAoB,YAC3C,MACA,WACA,SACA,qBAAqB,aACtB;CACD,MAAM,gBAAgB,mBAAmB,MAAM,gBAAgB;CAE/D,IAAI;AACJ,KAAI,UAAU;EACZ,MAAM,QAAQ,YAAY,UAAU,QAAQ;AAC5C,MAAI,QAAQ,OAAO,EAAE,IAAI,QAAQ,eAC/B,OAAM,IAAI,iBACR,qBAAqB,cACrB,kBAAkB,MAAM,0BAA0B,eAAe,GAClE;AAEH,eAAa,iBAAiB,MAAM;OAEpC,cAAa,kBAAkB;AAGjC,QAAO;EAAE;EAAY;EAAe;;;;;AAMtC,SAAgB,YAAY,OAAe,WAA2B;AACpE,QAAO,oBACL,OACA,WACA,qBAAqB,aACtB;;;;;;AAOH,SAAgB,aAAa,OAAe,WAA2B;CACrE,MAAM,SAAS,OAAO,SAAS,OAAO,GAAG;AACzC,KAAI,OAAO,MAAM,OAAO,CACtB,OAAM,IAAI,iBACR,qBAAqB,cACrB,WAAW,UAAU,KAAK,MAAM,8BACjC;AAEH,QAAO;;;;;;AAOT,SAAgB,YACd,MACA,UACA,eACA,SACM;AACN,eACE,MACA,UACA,eACA,SACA,qBAAqB,aACtB"}
|