@manifest-network/manifest-mcp-browser 0.1.1 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish.yml +4 -2
- package/CLAUDE.md +11 -6
- package/README.md +1 -1
- package/dist/client.d.ts +6 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +77 -21
- package/dist/client.js.map +1 -1
- package/dist/cosmos.d.ts.map +1 -1
- package/dist/cosmos.js +7 -57
- package/dist/cosmos.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -25
- package/dist/index.js.map +1 -1
- package/dist/modules.d.ts +30 -1
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +98 -1
- package/dist/modules.js.map +1 -1
- package/dist/modules.test.js +60 -1
- package/dist/modules.test.js.map +1 -1
- package/dist/queries/auth.d.ts +7 -1
- package/dist/queries/auth.d.ts.map +1 -1
- package/dist/queries/auth.js +18 -45
- package/dist/queries/auth.js.map +1 -1
- package/dist/queries/bank.d.ts +7 -1
- package/dist/queries/bank.d.ts.map +1 -1
- package/dist/queries/bank.js +24 -38
- package/dist/queries/bank.js.map +1 -1
- package/dist/queries/billing.d.ts +7 -1
- package/dist/queries/billing.d.ts.map +1 -1
- package/dist/queries/billing.js +28 -54
- package/dist/queries/billing.js.map +1 -1
- package/dist/queries/distribution.d.ts +7 -1
- package/dist/queries/distribution.d.ts.map +1 -1
- package/dist/queries/distribution.js +18 -36
- package/dist/queries/distribution.js.map +1 -1
- package/dist/queries/gov.d.ts +7 -1
- package/dist/queries/gov.d.ts.map +1 -1
- package/dist/queries/gov.js +24 -41
- package/dist/queries/gov.js.map +1 -1
- package/dist/queries/index.d.ts +2 -1
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +1 -1
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/sku.d.ts +13 -0
- package/dist/queries/sku.d.ts.map +1 -0
- package/dist/queries/sku.js +60 -0
- package/dist/queries/sku.js.map +1 -0
- package/dist/queries/staking.d.ts +7 -1
- package/dist/queries/staking.d.ts.map +1 -1
- package/dist/queries/staking.js +36 -59
- package/dist/queries/staking.js.map +1 -1
- package/dist/queries/utils.d.ts +60 -10
- package/dist/queries/utils.d.ts.map +1 -1
- package/dist/queries/utils.js +80 -12
- package/dist/queries/utils.js.map +1 -1
- package/dist/queries/utils.test.js +68 -8
- package/dist/queries/utils.test.js.map +1 -1
- package/dist/transactions/bank.d.ts +2 -2
- package/dist/transactions/bank.d.ts.map +1 -1
- package/dist/transactions/bank.js +9 -18
- package/dist/transactions/bank.js.map +1 -1
- package/dist/transactions/billing.d.ts +2 -2
- package/dist/transactions/billing.d.ts.map +1 -1
- package/dist/transactions/billing.js +125 -89
- package/dist/transactions/billing.js.map +1 -1
- package/dist/transactions/distribution.d.ts +2 -2
- package/dist/transactions/distribution.d.ts.map +1 -1
- package/dist/transactions/distribution.js +7 -13
- package/dist/transactions/distribution.js.map +1 -1
- package/dist/transactions/gov.d.ts +2 -2
- package/dist/transactions/gov.d.ts.map +1 -1
- package/dist/transactions/gov.js +29 -20
- package/dist/transactions/gov.js.map +1 -1
- package/dist/transactions/index.d.ts +1 -1
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/transactions/index.js +1 -1
- package/dist/transactions/index.js.map +1 -1
- package/dist/transactions/manifest.d.ts +2 -2
- package/dist/transactions/manifest.d.ts.map +1 -1
- package/dist/transactions/manifest.js +7 -14
- package/dist/transactions/manifest.js.map +1 -1
- package/dist/transactions/sku.d.ts +7 -0
- package/dist/transactions/sku.d.ts.map +1 -0
- package/dist/transactions/sku.js +184 -0
- package/dist/transactions/sku.js.map +1 -0
- package/dist/transactions/staking.d.ts +2 -2
- package/dist/transactions/staking.d.ts.map +1 -1
- package/dist/transactions/staking.js +7 -13
- package/dist/transactions/staking.js.map +1 -1
- package/dist/transactions/utils.d.ts +65 -1
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +123 -2
- package/dist/transactions/utils.js.map +1 -1
- package/dist/transactions/utils.test.js +351 -1
- package/dist/transactions/utils.test.js.map +1 -1
- package/dist/types.d.ts +218 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wallet/mnemonic.d.ts +1 -0
- package/dist/wallet/mnemonic.d.ts.map +1 -1
- package/dist/wallet/mnemonic.js +34 -13
- package/dist/wallet/mnemonic.js.map +1 -1
- package/package.json +5 -1
- package/src/client.ts +84 -21
- package/src/cosmos.ts +13 -109
- package/src/index.ts +17 -23
- package/src/modules.test.ts +62 -0
- package/src/modules.ts +155 -5
- package/src/queries/auth.ts +35 -74
- package/src/queries/bank.ts +40 -58
- package/src/queries/billing.ts +46 -86
- package/src/queries/distribution.ts +35 -59
- package/src/queries/gov.ts +40 -64
- package/src/queries/index.ts +10 -1
- package/src/queries/sku.ts +85 -0
- package/src/queries/staking.ts +55 -91
- package/src/queries/utils.test.ts +103 -8
- package/src/queries/utils.ts +119 -12
- package/src/transactions/bank.ts +9 -33
- package/src/transactions/billing.ts +155 -141
- package/src/transactions/distribution.ts +7 -29
- package/src/transactions/gov.ts +33 -37
- package/src/transactions/index.ts +1 -1
- package/src/transactions/manifest.ts +7 -29
- package/src/transactions/sku.ts +232 -0
- package/src/transactions/staking.ts +7 -29
- package/src/transactions/utils.test.ts +390 -1
- package/src/transactions/utils.ts +194 -2
- package/src/types.ts +344 -9
- package/src/wallet/mnemonic.ts +41 -17
- package/.claude/settings.local.json +0 -20
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { parseBigInt,
|
|
2
|
+
import { parseBigInt, parseInteger, createPagination, extractPaginationArgs, DEFAULT_PAGE_LIMIT, MAX_PAGE_LIMIT, } from './utils.js';
|
|
3
3
|
import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
|
|
4
4
|
describe('parseBigInt', () => {
|
|
5
5
|
it('should parse valid integer strings', () => {
|
|
@@ -34,19 +34,19 @@ describe('parseBigInt', () => {
|
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
});
|
|
37
|
-
describe('
|
|
37
|
+
describe('parseInteger', () => {
|
|
38
38
|
it('should parse valid integer strings', () => {
|
|
39
|
-
expect(
|
|
40
|
-
expect(
|
|
41
|
-
expect(
|
|
39
|
+
expect(parseInteger('0', 'status')).toBe(0);
|
|
40
|
+
expect(parseInteger('123', 'status')).toBe(123);
|
|
41
|
+
expect(parseInteger('-5', 'status')).toBe(-5);
|
|
42
42
|
});
|
|
43
43
|
it('should throw ManifestMCPError for invalid integers', () => {
|
|
44
|
-
expect(() =>
|
|
45
|
-
expect(() =>
|
|
44
|
+
expect(() => parseInteger('', 'status')).toThrow(ManifestMCPError);
|
|
45
|
+
expect(() => parseInteger('abc', 'status')).toThrow(ManifestMCPError);
|
|
46
46
|
});
|
|
47
47
|
it('should have correct error code', () => {
|
|
48
48
|
try {
|
|
49
|
-
|
|
49
|
+
parseInteger('invalid', 'status');
|
|
50
50
|
}
|
|
51
51
|
catch (error) {
|
|
52
52
|
expect(error).toBeInstanceOf(ManifestMCPError);
|
|
@@ -54,4 +54,64 @@ describe('parseInt', () => {
|
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
|
+
describe('createPagination', () => {
|
|
58
|
+
it('should use default limit when none provided', () => {
|
|
59
|
+
const pagination = createPagination();
|
|
60
|
+
expect(pagination.limit).toBe(DEFAULT_PAGE_LIMIT);
|
|
61
|
+
expect(pagination.offset).toBe(BigInt(0));
|
|
62
|
+
expect(pagination.countTotal).toBe(false);
|
|
63
|
+
expect(pagination.reverse).toBe(false);
|
|
64
|
+
expect(pagination.key).toEqual(new Uint8Array());
|
|
65
|
+
});
|
|
66
|
+
it('should use provided limit', () => {
|
|
67
|
+
const pagination = createPagination(BigInt(50));
|
|
68
|
+
expect(pagination.limit).toBe(BigInt(50));
|
|
69
|
+
});
|
|
70
|
+
it('should clamp limit to minimum of 1', () => {
|
|
71
|
+
const pagination = createPagination(BigInt(0));
|
|
72
|
+
expect(pagination.limit).toBe(BigInt(1));
|
|
73
|
+
const paginationNegative = createPagination(BigInt(-10));
|
|
74
|
+
expect(paginationNegative.limit).toBe(BigInt(1));
|
|
75
|
+
});
|
|
76
|
+
it('should clamp limit to maximum', () => {
|
|
77
|
+
const pagination = createPagination(BigInt(9999));
|
|
78
|
+
expect(pagination.limit).toBe(MAX_PAGE_LIMIT);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
describe('extractPaginationArgs', () => {
|
|
82
|
+
it('should return default pagination when no --limit flag', () => {
|
|
83
|
+
const { pagination, remainingArgs } = extractPaginationArgs(['arg1', 'arg2'], 'test');
|
|
84
|
+
expect(pagination.limit).toBe(DEFAULT_PAGE_LIMIT);
|
|
85
|
+
expect(remainingArgs).toEqual(['arg1', 'arg2']);
|
|
86
|
+
});
|
|
87
|
+
it('should extract --limit flag and value', () => {
|
|
88
|
+
const { pagination, remainingArgs } = extractPaginationArgs(['arg1', '--limit', '50', 'arg2'], 'test');
|
|
89
|
+
expect(pagination.limit).toBe(BigInt(50));
|
|
90
|
+
expect(remainingArgs).toEqual(['arg1', 'arg2']);
|
|
91
|
+
});
|
|
92
|
+
it('should handle --limit at end of args', () => {
|
|
93
|
+
const { pagination, remainingArgs } = extractPaginationArgs(['arg1', '--limit', '25'], 'test');
|
|
94
|
+
expect(pagination.limit).toBe(BigInt(25));
|
|
95
|
+
expect(remainingArgs).toEqual(['arg1']);
|
|
96
|
+
});
|
|
97
|
+
it('should handle --limit at start of args', () => {
|
|
98
|
+
const { pagination, remainingArgs } = extractPaginationArgs(['--limit', '75', 'arg1'], 'test');
|
|
99
|
+
expect(pagination.limit).toBe(BigInt(75));
|
|
100
|
+
expect(remainingArgs).toEqual(['arg1']);
|
|
101
|
+
});
|
|
102
|
+
it('should throw for invalid limit value', () => {
|
|
103
|
+
expect(() => extractPaginationArgs(['--limit', 'abc'], 'test')).toThrow(ManifestMCPError);
|
|
104
|
+
});
|
|
105
|
+
it('should throw for limit below minimum', () => {
|
|
106
|
+
expect(() => extractPaginationArgs(['--limit', '0'], 'test')).toThrow(ManifestMCPError);
|
|
107
|
+
});
|
|
108
|
+
it('should throw for limit above maximum', () => {
|
|
109
|
+
expect(() => extractPaginationArgs(['--limit', '9999'], 'test')).toThrow(ManifestMCPError);
|
|
110
|
+
});
|
|
111
|
+
it('should handle empty args array', () => {
|
|
112
|
+
const { pagination, remainingArgs } = extractPaginationArgs([], 'test');
|
|
113
|
+
expect(pagination.limit).toBe(DEFAULT_PAGE_LIMIT);
|
|
114
|
+
expect(remainingArgs).toEqual([]);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
57
117
|
//# sourceMappingURL=utils.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/queries/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/queries/utils.test.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 bank transaction to appropriate handler
|
|
5
5
|
*/
|
|
6
|
-
export declare function routeBankTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[],
|
|
6
|
+
export declare function routeBankTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
|
|
7
7
|
//# sourceMappingURL=bank.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../../src/transactions/bank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,
|
|
1
|
+
{"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../../src/transactions/bank.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,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,CAoEzB"}
|
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
import { cosmos } from '@manifest-network/manifestjs';
|
|
2
|
-
import {
|
|
3
|
-
import { parseAmount, buildTxResult, validateAddress, validateMemo, validateArgsLength } from './utils.js';
|
|
2
|
+
import { throwUnsupportedSubcommand } from '../modules.js';
|
|
3
|
+
import { parseAmount, buildTxResult, validateAddress, validateMemo, validateArgsLength, extractFlag, parseColonPair, requireArgs } from './utils.js';
|
|
4
4
|
const { MsgSend, MsgMultiSend } = cosmos.bank.v1beta1;
|
|
5
5
|
/**
|
|
6
6
|
* Route bank transaction to appropriate handler
|
|
7
7
|
*/
|
|
8
|
-
export async function routeBankTransaction(client, senderAddress, subcommand, args,
|
|
8
|
+
export async function routeBankTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
|
|
9
9
|
validateArgsLength(args, 'bank transaction');
|
|
10
10
|
switch (subcommand) {
|
|
11
11
|
case 'send': {
|
|
12
|
-
|
|
13
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'send requires recipient-address and amount arguments');
|
|
14
|
-
}
|
|
12
|
+
requireArgs(args, 2, ['recipient-address', 'amount'], 'bank send');
|
|
15
13
|
const [recipientAddress, amountStr] = args;
|
|
16
14
|
validateAddress(recipientAddress, 'recipient address');
|
|
17
15
|
const { amount, denom } = parseAmount(amountStr);
|
|
18
16
|
// Extract optional memo from args
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (memoIndex !== -1 && args[memoIndex + 1]) {
|
|
22
|
-
memo = args[memoIndex + 1];
|
|
17
|
+
const { value: memo = '' } = extractFlag(args, '--memo', 'bank send');
|
|
18
|
+
if (memo) {
|
|
23
19
|
validateMemo(memo);
|
|
24
20
|
}
|
|
25
21
|
const msg = {
|
|
@@ -34,15 +30,10 @@ export async function routeBankTransaction(client, senderAddress, subcommand, ar
|
|
|
34
30
|
return buildTxResult('bank', 'send', result, waitForConfirmation);
|
|
35
31
|
}
|
|
36
32
|
case 'multi-send': {
|
|
37
|
-
|
|
38
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, 'multi-send requires at least one recipient:amount pair');
|
|
39
|
-
}
|
|
33
|
+
requireArgs(args, 1, ['recipient:amount'], 'bank multi-send');
|
|
40
34
|
// Parse format: multi-send recipient1:amount1 recipient2:amount2 ...
|
|
41
35
|
const outputs = args.map((arg) => {
|
|
42
|
-
const [address, amountStr] = arg
|
|
43
|
-
if (!address || !amountStr) {
|
|
44
|
-
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid multi-send format: ${arg}. Expected format: address:amount`);
|
|
45
|
-
}
|
|
36
|
+
const [address, amountStr] = parseColonPair(arg, 'address', 'amount', 'multi-send');
|
|
46
37
|
validateAddress(address, 'recipient address');
|
|
47
38
|
const { amount, denom } = parseAmount(amountStr);
|
|
48
39
|
return { address, coins: [{ denom, amount }] };
|
|
@@ -70,7 +61,7 @@ export async function routeBankTransaction(client, senderAddress, subcommand, ar
|
|
|
70
61
|
return buildTxResult('bank', 'multi-send', result, waitForConfirmation);
|
|
71
62
|
}
|
|
72
63
|
default:
|
|
73
|
-
|
|
64
|
+
throwUnsupportedSubcommand('tx', 'bank', subcommand);
|
|
74
65
|
}
|
|
75
66
|
}
|
|
76
67
|
//# sourceMappingURL=bank.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bank.js","sourceRoot":"","sources":["../../src/transactions/bank.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"bank.js","sourceRoot":"","sources":["../../src/transactions/bank.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,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErJ,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAA6B,EAC7B,aAAqB,EACrB,UAAkB,EAClB,IAAc,EACd,mBAA4B;IAE5B,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAE7C,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;YACnE,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC;YAC3C,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;YACvD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YAEjD,kCAAkC;YAClC,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACtE,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,8BAA8B;gBACvC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC;oBACzB,WAAW,EAAE,aAAa;oBAC1B,SAAS,EAAE,gBAAgB;oBAC3B,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,EAAE,IAAI,CAAC,CAAC;YACjF,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAC9D,qEAAqE;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/B,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACpF,eAAe,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBAC9C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC1D,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9E,KAAK;gBACL,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;aAC1B,CAAC,CAAC,CAAC;YAEJ,MAAM,GAAG,GAAG;gBACV,OAAO,EAAE,mCAAmC;gBAC5C,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC;oBAC9B,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;oBACvD,OAAO;iBACR,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,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC1E,CAAC;QAED;YACE,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,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 billing transaction to appropriate handler
|
|
5
5
|
*/
|
|
6
|
-
export declare function routeBillingTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[],
|
|
6
|
+
export declare function routeBillingTransaction(client: SigningStargateClient, senderAddress: string, subcommand: string, args: string[], waitForConfirmation: boolean): Promise<CosmosTxResult>;
|
|
7
7
|
//# sourceMappingURL=billing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/transactions/billing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/transactions/billing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAA0C,MAAM,aAAa,CAAC;AAUrF;;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,CAwQzB"}
|
|
@@ -1,43 +1,16 @@
|
|
|
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';
|
|
6
|
-
const { MsgFundCredit, MsgCreateLease, MsgCloseLease, MsgWithdraw } = liftedinit.billing.v1;
|
|
7
|
-
/** Maximum meta hash length in bytes (64 bytes for SHA-512) */
|
|
8
|
-
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
|
-
}
|
|
3
|
+
import { parseAmount, buildTxResult, parseBigInt, validateAddress, validateArgsLength, extractFlag, filterConsumedArgs, parseColonPair, requireArgs, parseHexBytes, MAX_META_HASH_BYTES } from './utils.js';
|
|
4
|
+
import { getSubcommandUsage, throwUnsupportedSubcommand } from '../modules.js';
|
|
5
|
+
const { MsgFundCredit, MsgCreateLease, MsgCloseLease, MsgWithdraw, MsgCreateLeaseForTenant, MsgAcknowledgeLease, MsgRejectLease, MsgCancelLease, MsgUpdateParams, } = liftedinit.billing.v1;
|
|
30
6
|
/**
|
|
31
7
|
* Route billing transaction to appropriate handler
|
|
32
8
|
*/
|
|
33
|
-
export async function routeBillingTransaction(client, senderAddress, subcommand, args,
|
|
9
|
+
export async function routeBillingTransaction(client, senderAddress, subcommand, args, waitForConfirmation) {
|
|
34
10
|
validateArgsLength(args, 'billing transaction');
|
|
35
11
|
switch (subcommand) {
|
|
36
12
|
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
|
-
}
|
|
13
|
+
requireArgs(args, 2, ['tenant-address', 'amount'], 'billing fund-credit');
|
|
41
14
|
const [tenant, amountStr] = args;
|
|
42
15
|
validateAddress(tenant, 'tenant address');
|
|
43
16
|
const { amount, denom } = parseAmount(amountStr);
|
|
@@ -53,29 +26,15 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
53
26
|
return buildTxResult('billing', 'fund-credit', result, waitForConfirmation);
|
|
54
27
|
}
|
|
55
28
|
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
|
-
}
|
|
29
|
+
// Parse optional --meta-hash flag (can appear anywhere in args)
|
|
30
|
+
const { value: metaHashHex, consumedIndices } = extractFlag(args, '--meta-hash', 'billing create-lease');
|
|
31
|
+
const metaHash = metaHashHex ? parseHexBytes(metaHashHex, 'meta-hash', MAX_META_HASH_BYTES) : undefined;
|
|
32
|
+
// Filter out --meta-hash and its value to get item args
|
|
33
|
+
const itemArgs = filterConsumedArgs(args, consumedIndices);
|
|
34
|
+
requireArgs(itemArgs, 1, ['sku-uuid:quantity'], 'billing create-lease');
|
|
73
35
|
// Parse items (format: sku-uuid:quantity ...)
|
|
74
36
|
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
|
-
}
|
|
37
|
+
const [skuUuid, quantityStr] = parseColonPair(arg, 'sku-uuid', 'quantity', 'lease item');
|
|
79
38
|
return { skuUuid, quantity: parseBigInt(quantityStr, 'quantity') };
|
|
80
39
|
});
|
|
81
40
|
const msg = {
|
|
@@ -90,58 +49,44 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
90
49
|
return buildTxResult('billing', 'create-lease', result, waitForConfirmation);
|
|
91
50
|
}
|
|
92
51
|
case 'close-lease': {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
52
|
+
// Parse optional --reason flag
|
|
53
|
+
const { value: reason, consumedIndices } = extractFlag(args, '--reason', 'billing close-lease');
|
|
54
|
+
const leaseArgs = filterConsumedArgs(args, consumedIndices);
|
|
55
|
+
requireArgs(leaseArgs, 1, ['lease-uuid'], 'billing close-lease');
|
|
97
56
|
// MsgCloseLease can close multiple leases at once
|
|
98
|
-
const leaseUuids =
|
|
99
|
-
const reason = ''; // Optional reason, could be added as a flag later
|
|
57
|
+
const leaseUuids = leaseArgs;
|
|
100
58
|
const msg = {
|
|
101
59
|
typeUrl: '/liftedinit.billing.v1.MsgCloseLease',
|
|
102
60
|
value: MsgCloseLease.fromPartial({
|
|
103
61
|
sender: senderAddress,
|
|
104
62
|
leaseUuids,
|
|
105
|
-
reason,
|
|
63
|
+
reason: reason ?? '',
|
|
106
64
|
}),
|
|
107
65
|
};
|
|
108
66
|
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
109
67
|
return buildTxResult('billing', 'close-lease', result, waitForConfirmation);
|
|
110
68
|
}
|
|
111
69
|
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');
|
|
70
|
+
requireArgs(args, 1, ['lease-uuid or --provider'], 'billing withdraw');
|
|
71
|
+
// Extract flags
|
|
72
|
+
const providerFlag = extractFlag(args, '--provider', 'billing withdraw');
|
|
73
|
+
const limitFlag = extractFlag(args, '--limit', 'billing withdraw');
|
|
119
74
|
let leaseUuids = [];
|
|
120
75
|
let providerUuid = '';
|
|
121
76
|
let limit = BigInt(0); // 0 means use default (50)
|
|
122
|
-
if (
|
|
77
|
+
if (providerFlag.value) {
|
|
123
78
|
// 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]);
|
|
79
|
+
providerUuid = providerFlag.value;
|
|
130
80
|
// 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');
|
|
81
|
+
if (limitFlag.value) {
|
|
82
|
+
limit = parseBigInt(limitFlag.value, 'limit');
|
|
137
83
|
if (limit < BigInt(1) || limit > BigInt(100)) {
|
|
138
84
|
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Invalid limit: ${limit}. Must be between 1 and 100.`);
|
|
139
85
|
}
|
|
140
|
-
consumedIndices.add(limitFlagIndex);
|
|
141
|
-
consumedIndices.add(limitFlagIndex + 1);
|
|
142
86
|
}
|
|
143
87
|
// Check for any extra arguments that weren't consumed
|
|
144
|
-
const
|
|
88
|
+
const allConsumed = [...providerFlag.consumedIndices, ...limitFlag.consumedIndices];
|
|
89
|
+
const extraArgs = filterConsumedArgs(args, allConsumed);
|
|
145
90
|
if (extraArgs.length > 0) {
|
|
146
91
|
const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
|
|
147
92
|
throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, `Provider-wide withdrawal does not accept additional arguments. ` +
|
|
@@ -151,7 +96,7 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
151
96
|
}
|
|
152
97
|
else {
|
|
153
98
|
// Lease-specific withdrawal mode
|
|
154
|
-
// Check for unexpected flags
|
|
99
|
+
// Check for unexpected flags (--limit without --provider is invalid)
|
|
155
100
|
const unexpectedFlags = args.filter(arg => arg.startsWith('--'));
|
|
156
101
|
if (unexpectedFlags.length > 0) {
|
|
157
102
|
const usage = getSubcommandUsage('tx', 'billing', 'withdraw');
|
|
@@ -159,10 +104,6 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
159
104
|
`Use --provider for provider-wide withdrawal. Usage: withdraw ${usage ?? '<args>'}`);
|
|
160
105
|
}
|
|
161
106
|
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
107
|
}
|
|
167
108
|
const msg = {
|
|
168
109
|
typeUrl: '/liftedinit.billing.v1.MsgWithdraw',
|
|
@@ -176,8 +117,103 @@ export async function routeBillingTransaction(client, senderAddress, subcommand,
|
|
|
176
117
|
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
177
118
|
return buildTxResult('billing', 'withdraw', result, waitForConfirmation);
|
|
178
119
|
}
|
|
120
|
+
case 'create-lease-for-tenant': {
|
|
121
|
+
// Parse optional --meta-hash flag
|
|
122
|
+
const { value: metaHashHex, consumedIndices } = extractFlag(args, '--meta-hash', 'billing create-lease-for-tenant');
|
|
123
|
+
const metaHash = metaHashHex ? parseHexBytes(metaHashHex, 'meta-hash', MAX_META_HASH_BYTES) : undefined;
|
|
124
|
+
// Filter out --meta-hash and its value to get remaining args
|
|
125
|
+
const remainingArgs = filterConsumedArgs(args, consumedIndices);
|
|
126
|
+
requireArgs(remainingArgs, 2, ['tenant-address', 'sku-uuid:quantity'], 'billing create-lease-for-tenant');
|
|
127
|
+
const [tenant, ...itemArgs] = remainingArgs;
|
|
128
|
+
validateAddress(tenant, 'tenant address');
|
|
129
|
+
// Parse items (format: sku-uuid:quantity ...)
|
|
130
|
+
const items = itemArgs.map((arg) => {
|
|
131
|
+
const [skuUuid, quantityStr] = parseColonPair(arg, 'sku-uuid', 'quantity', 'lease item');
|
|
132
|
+
return { skuUuid, quantity: parseBigInt(quantityStr, 'quantity') };
|
|
133
|
+
});
|
|
134
|
+
const msg = {
|
|
135
|
+
typeUrl: '/liftedinit.billing.v1.MsgCreateLeaseForTenant',
|
|
136
|
+
value: MsgCreateLeaseForTenant.fromPartial({
|
|
137
|
+
authority: senderAddress,
|
|
138
|
+
tenant,
|
|
139
|
+
items,
|
|
140
|
+
metaHash: metaHash ?? new Uint8Array(),
|
|
141
|
+
}),
|
|
142
|
+
};
|
|
143
|
+
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
144
|
+
return buildTxResult('billing', 'create-lease-for-tenant', result, waitForConfirmation);
|
|
145
|
+
}
|
|
146
|
+
case 'acknowledge-lease': {
|
|
147
|
+
requireArgs(args, 1, ['lease-uuid'], 'billing acknowledge-lease');
|
|
148
|
+
const leaseUuids = args;
|
|
149
|
+
const msg = {
|
|
150
|
+
typeUrl: '/liftedinit.billing.v1.MsgAcknowledgeLease',
|
|
151
|
+
value: MsgAcknowledgeLease.fromPartial({
|
|
152
|
+
sender: senderAddress,
|
|
153
|
+
leaseUuids,
|
|
154
|
+
}),
|
|
155
|
+
};
|
|
156
|
+
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
157
|
+
return buildTxResult('billing', 'acknowledge-lease', result, waitForConfirmation);
|
|
158
|
+
}
|
|
159
|
+
case 'reject-lease': {
|
|
160
|
+
// Parse optional --reason flag
|
|
161
|
+
const { value: reason, consumedIndices } = extractFlag(args, '--reason', 'billing reject-lease');
|
|
162
|
+
const leaseArgs = filterConsumedArgs(args, consumedIndices);
|
|
163
|
+
requireArgs(leaseArgs, 1, ['lease-uuid'], 'billing reject-lease');
|
|
164
|
+
const leaseUuids = leaseArgs;
|
|
165
|
+
const msg = {
|
|
166
|
+
typeUrl: '/liftedinit.billing.v1.MsgRejectLease',
|
|
167
|
+
value: MsgRejectLease.fromPartial({
|
|
168
|
+
sender: senderAddress,
|
|
169
|
+
leaseUuids,
|
|
170
|
+
reason: reason ?? '',
|
|
171
|
+
}),
|
|
172
|
+
};
|
|
173
|
+
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
174
|
+
return buildTxResult('billing', 'reject-lease', result, waitForConfirmation);
|
|
175
|
+
}
|
|
176
|
+
case 'cancel-lease': {
|
|
177
|
+
requireArgs(args, 1, ['lease-uuid'], 'billing cancel-lease');
|
|
178
|
+
const leaseUuids = args;
|
|
179
|
+
const msg = {
|
|
180
|
+
typeUrl: '/liftedinit.billing.v1.MsgCancelLease',
|
|
181
|
+
value: MsgCancelLease.fromPartial({
|
|
182
|
+
tenant: senderAddress,
|
|
183
|
+
leaseUuids,
|
|
184
|
+
}),
|
|
185
|
+
};
|
|
186
|
+
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
187
|
+
return buildTxResult('billing', 'cancel-lease', result, waitForConfirmation);
|
|
188
|
+
}
|
|
189
|
+
case 'update-params': {
|
|
190
|
+
requireArgs(args, 5, [
|
|
191
|
+
'max-leases-per-tenant', 'max-items-per-lease', 'min-lease-duration',
|
|
192
|
+
'max-pending-leases-per-tenant', 'pending-timeout',
|
|
193
|
+
], 'billing update-params');
|
|
194
|
+
const [maxLeasesPerTenantStr, maxItemsPerLeaseStr, minLeaseDurationStr, maxPendingLeasesPerTenantStr, pendingTimeoutStr, ...allowedAddresses] = args;
|
|
195
|
+
for (const addr of allowedAddresses) {
|
|
196
|
+
validateAddress(addr, 'allowed address');
|
|
197
|
+
}
|
|
198
|
+
const msg = {
|
|
199
|
+
typeUrl: '/liftedinit.billing.v1.MsgUpdateParams',
|
|
200
|
+
value: MsgUpdateParams.fromPartial({
|
|
201
|
+
authority: senderAddress,
|
|
202
|
+
params: {
|
|
203
|
+
maxLeasesPerTenant: parseBigInt(maxLeasesPerTenantStr, 'max-leases-per-tenant'),
|
|
204
|
+
maxItemsPerLease: parseBigInt(maxItemsPerLeaseStr, 'max-items-per-lease'),
|
|
205
|
+
minLeaseDuration: parseBigInt(minLeaseDurationStr, 'min-lease-duration'),
|
|
206
|
+
maxPendingLeasesPerTenant: parseBigInt(maxPendingLeasesPerTenantStr, 'max-pending-leases-per-tenant'),
|
|
207
|
+
pendingTimeout: parseBigInt(pendingTimeoutStr, 'pending-timeout'),
|
|
208
|
+
allowedList: allowedAddresses,
|
|
209
|
+
},
|
|
210
|
+
}),
|
|
211
|
+
};
|
|
212
|
+
const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
|
|
213
|
+
return buildTxResult('billing', 'update-params', result, waitForConfirmation);
|
|
214
|
+
}
|
|
179
215
|
default:
|
|
180
|
-
|
|
216
|
+
throwUnsupportedSubcommand('tx', 'billing', subcommand);
|
|
181
217
|
}
|
|
182
218
|
}
|
|
183
219
|
//# 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"}
|