@manifest-network/manifest-mcp-core 0.6.1 → 0.6.2

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.
@@ -31,6 +31,14 @@ interface BillingOverrides {
31
31
  amount: string;
32
32
  }[];
33
33
  } | null;
34
+ creditAccountBalances?: {
35
+ denom: string;
36
+ amount: string;
37
+ }[];
38
+ creditAccountAvailableBalances?: {
39
+ denom: string;
40
+ amount: string;
41
+ }[];
34
42
  creditEstimate?: {
35
43
  currentBalance: {
36
44
  denom: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.d.ts","names":[],"sources":["../../src/__test-utils__/mocks.ts"],"mappings":";;;;;;;;;iBAYgB,cAAA,CACd,SAAA,GAAY,OAAA,CAAQ,iBAAA,IACnB,iBAAA;AAFH;;;;AAAA,iBAgBgB,cAAA,CAAe,IAAA;EAC7B,aAAA;AAAA,IACE,cAAA;;;;UAiBM,gBAAA;EACR,QAAA;IAAa,KAAA;IAAe,MAAA;EAAA;EAC5B,aAAA;IACE,gBAAA;IACA,iBAAA;IACA,eAAA;MAAmB,KAAA;MAAe,MAAA;IAAA;EAAA;EAEpC,cAAA;IACE,cAAA;MAAkB,KAAA;MAAe,MAAA;IAAA;IACjC,kBAAA;MAAsB,KAAA;MAAe,MAAA;IAAA;IACrC,wBAAA;IACA,gBAAA;EAAA;EAEF,KAAA;IACE,IAAA;IACA,KAAA,EAAO,UAAA;IACP,YAAA;IACA,SAAA,GAAY,IAAA;IACZ,QAAA,GAAW,IAAA;EAAA;EAEb,YAAA;IAAiB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;EACjE,aAAA;IAAkB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;EAClE,YAAA;IAAiB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;EACjE,cAAA;IAAmB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;EACnE,aAAA;IAAkB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;AAAA;AAAA,UAG1D,YAAA;EACR,SAAA;IACE,IAAA;IACA,OAAA;IACA,MAAA;IACA,MAAA;EAAA;EAEF,IAAA;IACE,IAAA;IACA,IAAA;IACA,YAAA;IACA,SAAA;MAAc,MAAA;MAAgB,KAAA;IAAA;EAAA;EAEhC,cAAA,GAAiB,MAAA;IAAiB,QAAA;MAAY,MAAA;IAAA;EAAA;AAAA;AAhBwB;;;AAAA,iBAsBxD,mBAAA,CAAoB,SAAA;EAClC,OAAA,GAAU,gBAAA;EACV,GAAA,GAAM,YAAA;AAAA,IAqKU,mBAAA;;;;iBAMF,qBAAA,CAAsB,SAAA;EACpC,WAAA,GAAc,mBAAA;EACd,OAAA;EACA,MAAA,GAAS,iBAAA;AAAA;uBAAiB,SAAA"}
1
+ {"version":3,"file":"mocks.d.ts","names":[],"sources":["../../src/__test-utils__/mocks.ts"],"mappings":";;;;;;;;;iBAYgB,cAAA,CACd,SAAA,GAAY,OAAA,CAAQ,iBAAA,IACnB,iBAAA;AAFH;;;;AAAA,iBAgBgB,cAAA,CAAe,IAAA;EAC7B,aAAA;AAAA,IACE,cAAA;;;;UAiBM,gBAAA;EACR,QAAA;IAAa,KAAA;IAAe,MAAA;EAAA;EAC5B,aAAA;IACE,gBAAA;IACA,iBAAA;IACA,eAAA;MAAmB,KAAA;MAAe,MAAA;IAAA;EAAA;EAEpC,qBAAA;IAA0B,KAAA;IAAe,MAAA;EAAA;EACzC,8BAAA;IAAmC,KAAA;IAAe,MAAA;EAAA;EAClD,cAAA;IACE,cAAA;MAAkB,KAAA;MAAe,MAAA;IAAA;IACjC,kBAAA;MAAsB,KAAA;MAAe,MAAA;IAAA;IACrC,wBAAA;IACA,gBAAA;EAAA;EAEF,KAAA;IACE,IAAA;IACA,KAAA,EAAO,UAAA;IACP,YAAA;IACA,SAAA,GAAY,IAAA;IACZ,QAAA,GAAW,IAAA;EAAA;EAEb,YAAA;IAAiB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;EACjE,aAAA;IAAkB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;EAClE,YAAA;IAAiB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;EACjE,cAAA;IAAmB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;EACnE,aAAA;IAAkB,IAAA;IAAc,YAAA;IAAsB,SAAA,GAAY,IAAA;EAAA;AAAA;AAAA,UAG1D,YAAA;EACR,SAAA;IACE,IAAA;IACA,OAAA;IACA,MAAA;IACA,MAAA;EAAA;EAEF,IAAA;IACE,IAAA;IACA,IAAA;IACA,YAAA;IACA,SAAA;MAAc,MAAA;MAAgB,KAAA;IAAA;EAAA;EAEhC,cAAA,GAAiB,MAAA;IAAiB,QAAA;MAAY,MAAA;IAAA;EAAA;AAAA;;;;iBAMhC,mBAAA,CAAoB,SAAA;EAClC,OAAA,GAAU,gBAAA;EACV,GAAA,GAAM,YAAA;AAAA,IA4KU,mBAAA;;;;iBAMF,qBAAA,CAAsB,SAAA;EACpC,WAAA,GAAc,mBAAA;EACd,OAAA;EACA,MAAA,GAAS,iBAAA;AAAA;uBAAiB,SAAA"}
@@ -42,6 +42,8 @@ function makeMockQueryClient(overrides) {
42
42
  amount: "1000000"
43
43
  }];
44
44
  const creditAccount = billing.creditAccount ?? null;
45
+ const creditAccountBalances = billing.creditAccountBalances ?? [];
46
+ const creditAccountAvailableBalances = billing.creditAccountAvailableBalances ?? [];
45
47
  const creditEstimate = billing.creditEstimate ?? null;
46
48
  const lease = billing.lease ?? null;
47
49
  const activeLeases = billing.activeLeases ?? [];
@@ -103,7 +105,11 @@ function makeMockQueryClient(overrides) {
103
105
  billing: { v1: {
104
106
  creditAccount: vi.fn().mockImplementation(async () => {
105
107
  if (creditAccount === null) throw new Error("key not found");
106
- return { creditAccount };
108
+ return {
109
+ creditAccount,
110
+ balances: creditAccountBalances,
111
+ availableBalances: creditAccountAvailableBalances
112
+ };
107
113
  }),
108
114
  creditEstimate: vi.fn().mockImplementation(async () => {
109
115
  if (creditEstimate === null) throw new Error("credit not found");
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.js","names":[],"sources":["../../src/__test-utils__/mocks.ts"],"sourcesContent":["import { LeaseState } from '@manifest-network/manifestjs/dist/codegen/liftedinit/billing/v1/types.js';\nimport { vi } from 'vitest';\nimport type { ManifestQueryClient } from '../client.js';\nimport type {\n ManifestMCPConfig,\n SignArbitraryResult,\n WalletProvider,\n} from '../types.js';\n\n/**\n * Create a mock ManifestMCPConfig with sensible defaults.\n */\nexport function makeMockConfig(\n overrides?: Partial<ManifestMCPConfig>,\n): ManifestMCPConfig {\n return {\n chainId: 'test-chain',\n rpcUrl: 'https://rpc.example.com',\n gasPrice: '1.0umfx',\n addressPrefix: 'manifest',\n ...overrides,\n };\n}\n\n/**\n * Create a mock WalletProvider.\n * Pass `signArbitrary: true` to include a signArbitrary stub.\n */\nexport function makeMockWallet(opts?: {\n signArbitrary?: boolean;\n}): WalletProvider {\n const wallet: WalletProvider = {\n getAddress: vi.fn().mockResolvedValue('manifest1abc'),\n getSigner: vi.fn().mockResolvedValue({}),\n };\n if (opts?.signArbitrary) {\n wallet.signArbitrary = vi.fn().mockResolvedValue({\n pub_key: { type: 'tendermint/PubKeySecp256k1', value: 'mockPubKey' },\n signature: 'mockSignature',\n } satisfies SignArbitraryResult);\n }\n return wallet;\n}\n\n/**\n * Billing mock data defaults\n */\ninterface BillingOverrides {\n balances?: { denom: string; amount: string }[];\n creditAccount?: {\n activeLeaseCount: bigint;\n pendingLeaseCount: bigint;\n reservedAmounts: { denom: string; amount: string }[];\n } | null;\n creditEstimate?: {\n currentBalance: { denom: string; amount: string }[];\n totalRatePerSecond: { denom: string; amount: string }[];\n estimatedDurationSeconds: bigint;\n activeLeaseCount: bigint;\n } | null;\n lease?: {\n uuid: string;\n state: LeaseState;\n providerUuid: string;\n createdAt?: Date;\n closedAt?: Date;\n } | null;\n activeLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n pendingLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n closedLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n rejectedLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n expiredLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n}\n\ninterface SkuOverrides {\n providers?: {\n uuid: string;\n address: string;\n apiUrl: string;\n active: boolean;\n }[];\n skus?: {\n uuid?: string;\n name: string;\n providerUuid: string;\n basePrice?: { amount: string; denom: string };\n }[];\n providerLookup?: Record<string, { provider: { apiUrl: string } }>;\n}\n\n/**\n * Create a mock ManifestQueryClient with configurable billing, bank, and SKU data.\n */\nexport function makeMockQueryClient(overrides?: {\n billing?: BillingOverrides;\n sku?: SkuOverrides;\n}) {\n const billing = overrides?.billing ?? {};\n const sku = overrides?.sku ?? {};\n\n const balances = billing.balances ?? [{ denom: 'umfx', amount: '1000000' }];\n const creditAccount = billing.creditAccount ?? null;\n const creditEstimate = billing.creditEstimate ?? null;\n const lease = billing.lease ?? null;\n const activeLeases = billing.activeLeases ?? [];\n const pendingLeases = billing.pendingLeases ?? [];\n const closedLeases = billing.closedLeases ?? [];\n const rejectedLeases = billing.rejectedLeases ?? [];\n const expiredLeases = billing.expiredLeases ?? [];\n\n const providers = sku.providers ?? [];\n const skus = sku.skus ?? [];\n const providerLookup = sku.providerLookup ?? {};\n\n return {\n cosmos: {\n bank: {\n v1beta1: {\n allBalances: vi.fn().mockResolvedValue({ balances }),\n },\n },\n },\n cosmwasm: {\n wasm: {\n v1: {\n contractInfo: vi.fn().mockResolvedValue({}),\n contractHistory: vi\n .fn()\n .mockResolvedValue({ entries: [], pagination: null }),\n contractsByCode: vi\n .fn()\n .mockResolvedValue({ contracts: [], pagination: null }),\n allContractState: vi\n .fn()\n .mockResolvedValue({ models: [], pagination: null }),\n rawContractState: vi\n .fn()\n .mockResolvedValue({ data: new Uint8Array() }),\n smartContractState: vi\n .fn()\n .mockResolvedValue({ data: new Uint8Array() }),\n code: vi\n .fn()\n .mockResolvedValue({ codeInfo: null, data: new Uint8Array() }),\n codes: vi.fn().mockResolvedValue({ codeInfos: [], pagination: null }),\n codeInfo: vi.fn().mockResolvedValue({\n codeId: BigInt(0),\n creator: '',\n checksum: new Uint8Array(),\n instantiatePermission: { permission: 0, addresses: [] },\n }),\n pinnedCodes: vi\n .fn()\n .mockResolvedValue({ codeIds: [], pagination: null }),\n params: vi.fn().mockResolvedValue({ params: null }),\n contractsByCreator: vi\n .fn()\n .mockResolvedValue({ contractAddresses: [], pagination: null }),\n wasmLimitsConfig: vi.fn().mockResolvedValue({ config: '{}' }),\n buildAddress: vi.fn().mockResolvedValue({ address: '' }),\n },\n },\n },\n liftedinit: {\n billing: {\n v1: {\n creditAccount: vi.fn().mockImplementation(async () => {\n if (creditAccount === null) throw new Error('key not found');\n return { creditAccount };\n }),\n creditEstimate: vi.fn().mockImplementation(async () => {\n if (creditEstimate === null) throw new Error('credit not found');\n return creditEstimate;\n }),\n lease: vi.fn().mockImplementation(async () => {\n return { lease };\n }),\n leasesByTenant: vi\n .fn()\n .mockImplementation(\n async ({ stateFilter }: { stateFilter: LeaseState }) => {\n if (stateFilter === LeaseState.LEASE_STATE_UNSPECIFIED) {\n return {\n leases: [\n ...activeLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_ACTIVE,\n ...l,\n })),\n ...pendingLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_PENDING,\n ...l,\n })),\n ...closedLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_CLOSED,\n ...l,\n })),\n ...rejectedLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_REJECTED,\n ...l,\n })),\n ...expiredLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_EXPIRED,\n ...l,\n })),\n ],\n };\n }\n if (stateFilter === LeaseState.LEASE_STATE_ACTIVE)\n return {\n leases: activeLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_ACTIVE,\n ...l,\n })),\n };\n if (stateFilter === LeaseState.LEASE_STATE_PENDING)\n return {\n leases: pendingLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_PENDING,\n ...l,\n })),\n };\n if (stateFilter === LeaseState.LEASE_STATE_CLOSED)\n return {\n leases: closedLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_CLOSED,\n ...l,\n })),\n };\n if (stateFilter === LeaseState.LEASE_STATE_REJECTED)\n return {\n leases: rejectedLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_REJECTED,\n ...l,\n })),\n };\n if (stateFilter === LeaseState.LEASE_STATE_EXPIRED)\n return {\n leases: expiredLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_EXPIRED,\n ...l,\n })),\n };\n return { leases: [] };\n },\n ),\n },\n },\n sku: {\n v1: {\n providers: vi.fn().mockResolvedValue({ providers }),\n sKUs: vi.fn().mockResolvedValue({ skus }),\n provider: vi\n .fn()\n .mockImplementation(async ({ uuid }: { uuid: string }) => {\n if (providerLookup[uuid]) return providerLookup[uuid];\n throw new Error(`provider ${uuid} not found`);\n }),\n },\n },\n },\n } as unknown as ManifestQueryClient;\n}\n\n/**\n * Create a mock CosmosClientManager.\n */\nexport function makeMockClientManager(overrides?: {\n queryClient?: ManifestQueryClient;\n address?: string;\n config?: ManifestMCPConfig;\n}) {\n const queryClient = overrides?.queryClient ?? makeMockQueryClient();\n const address = overrides?.address ?? 'manifest1abc';\n const config = overrides?.config ?? makeMockConfig();\n\n return {\n getQueryClient: vi.fn().mockResolvedValue(queryClient),\n getSigningClient: vi.fn().mockResolvedValue({}),\n getAddress: vi.fn().mockResolvedValue(address),\n getConfig: vi.fn().mockReturnValue(config),\n acquireRateLimit: vi.fn().mockResolvedValue(undefined),\n disconnect: vi.fn(),\n };\n}\n"],"mappings":";;;;;;AAYA,SAAgB,eACd,WACmB;AACnB,QAAO;EACL,SAAS;EACT,QAAQ;EACR,UAAU;EACV,eAAe;EACf,GAAG;EACJ;;;;;;AAOH,SAAgB,eAAe,MAEZ;CACjB,MAAM,SAAyB;EAC7B,YAAY,GAAG,IAAI,CAAC,kBAAkB,eAAe;EACrD,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;EACzC;AACD,KAAI,MAAM,cACR,QAAO,gBAAgB,GAAG,IAAI,CAAC,kBAAkB;EAC/C,SAAS;GAAE,MAAM;GAA8B,OAAO;GAAc;EACpE,WAAW;EACZ,CAA+B;AAElC,QAAO;;;;;AAoDT,SAAgB,oBAAoB,WAGjC;CACD,MAAM,UAAU,WAAW,WAAW,EAAE;CACxC,MAAM,MAAM,WAAW,OAAO,EAAE;CAEhC,MAAM,WAAW,QAAQ,YAAY,CAAC;EAAE,OAAO;EAAQ,QAAQ;EAAW,CAAC;CAC3E,MAAM,gBAAgB,QAAQ,iBAAiB;CAC/C,MAAM,iBAAiB,QAAQ,kBAAkB;CACjD,MAAM,QAAQ,QAAQ,SAAS;CAC/B,MAAM,eAAe,QAAQ,gBAAgB,EAAE;CAC/C,MAAM,gBAAgB,QAAQ,iBAAiB,EAAE;CACjD,MAAM,eAAe,QAAQ,gBAAgB,EAAE;CAC/C,MAAM,iBAAiB,QAAQ,kBAAkB,EAAE;CACnD,MAAM,gBAAgB,QAAQ,iBAAiB,EAAE;CAEjD,MAAM,YAAY,IAAI,aAAa,EAAE;CACrC,MAAM,OAAO,IAAI,QAAQ,EAAE;CAC3B,MAAM,iBAAiB,IAAI,kBAAkB,EAAE;AAE/C,QAAO;EACL,QAAQ,EACN,MAAM,EACJ,SAAS,EACP,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,EACrD,EACF,EACF;EACD,UAAU,EACR,MAAM,EACJ,IAAI;GACF,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;GAC3C,iBAAiB,GACd,IAAI,CACJ,kBAAkB;IAAE,SAAS,EAAE;IAAE,YAAY;IAAM,CAAC;GACvD,iBAAiB,GACd,IAAI,CACJ,kBAAkB;IAAE,WAAW,EAAE;IAAE,YAAY;IAAM,CAAC;GACzD,kBAAkB,GACf,IAAI,CACJ,kBAAkB;IAAE,QAAQ,EAAE;IAAE,YAAY;IAAM,CAAC;GACtD,kBAAkB,GACf,IAAI,CACJ,kBAAkB,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC;GAChD,oBAAoB,GACjB,IAAI,CACJ,kBAAkB,EAAE,MAAM,IAAI,YAAY,EAAE,CAAC;GAChD,MAAM,GACH,IAAI,CACJ,kBAAkB;IAAE,UAAU;IAAM,MAAM,IAAI,YAAY;IAAE,CAAC;GAChE,OAAO,GAAG,IAAI,CAAC,kBAAkB;IAAE,WAAW,EAAE;IAAE,YAAY;IAAM,CAAC;GACrE,UAAU,GAAG,IAAI,CAAC,kBAAkB;IAClC,QAAQ,OAAO,EAAE;IACjB,SAAS;IACT,UAAU,IAAI,YAAY;IAC1B,uBAAuB;KAAE,YAAY;KAAG,WAAW,EAAE;KAAE;IACxD,CAAC;GACF,aAAa,GACV,IAAI,CACJ,kBAAkB;IAAE,SAAS,EAAE;IAAE,YAAY;IAAM,CAAC;GACvD,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,MAAM,CAAC;GACnD,oBAAoB,GACjB,IAAI,CACJ,kBAAkB;IAAE,mBAAmB,EAAE;IAAE,YAAY;IAAM,CAAC;GACjE,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,MAAM,CAAC;GAC7D,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,SAAS,IAAI,CAAC;GACzD,EACF,EACF;EACD,YAAY;GACV,SAAS,EACP,IAAI;IACF,eAAe,GAAG,IAAI,CAAC,mBAAmB,YAAY;AACpD,SAAI,kBAAkB,KAAM,OAAM,IAAI,MAAM,gBAAgB;AAC5D,YAAO,EAAE,eAAe;MACxB;IACF,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,YAAY;AACrD,SAAI,mBAAmB,KAAM,OAAM,IAAI,MAAM,mBAAmB;AAChE,YAAO;MACP;IACF,OAAO,GAAG,IAAI,CAAC,mBAAmB,YAAY;AAC5C,YAAO,EAAE,OAAO;MAChB;IACF,gBAAgB,GACb,IAAI,CACJ,mBACC,OAAO,EAAE,kBAA+C;AACtD,SAAI,gBAAgB,WAAW,wBAC7B,QAAO,EACL,QAAQ;MACN,GAAG,aAAa,KAAK,OAAO;OAC1B,OAAO,WAAW;OAClB,GAAG;OACJ,EAAE;MACH,GAAG,cAAc,KAAK,OAAO;OAC3B,OAAO,WAAW;OAClB,GAAG;OACJ,EAAE;MACH,GAAG,aAAa,KAAK,OAAO;OAC1B,OAAO,WAAW;OAClB,GAAG;OACJ,EAAE;MACH,GAAG,eAAe,KAAK,OAAO;OAC5B,OAAO,WAAW;OAClB,GAAG;OACJ,EAAE;MACH,GAAG,cAAc,KAAK,OAAO;OAC3B,OAAO,WAAW;OAClB,GAAG;OACJ,EAAE;MACJ,EACF;AAEH,SAAI,gBAAgB,WAAW,mBAC7B,QAAO,EACL,QAAQ,aAAa,KAAK,OAAO;MAC/B,OAAO,WAAW;MAClB,GAAG;MACJ,EAAE,EACJ;AACH,SAAI,gBAAgB,WAAW,oBAC7B,QAAO,EACL,QAAQ,cAAc,KAAK,OAAO;MAChC,OAAO,WAAW;MAClB,GAAG;MACJ,EAAE,EACJ;AACH,SAAI,gBAAgB,WAAW,mBAC7B,QAAO,EACL,QAAQ,aAAa,KAAK,OAAO;MAC/B,OAAO,WAAW;MAClB,GAAG;MACJ,EAAE,EACJ;AACH,SAAI,gBAAgB,WAAW,qBAC7B,QAAO,EACL,QAAQ,eAAe,KAAK,OAAO;MACjC,OAAO,WAAW;MAClB,GAAG;MACJ,EAAE,EACJ;AACH,SAAI,gBAAgB,WAAW,oBAC7B,QAAO,EACL,QAAQ,cAAc,KAAK,OAAO;MAChC,OAAO,WAAW;MAClB,GAAG;MACJ,EAAE,EACJ;AACH,YAAO,EAAE,QAAQ,EAAE,EAAE;MAExB;IACJ,EACF;GACD,KAAK,EACH,IAAI;IACF,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC;IACnD,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACzC,UAAU,GACP,IAAI,CACJ,mBAAmB,OAAO,EAAE,WAA6B;AACxD,SAAI,eAAe,MAAO,QAAO,eAAe;AAChD,WAAM,IAAI,MAAM,YAAY,KAAK,YAAY;MAC7C;IACL,EACF;GACF;EACF;;;;;AAMH,SAAgB,sBAAsB,WAInC;CACD,MAAM,cAAc,WAAW,eAAe,qBAAqB;CACnE,MAAM,UAAU,WAAW,WAAW;CACtC,MAAM,SAAS,WAAW,UAAU,gBAAgB;AAEpD,QAAO;EACL,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,YAAY;EACtD,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC/C,YAAY,GAAG,IAAI,CAAC,kBAAkB,QAAQ;EAC9C,WAAW,GAAG,IAAI,CAAC,gBAAgB,OAAO;EAC1C,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,KAAA,EAAU;EACtD,YAAY,GAAG,IAAI;EACpB"}
1
+ {"version":3,"file":"mocks.js","names":[],"sources":["../../src/__test-utils__/mocks.ts"],"sourcesContent":["import { LeaseState } from '@manifest-network/manifestjs/dist/codegen/liftedinit/billing/v1/types.js';\nimport { vi } from 'vitest';\nimport type { ManifestQueryClient } from '../client.js';\nimport type {\n ManifestMCPConfig,\n SignArbitraryResult,\n WalletProvider,\n} from '../types.js';\n\n/**\n * Create a mock ManifestMCPConfig with sensible defaults.\n */\nexport function makeMockConfig(\n overrides?: Partial<ManifestMCPConfig>,\n): ManifestMCPConfig {\n return {\n chainId: 'test-chain',\n rpcUrl: 'https://rpc.example.com',\n gasPrice: '1.0umfx',\n addressPrefix: 'manifest',\n ...overrides,\n };\n}\n\n/**\n * Create a mock WalletProvider.\n * Pass `signArbitrary: true` to include a signArbitrary stub.\n */\nexport function makeMockWallet(opts?: {\n signArbitrary?: boolean;\n}): WalletProvider {\n const wallet: WalletProvider = {\n getAddress: vi.fn().mockResolvedValue('manifest1abc'),\n getSigner: vi.fn().mockResolvedValue({}),\n };\n if (opts?.signArbitrary) {\n wallet.signArbitrary = vi.fn().mockResolvedValue({\n pub_key: { type: 'tendermint/PubKeySecp256k1', value: 'mockPubKey' },\n signature: 'mockSignature',\n } satisfies SignArbitraryResult);\n }\n return wallet;\n}\n\n/**\n * Billing mock data defaults\n */\ninterface BillingOverrides {\n balances?: { denom: string; amount: string }[];\n creditAccount?: {\n activeLeaseCount: bigint;\n pendingLeaseCount: bigint;\n reservedAmounts: { denom: string; amount: string }[];\n } | null;\n creditAccountBalances?: { denom: string; amount: string }[];\n creditAccountAvailableBalances?: { denom: string; amount: string }[];\n creditEstimate?: {\n currentBalance: { denom: string; amount: string }[];\n totalRatePerSecond: { denom: string; amount: string }[];\n estimatedDurationSeconds: bigint;\n activeLeaseCount: bigint;\n } | null;\n lease?: {\n uuid: string;\n state: LeaseState;\n providerUuid: string;\n createdAt?: Date;\n closedAt?: Date;\n } | null;\n activeLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n pendingLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n closedLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n rejectedLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n expiredLeases?: { uuid: string; providerUuid: string; createdAt?: Date }[];\n}\n\ninterface SkuOverrides {\n providers?: {\n uuid: string;\n address: string;\n apiUrl: string;\n active: boolean;\n }[];\n skus?: {\n uuid?: string;\n name: string;\n providerUuid: string;\n basePrice?: { amount: string; denom: string };\n }[];\n providerLookup?: Record<string, { provider: { apiUrl: string } }>;\n}\n\n/**\n * Create a mock ManifestQueryClient with configurable billing, bank, and SKU data.\n */\nexport function makeMockQueryClient(overrides?: {\n billing?: BillingOverrides;\n sku?: SkuOverrides;\n}) {\n const billing = overrides?.billing ?? {};\n const sku = overrides?.sku ?? {};\n\n const balances = billing.balances ?? [{ denom: 'umfx', amount: '1000000' }];\n const creditAccount = billing.creditAccount ?? null;\n const creditAccountBalances = billing.creditAccountBalances ?? [];\n const creditAccountAvailableBalances =\n billing.creditAccountAvailableBalances ?? [];\n const creditEstimate = billing.creditEstimate ?? null;\n const lease = billing.lease ?? null;\n const activeLeases = billing.activeLeases ?? [];\n const pendingLeases = billing.pendingLeases ?? [];\n const closedLeases = billing.closedLeases ?? [];\n const rejectedLeases = billing.rejectedLeases ?? [];\n const expiredLeases = billing.expiredLeases ?? [];\n\n const providers = sku.providers ?? [];\n const skus = sku.skus ?? [];\n const providerLookup = sku.providerLookup ?? {};\n\n return {\n cosmos: {\n bank: {\n v1beta1: {\n allBalances: vi.fn().mockResolvedValue({ balances }),\n },\n },\n },\n cosmwasm: {\n wasm: {\n v1: {\n contractInfo: vi.fn().mockResolvedValue({}),\n contractHistory: vi\n .fn()\n .mockResolvedValue({ entries: [], pagination: null }),\n contractsByCode: vi\n .fn()\n .mockResolvedValue({ contracts: [], pagination: null }),\n allContractState: vi\n .fn()\n .mockResolvedValue({ models: [], pagination: null }),\n rawContractState: vi\n .fn()\n .mockResolvedValue({ data: new Uint8Array() }),\n smartContractState: vi\n .fn()\n .mockResolvedValue({ data: new Uint8Array() }),\n code: vi\n .fn()\n .mockResolvedValue({ codeInfo: null, data: new Uint8Array() }),\n codes: vi.fn().mockResolvedValue({ codeInfos: [], pagination: null }),\n codeInfo: vi.fn().mockResolvedValue({\n codeId: BigInt(0),\n creator: '',\n checksum: new Uint8Array(),\n instantiatePermission: { permission: 0, addresses: [] },\n }),\n pinnedCodes: vi\n .fn()\n .mockResolvedValue({ codeIds: [], pagination: null }),\n params: vi.fn().mockResolvedValue({ params: null }),\n contractsByCreator: vi\n .fn()\n .mockResolvedValue({ contractAddresses: [], pagination: null }),\n wasmLimitsConfig: vi.fn().mockResolvedValue({ config: '{}' }),\n buildAddress: vi.fn().mockResolvedValue({ address: '' }),\n },\n },\n },\n liftedinit: {\n billing: {\n v1: {\n creditAccount: vi.fn().mockImplementation(async () => {\n if (creditAccount === null) throw new Error('key not found');\n return {\n creditAccount,\n balances: creditAccountBalances,\n availableBalances: creditAccountAvailableBalances,\n };\n }),\n creditEstimate: vi.fn().mockImplementation(async () => {\n if (creditEstimate === null) throw new Error('credit not found');\n return creditEstimate;\n }),\n lease: vi.fn().mockImplementation(async () => {\n return { lease };\n }),\n leasesByTenant: vi\n .fn()\n .mockImplementation(\n async ({ stateFilter }: { stateFilter: LeaseState }) => {\n if (stateFilter === LeaseState.LEASE_STATE_UNSPECIFIED) {\n return {\n leases: [\n ...activeLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_ACTIVE,\n ...l,\n })),\n ...pendingLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_PENDING,\n ...l,\n })),\n ...closedLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_CLOSED,\n ...l,\n })),\n ...rejectedLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_REJECTED,\n ...l,\n })),\n ...expiredLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_EXPIRED,\n ...l,\n })),\n ],\n };\n }\n if (stateFilter === LeaseState.LEASE_STATE_ACTIVE)\n return {\n leases: activeLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_ACTIVE,\n ...l,\n })),\n };\n if (stateFilter === LeaseState.LEASE_STATE_PENDING)\n return {\n leases: pendingLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_PENDING,\n ...l,\n })),\n };\n if (stateFilter === LeaseState.LEASE_STATE_CLOSED)\n return {\n leases: closedLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_CLOSED,\n ...l,\n })),\n };\n if (stateFilter === LeaseState.LEASE_STATE_REJECTED)\n return {\n leases: rejectedLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_REJECTED,\n ...l,\n })),\n };\n if (stateFilter === LeaseState.LEASE_STATE_EXPIRED)\n return {\n leases: expiredLeases.map((l) => ({\n state: LeaseState.LEASE_STATE_EXPIRED,\n ...l,\n })),\n };\n return { leases: [] };\n },\n ),\n },\n },\n sku: {\n v1: {\n providers: vi.fn().mockResolvedValue({ providers }),\n sKUs: vi.fn().mockResolvedValue({ skus }),\n provider: vi\n .fn()\n .mockImplementation(async ({ uuid }: { uuid: string }) => {\n if (providerLookup[uuid]) return providerLookup[uuid];\n throw new Error(`provider ${uuid} not found`);\n }),\n },\n },\n },\n } as unknown as ManifestQueryClient;\n}\n\n/**\n * Create a mock CosmosClientManager.\n */\nexport function makeMockClientManager(overrides?: {\n queryClient?: ManifestQueryClient;\n address?: string;\n config?: ManifestMCPConfig;\n}) {\n const queryClient = overrides?.queryClient ?? makeMockQueryClient();\n const address = overrides?.address ?? 'manifest1abc';\n const config = overrides?.config ?? makeMockConfig();\n\n return {\n getQueryClient: vi.fn().mockResolvedValue(queryClient),\n getSigningClient: vi.fn().mockResolvedValue({}),\n getAddress: vi.fn().mockResolvedValue(address),\n getConfig: vi.fn().mockReturnValue(config),\n acquireRateLimit: vi.fn().mockResolvedValue(undefined),\n disconnect: vi.fn(),\n };\n}\n"],"mappings":"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"}
@@ -71,7 +71,12 @@ async function routeBillingQuery(queryClient, subcommand, args) {
71
71
  case "credit-account": {
72
72
  requireArgs(args, 1, ["tenant-address"], "billing credit-account");
73
73
  const [tenant] = args;
74
- return { creditAccount: (await billing.creditAccount({ tenant })).creditAccount };
74
+ const result = await billing.creditAccount({ tenant });
75
+ return {
76
+ creditAccount: result.creditAccount,
77
+ balances: result.balances,
78
+ availableBalances: result.availableBalances
79
+ };
75
80
  }
76
81
  case "credit-accounts": {
77
82
  const { pagination } = extractPaginationArgs(args, "billing credit-accounts");
@@ -95,10 +100,15 @@ async function routeBillingQuery(queryClient, subcommand, args) {
95
100
  const { pagination, remainingArgs } = extractPaginationArgs(args, "billing provider-withdrawable");
96
101
  requireArgs(remainingArgs, 1, ["provider-uuid"], "billing provider-withdrawable");
97
102
  const [providerUuid] = remainingArgs;
98
- return { amounts: (await billing.providerWithdrawable({
103
+ const result = await billing.providerWithdrawable({
99
104
  providerUuid,
100
105
  limit: pagination.limit
101
- })).amounts };
106
+ });
107
+ return {
108
+ amounts: result.amounts,
109
+ leaseCount: result.leaseCount,
110
+ hasMore: result.hasMore
111
+ };
102
112
  }
103
113
  case "credit-estimate": {
104
114
  requireArgs(args, 1, ["tenant-address"], "billing credit-estimate");
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","names":[],"sources":["../../src/queries/billing.ts"],"sourcesContent":["import type { ManifestQueryClient } from '../client.js';\nimport { throwUnsupportedSubcommand } from '../modules.js';\nimport type {\n BillingParamsResult,\n CreditAccountResult,\n CreditAccountsResult,\n CreditAddressResult,\n CreditEstimateResult,\n LeaseResult,\n LeasesResult,\n ProviderWithdrawableResult,\n WithdrawableAmountResult,\n} from '../types.js';\nimport { extractPaginationArgs, requireArgs } from './utils.js';\n\n/** Billing query result union type */\ntype BillingQueryResult =\n | BillingParamsResult\n | LeaseResult\n | LeasesResult\n | CreditAccountResult\n | CreditAccountsResult\n | CreditAddressResult\n | WithdrawableAmountResult\n | ProviderWithdrawableResult\n | CreditEstimateResult;\n\n/**\n * Route billing module query to manifestjs query client\n *\n * Paginated queries support --limit flag (default: 100, max: 1000)\n */\nexport async function routeBillingQuery(\n queryClient: ManifestQueryClient,\n subcommand: string,\n args: string[],\n): Promise<BillingQueryResult> {\n const billing = queryClient.liftedinit.billing.v1;\n\n switch (subcommand) {\n case 'params': {\n const result = await billing.params({});\n return { params: result.params };\n }\n\n case 'lease': {\n requireArgs(args, 1, ['lease-uuid'], 'billing lease');\n const [leaseUuid] = args;\n const result = await billing.lease({ leaseUuid });\n return { lease: result.lease };\n }\n\n case 'leases': {\n const { pagination } = extractPaginationArgs(args, 'billing leases');\n // stateFilter: 0 = LEASE_STATE_UNSPECIFIED (returns all)\n const result = await billing.leases({ stateFilter: 0, pagination });\n return { leases: result.leases, pagination: result.pagination };\n }\n\n case 'leases-by-tenant': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'billing leases-by-tenant',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['tenant-address'],\n 'billing leases-by-tenant',\n );\n const [tenant] = remainingArgs;\n const result = await billing.leasesByTenant({\n tenant,\n stateFilter: 0,\n pagination,\n });\n return { leases: result.leases, pagination: result.pagination };\n }\n\n case 'leases-by-provider': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'billing leases-by-provider',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['provider-uuid'],\n 'billing leases-by-provider',\n );\n const [providerUuid] = remainingArgs;\n const result = await billing.leasesByProvider({\n providerUuid,\n stateFilter: 0,\n pagination,\n });\n return { leases: result.leases, pagination: result.pagination };\n }\n\n case 'leases-by-sku': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'billing leases-by-sku',\n );\n requireArgs(remainingArgs, 1, ['sku-uuid'], 'billing leases-by-sku');\n const [skuUuid] = remainingArgs;\n const result = await billing.leasesBySKU({\n skuUuid,\n stateFilter: 0,\n pagination,\n });\n return { leases: result.leases, pagination: result.pagination };\n }\n\n case 'credit-account': {\n requireArgs(args, 1, ['tenant-address'], 'billing credit-account');\n const [tenant] = args;\n const result = await billing.creditAccount({ tenant });\n return { creditAccount: result.creditAccount };\n }\n\n case 'credit-accounts': {\n const { pagination } = extractPaginationArgs(\n args,\n 'billing credit-accounts',\n );\n const result = await billing.creditAccounts({ pagination });\n return {\n creditAccounts: result.creditAccounts,\n pagination: result.pagination,\n };\n }\n\n case 'credit-address': {\n requireArgs(args, 1, ['tenant-address'], 'billing credit-address');\n const [tenant] = args;\n const result = await billing.creditAddress({ tenant });\n return { creditAddress: result.creditAddress };\n }\n\n case 'withdrawable-amount': {\n requireArgs(args, 1, ['lease-uuid'], 'billing withdrawable-amount');\n const [leaseUuid] = args;\n const result = await billing.withdrawableAmount({ leaseUuid });\n return { amounts: result.amounts };\n }\n\n case 'provider-withdrawable': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'billing provider-withdrawable',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['provider-uuid'],\n 'billing provider-withdrawable',\n );\n const [providerUuid] = remainingArgs;\n const result = await billing.providerWithdrawable({\n providerUuid,\n limit: pagination.limit,\n });\n return { amounts: result.amounts };\n }\n\n case 'credit-estimate': {\n requireArgs(args, 1, ['tenant-address'], 'billing credit-estimate');\n const [tenant] = args;\n const result = await billing.creditEstimate({ tenant });\n return { estimate: result };\n }\n\n default:\n throwUnsupportedSubcommand('query', 'billing', subcommand);\n }\n}\n"],"mappings":";;;;;;;;AAgCA,eAAsB,kBACpB,aACA,YACA,MAC6B;CAC7B,MAAM,UAAU,YAAY,WAAW,QAAQ;AAE/C,SAAQ,YAAR;EACE,KAAK,SAEH,QAAO,EAAE,SADM,MAAM,QAAQ,OAAO,EAAE,CAAC,EACf,QAAQ;EAGlC,KAAK,SAAS;AACZ,eAAY,MAAM,GAAG,CAAC,aAAa,EAAE,gBAAgB;GACrD,MAAM,CAAC,aAAa;AAEpB,UAAO,EAAE,QADM,MAAM,QAAQ,MAAM,EAAE,WAAW,CAAC,EAC1B,OAAO;;EAGhC,KAAK,UAAU;GACb,MAAM,EAAE,eAAe,sBAAsB,MAAM,iBAAiB;GAEpE,MAAM,SAAS,MAAM,QAAQ,OAAO;IAAE,aAAa;IAAG;IAAY,CAAC;AACnE,UAAO;IAAE,QAAQ,OAAO;IAAQ,YAAY,OAAO;IAAY;;EAGjE,KAAK,oBAAoB;GACvB,MAAM,EAAE,YAAY,kBAAkB,sBACpC,MACA,2BACD;AACD,eACE,eACA,GACA,CAAC,iBAAiB,EAClB,2BACD;GACD,MAAM,CAAC,UAAU;GACjB,MAAM,SAAS,MAAM,QAAQ,eAAe;IAC1C;IACA,aAAa;IACb;IACD,CAAC;AACF,UAAO;IAAE,QAAQ,OAAO;IAAQ,YAAY,OAAO;IAAY;;EAGjE,KAAK,sBAAsB;GACzB,MAAM,EAAE,YAAY,kBAAkB,sBACpC,MACA,6BACD;AACD,eACE,eACA,GACA,CAAC,gBAAgB,EACjB,6BACD;GACD,MAAM,CAAC,gBAAgB;GACvB,MAAM,SAAS,MAAM,QAAQ,iBAAiB;IAC5C;IACA,aAAa;IACb;IACD,CAAC;AACF,UAAO;IAAE,QAAQ,OAAO;IAAQ,YAAY,OAAO;IAAY;;EAGjE,KAAK,iBAAiB;GACpB,MAAM,EAAE,YAAY,kBAAkB,sBACpC,MACA,wBACD;AACD,eAAY,eAAe,GAAG,CAAC,WAAW,EAAE,wBAAwB;GACpE,MAAM,CAAC,WAAW;GAClB,MAAM,SAAS,MAAM,QAAQ,YAAY;IACvC;IACA,aAAa;IACb;IACD,CAAC;AACF,UAAO;IAAE,QAAQ,OAAO;IAAQ,YAAY,OAAO;IAAY;;EAGjE,KAAK,kBAAkB;AACrB,eAAY,MAAM,GAAG,CAAC,iBAAiB,EAAE,yBAAyB;GAClE,MAAM,CAAC,UAAU;AAEjB,UAAO,EAAE,gBADM,MAAM,QAAQ,cAAc,EAAE,QAAQ,CAAC,EACvB,eAAe;;EAGhD,KAAK,mBAAmB;GACtB,MAAM,EAAE,eAAe,sBACrB,MACA,0BACD;GACD,MAAM,SAAS,MAAM,QAAQ,eAAe,EAAE,YAAY,CAAC;AAC3D,UAAO;IACL,gBAAgB,OAAO;IACvB,YAAY,OAAO;IACpB;;EAGH,KAAK,kBAAkB;AACrB,eAAY,MAAM,GAAG,CAAC,iBAAiB,EAAE,yBAAyB;GAClE,MAAM,CAAC,UAAU;AAEjB,UAAO,EAAE,gBADM,MAAM,QAAQ,cAAc,EAAE,QAAQ,CAAC,EACvB,eAAe;;EAGhD,KAAK,uBAAuB;AAC1B,eAAY,MAAM,GAAG,CAAC,aAAa,EAAE,8BAA8B;GACnE,MAAM,CAAC,aAAa;AAEpB,UAAO,EAAE,UADM,MAAM,QAAQ,mBAAmB,EAAE,WAAW,CAAC,EACrC,SAAS;;EAGpC,KAAK,yBAAyB;GAC5B,MAAM,EAAE,YAAY,kBAAkB,sBACpC,MACA,gCACD;AACD,eACE,eACA,GACA,CAAC,gBAAgB,EACjB,gCACD;GACD,MAAM,CAAC,gBAAgB;AAKvB,UAAO,EAAE,UAJM,MAAM,QAAQ,qBAAqB;IAChD;IACA,OAAO,WAAW;IACnB,CAAC,EACuB,SAAS;;EAGpC,KAAK,mBAAmB;AACtB,eAAY,MAAM,GAAG,CAAC,iBAAiB,EAAE,0BAA0B;GACnE,MAAM,CAAC,UAAU;AAEjB,UAAO,EAAE,UADM,MAAM,QAAQ,eAAe,EAAE,QAAQ,CAAC,EAC5B;;EAG7B,QACE,4BAA2B,SAAS,WAAW,WAAW"}
1
+ {"version":3,"file":"billing.js","names":[],"sources":["../../src/queries/billing.ts"],"sourcesContent":["import type { ManifestQueryClient } from '../client.js';\nimport { throwUnsupportedSubcommand } from '../modules.js';\nimport type {\n BillingParamsResult,\n CreditAccountResult,\n CreditAccountsResult,\n CreditAddressResult,\n CreditEstimateResult,\n LeaseResult,\n LeasesResult,\n ProviderWithdrawableResult,\n WithdrawableAmountResult,\n} from '../types.js';\nimport { extractPaginationArgs, requireArgs } from './utils.js';\n\n/** Billing query result union type */\ntype BillingQueryResult =\n | BillingParamsResult\n | LeaseResult\n | LeasesResult\n | CreditAccountResult\n | CreditAccountsResult\n | CreditAddressResult\n | WithdrawableAmountResult\n | ProviderWithdrawableResult\n | CreditEstimateResult;\n\n/**\n * Route billing module query to manifestjs query client\n *\n * Paginated queries support --limit flag (default: 100, max: 1000)\n */\nexport async function routeBillingQuery(\n queryClient: ManifestQueryClient,\n subcommand: string,\n args: string[],\n): Promise<BillingQueryResult> {\n const billing = queryClient.liftedinit.billing.v1;\n\n switch (subcommand) {\n case 'params': {\n const result = await billing.params({});\n return { params: result.params };\n }\n\n case 'lease': {\n requireArgs(args, 1, ['lease-uuid'], 'billing lease');\n const [leaseUuid] = args;\n const result = await billing.lease({ leaseUuid });\n return { lease: result.lease };\n }\n\n case 'leases': {\n const { pagination } = extractPaginationArgs(args, 'billing leases');\n // stateFilter: 0 = LEASE_STATE_UNSPECIFIED (returns all)\n const result = await billing.leases({ stateFilter: 0, pagination });\n return { leases: result.leases, pagination: result.pagination };\n }\n\n case 'leases-by-tenant': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'billing leases-by-tenant',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['tenant-address'],\n 'billing leases-by-tenant',\n );\n const [tenant] = remainingArgs;\n const result = await billing.leasesByTenant({\n tenant,\n stateFilter: 0,\n pagination,\n });\n return { leases: result.leases, pagination: result.pagination };\n }\n\n case 'leases-by-provider': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'billing leases-by-provider',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['provider-uuid'],\n 'billing leases-by-provider',\n );\n const [providerUuid] = remainingArgs;\n const result = await billing.leasesByProvider({\n providerUuid,\n stateFilter: 0,\n pagination,\n });\n return { leases: result.leases, pagination: result.pagination };\n }\n\n case 'leases-by-sku': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'billing leases-by-sku',\n );\n requireArgs(remainingArgs, 1, ['sku-uuid'], 'billing leases-by-sku');\n const [skuUuid] = remainingArgs;\n const result = await billing.leasesBySKU({\n skuUuid,\n stateFilter: 0,\n pagination,\n });\n return { leases: result.leases, pagination: result.pagination };\n }\n\n case 'credit-account': {\n requireArgs(args, 1, ['tenant-address'], 'billing credit-account');\n const [tenant] = args;\n const result = await billing.creditAccount({ tenant });\n return {\n creditAccount: result.creditAccount,\n balances: result.balances,\n availableBalances: result.availableBalances,\n };\n }\n\n case 'credit-accounts': {\n const { pagination } = extractPaginationArgs(\n args,\n 'billing credit-accounts',\n );\n const result = await billing.creditAccounts({ pagination });\n return {\n creditAccounts: result.creditAccounts,\n pagination: result.pagination,\n };\n }\n\n case 'credit-address': {\n requireArgs(args, 1, ['tenant-address'], 'billing credit-address');\n const [tenant] = args;\n const result = await billing.creditAddress({ tenant });\n return { creditAddress: result.creditAddress };\n }\n\n case 'withdrawable-amount': {\n requireArgs(args, 1, ['lease-uuid'], 'billing withdrawable-amount');\n const [leaseUuid] = args;\n const result = await billing.withdrawableAmount({ leaseUuid });\n return { amounts: result.amounts };\n }\n\n case 'provider-withdrawable': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'billing provider-withdrawable',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['provider-uuid'],\n 'billing provider-withdrawable',\n );\n const [providerUuid] = remainingArgs;\n const result = await billing.providerWithdrawable({\n providerUuid,\n limit: pagination.limit,\n });\n return {\n amounts: result.amounts,\n leaseCount: result.leaseCount,\n hasMore: result.hasMore,\n };\n }\n\n case 'credit-estimate': {\n requireArgs(args, 1, ['tenant-address'], 'billing credit-estimate');\n const [tenant] = args;\n const result = await billing.creditEstimate({ tenant });\n return { estimate: result };\n }\n\n default:\n throwUnsupportedSubcommand('query', 'billing', subcommand);\n }\n}\n"],"mappings":"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"}
@@ -23,7 +23,10 @@ async function routeWasmQuery(queryClient, subcommand, args) {
23
23
  case "contract-info": {
24
24
  requireArgs(args, 1, ["address"], "wasm contract-info");
25
25
  const [address] = args;
26
- return { contractInfo: (await wasm.contractInfo({ address })).contractInfo };
26
+ return {
27
+ address,
28
+ contractInfo: (await wasm.contractInfo({ address })).contractInfo
29
+ };
27
30
  }
28
31
  case "contract-history": {
29
32
  const { pagination, remainingArgs } = extractPaginationArgs(args, "wasm contract-history");
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.js","names":[],"sources":["../../src/queries/wasm.ts"],"sourcesContent":["import { fromHex, fromUtf8, toBase64, toUtf8 } from '@cosmjs/encoding';\nimport type { ManifestQueryClient } from '../client.js';\nimport { throwUnsupportedSubcommand } from '../modules.js';\nimport type {\n WasmAllContractStateResult,\n WasmBuildAddressResult,\n WasmCodeInfoResult,\n WasmCodeResult,\n WasmCodesResult,\n WasmContractHistoryResult,\n WasmContractInfoResult,\n WasmContractsByCodeResult,\n WasmContractsByCreatorResult,\n WasmLimitsConfigResult,\n WasmParamsResult,\n WasmPinnedCodesResult,\n WasmRawContractStateResult,\n WasmSmartContractStateResult,\n} from '../types.js';\nimport {\n ManifestMCPError,\n ManifestMCPErrorCode,\n type WasmCodeInfo,\n} from '../types.js';\nimport { extractPaginationArgs, parseBigInt, requireArgs } from './utils.js';\n\n/** Convert a CodeInfoResponse (with Uint8Array dataHash) to a JSON-safe WasmCodeInfo. */\nfunction toWasmCodeInfo(info: {\n codeId: bigint;\n creator: string;\n dataHash: Uint8Array;\n instantiatePermission: { permission: number; addresses: string[] };\n}): WasmCodeInfo {\n return {\n codeId: info.codeId,\n creator: info.creator,\n dataHash: toBase64(info.dataHash),\n instantiatePermission: info.instantiatePermission,\n };\n}\n\n/** Wasm query result union type */\ntype WasmQueryResult =\n | WasmContractInfoResult\n | WasmContractHistoryResult\n | WasmContractsByCodeResult\n | WasmAllContractStateResult\n | WasmRawContractStateResult\n | WasmSmartContractStateResult\n | WasmCodeResult\n | WasmCodesResult\n | WasmCodeInfoResult\n | WasmPinnedCodesResult\n | WasmParamsResult\n | WasmContractsByCreatorResult\n | WasmLimitsConfigResult\n | WasmBuildAddressResult;\n\n/**\n * Route wasm query to manifestjs query client\n *\n * Paginated queries support --limit flag (default: 100, max: 1000)\n */\nexport async function routeWasmQuery(\n queryClient: ManifestQueryClient,\n subcommand: string,\n args: string[],\n): Promise<WasmQueryResult> {\n const wasm = queryClient.cosmwasm.wasm.v1;\n\n switch (subcommand) {\n case 'contract-info': {\n requireArgs(args, 1, ['address'], 'wasm contract-info');\n const [address] = args;\n const result = await wasm.contractInfo({ address });\n return { contractInfo: result.contractInfo };\n }\n\n case 'contract-history': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'wasm contract-history',\n );\n requireArgs(remainingArgs, 1, ['address'], 'wasm contract-history');\n const [address] = remainingArgs;\n const result = await wasm.contractHistory({ address, pagination });\n return { entries: result.entries, pagination: result.pagination };\n }\n\n case 'contracts-by-code': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'wasm contracts-by-code',\n );\n requireArgs(remainingArgs, 1, ['code_id'], 'wasm contracts-by-code');\n const [codeIdStr] = remainingArgs;\n const codeId = parseBigInt(codeIdStr, 'code_id');\n const result = await wasm.contractsByCode({ codeId, pagination });\n return { contracts: result.contracts, pagination: result.pagination };\n }\n\n case 'all-contract-state': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'wasm all-contract-state',\n );\n requireArgs(remainingArgs, 1, ['address'], 'wasm all-contract-state');\n const [address] = remainingArgs;\n const result = await wasm.allContractState({ address, pagination });\n return { models: result.models, pagination: result.pagination };\n }\n\n case 'raw-contract-state': {\n requireArgs(\n args,\n 2,\n ['address', 'query_data_hex'],\n 'wasm raw-contract-state',\n );\n const [address, queryDataHex] = args;\n let queryData: Uint8Array;\n try {\n queryData = fromHex(queryDataHex);\n } catch (error) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.QUERY_FAILED,\n `Invalid hex string for query_data: \"${queryDataHex}\". ${error instanceof Error ? error.message : 'Must contain only hexadecimal characters.'}`,\n );\n }\n const result = await wasm.rawContractState({ address, queryData });\n return { data: toBase64(result.data) };\n }\n\n case 'smart-contract-state': {\n requireArgs(\n args,\n 2,\n ['address', 'query_json'],\n 'wasm smart-contract-state',\n );\n const [address, queryJson] = args;\n try {\n JSON.parse(queryJson);\n } catch {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.QUERY_FAILED,\n `Invalid JSON for query_json: \"${queryJson}\". Must be valid JSON.`,\n );\n }\n const result = await wasm.smartContractState({\n address,\n queryData: toUtf8(queryJson),\n });\n let decoded: unknown;\n try {\n decoded = JSON.parse(fromUtf8(result.data));\n } catch (error) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.QUERY_FAILED,\n `Failed to decode smart contract response from \"${address}\": ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n return { data: decoded };\n }\n\n case 'code': {\n requireArgs(args, 1, ['code_id'], 'wasm code');\n const [codeIdStr] = args;\n const codeId = parseBigInt(codeIdStr, 'code_id');\n const result = await wasm.code({ codeId });\n return {\n codeInfo: result.codeInfo ? toWasmCodeInfo(result.codeInfo) : undefined,\n data: toBase64(result.data),\n };\n }\n\n case 'codes': {\n const { pagination } = extractPaginationArgs(args, 'wasm codes');\n const result = await wasm.codes({ pagination });\n return {\n codeInfos: result.codeInfos.map(toWasmCodeInfo),\n pagination: result.pagination,\n };\n }\n\n case 'code-info': {\n requireArgs(args, 1, ['code_id'], 'wasm code-info');\n const [codeIdStr] = args;\n const codeId = parseBigInt(codeIdStr, 'code_id');\n const result = await wasm.codeInfo({ codeId });\n return {\n codeInfo: toWasmCodeInfo({\n codeId: result.codeId,\n creator: result.creator,\n dataHash: result.checksum,\n instantiatePermission: result.instantiatePermission,\n }),\n };\n }\n\n case 'pinned-codes': {\n const { pagination } = extractPaginationArgs(args, 'wasm pinned-codes');\n const result = await wasm.pinnedCodes({ pagination });\n return { codeIds: result.codeIds, pagination: result.pagination };\n }\n\n case 'params': {\n const result = await wasm.params({});\n return { params: result.params };\n }\n\n case 'contracts-by-creator': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'wasm contracts-by-creator',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['creator_address'],\n 'wasm contracts-by-creator',\n );\n const [creatorAddress] = remainingArgs;\n const result = await wasm.contractsByCreator({\n creatorAddress,\n pagination,\n });\n return {\n contractAddresses: result.contractAddresses,\n pagination: result.pagination,\n };\n }\n\n case 'wasm-limits-config': {\n const result = await wasm.wasmLimitsConfig({});\n return { config: result.config };\n }\n\n case 'build-address': {\n requireArgs(\n args,\n 3,\n ['code_hash', 'creator_address', 'salt'],\n 'wasm build-address',\n );\n const [codeHash, creatorAddress, salt] = args;\n const result = await wasm.buildAddress({\n codeHash,\n creatorAddress,\n salt,\n initArgs: new Uint8Array(),\n });\n return { address: result.address };\n }\n\n default:\n throwUnsupportedSubcommand('query', 'wasm', subcommand);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"wasm.js","names":[],"sources":["../../src/queries/wasm.ts"],"sourcesContent":["import { fromHex, fromUtf8, toBase64, toUtf8 } from '@cosmjs/encoding';\nimport type { ManifestQueryClient } from '../client.js';\nimport { throwUnsupportedSubcommand } from '../modules.js';\nimport type {\n WasmAllContractStateResult,\n WasmBuildAddressResult,\n WasmCodeInfoResult,\n WasmCodeResult,\n WasmCodesResult,\n WasmContractHistoryResult,\n WasmContractInfoResult,\n WasmContractsByCodeResult,\n WasmContractsByCreatorResult,\n WasmLimitsConfigResult,\n WasmParamsResult,\n WasmPinnedCodesResult,\n WasmRawContractStateResult,\n WasmSmartContractStateResult,\n} from '../types.js';\nimport {\n ManifestMCPError,\n ManifestMCPErrorCode,\n type WasmCodeInfo,\n} from '../types.js';\nimport { extractPaginationArgs, parseBigInt, requireArgs } from './utils.js';\n\n/** Convert a CodeInfoResponse (with Uint8Array dataHash) to a JSON-safe WasmCodeInfo. */\nfunction toWasmCodeInfo(info: {\n codeId: bigint;\n creator: string;\n dataHash: Uint8Array;\n instantiatePermission: { permission: number; addresses: string[] };\n}): WasmCodeInfo {\n return {\n codeId: info.codeId,\n creator: info.creator,\n dataHash: toBase64(info.dataHash),\n instantiatePermission: info.instantiatePermission,\n };\n}\n\n/** Wasm query result union type */\ntype WasmQueryResult =\n | WasmContractInfoResult\n | WasmContractHistoryResult\n | WasmContractsByCodeResult\n | WasmAllContractStateResult\n | WasmRawContractStateResult\n | WasmSmartContractStateResult\n | WasmCodeResult\n | WasmCodesResult\n | WasmCodeInfoResult\n | WasmPinnedCodesResult\n | WasmParamsResult\n | WasmContractsByCreatorResult\n | WasmLimitsConfigResult\n | WasmBuildAddressResult;\n\n/**\n * Route wasm query to manifestjs query client\n *\n * Paginated queries support --limit flag (default: 100, max: 1000)\n */\nexport async function routeWasmQuery(\n queryClient: ManifestQueryClient,\n subcommand: string,\n args: string[],\n): Promise<WasmQueryResult> {\n const wasm = queryClient.cosmwasm.wasm.v1;\n\n switch (subcommand) {\n case 'contract-info': {\n requireArgs(args, 1, ['address'], 'wasm contract-info');\n const [address] = args;\n const result = await wasm.contractInfo({ address });\n return { address, contractInfo: result.contractInfo };\n }\n\n case 'contract-history': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'wasm contract-history',\n );\n requireArgs(remainingArgs, 1, ['address'], 'wasm contract-history');\n const [address] = remainingArgs;\n const result = await wasm.contractHistory({ address, pagination });\n return { entries: result.entries, pagination: result.pagination };\n }\n\n case 'contracts-by-code': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'wasm contracts-by-code',\n );\n requireArgs(remainingArgs, 1, ['code_id'], 'wasm contracts-by-code');\n const [codeIdStr] = remainingArgs;\n const codeId = parseBigInt(codeIdStr, 'code_id');\n const result = await wasm.contractsByCode({ codeId, pagination });\n return { contracts: result.contracts, pagination: result.pagination };\n }\n\n case 'all-contract-state': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'wasm all-contract-state',\n );\n requireArgs(remainingArgs, 1, ['address'], 'wasm all-contract-state');\n const [address] = remainingArgs;\n const result = await wasm.allContractState({ address, pagination });\n return { models: result.models, pagination: result.pagination };\n }\n\n case 'raw-contract-state': {\n requireArgs(\n args,\n 2,\n ['address', 'query_data_hex'],\n 'wasm raw-contract-state',\n );\n const [address, queryDataHex] = args;\n let queryData: Uint8Array;\n try {\n queryData = fromHex(queryDataHex);\n } catch (error) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.QUERY_FAILED,\n `Invalid hex string for query_data: \"${queryDataHex}\". ${error instanceof Error ? error.message : 'Must contain only hexadecimal characters.'}`,\n );\n }\n const result = await wasm.rawContractState({ address, queryData });\n return { data: toBase64(result.data) };\n }\n\n case 'smart-contract-state': {\n requireArgs(\n args,\n 2,\n ['address', 'query_json'],\n 'wasm smart-contract-state',\n );\n const [address, queryJson] = args;\n try {\n JSON.parse(queryJson);\n } catch {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.QUERY_FAILED,\n `Invalid JSON for query_json: \"${queryJson}\". Must be valid JSON.`,\n );\n }\n const result = await wasm.smartContractState({\n address,\n queryData: toUtf8(queryJson),\n });\n let decoded: unknown;\n try {\n decoded = JSON.parse(fromUtf8(result.data));\n } catch (error) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.QUERY_FAILED,\n `Failed to decode smart contract response from \"${address}\": ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n return { data: decoded };\n }\n\n case 'code': {\n requireArgs(args, 1, ['code_id'], 'wasm code');\n const [codeIdStr] = args;\n const codeId = parseBigInt(codeIdStr, 'code_id');\n const result = await wasm.code({ codeId });\n return {\n codeInfo: result.codeInfo ? toWasmCodeInfo(result.codeInfo) : undefined,\n data: toBase64(result.data),\n };\n }\n\n case 'codes': {\n const { pagination } = extractPaginationArgs(args, 'wasm codes');\n const result = await wasm.codes({ pagination });\n return {\n codeInfos: result.codeInfos.map(toWasmCodeInfo),\n pagination: result.pagination,\n };\n }\n\n case 'code-info': {\n requireArgs(args, 1, ['code_id'], 'wasm code-info');\n const [codeIdStr] = args;\n const codeId = parseBigInt(codeIdStr, 'code_id');\n const result = await wasm.codeInfo({ codeId });\n return {\n codeInfo: toWasmCodeInfo({\n codeId: result.codeId,\n creator: result.creator,\n dataHash: result.checksum,\n instantiatePermission: result.instantiatePermission,\n }),\n };\n }\n\n case 'pinned-codes': {\n const { pagination } = extractPaginationArgs(args, 'wasm pinned-codes');\n const result = await wasm.pinnedCodes({ pagination });\n return { codeIds: result.codeIds, pagination: result.pagination };\n }\n\n case 'params': {\n const result = await wasm.params({});\n return { params: result.params };\n }\n\n case 'contracts-by-creator': {\n const { pagination, remainingArgs } = extractPaginationArgs(\n args,\n 'wasm contracts-by-creator',\n );\n requireArgs(\n remainingArgs,\n 1,\n ['creator_address'],\n 'wasm contracts-by-creator',\n );\n const [creatorAddress] = remainingArgs;\n const result = await wasm.contractsByCreator({\n creatorAddress,\n pagination,\n });\n return {\n contractAddresses: result.contractAddresses,\n pagination: result.pagination,\n };\n }\n\n case 'wasm-limits-config': {\n const result = await wasm.wasmLimitsConfig({});\n return { config: result.config };\n }\n\n case 'build-address': {\n requireArgs(\n args,\n 3,\n ['code_hash', 'creator_address', 'salt'],\n 'wasm build-address',\n );\n const [codeHash, creatorAddress, salt] = args;\n const result = await wasm.buildAddress({\n codeHash,\n creatorAddress,\n salt,\n initArgs: new Uint8Array(),\n });\n return { address: result.address };\n }\n\n default:\n throwUnsupportedSubcommand('query', 'wasm', subcommand);\n }\n}\n"],"mappings":"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"}
@@ -6,6 +6,10 @@ declare function getBalance(queryClient: ManifestQueryClient, address: string):
6
6
  denom: string;
7
7
  amount: string;
8
8
  }[];
9
+ current_balance?: {
10
+ denom: string;
11
+ amount: string;
12
+ }[] | undefined;
9
13
  spending_per_hour?: {
10
14
  denom: string;
11
15
  amount: string;
@@ -19,6 +23,14 @@ declare function getBalance(queryClient: ManifestQueryClient, address: string):
19
23
  denom: string;
20
24
  amount: string;
21
25
  }[];
26
+ balances: {
27
+ denom: string;
28
+ amount: string;
29
+ }[];
30
+ available_balances: {
31
+ denom: string;
32
+ amount: string;
33
+ }[];
22
34
  } | null;
23
35
  }>;
24
36
  //#endregion
@@ -26,6 +26,14 @@ async function getBalance(queryClient, address) {
26
26
  reserved_amounts: creditResult.creditAccount.reservedAmounts.map((c) => ({
27
27
  denom: c.denom,
28
28
  amount: c.amount
29
+ })),
30
+ balances: creditResult.balances.map((c) => ({
31
+ denom: c.denom,
32
+ amount: c.amount
33
+ })),
34
+ available_balances: creditResult.availableBalances.map((c) => ({
35
+ denom: c.denom,
36
+ amount: c.amount
29
37
  }))
30
38
  } : null;
31
39
  const estimate = estimateResult ? {
@@ -43,6 +51,7 @@ async function getBalance(queryClient, address) {
43
51
  return {
44
52
  credits,
45
53
  ...estimate && {
54
+ current_balance: estimate.current_balance,
46
55
  spending_per_hour: estimate.spending_per_hour,
47
56
  hours_remaining: estimate.hours_remaining,
48
57
  running_apps: estimate.running_apps
@@ -1 +1 @@
1
- {"version":3,"file":"getBalance.js","names":[],"sources":["../../src/tools/getBalance.ts"],"sourcesContent":["import type { ManifestQueryClient } from '../client.js';\nimport { ManifestMCPError } from '../types.js';\n\nfunction catchNotFound<T>(promise: Promise<T>): Promise<T | null> {\n return promise.catch((err: unknown) => {\n // Never suppress structured infrastructure errors\n if (err instanceof ManifestMCPError) throw err;\n if (!(err instanceof Error)) throw err;\n const msg = err.message;\n // Match Cosmos SDK / gRPC NOT_FOUND patterns (key not found, account not found, etc.)\n if (\n /key not found/i.test(msg) ||\n /account.*not found/i.test(msg) ||\n /credit.*not found/i.test(msg)\n ) {\n return null;\n }\n throw err;\n });\n}\n\nexport async function getBalance(\n queryClient: ManifestQueryClient,\n address: string,\n) {\n const bank = queryClient.cosmos.bank.v1beta1;\n const billing = queryClient.liftedinit.billing.v1;\n\n const [balancesResult, creditResult, estimateResult] = await Promise.all([\n bank.allBalances({ address, resolveDenom: false }),\n catchNotFound(billing.creditAccount({ tenant: address })),\n catchNotFound(billing.creditEstimate({ tenant: address })),\n ]);\n\n const credits = creditResult?.creditAccount\n ? {\n active_leases: creditResult.creditAccount.activeLeaseCount.toString(),\n pending_leases: creditResult.creditAccount.pendingLeaseCount.toString(),\n reserved_amounts: creditResult.creditAccount.reservedAmounts.map(\n (c) => ({\n denom: c.denom,\n amount: c.amount,\n }),\n ),\n }\n : null;\n\n const estimate = estimateResult\n ? {\n current_balance: estimateResult.currentBalance.map((c) => ({\n denom: c.denom,\n amount: c.amount,\n })),\n spending_per_hour: estimateResult.totalRatePerSecond.map((c) => ({\n denom: c.denom,\n amount: (BigInt(c.amount) * 3600n).toString(),\n })),\n hours_remaining:\n estimateResult.estimatedDurationSeconds > 0n\n ? (Number(estimateResult.estimatedDurationSeconds) / 3600).toFixed(\n 1,\n )\n : '0',\n running_apps: estimateResult.activeLeaseCount.toString(),\n }\n : null;\n\n return {\n credits,\n ...(estimate && {\n spending_per_hour: estimate.spending_per_hour,\n hours_remaining: estimate.hours_remaining,\n running_apps: estimate.running_apps,\n }),\n balances: balancesResult.balances.map((c) => ({\n denom: c.denom,\n amount: c.amount,\n })),\n };\n}\n"],"mappings":";;AAGA,SAAS,cAAiB,SAAwC;AAChE,QAAO,QAAQ,OAAO,QAAiB;AAErC,MAAI,eAAe,iBAAkB,OAAM;AAC3C,MAAI,EAAE,eAAe,OAAQ,OAAM;EACnC,MAAM,MAAM,IAAI;AAEhB,MACE,iBAAiB,KAAK,IAAI,IAC1B,sBAAsB,KAAK,IAAI,IAC/B,qBAAqB,KAAK,IAAI,CAE9B,QAAO;AAET,QAAM;GACN;;AAGJ,eAAsB,WACpB,aACA,SACA;CACA,MAAM,OAAO,YAAY,OAAO,KAAK;CACrC,MAAM,UAAU,YAAY,WAAW,QAAQ;CAE/C,MAAM,CAAC,gBAAgB,cAAc,kBAAkB,MAAM,QAAQ,IAAI;EACvE,KAAK,YAAY;GAAE;GAAS,cAAc;GAAO,CAAC;EAClD,cAAc,QAAQ,cAAc,EAAE,QAAQ,SAAS,CAAC,CAAC;EACzD,cAAc,QAAQ,eAAe,EAAE,QAAQ,SAAS,CAAC,CAAC;EAC3D,CAAC;CAEF,MAAM,UAAU,cAAc,gBAC1B;EACE,eAAe,aAAa,cAAc,iBAAiB,UAAU;EACrE,gBAAgB,aAAa,cAAc,kBAAkB,UAAU;EACvE,kBAAkB,aAAa,cAAc,gBAAgB,KAC1D,OAAO;GACN,OAAO,EAAE;GACT,QAAQ,EAAE;GACX,EACF;EACF,GACD;CAEJ,MAAM,WAAW,iBACb;EACE,iBAAiB,eAAe,eAAe,KAAK,OAAO;GACzD,OAAO,EAAE;GACT,QAAQ,EAAE;GACX,EAAE;EACH,mBAAmB,eAAe,mBAAmB,KAAK,OAAO;GAC/D,OAAO,EAAE;GACT,SAAS,OAAO,EAAE,OAAO,GAAG,OAAO,UAAU;GAC9C,EAAE;EACH,iBACE,eAAe,2BAA2B,MACrC,OAAO,eAAe,yBAAyB,GAAG,MAAM,QACvD,EACD,GACD;EACN,cAAc,eAAe,iBAAiB,UAAU;EACzD,GACD;AAEJ,QAAO;EACL;EACA,GAAI,YAAY;GACd,mBAAmB,SAAS;GAC5B,iBAAiB,SAAS;GAC1B,cAAc,SAAS;GACxB;EACD,UAAU,eAAe,SAAS,KAAK,OAAO;GAC5C,OAAO,EAAE;GACT,QAAQ,EAAE;GACX,EAAE;EACJ"}
1
+ {"version":3,"file":"getBalance.js","names":[],"sources":["../../src/tools/getBalance.ts"],"sourcesContent":["import type { ManifestQueryClient } from '../client.js';\nimport { ManifestMCPError } from '../types.js';\n\nfunction catchNotFound<T>(promise: Promise<T>): Promise<T | null> {\n return promise.catch((err: unknown) => {\n // Never suppress structured infrastructure errors\n if (err instanceof ManifestMCPError) throw err;\n if (!(err instanceof Error)) throw err;\n const msg = err.message;\n // Match Cosmos SDK / gRPC NOT_FOUND patterns (key not found, account not found, etc.)\n if (\n /key not found/i.test(msg) ||\n /account.*not found/i.test(msg) ||\n /credit.*not found/i.test(msg)\n ) {\n return null;\n }\n throw err;\n });\n}\n\nexport async function getBalance(\n queryClient: ManifestQueryClient,\n address: string,\n) {\n const bank = queryClient.cosmos.bank.v1beta1;\n const billing = queryClient.liftedinit.billing.v1;\n\n const [balancesResult, creditResult, estimateResult] = await Promise.all([\n bank.allBalances({ address, resolveDenom: false }),\n catchNotFound(billing.creditAccount({ tenant: address })),\n catchNotFound(billing.creditEstimate({ tenant: address })),\n ]);\n\n const credits = creditResult?.creditAccount\n ? {\n active_leases: creditResult.creditAccount.activeLeaseCount.toString(),\n pending_leases: creditResult.creditAccount.pendingLeaseCount.toString(),\n reserved_amounts: creditResult.creditAccount.reservedAmounts.map(\n (c) => ({\n denom: c.denom,\n amount: c.amount,\n }),\n ),\n balances: creditResult.balances.map((c) => ({\n denom: c.denom,\n amount: c.amount,\n })),\n available_balances: creditResult.availableBalances.map((c) => ({\n denom: c.denom,\n amount: c.amount,\n })),\n }\n : null;\n\n const estimate = estimateResult\n ? {\n current_balance: estimateResult.currentBalance.map((c) => ({\n denom: c.denom,\n amount: c.amount,\n })),\n spending_per_hour: estimateResult.totalRatePerSecond.map((c) => ({\n denom: c.denom,\n amount: (BigInt(c.amount) * 3600n).toString(),\n })),\n hours_remaining:\n estimateResult.estimatedDurationSeconds > 0n\n ? (Number(estimateResult.estimatedDurationSeconds) / 3600).toFixed(\n 1,\n )\n : '0',\n running_apps: estimateResult.activeLeaseCount.toString(),\n }\n : null;\n\n return {\n credits,\n ...(estimate && {\n current_balance: estimate.current_balance,\n spending_per_hour: estimate.spending_per_hour,\n hours_remaining: estimate.hours_remaining,\n running_apps: estimate.running_apps,\n }),\n balances: balancesResult.balances.map((c) => ({\n denom: c.denom,\n amount: c.amount,\n })),\n };\n}\n"],"mappings":";;AAGA,SAAS,cAAiB,SAAwC;AAChE,QAAO,QAAQ,OAAO,QAAiB;AAErC,MAAI,eAAe,iBAAkB,OAAM;AAC3C,MAAI,EAAE,eAAe,OAAQ,OAAM;EACnC,MAAM,MAAM,IAAI;AAEhB,MACE,iBAAiB,KAAK,IAAI,IAC1B,sBAAsB,KAAK,IAAI,IAC/B,qBAAqB,KAAK,IAAI,CAE9B,QAAO;AAET,QAAM;GACN;;AAGJ,eAAsB,WACpB,aACA,SACA;CACA,MAAM,OAAO,YAAY,OAAO,KAAK;CACrC,MAAM,UAAU,YAAY,WAAW,QAAQ;CAE/C,MAAM,CAAC,gBAAgB,cAAc,kBAAkB,MAAM,QAAQ,IAAI;EACvE,KAAK,YAAY;GAAE;GAAS,cAAc;GAAO,CAAC;EAClD,cAAc,QAAQ,cAAc,EAAE,QAAQ,SAAS,CAAC,CAAC;EACzD,cAAc,QAAQ,eAAe,EAAE,QAAQ,SAAS,CAAC,CAAC;EAC3D,CAAC;CAEF,MAAM,UAAU,cAAc,gBAC1B;EACE,eAAe,aAAa,cAAc,iBAAiB,UAAU;EACrE,gBAAgB,aAAa,cAAc,kBAAkB,UAAU;EACvE,kBAAkB,aAAa,cAAc,gBAAgB,KAC1D,OAAO;GACN,OAAO,EAAE;GACT,QAAQ,EAAE;GACX,EACF;EACD,UAAU,aAAa,SAAS,KAAK,OAAO;GAC1C,OAAO,EAAE;GACT,QAAQ,EAAE;GACX,EAAE;EACH,oBAAoB,aAAa,kBAAkB,KAAK,OAAO;GAC7D,OAAO,EAAE;GACT,QAAQ,EAAE;GACX,EAAE;EACJ,GACD;CAEJ,MAAM,WAAW,iBACb;EACE,iBAAiB,eAAe,eAAe,KAAK,OAAO;GACzD,OAAO,EAAE;GACT,QAAQ,EAAE;GACX,EAAE;EACH,mBAAmB,eAAe,mBAAmB,KAAK,OAAO;GAC/D,OAAO,EAAE;GACT,SAAS,OAAO,EAAE,OAAO,GAAG,OAAO,UAAU;GAC9C,EAAE;EACH,iBACE,eAAe,2BAA2B,MACrC,OAAO,eAAe,yBAAyB,GAAG,MAAM,QACvD,EACD,GACD;EACN,cAAc,eAAe,iBAAiB,UAAU;EACzD,GACD;AAEJ,QAAO;EACL;EACA,GAAI,YAAY;GACd,iBAAiB,SAAS;GAC1B,mBAAmB,SAAS;GAC5B,iBAAiB,SAAS;GAC1B,cAAc,SAAS;GACxB;EACD,UAAU,eAAe,SAAS,KAAK,OAAO;GAC5C,OAAO,EAAE;GACT,QAAQ,EAAE;GACX,EAAE;EACJ"}
package/dist/types.d.ts CHANGED
@@ -371,6 +371,8 @@ interface LeasesResult extends PaginatedResult {
371
371
  }
372
372
  interface CreditAccountResult {
373
373
  readonly creditAccount?: CreditAccount;
374
+ readonly balances: readonly Coin[];
375
+ readonly availableBalances: readonly Coin[];
374
376
  }
375
377
  interface CreditAccountsResult extends PaginatedResult {
376
378
  readonly creditAccounts: readonly CreditAccount[];
@@ -383,6 +385,8 @@ interface WithdrawableAmountResult {
383
385
  }
384
386
  interface ProviderWithdrawableResult {
385
387
  readonly amounts: readonly Coin[];
388
+ readonly leaseCount: bigint;
389
+ readonly hasMore: boolean;
386
390
  }
387
391
  interface CreditEstimateResult {
388
392
  readonly estimate: QueryCreditEstimateResponse;
@@ -433,6 +437,7 @@ interface SkusResult extends PaginatedResult {
433
437
  readonly skus: readonly SKU[];
434
438
  }
435
439
  interface WasmContractInfoResult {
440
+ readonly address: string;
436
441
  readonly contractInfo?: ContractInfo;
437
442
  }
438
443
  interface WasmContractHistoryResult extends PaginatedResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { EncodeObject, OfflineSigner } from '@cosmjs/proto-signing';\n// Auth module types\nimport type {\n Params as AuthParams,\n BaseAccount,\n ModuleAccount,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/auth/v1beta1/auth.js';\n// Bank module types\nimport type {\n Metadata as BankMetadata,\n Params as BankParams,\n SendEnabled,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/bank/v1beta1/bank.js';\n\n// Distribution module types\nimport type {\n DelegationDelegatorReward,\n Params as DistributionParams,\n ValidatorAccumulatedCommission,\n ValidatorOutstandingRewards,\n ValidatorSlashEvent,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/distribution/v1beta1/distribution.js';\n\n// Gov module types (v1 for newer chains)\nimport type {\n DepositParams,\n Deposit as GovDeposit,\n Params as GovParams,\n Proposal as GovProposal,\n TallyResult as GovTallyResult,\n Vote as GovVote,\n TallyParams,\n VotingParams,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/gov/v1/gov.js';\n// Group module types\nimport type {\n GroupInfo,\n GroupMember,\n GroupPolicyInfo,\n Proposal as GroupProposal,\n TallyResult as GroupTallyResult,\n Vote as GroupVote,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/group/v1/types.js';\n// Staking module types\nimport type {\n DelegationResponse,\n HistoricalInfo,\n RedelegationResponse,\n Params as StakingParams,\n Pool as StakingPool,\n UnbondingDelegation,\n Validator,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/staking/v1beta1/staking.js';\nimport type { CodeInfoResponse } from '@manifest-network/manifestjs/dist/codegen/cosmwasm/wasm/v1/query.js';\n// CosmWasm module types\nimport type {\n ContractCodeHistoryEntry,\n ContractInfo,\n Model,\n Params as WasmParams,\n} from '@manifest-network/manifestjs/dist/codegen/cosmwasm/wasm/v1/types.js';\n// Protobuf Any type for polymorphic account types\nimport type { Any } from '@manifest-network/manifestjs/dist/codegen/google/protobuf/any.js';\n// Billing credit estimate response\nimport type { QueryCreditEstimateResponse } from '@manifest-network/manifestjs/dist/codegen/liftedinit/billing/v1/query.js';\nimport type { LeaseItemInput } from '@manifest-network/manifestjs/dist/codegen/liftedinit/billing/v1/tx.js';\n// Billing module types (Manifest-specific)\nimport type {\n Params as BillingParams,\n CreditAccount,\n Lease,\n} from '@manifest-network/manifestjs/dist/codegen/liftedinit/billing/v1/types.js';\n// SKU module types (Manifest-specific)\nimport type {\n Provider,\n SKU,\n Params as SkuParams,\n} from '@manifest-network/manifestjs/dist/codegen/liftedinit/sku/v1/types.js';\n\n// Re-export commonly used protobuf types for consumers\nexport type {\n Any,\n AuthParams,\n BankMetadata,\n BankParams,\n BaseAccount,\n BillingParams,\n CodeInfoResponse,\n ContractCodeHistoryEntry,\n ContractInfo,\n CreditAccount,\n DelegationDelegatorReward,\n DelegationResponse,\n DepositParams,\n DistributionParams,\n GovDeposit,\n GovParams,\n GovProposal,\n GovTallyResult,\n GovVote,\n GroupInfo,\n GroupMember,\n GroupPolicyInfo,\n GroupProposal,\n GroupTallyResult,\n GroupVote,\n HistoricalInfo,\n Lease,\n LeaseItemInput,\n Model,\n ModuleAccount,\n Provider,\n QueryCreditEstimateResponse,\n RedelegationResponse,\n SendEnabled,\n SKU,\n SkuParams,\n StakingParams,\n StakingPool,\n TallyParams,\n UnbondingDelegation,\n Validator,\n ValidatorAccumulatedCommission,\n ValidatorOutstandingRewards,\n ValidatorSlashEvent,\n VotingParams,\n WasmParams,\n};\n\n/**\n * Rate limiting configuration\n */\nexport interface RateLimitConfig {\n /** Maximum requests per second (default: 10) */\n readonly requestsPerSecond?: number;\n}\n\n/**\n * Retry configuration for transient RPC failures\n */\nexport interface RetryConfig {\n /** Maximum number of retry attempts (default: 3) */\n readonly maxRetries?: number;\n /** Base delay in milliseconds before first retry (default: 1000) */\n readonly baseDelayMs?: number;\n /** Maximum delay in milliseconds between retries (default: 10000) */\n readonly maxDelayMs?: number;\n}\n\n/**\n * Configuration for the Manifest MCP server\n */\nexport interface ManifestMCPConfig {\n /** Chain ID (e.g., \"manifest-ledger-testnet\") */\n readonly chainId: string;\n /** RPC endpoint URL (required for transactions; optional if restUrl provided for query-only mode) */\n readonly rpcUrl?: string;\n /** Gas price with denomination (e.g., \"1.0umfx\"); required when rpcUrl is provided */\n readonly gasPrice?: string;\n /** REST/LCD endpoint URL for queries (e.g., \"http://localhost:1317\") */\n readonly restUrl?: string;\n /** Address prefix (e.g., \"manifest\") */\n readonly addressPrefix?: string;\n /** Rate limiting configuration */\n readonly rateLimit?: RateLimitConfig;\n /** Retry configuration for transient failures */\n readonly retry?: RetryConfig;\n /** Gas simulation multiplier (default: 1.5, minimum: 1). A value of 1.0 uses the exact simulation result with no safety margin. Increase if transactions fail with out-of-gas errors. */\n readonly gasMultiplier?: number;\n}\n\n/**\n * Per-transaction overrides supplied by external callers (MCP tools, library consumers).\n */\nexport interface TxOverrides {\n readonly gasMultiplier?: number;\n}\n\n/**\n * Fully-resolved gas options passed to transaction handlers.\n * Constructed by `cosmosTx()` from caller-supplied `TxOverrides` and server config.\n */\nexport interface TxOptions {\n readonly gasMultiplier: number;\n readonly gasPrice: string;\n}\n\n/**\n * Wallet provider interface for different wallet implementations\n *\n * Any wallet that provides an OfflineSigner works (Keplr, Web3Auth, Leap, cosmos-kit, etc.)\n */\nexport interface SignArbitraryResult {\n readonly pub_key: { readonly type: string; readonly value: string };\n readonly signature: string;\n}\n\nexport interface WalletProvider {\n /** Get the wallet's address */\n getAddress(): Promise<string>;\n /** Get the offline signer for signing transactions */\n getSigner(): Promise<OfflineSigner>;\n /** Optional: Sign arbitrary data (ADR-036) for off-chain authentication */\n signArbitrary?(address: string, data: string): Promise<SignArbitraryResult>;\n /** Optional: Connect to the wallet */\n connect?(): Promise<void>;\n /** Optional: Disconnect from the wallet */\n disconnect?(): Promise<void>;\n}\n\n/**\n * Messages built by a transaction module's message builder, ready for\n * simulation or signing/broadcasting.\n */\nexport interface BuiltMessages {\n readonly messages: readonly EncodeObject[];\n /**\n * Memo string (default ''). Required (not optional) for type cleanliness:\n * call sites get a guaranteed string and don't need `?? ''` coalescing.\n * (At the protobuf encoding layer, '' and undefined are byte-equivalent,\n * so this is purely a type-design choice, not a behavior fix.)\n */\n readonly memo: string;\n /**\n * Canonical subcommand name when the input was an alias.\n * E.g., staking accepts both 'unbond' and 'undelegate' and reports 'unbond' for both.\n * When omitted, callers should use the original subcommand they passed in.\n */\n readonly canonicalSubcommand?: string;\n}\n\n/**\n * Result from a fee estimation (simulation without broadcast)\n */\nexport interface FeeEstimateResult {\n readonly module: string;\n /** Canonical subcommand name (e.g., 'undelegate' is normalized to 'unbond'). */\n readonly subcommand: string;\n /**\n * Raw gas estimate from simulation, stringified for serialization consistency\n * with `CosmosTxResult.gasUsed` / `gasWanted`.\n */\n readonly gasEstimate: string;\n readonly fee: {\n readonly amount: readonly {\n readonly denom: string;\n readonly amount: string;\n }[];\n /** Gas limit, equal to ceil(gasEstimate * gasMultiplier). */\n readonly gas: string;\n };\n}\n\n/**\n * Result from a Cosmos transaction\n */\nexport interface CosmosTxResult {\n readonly module: string;\n readonly subcommand: string;\n readonly transactionHash: string;\n readonly code: number;\n readonly height: string;\n readonly rawLog?: string;\n readonly confirmed?: boolean;\n readonly confirmationHeight?: string;\n readonly gasUsed?: string;\n readonly gasWanted?: string;\n readonly events?: readonly {\n readonly type: string;\n readonly attributes: readonly {\n readonly key: string;\n readonly value: string;\n }[];\n }[];\n}\n\n/**\n * Module information for discovery\n */\nexport interface ModuleInfo {\n readonly name: string;\n readonly description: string;\n readonly args?: string; // Usage hint for arguments\n}\n\n/**\n * Available modules listing\n */\nexport interface AvailableModules {\n readonly queryModules: readonly ModuleInfo[];\n readonly txModules: readonly ModuleInfo[];\n}\n\n/**\n * Error codes for ManifestMCPError\n */\nexport enum ManifestMCPErrorCode {\n // Configuration errors\n INVALID_CONFIG = 'INVALID_CONFIG',\n MISSING_CONFIG = 'MISSING_CONFIG',\n\n // Wallet errors\n WALLET_NOT_CONNECTED = 'WALLET_NOT_CONNECTED',\n WALLET_CONNECTION_FAILED = 'WALLET_CONNECTION_FAILED',\n INVALID_MNEMONIC = 'INVALID_MNEMONIC',\n\n // Client errors\n RPC_CONNECTION_FAILED = 'RPC_CONNECTION_FAILED',\n\n // Query errors\n QUERY_FAILED = 'QUERY_FAILED',\n UNSUPPORTED_QUERY = 'UNSUPPORTED_QUERY',\n INVALID_ADDRESS = 'INVALID_ADDRESS',\n\n // Transaction errors\n TX_FAILED = 'TX_FAILED',\n TX_BROADCAST_FAILED = 'TX_BROADCAST_FAILED',\n UNSUPPORTED_TX = 'UNSUPPORTED_TX',\n INSUFFICIENT_FUNDS = 'INSUFFICIENT_FUNDS',\n SIMULATION_FAILED = 'SIMULATION_FAILED',\n\n // Module errors\n UNKNOWN_MODULE = 'UNKNOWN_MODULE',\n}\n\n/**\n * Custom error class for Manifest MCP errors\n */\nexport class ManifestMCPError extends Error {\n public readonly code: ManifestMCPErrorCode;\n public readonly details?: Record<string, unknown>;\n\n constructor(\n code: ManifestMCPErrorCode,\n message: string,\n details?: Record<string, unknown>,\n ) {\n super(message);\n this.name = 'ManifestMCPError';\n this.code = code;\n this.details = details;\n\n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, ManifestMCPError.prototype);\n }\n\n toJSON(): Record<string, unknown> {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n details: this.details,\n };\n }\n}\n\n/**\n * Account information\n */\nexport interface AccountInfo {\n readonly address: string;\n}\n\n// ============================================================================\n// Query Result Types\n// ============================================================================\n\n/**\n * Pagination response from Cosmos SDK queries\n */\nexport interface PaginationResponse {\n readonly nextKey?: Uint8Array;\n readonly total?: bigint;\n}\n\n/**\n * Base interface for paginated query results\n */\nexport interface PaginatedResult {\n readonly pagination?: PaginationResponse;\n}\n\n/**\n * Coin type from Cosmos SDK\n */\nexport interface Coin {\n readonly denom: string;\n readonly amount: string;\n}\n\n/**\n * DecCoin type from Cosmos SDK (for rewards, commission, etc.)\n *\n * DecCoin has the same structure as Coin but represents decimal amounts\n * used in distribution calculations. The amount string may contain decimals.\n */\nexport type DecCoin = Coin;\n\n// Bank query results\nexport interface BalanceResult {\n readonly balance?: Coin;\n}\n\nexport interface BalancesResult extends PaginatedResult {\n readonly balances: readonly Coin[];\n}\n\nexport interface TotalSupplyResult extends PaginatedResult {\n readonly supply: readonly Coin[];\n}\n\nexport interface SupplyOfResult {\n readonly amount?: Coin;\n}\n\nexport interface DenomMetadataResult {\n readonly metadata?: BankMetadata;\n}\n\nexport interface DenomsMetadataResult extends PaginatedResult {\n readonly metadatas: readonly BankMetadata[];\n}\n\nexport interface SendEnabledResult extends PaginatedResult {\n readonly sendEnabled: readonly SendEnabled[];\n}\n\nexport interface BankParamsResult {\n readonly params?: BankParams;\n}\n\n// Staking query results\nexport interface DelegationResult {\n readonly delegationResponse?: DelegationResponse;\n}\n\nexport interface DelegationsResult extends PaginatedResult {\n readonly delegationResponses: readonly DelegationResponse[];\n}\n\nexport interface UnbondingDelegationResult {\n readonly unbond?: UnbondingDelegation;\n}\n\nexport interface UnbondingDelegationsResult extends PaginatedResult {\n readonly unbondingResponses: readonly UnbondingDelegation[];\n}\n\nexport interface RedelegationsResult extends PaginatedResult {\n readonly redelegationResponses: readonly RedelegationResponse[];\n}\n\nexport interface ValidatorResult {\n readonly validator?: Validator;\n}\n\nexport interface ValidatorsResult extends PaginatedResult {\n readonly validators: readonly Validator[];\n}\n\nexport interface StakingPoolResult {\n readonly pool?: StakingPool;\n}\n\nexport interface StakingParamsResult {\n readonly params?: StakingParams;\n}\n\nexport interface HistoricalInfoResult {\n readonly hist?: HistoricalInfo;\n}\n\n// Distribution query results\n// Note: When querying all rewards, 'rewards' is DelegationDelegatorReward[] (per validator).\n// When querying specific validator, 'rewards' is DecCoin[] (direct reward coins).\nexport interface RewardsResult {\n readonly rewards: readonly DecCoin[] | readonly DelegationDelegatorReward[];\n readonly total?: readonly DecCoin[];\n}\n\nexport interface CommissionResult {\n readonly commission?: ValidatorAccumulatedCommission;\n}\n\nexport interface CommunityPoolResult {\n readonly pool: readonly DecCoin[];\n}\n\nexport interface DistributionParamsResult {\n readonly params?: DistributionParams;\n}\n\nexport interface ValidatorOutstandingRewardsResult {\n readonly rewards?: ValidatorOutstandingRewards;\n}\n\nexport interface SlashesResult extends PaginatedResult {\n readonly slashes: readonly ValidatorSlashEvent[];\n}\n\nexport interface DelegatorValidatorsResult {\n readonly validators: readonly string[];\n}\n\nexport interface DelegatorWithdrawAddressResult {\n readonly withdrawAddress: string;\n}\n\n// Gov query results\nexport interface ProposalResult {\n readonly proposal?: GovProposal;\n}\n\nexport interface ProposalsResult extends PaginatedResult {\n readonly proposals: readonly GovProposal[];\n}\n\nexport interface VoteResult {\n readonly vote?: GovVote;\n}\n\nexport interface VotesResult extends PaginatedResult {\n readonly votes: readonly GovVote[];\n}\n\nexport interface DepositResult {\n readonly deposit?: GovDeposit;\n}\n\nexport interface DepositsResult extends PaginatedResult {\n readonly deposits: readonly GovDeposit[];\n}\n\nexport interface TallyResult {\n readonly tally?: GovTallyResult;\n}\n\nexport interface GovParamsResult {\n readonly votingParams?: VotingParams;\n readonly depositParams?: DepositParams;\n readonly tallyParams?: TallyParams;\n readonly params?: GovParams;\n}\n\n// Auth query results\n// Note: Account types are polymorphic - the RPC can return BaseAccount, ModuleAccount, or other account types wrapped in Any\nexport interface AuthAccountResult {\n readonly account?: BaseAccount | ModuleAccount | Any;\n}\n\nexport interface AuthAccountsResult extends PaginatedResult {\n readonly accounts: readonly (BaseAccount | Any)[];\n}\n\nexport interface AuthParamsResult {\n readonly params?: AuthParams;\n}\n\nexport interface ModuleAccountsResult {\n readonly accounts: readonly (ModuleAccount | Any)[];\n}\n\nexport interface AddressBytesToStringResult {\n readonly addressString: string;\n}\n\nexport interface AddressStringToBytesResult {\n readonly addressBytes: string;\n}\n\nexport interface Bech32PrefixResult {\n readonly bech32Prefix: string;\n}\n\nexport interface AccountInfoResult {\n readonly info?: BaseAccount;\n}\n\n// Billing query results\nexport interface BillingParamsResult {\n readonly params?: BillingParams;\n}\n\nexport interface LeaseResult {\n readonly lease?: Lease;\n}\n\nexport interface LeasesResult extends PaginatedResult {\n readonly leases: readonly Lease[];\n}\n\nexport interface CreditAccountResult {\n readonly creditAccount?: CreditAccount;\n}\n\nexport interface CreditAccountsResult extends PaginatedResult {\n readonly creditAccounts: readonly CreditAccount[];\n}\n\nexport interface CreditAddressResult {\n readonly creditAddress: string;\n}\n\nexport interface WithdrawableAmountResult {\n readonly amounts: readonly Coin[];\n}\n\nexport interface ProviderWithdrawableResult {\n readonly amounts: readonly Coin[];\n}\n\nexport interface CreditEstimateResult {\n readonly estimate: QueryCreditEstimateResponse;\n}\n\n// Group query results\nexport interface GroupInfoResult {\n readonly info?: GroupInfo;\n}\n\nexport interface GroupPolicyInfoResult {\n readonly info?: GroupPolicyInfo;\n}\n\nexport interface GroupMembersResult extends PaginatedResult {\n readonly members: readonly GroupMember[];\n}\n\nexport interface GroupsResult extends PaginatedResult {\n readonly groups: readonly GroupInfo[];\n}\n\nexport interface GroupPoliciesResult extends PaginatedResult {\n readonly groupPolicies: readonly GroupPolicyInfo[];\n}\n\nexport interface GroupProposalResult {\n readonly proposal?: GroupProposal;\n}\n\nexport interface GroupProposalsResult extends PaginatedResult {\n readonly proposals: readonly GroupProposal[];\n}\n\nexport interface GroupVoteResult {\n readonly vote?: GroupVote;\n}\n\nexport interface GroupVotesResult extends PaginatedResult {\n readonly votes: readonly GroupVote[];\n}\n\nexport interface GroupTallyQueryResult {\n readonly tally?: GroupTallyResult;\n}\n\n// SKU query results\nexport interface SkuParamsResult {\n readonly params?: SkuParams;\n}\n\nexport interface ProviderResult {\n readonly provider?: Provider;\n}\n\nexport interface ProvidersResult extends PaginatedResult {\n readonly providers: readonly Provider[];\n}\n\nexport interface SkuResult {\n readonly sku?: SKU;\n}\n\nexport interface SkusResult extends PaginatedResult {\n readonly skus: readonly SKU[];\n}\n\n// CosmWasm query results\nexport interface WasmContractInfoResult {\n readonly contractInfo?: ContractInfo;\n}\n\nexport interface WasmContractHistoryResult extends PaginatedResult {\n readonly entries: readonly ContractCodeHistoryEntry[];\n}\n\nexport interface WasmContractsByCodeResult extends PaginatedResult {\n readonly contracts: readonly string[];\n}\n\nexport interface WasmAllContractStateResult extends PaginatedResult {\n readonly models: readonly Model[];\n}\n\nexport interface WasmRawContractStateResult {\n readonly data: string; // base64-encoded\n}\n\nexport interface WasmSmartContractStateResult {\n readonly data: unknown;\n}\n\n/** JSON-safe representation of CodeInfoResponse with dataHash encoded as base64. */\nexport interface WasmCodeInfo {\n readonly codeId: bigint;\n readonly creator: string;\n readonly dataHash: string; // base64-encoded\n readonly instantiatePermission: {\n readonly permission: number;\n readonly addresses: readonly string[];\n };\n}\n\nexport interface WasmCodeResult {\n readonly codeInfo?: WasmCodeInfo;\n readonly data: string; // base64-encoded wasm bytecode\n}\n\nexport interface WasmCodesResult extends PaginatedResult {\n readonly codeInfos: readonly WasmCodeInfo[];\n}\n\nexport interface WasmCodeInfoResult {\n readonly codeInfo?: WasmCodeInfo;\n}\n\nexport interface WasmPinnedCodesResult extends PaginatedResult {\n readonly codeIds: readonly bigint[];\n}\n\nexport interface WasmParamsResult {\n readonly params?: WasmParams;\n}\n\nexport interface WasmContractsByCreatorResult extends PaginatedResult {\n readonly contractAddresses: readonly string[];\n}\n\nexport interface WasmLimitsConfigResult {\n readonly config: string;\n}\n\nexport interface WasmBuildAddressResult {\n readonly address: string;\n}\n\n/**\n * Union type of all query results for type-safe handling\n */\nexport type QueryResult =\n | BalanceResult\n | BalancesResult\n | TotalSupplyResult\n | SupplyOfResult\n | DenomMetadataResult\n | DenomsMetadataResult\n | SendEnabledResult\n | BankParamsResult\n | DelegationResult\n | DelegationsResult\n | UnbondingDelegationResult\n | UnbondingDelegationsResult\n | RedelegationsResult\n | ValidatorResult\n | ValidatorsResult\n | StakingPoolResult\n | StakingParamsResult\n | HistoricalInfoResult\n | RewardsResult\n | CommissionResult\n | CommunityPoolResult\n | DistributionParamsResult\n | ValidatorOutstandingRewardsResult\n | SlashesResult\n | DelegatorValidatorsResult\n | DelegatorWithdrawAddressResult\n | ProposalResult\n | ProposalsResult\n | VoteResult\n | VotesResult\n | DepositResult\n | DepositsResult\n | TallyResult\n | GovParamsResult\n | AuthAccountResult\n | AuthAccountsResult\n | AuthParamsResult\n | ModuleAccountsResult\n | AddressBytesToStringResult\n | AddressStringToBytesResult\n | Bech32PrefixResult\n | AccountInfoResult\n | BillingParamsResult\n | LeaseResult\n | LeasesResult\n | CreditAccountResult\n | CreditAccountsResult\n | CreditAddressResult\n | WithdrawableAmountResult\n | ProviderWithdrawableResult\n | CreditEstimateResult\n | SkuParamsResult\n | ProviderResult\n | ProvidersResult\n | SkuResult\n | SkusResult\n | GroupInfoResult\n | GroupPolicyInfoResult\n | GroupMembersResult\n | GroupsResult\n | GroupPoliciesResult\n | GroupProposalResult\n | GroupProposalsResult\n | GroupVoteResult\n | GroupVotesResult\n | GroupTallyQueryResult\n | WasmContractInfoResult\n | WasmContractHistoryResult\n | WasmContractsByCodeResult\n | WasmAllContractStateResult\n | WasmRawContractStateResult\n | WasmSmartContractStateResult\n | WasmCodeResult\n | WasmCodesResult\n | WasmCodeInfoResult\n | WasmPinnedCodesResult\n | WasmParamsResult\n | WasmContractsByCreatorResult\n | WasmLimitsConfigResult\n | WasmBuildAddressResult;\n\n/**\n * Result from a Cosmos query\n */\nexport interface CosmosQueryResult {\n readonly module: string;\n readonly subcommand: string;\n readonly result: QueryResult;\n}\n"],"mappings":";;;;AAwSA,IAAY,uBAAL,yBAAA,sBAAA;AAEL,sBAAA,oBAAA;AACA,sBAAA,oBAAA;AAGA,sBAAA,0BAAA;AACA,sBAAA,8BAAA;AACA,sBAAA,sBAAA;AAGA,sBAAA,2BAAA;AAGA,sBAAA,kBAAA;AACA,sBAAA,uBAAA;AACA,sBAAA,qBAAA;AAGA,sBAAA,eAAA;AACA,sBAAA,yBAAA;AACA,sBAAA,oBAAA;AACA,sBAAA,wBAAA;AACA,sBAAA,uBAAA;AAGA,sBAAA,oBAAA;;KACD;;;;AAKD,IAAa,mBAAb,MAAa,yBAAyB,MAAM;CAI1C,YACE,MACA,SACA,SACA;AACA,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,UAAU;AAGf,SAAO,eAAe,MAAM,iBAAiB,UAAU;;CAGzD,SAAkC;AAChC,SAAO;GACL,MAAM,KAAK;GACX,MAAM,KAAK;GACX,SAAS,KAAK;GACd,SAAS,KAAK;GACf"}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { EncodeObject, OfflineSigner } from '@cosmjs/proto-signing';\n// Auth module types\nimport type {\n Params as AuthParams,\n BaseAccount,\n ModuleAccount,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/auth/v1beta1/auth.js';\n// Bank module types\nimport type {\n Metadata as BankMetadata,\n Params as BankParams,\n SendEnabled,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/bank/v1beta1/bank.js';\n\n// Distribution module types\nimport type {\n DelegationDelegatorReward,\n Params as DistributionParams,\n ValidatorAccumulatedCommission,\n ValidatorOutstandingRewards,\n ValidatorSlashEvent,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/distribution/v1beta1/distribution.js';\n\n// Gov module types (v1 for newer chains)\nimport type {\n DepositParams,\n Deposit as GovDeposit,\n Params as GovParams,\n Proposal as GovProposal,\n TallyResult as GovTallyResult,\n Vote as GovVote,\n TallyParams,\n VotingParams,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/gov/v1/gov.js';\n// Group module types\nimport type {\n GroupInfo,\n GroupMember,\n GroupPolicyInfo,\n Proposal as GroupProposal,\n TallyResult as GroupTallyResult,\n Vote as GroupVote,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/group/v1/types.js';\n// Staking module types\nimport type {\n DelegationResponse,\n HistoricalInfo,\n RedelegationResponse,\n Params as StakingParams,\n Pool as StakingPool,\n UnbondingDelegation,\n Validator,\n} from '@manifest-network/manifestjs/dist/codegen/cosmos/staking/v1beta1/staking.js';\nimport type { CodeInfoResponse } from '@manifest-network/manifestjs/dist/codegen/cosmwasm/wasm/v1/query.js';\n// CosmWasm module types\nimport type {\n ContractCodeHistoryEntry,\n ContractInfo,\n Model,\n Params as WasmParams,\n} from '@manifest-network/manifestjs/dist/codegen/cosmwasm/wasm/v1/types.js';\n// Protobuf Any type for polymorphic account types\nimport type { Any } from '@manifest-network/manifestjs/dist/codegen/google/protobuf/any.js';\n// Billing credit estimate response\nimport type { QueryCreditEstimateResponse } from '@manifest-network/manifestjs/dist/codegen/liftedinit/billing/v1/query.js';\nimport type { LeaseItemInput } from '@manifest-network/manifestjs/dist/codegen/liftedinit/billing/v1/tx.js';\n// Billing module types (Manifest-specific)\nimport type {\n Params as BillingParams,\n CreditAccount,\n Lease,\n} from '@manifest-network/manifestjs/dist/codegen/liftedinit/billing/v1/types.js';\n// SKU module types (Manifest-specific)\nimport type {\n Provider,\n SKU,\n Params as SkuParams,\n} from '@manifest-network/manifestjs/dist/codegen/liftedinit/sku/v1/types.js';\n\n// Re-export commonly used protobuf types for consumers\nexport type {\n Any,\n AuthParams,\n BankMetadata,\n BankParams,\n BaseAccount,\n BillingParams,\n CodeInfoResponse,\n ContractCodeHistoryEntry,\n ContractInfo,\n CreditAccount,\n DelegationDelegatorReward,\n DelegationResponse,\n DepositParams,\n DistributionParams,\n GovDeposit,\n GovParams,\n GovProposal,\n GovTallyResult,\n GovVote,\n GroupInfo,\n GroupMember,\n GroupPolicyInfo,\n GroupProposal,\n GroupTallyResult,\n GroupVote,\n HistoricalInfo,\n Lease,\n LeaseItemInput,\n Model,\n ModuleAccount,\n Provider,\n QueryCreditEstimateResponse,\n RedelegationResponse,\n SendEnabled,\n SKU,\n SkuParams,\n StakingParams,\n StakingPool,\n TallyParams,\n UnbondingDelegation,\n Validator,\n ValidatorAccumulatedCommission,\n ValidatorOutstandingRewards,\n ValidatorSlashEvent,\n VotingParams,\n WasmParams,\n};\n\n/**\n * Rate limiting configuration\n */\nexport interface RateLimitConfig {\n /** Maximum requests per second (default: 10) */\n readonly requestsPerSecond?: number;\n}\n\n/**\n * Retry configuration for transient RPC failures\n */\nexport interface RetryConfig {\n /** Maximum number of retry attempts (default: 3) */\n readonly maxRetries?: number;\n /** Base delay in milliseconds before first retry (default: 1000) */\n readonly baseDelayMs?: number;\n /** Maximum delay in milliseconds between retries (default: 10000) */\n readonly maxDelayMs?: number;\n}\n\n/**\n * Configuration for the Manifest MCP server\n */\nexport interface ManifestMCPConfig {\n /** Chain ID (e.g., \"manifest-ledger-testnet\") */\n readonly chainId: string;\n /** RPC endpoint URL (required for transactions; optional if restUrl provided for query-only mode) */\n readonly rpcUrl?: string;\n /** Gas price with denomination (e.g., \"1.0umfx\"); required when rpcUrl is provided */\n readonly gasPrice?: string;\n /** REST/LCD endpoint URL for queries (e.g., \"http://localhost:1317\") */\n readonly restUrl?: string;\n /** Address prefix (e.g., \"manifest\") */\n readonly addressPrefix?: string;\n /** Rate limiting configuration */\n readonly rateLimit?: RateLimitConfig;\n /** Retry configuration for transient failures */\n readonly retry?: RetryConfig;\n /** Gas simulation multiplier (default: 1.5, minimum: 1). A value of 1.0 uses the exact simulation result with no safety margin. Increase if transactions fail with out-of-gas errors. */\n readonly gasMultiplier?: number;\n}\n\n/**\n * Per-transaction overrides supplied by external callers (MCP tools, library consumers).\n */\nexport interface TxOverrides {\n readonly gasMultiplier?: number;\n}\n\n/**\n * Fully-resolved gas options passed to transaction handlers.\n * Constructed by `cosmosTx()` from caller-supplied `TxOverrides` and server config.\n */\nexport interface TxOptions {\n readonly gasMultiplier: number;\n readonly gasPrice: string;\n}\n\n/**\n * Wallet provider interface for different wallet implementations\n *\n * Any wallet that provides an OfflineSigner works (Keplr, Web3Auth, Leap, cosmos-kit, etc.)\n */\nexport interface SignArbitraryResult {\n readonly pub_key: { readonly type: string; readonly value: string };\n readonly signature: string;\n}\n\nexport interface WalletProvider {\n /** Get the wallet's address */\n getAddress(): Promise<string>;\n /** Get the offline signer for signing transactions */\n getSigner(): Promise<OfflineSigner>;\n /** Optional: Sign arbitrary data (ADR-036) for off-chain authentication */\n signArbitrary?(address: string, data: string): Promise<SignArbitraryResult>;\n /** Optional: Connect to the wallet */\n connect?(): Promise<void>;\n /** Optional: Disconnect from the wallet */\n disconnect?(): Promise<void>;\n}\n\n/**\n * Messages built by a transaction module's message builder, ready for\n * simulation or signing/broadcasting.\n */\nexport interface BuiltMessages {\n readonly messages: readonly EncodeObject[];\n /**\n * Memo string (default ''). Required (not optional) for type cleanliness:\n * call sites get a guaranteed string and don't need `?? ''` coalescing.\n * (At the protobuf encoding layer, '' and undefined are byte-equivalent,\n * so this is purely a type-design choice, not a behavior fix.)\n */\n readonly memo: string;\n /**\n * Canonical subcommand name when the input was an alias.\n * E.g., staking accepts both 'unbond' and 'undelegate' and reports 'unbond' for both.\n * When omitted, callers should use the original subcommand they passed in.\n */\n readonly canonicalSubcommand?: string;\n}\n\n/**\n * Result from a fee estimation (simulation without broadcast)\n */\nexport interface FeeEstimateResult {\n readonly module: string;\n /** Canonical subcommand name (e.g., 'undelegate' is normalized to 'unbond'). */\n readonly subcommand: string;\n /**\n * Raw gas estimate from simulation, stringified for serialization consistency\n * with `CosmosTxResult.gasUsed` / `gasWanted`.\n */\n readonly gasEstimate: string;\n readonly fee: {\n readonly amount: readonly {\n readonly denom: string;\n readonly amount: string;\n }[];\n /** Gas limit, equal to ceil(gasEstimate * gasMultiplier). */\n readonly gas: string;\n };\n}\n\n/**\n * Result from a Cosmos transaction\n */\nexport interface CosmosTxResult {\n readonly module: string;\n readonly subcommand: string;\n readonly transactionHash: string;\n readonly code: number;\n readonly height: string;\n readonly rawLog?: string;\n readonly confirmed?: boolean;\n readonly confirmationHeight?: string;\n readonly gasUsed?: string;\n readonly gasWanted?: string;\n readonly events?: readonly {\n readonly type: string;\n readonly attributes: readonly {\n readonly key: string;\n readonly value: string;\n }[];\n }[];\n}\n\n/**\n * Module information for discovery\n */\nexport interface ModuleInfo {\n readonly name: string;\n readonly description: string;\n readonly args?: string; // Usage hint for arguments\n}\n\n/**\n * Available modules listing\n */\nexport interface AvailableModules {\n readonly queryModules: readonly ModuleInfo[];\n readonly txModules: readonly ModuleInfo[];\n}\n\n/**\n * Error codes for ManifestMCPError\n */\nexport enum ManifestMCPErrorCode {\n // Configuration errors\n INVALID_CONFIG = 'INVALID_CONFIG',\n MISSING_CONFIG = 'MISSING_CONFIG',\n\n // Wallet errors\n WALLET_NOT_CONNECTED = 'WALLET_NOT_CONNECTED',\n WALLET_CONNECTION_FAILED = 'WALLET_CONNECTION_FAILED',\n INVALID_MNEMONIC = 'INVALID_MNEMONIC',\n\n // Client errors\n RPC_CONNECTION_FAILED = 'RPC_CONNECTION_FAILED',\n\n // Query errors\n QUERY_FAILED = 'QUERY_FAILED',\n UNSUPPORTED_QUERY = 'UNSUPPORTED_QUERY',\n INVALID_ADDRESS = 'INVALID_ADDRESS',\n\n // Transaction errors\n TX_FAILED = 'TX_FAILED',\n TX_BROADCAST_FAILED = 'TX_BROADCAST_FAILED',\n UNSUPPORTED_TX = 'UNSUPPORTED_TX',\n INSUFFICIENT_FUNDS = 'INSUFFICIENT_FUNDS',\n SIMULATION_FAILED = 'SIMULATION_FAILED',\n\n // Module errors\n UNKNOWN_MODULE = 'UNKNOWN_MODULE',\n}\n\n/**\n * Custom error class for Manifest MCP errors\n */\nexport class ManifestMCPError extends Error {\n public readonly code: ManifestMCPErrorCode;\n public readonly details?: Record<string, unknown>;\n\n constructor(\n code: ManifestMCPErrorCode,\n message: string,\n details?: Record<string, unknown>,\n ) {\n super(message);\n this.name = 'ManifestMCPError';\n this.code = code;\n this.details = details;\n\n // Ensure proper prototype chain for instanceof checks\n Object.setPrototypeOf(this, ManifestMCPError.prototype);\n }\n\n toJSON(): Record<string, unknown> {\n return {\n name: this.name,\n code: this.code,\n message: this.message,\n details: this.details,\n };\n }\n}\n\n/**\n * Account information\n */\nexport interface AccountInfo {\n readonly address: string;\n}\n\n// ============================================================================\n// Query Result Types\n// ============================================================================\n\n/**\n * Pagination response from Cosmos SDK queries\n */\nexport interface PaginationResponse {\n readonly nextKey?: Uint8Array;\n readonly total?: bigint;\n}\n\n/**\n * Base interface for paginated query results\n */\nexport interface PaginatedResult {\n readonly pagination?: PaginationResponse;\n}\n\n/**\n * Coin type from Cosmos SDK\n */\nexport interface Coin {\n readonly denom: string;\n readonly amount: string;\n}\n\n/**\n * DecCoin type from Cosmos SDK (for rewards, commission, etc.)\n *\n * DecCoin has the same structure as Coin but represents decimal amounts\n * used in distribution calculations. The amount string may contain decimals.\n */\nexport type DecCoin = Coin;\n\n// Bank query results\nexport interface BalanceResult {\n readonly balance?: Coin;\n}\n\nexport interface BalancesResult extends PaginatedResult {\n readonly balances: readonly Coin[];\n}\n\nexport interface TotalSupplyResult extends PaginatedResult {\n readonly supply: readonly Coin[];\n}\n\nexport interface SupplyOfResult {\n readonly amount?: Coin;\n}\n\nexport interface DenomMetadataResult {\n readonly metadata?: BankMetadata;\n}\n\nexport interface DenomsMetadataResult extends PaginatedResult {\n readonly metadatas: readonly BankMetadata[];\n}\n\nexport interface SendEnabledResult extends PaginatedResult {\n readonly sendEnabled: readonly SendEnabled[];\n}\n\nexport interface BankParamsResult {\n readonly params?: BankParams;\n}\n\n// Staking query results\nexport interface DelegationResult {\n readonly delegationResponse?: DelegationResponse;\n}\n\nexport interface DelegationsResult extends PaginatedResult {\n readonly delegationResponses: readonly DelegationResponse[];\n}\n\nexport interface UnbondingDelegationResult {\n readonly unbond?: UnbondingDelegation;\n}\n\nexport interface UnbondingDelegationsResult extends PaginatedResult {\n readonly unbondingResponses: readonly UnbondingDelegation[];\n}\n\nexport interface RedelegationsResult extends PaginatedResult {\n readonly redelegationResponses: readonly RedelegationResponse[];\n}\n\nexport interface ValidatorResult {\n readonly validator?: Validator;\n}\n\nexport interface ValidatorsResult extends PaginatedResult {\n readonly validators: readonly Validator[];\n}\n\nexport interface StakingPoolResult {\n readonly pool?: StakingPool;\n}\n\nexport interface StakingParamsResult {\n readonly params?: StakingParams;\n}\n\nexport interface HistoricalInfoResult {\n readonly hist?: HistoricalInfo;\n}\n\n// Distribution query results\n// Note: When querying all rewards, 'rewards' is DelegationDelegatorReward[] (per validator).\n// When querying specific validator, 'rewards' is DecCoin[] (direct reward coins).\nexport interface RewardsResult {\n readonly rewards: readonly DecCoin[] | readonly DelegationDelegatorReward[];\n readonly total?: readonly DecCoin[];\n}\n\nexport interface CommissionResult {\n readonly commission?: ValidatorAccumulatedCommission;\n}\n\nexport interface CommunityPoolResult {\n readonly pool: readonly DecCoin[];\n}\n\nexport interface DistributionParamsResult {\n readonly params?: DistributionParams;\n}\n\nexport interface ValidatorOutstandingRewardsResult {\n readonly rewards?: ValidatorOutstandingRewards;\n}\n\nexport interface SlashesResult extends PaginatedResult {\n readonly slashes: readonly ValidatorSlashEvent[];\n}\n\nexport interface DelegatorValidatorsResult {\n readonly validators: readonly string[];\n}\n\nexport interface DelegatorWithdrawAddressResult {\n readonly withdrawAddress: string;\n}\n\n// Gov query results\nexport interface ProposalResult {\n readonly proposal?: GovProposal;\n}\n\nexport interface ProposalsResult extends PaginatedResult {\n readonly proposals: readonly GovProposal[];\n}\n\nexport interface VoteResult {\n readonly vote?: GovVote;\n}\n\nexport interface VotesResult extends PaginatedResult {\n readonly votes: readonly GovVote[];\n}\n\nexport interface DepositResult {\n readonly deposit?: GovDeposit;\n}\n\nexport interface DepositsResult extends PaginatedResult {\n readonly deposits: readonly GovDeposit[];\n}\n\nexport interface TallyResult {\n readonly tally?: GovTallyResult;\n}\n\nexport interface GovParamsResult {\n readonly votingParams?: VotingParams;\n readonly depositParams?: DepositParams;\n readonly tallyParams?: TallyParams;\n readonly params?: GovParams;\n}\n\n// Auth query results\n// Note: Account types are polymorphic - the RPC can return BaseAccount, ModuleAccount, or other account types wrapped in Any\nexport interface AuthAccountResult {\n readonly account?: BaseAccount | ModuleAccount | Any;\n}\n\nexport interface AuthAccountsResult extends PaginatedResult {\n readonly accounts: readonly (BaseAccount | Any)[];\n}\n\nexport interface AuthParamsResult {\n readonly params?: AuthParams;\n}\n\nexport interface ModuleAccountsResult {\n readonly accounts: readonly (ModuleAccount | Any)[];\n}\n\nexport interface AddressBytesToStringResult {\n readonly addressString: string;\n}\n\nexport interface AddressStringToBytesResult {\n readonly addressBytes: string;\n}\n\nexport interface Bech32PrefixResult {\n readonly bech32Prefix: string;\n}\n\nexport interface AccountInfoResult {\n readonly info?: BaseAccount;\n}\n\n// Billing query results\nexport interface BillingParamsResult {\n readonly params?: BillingParams;\n}\n\nexport interface LeaseResult {\n readonly lease?: Lease;\n}\n\nexport interface LeasesResult extends PaginatedResult {\n readonly leases: readonly Lease[];\n}\n\nexport interface CreditAccountResult {\n readonly creditAccount?: CreditAccount;\n readonly balances: readonly Coin[];\n readonly availableBalances: readonly Coin[];\n}\n\nexport interface CreditAccountsResult extends PaginatedResult {\n readonly creditAccounts: readonly CreditAccount[];\n}\n\nexport interface CreditAddressResult {\n readonly creditAddress: string;\n}\n\nexport interface WithdrawableAmountResult {\n readonly amounts: readonly Coin[];\n}\n\nexport interface ProviderWithdrawableResult {\n readonly amounts: readonly Coin[];\n readonly leaseCount: bigint;\n readonly hasMore: boolean;\n}\n\nexport interface CreditEstimateResult {\n readonly estimate: QueryCreditEstimateResponse;\n}\n\n// Group query results\nexport interface GroupInfoResult {\n readonly info?: GroupInfo;\n}\n\nexport interface GroupPolicyInfoResult {\n readonly info?: GroupPolicyInfo;\n}\n\nexport interface GroupMembersResult extends PaginatedResult {\n readonly members: readonly GroupMember[];\n}\n\nexport interface GroupsResult extends PaginatedResult {\n readonly groups: readonly GroupInfo[];\n}\n\nexport interface GroupPoliciesResult extends PaginatedResult {\n readonly groupPolicies: readonly GroupPolicyInfo[];\n}\n\nexport interface GroupProposalResult {\n readonly proposal?: GroupProposal;\n}\n\nexport interface GroupProposalsResult extends PaginatedResult {\n readonly proposals: readonly GroupProposal[];\n}\n\nexport interface GroupVoteResult {\n readonly vote?: GroupVote;\n}\n\nexport interface GroupVotesResult extends PaginatedResult {\n readonly votes: readonly GroupVote[];\n}\n\nexport interface GroupTallyQueryResult {\n readonly tally?: GroupTallyResult;\n}\n\n// SKU query results\nexport interface SkuParamsResult {\n readonly params?: SkuParams;\n}\n\nexport interface ProviderResult {\n readonly provider?: Provider;\n}\n\nexport interface ProvidersResult extends PaginatedResult {\n readonly providers: readonly Provider[];\n}\n\nexport interface SkuResult {\n readonly sku?: SKU;\n}\n\nexport interface SkusResult extends PaginatedResult {\n readonly skus: readonly SKU[];\n}\n\n// CosmWasm query results\nexport interface WasmContractInfoResult {\n readonly address: string;\n readonly contractInfo?: ContractInfo;\n}\n\nexport interface WasmContractHistoryResult extends PaginatedResult {\n readonly entries: readonly ContractCodeHistoryEntry[];\n}\n\nexport interface WasmContractsByCodeResult extends PaginatedResult {\n readonly contracts: readonly string[];\n}\n\nexport interface WasmAllContractStateResult extends PaginatedResult {\n readonly models: readonly Model[];\n}\n\nexport interface WasmRawContractStateResult {\n readonly data: string; // base64-encoded\n}\n\nexport interface WasmSmartContractStateResult {\n readonly data: unknown;\n}\n\n/** JSON-safe representation of CodeInfoResponse with dataHash encoded as base64. */\nexport interface WasmCodeInfo {\n readonly codeId: bigint;\n readonly creator: string;\n readonly dataHash: string; // base64-encoded\n readonly instantiatePermission: {\n readonly permission: number;\n readonly addresses: readonly string[];\n };\n}\n\nexport interface WasmCodeResult {\n readonly codeInfo?: WasmCodeInfo;\n readonly data: string; // base64-encoded wasm bytecode\n}\n\nexport interface WasmCodesResult extends PaginatedResult {\n readonly codeInfos: readonly WasmCodeInfo[];\n}\n\nexport interface WasmCodeInfoResult {\n readonly codeInfo?: WasmCodeInfo;\n}\n\nexport interface WasmPinnedCodesResult extends PaginatedResult {\n readonly codeIds: readonly bigint[];\n}\n\nexport interface WasmParamsResult {\n readonly params?: WasmParams;\n}\n\nexport interface WasmContractsByCreatorResult extends PaginatedResult {\n readonly contractAddresses: readonly string[];\n}\n\nexport interface WasmLimitsConfigResult {\n readonly config: string;\n}\n\nexport interface WasmBuildAddressResult {\n readonly address: string;\n}\n\n/**\n * Union type of all query results for type-safe handling\n */\nexport type QueryResult =\n | BalanceResult\n | BalancesResult\n | TotalSupplyResult\n | SupplyOfResult\n | DenomMetadataResult\n | DenomsMetadataResult\n | SendEnabledResult\n | BankParamsResult\n | DelegationResult\n | DelegationsResult\n | UnbondingDelegationResult\n | UnbondingDelegationsResult\n | RedelegationsResult\n | ValidatorResult\n | ValidatorsResult\n | StakingPoolResult\n | StakingParamsResult\n | HistoricalInfoResult\n | RewardsResult\n | CommissionResult\n | CommunityPoolResult\n | DistributionParamsResult\n | ValidatorOutstandingRewardsResult\n | SlashesResult\n | DelegatorValidatorsResult\n | DelegatorWithdrawAddressResult\n | ProposalResult\n | ProposalsResult\n | VoteResult\n | VotesResult\n | DepositResult\n | DepositsResult\n | TallyResult\n | GovParamsResult\n | AuthAccountResult\n | AuthAccountsResult\n | AuthParamsResult\n | ModuleAccountsResult\n | AddressBytesToStringResult\n | AddressStringToBytesResult\n | Bech32PrefixResult\n | AccountInfoResult\n | BillingParamsResult\n | LeaseResult\n | LeasesResult\n | CreditAccountResult\n | CreditAccountsResult\n | CreditAddressResult\n | WithdrawableAmountResult\n | ProviderWithdrawableResult\n | CreditEstimateResult\n | SkuParamsResult\n | ProviderResult\n | ProvidersResult\n | SkuResult\n | SkusResult\n | GroupInfoResult\n | GroupPolicyInfoResult\n | GroupMembersResult\n | GroupsResult\n | GroupPoliciesResult\n | GroupProposalResult\n | GroupProposalsResult\n | GroupVoteResult\n | GroupVotesResult\n | GroupTallyQueryResult\n | WasmContractInfoResult\n | WasmContractHistoryResult\n | WasmContractsByCodeResult\n | WasmAllContractStateResult\n | WasmRawContractStateResult\n | WasmSmartContractStateResult\n | WasmCodeResult\n | WasmCodesResult\n | WasmCodeInfoResult\n | WasmPinnedCodesResult\n | WasmParamsResult\n | WasmContractsByCreatorResult\n | WasmLimitsConfigResult\n | WasmBuildAddressResult;\n\n/**\n * Result from a Cosmos query\n */\nexport interface CosmosQueryResult {\n readonly module: string;\n readonly subcommand: string;\n readonly result: QueryResult;\n}\n"],"mappings":";;;;AAwSA,IAAY,uBAAL,yBAAA,sBAAA;AAEL,sBAAA,oBAAA;AACA,sBAAA,oBAAA;AAGA,sBAAA,0BAAA;AACA,sBAAA,8BAAA;AACA,sBAAA,sBAAA;AAGA,sBAAA,2BAAA;AAGA,sBAAA,kBAAA;AACA,sBAAA,uBAAA;AACA,sBAAA,qBAAA;AAGA,sBAAA,eAAA;AACA,sBAAA,yBAAA;AACA,sBAAA,oBAAA;AACA,sBAAA,wBAAA;AACA,sBAAA,uBAAA;AAGA,sBAAA,oBAAA;;KACD;;;;AAKD,IAAa,mBAAb,MAAa,yBAAyB,MAAM;CAI1C,YACE,MACA,SACA,SACA;AACA,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,UAAU;AAGf,SAAO,eAAe,MAAM,iBAAiB,UAAU;;CAGzD,SAAkC;AAChC,SAAO;GACL,MAAM,KAAK;GACX,MAAM,KAAK;GACX,SAAS,KAAK;GACd,SAAS,KAAK;GACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manifest-network/manifest-mcp-core",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Shared library for Cosmos SDK blockchain logic, tool functions, and server utilities (Manifest Network)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",