@hsuite/smart-engines-sdk 3.4.1 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -0
- package/README.md +124 -27
- package/dist/index.d.ts +126 -55
- package/dist/index.js +711 -625
- package/dist/index.js.map +1 -1
- package/dist/ipfs-access-key/index.js.map +1 -1
- package/dist/k8s-secret-reader/index.js.map +1 -1
- package/dist/nestjs/index.d.ts +57 -44
- package/dist/nestjs/index.js +637 -513
- package/dist/nestjs/index.js.map +1 -1
- package/dist/pqc-verify/index.js.map +1 -1
- package/dist/pqc-verify-envelope/index.d.ts +1 -1
- package/dist/pqc-verify-envelope/index.js +2 -37
- package/dist/pqc-verify-envelope/index.js.map +1 -1
- package/package.json +17 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.5.0 — 2026-06-01
|
|
4
|
+
|
|
5
|
+
**100% prod-ready arc.** Final cleanup pass after the 3.4.x publication. Closes every finding from two rounds of adversarial verification: legacy/dead-API code removed, BaaS dual-transport collapsed onto the shared HttpClient, path-traversal exposure closed via `encodePathParam` repo-wide, typed signer surfaces narrowed off `any`, test coverage taken from 62% → 90% statements / 49% → 81% branches / 64% → 85% functions / 63% → 91% lines, README + compodoc shipped, and one phantom test spec (615 lines that never imported the class it claimed to test) replaced with 43 real tests.
|
|
6
|
+
|
|
7
|
+
Shipped as 4 parallel PRs (#1032 docs/compodoc, #1033 legacy cleanup, #1034 arch+security, #1036 test coverage).
|
|
8
|
+
|
|
9
|
+
### Breaking changes (typed-surface only; runtime preserved)
|
|
10
|
+
|
|
11
|
+
- **`BaasClientConfig.http` removed.** Field was typed as `ResilientHttpConfig` and accepted "for backward compatibility / future resilience layer integration" but was never wired at runtime — public users passing it got silently ignored. Removing the inert type closes the discrepancy. Callers passing `new BaasClient({ http: {} })` now get a TS2353 excess-property error; runtime behaviour unchanged. (#1033)
|
|
12
|
+
- **`SmartEngineClientConfig.http` removed.** Same pattern as above. (#1033)
|
|
13
|
+
- **`TokensClient.getDetails(chain, tokenId)` deleted.** Method was shadowed at the Nest route layer (`ValidatorController` won registration order vs `TokenMigrationController`) and never reached its declared handler. JSDoc itself said "prefer `client.getTokenInfo(...)` instead". Shipping a public method for a 404-shadowed endpoint = dead-on-arrival. (#1033)
|
|
14
|
+
- **`HederaTransactionsClient` constructor now requires `tssHttp`.** The previous `tssHttp ?? http` fallback was dead in this repo (single call site always passed both args). External callers passing one arg now get "Expected 2 arguments, but got 1". (#1033)
|
|
15
|
+
- **`signChallengeXRPL(wallet: XrplSigner)` narrowed**, was `wallet: any`. `XrplSigner.sign(message: string): string | { signedTransaction: string }`. Callers passing a hand-rolled `{ sign: () => Uint8Array }` no longer compile — the runtime never handled Uint8Array. (#1034)
|
|
16
|
+
- **`signChallengeHedera(privateKey: HederaSigner)` narrowed**, was `privateKey: any`. Structural type matches `@hashgraph/sdk`'s PrivateKey shape without importing the peer dep. (#1034)
|
|
17
|
+
|
|
18
|
+
### Security
|
|
19
|
+
|
|
20
|
+
- **Path-traversal exposure closed**: replaced raw `encodeURIComponent` with the `%2F`-stripping `encodePathParam` helper across ~135 sites (collection IDs, document IDs, agent IDs, function IDs, DAO IDs, etc.). Regression test in `__tests__/path-traversal.spec.ts` feeds `'../../../etc/passwd'` style inputs and asserts the resulting URL stays sandboxed. (#1034)
|
|
21
|
+
|
|
22
|
+
### Refactor
|
|
23
|
+
|
|
24
|
+
- **`BaasClient` dual transport collapsed.** Top-level `BaasClient.<method>` calls (e.g., `authenticate`) used a private fetch-based `request/get/post` infra; sub-clients used the shared `HttpClient`. Now everything goes through the shared client. Auth token state moved from `this.authToken` onto `HttpClient` via the new typed `setAuthToken/getAuthToken` accessors. Every `(this.http as any).authToken` peek across the SDK removed. (#1034)
|
|
25
|
+
- **`connectToCluster` bootstrap-resolution DRY'd.** ~25 lines of identical scaffolding between `SmartEngineClient.connectToCluster` and `BaasClient.connectToCluster` extracted to `discovery/resolve-cluster.ts`'s `resolveClusterEndpoint`. (#1034)
|
|
26
|
+
- `StorageClient.getFile` `@deprecated` JSDoc now pins removal to **4.0.0**. Forwards to `download(cid)` until then. (#1033)
|
|
27
|
+
- `SupportedChain` alias inlined to direct `ChainType` use. (#1033)
|
|
28
|
+
- `ValidatorDiscoveryClient` JSDoc no longer calls itself "legacy" — it's the intentional HCS-direct discovery fallback. (#1033)
|
|
29
|
+
|
|
30
|
+
### Tests
|
|
31
|
+
|
|
32
|
+
- **Phantom `validator-auth.spec.ts` replaced**: the original 615 lines tested `new URL(...)` against the stdlib and never imported `ValidatorAuthClient`. Production was at 2.97% line coverage. Replaced with 43 real tests covering every public method + `ValidatorAuthError` + every failure path. (#1036)
|
|
33
|
+
- Added specs for `chains/{hedera,polkadot,solana,xrpl}.ts` (0% → 100%), `discovery/{mirror-node,validator-discovery}` (11-18% → 95%+), `nestjs/smart-engine.service` (30% → 100%), `_vendor/{retry,rate-limiter,errors-and-breaker,network-types}` (9-55% → 100%), gateway sub-clients, residual `client.ts` token/cluster/monitoring branches. (#1036)
|
|
34
|
+
- `jest.config.js` `**/index.ts` blanket exclusion replaced with a narrow allowlist of true barrel files — sub-client implementations in `index.ts` now count toward coverage. (#1036)
|
|
35
|
+
|
|
36
|
+
**Coverage gate (CLAUDE.md ≥80% bar):**
|
|
37
|
+
|
|
38
|
+
| Axis | 3.4.1 | 3.5.0 |
|
|
39
|
+
|------|-------|-------|
|
|
40
|
+
| Statements | 62.17% | **89.95%** |
|
|
41
|
+
| Branches | 49.51% | **81.33%** |
|
|
42
|
+
| Functions | 64.12% | **85.10%** |
|
|
43
|
+
| Lines | 62.63% | **91.39%** |
|
|
44
|
+
|
|
45
|
+
Test count: 637 → **1037** (+400).
|
|
46
|
+
|
|
47
|
+
### Docs
|
|
48
|
+
|
|
49
|
+
- **README rewritten** for the 3.4.x+ surface: leads with `BaasClient.connectToCluster({ network: 'testnet' })` as the canonical entrypoint, sub-clients table enumerates every public field on `SmartEngineClient` + `BaasClient`, bundle section refreshed off the actual 3.5.0 figures. Stale 3.0.0 / 3.2.0 references gone. (#1032)
|
|
50
|
+
- **Compodoc wired**: `yarn workspace @hsuite/smart-engines-sdk docs` now generates `dist/docs/` against the repo-root `.compodocrc.json`. (#1032)
|
|
51
|
+
- **Stale `hsuite-smart-engines-sdk-3.2.0.tgz` deleted** from the package source. (#1032)
|
|
52
|
+
- Package-level `@example` in `src/index.ts` rewritten to lead with `connectToCluster`. (#1032)
|
|
53
|
+
- `@example` blocks added to `BridgeClient` / `EnvelopeClient` / `OperatorClient` / `ResourcesClient` / `HederaTssClient` / `DiscoveryClient`. (#1032)
|
|
54
|
+
|
|
55
|
+
### Verified
|
|
56
|
+
|
|
57
|
+
- `yarn jest`: 67 suites, 1037 passing + 1 skipped = 1038 total, 0 failures.
|
|
58
|
+
- `yarn build:tsc`: clean.
|
|
59
|
+
- `yarn build`: all 6 subpath dist artifacts produced cleanly.
|
|
60
|
+
- `yarn workspace @hsuite/smart-engines-sdk docs`: compodoc generates `dist/docs/` cleanly.
|
|
61
|
+
|
|
3
62
|
## 3.4.1 — 2026-06-01
|
|
4
63
|
|
|
5
64
|
**Patch release** restoring 3 subpath exports that the 3.4.0 publish dropped despite being present in source:
|
package/README.md
CHANGED
|
@@ -21,9 +21,14 @@ npm install zod # peer (likely transitive in your app already)
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
-
## Quick start —
|
|
24
|
+
## Quick start — `connectToCluster`
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
`connectToCluster` is the canonical entrypoint: it auto-discovers an active
|
|
27
|
+
cluster via the service registry, picks one at random, runs Web3 auth, and
|
|
28
|
+
hands back a wired client. Zero hand-rolled URLs, zero validator pinning,
|
|
29
|
+
permissionless cluster join/leave is invisible to the SDK caller.
|
|
30
|
+
|
|
31
|
+
### BaaS (smart-app primary path)
|
|
27
32
|
|
|
28
33
|
```ts
|
|
29
34
|
import { BaasClient } from '@hsuite/smart-engines-sdk';
|
|
@@ -33,15 +38,12 @@ import { sign as xrplSign } from 'ripple-keypairs';
|
|
|
33
38
|
// 1. Your XRPL wallet (real production: load XRPL_SEED from env / secret store)
|
|
34
39
|
const wallet = Wallet.fromSeed(process.env.XRPL_SEED!);
|
|
35
40
|
|
|
36
|
-
// 2.
|
|
37
|
-
const baas =
|
|
38
|
-
|
|
39
|
-
appId: 'pending', // will be replaced after register()
|
|
40
|
-
pathPrefix: '/host', // gateway routes /host/* → smart-host
|
|
41
|
+
// 2. Connect to the network (zero-config — testnet | mainnet)
|
|
42
|
+
const baas = await BaasClient.connectToCluster({
|
|
43
|
+
network: 'testnet',
|
|
41
44
|
});
|
|
42
45
|
|
|
43
|
-
// 3.
|
|
44
|
-
// Cluster verifies with ripple-keypairs.verify(messageHex.toUpperCase(), signature, publicKey)
|
|
46
|
+
// 3. Web3 auth (challenge-response over the discovered cluster's gateway)
|
|
45
47
|
await baas.authenticate({
|
|
46
48
|
chain: 'xrpl',
|
|
47
49
|
walletAddress: wallet.address,
|
|
@@ -72,6 +74,24 @@ baas.setAppId(init.appId);
|
|
|
72
74
|
// (deploy) await baas.deployment.deploy(init.appId, { tag: 'v1', replicas: 1 });
|
|
73
75
|
```
|
|
74
76
|
|
|
77
|
+
### SmartEngineClient (direct chain operations)
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
import { SmartEngineClient } from '@hsuite/smart-engines-sdk';
|
|
81
|
+
|
|
82
|
+
const { client, cluster, session } = await SmartEngineClient.connectToCluster({
|
|
83
|
+
network: 'testnet', // resolves canonical gateway entrypoint
|
|
84
|
+
chain: 'xrpl',
|
|
85
|
+
address: wallet.address,
|
|
86
|
+
publicKey: wallet.publicKey,
|
|
87
|
+
signFn: (challenge) => /* sign the challenge */ '',
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// All sub-clients are wired against the discovered cluster
|
|
91
|
+
await client.tss.signMPC({ chain: 'hedera', entityId: '...', transactionBytes: '0x...' });
|
|
92
|
+
await client.ipfs.upload(file, 'document.pdf');
|
|
93
|
+
```
|
|
94
|
+
|
|
75
95
|
**Why XRPL?** Per the Smart Engines V3 architecture, XRPL is canonical for
|
|
76
96
|
smart-app authentication and registration. The cluster's validator/host pods
|
|
77
97
|
pay their own HCS fees from pod-local operator accounts; smart-apps never
|
|
@@ -81,22 +101,90 @@ from the dev wallet used to authenticate.
|
|
|
81
101
|
|
|
82
102
|
**Faster bootstrap?** Use the [`@hsuite/smart-engines-cli`](https://www.npmjs.com/package/@hsuite/smart-engines-cli) — `hsuite init` generates a fresh XRPL wallet + funds it via the testnet faucet + writes `.env.local`, then `hsuite subscribe` registers the smart-app in one command.
|
|
83
103
|
|
|
104
|
+
### Manual override — pin a host directly
|
|
105
|
+
|
|
106
|
+
If you need to point the SDK at a specific gateway / host (private deployment,
|
|
107
|
+
local k3d cluster, conformance harness), bypass discovery and pass a URL:
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
import { BaasClient, SmartEngineClient } from '@hsuite/smart-engines-sdk';
|
|
111
|
+
|
|
112
|
+
const baas = new BaasClient({
|
|
113
|
+
hostUrl: 'https://v3-testnet-gateway.hsuite.network',
|
|
114
|
+
appId: 'pending',
|
|
115
|
+
pathPrefix: '/host', // gateway routes /host/* → smart-host
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
const client = new SmartEngineClient({
|
|
119
|
+
baseUrl: 'https://v3-testnet-gateway.hsuite.network',
|
|
120
|
+
authToken: '<jwt-from-validator-auth-verify>',
|
|
121
|
+
});
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
You can also pass `bootstrap: string[]` to `connectToCluster` for explicit
|
|
125
|
+
seed lists (private deployments).
|
|
126
|
+
|
|
84
127
|
---
|
|
85
128
|
|
|
86
129
|
## Available clients
|
|
87
130
|
|
|
131
|
+
The root `SmartEngineClient` exposes every sub-client below — each maps 1:1
|
|
132
|
+
to a server-side controller. `BaasClient` mirrors the host/BaaS surface.
|
|
133
|
+
|
|
134
|
+
### Top-level clients
|
|
135
|
+
|
|
88
136
|
| Client | Purpose |
|
|
89
137
|
|---|---|
|
|
90
|
-
| `BaasClient` | Authentication + database + storage + functions + messaging + deployment + agents |
|
|
91
|
-
| `
|
|
92
|
-
| `baas.entities.*` | Create canonical token / account / topic / agent entities (plus launchpad mega-helper), each bound to a published `ruleRef` |
|
|
93
|
-
| `SmartEngineClient` | Chain operations: account create, token create / mint / burn / freeze / wipe, transfers, HCS topics, TSS, IPFS |
|
|
138
|
+
| `BaasClient` | Authentication + database + storage + functions + messaging + deployment + agents + rules + entities |
|
|
139
|
+
| `SmartEngineClient` | Chain operations + every typed sub-client below |
|
|
94
140
|
| `SmartGatewayClient` | Gateway operations: routing, domains, DNS |
|
|
95
141
|
| `ValidatorAuthClient` | Standalone Web3 challenge-response auth (lower-level than `BaasClient.authenticate`) |
|
|
96
|
-
| `
|
|
97
|
-
| `
|
|
142
|
+
| `ClusterDiscoveryClient` | Bootstrap-seed → active-cluster discovery (powers `connectToCluster`) |
|
|
143
|
+
| `ValidatorDiscoveryClient` | HCS-registry-based validator discovery (legacy `connectToNetwork` path) |
|
|
98
144
|
| `MirrorNodeClient` | Hedera mirror-node helper (when your app does Hedera-side queries) |
|
|
99
145
|
|
|
146
|
+
### `client.*` sub-clients on `SmartEngineClient`
|
|
147
|
+
|
|
148
|
+
| Field | Purpose |
|
|
149
|
+
|---|---|
|
|
150
|
+
| `client.subscription` | Application subscription management |
|
|
151
|
+
| `client.tss` | Threshold Signature Scheme — chain-agnostic MPC operations |
|
|
152
|
+
| `client.ipfs` | IPFS decentralized file storage |
|
|
153
|
+
| `client.transactions` | Chain-agnostic prepare-sign-submit (transaction sovereignty) |
|
|
154
|
+
| `client.hedera` | Hedera-specific transaction preparation (HCS topics, KYC, wipe) |
|
|
155
|
+
| `client.hedera.tss` | Hedera TSS immediate-execute (cluster signs + submits in one call) |
|
|
156
|
+
| `client.xrpl` | XRPL-specific transaction preparation (trust lines) |
|
|
157
|
+
| `client.solana` | Solana-specific transaction preparation (close-account) |
|
|
158
|
+
| `client.polkadot` | Polkadot-specific transaction preparation (asset setTeam/setMetadata) |
|
|
159
|
+
| `client.snapshots` | Token holder snapshot generation and retrieval |
|
|
160
|
+
| `client.historicalBalance` | Historical balance archive reads |
|
|
161
|
+
| `client.settlement` | Cross-chain settlement operations |
|
|
162
|
+
| `client.governance` | Governance proposal dry-run (simulate-only) |
|
|
163
|
+
| `client.dao` | DAO governance — DAOs, proposals, votes, treasury, members, dashboard |
|
|
164
|
+
| `client.personhood` | Personhood verification (HPP one-human-one-member) |
|
|
165
|
+
| `client.agents` | BaaS smart-agent lifecycle (register/fund/trade/withdraw/pause/resume/revoke) |
|
|
166
|
+
| `client.deployments` | BaaS smart-app deployment lifecycle (init/uploadFrontend/deploy/rollback/status) |
|
|
167
|
+
| `client.bridge` | Universal Token Bridge — port/return/claim across chains |
|
|
168
|
+
| `client.resources` | Network + per-app resource consumption (summary, history, ledger, nodes) |
|
|
169
|
+
| `client.envelope` | AES-256-GCM envelope encrypt/decrypt under the TSS-backed master KEK |
|
|
170
|
+
| `client.tokens` | Token migration — move existing tokens to TSS-controlled keys |
|
|
171
|
+
| `client.operator` | Operator account funding helpers (balance + top-up guidance) |
|
|
172
|
+
| `client.discovery` | Discovery — cluster registry + `client.discovery.platformImages` manifests |
|
|
173
|
+
|
|
174
|
+
### `baas.*` sub-clients on `BaasClient`
|
|
175
|
+
|
|
176
|
+
| Field | Purpose |
|
|
177
|
+
|---|---|
|
|
178
|
+
| `baas.db` | Trustless database with state proofs and Merkle verification |
|
|
179
|
+
| `baas.storage` | Decentralized file storage |
|
|
180
|
+
| `baas.functions` | Serverless function deployment and invocation |
|
|
181
|
+
| `baas.messaging` | Real-time pub/sub messaging with channels, history, presence |
|
|
182
|
+
| `baas.deployment` | App deployment lifecycle (init/uploadFrontend/deploy/rollback/...) |
|
|
183
|
+
| `baas.agents` | Autonomous smart-agent management |
|
|
184
|
+
| `baas.customerSession` | Customer→smart-app session bridge (TokenGate Face B) |
|
|
185
|
+
| `baas.rules` | Publish / get / list / simulate / deprecate canonical `ValidatorRules` documents on HCS |
|
|
186
|
+
| `baas.entities` | Create canonical token / account / topic / agent entities (plus launchpad mega-helper), each bound to a published `ruleRef` |
|
|
187
|
+
|
|
100
188
|
All clients accept the same `pathPrefix: '/host'` option when consumed via
|
|
101
189
|
the cluster gateway. Set `pathPrefix: ''` for direct host access.
|
|
102
190
|
|
|
@@ -268,15 +356,18 @@ await baas.deployment.rollback(init.appId, { toTag: 'v0' });
|
|
|
268
356
|
## Chain operations via `SmartEngineClient`
|
|
269
357
|
|
|
270
358
|
For direct chain operations independent of BaaS — e.g., a custodial backend
|
|
271
|
-
that creates accounts and tokens on behalf of users
|
|
359
|
+
that creates accounts and tokens on behalf of users — use the methods on the
|
|
360
|
+
`SmartEngineClient` returned by `connectToCluster`:
|
|
272
361
|
|
|
273
362
|
```ts
|
|
274
363
|
import { SmartEngineClient } from '@hsuite/smart-engines-sdk';
|
|
275
364
|
|
|
276
|
-
const client =
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
365
|
+
const { client } = await SmartEngineClient.connectToCluster({
|
|
366
|
+
network: 'testnet',
|
|
367
|
+
chain: 'xrpl',
|
|
368
|
+
address: wallet.address,
|
|
369
|
+
publicKey: wallet.publicKey,
|
|
370
|
+
signFn: async (challenge) => /* sign challenge */ '',
|
|
280
371
|
});
|
|
281
372
|
|
|
282
373
|
// Create an account on any supported chain
|
|
@@ -405,17 +496,23 @@ try {
|
|
|
405
496
|
|
|
406
497
|
## Bundle
|
|
407
498
|
|
|
408
|
-
The SDK
|
|
409
|
-
vendored in
|
|
499
|
+
The SDK ships as a single CJS bundle with workspace-only primitives
|
|
500
|
+
vendored in, plus subpath exports for the optional NestJS integration and
|
|
501
|
+
the customer-facing PQC verifiers. Build artifacts live under `dist/`:
|
|
410
502
|
|
|
411
503
|
```
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
504
|
+
dist/index.{js,d.ts} — main bundle + types
|
|
505
|
+
dist/nestjs/index.{js,d.ts} — NestJS integration (optional)
|
|
506
|
+
dist/pqc-verify/index.{js,d.ts} — PQC attestation verifier
|
|
507
|
+
dist/pqc-verify-envelope/index.{js,d.ts} — PQC envelope verifier
|
|
508
|
+
dist/ipfs-access-key/index.{js,d.ts} — IPFS access-key helper
|
|
509
|
+
dist/k8s-secret-reader/index.{js,d.ts} — k8s secret reader (NestJS)
|
|
417
510
|
```
|
|
418
511
|
|
|
512
|
+
The PQC and k8s-secret-reader entries are subpath exports — import from
|
|
513
|
+
`@hsuite/smart-engines-sdk/pqc-verify` etc. so callers that don't need
|
|
514
|
+
`@noble/post-quantum` (~120 KB compressed) don't pull it in.
|
|
515
|
+
|
|
419
516
|
---
|
|
420
517
|
|
|
421
518
|
## License
|
package/dist/index.d.ts
CHANGED
|
@@ -1866,12 +1866,15 @@ export type HttpClient = {
|
|
|
1866
1866
|
delete<T = any>(path: string): Promise<T>;
|
|
1867
1867
|
getText(path: string): Promise<string>;
|
|
1868
1868
|
upload<T = any>(path: string, file: Blob | Buffer, filename: string, metadata?: Record<string, string>, fieldName?: string): Promise<T>;
|
|
1869
|
+
setAuthToken(token: string | undefined): void;
|
|
1870
|
+
getAuthToken(): string | undefined;
|
|
1869
1871
|
};
|
|
1870
1872
|
export type HttpClientConfig = {
|
|
1871
1873
|
baseUrl: string;
|
|
1872
1874
|
authToken?: string;
|
|
1873
1875
|
apiKey?: string;
|
|
1874
1876
|
timeout?: number;
|
|
1877
|
+
onUnauthorized?: () => Promise<void>;
|
|
1875
1878
|
};
|
|
1876
1879
|
export declare class SdkHttpError extends Error {
|
|
1877
1880
|
readonly statusCode: number;
|
|
@@ -1958,10 +1961,49 @@ export declare class PlatformImagesClient {
|
|
|
1958
1961
|
}>;
|
|
1959
1962
|
verify(imageName: string, version: string, digest: string): Promise<DiscoveryVerifyResult>;
|
|
1960
1963
|
}
|
|
1964
|
+
export type NetworkName = "testnet" | "mainnet";
|
|
1965
|
+
export interface NetworkPreset {
|
|
1966
|
+
readonly bootstrap: readonly string[];
|
|
1967
|
+
}
|
|
1968
|
+
export declare const KNOWN_NETWORKS: Readonly<Record<NetworkName, NetworkPreset>>;
|
|
1969
|
+
export declare function resolveNetwork(name: NetworkName): NetworkPreset;
|
|
1970
|
+
export declare function isKnownNetwork(name: string): name is NetworkName;
|
|
1971
|
+
export type ResolveClusterSeed = {
|
|
1972
|
+
bootstrap?: string[];
|
|
1973
|
+
network?: NetworkName;
|
|
1974
|
+
};
|
|
1975
|
+
export type ResolveClusterTrustAnchor = {
|
|
1976
|
+
network: "mainnet" | "testnet" | "previewnet";
|
|
1977
|
+
registryTopicId: string;
|
|
1978
|
+
mirrorNodeUrl?: string;
|
|
1979
|
+
};
|
|
1980
|
+
export type ResolveClusterConfig = ResolveClusterSeed & {
|
|
1981
|
+
allowInsecure?: boolean;
|
|
1982
|
+
trustAnchor?: ResolveClusterTrustAnchor;
|
|
1983
|
+
};
|
|
1984
|
+
export type ResolveClusterFailure = "no-seeds" | "no-clusters";
|
|
1985
|
+
export type ResolveClusterResult = {
|
|
1986
|
+
ok: true;
|
|
1987
|
+
cluster: ClusterInfo;
|
|
1988
|
+
} | {
|
|
1989
|
+
ok: false;
|
|
1990
|
+
reason: ResolveClusterFailure;
|
|
1991
|
+
};
|
|
1992
|
+
declare function resolveClusterEndpoint(config: ResolveClusterConfig): Promise<ResolveClusterResult>;
|
|
1961
1993
|
export type AuthChain = "hedera" | "xrpl" | "polkadot" | "stellar" | "solana";
|
|
1962
1994
|
export interface SecurityConfig {
|
|
1963
1995
|
allowInsecure?: boolean;
|
|
1964
1996
|
}
|
|
1997
|
+
export type HederaSigner = {
|
|
1998
|
+
sign(message: Uint8Array): Uint8Array | Buffer | {
|
|
1999
|
+
toBytes(): Uint8Array;
|
|
2000
|
+
};
|
|
2001
|
+
};
|
|
2002
|
+
export type XrplSigner = {
|
|
2003
|
+
sign(message: string): string | {
|
|
2004
|
+
signedTransaction: string;
|
|
2005
|
+
};
|
|
2006
|
+
};
|
|
1965
2007
|
export interface ChallengeResponse {
|
|
1966
2008
|
success: boolean;
|
|
1967
2009
|
challenge: string;
|
|
@@ -2009,8 +2051,8 @@ export declare class ValidatorAuthClient {
|
|
|
2009
2051
|
requestChallenge(validatorUrl: string, chain: AuthChain, address: string): Promise<ChallengeResponse>;
|
|
2010
2052
|
authenticate(validatorUrl: string, request: AuthenticateRequest): Promise<AuthenticateResponse>;
|
|
2011
2053
|
getSession(validatorUrl: string, token: string): Promise<SessionInfo>;
|
|
2012
|
-
signChallengeHedera(challenge: string, privateKey:
|
|
2013
|
-
signChallengeXRPL(challenge: string, wallet:
|
|
2054
|
+
signChallengeHedera(challenge: string, privateKey: HederaSigner): string;
|
|
2055
|
+
signChallengeXRPL(challenge: string, wallet: XrplSigner): string;
|
|
2014
2056
|
authenticateWithSigner(validatorUrl: string, chain: AuthChain, address: string, publicKey: string, signFn: (challenge: string) => string | Promise<string>, metadata?: AuthenticateRequest["metadata"]): Promise<AuthenticateResponse>;
|
|
2015
2057
|
}
|
|
2016
2058
|
export declare class ValidatorAuthError extends Error {
|
|
@@ -2026,33 +2068,6 @@ export type Web3Signer = {
|
|
|
2026
2068
|
wallet: Wallet;
|
|
2027
2069
|
};
|
|
2028
2070
|
export declare function createXrplWeb3Signer(seed: string): Web3Signer;
|
|
2029
|
-
interface RetryConfig$1 {
|
|
2030
|
-
maxRetries: number;
|
|
2031
|
-
initialDelayMs: number;
|
|
2032
|
-
maxDelayMs: number;
|
|
2033
|
-
backoffMultiplier: number;
|
|
2034
|
-
jitterFactor?: number;
|
|
2035
|
-
}
|
|
2036
|
-
export declare const DEFAULT_RETRY_CONFIG: RetryConfig$1;
|
|
2037
|
-
export interface ResilientHttpConfig {
|
|
2038
|
-
timeoutMs?: number;
|
|
2039
|
-
retry?: Partial<RetryConfig$1>;
|
|
2040
|
-
circuitBreaker?: Partial<CircuitBreakerConfig> | false;
|
|
2041
|
-
onRetry?: (attempt: number, delay: number, status?: number) => void;
|
|
2042
|
-
onCircuitBreakerStateChange?: (state: "closed" | "open" | "half_open") => void;
|
|
2043
|
-
}
|
|
2044
|
-
export declare function resilientFetch(url: string, init?: RequestInit, config?: ResilientHttpConfig): Promise<Response>;
|
|
2045
|
-
export declare function createResilientFetchWithBreaker(config?: ResilientHttpConfig): {
|
|
2046
|
-
fetch: (url: string, init?: RequestInit) => Promise<Response>;
|
|
2047
|
-
getCircuitBreakerSnapshot: () => CircuitBreakerSnapshot | null;
|
|
2048
|
-
};
|
|
2049
|
-
export type NetworkName = "testnet" | "mainnet";
|
|
2050
|
-
export interface NetworkPreset {
|
|
2051
|
-
readonly bootstrap: readonly string[];
|
|
2052
|
-
}
|
|
2053
|
-
export declare const KNOWN_NETWORKS: Readonly<Record<NetworkName, NetworkPreset>>;
|
|
2054
|
-
export declare function resolveNetwork(name: NetworkName): NetworkPreset;
|
|
2055
|
-
export declare function isKnownNetwork(name: string): name is NetworkName;
|
|
2056
2071
|
export type SubscriptionTierName = "free_testnet" | "starter" | "professional" | "enterprise";
|
|
2057
2072
|
export type SubscriptionStatus = "pending_deposit" | "deposit_confirmed" | "active" | "expired" | "cancelled";
|
|
2058
2073
|
export type DepositWalletStatus = "pending" | "locked" | "expired" | "slashed" | "released";
|
|
@@ -2104,6 +2119,13 @@ export type SubscriptionStatusResponse = {
|
|
|
2104
2119
|
lockedUntil?: string;
|
|
2105
2120
|
};
|
|
2106
2121
|
subscriptionNftSerial?: number;
|
|
2122
|
+
chainNfts?: {
|
|
2123
|
+
xrpl?: {
|
|
2124
|
+
nftId?: string;
|
|
2125
|
+
issuerAddress?: string;
|
|
2126
|
+
offerTxId?: string;
|
|
2127
|
+
};
|
|
2128
|
+
} & Record<string, unknown>;
|
|
2107
2129
|
expiresAt?: string;
|
|
2108
2130
|
remainingBalance?: string;
|
|
2109
2131
|
createdAt?: string;
|
|
@@ -2290,6 +2312,48 @@ export declare class SubscriptionClient {
|
|
|
2290
2312
|
getBilling(appId: string, options?: GetBillingOptions): Promise<SubscriptionBillingResponse>;
|
|
2291
2313
|
mintCustomer(request: MintCustomerSubscriptionRequest): Promise<MintCustomerSubscriptionResponse>;
|
|
2292
2314
|
}
|
|
2315
|
+
export type FaucetChallenge = {
|
|
2316
|
+
challengeId: string;
|
|
2317
|
+
message: string;
|
|
2318
|
+
expiresInSeconds: number;
|
|
2319
|
+
};
|
|
2320
|
+
export type FaucetDispenseRequest = {
|
|
2321
|
+
chain: string;
|
|
2322
|
+
recipientAddress: string;
|
|
2323
|
+
challengeId: string;
|
|
2324
|
+
signature: string;
|
|
2325
|
+
publicKey?: string;
|
|
2326
|
+
};
|
|
2327
|
+
export type FaucetDispensed = {
|
|
2328
|
+
status: "dispensed";
|
|
2329
|
+
amount: string;
|
|
2330
|
+
txHash: string;
|
|
2331
|
+
remainingDailyAllowance: string;
|
|
2332
|
+
};
|
|
2333
|
+
export type FaucetTrustlineRequired = {
|
|
2334
|
+
status: "trustline_required";
|
|
2335
|
+
trustLine: {
|
|
2336
|
+
currency: string;
|
|
2337
|
+
issuer: string;
|
|
2338
|
+
limit: string;
|
|
2339
|
+
};
|
|
2340
|
+
};
|
|
2341
|
+
export type FaucetRateLimited = {
|
|
2342
|
+
status: "rate_limited";
|
|
2343
|
+
retryAfterSeconds: number;
|
|
2344
|
+
};
|
|
2345
|
+
export type FaucetDispenseResult = FaucetDispensed | FaucetTrustlineRequired | FaucetRateLimited;
|
|
2346
|
+
export type FaucetStatusResponse = {
|
|
2347
|
+
dispensedToday: string;
|
|
2348
|
+
[key: string]: unknown;
|
|
2349
|
+
};
|
|
2350
|
+
export declare class FaucetClient {
|
|
2351
|
+
private readonly http;
|
|
2352
|
+
constructor(http: HttpClient);
|
|
2353
|
+
requestChallenge(chain: string, recipientAddress: string): Promise<FaucetChallenge>;
|
|
2354
|
+
dispense(req: FaucetDispenseRequest): Promise<FaucetDispenseResult>;
|
|
2355
|
+
getStatus(chain: string, recipientAddress: string): Promise<FaucetStatusResponse>;
|
|
2356
|
+
}
|
|
2293
2357
|
export type EntityType = "account" | "token" | "topic";
|
|
2294
2358
|
export type EntityCreationOptions = {
|
|
2295
2359
|
entityType: EntityType;
|
|
@@ -2890,7 +2954,7 @@ export type PrepareTokenWipeRequest = {
|
|
|
2890
2954
|
export declare class HederaTransactionsClient {
|
|
2891
2955
|
private readonly http;
|
|
2892
2956
|
readonly tss: HederaTssClient;
|
|
2893
|
-
constructor(http: HttpClient, tssHttp
|
|
2957
|
+
constructor(http: HttpClient, tssHttp: HttpClient);
|
|
2894
2958
|
prepareTopicCreate(request: PrepareTopicCreateRequest): Promise<PreparedTransaction>;
|
|
2895
2959
|
prepareTopicMessage(request: PrepareTopicMessageRequest): Promise<PreparedTransaction>;
|
|
2896
2960
|
prepareTokenComplianceEnable(request: PrepareTokenComplianceEnableRequest): Promise<PreparedTransaction>;
|
|
@@ -3809,7 +3873,6 @@ export type BaasClientConfig = {
|
|
|
3809
3873
|
services?: BaasService[];
|
|
3810
3874
|
timeout?: number;
|
|
3811
3875
|
allowInsecure?: boolean;
|
|
3812
|
-
http?: ResilientHttpConfig;
|
|
3813
3876
|
pathPrefix?: string;
|
|
3814
3877
|
};
|
|
3815
3878
|
export type BaasChallengeRequest = {
|
|
@@ -4076,6 +4139,7 @@ export type BaasDeployRequest = {
|
|
|
4076
4139
|
tag: string;
|
|
4077
4140
|
port?: number;
|
|
4078
4141
|
replicas?: number;
|
|
4142
|
+
degree?: number;
|
|
4079
4143
|
env?: Record<string, string>;
|
|
4080
4144
|
resources?: {
|
|
4081
4145
|
cpu?: string;
|
|
@@ -4423,18 +4487,6 @@ export type TokenMigrationsForTokenResponse = {
|
|
|
4423
4487
|
migrations: TokenMigrationStatus[];
|
|
4424
4488
|
count: number;
|
|
4425
4489
|
};
|
|
4426
|
-
export type TokenDetailsResponse = {
|
|
4427
|
-
chain: string;
|
|
4428
|
-
tokenId: string;
|
|
4429
|
-
name?: string;
|
|
4430
|
-
symbol?: string;
|
|
4431
|
-
totalSupply?: string;
|
|
4432
|
-
adminKey?: string | null;
|
|
4433
|
-
supplyKey?: string | null;
|
|
4434
|
-
tssControlled?: boolean;
|
|
4435
|
-
entityId?: string;
|
|
4436
|
-
message?: string;
|
|
4437
|
-
};
|
|
4438
4490
|
export declare class TokensClient {
|
|
4439
4491
|
private readonly http;
|
|
4440
4492
|
constructor(http: HttpClient);
|
|
@@ -4444,7 +4496,6 @@ export declare class TokensClient {
|
|
|
4444
4496
|
error: string;
|
|
4445
4497
|
}>;
|
|
4446
4498
|
getMigrationsForToken(tokenId: string): Promise<TokenMigrationsForTokenResponse>;
|
|
4447
|
-
getDetails(chain: string, tokenId: string): Promise<TokenDetailsResponse>;
|
|
4448
4499
|
}
|
|
4449
4500
|
export type OperatorChain = "hedera";
|
|
4450
4501
|
export type OperatorTokenBalance = {
|
|
@@ -4479,7 +4530,6 @@ export interface SmartEngineClientConfig {
|
|
|
4479
4530
|
authToken?: string;
|
|
4480
4531
|
timeout?: number;
|
|
4481
4532
|
allowInsecure?: boolean;
|
|
4482
|
-
http?: ResilientHttpConfig;
|
|
4483
4533
|
}
|
|
4484
4534
|
export interface NetworkConnectionConfig {
|
|
4485
4535
|
network: "mainnet" | "testnet" | "previewnet";
|
|
@@ -4536,6 +4586,7 @@ export declare class SmartEngineClient {
|
|
|
4536
4586
|
private readonly txHttp;
|
|
4537
4587
|
private lastHttpError?;
|
|
4538
4588
|
readonly subscription: SubscriptionClient;
|
|
4589
|
+
readonly faucet: FaucetClient;
|
|
4539
4590
|
readonly tss: TSSClient;
|
|
4540
4591
|
readonly ipfs: IPFSClient;
|
|
4541
4592
|
readonly transactions: TransactionsClient;
|
|
@@ -5131,6 +5182,26 @@ export declare class SmartGatewayClient {
|
|
|
5131
5182
|
getMetrics(refresh?: boolean): Promise<GatewayMetricsResponse>;
|
|
5132
5183
|
getMetricsSummary(): Promise<GatewayMetricsSummaryResponse>;
|
|
5133
5184
|
}
|
|
5185
|
+
interface RetryConfig$1 {
|
|
5186
|
+
maxRetries: number;
|
|
5187
|
+
initialDelayMs: number;
|
|
5188
|
+
maxDelayMs: number;
|
|
5189
|
+
backoffMultiplier: number;
|
|
5190
|
+
jitterFactor?: number;
|
|
5191
|
+
}
|
|
5192
|
+
export declare const DEFAULT_RETRY_CONFIG: RetryConfig$1;
|
|
5193
|
+
export interface ResilientHttpConfig {
|
|
5194
|
+
timeoutMs?: number;
|
|
5195
|
+
retry?: Partial<RetryConfig$1>;
|
|
5196
|
+
circuitBreaker?: Partial<CircuitBreakerConfig> | false;
|
|
5197
|
+
onRetry?: (attempt: number, delay: number, status?: number) => void;
|
|
5198
|
+
onCircuitBreakerStateChange?: (state: "closed" | "open" | "half_open") => void;
|
|
5199
|
+
}
|
|
5200
|
+
export declare function resilientFetch(url: string, init?: RequestInit, config?: ResilientHttpConfig): Promise<Response>;
|
|
5201
|
+
export declare function createResilientFetchWithBreaker(config?: ResilientHttpConfig): {
|
|
5202
|
+
fetch: (url: string, init?: RequestInit) => Promise<Response>;
|
|
5203
|
+
getCircuitBreakerSnapshot: () => CircuitBreakerSnapshot | null;
|
|
5204
|
+
};
|
|
5134
5205
|
declare function formatHederaAccountId(id: string): string;
|
|
5135
5206
|
declare function parseHbar(amount: string): number;
|
|
5136
5207
|
declare function hbarToTinybars(hbar: string | number): string;
|
|
@@ -5224,7 +5295,6 @@ export declare class StorageClient {
|
|
|
5224
5295
|
delete(cid: string): Promise<{
|
|
5225
5296
|
success: boolean;
|
|
5226
5297
|
}>;
|
|
5227
|
-
getFile(cid: string): Promise<BaasFileInfo>;
|
|
5228
5298
|
listFiles(pagination?: {
|
|
5229
5299
|
limit?: number;
|
|
5230
5300
|
offset?: number;
|
|
@@ -25072,9 +25142,9 @@ export declare class BaasClient {
|
|
|
25072
25142
|
private appId;
|
|
25073
25143
|
private readonly timeout;
|
|
25074
25144
|
private readonly allowInsecure;
|
|
25075
|
-
private authToken;
|
|
25076
25145
|
private readonly http;
|
|
25077
25146
|
private lastHttpError?;
|
|
25147
|
+
private authContext?;
|
|
25078
25148
|
readonly db: DatabaseClient;
|
|
25079
25149
|
readonly storage: StorageClient;
|
|
25080
25150
|
readonly functions: FunctionsClient;
|
|
@@ -25096,13 +25166,10 @@ export declare class BaasClient {
|
|
|
25096
25166
|
};
|
|
25097
25167
|
private requireAppId;
|
|
25098
25168
|
authenticate(options: AuthenticateOptions): Promise<BaasAuthResult>;
|
|
25169
|
+
private reauthenticate;
|
|
25099
25170
|
validateSession(): Promise<BaasSessionInfo>;
|
|
25100
25171
|
logout(): Promise<void>;
|
|
25101
25172
|
private requireAuth;
|
|
25102
|
-
private getHeaders;
|
|
25103
|
-
private post;
|
|
25104
|
-
private get;
|
|
25105
|
-
private request;
|
|
25106
25173
|
}
|
|
25107
25174
|
export declare class BaasError extends Error {
|
|
25108
25175
|
readonly statusCode: number;
|
|
@@ -25202,7 +25269,7 @@ export type VerifyResult = {
|
|
|
25202
25269
|
readonly thresholdMet?: boolean;
|
|
25203
25270
|
};
|
|
25204
25271
|
export declare function verifyPqcAttestation(cert: unknown, payload: unknown, registrySnapshot?: ValidatorRegistrySnapshot): Promise<VerifyResult>;
|
|
25205
|
-
export type EnvelopeVersionLiteral = "kyber-aes-v1"
|
|
25272
|
+
export type EnvelopeVersionLiteral = "kyber-aes-v1";
|
|
25206
25273
|
export type SchemaValidationResult = {
|
|
25207
25274
|
ok: true;
|
|
25208
25275
|
version: EnvelopeVersionLiteral;
|
|
@@ -25261,10 +25328,10 @@ declare namespace pqcVerifyEnvelope {
|
|
|
25261
25328
|
export { EnvelopeVerificationResult, EnvelopeVersionLiteral, KYBER_MIN_TIMESTAMP_MS, SchemaValidationResult, VerificationDetails, VerifyEnvelopeOptions, validateEnvelopeSchema, verifyPqcEnvelope };
|
|
25262
25329
|
}
|
|
25263
25330
|
declare namespace discovery {
|
|
25264
|
-
export { ClusterDiscoveryClient, ClusterDiscoveryConfig, ClusterEndpointsView, ClusterInfo, DiscoveryClient, DiscoveryClusterEndpoints, DiscoveryClusterRecord, DiscoveryNodeRecord, DiscoveryPlatformImageEnvelope, DiscoveryPlatformImageManifest, DiscoveryVerifyResult, MIRROR_NODE_URLS, MirrorNodeClient, MirrorNodeConfig, MirrorNodeError, PlatformImagesClient, TopicMessage, TopicMessagesResponse, ValidatorDiscoveryClient, ValidatorDiscoveryConfig, ValidatorInfo, ValidatorMetadata, ValidatorNetworkEndpoints };
|
|
25331
|
+
export { ClusterDiscoveryClient, ClusterDiscoveryConfig, ClusterEndpointsView, ClusterInfo, DiscoveryClient, DiscoveryClusterEndpoints, DiscoveryClusterRecord, DiscoveryNodeRecord, DiscoveryPlatformImageEnvelope, DiscoveryPlatformImageManifest, DiscoveryVerifyResult, MIRROR_NODE_URLS, MirrorNodeClient, MirrorNodeConfig, MirrorNodeError, PlatformImagesClient, ResolveClusterConfig, ResolveClusterFailure, ResolveClusterResult, ResolveClusterSeed, ResolveClusterTrustAnchor, TopicMessage, TopicMessagesResponse, ValidatorDiscoveryClient, ValidatorDiscoveryConfig, ValidatorInfo, ValidatorMetadata, ValidatorNetworkEndpoints, resolveClusterEndpoint };
|
|
25265
25332
|
}
|
|
25266
25333
|
declare namespace auth {
|
|
25267
|
-
export { AuthChain, AuthenticateRequest, AuthenticateResponse, ChallengeResponse, SecurityConfig, SessionInfo, ValidatorAuthClient, ValidatorAuthConfig, ValidatorAuthError, Web3Signer, createXrplWeb3Signer };
|
|
25334
|
+
export { AuthChain, AuthenticateRequest, AuthenticateResponse, ChallengeResponse, HederaSigner, SecurityConfig, SessionInfo, ValidatorAuthClient, ValidatorAuthConfig, ValidatorAuthError, Web3Signer, XrplSigner, createXrplWeb3Signer };
|
|
25268
25335
|
}
|
|
25269
25336
|
declare namespace chains {
|
|
25270
25337
|
export { bitcoin, hedera, polkadot, solana, stellar, xrpl };
|
|
@@ -25272,6 +25339,9 @@ declare namespace chains {
|
|
|
25272
25339
|
declare namespace subscription {
|
|
25273
25340
|
export { ActiveSubscriptionForWalletResponse, BalanceResponse, CancelTierChangeRequest, CancelTierChangeResponse, DepositWalletStatus, DowngradeSubscriptionRequest, DowngradeSubscriptionResponse, GetBillingOptions, MintCustomerSubscriptionRequest, MintCustomerSubscriptionResponse, MintNftResponse, PendingTierChange, SubscriptionBillingLedgerEntry, SubscriptionBillingResponse, SubscriptionClient, SubscriptionConfig, SubscriptionListResponse, SubscriptionRenewalRequest, SubscriptionRenewalResponse, SubscriptionRequest, SubscriptionResponse, SubscriptionStatus, SubscriptionStatusResponse, SubscriptionTierInfo, SubscriptionTierName, SubscriptionUsageStatusResponse, SubscriptionUsageSummaryResponse, UpgradeSubscriptionRequest, UpgradeSubscriptionResponse };
|
|
25274
25341
|
}
|
|
25342
|
+
declare namespace faucet {
|
|
25343
|
+
export { FaucetChallenge, FaucetClient, FaucetDispenseRequest, FaucetDispenseResult, FaucetDispensed, FaucetRateLimited, FaucetStatusResponse, FaucetTrustlineRequired };
|
|
25344
|
+
}
|
|
25275
25345
|
declare namespace bridge {
|
|
25276
25346
|
export { BridgeChain, BridgeClaimRecord, BridgeClaimStatus, BridgeClient, BridgeConfig, BridgeDestinationConfig, BridgeDirection, BridgeGenesisBinding, BridgeMode, BridgeOperationConfig, BridgeRulesConfig, BridgeSourceConfig, BridgeStatus, BridgeSupply, BridgeTrustLevel, CreateBridgeRequest, CreateBridgeResponse, ListBridgesOptions, ListBridgesResponse, ListClaimsOptions, ListClaimsResponse, PortRequest, PortResult, ReturnRequest };
|
|
25277
25347
|
}
|
|
@@ -25282,7 +25352,7 @@ declare namespace envelope {
|
|
|
25282
25352
|
export { DecryptRequest, DecryptResponse, EncryptRequest, EncryptResponse, EncryptedEnvelope, EnvelopeClient };
|
|
25283
25353
|
}
|
|
25284
25354
|
declare namespace tokens {
|
|
25285
|
-
export { ListMigrationsResponse,
|
|
25355
|
+
export { ListMigrationsResponse, TokenMigrationChain, TokenMigrationRequest, TokenMigrationResponse, TokenMigrationStatus, TokenMigrationStatusValue, TokenMigrationsForTokenResponse, TokensClient };
|
|
25286
25356
|
}
|
|
25287
25357
|
declare namespace operator {
|
|
25288
25358
|
export { OperatorBalanceResponse, OperatorChain, OperatorClient, OperatorTokenBalance, OperatorTopUpResponse };
|
|
@@ -25316,6 +25386,7 @@ export {
|
|
|
25316
25386
|
dao,
|
|
25317
25387
|
discovery,
|
|
25318
25388
|
envelope,
|
|
25389
|
+
faucet,
|
|
25319
25390
|
governance,
|
|
25320
25391
|
operator,
|
|
25321
25392
|
personhood,
|