@parity/dotns-cli 0.7.5 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/bulletin/cid.d.ts +14 -0
  2. package/dist/bulletin/cid.d.ts.map +1 -0
  3. package/dist/bulletin/cidHistory.d.ts +9 -0
  4. package/dist/bulletin/cidHistory.d.ts.map +1 -0
  5. package/dist/bulletin/heliaClient.d.ts +16 -0
  6. package/dist/bulletin/heliaClient.d.ts.map +1 -0
  7. package/dist/bulletin/ipfs.d.ts +6 -0
  8. package/dist/bulletin/ipfs.d.ts.map +1 -0
  9. package/dist/bulletin/store.d.ts +60 -0
  10. package/dist/bulletin/store.d.ts.map +1 -0
  11. package/dist/bulletin/uploadManifest.d.ts +9 -0
  12. package/dist/bulletin/uploadManifest.d.ts.map +1 -0
  13. package/dist/bulletin/uploadRetry.d.ts +22 -0
  14. package/dist/bulletin/uploadRetry.d.ts.map +1 -0
  15. package/dist/cli/commands/auth.d.ts +3 -0
  16. package/dist/cli/commands/auth.d.ts.map +1 -0
  17. package/dist/cli/commands/authOptions.d.ts +5 -0
  18. package/dist/cli/commands/authOptions.d.ts.map +1 -0
  19. package/dist/cli/commands/bulletin.d.ts +19 -0
  20. package/dist/cli/commands/bulletin.d.ts.map +1 -0
  21. package/dist/cli/commands/content.d.ts +3 -0
  22. package/dist/cli/commands/content.d.ts.map +1 -0
  23. package/dist/cli/commands/delegate.d.ts +3 -0
  24. package/dist/cli/commands/delegate.d.ts.map +1 -0
  25. package/dist/cli/commands/escrow.d.ts +3 -0
  26. package/dist/cli/commands/escrow.d.ts.map +1 -0
  27. package/dist/cli/commands/info.d.ts +3 -0
  28. package/dist/cli/commands/info.d.ts.map +1 -0
  29. package/dist/cli/commands/jsonHelpers.d.ts +46 -0
  30. package/dist/cli/commands/jsonHelpers.d.ts.map +1 -0
  31. package/dist/cli/commands/lookup.d.ts +7 -0
  32. package/dist/cli/commands/lookup.d.ts.map +1 -0
  33. package/dist/cli/commands/pop.d.ts +3 -0
  34. package/dist/cli/commands/pop.d.ts.map +1 -0
  35. package/dist/cli/commands/primary.d.ts +3 -0
  36. package/dist/cli/commands/primary.d.ts.map +1 -0
  37. package/dist/cli/commands/register.d.ts +52 -0
  38. package/dist/cli/commands/register.d.ts.map +1 -0
  39. package/dist/cli/commands/registerCommand.d.ts +9 -0
  40. package/dist/cli/commands/registerCommand.d.ts.map +1 -0
  41. package/dist/cli/commands/store.d.ts +3 -0
  42. package/dist/cli/commands/store.d.ts.map +1 -0
  43. package/dist/cli/commands/text.d.ts +3 -0
  44. package/dist/cli/commands/text.d.ts.map +1 -0
  45. package/dist/cli/context.d.ts +20 -0
  46. package/dist/cli/context.d.ts.map +1 -0
  47. package/dist/cli/env.d.ts +50 -0
  48. package/dist/cli/env.d.ts.map +1 -0
  49. package/dist/cli/exit.d.ts +5 -0
  50. package/dist/cli/exit.d.ts.map +1 -0
  51. package/dist/cli/index.d.ts +2 -0
  52. package/dist/cli/index.d.ts.map +1 -0
  53. package/dist/cli/io.d.ts +6 -0
  54. package/dist/cli/io.d.ts.map +1 -0
  55. package/dist/cli/keystore/crypto.d.ts +4 -0
  56. package/dist/cli/keystore/crypto.d.ts.map +1 -0
  57. package/dist/cli/keystore/file.d.ts +6 -0
  58. package/dist/cli/keystore/file.d.ts.map +1 -0
  59. package/dist/cli/keystore/payload.d.ts +16 -0
  60. package/dist/cli/keystore/payload.d.ts.map +1 -0
  61. package/dist/cli/keystore/types.d.ts +29 -0
  62. package/dist/cli/keystore/types.d.ts.map +1 -0
  63. package/dist/cli/labels.d.ts +3 -0
  64. package/dist/cli/labels.d.ts.map +1 -0
  65. package/dist/cli/program.d.ts +3 -0
  66. package/dist/cli/program.d.ts.map +1 -0
  67. package/dist/cli/qrSigner.d.ts +9 -0
  68. package/dist/cli/qrSigner.d.ts.map +1 -0
  69. package/dist/cli/reporter.d.ts +26 -0
  70. package/dist/cli/reporter.d.ts.map +1 -0
  71. package/dist/cli/transfer.d.ts +15 -0
  72. package/dist/cli/transfer.d.ts.map +1 -0
  73. package/dist/cli/txStatus.d.ts +4 -0
  74. package/dist/cli/txStatus.d.ts.map +1 -0
  75. package/dist/cli/ui.d.ts +4 -0
  76. package/dist/cli/ui.d.ts.map +1 -0
  77. package/dist/cli/views/escrow.d.ts +4 -0
  78. package/dist/cli/views/escrow.d.ts.map +1 -0
  79. package/dist/client/polkadotClient.d.ts +38 -0
  80. package/dist/client/polkadotClient.d.ts.map +1 -0
  81. package/dist/commands/accountChecks.d.ts +6 -0
  82. package/dist/commands/accountChecks.d.ts.map +1 -0
  83. package/dist/commands/auth.d.ts +8 -0
  84. package/dist/commands/auth.d.ts.map +1 -0
  85. package/dist/commands/bulletin.d.ts +19 -0
  86. package/dist/commands/bulletin.d.ts.map +1 -0
  87. package/dist/commands/contentHash.d.ts +15 -0
  88. package/dist/commands/contentHash.d.ts.map +1 -0
  89. package/dist/commands/delegate.d.ts +18 -0
  90. package/dist/commands/delegate.d.ts.map +1 -0
  91. package/dist/commands/escrow.d.ts +51 -0
  92. package/dist/commands/escrow.d.ts.map +1 -0
  93. package/dist/commands/lookup.d.ts +12 -0
  94. package/dist/commands/lookup.d.ts.map +1 -0
  95. package/dist/commands/register.d.ts +68 -0
  96. package/dist/commands/register.d.ts.map +1 -0
  97. package/dist/commands/registrationManifest.d.ts +68 -0
  98. package/dist/commands/registrationManifest.d.ts.map +1 -0
  99. package/dist/commands/resolverAuth.d.ts +10 -0
  100. package/dist/commands/resolverAuth.d.ts.map +1 -0
  101. package/dist/commands/reverseRecord.d.ts +9 -0
  102. package/dist/commands/reverseRecord.d.ts.map +1 -0
  103. package/dist/commands/storeManagement.d.ts +17 -0
  104. package/dist/commands/storeManagement.d.ts.map +1 -0
  105. package/dist/commands/textRecord.d.ts +17 -0
  106. package/dist/commands/textRecord.d.ts.map +1 -0
  107. package/dist/core/bulletin.d.ts +4 -0
  108. package/dist/core/bulletin.d.ts.map +1 -0
  109. package/dist/core/bulletin.js +38654 -0
  110. package/dist/core/context.d.ts +43 -0
  111. package/dist/core/context.d.ts.map +1 -0
  112. package/dist/core/index.d.ts +27 -0
  113. package/dist/core/index.d.ts.map +1 -0
  114. package/dist/core/index.js +20017 -0
  115. package/dist/core/keyring.d.ts +10 -0
  116. package/dist/core/keyring.d.ts.map +1 -0
  117. package/dist/core/keyring.js +18114 -0
  118. package/dist/simpleExamples/00_shared.d.ts +21 -0
  119. package/dist/simpleExamples/00_shared.d.ts.map +1 -0
  120. package/dist/simpleExamples/01_info.d.ts +2 -0
  121. package/dist/simpleExamples/01_info.d.ts.map +1 -0
  122. package/dist/simpleExamples/02_register_regular.d.ts +2 -0
  123. package/dist/simpleExamples/02_register_regular.d.ts.map +1 -0
  124. package/dist/simpleExamples/03_register_governance.d.ts +2 -0
  125. package/dist/simpleExamples/03_register_governance.d.ts.map +1 -0
  126. package/dist/simpleExamples/04_lookup_and_list.d.ts +2 -0
  127. package/dist/simpleExamples/04_lookup_and_list.d.ts.map +1 -0
  128. package/dist/simpleExamples/05_set_content_and_transfer.d.ts +2 -0
  129. package/dist/simpleExamples/05_set_content_and_transfer.d.ts.map +1 -0
  130. package/dist/simpleExamples/06_upload_to_bulletin.d.ts +2 -0
  131. package/dist/simpleExamples/06_upload_to_bulletin.d.ts.map +1 -0
  132. package/dist/types/types.d.ts +952 -0
  133. package/dist/types/types.d.ts.map +1 -0
  134. package/dist/utils/address.d.ts +2 -0
  135. package/dist/utils/address.d.ts.map +1 -0
  136. package/dist/utils/constants.d.ts +179 -0
  137. package/dist/utils/constants.d.ts.map +1 -0
  138. package/dist/utils/contractInteractions.d.ts +12 -0
  139. package/dist/utils/contractInteractions.d.ts.map +1 -0
  140. package/dist/utils/formatting.d.ts +11 -0
  141. package/dist/utils/formatting.d.ts.map +1 -0
  142. package/dist/utils/validation.d.ts +10 -0
  143. package/dist/utils/validation.d.ts.map +1 -0
  144. package/package.json +12 -6
@@ -0,0 +1,952 @@
1
+ import type { Address, Hex } from "viem";
2
+ import type { StoredAuth } from "../cli/keystore/types";
3
+ import type { PolkadotClient, PolkadotSigner, TypedApi } from "polkadot-api";
4
+ import type { ReviveClientWrapper, PolkadotApiClient } from "../client/polkadotClient";
5
+ import type { Bulletin } from "@polkadot-api/descriptors";
6
+ export declare enum ProofOfPersonhoodStatus {
7
+ NoStatus = 0,
8
+ ProofOfPersonhoodLite = 1,
9
+ ProofOfPersonhoodFull = 2,
10
+ Reserved = 3
11
+ }
12
+ export type DomainRegistration = {
13
+ /** Domain label without the .dot suffix (e.g., "example" for "example.dot") */
14
+ label: string;
15
+ /** Ethereum address (H160) that will own the domain */
16
+ owner: Address;
17
+ /** 32-byte cryptographic secret for commitment scheme */
18
+ secret: Hex;
19
+ /** Whether this registration includes reverse record setup */
20
+ reserved: boolean;
21
+ };
22
+ export type TransactionStatus = "signing" | "broadcasting" | "included" | "finalized" | "failed";
23
+ export type SubstrateWeight = {
24
+ /** Reference time in picoseconds */
25
+ referenceTime: bigint;
26
+ /** Proof size in bytes */
27
+ proofSize: bigint;
28
+ };
29
+ export type ReviveCallResult = {
30
+ /** Weight consumed during execution */
31
+ gasConsumed: SubstrateWeight;
32
+ /** Minimum weight required for successful execution */
33
+ gasRequired: SubstrateWeight;
34
+ /** Storage deposit charged or refunded */
35
+ storageDeposit: {
36
+ /** Deposit amount in planck (smallest native unit) */
37
+ value: bigint;
38
+ };
39
+ /** Execution outcome */
40
+ result: {
41
+ /** True if execution succeeded without revert */
42
+ isOk: boolean;
43
+ /** True if execution reverted or failed */
44
+ isErr: boolean;
45
+ /** Return data or revert reason */
46
+ value: {
47
+ /** ABI-encoded return data */
48
+ data: `0x${string}`;
49
+ /** EVM status flags (bit 0 = reverted) */
50
+ flags: bigint;
51
+ };
52
+ };
53
+ };
54
+ export type RegistrationCommandOptions = {
55
+ /** Domain label to register (without .dot) */
56
+ name?: string;
57
+ /** Parent domain label for subname registration (without .dot) */
58
+ parent?: string;
59
+ /** Proof of Personhood status requirement */
60
+ status: "none" | "lite" | "full";
61
+ /** Enable reverse record registration */
62
+ reverse: boolean;
63
+ /** Use governance registration path */
64
+ governance: boolean;
65
+ /** Transfer domain after registration */
66
+ transferAfterRegistration: boolean;
67
+ /** Transfer destination (EVM address, SS58, or domain label) */
68
+ transferTo?: string;
69
+ /** BIP39 mnemonic phrase for account derivation */
70
+ mnemonic?: string;
71
+ /** Substrate key URI (e.g., //Alice for dev accounts) */
72
+ keyUri?: string;
73
+ /** Owner of the new name, can be a substrate address, evm address, or label, undefined means the account making the call */
74
+ owner?: string | Address;
75
+ /** Extra seconds to wait after minCommitmentAge before attempting registration */
76
+ commitmentBuffer?: number;
77
+ /** On failure, resume from the cached commitment up to this many times */
78
+ retry?: number;
79
+ };
80
+ export type DomainOwnership = {
81
+ /** The label without the .dot */
82
+ label?: string;
83
+ /** The label with the .dot */
84
+ domain?: string;
85
+ /** Whether the domain is currently registered */
86
+ registered: boolean;
87
+ /** EVM address of the domain owner (H160 format) */
88
+ ownerEvm: string;
89
+ /** Substrate SS58 address of the domain owner */
90
+ ownerSubstrate: string;
91
+ };
92
+ export type AuthType = "mnemonic" | "key-uri" | "unknown";
93
+ export type AuthOptionValues = {
94
+ /** DotNS environment selector */
95
+ env?: string;
96
+ /** Alias for env */
97
+ network?: string;
98
+ /** WebSocket RPC endpoint URL */
99
+ rpc?: string;
100
+ /** Path to keystore directory */
101
+ keystorePath?: string;
102
+ /** Account name to use from keystore */
103
+ account?: string;
104
+ /** Password to decrypt keystore */
105
+ password?: string;
106
+ /** BIP39 mnemonic phrase for account derivation */
107
+ mnemonic?: string;
108
+ /** Substrate key URI (e.g., //Alice) */
109
+ keyUri?: string;
110
+ /** Signer backend: local keystore (default) or a QR-paired mobile wallet */
111
+ signer?: "keystore" | "qr";
112
+ /** App id used when pairing a QR mobile wallet */
113
+ qrAppId?: string;
114
+ /** QR pairing relay: a stage name (paseo|preview|stable) or wss URLs */
115
+ qrPeopleRpc?: string;
116
+ /** Force a fresh QR pairing instead of reusing the cached session */
117
+ qrFresh?: boolean;
118
+ };
119
+ export type AccountKeystorePayload = {
120
+ /** Schema version for future compatibility */
121
+ version: 1;
122
+ /** Account name (original, not sanitized for filename) */
123
+ account: string;
124
+ /** Stored authentication credentials */
125
+ auth: StoredAuth;
126
+ /** ISO timestamp of last update */
127
+ updatedAtIso: string;
128
+ };
129
+ export type CommandOptions = {
130
+ /** DotNS environment selector */
131
+ env?: string;
132
+ /** Alias for env */
133
+ network?: string;
134
+ /** Path to keystore directory */
135
+ keystorePath?: string;
136
+ /** Password to decrypt keystore */
137
+ password?: string;
138
+ /** Account name to use */
139
+ account?: string;
140
+ /** BIP39 mnemonic phrase */
141
+ mnemonic?: string;
142
+ /** Substrate key URI */
143
+ keyUri?: string;
144
+ };
145
+ export type BulletinReporterMode = "auto" | "interactive" | "stream" | "quiet";
146
+ export type KeystoreDirectoryInfo = {
147
+ /** Full path to the keystore directory */
148
+ directoryPath: string;
149
+ /** Whether the directory exists on disk */
150
+ exists: boolean;
151
+ /** Name of the default account (if set) */
152
+ defaultAccount?: string;
153
+ /** List of account filenames (e.g., ["default.json", "alice.json"]) */
154
+ accountFiles: string[];
155
+ };
156
+ export type ResolveSource = "cli" | "env" | "keystore" | "default";
157
+ export type ResolvedAuthSource = {
158
+ /** The mnemonic phrase or key URI to use */
159
+ source: string;
160
+ /** Whether source is a key URI (true) or mnemonic (false) */
161
+ isKeyUri: boolean;
162
+ /** Where the auth source was found */
163
+ resolvedFrom: ResolveSource;
164
+ /** The account name that was used */
165
+ account: string;
166
+ /** Credential used to encrypt local retry secrets for this resolved signer */
167
+ credential?: string;
168
+ };
169
+ export type BulletinUploadOptions = {
170
+ /** Bulletin WebSocket RPC endpoint */
171
+ bulletinRpc?: string;
172
+ /** Chunk size for large uploads in bytes (default: 2 MB, clamped to 256 KB–2 MB) */
173
+ chunkSize?: string;
174
+ /** Number of retry attempts after the initial upload attempt */
175
+ maxRetries?: string;
176
+ /** Force chunked upload mode (DAG-PB) */
177
+ forceChunked?: boolean;
178
+ /** Adaptive scheduler maximum window (default: 4, max: 4) */
179
+ concurrency?: string;
180
+ /** Print IPFS contenthash in addition to CID */
181
+ printContenthash?: boolean;
182
+ /** Resume a previously interrupted upload */
183
+ resume?: boolean;
184
+ /** Enable upload profiling and write a JSON report */
185
+ profileUpload?: boolean;
186
+ /** Explicit path for upload profiling JSON output */
187
+ profileOutput?: string;
188
+ /** Number of transactions to authorize */
189
+ transactions?: string;
190
+ /** Number of bytes to authorize */
191
+ bytes?: string;
192
+ /** Output as json */
193
+ json: boolean;
194
+ /** Whether to store the current upload to the local history db */
195
+ history: boolean;
196
+ /** Human-readable progress reporter mode */
197
+ reporter?: BulletinReporterMode;
198
+ /** Write the CID to the user's on-chain Store after upload */
199
+ cache?: boolean;
200
+ };
201
+ export type BulletinProgressPhase = "validate" | "authorize" | "refresh" | "upload" | "verify" | "cache";
202
+ export type BulletinProgressState = "start" | "update" | "success" | "warning" | "failure";
203
+ export type BulletinProgressEvent = {
204
+ /** High-level operation currently in progress */
205
+ phase: BulletinProgressPhase;
206
+ /** Lifecycle state for the phase */
207
+ state: BulletinProgressState;
208
+ /** Human-readable message */
209
+ message: string;
210
+ };
211
+ export type BulletinRetryEvent = {
212
+ /** Retry domain label */
213
+ label: string;
214
+ /** Zero-based retry index */
215
+ retry: number;
216
+ /** Total attempts including the initial attempt */
217
+ totalAttempts: number;
218
+ /** Delay before the next attempt in milliseconds */
219
+ delayMs: number;
220
+ /** Retryable failure summary */
221
+ errorMessage: string;
222
+ };
223
+ export type BulletinPhaseHandler = (event: BulletinProgressEvent) => void;
224
+ export type BulletinRetryHandler = (event: BulletinRetryEvent) => void;
225
+ export type BulletinStoreResult = {
226
+ /** Content identifier (CID) for the stored data */
227
+ cid: string;
228
+ /** Storage index assigned by TransactionStorage pallet */
229
+ storedIndex?: string;
230
+ /** Hash of the block containing the finalized store transaction */
231
+ blockHash?: string;
232
+ };
233
+ export type ChunkedStoreResult = {
234
+ /** Root CID of the DAG-PB merkle tree linking all chunks */
235
+ rootCid: string;
236
+ };
237
+ export type AccountInfoOptions = {
238
+ /** DotNS environment selector */
239
+ env?: string;
240
+ /** Alias for env */
241
+ network?: string;
242
+ /** WebSocket RPC endpoint URL */
243
+ rpc?: string;
244
+ };
245
+ export type NameClassificationLike = readonly [ProofOfPersonhoodStatus | number | bigint, string];
246
+ export type ReservationInfoLike = readonly [boolean, Address, bigint];
247
+ export type NameClassification = {
248
+ /** Proof-of-personhood status required to register the label */
249
+ requiredStatus: ProofOfPersonhoodStatus;
250
+ /** Human-readable explanation from PopRules */
251
+ message: string;
252
+ };
253
+ export type PricingAndEligibility = {
254
+ /** Price in wei (PAS smallest unit) returned by PopRules.price */
255
+ priceWei: bigint;
256
+ /** Price in wei (PAS smallest unit) returned by PopRules.price */
257
+ price: bigint;
258
+ /** Proof-of-personhood status required to register the label */
259
+ requiredStatus: ProofOfPersonhoodStatus;
260
+ /** Current user proof-of-personhood status from the personhood precompile */
261
+ status: ProofOfPersonhoodStatus;
262
+ /** Current user proof-of-personhood status from the personhood precompile */
263
+ userStatus: ProofOfPersonhoodStatus;
264
+ /** Human-readable explanation from PopRules */
265
+ message: string;
266
+ };
267
+ export type AuthorizeAccountOptions = {
268
+ /** Bulletin WebSocket RPC endpoint URL */
269
+ rpc: string;
270
+ /** Signer with Authorizer privileges */
271
+ signer: PolkadotSigner;
272
+ /** SS58 address of the account to authorize */
273
+ targetAddress: string;
274
+ /** Maximum number of store transactions allowed */
275
+ transactions?: number;
276
+ /** Maximum bytes allowed to store */
277
+ bytes?: bigint;
278
+ /** Bypass the existing authorization check and re-submit the extrinsic */
279
+ force?: boolean;
280
+ /** Optional human-readable progress callback */
281
+ onPhase?: BulletinPhaseHandler;
282
+ };
283
+ export type AuthorizationStatus = {
284
+ /** Whether an authorization entry exists in chain storage */
285
+ authorized: boolean;
286
+ /** Total transaction allowance granted by `authorize_account` */
287
+ transactions_allowance?: number;
288
+ /** Total byte allowance granted by `authorize_account` */
289
+ bytes_allowance?: bigint;
290
+ /** Block number at which the authorization expires */
291
+ expiration?: number;
292
+ /** Current chain block number at time of query */
293
+ currentBlock?: number;
294
+ /** Whether the current block has passed the expiration block */
295
+ expired?: boolean;
296
+ };
297
+ export type AuthorizeAccountResult = {
298
+ /** Transaction hash of the authorization extrinsic */
299
+ txHash: string;
300
+ /** Hash of the block containing the finalized transaction */
301
+ blockHash: string;
302
+ };
303
+ export type RefreshAccountAuthorizationOptions = {
304
+ /** Bulletin WebSocket RPC endpoint URL */
305
+ rpc: string;
306
+ /** Signer with Authorizer privileges */
307
+ signer: PolkadotSigner;
308
+ /** SS58 address of the account whose authorization should be refreshed */
309
+ targetAddress: string;
310
+ /** Optional human-readable progress callback */
311
+ onPhase?: BulletinPhaseHandler;
312
+ };
313
+ export type ValidatePathResult = {
314
+ /** File contents as bytes (empty for directories and deferred reads) */
315
+ bytes: Uint8Array;
316
+ /** Whether the path points to a directory */
317
+ isDirectory: boolean;
318
+ /** Absolute path after resolution */
319
+ resolvedPath: string;
320
+ /** File size in bytes (set when reading is deferred) */
321
+ fileSize?: number;
322
+ /** File mtime in milliseconds (set for files) */
323
+ fileMtimeMs?: number;
324
+ /** True when file reading was deferred due to large size */
325
+ deferredRead?: boolean;
326
+ };
327
+ export type StoreDirectoryResult = {
328
+ /** CID of the content stored on Bulletin */
329
+ cid: string;
330
+ };
331
+ export type UploadRetryOptions = {
332
+ /** Number of retry attempts after the initial upload attempt */
333
+ maxRetries?: number;
334
+ /** Callback emitted when a retryable upload error occurs */
335
+ onRetry?: BulletinRetryHandler;
336
+ };
337
+ export type UploadSingleBlockOptions = UploadRetryOptions & {
338
+ /** Optional human-readable progress callback */
339
+ onPhase?: BulletinPhaseHandler;
340
+ };
341
+ export type UploadChunkedBlocksOptions = UploadRetryOptions & {
342
+ /** Completed chunk metadata keyed by zero-based chunk index (resume support) */
343
+ completedBlocks?: Map<number, UploadManifestCompletedBlock>;
344
+ /** Maximum concurrent upload operations */
345
+ concurrency?: number;
346
+ /** Optional human-readable progress callback */
347
+ onPhase?: BulletinPhaseHandler;
348
+ /** Callback with adaptive scheduler state snapshots */
349
+ onSchedulerState?: (state: UploadSchedulerState) => void;
350
+ /** Callback emitted after each upload wave */
351
+ onWave?: (wave: UploadWaveSummary) => void;
352
+ };
353
+ export type StoreDirectoryOptions = UploadRetryOptions & {
354
+ accountAddress?: string;
355
+ concurrency?: number;
356
+ chunkSizeBytes?: number;
357
+ onPhase?: BulletinPhaseHandler;
358
+ verificationGateway?: string;
359
+ waitForFinalization?: boolean;
360
+ };
361
+ export type UploadRecord = {
362
+ /** Content identifier for the uploaded data */
363
+ cid: string;
364
+ /** Local filesystem path that was uploaded */
365
+ path: string;
366
+ /** Whether upload was a single file or directory */
367
+ type: "file" | "directory";
368
+ /** Size of uploaded content in bytes */
369
+ size: number;
370
+ /** ISO timestamp when upload completed */
371
+ timestamp: string;
372
+ };
373
+ export type VerificationResult = {
374
+ /** Content identifier that was verified */
375
+ cid: string;
376
+ /** Whether the CID was successfully resolved */
377
+ resolvable: boolean;
378
+ /** Gateway URL used for verification */
379
+ gateway: string;
380
+ /** HTTP status code from the gateway response */
381
+ statusCode?: number;
382
+ /** Error message if resolution failed */
383
+ errorMessage?: string;
384
+ };
385
+ export type HashingEnumVariant = {
386
+ type: "Sha2_256";
387
+ value: undefined;
388
+ } | {
389
+ type: "Blake2b256";
390
+ value: undefined;
391
+ } | {
392
+ type: "Keccak256";
393
+ value: undefined;
394
+ };
395
+ export type StoreContentParameters = {
396
+ /** Bulletin RPC endpoint URL */
397
+ rpc: string;
398
+ /** Signer for authorizing the storage transaction */
399
+ signer: PolkadotSigner;
400
+ /** Raw bytes of content to store */
401
+ contentBytes: Uint8Array;
402
+ /** Pre-computed CID for the content */
403
+ contentCid: string;
404
+ /** Codec identifier for CID computation */
405
+ codecValue: number;
406
+ /** Hash algorithm code for CID computation */
407
+ hashCodeValue: number;
408
+ /** Optional nonce for transaction ordering */
409
+ nonce?: number;
410
+ /** Callback for progress updates */
411
+ onProgress?: (status: string) => void;
412
+ /** Optional shared client — caller owns lifecycle when provided */
413
+ client?: PolkadotClient;
414
+ /** Optional timeout budget for a single store call */
415
+ storeTimeoutMs?: number;
416
+ /** If false, resolve on best-block inclusion instead of finalization. Default: true */
417
+ waitForFinalization?: boolean;
418
+ };
419
+ export type StoreSingleFileParameters = {
420
+ /** Bulletin RPC endpoint URL */
421
+ rpc: string;
422
+ /** Signer for authorizing the storage transaction */
423
+ signer: PolkadotSigner;
424
+ /** Raw bytes of file content to store */
425
+ contentBytes: Uint8Array;
426
+ /** Callback for progress updates */
427
+ onProgress?: (status: string) => void;
428
+ /** Optional shared client — caller owns lifecycle when provided */
429
+ client?: PolkadotClient;
430
+ /** If false, resolve on best-block inclusion instead of finalization. Default: false */
431
+ waitForFinalization?: boolean;
432
+ };
433
+ export type StoreChunkedFileParameters = {
434
+ /** Bulletin RPC endpoint URL */
435
+ rpc: string;
436
+ /** Signer for authorizing the storage transaction */
437
+ signer: PolkadotSigner;
438
+ /** Path to the file to stream from disk */
439
+ filePath: string;
440
+ /** Chunk size in bytes */
441
+ chunkSize: number;
442
+ /** Total file size for progress reporting */
443
+ fileSize: number;
444
+ /** SS58 address for nonce management in parallel wave uploads */
445
+ accountAddress: string;
446
+ /** Number of chunks to upload in parallel per wave */
447
+ concurrency?: number;
448
+ /** Callback for progress updates with chunk position */
449
+ onProgress?: (currentChunk: number, totalChunks: number, status: string) => void;
450
+ /** Callback with adaptive scheduler state snapshots */
451
+ onSchedulerState?: (state: UploadSchedulerState) => void;
452
+ /** Callback emitted after each upload wave */
453
+ onWave?: (wave: UploadWaveSummary) => void;
454
+ /** Optional shared client — caller owns lifecycle when provided */
455
+ client?: PolkadotClient;
456
+ /** Completed chunk metadata keyed by zero-based chunk index (resume support) */
457
+ completedBlocks?: Map<number, UploadManifestCompletedBlock>;
458
+ /** If false, resolve on best-block inclusion instead of finalization. Default: true */
459
+ waitForFinalization?: boolean;
460
+ };
461
+ export type StoreBlockParameters = {
462
+ /** Bulletin RPC endpoint URL */
463
+ rpc: string;
464
+ /** Signer for authorizing the storage transaction */
465
+ signer: PolkadotSigner;
466
+ /** Raw bytes of block content to store */
467
+ contentBytes: Uint8Array;
468
+ /** Pre-computed CID for the block */
469
+ contentCid: string;
470
+ /** Codec identifier for CID computation */
471
+ codecValue: number;
472
+ /** Hash algorithm code for CID computation */
473
+ hashCodeValue: number;
474
+ /** Optional nonce for transaction ordering */
475
+ nonce?: number;
476
+ /** Optional shared client — caller owns lifecycle when provided */
477
+ client?: PolkadotClient;
478
+ /** Optional timeout budget for a single store call */
479
+ storeTimeoutMs?: number;
480
+ /** If false, resolve on best-block inclusion instead of finalization. Default: true */
481
+ waitForFinalization?: boolean;
482
+ };
483
+ export type TransactionWatchFailureEvent = {
484
+ /** Event type emitted by transactionWatch */
485
+ type: string;
486
+ /** Optional dispatch error reported by the node */
487
+ dispatchError?: {
488
+ type: string;
489
+ value?: unknown;
490
+ };
491
+ /** Optional free-form error payload reported by the client */
492
+ error?: unknown;
493
+ /** Optional reason string reported by the node */
494
+ reason?: string;
495
+ };
496
+ export type AuthSource = {
497
+ /** DotNS environment selector */
498
+ env?: string;
499
+ /** Alias for env */
500
+ network?: string;
501
+ /** BIP-39 mnemonic phrase used to derive the signing key */
502
+ mnemonic?: string;
503
+ /** Substrate secret URI (SURI) used to derive/load a signing key (e.g. "//Alice") */
504
+ keyUri?: string;
505
+ /** Filesystem path to the encrypted keystore file or directory */
506
+ keystorePath?: string;
507
+ /** Keystore account selector (e.g. profile name or address) to load/unlock */
508
+ account?: string;
509
+ /** Password used to unlock/decrypt the keystore or SURI, when required */
510
+ password?: string;
511
+ };
512
+ export type LookupActionOptions = CommandOptions & AuthSource & {
513
+ /** Domain label to lookup (commander option passthrough) */
514
+ name?: string;
515
+ /** Internal: resolved label provided positionally */
516
+ __positionalLabel?: string;
517
+ /** Output as json */
518
+ json: boolean;
519
+ };
520
+ export type ReadOnlyContextAccount = {
521
+ /** Substrate SS58 address used for lookups */
522
+ address: string;
523
+ };
524
+ export type ReadOnlyContext = {
525
+ /** Typed chain client wrapper used for queries */
526
+ clientWrapper: ReviveClientWrapper;
527
+ /** Minimal account object containing only an address for lookups */
528
+ account: ReadOnlyContextAccount;
529
+ /** RPC endpoint used to connect to the chain */
530
+ rpc: string;
531
+ /** DotNS environment selector */
532
+ environment?: string;
533
+ /** Native token decimals read from chain metadata */
534
+ nativeTokenDecimals: number;
535
+ /** Native token symbol read from chain metadata */
536
+ nativeTokenSymbol: string;
537
+ /** EVM address corresponding to the Substrate address, when resolvable */
538
+ evmAddress: string;
539
+ };
540
+ export type ResolvedReadOnlyAuth = {
541
+ /** Secret source used to derive the signing key (mnemonic or SURI) */
542
+ source: string;
543
+ /** True when source is a key URI (SURI), false when it is a mnemonic */
544
+ isKeyUri: boolean;
545
+ /** Human-readable origin of the resolved auth source */
546
+ resolvedFrom: "cli" | "env" | "keystore" | "default";
547
+ /** Account selector associated with the resolved auth source */
548
+ account: string;
549
+ };
550
+ export type LoadedAccount = {
551
+ /** Substrate SS58 address */
552
+ address: string;
553
+ /** Public key bytes */
554
+ publicKey: Uint8Array;
555
+ /** Signing function */
556
+ sign: (input: Uint8Array) => Uint8Array;
557
+ };
558
+ type BaseChainContext = {
559
+ /** DotNS environment selector */
560
+ environment?: string;
561
+ /** WebSocket RPC endpoint URL */
562
+ rpc: string;
563
+ /** Path to keystore directory */
564
+ keystorePath: string;
565
+ /** Resolved authentication source */
566
+ auth: ResolvedAuthSource;
567
+ /** Loaded account with signing capabilities */
568
+ account: LoadedAccount;
569
+ /** Substrate SS58 address */
570
+ substrateAddress: string;
571
+ /** Polkadot signer for transaction signing */
572
+ signer: PolkadotSigner;
573
+ /** Native token decimals read from chain metadata */
574
+ nativeTokenDecimals: number;
575
+ /** Native token symbol read from chain metadata */
576
+ nativeTokenSymbol: string;
577
+ };
578
+ export type AssetHubContext = BaseChainContext & {
579
+ /** Discriminant indicating Asset Hub context */
580
+ useBulletin: false;
581
+ /** Typed Polkadot API client */
582
+ client: PolkadotApiClient;
583
+ /** Revive client wrapper for EVM contract calls */
584
+ clientWrapper: ReviveClientWrapper;
585
+ /** EVM address (H160) mapped from Substrate address */
586
+ evmAddress: Address;
587
+ };
588
+ export type BulletinContext = BaseChainContext & {
589
+ /** Discriminant indicating Bulletin context */
590
+ useBulletin: true;
591
+ /** Typed Polkadot API client */
592
+ client: PolkadotApiClient | TypedApi<Bulletin>;
593
+ /** Null - Bulletin has no Revive runtime */
594
+ clientWrapper: null;
595
+ /** Null - Bulletin has no EVM address mapping */
596
+ evmAddress: null;
597
+ };
598
+ export type SubnodeRecord = {
599
+ /** Parent node hash (keccak256 of parent full name) */
600
+ parentNode: Hex;
601
+ /** Label of the subnode to register (single label, no dots) */
602
+ subLabel: string;
603
+ /** Human-readable name of the parent node */
604
+ parentLabel: string;
605
+ /** Address that will own the new subnode */
606
+ owner: Address;
607
+ };
608
+ export type BaseNameReservation = {
609
+ /** Base name with trailing digits stripped (e.g. "mysite" from "mysite42"). */
610
+ baseName: string;
611
+ /** Whether the base name is currently reserved via the PopRules oracle. */
612
+ isReserved: boolean;
613
+ /** EVM address of the reservation holder, or zero address if unreserved. */
614
+ reservedBy: string;
615
+ /** ISO 8601 expiration timestamp, or null if the reservation has no expiry. */
616
+ expires: string | null;
617
+ };
618
+ export type DomainLookupResult = {
619
+ /** Fully qualified domain name including the .dot suffix. */
620
+ domain: string;
621
+ /** EIP-137 namehash of the fully qualified domain name. */
622
+ node: string;
623
+ /** Whether a record exists in the DotNS registry for this node. */
624
+ exists: boolean;
625
+ /** Registry owner of the domain, or zero address if unregistered. */
626
+ owner: Address;
627
+ /** Resolver contract set for this domain in the registry. */
628
+ resolver: Address;
629
+ /** Owner's deployed Store contract, or null if no store exists. */
630
+ store: Address | null;
631
+ /** Address the domain resolves to via the DotnsResolver, or null if unset or using a non-standard resolver. */
632
+ resolvedAddress: Address | null;
633
+ /** On-chain balance of the domain owner's substrate account. */
634
+ ownerBalance: {
635
+ /** SS58-encoded substrate address derived from the owner's EVM address. */
636
+ substrate: string;
637
+ /** Human-readable free balance in native token units. */
638
+ free: string;
639
+ } | null;
640
+ /** PopRules reservation status for the base name, or null if the label has no trailing digits. */
641
+ baseNameReservation: BaseNameReservation | null;
642
+ /** The name's chat key from the PoP resolver (hex), or null if none is set. */
643
+ chatKey: string | null;
644
+ };
645
+ export type ChainContext = AssetHubContext | BulletinContext;
646
+ export type StoreInfo = {
647
+ /** EVM address of the Store owner */
648
+ owner: Address;
649
+ /** Deployed Store contract address, null if no Store exists */
650
+ storeAddress: Address | null;
651
+ /** Whether a Store has been deployed for this owner */
652
+ exists: boolean;
653
+ };
654
+ export type StoreValueResult = {
655
+ /** Bytes32 storage key (hex-encoded) */
656
+ key: `0x${string}`;
657
+ /** Stored string value, empty string if not set */
658
+ value: string;
659
+ /** Whether a non-empty value exists at this key */
660
+ exists: boolean;
661
+ };
662
+ /** A single key/value entry enumerated from a UserStore. */
663
+ export type StoreEntry = {
664
+ /** Bytes32 storage key (hex-encoded) */
665
+ key: `0x${string}`;
666
+ /** Stored string value, empty string if cleared */
667
+ value: string;
668
+ };
669
+ /** Result of claiming a UserStore from the StoreFactory. */
670
+ export type ClaimUserStoreResult = {
671
+ /** Deployed UserStore contract address bound to the caller */
672
+ storeAddress: Address;
673
+ /** Transaction hash of the claim, null if the store was already claimed */
674
+ tx: string | null;
675
+ /** Whether the store already existed before this call */
676
+ alreadyClaimed: boolean;
677
+ };
678
+ export type IsMappedResult = {
679
+ /** SS58 substrate address that was checked */
680
+ address: string;
681
+ /** Corresponding EVM address (H160) */
682
+ evmAddress: string;
683
+ /** Whether the address mapping exists on-chain */
684
+ isMapped: boolean;
685
+ };
686
+ export type IsWhitelistedResult = {
687
+ /** SS58 substrate address that was checked */
688
+ address: string;
689
+ /** Corresponding EVM address (H160) */
690
+ evmAddress: string;
691
+ /** Whether the address is on the whitelist */
692
+ isWhitelisted: boolean;
693
+ };
694
+ export type WhitelistResult = {
695
+ /** SS58 substrate address that was whitelisted */
696
+ address: string;
697
+ /** Corresponding EVM address (H160) */
698
+ evmAddress: string;
699
+ /** Whether the whitelist operation succeeded */
700
+ whitelisted: boolean;
701
+ /** Transaction hash of the whitelist extrinsic */
702
+ txHash: string;
703
+ };
704
+ export type UploadManifest = {
705
+ /** Schema version for forward compatibility */
706
+ version: 1;
707
+ /** Stable manifest identifier derived from upload fingerprint */
708
+ id: string;
709
+ /** Fingerprint derived from path + size + mtime + chunk size */
710
+ fingerprint: string;
711
+ /** Absolute path of the file being uploaded */
712
+ inputPath: string;
713
+ /** Total file size in bytes */
714
+ fileSize: number;
715
+ /** File modification time in milliseconds since epoch */
716
+ fileMtimeMs: number;
717
+ /** Chunk size in bytes used for splitting */
718
+ chunkSize: number;
719
+ /** Total number of chunks the file was split into */
720
+ totalBlocks: number;
721
+ /** Metadata for chunks that have been successfully uploaded */
722
+ completedBlocks: UploadManifestCompletedBlock[];
723
+ /** Root CID of the DAG-PB tree, set after all chunks are stored */
724
+ rootCid?: string;
725
+ /** ISO timestamp when the manifest was first created */
726
+ createdAtIso: string;
727
+ /** ISO timestamp of the most recent manifest update */
728
+ updatedAtIso: string;
729
+ /** Whether the upload is a single file or directory */
730
+ type: "file" | "directory";
731
+ };
732
+ export type UploadManifestCompletedBlock = {
733
+ /** Zero-based chunk index */
734
+ index: number;
735
+ /** Content identifier for this chunk */
736
+ cid: string;
737
+ /** Byte length of the chunk */
738
+ length: number;
739
+ };
740
+ export type UploadManifestIdentity = {
741
+ /** Absolute path of the file being uploaded */
742
+ inputPath: string;
743
+ /** Total file size in bytes */
744
+ fileSize: number;
745
+ /** File modification time in milliseconds since epoch */
746
+ fileMtimeMs: number;
747
+ /** Chunk size in bytes used for splitting */
748
+ chunkSize: number;
749
+ };
750
+ export type UploadManifestLoadResult = {
751
+ /** Matching manifest for the current upload identity, or null if none found */
752
+ manifest: UploadManifest | null;
753
+ /** Most recent manifest for the same path, but with fingerprint mismatch */
754
+ staleManifest: UploadManifest | null;
755
+ };
756
+ export type UploadSchedulerState = {
757
+ /** Unix timestamp in milliseconds when this snapshot was captured */
758
+ timestampMs: number;
759
+ /** Current adaptive concurrency window size */
760
+ window: number;
761
+ /** Total bytes currently being uploaded across all in-flight chunks */
762
+ inFlightBytes: number;
763
+ /** Number of chunks currently being uploaded in parallel */
764
+ inFlightChunks: number;
765
+ /** Total number of chunks successfully uploaded so far */
766
+ completedChunks: number;
767
+ /** Cumulative retry count across all waves */
768
+ retries: number;
769
+ };
770
+ export type UploadWaveSummary = {
771
+ /** Sequential wave number (1-based) */
772
+ wave: number;
773
+ /** Unix timestamp in milliseconds when the wave started */
774
+ startedAtMs: number;
775
+ /** Unix timestamp in milliseconds when the wave ended */
776
+ endedAtMs: number;
777
+ /** Wall-clock duration of the wave in milliseconds */
778
+ durationMs: number;
779
+ /** Concurrency window size used for this wave */
780
+ window: number;
781
+ /** Number of chunk uploads attempted in this wave */
782
+ attempted: number;
783
+ /** Number of chunks successfully stored */
784
+ succeeded: number;
785
+ /** Number of chunks that failed to store */
786
+ failed: number;
787
+ /** Number of retries triggered during this wave */
788
+ retries: number;
789
+ /** True if the wave completed with zero retries under the duration threshold */
790
+ wasClean: boolean;
791
+ };
792
+ export type UploadProfileSample = {
793
+ /** Unix timestamp in milliseconds when this sample was captured */
794
+ timestampMs: number;
795
+ /** V8 heap used in bytes at sample time */
796
+ heapUsed: number;
797
+ /** Resident set size in bytes at sample time */
798
+ rss: number;
799
+ /** ArrayBuffer allocation in bytes at sample time */
800
+ arrayBuffers: number;
801
+ /** External memory (C++ objects bound to JS) in bytes */
802
+ external: number;
803
+ /** Total bytes currently being uploaded across in-flight chunks */
804
+ inFlightBytes: number;
805
+ /** Number of chunks currently being uploaded */
806
+ inFlightChunks: number;
807
+ /** Current adaptive concurrency window size */
808
+ window: number;
809
+ /** Total chunks completed at sample time */
810
+ completed: number;
811
+ /** Cumulative retry count at sample time */
812
+ retries: number;
813
+ };
814
+ export type UploadProfileMeta = {
815
+ /** Absolute path of the file that was uploaded */
816
+ sourcePath: string;
817
+ /** Total file size in bytes */
818
+ sourceSizeBytes: number;
819
+ /** Chunk size in bytes used for splitting */
820
+ chunkSizeBytes: number;
821
+ /** Bulletin RPC endpoint used for the upload */
822
+ rpc: string;
823
+ /** ISO timestamp when the upload started */
824
+ startedAtIso: string;
825
+ /** ISO timestamp when the upload finished */
826
+ finishedAtIso: string;
827
+ /** V8 heap size limit in bytes */
828
+ heapLimitBytes: number;
829
+ /** Concurrency window at the start of the upload */
830
+ initialConcurrency: number;
831
+ /** Maximum concurrency window allowed */
832
+ maxConcurrency: number;
833
+ };
834
+ export type UploadProfileSummary = {
835
+ /** Total upload wall-clock time in milliseconds */
836
+ totalUploadTimeMs: number;
837
+ /** Total upload wall-clock time in seconds */
838
+ totalUploadTimeSeconds: number;
839
+ /** Alias for totalUploadTimeMs (backward compat) */
840
+ elapsedMs: number;
841
+ /** Effective throughput in bytes per second */
842
+ throughputBytesPerSecond: number;
843
+ /** Peak V8 heap usage observed across all samples */
844
+ peakHeapUsed: number;
845
+ /** Peak resident set size observed across all samples */
846
+ peakRss: number;
847
+ /** Peak ArrayBuffer allocation observed across all samples */
848
+ peakArrayBuffers: number;
849
+ /** Peak external memory observed across all samples */
850
+ peakExternal: number;
851
+ /** Total number of retries across all waves */
852
+ retryCount: number;
853
+ /** Highest adaptive window size reached during the upload */
854
+ maxWindowReached: number;
855
+ /** Final root CID of the uploaded content */
856
+ finalCid: string;
857
+ };
858
+ export type UploadProfileReport = {
859
+ /** Upload metadata (source file, RPC, concurrency settings) */
860
+ meta: UploadProfileMeta;
861
+ /** Periodic memory and scheduler state snapshots */
862
+ samples: UploadProfileSample[];
863
+ /** Per-wave upload summaries */
864
+ waves: UploadWaveSummary[];
865
+ /** Aggregated upload statistics with peak values */
866
+ summary: UploadProfileSummary;
867
+ };
868
+ /** EVM address resolved from a Substrate or EVM input */
869
+ export type ResolvedAddress = {
870
+ /** Checksummed EVM address */
871
+ evmAddress: Address;
872
+ /** Original address as provided by the caller */
873
+ originalAddress: string;
874
+ };
875
+ /** Result of merkleizing a directory with IPFS UnixFS */
876
+ export type MerkleizeDirectoryResult = {
877
+ /** Root CID of the DAG-PB tree */
878
+ rootCid: import("multiformats/cid").CID;
879
+ /** Number of blocks in the tree */
880
+ totalBlocks: number;
881
+ /** Total size of all blocks in bytes */
882
+ totalBytes: number;
883
+ };
884
+ /** Authorization state for a Bulletin chain account */
885
+ export type AuthorizationState = {
886
+ /** Block number at which authorization expires */
887
+ expiration?: number;
888
+ /** Current block number on the Bulletin chain */
889
+ currentBlock?: number;
890
+ };
891
+ /** Result of deleting a key from a user's Store contract */
892
+ export type StoreDeleteResult = {
893
+ /** The bytes32 key that was deleted */
894
+ key: `0x${string}`;
895
+ /** Whether the deletion was successful */
896
+ deleted: boolean;
897
+ };
898
+ /** Result of finalizing an upload profile report */
899
+ export type UploadProfileResult = {
900
+ /** The generated upload profile report */
901
+ report: UploadProfileReport;
902
+ /** File path where the report was saved */
903
+ outputPath: string;
904
+ };
905
+ /** A block (CID + raw bytes) queued for wave-based upload */
906
+ export type WaveBlock = {
907
+ /** CID of the block */
908
+ cid: import("multiformats/cid").CID;
909
+ /** Raw encoded bytes of the block */
910
+ bytes: Uint8Array;
911
+ };
912
+ export type CacheCidToStoreOptions = {
913
+ cid: string;
914
+ clientWrapper: ReviveClientWrapper;
915
+ signer: PolkadotSigner;
916
+ substrateAddress: string;
917
+ evmAddress: Address;
918
+ };
919
+ export type BlockMetadata = {
920
+ cidString: string;
921
+ codecValue: number;
922
+ hashCodeValue: number;
923
+ size: number;
924
+ };
925
+ export type UploadDeps = {
926
+ rpc: string;
927
+ signer: PolkadotSigner;
928
+ accountAddress: string;
929
+ concurrency: number;
930
+ waitForFinalization: boolean;
931
+ onBlockStored?: (meta: BlockMetadata, completedCount: number, totalSoFar: number) => void;
932
+ };
933
+ export type FlushWaveOptions = {
934
+ isFinalWave?: boolean;
935
+ };
936
+ export type UploadProfiler = {
937
+ onSchedulerState: (state: UploadSchedulerState) => void;
938
+ onWave: (wave: UploadWaveSummary) => void;
939
+ finalize: (finalCid: string, overrideOutputPath?: string) => Promise<UploadProfileResult>;
940
+ };
941
+ export type UploadProfilerOptions = {
942
+ sourcePath: string;
943
+ sourceSizeBytes: number;
944
+ chunkSizeBytes: number;
945
+ rpc: string;
946
+ initialConcurrency: number;
947
+ maxConcurrency: number;
948
+ outputPath?: string;
949
+ jsonOutput: boolean;
950
+ };
951
+ export {};
952
+ //# sourceMappingURL=types.d.ts.map