@manifest-network/manifest-mcp-browser 0.1.7 → 0.1.9
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/README.md +5 -2
- package/dist/client.d.ts +5 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +8 -2
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -10
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -8
- package/dist/index.js.map +1 -1
- package/dist/queries/index.d.ts +1 -0
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +1 -0
- package/dist/queries/index.js.map +1 -1
- package/dist/transactions/bank.d.ts.map +1 -1
- package/dist/transactions/bank.js +7 -5
- package/dist/transactions/bank.js.map +1 -1
- package/dist/transactions/gov.d.ts.map +1 -1
- package/dist/transactions/gov.js +7 -5
- package/dist/transactions/gov.js.map +1 -1
- package/dist/transactions/index.d.ts +1 -0
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/transactions/index.js +1 -0
- package/dist/transactions/index.js.map +1 -1
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +5 -6
- package/dist/transactions/utils.js.map +1 -1
- package/dist/types.d.ts +2 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +13 -3
- package/.github/workflows/ci.yml +0 -37
- package/.github/workflows/publish.yml +0 -53
- package/CLAUDE.md +0 -113
- package/dist/config.test.d.ts +0 -2
- package/dist/config.test.d.ts.map +0 -1
- package/dist/config.test.js +0 -251
- package/dist/config.test.js.map +0 -1
- package/dist/modules.test.d.ts +0 -2
- package/dist/modules.test.d.ts.map +0 -1
- package/dist/modules.test.js +0 -161
- package/dist/modules.test.js.map +0 -1
- package/dist/queries/utils.test.d.ts +0 -2
- package/dist/queries/utils.test.d.ts.map +0 -1
- package/dist/queries/utils.test.js +0 -117
- package/dist/queries/utils.test.js.map +0 -1
- package/dist/transactions/utils.test.d.ts +0 -2
- package/dist/transactions/utils.test.d.ts.map +0 -1
- package/dist/transactions/utils.test.js +0 -567
- package/dist/transactions/utils.test.js.map +0 -1
- package/src/client.ts +0 -288
- package/src/config.test.ts +0 -299
- package/src/config.ts +0 -174
- package/src/cosmos.ts +0 -106
- package/src/index.ts +0 -478
- package/src/modules.test.ts +0 -191
- package/src/modules.ts +0 -470
- package/src/queries/auth.ts +0 -97
- package/src/queries/bank.ts +0 -99
- package/src/queries/billing.ts +0 -124
- package/src/queries/distribution.ts +0 -114
- package/src/queries/gov.ts +0 -104
- package/src/queries/group.ts +0 -146
- package/src/queries/index.ts +0 -17
- package/src/queries/sku.ts +0 -85
- package/src/queries/staking.ts +0 -154
- package/src/queries/utils.test.ts +0 -156
- package/src/queries/utils.ts +0 -121
- package/src/transactions/bank.ts +0 -86
- package/src/transactions/billing.ts +0 -286
- package/src/transactions/distribution.ts +0 -76
- package/src/transactions/gov.ts +0 -164
- package/src/transactions/group.ts +0 -458
- package/src/transactions/index.ts +0 -8
- package/src/transactions/manifest.ts +0 -67
- package/src/transactions/sku.ts +0 -232
- package/src/transactions/staking.ts +0 -85
- package/src/transactions/utils.test.ts +0 -626
- package/src/transactions/utils.ts +0 -417
- package/src/types.ts +0 -548
- package/src/wallet/index.ts +0 -2
- package/src/wallet/mnemonic.ts +0 -146
- package/tsconfig.json +0 -23
package/src/transactions/sku.ts
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
import { SigningStargateClient } from '@cosmjs/stargate';
|
|
2
|
-
import { liftedinit } from '@manifest-network/manifestjs';
|
|
3
|
-
import { CosmosTxResult, ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
|
|
4
|
-
import { parseAmount, buildTxResult, validateAddress, validateArgsLength, extractFlag, filterConsumedArgs, requireArgs, parseHexBytes, MAX_META_HASH_BYTES } from './utils.js';
|
|
5
|
-
import { throwUnsupportedSubcommand } from '../modules.js';
|
|
6
|
-
|
|
7
|
-
const {
|
|
8
|
-
MsgCreateProvider, MsgUpdateProvider, MsgDeactivateProvider,
|
|
9
|
-
MsgCreateSKU, MsgUpdateSKU, MsgDeactivateSKU,
|
|
10
|
-
MsgUpdateParams,
|
|
11
|
-
Unit,
|
|
12
|
-
} = liftedinit.sku.v1;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Parse a unit string to the Unit enum value.
|
|
16
|
-
* Accepts 'per-hour' or 'per-day'.
|
|
17
|
-
*/
|
|
18
|
-
function parseUnit(value: string): number {
|
|
19
|
-
switch (value.toLowerCase()) {
|
|
20
|
-
case 'per-hour':
|
|
21
|
-
return Unit.UNIT_PER_HOUR;
|
|
22
|
-
case 'per-day':
|
|
23
|
-
return Unit.UNIT_PER_DAY;
|
|
24
|
-
default:
|
|
25
|
-
throw new ManifestMCPError(
|
|
26
|
-
ManifestMCPErrorCode.TX_FAILED,
|
|
27
|
-
`Invalid unit: "${value}". Expected "per-hour" or "per-day".`
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Parse a boolean string ('true' or 'false').
|
|
34
|
-
*/
|
|
35
|
-
function parseBooleanString(value: string, fieldName: string): boolean {
|
|
36
|
-
const lower = value.toLowerCase();
|
|
37
|
-
if (lower === 'true') return true;
|
|
38
|
-
if (lower === 'false') return false;
|
|
39
|
-
throw new ManifestMCPError(
|
|
40
|
-
ManifestMCPErrorCode.TX_FAILED,
|
|
41
|
-
`Invalid ${fieldName}: "${value}". Expected "true" or "false".`
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Route SKU transaction to appropriate handler
|
|
47
|
-
*/
|
|
48
|
-
export async function routeSkuTransaction(
|
|
49
|
-
client: SigningStargateClient,
|
|
50
|
-
senderAddress: string,
|
|
51
|
-
subcommand: string,
|
|
52
|
-
args: string[],
|
|
53
|
-
waitForConfirmation: boolean
|
|
54
|
-
): Promise<CosmosTxResult> {
|
|
55
|
-
validateArgsLength(args, 'sku transaction');
|
|
56
|
-
|
|
57
|
-
switch (subcommand) {
|
|
58
|
-
case 'create-provider': {
|
|
59
|
-
// Parse optional --meta-hash flag
|
|
60
|
-
const { value: metaHashHex, consumedIndices } = extractFlag(args, '--meta-hash', 'sku create-provider');
|
|
61
|
-
const metaHash = metaHashHex ? parseHexBytes(metaHashHex, 'meta-hash', MAX_META_HASH_BYTES) : new Uint8Array();
|
|
62
|
-
const positionalArgs = filterConsumedArgs(args, consumedIndices);
|
|
63
|
-
|
|
64
|
-
requireArgs(positionalArgs, 3, ['address', 'payout-address', 'api-url'], 'sku create-provider');
|
|
65
|
-
const [address, payoutAddress, apiUrl] = positionalArgs;
|
|
66
|
-
validateAddress(address, 'address');
|
|
67
|
-
validateAddress(payoutAddress, 'payout address');
|
|
68
|
-
|
|
69
|
-
const msg = {
|
|
70
|
-
typeUrl: '/liftedinit.sku.v1.MsgCreateProvider',
|
|
71
|
-
value: MsgCreateProvider.fromPartial({
|
|
72
|
-
authority: senderAddress,
|
|
73
|
-
address,
|
|
74
|
-
payoutAddress,
|
|
75
|
-
metaHash,
|
|
76
|
-
apiUrl,
|
|
77
|
-
}),
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
81
|
-
return buildTxResult('sku', 'create-provider', result, waitForConfirmation);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
case 'update-provider': {
|
|
85
|
-
// Parse optional flags
|
|
86
|
-
const metaHashFlag = extractFlag(args, '--meta-hash', 'sku update-provider');
|
|
87
|
-
const activeFlag = extractFlag(args, '--active', 'sku update-provider');
|
|
88
|
-
const allConsumed = [...metaHashFlag.consumedIndices, ...activeFlag.consumedIndices];
|
|
89
|
-
const positionalArgs = filterConsumedArgs(args, allConsumed);
|
|
90
|
-
|
|
91
|
-
requireArgs(positionalArgs, 4, ['provider-uuid', 'address', 'payout-address', 'api-url'], 'sku update-provider');
|
|
92
|
-
const [uuid, address, payoutAddress, apiUrl] = positionalArgs;
|
|
93
|
-
validateAddress(address, 'address');
|
|
94
|
-
validateAddress(payoutAddress, 'payout address');
|
|
95
|
-
|
|
96
|
-
const metaHash = metaHashFlag.value ? parseHexBytes(metaHashFlag.value, 'meta-hash', MAX_META_HASH_BYTES) : new Uint8Array();
|
|
97
|
-
const active = activeFlag.value ? parseBooleanString(activeFlag.value, 'active') : true;
|
|
98
|
-
|
|
99
|
-
const msg = {
|
|
100
|
-
typeUrl: '/liftedinit.sku.v1.MsgUpdateProvider',
|
|
101
|
-
value: MsgUpdateProvider.fromPartial({
|
|
102
|
-
authority: senderAddress,
|
|
103
|
-
uuid,
|
|
104
|
-
address,
|
|
105
|
-
payoutAddress,
|
|
106
|
-
metaHash,
|
|
107
|
-
active,
|
|
108
|
-
apiUrl,
|
|
109
|
-
}),
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
113
|
-
return buildTxResult('sku', 'update-provider', result, waitForConfirmation);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
case 'deactivate-provider': {
|
|
117
|
-
requireArgs(args, 1, ['provider-uuid'], 'sku deactivate-provider');
|
|
118
|
-
const [uuid] = args;
|
|
119
|
-
|
|
120
|
-
const msg = {
|
|
121
|
-
typeUrl: '/liftedinit.sku.v1.MsgDeactivateProvider',
|
|
122
|
-
value: MsgDeactivateProvider.fromPartial({
|
|
123
|
-
authority: senderAddress,
|
|
124
|
-
uuid,
|
|
125
|
-
}),
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
129
|
-
return buildTxResult('sku', 'deactivate-provider', result, waitForConfirmation);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
case 'create-sku': {
|
|
133
|
-
// Parse optional --meta-hash flag
|
|
134
|
-
const { value: metaHashHex, consumedIndices } = extractFlag(args, '--meta-hash', 'sku create-sku');
|
|
135
|
-
const metaHash = metaHashHex ? parseHexBytes(metaHashHex, 'meta-hash', MAX_META_HASH_BYTES) : new Uint8Array();
|
|
136
|
-
const positionalArgs = filterConsumedArgs(args, consumedIndices);
|
|
137
|
-
|
|
138
|
-
requireArgs(positionalArgs, 4, ['provider-uuid', 'name', 'unit', 'base-price'], 'sku create-sku');
|
|
139
|
-
const [providerUuid, name, unitStr, basePriceStr] = positionalArgs;
|
|
140
|
-
|
|
141
|
-
const unit = parseUnit(unitStr);
|
|
142
|
-
const { amount, denom } = parseAmount(basePriceStr);
|
|
143
|
-
|
|
144
|
-
const msg = {
|
|
145
|
-
typeUrl: '/liftedinit.sku.v1.MsgCreateSKU',
|
|
146
|
-
value: MsgCreateSKU.fromPartial({
|
|
147
|
-
authority: senderAddress,
|
|
148
|
-
providerUuid,
|
|
149
|
-
name,
|
|
150
|
-
unit,
|
|
151
|
-
basePrice: { denom, amount },
|
|
152
|
-
metaHash,
|
|
153
|
-
}),
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
157
|
-
return buildTxResult('sku', 'create-sku', result, waitForConfirmation);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
case 'update-sku': {
|
|
161
|
-
// Parse optional flags
|
|
162
|
-
const metaHashFlag = extractFlag(args, '--meta-hash', 'sku update-sku');
|
|
163
|
-
const activeFlag = extractFlag(args, '--active', 'sku update-sku');
|
|
164
|
-
const allConsumed = [...metaHashFlag.consumedIndices, ...activeFlag.consumedIndices];
|
|
165
|
-
const positionalArgs = filterConsumedArgs(args, allConsumed);
|
|
166
|
-
|
|
167
|
-
requireArgs(positionalArgs, 5, ['sku-uuid', 'provider-uuid', 'name', 'unit', 'base-price'], 'sku update-sku');
|
|
168
|
-
const [uuid, providerUuid, name, unitStr, basePriceStr] = positionalArgs;
|
|
169
|
-
|
|
170
|
-
const unit = parseUnit(unitStr);
|
|
171
|
-
const { amount, denom } = parseAmount(basePriceStr);
|
|
172
|
-
const metaHash = metaHashFlag.value ? parseHexBytes(metaHashFlag.value, 'meta-hash', MAX_META_HASH_BYTES) : new Uint8Array();
|
|
173
|
-
const active = activeFlag.value ? parseBooleanString(activeFlag.value, 'active') : true;
|
|
174
|
-
|
|
175
|
-
const msg = {
|
|
176
|
-
typeUrl: '/liftedinit.sku.v1.MsgUpdateSKU',
|
|
177
|
-
value: MsgUpdateSKU.fromPartial({
|
|
178
|
-
authority: senderAddress,
|
|
179
|
-
uuid,
|
|
180
|
-
providerUuid,
|
|
181
|
-
name,
|
|
182
|
-
unit,
|
|
183
|
-
basePrice: { denom, amount },
|
|
184
|
-
metaHash,
|
|
185
|
-
active,
|
|
186
|
-
}),
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
190
|
-
return buildTxResult('sku', 'update-sku', result, waitForConfirmation);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
case 'deactivate-sku': {
|
|
194
|
-
requireArgs(args, 1, ['sku-uuid'], 'sku deactivate-sku');
|
|
195
|
-
const [uuid] = args;
|
|
196
|
-
|
|
197
|
-
const msg = {
|
|
198
|
-
typeUrl: '/liftedinit.sku.v1.MsgDeactivateSKU',
|
|
199
|
-
value: MsgDeactivateSKU.fromPartial({
|
|
200
|
-
authority: senderAddress,
|
|
201
|
-
uuid,
|
|
202
|
-
}),
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
206
|
-
return buildTxResult('sku', 'deactivate-sku', result, waitForConfirmation);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
case 'update-params': {
|
|
210
|
-
requireArgs(args, 1, ['allowed-address'], 'sku update-params');
|
|
211
|
-
for (const addr of args) {
|
|
212
|
-
validateAddress(addr, 'allowed address');
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
const msg = {
|
|
216
|
-
typeUrl: '/liftedinit.sku.v1.MsgUpdateParams',
|
|
217
|
-
value: MsgUpdateParams.fromPartial({
|
|
218
|
-
authority: senderAddress,
|
|
219
|
-
params: {
|
|
220
|
-
allowedList: args,
|
|
221
|
-
},
|
|
222
|
-
}),
|
|
223
|
-
};
|
|
224
|
-
|
|
225
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
226
|
-
return buildTxResult('sku', 'update-params', result, waitForConfirmation);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
default:
|
|
230
|
-
throwUnsupportedSubcommand('tx', 'sku', subcommand);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { SigningStargateClient } from '@cosmjs/stargate';
|
|
2
|
-
import { cosmos } from '@manifest-network/manifestjs';
|
|
3
|
-
import { CosmosTxResult } from '../types.js';
|
|
4
|
-
import { throwUnsupportedSubcommand } from '../modules.js';
|
|
5
|
-
import { parseAmount, buildTxResult, validateAddress, validateArgsLength, requireArgs } from './utils.js';
|
|
6
|
-
|
|
7
|
-
const { MsgDelegate, MsgUndelegate, MsgBeginRedelegate } = cosmos.staking.v1beta1;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Route staking transaction to appropriate handler
|
|
11
|
-
*/
|
|
12
|
-
export async function routeStakingTransaction(
|
|
13
|
-
client: SigningStargateClient,
|
|
14
|
-
senderAddress: string,
|
|
15
|
-
subcommand: string,
|
|
16
|
-
args: string[],
|
|
17
|
-
waitForConfirmation: boolean
|
|
18
|
-
): Promise<CosmosTxResult> {
|
|
19
|
-
validateArgsLength(args, 'staking transaction');
|
|
20
|
-
|
|
21
|
-
switch (subcommand) {
|
|
22
|
-
case 'delegate': {
|
|
23
|
-
requireArgs(args, 2, ['validator-address', 'amount'], 'staking delegate');
|
|
24
|
-
const [validatorAddress, amountStr] = args;
|
|
25
|
-
validateAddress(validatorAddress, 'validator address');
|
|
26
|
-
const { amount, denom } = parseAmount(amountStr);
|
|
27
|
-
|
|
28
|
-
const msg = {
|
|
29
|
-
typeUrl: '/cosmos.staking.v1beta1.MsgDelegate',
|
|
30
|
-
value: MsgDelegate.fromPartial({
|
|
31
|
-
delegatorAddress: senderAddress,
|
|
32
|
-
validatorAddress,
|
|
33
|
-
amount: { denom, amount },
|
|
34
|
-
}),
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
38
|
-
return buildTxResult('staking', 'delegate', result, waitForConfirmation);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
case 'unbond':
|
|
42
|
-
case 'undelegate': {
|
|
43
|
-
requireArgs(args, 2, ['validator-address', 'amount'], 'staking unbond');
|
|
44
|
-
const [validatorAddress, amountStr] = args;
|
|
45
|
-
validateAddress(validatorAddress, 'validator address');
|
|
46
|
-
const { amount, denom } = parseAmount(amountStr);
|
|
47
|
-
|
|
48
|
-
const msg = {
|
|
49
|
-
typeUrl: '/cosmos.staking.v1beta1.MsgUndelegate',
|
|
50
|
-
value: MsgUndelegate.fromPartial({
|
|
51
|
-
delegatorAddress: senderAddress,
|
|
52
|
-
validatorAddress,
|
|
53
|
-
amount: { denom, amount },
|
|
54
|
-
}),
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
58
|
-
return buildTxResult('staking', 'unbond', result, waitForConfirmation);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
case 'redelegate': {
|
|
62
|
-
requireArgs(args, 3, ['src-validator', 'dst-validator', 'amount'], 'staking redelegate');
|
|
63
|
-
const [srcValidatorAddress, dstValidatorAddress, amountStr] = args;
|
|
64
|
-
validateAddress(srcValidatorAddress, 'source validator address');
|
|
65
|
-
validateAddress(dstValidatorAddress, 'destination validator address');
|
|
66
|
-
const { amount, denom } = parseAmount(amountStr);
|
|
67
|
-
|
|
68
|
-
const msg = {
|
|
69
|
-
typeUrl: '/cosmos.staking.v1beta1.MsgBeginRedelegate',
|
|
70
|
-
value: MsgBeginRedelegate.fromPartial({
|
|
71
|
-
delegatorAddress: senderAddress,
|
|
72
|
-
validatorSrcAddress: srcValidatorAddress,
|
|
73
|
-
validatorDstAddress: dstValidatorAddress,
|
|
74
|
-
amount: { denom, amount },
|
|
75
|
-
}),
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
79
|
-
return buildTxResult('staking', 'redelegate', result, waitForConfirmation);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
default:
|
|
83
|
-
throwUnsupportedSubcommand('tx', 'staking', subcommand);
|
|
84
|
-
}
|
|
85
|
-
}
|