@manifest-network/manifest-mcp-browser 0.1.1 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish.yml +4 -2
- package/CLAUDE.md +7 -3
- package/README.md +1 -1
- package/dist/client.d.ts +6 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +77 -21
- package/dist/client.js.map +1 -1
- package/dist/cosmos.d.ts.map +1 -1
- package/dist/cosmos.js +7 -57
- package/dist/cosmos.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -25
- package/dist/index.js.map +1 -1
- package/dist/modules.d.ts +30 -1
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +65 -1
- package/dist/modules.js.map +1 -1
- package/dist/modules.test.js +58 -1
- package/dist/modules.test.js.map +1 -1
- package/dist/queries/auth.d.ts +7 -1
- package/dist/queries/auth.d.ts.map +1 -1
- package/dist/queries/auth.js +18 -45
- package/dist/queries/auth.js.map +1 -1
- package/dist/queries/bank.d.ts +7 -1
- package/dist/queries/bank.d.ts.map +1 -1
- package/dist/queries/bank.js +24 -38
- package/dist/queries/bank.js.map +1 -1
- package/dist/queries/billing.d.ts +7 -1
- package/dist/queries/billing.d.ts.map +1 -1
- package/dist/queries/billing.js +28 -54
- package/dist/queries/billing.js.map +1 -1
- package/dist/queries/distribution.d.ts +7 -1
- package/dist/queries/distribution.d.ts.map +1 -1
- package/dist/queries/distribution.js +18 -36
- package/dist/queries/distribution.js.map +1 -1
- package/dist/queries/gov.d.ts +7 -1
- package/dist/queries/gov.d.ts.map +1 -1
- package/dist/queries/gov.js +24 -41
- package/dist/queries/gov.js.map +1 -1
- package/dist/queries/index.d.ts +2 -1
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +1 -1
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/staking.d.ts +7 -1
- package/dist/queries/staking.d.ts.map +1 -1
- package/dist/queries/staking.js +36 -59
- package/dist/queries/staking.js.map +1 -1
- package/dist/queries/utils.d.ts +42 -10
- package/dist/queries/utils.d.ts.map +1 -1
- package/dist/queries/utils.js +64 -12
- package/dist/queries/utils.js.map +1 -1
- package/dist/queries/utils.test.js +68 -8
- package/dist/queries/utils.test.js.map +1 -1
- package/dist/transactions/bank.d.ts +2 -2
- package/dist/transactions/bank.d.ts.map +1 -1
- package/dist/transactions/bank.js +9 -18
- package/dist/transactions/bank.js.map +1 -1
- package/dist/transactions/billing.d.ts +2 -2
- package/dist/transactions/billing.d.ts.map +1 -1
- package/dist/transactions/billing.js +29 -86
- package/dist/transactions/billing.js.map +1 -1
- package/dist/transactions/distribution.d.ts +2 -2
- package/dist/transactions/distribution.d.ts.map +1 -1
- package/dist/transactions/distribution.js +7 -13
- package/dist/transactions/distribution.js.map +1 -1
- package/dist/transactions/gov.d.ts +2 -2
- package/dist/transactions/gov.d.ts.map +1 -1
- package/dist/transactions/gov.js +29 -20
- package/dist/transactions/gov.js.map +1 -1
- package/dist/transactions/index.d.ts +1 -1
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/transactions/index.js +1 -1
- package/dist/transactions/index.js.map +1 -1
- package/dist/transactions/manifest.d.ts +2 -2
- package/dist/transactions/manifest.d.ts.map +1 -1
- package/dist/transactions/manifest.js +7 -14
- package/dist/transactions/manifest.js.map +1 -1
- package/dist/transactions/staking.d.ts +2 -2
- package/dist/transactions/staking.d.ts.map +1 -1
- package/dist/transactions/staking.js +7 -13
- package/dist/transactions/staking.js.map +1 -1
- package/dist/transactions/utils.d.ts +63 -1
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +121 -2
- package/dist/transactions/utils.js.map +1 -1
- package/dist/transactions/utils.test.js +351 -1
- package/dist/transactions/utils.test.js.map +1 -1
- package/dist/types.d.ts +203 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wallet/mnemonic.d.ts +1 -0
- package/dist/wallet/mnemonic.d.ts.map +1 -1
- package/dist/wallet/mnemonic.js +34 -13
- package/dist/wallet/mnemonic.js.map +1 -1
- package/package.json +5 -1
- package/src/client.ts +84 -21
- package/src/cosmos.ts +13 -109
- package/src/index.ts +17 -23
- package/src/modules.test.ts +60 -0
- package/src/modules.ts +122 -5
- package/src/queries/auth.ts +35 -74
- package/src/queries/bank.ts +40 -58
- package/src/queries/billing.ts +46 -86
- package/src/queries/distribution.ts +35 -59
- package/src/queries/gov.ts +40 -64
- package/src/queries/index.ts +10 -1
- package/src/queries/staking.ts +55 -91
- package/src/queries/utils.test.ts +103 -8
- package/src/queries/utils.ts +92 -12
- package/src/transactions/bank.ts +9 -33
- package/src/transactions/billing.ts +30 -137
- package/src/transactions/distribution.ts +7 -29
- package/src/transactions/gov.ts +33 -37
- package/src/transactions/index.ts +1 -1
- package/src/transactions/manifest.ts +7 -29
- package/src/transactions/staking.ts +7 -29
- package/src/transactions/utils.test.ts +390 -1
- package/src/transactions/utils.ts +191 -2
- package/src/types.ts +318 -9
- package/src/wallet/mnemonic.ts +41 -17
- package/.claude/settings.local.json +0 -20
|
@@ -1,43 +1,18 @@
|
|
|
1
|
-
import { fromHex } from '@cosmjs/encoding';
|
|
2
1
|
import { liftedinit } from '@manifest-network/manifestjs';
|
|
3
2
|
import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
|
|
4
|
-
import { parseAmount, buildTxResult, parseBigInt, validateAddress, validateArgsLength } from './utils.js';
|
|
5
|
-
import { getSubcommandUsage } from '../modules.js';
|
|
3
|
+
import { parseAmount, buildTxResult, parseBigInt, validateAddress, validateArgsLength, extractFlag, filterConsumedArgs, parseColonPair, requireArgs, parseHexBytes } from './utils.js';
|
|
4
|
+
import { getSubcommandUsage, throwUnsupportedSubcommand } from '../modules.js';
|
|
6
5
|
const { MsgFundCredit, MsgCreateLease, MsgCloseLease, MsgWithdraw } = liftedinit.billing.v1;
|
|
7
6
|
/** Maximum meta hash length in bytes (64 bytes for SHA-512) */
|
|
8
7
|
const MAX_META_HASH_BYTES = 64;
|
|
9
|
-
/**
|
|
10
|
-
* Validate and parse a hex string into Uint8Array
|
|
11
|
-
* Uses @cosmjs/encoding for hex validation and conversion
|
|
12
|
-
*/
|
|
13
|
-
function parseMetaHash(hexString) {
|
|
14
|
-
// Check even length first to avoid fractional byte counts in error messages
|
|
15
|
-
if (hexString.length % 2 !== 0) {
|
|
16
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid meta-hash: hex string must have even length. Got ${hexString.length} characters.`);
|
|
17
|
-
}
|
|
18
|
-
// Check max length (64 bytes = 128 hex chars)
|
|
19
|
-
const byteLength = hexString.length / 2;
|
|
20
|
-
if (byteLength > MAX_META_HASH_BYTES) {
|
|
21
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid meta-hash: exceeds maximum ${MAX_META_HASH_BYTES} bytes. Got ${byteLength} bytes (${hexString.length} hex chars).`);
|
|
22
|
-
}
|
|
23
|
-
try {
|
|
24
|
-
return fromHex(hexString);
|
|
25
|
-
}
|
|
26
|
-
catch (error) {
|
|
27
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid meta-hash: ${error instanceof Error ? error.message : String(error)}`);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
8
|
/**
|
|
31
9
|
* Route billing transaction to appropriate handler
|
|
32
10
|
*/
|
|
33
|
-
export async function routeBillingTransaction(client, senderAddress, subcommand, args,
|
|
11
|
+
export async function routeBillingTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
|
|
34
12
|
validateArgsLength(args, 'billing transaction');
|
|
35
13
|
switch (subcommand) {
|
|
36
14
|
case 'fund-credit': {
|
|
37
|
-
|
|
38
|
-
const usage = getSubcommandUsage('tx', 'billing', 'fund-credit');
|
|
39
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `fund-credit requires tenant-address and amount arguments. Received ${args.length} argument(s): [${args.map(a => `"${a}"`).join(', ')}]. Usage: fund-credit ${usage || '<tenant-address> <amount>'}`, { receivedArgs: args, expectedArgs: ['tenant-address', 'amount'], usage });
|
|
40
|
-
}
|
|
15
|
+
requireArgs(args, 2, ['tenant-address', 'amount'], 'billing fund-credit');
|
|
41
16
|
const [tenant, amountStr] = args;
|
|
42
17
|
validateAddress(tenant, 'tenant address');
|
|
43
18
|
const { amount, denom } = parseAmount(amountStr);
|
|
@@ -53,29 +28,15 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
53
28
|
return buildTxResult('billing', 'fund-credit', result, waitForConfirmation);
|
|
54
29
|
}
|
|
55
30
|
case 'create-lease': {
|
|
56
|
-
// Parse optional --meta-hash flag
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `--meta-hash flag requires a hex value. Usage: create-lease ${usage ?? '<args>'}`);
|
|
63
|
-
}
|
|
64
|
-
const hexHash = args[1];
|
|
65
|
-
// Validate and convert hex string to Uint8Array (max 64 bytes)
|
|
66
|
-
metaHash = parseMetaHash(hexHash);
|
|
67
|
-
itemArgs = args.slice(2);
|
|
68
|
-
}
|
|
69
|
-
if (itemArgs.length < 1) {
|
|
70
|
-
const usage = getSubcommandUsage('tx', 'billing', 'create-lease');
|
|
71
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `create-lease requires at least one sku-uuid:quantity pair. Usage: create-lease ${usage ?? '<args>'}`, { usage });
|
|
72
|
-
}
|
|
31
|
+
// Parse optional --meta-hash flag (can appear anywhere in args)
|
|
32
|
+
const { value: metaHashHex, consumedIndices } = extractFlag(args, '--meta-hash', 'billing create-lease');
|
|
33
|
+
const metaHash = metaHashHex ? parseHexBytes(metaHashHex, 'meta-hash', MAX_META_HASH_BYTES) : undefined;
|
|
34
|
+
// Filter out --meta-hash and its value to get item args
|
|
35
|
+
const itemArgs = filterConsumedArgs(args, consumedIndices);
|
|
36
|
+
requireArgs(itemArgs, 1, ['sku-uuid:quantity'], 'billing create-lease');
|
|
73
37
|
// Parse items (format: sku-uuid:quantity ...)
|
|
74
38
|
const items = itemArgs.map((arg) => {
|
|
75
|
-
const [skuUuid, quantityStr] = arg
|
|
76
|
-
if (!skuUuid || !quantityStr) {
|
|
77
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid lease item format: ${arg}. Expected format: sku-uuid:quantity`);
|
|
78
|
-
}
|
|
39
|
+
const [skuUuid, quantityStr] = parseColonPair(arg, 'sku-uuid', 'quantity', 'lease item');
|
|
79
40
|
return { skuUuid, quantity: parseBigInt(quantityStr, 'quantity') };
|
|
80
41
|
});
|
|
81
42
|
const msg = {
|
|
@@ -90,58 +51,44 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
90
51
|
return buildTxResult('billing', 'create-lease', result, waitForConfirmation);
|
|
91
52
|
}
|
|
92
53
|
case 'close-lease': {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
54
|
+
// Parse optional --reason flag
|
|
55
|
+
const { value: reason, consumedIndices } = extractFlag(args, '--reason', 'billing close-lease');
|
|
56
|
+
const leaseArgs = filterConsumedArgs(args, consumedIndices);
|
|
57
|
+
requireArgs(leaseArgs, 1, ['lease-uuid'], 'billing close-lease');
|
|
97
58
|
// MsgCloseLease can close multiple leases at once
|
|
98
|
-
const leaseUuids =
|
|
99
|
-
const reason = ''; // Optional reason, could be added as a flag later
|
|
59
|
+
const leaseUuids = leaseArgs;
|
|
100
60
|
const msg = {
|
|
101
61
|
typeUrl: '/liftedinit.billing.v1.MsgCloseLease',
|
|
102
62
|
value: MsgCloseLease.fromPartial({
|
|
103
63
|
sender: senderAddress,
|
|
104
64
|
leaseUuids,
|
|
105
|
-
reason,
|
|
65
|
+
reason: reason ?? '',
|
|
106
66
|
}),
|
|
107
67
|
};
|
|
108
68
|
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
109
69
|
return buildTxResult('billing', 'close-lease', result, waitForConfirmation);
|
|
110
70
|
}
|
|
111
71
|
case 'withdraw': {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
// Check if using provider-wide withdrawal
|
|
117
|
-
const providerFlagIndex = args.indexOf('--provider');
|
|
118
|
-
const limitFlagIndex = args.indexOf('--limit');
|
|
72
|
+
requireArgs(args, 1, ['lease-uuid or --provider'], 'billing withdraw');
|
|
73
|
+
// Extract flags
|
|
74
|
+
const providerFlag = extractFlag(args, '--provider', 'billing withdraw');
|
|
75
|
+
const limitFlag = extractFlag(args, '--limit', 'billing withdraw');
|
|
119
76
|
let leaseUuids = [];
|
|
120
77
|
let providerUuid = '';
|
|
121
78
|
let limit = BigInt(0); // 0 means use default (50)
|
|
122
|
-
if (
|
|
79
|
+
if (providerFlag.value) {
|
|
123
80
|
// Provider-wide withdrawal mode
|
|
124
|
-
providerUuid =
|
|
125
|
-
if (!providerUuid || providerUuid.startsWith('--')) {
|
|
126
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'withdraw with --provider flag requires provider-uuid argument');
|
|
127
|
-
}
|
|
128
|
-
// Track consumed arg indices to detect extra arguments
|
|
129
|
-
const consumedIndices = new Set([providerFlagIndex, providerFlagIndex + 1]);
|
|
81
|
+
providerUuid = providerFlag.value;
|
|
130
82
|
// Parse optional --limit flag (only valid with --provider)
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
if (!limitStr || limitStr.startsWith('--')) {
|
|
134
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'withdraw with --limit flag requires a number argument (1-100)');
|
|
135
|
-
}
|
|
136
|
-
limit = parseBigInt(limitStr, 'limit');
|
|
83
|
+
if (limitFlag.value) {
|
|
84
|
+
limit = parseBigInt(limitFlag.value, 'limit');
|
|
137
85
|
if (limit < BigInt(1) || limit > BigInt(100)) {
|
|
138
86
|
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid limit: ${limit}. Must be between 1 and 100.`);
|
|
139
87
|
}
|
|
140
|
-
consumedIndices.add(limitFlagIndex);
|
|
141
|
-
consumedIndices.add(limitFlagIndex + 1);
|
|
142
88
|
}
|
|
143
89
|
// Check for any extra arguments that weren't consumed
|
|
144
|
-
const
|
|
90
|
+
const allConsumed = [...providerFlag.consumedIndices, ...limitFlag.consumedIndices];
|
|
91
|
+
const extraArgs = filterConsumedArgs(args, allConsumed);
|
|
145
92
|
if (extraArgs.length > 0) {
|
|
146
93
|
const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
|
|
147
94
|
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Provider-wide withdrawal does not accept additional arguments. ` +
|
|
@@ -151,7 +98,7 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
151
98
|
}
|
|
152
99
|
else {
|
|
153
100
|
// Lease-specific withdrawal mode
|
|
154
|
-
// Check for unexpected flags
|
|
101
|
+
// Check for unexpected flags (--limit without --provider is invalid)
|
|
155
102
|
const unexpectedFlags = args.filter(arg => arg.startsWith('--'));
|
|
156
103
|
if (unexpectedFlags.length > 0) {
|
|
157
104
|
const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
|
|
@@ -159,10 +106,6 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
159
106
|
`Use --provider for provider-wide withdrawal. Usage: withdraw ${usage ?? '<args>'}`);
|
|
160
107
|
}
|
|
161
108
|
leaseUuids = args;
|
|
162
|
-
if (leaseUuids.length === 0) {
|
|
163
|
-
const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
|
|
164
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `withdraw requires at least one lease-uuid. Usage: withdraw ${usage ?? '<args>'}`);
|
|
165
|
-
}
|
|
166
109
|
}
|
|
167
110
|
const msg = {
|
|
168
111
|
typeUrl: '/liftedinit.billing.v1.MsgWithdraw',
|
|
@@ -177,7 +120,7 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
177
120
|
return buildTxResult('billing', 'withdraw', result, waitForConfirmation);
|
|
178
121
|
}
|
|
179
122
|
default:
|
|
180
|
-
|
|
123
|
+
throwUnsupportedSubcommand('tx', 'billing', subcommand);
|
|
181
124
|
}
|
|
182
125
|
}
|
|
183
126
|
//# sourceMappingURL=billing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/transactions/billing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/transactions/billing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SigningStargateClient } from '@cosmjs/stargate';
|
|
2
|
-
import { CosmosTxResult
|
|
2
|
+
import { CosmosTxResult } from '../types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Route distribution transaction to appropriate handler
|
|
5
5
|
*/
|
|
6
|
-
export declare function routeDistributionTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[],
|
|
6
|
+
export declare function routeDistributionTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
|
|
7
7
|
//# sourceMappingURL=distribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/transactions/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,
|
|
1
|
+
{"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../src/transactions/distribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CA0DzB"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { cosmos } from '@manifest-network/manifestjs';
|
|
2
|
-
import {
|
|
3
|
-
import { parseAmount, buildTxResult, validateAddress, validateArgsLength } from './utils.js';
|
|
2
|
+
import { throwUnsupportedSubcommand } from '../modules.js';
|
|
3
|
+
import { parseAmount, buildTxResult, validateAddress, validateArgsLength, requireArgs } from './utils.js';
|
|
4
4
|
const { MsgWithdrawDelegatorReward, MsgSetWithdrawAddress, MsgFundCommunityPool } = cosmos.distribution.v1beta1;
|
|
5
5
|
/**
|
|
6
6
|
* Route distribution transaction to appropriate handler
|
|
7
7
|
*/
|
|
8
|
-
export async function routeDistributionTransaction(client, senderAddress, subcommand, args,
|
|
8
|
+
export async function routeDistributionTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
|
|
9
9
|
validateArgsLength(args, 'distribution transaction');
|
|
10
10
|
switch (subcommand) {
|
|
11
11
|
case 'withdraw-rewards': {
|
|
12
|
-
|
|
13
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'withdraw-rewards requires validator-address argument');
|
|
14
|
-
}
|
|
12
|
+
requireArgs(args, 1, ['validator-address'], 'distribution withdraw-rewards');
|
|
15
13
|
const [validatorAddress] = args;
|
|
16
14
|
validateAddress(validatorAddress, 'validator address');
|
|
17
15
|
const msg = {
|
|
@@ -25,9 +23,7 @@ export async function routeDistributionTransaction(client, senderAddress, subcom
|
|
|
25
23
|
return buildTxResult('distribution', 'withdraw-rewards', result, waitForConfirmation);
|
|
26
24
|
}
|
|
27
25
|
case 'set-withdraw-addr': {
|
|
28
|
-
|
|
29
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'set-withdraw-addr requires withdraw-address argument');
|
|
30
|
-
}
|
|
26
|
+
requireArgs(args, 1, ['withdraw-address'], 'distribution set-withdraw-addr');
|
|
31
27
|
const [withdrawAddress] = args;
|
|
32
28
|
validateAddress(withdrawAddress, 'withdraw address');
|
|
33
29
|
const msg = {
|
|
@@ -41,9 +37,7 @@ export async function routeDistributionTransaction(client, senderAddress, subcom
|
|
|
41
37
|
return buildTxResult('distribution', 'set-withdraw-addr', result, waitForConfirmation);
|
|
42
38
|
}
|
|
43
39
|
case 'fund-community-pool': {
|
|
44
|
-
|
|
45
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'fund-community-pool requires amount argument');
|
|
46
|
-
}
|
|
40
|
+
requireArgs(args, 1, ['amount'], 'distribution fund-community-pool');
|
|
47
41
|
const [amountStr] = args;
|
|
48
42
|
const { amount, denom } = parseAmount(amountStr);
|
|
49
43
|
const msg = {
|
|
@@ -57,7 +51,7 @@ export async function routeDistributionTransaction(client, senderAddress, subcom
|
|
|
57
51
|
return buildTxResult('distribution', 'fund-community-pool', result, waitForConfirmation);
|
|
58
52
|
}
|
|
59
53
|
default:
|
|
60
|
-
|
|
54
|
+
throwUnsupportedSubcommand('tx', 'distribution', subcommand);
|
|
61
55
|
}
|
|
62
56
|
}
|
|
63
57
|
//# sourceMappingURL=distribution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/transactions/distribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"distribution.js","sourceRoot":"","sources":["../../src/transactions/distribution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1G,MAAM,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;AAEhH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAA6B,EAC7B,aAAqB,EACrB,UAAkB,EAClB,IAAc,EACd,mBAA4B;IAE5B,kBAAkB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IAErD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,+BAA+B,CAAC,CAAC;YAC7E,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;YAChC,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;YAEvD,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,yDAAyD;gBAClE,KAAK,EAAE,0BAA0B,CAAC,WAAW,CAAC;oBAC5C,gBAAgB,EAAE,aAAa;oBAC/B,gBAAgB;iBACjB,CAAC;aACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,aAAa,CAAC,cAAc,EAAE,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACxF,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,gCAAgC,CAAC,CAAC;YAC7E,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;YAC/B,eAAe,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;YAErD,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,oDAAoD;gBAC7D,KAAK,EAAE,qBAAqB,CAAC,WAAW,CAAC;oBACvC,gBAAgB,EAAE,aAAa;oBAC/B,eAAe;iBAChB,CAAC;aACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,aAAa,CAAC,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACzF,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,kCAAkC,CAAC,CAAC;YACrE,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YACzB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YAEjD,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,mDAAmD;gBAC5D,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC;oBACtC,SAAS,EAAE,aAAa;oBACxB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;iBAC5B,CAAC;aACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,aAAa,CAAC,cAAc,EAAE,qBAAqB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC3F,CAAC;QAED;YACE,0BAA0B,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SigningStargateClient } from '@cosmjs/stargate';
|
|
2
|
-
import { CosmosTxResult
|
|
2
|
+
import { CosmosTxResult } from '../types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Route gov transaction to appropriate handler
|
|
5
5
|
*/
|
|
6
|
-
export declare function routeGovTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[],
|
|
6
|
+
export declare function routeGovTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
|
|
7
7
|
//# sourceMappingURL=gov.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gov.d.ts","sourceRoot":"","sources":["../../src/transactions/gov.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA0C,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"gov.d.ts","sourceRoot":"","sources":["../../src/transactions/gov.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAA0C,cAAc,EAAE,MAAM,aAAa,CAAC;AAsFrF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CA6FzB"}
|
package/dist/transactions/gov.js
CHANGED
|
@@ -1,7 +1,27 @@
|
|
|
1
1
|
import { cosmos } from '@manifest-network/manifestjs';
|
|
2
2
|
import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
|
|
3
|
-
import {
|
|
3
|
+
import { throwUnsupportedSubcommand } from '../modules.js';
|
|
4
|
+
import { parseAmount, buildTxResult, parseBigInt, validateArgsLength, extractFlag, requireArgs } from './utils.js';
|
|
4
5
|
const { MsgVote, MsgDeposit, MsgVoteWeighted, VoteOption } = cosmos.gov.v1;
|
|
6
|
+
/** 10^18 as BigInt for fixed-point math */
|
|
7
|
+
const FIXED18_ONE = BigInt('1000000000000000000');
|
|
8
|
+
/**
|
|
9
|
+
* Format a fixed-18 BigInt as a decimal string without precision loss.
|
|
10
|
+
* E.g., 500000000000000000n -> "0.5", 1000000000000000000n -> "1.0"
|
|
11
|
+
*/
|
|
12
|
+
function formatFixed18(value) {
|
|
13
|
+
const isNegative = value < BigInt(0);
|
|
14
|
+
const absValue = isNegative ? -value : value;
|
|
15
|
+
const intPart = absValue / FIXED18_ONE;
|
|
16
|
+
const fracPart = absValue % FIXED18_ONE;
|
|
17
|
+
// Pad fraction to 18 digits, then trim trailing zeros
|
|
18
|
+
const fracStr = fracPart.toString().padStart(18, '0').replace(/0+$/, '');
|
|
19
|
+
const sign = isNegative ? '-' : '';
|
|
20
|
+
if (fracStr === '') {
|
|
21
|
+
return `${sign}${intPart}.0`;
|
|
22
|
+
}
|
|
23
|
+
return `${sign}${intPart}.${fracStr}`;
|
|
24
|
+
}
|
|
5
25
|
/**
|
|
6
26
|
* Parse a decimal weight string to an 18-decimal fixed-point string.
|
|
7
27
|
* Uses string manipulation to avoid floating-point precision loss.
|
|
@@ -49,22 +69,16 @@ function parseVoteOption(optionStr) {
|
|
|
49
69
|
/**
|
|
50
70
|
* Route gov transaction to appropriate handler
|
|
51
71
|
*/
|
|
52
|
-
export async function routeGovTransaction(client, senderAddress, subcommand, args,
|
|
72
|
+
export async function routeGovTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
|
|
53
73
|
validateArgsLength(args, 'gov transaction');
|
|
54
74
|
switch (subcommand) {
|
|
55
75
|
case 'vote': {
|
|
56
|
-
|
|
57
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'vote requires proposal-id and option arguments');
|
|
58
|
-
}
|
|
76
|
+
requireArgs(args, 2, ['proposal-id', 'option'], 'gov vote');
|
|
59
77
|
const [proposalIdStr, optionStr] = args;
|
|
60
78
|
const proposalId = parseBigInt(proposalIdStr, 'proposal-id');
|
|
61
79
|
const option = parseVoteOption(optionStr);
|
|
62
80
|
// Extract optional metadata from args
|
|
63
|
-
|
|
64
|
-
const metadataIndex = args.indexOf('--metadata');
|
|
65
|
-
if (metadataIndex !== -1 && args[metadataIndex + 1]) {
|
|
66
|
-
metadata = args[metadataIndex + 1];
|
|
67
|
-
}
|
|
81
|
+
const { value: metadata = '' } = extractFlag(args, '--metadata', 'gov vote');
|
|
68
82
|
const msg = {
|
|
69
83
|
typeUrl: '/cosmos.gov.v1.MsgVote',
|
|
70
84
|
value: MsgVote.fromPartial({
|
|
@@ -78,9 +92,7 @@ export async function routeGovTransaction(client, senderAddress, subcommand, arg
|
|
|
78
92
|
return buildTxResult('gov', 'vote', result, waitForConfirmation);
|
|
79
93
|
}
|
|
80
94
|
case 'weighted-vote': {
|
|
81
|
-
|
|
82
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'weighted-vote requires proposal-id and options arguments (format: yes=0.5,no=0.5)');
|
|
83
|
-
}
|
|
95
|
+
requireArgs(args, 2, ['proposal-id', 'options'], 'gov weighted-vote');
|
|
84
96
|
const [proposalIdStr, optionsStr] = args;
|
|
85
97
|
const proposalId = parseBigInt(proposalIdStr, 'proposal-id');
|
|
86
98
|
// Parse weighted options (format: yes=0.5,no=0.3,abstain=0.2)
|
|
@@ -97,9 +109,8 @@ export async function routeGovTransaction(client, senderAddress, subcommand, arg
|
|
|
97
109
|
});
|
|
98
110
|
// Validate that weights sum to exactly 1.0 (10^18 in fixed-point)
|
|
99
111
|
const totalWeight = options.reduce((sum, opt) => sum + BigInt(opt.weight), BigInt(0));
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Weighted vote options must sum to exactly 1.0. Got ${Number(totalWeight) / 1e18} (${options.map(o => o.weight).join(' + ')} = ${totalWeight})`);
|
|
112
|
+
if (totalWeight !== FIXED18_ONE) {
|
|
113
|
+
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Weighted vote options must sum to exactly 1.0. Got ${formatFixed18(totalWeight)} (${options.map(o => o.weight).join(' + ')} = ${totalWeight})`);
|
|
103
114
|
}
|
|
104
115
|
const msg = {
|
|
105
116
|
typeUrl: '/cosmos.gov.v1.MsgVoteWeighted',
|
|
@@ -114,9 +125,7 @@ export async function routeGovTransaction(client, senderAddress, subcommand, arg
|
|
|
114
125
|
return buildTxResult('gov', 'weighted-vote', result, waitForConfirmation);
|
|
115
126
|
}
|
|
116
127
|
case 'deposit': {
|
|
117
|
-
|
|
118
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'deposit requires proposal-id and amount arguments');
|
|
119
|
-
}
|
|
128
|
+
requireArgs(args, 2, ['proposal-id', 'amount'], 'gov deposit');
|
|
120
129
|
const [proposalIdStr, amountStr] = args;
|
|
121
130
|
const proposalId = parseBigInt(proposalIdStr, 'proposal-id');
|
|
122
131
|
const { amount, denom } = parseAmount(amountStr);
|
|
@@ -132,7 +141,7 @@ export async function routeGovTransaction(client, senderAddress, subcommand, arg
|
|
|
132
141
|
return buildTxResult('gov', 'deposit', result, waitForConfirmation);
|
|
133
142
|
}
|
|
134
143
|
default:
|
|
135
|
-
|
|
144
|
+
throwUnsupportedSubcommand('tx', 'gov', subcommand);
|
|
136
145
|
}
|
|
137
146
|
}
|
|
138
147
|
//# sourceMappingURL=gov.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gov.js","sourceRoot":"","sources":["../../src/transactions/gov.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"gov.js","sourceRoot":"","sources":["../../src/transactions/gov.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { parseAmount, buildTxResult, parseBigInt } from './utils.js';
|
|
1
|
+
export { parseAmount, buildTxResult, parseBigInt, parseHexBytes, bytesToHex } from './utils.js';
|
|
2
2
|
export { routeBankTransaction } from './bank.js';
|
|
3
3
|
export { routeStakingTransaction } from './staking.js';
|
|
4
4
|
export { routeDistributionTransaction } from './distribution.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { parseAmount, buildTxResult, parseBigInt } from './utils.js';
|
|
1
|
+
export { parseAmount, buildTxResult, parseBigInt, parseHexBytes, bytesToHex } from './utils.js';
|
|
2
2
|
export { routeBankTransaction } from './bank.js';
|
|
3
3
|
export { routeStakingTransaction } from './staking.js';
|
|
4
4
|
export { routeDistributionTransaction } from './distribution.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SigningStargateClient } from '@cosmjs/stargate';
|
|
2
|
-
import { CosmosTxResult
|
|
2
|
+
import { CosmosTxResult } from '../types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Route manifest transaction to appropriate handler
|
|
5
5
|
*/
|
|
6
|
-
export declare function routeManifestTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[],
|
|
6
|
+
export declare function routeManifestTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
|
|
7
7
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/transactions/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/transactions/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CAiDzB"}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
import { liftedinit } from '@manifest-network/manifestjs';
|
|
2
|
-
import {
|
|
3
|
-
import { parseAmount, buildTxResult, validateAddress, validateArgsLength } from './utils.js';
|
|
2
|
+
import { throwUnsupportedSubcommand } from '../modules.js';
|
|
3
|
+
import { parseAmount, buildTxResult, validateAddress, validateArgsLength, parseColonPair, requireArgs } from './utils.js';
|
|
4
4
|
const { MsgPayout, MsgBurnHeldBalance } = liftedinit.manifest.v1;
|
|
5
5
|
/**
|
|
6
6
|
* Route manifest transaction to appropriate handler
|
|
7
7
|
*/
|
|
8
|
-
export async function routeManifestTransaction(client, senderAddress, subcommand, args,
|
|
8
|
+
export async function routeManifestTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
|
|
9
9
|
validateArgsLength(args, 'manifest transaction');
|
|
10
10
|
switch (subcommand) {
|
|
11
11
|
case 'payout': {
|
|
12
|
-
|
|
13
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'payout requires at least one address:amount pair');
|
|
14
|
-
}
|
|
12
|
+
requireArgs(args, 1, ['address:amount'], 'manifest payout');
|
|
15
13
|
// Parse payout pairs (format: address:amount ...)
|
|
16
14
|
const payoutPairs = args.map((arg) => {
|
|
17
|
-
const [address, amountStr] = arg
|
|
18
|
-
if (!address || !amountStr) {
|
|
19
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid payout pair format: ${arg}. Expected format: address:amount`);
|
|
20
|
-
}
|
|
15
|
+
const [address, amountStr] = parseColonPair(arg, 'address', 'amount', 'payout pair');
|
|
21
16
|
validateAddress(address, 'payout recipient address');
|
|
22
17
|
const { amount, denom } = parseAmount(amountStr);
|
|
23
18
|
return { address, coin: { denom, amount } };
|
|
@@ -33,9 +28,7 @@ export async function routeManifestTransaction(client, senderAddress, subcommand
|
|
|
33
28
|
return buildTxResult('manifest', 'payout', result, waitForConfirmation);
|
|
34
29
|
}
|
|
35
30
|
case 'burn-held-balance': {
|
|
36
|
-
|
|
37
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'burn-held-balance requires at least one amount argument');
|
|
38
|
-
}
|
|
31
|
+
requireArgs(args, 1, ['amount'], 'manifest burn-held-balance');
|
|
39
32
|
// Parse coins to burn
|
|
40
33
|
const burnCoins = args.map((amountStr) => {
|
|
41
34
|
const { amount, denom } = parseAmount(amountStr);
|
|
@@ -52,7 +45,7 @@ export async function routeManifestTransaction(client, senderAddress, subcommand
|
|
|
52
45
|
return buildTxResult('manifest', 'burn-held-balance', result, waitForConfirmation);
|
|
53
46
|
}
|
|
54
47
|
default:
|
|
55
|
-
|
|
48
|
+
throwUnsupportedSubcommand('tx', 'manifest', subcommand);
|
|
56
49
|
}
|
|
57
50
|
}
|
|
58
51
|
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/transactions/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/transactions/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1H,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAA6B,EAC7B,aAAqB,EACrB,UAAkB,EAClB,IAAc,EACd,mBAA4B;IAE5B,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAEjD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAC5D,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACrF,eAAe,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;gBACrD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,mCAAmC;gBAC5C,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC;oBAC3B,SAAS,EAAE,aAAa;oBACxB,WAAW;iBACZ,CAAC;aACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC1E,CAAC;QAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC,CAAC;YAC/D,sBAAsB;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,4CAA4C;gBACrD,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC;oBACpC,SAAS,EAAE,aAAa;oBACxB,SAAS;iBACV,CAAC;aACH,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,OAAO,aAAa,CAAC,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACrF,CAAC;QAED;YACE,0BAA0B,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SigningStargateClient } from '@cosmjs/stargate';
|
|
2
|
-
import { CosmosTxResult
|
|
2
|
+
import { CosmosTxResult } from '../types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Route staking transaction to appropriate handler
|
|
5
5
|
*/
|
|
6
|
-
export declare function routeStakingTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[],
|
|
6
|
+
export declare function routeStakingTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
|
|
7
7
|
//# sourceMappingURL=staking.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/transactions/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,
|
|
1
|
+
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../src/transactions/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,qBAAqB,EAC7B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,cAAc,CAAC,CAmEzB"}
|