export { DeployContent, DeployOptions, DeployResult, deploy } from './deploy.js'; export { AutoReauthorizeEnv, BULLETIN_BLOCKS_PER_DAY, BootstrapPoolOptions, DEPLOY_PATH_PREFIX, EnsurePoolFundedOptions, PoolAccount, PoolAuthorization, accountsNeedingReauthorization, assetHubTopUpAmount, bootstrapPool, derivePoolAccounts, ensureAuthorized, ensurePoolAccountsFundedOnAssetHub, fetchPoolAuthorizations, isAutoReauthorizeAllowed, poolAccountDerivationPath, selectAccount } from './pool.js'; export { DEFAULT_MNEMONIC, DotNS, DotNSConnectOptions, OwnershipResult, ParsedDomainName, PriceValidationResult, parseDomainName, sanitizeDomainLabel } from './dotns.js'; export { MerkleizeResult, MerkleizeStableResult, merkleizeJS, merkleizeWithStableOrder } from './merkle.js'; export { EmbeddedManifest, FileType, MANIFEST_DIR, MANIFEST_FILENAME, MANIFEST_PATH, MANIFEST_VERSION, ManifestFileEntry, ParseResult, classifyFile, isVolatilePath, parseManifest } from './manifest.js'; export { ChainProbeOptions, ChunkProbeResult, probeChunks } from './chunk-probe.js'; export { finaliseEmbeddedManifest, writeEmbeddedManifestPlaceholder } from './manifest-embed.js'; export { FetchOptions, FetchOutcome, fetchPreviousManifest } from './manifest-fetch.js'; export { ComputeStatsInput, IncrementalStats, computeStats, renderSummary, telemetryAttributes } from './incremental-stats.js'; export { Chain, ChainEndpoint, DEFAULT_ENV_ID, Environment, EnvironmentListing, EnvironmentsDoc, EnvironmentsSource, LoadOptions, LoadResult, ResolvedEndpoints, deepMergeEnvironments, defaultBundledPath, formatEnvironmentTable, isValidContractAddress, listEnvironments, loadEnvironments, resolveEndpoints, validateContractAddresses } from './environments.js'; export { RunState, RunStatus, VERSION, loadRunState, probablyOomRssMb, resolveStateDir, shouldShowOomHint, shouldSkipStaleWarning, stateFilePath, writeRunState } from './run-state.js'; import { ProductConfig } from './manifest/types.js'; export { AppExecutableConfig, AppExecutableConfigV1, AppExecutableConfigV2, AppManifest, AppManifestV1, AppManifestV2, AppVersion, AudioRequirement, DeviceInputRequirement, ExecutableConfig, ExecutableKind, ExecutableManifest, FundingExecutableConfig, FundingManifest, FundingMode, GraphicsRequirement, Icon, IconConfig, IconFormat, PolkaVmAppManifestV2, PolkaVmRuntime, RootManifest, WebAppManifestV2, WebRuntime, WidgetDimensions, WidgetExecutableConfig, WidgetManifest, WorkerExecutableConfig, WorkerIncludes, WorkerManifest, defineConfig } from './manifest/types.js'; export { ValidationErr, ValidationOk, ValidationResult, validateExecutableManifest, validateProductConfig, validateRootManifest } from './manifest/schema.js'; export { BudgetCheck, DEFAULT_TEXT_RECORD_BUDGET_BYTES, PLACEHOLDER_CID, PessimisticSizeReport, assertWithinBudget, getTextRecordBudgetBytes, pessimisticSizePreflight } from './manifest/byte-budget.js'; import { LoadProductConfigOptions, LoadedProductConfig } from './manifest/config-load.js'; export { formatConfigLoadError, loadProductConfig, tryLoadProductConfig } from './manifest/config-load.js'; export { PublishManifestOptions, PublishManifestResult, publishManifest } from './manifest/publish.js'; import 'polkadot-api/ws'; import 'multiformats/cid'; import './dotns-protocol.js'; import 'polkadot-api'; import './errors.js'; import './personhood/bootstrap.js'; import './personhood/bind-personal-id.js'; import './personhood/claim-pgas.js'; import './personhood/bind-paid-alias.js'; import './personhood/chain-prereqs.js'; /** * Frontloaded product-manifest preflight. * * The deploy CLI historically loaded + validated the product config only in * the post-deploy manifest-publish step — so an invalid config (bad `domain`, * oversized text record, missing icon/executable file) surfaced *after* * preflight and a full merkleize/upload (see paritytech/polkadot-app-deploy#125). * * This runs all the pure/local manifest checks up front, before any storage or * chain work, so config errors fail fast with one aggregated message: * 1. discover + load the config (schema validation, incl. `domain` ending * in `.dot`, via `loadProductConfig`), * 2. byte-budget preflight for every text record (`pessimisticSizePreflight`), * 3. the referenced icon file + every executable path exist on disk. * * Returns the loaded+validated config so the caller can reuse it (no double * load), or `null` when no config is applicable (opt-in manifest mode). */ /** * Check that every file a product config references exists on disk, resolved * relative to the config's own directory. Returns a list of human-readable * error strings (empty when everything is present). The icon must be a regular * file; an executable path may be a file or a directory (a build dir). */ declare function checkProductConfigFilesExist(config: ProductConfig, configDir: string): Promise; /** * Materialize each App v2 manifest inside its executable directory before the * directory is content-addressed. The config object is the single source of * truth; the same JSON.stringify bytes are later written to DotNS. */ declare function writeEmbeddedAppManifests(config: ProductConfig, configDir: string): Promise; /** Fail closed if an App v2 artifact no longer contains the configured bytes. */ declare function verifyEmbeddedAppManifests(config: ProductConfig, configDir: string): Promise; /** * Run the full local manifest preflight. Throws a single aggregated * `NonRetryableError` on any schema / byte-budget / missing-file problem. * Returns the loaded config (reusable by the publish step) or `null` when no * product config is present. */ declare function preflightProductConfig(options?: LoadProductConfigOptions): Promise; export { LoadProductConfigOptions, LoadedProductConfig, ProductConfig, checkProductConfigFilesExist, preflightProductConfig, verifyEmbeddedAppManifests, writeEmbeddedAppManifests };