bulletin-deploy 0.7.20 → 0.7.21

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 (39) hide show
  1. package/README.md +0 -2
  2. package/assets/environments.json +2 -7
  3. package/bin/bulletin-deploy +0 -6
  4. package/dist/bug-report.js +4 -5
  5. package/dist/{chunk-GGHSZZZ3.js → chunk-2VNGK2MU.js} +13 -19
  6. package/dist/{chunk-UVIG5UAV.js → chunk-BFXHVC23.js} +72 -38
  7. package/dist/{chunk-HUT7ZGRQ.js → chunk-F36C363Y.js} +3 -11
  8. package/dist/{chunk-CD27FW4F.js → chunk-G2P5UIPX.js} +3 -3
  9. package/dist/{chunk-6LODTEG3.js → chunk-RJAFD4LO.js} +1 -1
  10. package/dist/{chunk-EZUICRCA.js → chunk-SA37SLYF.js} +2 -2
  11. package/dist/{chunk-BR2EQ2X3.js → chunk-VTTN4BX7.js} +209 -483
  12. package/dist/{chunk-GNVDLLZI.js → chunk-ZY6QLNKQ.js} +1 -1
  13. package/dist/chunk-probe.js +3 -4
  14. package/dist/chunker.js +0 -1
  15. package/dist/deploy.d.ts +1 -9
  16. package/dist/deploy.js +8 -9
  17. package/dist/dotns.d.ts +9 -33
  18. package/dist/dotns.js +3 -12
  19. package/dist/environments.d.ts +0 -4
  20. package/dist/environments.js +1 -2
  21. package/dist/errors.js +0 -1
  22. package/dist/gh-pages-mirror.js +0 -1
  23. package/dist/incremental-stats.js +0 -1
  24. package/dist/index.js +8 -9
  25. package/dist/manifest-embed.js +0 -1
  26. package/dist/manifest-fetch.js +0 -1
  27. package/dist/manifest-roundtrip.js +0 -1
  28. package/dist/manifest.js +0 -1
  29. package/dist/memory-report.js +2 -3
  30. package/dist/merkle.js +8 -9
  31. package/dist/mirror.js +0 -1
  32. package/dist/pool.js +0 -1
  33. package/dist/run-state.js +1 -2
  34. package/dist/telemetry.js +2 -3
  35. package/dist/version-check.js +3 -4
  36. package/docs/e2e-bootstrap.md +9 -15
  37. package/package.json +3 -3
  38. package/dist/chunk-QGM4M3NI.js +0 -37
  39. package/dist/wrapper-IFSKR7DG.js +0 -3651
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  captureWarning
3
- } from "./chunk-GGHSZZZ3.js";
3
+ } from "./chunk-2VNGK2MU.js";
4
4
 
5
5
  // src/chunk-probe.ts
6
6
  import { Twox128, Blake2128Concat, decAnyMetadata, unifyMetadata } from "@polkadot-api/substrate-bindings";
@@ -5,10 +5,9 @@ import {
5
5
  _decodeStorageValue,
6
6
  _resetProbeSession,
7
7
  probeChunks
8
- } from "./chunk-GNVDLLZI.js";
9
- import "./chunk-GGHSZZZ3.js";
10
- import "./chunk-CD27FW4F.js";
11
- import "./chunk-QGM4M3NI.js";
8
+ } from "./chunk-ZY6QLNKQ.js";
9
+ import "./chunk-2VNGK2MU.js";
10
+ import "./chunk-G2P5UIPX.js";
12
11
  export {
13
12
  ChainProbeCrossValidationError,
14
13
  ChainProbeMetadataError,
package/dist/chunker.js CHANGED
@@ -3,7 +3,6 @@ import {
3
3
  CHUNK_SIZE_TARGET,
4
4
  packSection
5
5
  } from "./chunk-C2TS5MER.js";
6
- import "./chunk-QGM4M3NI.js";
7
6
  export {
8
7
  CHUNK_SIZE_MAX,
9
8
  CHUNK_SIZE_TARGET,
package/dist/deploy.d.ts CHANGED
@@ -201,24 +201,16 @@ interface DeployOptions {
201
201
  assetHubEndpoints?: string[];
202
202
  /** When true, marks this as an automated mirror deploy in telemetry. */
203
203
  automatedMirror?: boolean;
204
- /**
205
- * Use direct contract calls for all DotNS operations instead of dotns-cli.
206
- * Required for environments with custom contract addresses (e.g. paseo-next-v2).
207
- * When the env has `skipDotnsCli: true` in environments.json this is auto-set.
208
- */
209
- skipDotnsCli?: boolean;
210
204
  }
211
- declare function resolveDotnsConnectOptions(options: Pick<DeployOptions, "mnemonic" | "derivationPath" | "signer" | "signerAddress" | "skipDotnsCli">, assetHubEndpoints?: string[], autoAccountMapping?: boolean, skipDotnsCli?: boolean, contracts?: Record<string, string>, nativeToEthRatio?: bigint, dotnsSelfAttest?: boolean): {
205
+ declare function resolveDotnsConnectOptions(options: Pick<DeployOptions, "mnemonic" | "derivationPath" | "signer" | "signerAddress">, assetHubEndpoints?: string[], autoAccountMapping?: boolean, contracts?: Record<string, string>, nativeToEthRatio?: bigint): {
212
206
  signer?: PolkadotSigner;
213
207
  signerAddress?: string;
214
208
  mnemonic?: string;
215
209
  derivationPath?: string;
216
210
  assetHubEndpoints?: string[];
217
211
  autoAccountMapping?: boolean;
218
- skipDotnsCli?: boolean;
219
212
  contracts?: Record<string, string>;
220
213
  nativeToEthRatio?: bigint;
221
- dotnsSelfAttest?: boolean;
222
214
  };
223
215
  declare function estimateUploadBytes(content: DeployContent): Promise<number | null>;
224
216
  declare function deploy(content: DeployContent, domainName?: string | null, options?: DeployOptions): Promise<DeployResult>;
package/dist/deploy.js CHANGED
@@ -32,26 +32,25 @@ import {
32
32
  storeDirectory,
33
33
  storeDirectoryV2,
34
34
  storeFile
35
- } from "./chunk-UVIG5UAV.js";
35
+ } from "./chunk-BFXHVC23.js";
36
36
  import "./chunk-MJTQOXBC.js";
37
37
  import "./chunk-KOSF5FDO.js";
38
38
  import "./chunk-5MRZ3V4A.js";
39
39
  import "./chunk-S7EM5VMW.js";
40
- import "./chunk-EZUICRCA.js";
41
- import "./chunk-6LODTEG3.js";
42
- import "./chunk-GNVDLLZI.js";
40
+ import "./chunk-SA37SLYF.js";
41
+ import "./chunk-RJAFD4LO.js";
42
+ import "./chunk-ZY6QLNKQ.js";
43
43
  import "./chunk-C2TS5MER.js";
44
- import "./chunk-BR2EQ2X3.js";
44
+ import "./chunk-VTTN4BX7.js";
45
45
  import "./chunk-4TS6R26J.js";
46
- import "./chunk-GGHSZZZ3.js";
47
- import "./chunk-CD27FW4F.js";
48
- import "./chunk-HUT7ZGRQ.js";
46
+ import "./chunk-2VNGK2MU.js";
47
+ import "./chunk-G2P5UIPX.js";
48
+ import "./chunk-F36C363Y.js";
49
49
  import {
50
50
  EXIT_CODE_NO_RETRY,
51
51
  NonRetryableError
52
52
  } from "./chunk-ZOC4GITL.js";
53
53
  import "./chunk-HOTQDYHD.js";
54
- import "./chunk-QGM4M3NI.js";
55
54
  export {
56
55
  CHUNK_MORTALITY_PERIOD,
57
56
  DEFAULT_BULLETIN_RPC,
package/dist/dotns.d.ts CHANGED
@@ -1,18 +1,5 @@
1
1
  import { PolkadotSigner } from 'polkadot-api';
2
2
 
3
- type DotnsCliInvocationSource = "package" | "host-dispatch" | "host-dispatch-fallback" | "command-override";
4
- interface DotnsCliInvocation {
5
- command: string;
6
- argsPrefix: string[];
7
- version: string;
8
- source: DotnsCliInvocationSource;
9
- resolutionError?: string;
10
- }
11
- interface DotnsCliPackageResolution {
12
- path: string;
13
- version: string;
14
- }
15
- declare function resolveDotnsCliInvocation(env?: NodeJS.ProcessEnv | Record<string, string | undefined>, packageResolver?: () => DotnsCliPackageResolution): DotnsCliInvocation;
16
3
  interface DotNSConnectOptions {
17
4
  rpc?: string;
18
5
  keyUri?: string;
@@ -26,16 +13,11 @@ interface DotNSConnectOptions {
26
13
  * preserves backwards-compatibility for external library consumers. The
27
14
  * bulletin-deploy CLI passes the list resolved from environments.json so
28
15
  * `--env <id>` drives both bulletin and asset-hub endpoints.
29
- */
16
+ */
30
17
  assetHubEndpoints?: string[];
31
18
  autoAccountMapping?: boolean;
32
- dotnsSelfAttest?: boolean;
33
19
  nativeToEthRatio?: bigint;
34
20
  contracts?: Record<string, string>;
35
- /** Use direct contract calls for all DotNS operations instead of dotns-cli.
36
- * Required for environments with custom contract addresses that dotns-cli
37
- * does not support. Pass --skip-dotns-cli on the CLI to enable. */
38
- skipDotnsCli?: boolean;
39
21
  }
40
22
  interface OwnershipResult {
41
23
  owned: boolean;
@@ -130,8 +112,6 @@ declare function stripTrailingDigits(label: string): string;
130
112
  declare function sanitizeDomainLabel(label: string): string;
131
113
  declare function validateDomainLabel(label: string): string;
132
114
  declare function isCommitmentMature(chainNowSeconds: number, commitTimestampSeconds: number, minimumAgeSeconds: number): boolean;
133
- declare function isExplicitCommitmentBuffer(envValue: string | undefined): boolean;
134
- declare function isLikelyCommitmentRace(msg: string): boolean;
135
115
  declare function classifyDotnsLabel(label: string): {
136
116
  status: number;
137
117
  message: string;
@@ -173,14 +153,14 @@ declare class ReviveClientWrapper {
173
153
  expectedNonce: number;
174
154
  };
175
155
  }): Promise<string>;
176
- submitTransaction(contractAddress: string, value: bigint, encodedData: string, signerSubstrateAddress: string, signer: PolkadotSigner, statusCallback: (status: string) => void, { rpcs, useNoncePolling, functionName, args }: {
156
+ submitTransaction(contractAddress: string, value: bigint, encodedData: string, signerSubstrateAddress: string, signer: PolkadotSigner, statusCallback: (status: string) => void, { rpcs, useNoncePolling, functionName, args, contracts }: {
177
157
  rpcs: string[];
178
158
  useNoncePolling?: boolean;
179
159
  functionName?: string;
180
160
  args?: unknown[];
161
+ contracts?: Record<string, string>;
181
162
  }): Promise<string>;
182
163
  }
183
- declare function runDotnsCli(argv: string[], env?: Record<string, string>): Promise<unknown>;
184
164
  declare class DotNS {
185
165
  client: any | null;
186
166
  clientWrapper: ReviveClientWrapper | null;
@@ -190,16 +170,12 @@ declare class DotNS {
190
170
  signer: PolkadotSigner | null;
191
171
  connected: boolean;
192
172
  assetHubEndpoints: string[];
193
- private _mnemonic;
194
- private _keyUri;
195
173
  private _usesExternalSigner;
196
- private _skipDotnsCli;
197
174
  private _contracts;
198
175
  private _nativeToEthRatio;
199
- private _dotnsSelfAttest;
200
- private get _useContractPath();
201
176
  constructor();
202
177
  connect(options?: DotNSConnectOptions): Promise<this>;
178
+ ensureMappedAccountReady(autoAccountMapping?: boolean): Promise<void>;
203
179
  ensureAutoMappedAccountReady(): Promise<void>;
204
180
  ensureConnected(): void;
205
181
  private _testnetCache;
@@ -216,7 +192,7 @@ declare class DotNS {
216
192
  }): Promise<string>;
217
193
  checkOwnership(label: string, ownerAddress?: string | null): Promise<OwnershipResult>;
218
194
  getUserPopStatus(ownerAddress?: string | null): Promise<number>;
219
- setUserPopStatus(status: number): Promise<void>;
195
+ setUserPopStatus(_status: number): Promise<void>;
220
196
  checkSubdomainOwnership(sublabel: string, parentLabel: string): Promise<OwnershipResult>;
221
197
  registerSubdomain(sublabel: string, parentLabel: string): Promise<{
222
198
  sublabel: string;
@@ -226,7 +202,7 @@ declare class DotNS {
226
202
  setContenthash(domainName: string, contenthashHex: string): Promise<{
227
203
  node: string;
228
204
  }>;
229
- setTextRecord(domainName: string, key: string, value: string, _cli?: (argv: string[], env?: Record<string, string>) => Promise<unknown>): Promise<{
205
+ setTextRecord(domainName: string, key: string, value: string): Promise<{
230
206
  value: string;
231
207
  txHash: string;
232
208
  }>;
@@ -245,12 +221,12 @@ declare class DotNS {
245
221
  getPriceAndValidate(label: string): Promise<PriceValidationResult>;
246
222
  finalizeRegistration(registration: any, priceWei: bigint): Promise<void>;
247
223
  verifyOwnership(label: string): Promise<void>;
248
- preflight(label: string, explicitStatusOverride?: string, dotnsSelfAttest?: boolean): Promise<DotnsPreflightResult>;
224
+ preflight(label: string): Promise<DotnsPreflightResult>;
249
225
  private gateOnFeeBalance;
250
226
  register(label: string, options?: DotNSConnectOptions & {
251
227
  status?: string;
252
228
  reverse?: boolean;
253
- }, _cli?: (argv: string[], env?: Record<string, string>) => Promise<unknown>): Promise<{
229
+ }): Promise<{
254
230
  label: string;
255
231
  owner: string;
256
232
  }>;
@@ -258,4 +234,4 @@ declare class DotNS {
258
234
  }
259
235
  declare const dotns: DotNS;
260
236
 
261
- export { CONNECTION_TIMEOUT_MS, CONTRACTS, DECIMALS, DEFAULT_MNEMONIC, DOTNS_TX_MAX_ATTEMPTS, DOT_NODE, DotNS, type DotNSConnectOptions, type DotnsCliInvocation, type DotnsCliInvocationSource, type DotnsPreflightResult, type DotnsSuccessAction, NATIVE_TO_ETH_RATIO, OPERATION_TIMEOUT_MS, type OwnershipResult, type ParsedDomainName, type PriceValidationResult, ProofOfPersonhoodStatus, RPC_ENDPOINTS, TX_CHAIN_TIME_BUDGET_MS, TX_TIMEOUT_MS, TX_WALL_CLOCK_CEILING_MS, WS_HEARTBEAT_TIMEOUT_MS, canRegister, classifyDotnsLabel, classifyTxRetryDecision, computeDomainTokenId, convertToHexString, convertWeiToNative, countTrailingDigits, dotns, feeFloorFor, fetchNonce, fmtPas, isCommitmentMature, isExplicitCommitmentBuffer, isLikelyCommitmentRace, parseDomainName, parseProofOfPersonhoodStatus, popStatusName, resolveDotnsCliInvocation, runDotnsCli, sanitizeDomainLabel, simulateUserStatus, stripTrailingDigits, validateDomainLabel, verifyNonceAdvanced };
237
+ export { CONNECTION_TIMEOUT_MS, CONTRACTS, DECIMALS, DEFAULT_MNEMONIC, DOTNS_TX_MAX_ATTEMPTS, DOT_NODE, DotNS, type DotNSConnectOptions, type DotnsPreflightResult, type DotnsSuccessAction, NATIVE_TO_ETH_RATIO, OPERATION_TIMEOUT_MS, type OwnershipResult, type ParsedDomainName, type PriceValidationResult, ProofOfPersonhoodStatus, RPC_ENDPOINTS, TX_CHAIN_TIME_BUDGET_MS, TX_TIMEOUT_MS, TX_WALL_CLOCK_CEILING_MS, WS_HEARTBEAT_TIMEOUT_MS, canRegister, classifyDotnsLabel, classifyTxRetryDecision, computeDomainTokenId, convertToHexString, convertWeiToNative, countTrailingDigits, dotns, feeFloorFor, fetchNonce, fmtPas, isCommitmentMature, parseDomainName, parseProofOfPersonhoodStatus, popStatusName, sanitizeDomainLabel, simulateUserStatus, stripTrailingDigits, validateDomainLabel, verifyNonceAdvanced };
package/dist/dotns.js CHANGED
@@ -26,23 +26,18 @@ import {
26
26
  fetchNonce,
27
27
  fmtPas,
28
28
  isCommitmentMature,
29
- isExplicitCommitmentBuffer,
30
- isLikelyCommitmentRace,
31
29
  parseDomainName,
32
30
  parseProofOfPersonhoodStatus,
33
31
  popStatusName,
34
- resolveDotnsCliInvocation,
35
- runDotnsCli,
36
32
  sanitizeDomainLabel,
37
33
  simulateUserStatus,
38
34
  stripTrailingDigits,
39
35
  validateDomainLabel,
40
36
  verifyNonceAdvanced
41
- } from "./chunk-BR2EQ2X3.js";
37
+ } from "./chunk-VTTN4BX7.js";
42
38
  import "./chunk-4TS6R26J.js";
43
- import "./chunk-GGHSZZZ3.js";
44
- import "./chunk-CD27FW4F.js";
45
- import "./chunk-QGM4M3NI.js";
39
+ import "./chunk-2VNGK2MU.js";
40
+ import "./chunk-G2P5UIPX.js";
46
41
  export {
47
42
  CONNECTION_TIMEOUT_MS,
48
43
  CONTRACTS,
@@ -71,13 +66,9 @@ export {
71
66
  fetchNonce,
72
67
  fmtPas,
73
68
  isCommitmentMature,
74
- isExplicitCommitmentBuffer,
75
- isLikelyCommitmentRace,
76
69
  parseDomainName,
77
70
  parseProofOfPersonhoodStatus,
78
71
  popStatusName,
79
- resolveDotnsCliInvocation,
80
- runDotnsCli,
81
72
  sanitizeDomainLabel,
82
73
  simulateUserStatus,
83
74
  stripTrailingDigits,
@@ -10,8 +10,6 @@ interface Environment {
10
10
  uptimeUrl?: string;
11
11
  autoAccountMapping?: boolean;
12
12
  bulletinAuthorizeV2?: boolean;
13
- dotnsSelfAttest?: boolean;
14
- skipDotnsCli?: boolean;
15
13
  nativeToEthRatio?: number;
16
14
  contracts?: Record<string, string>;
17
15
  }
@@ -46,8 +44,6 @@ interface ResolvedEndpoints {
46
44
  envName: string;
47
45
  autoAccountMapping: boolean;
48
46
  bulletinAuthorizeV2: boolean;
49
- dotnsSelfAttest: boolean;
50
- skipDotnsCli: boolean;
51
47
  contracts: Record<string, string>;
52
48
  nativeToEthRatio: bigint;
53
49
  }
@@ -5,9 +5,8 @@ import {
5
5
  listEnvironments,
6
6
  loadEnvironments,
7
7
  resolveEndpoints
8
- } from "./chunk-HUT7ZGRQ.js";
8
+ } from "./chunk-F36C363Y.js";
9
9
  import "./chunk-ZOC4GITL.js";
10
- import "./chunk-QGM4M3NI.js";
11
10
  export {
12
11
  DEFAULT_ENV_ID,
13
12
  defaultBundledPath,
package/dist/errors.js CHANGED
@@ -2,7 +2,6 @@ import {
2
2
  EXIT_CODE_NO_RETRY,
3
3
  NonRetryableError
4
4
  } from "./chunk-ZOC4GITL.js";
5
- import "./chunk-QGM4M3NI.js";
6
5
  export {
7
6
  EXIT_CODE_NO_RETRY,
8
7
  NonRetryableError
@@ -13,7 +13,6 @@ import {
13
13
  resolveOwnerRepo,
14
14
  resolveSourceCommit
15
15
  } from "./chunk-HOTQDYHD.js";
16
- import "./chunk-QGM4M3NI.js";
17
16
  export {
18
17
  GH_PAGES_MIRROR_BRANCH,
19
18
  GH_PAGES_MIRROR_DIR,
@@ -3,7 +3,6 @@ import {
3
3
  renderSummary,
4
4
  telemetryAttributes
5
5
  } from "./chunk-MJTQOXBC.js";
6
- import "./chunk-QGM4M3NI.js";
7
6
  export {
8
7
  computeStats,
9
8
  renderSummary,
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  deploy,
6
6
  merkleizeJS,
7
7
  merkleizeWithStableOrder
8
- } from "./chunk-UVIG5UAV.js";
8
+ } from "./chunk-BFXHVC23.js";
9
9
  import {
10
10
  computeStats,
11
11
  renderSummary,
@@ -27,16 +27,16 @@ import {
27
27
  isVolatilePath,
28
28
  parseManifest
29
29
  } from "./chunk-S7EM5VMW.js";
30
- import "./chunk-EZUICRCA.js";
31
- import "./chunk-6LODTEG3.js";
30
+ import "./chunk-SA37SLYF.js";
31
+ import "./chunk-RJAFD4LO.js";
32
32
  import {
33
33
  probeChunks
34
- } from "./chunk-GNVDLLZI.js";
34
+ } from "./chunk-ZY6QLNKQ.js";
35
35
  import "./chunk-C2TS5MER.js";
36
36
  import {
37
37
  DotNS,
38
38
  parseDomainName
39
- } from "./chunk-BR2EQ2X3.js";
39
+ } from "./chunk-VTTN4BX7.js";
40
40
  import {
41
41
  bootstrapPool,
42
42
  derivePoolAccounts,
@@ -44,7 +44,7 @@ import {
44
44
  fetchPoolAuthorizations,
45
45
  selectAccount
46
46
  } from "./chunk-4TS6R26J.js";
47
- import "./chunk-GGHSZZZ3.js";
47
+ import "./chunk-2VNGK2MU.js";
48
48
  import {
49
49
  VERSION,
50
50
  loadRunState,
@@ -54,7 +54,7 @@ import {
54
54
  shouldSkipStaleWarning,
55
55
  stateFilePath,
56
56
  writeRunState
57
- } from "./chunk-CD27FW4F.js";
57
+ } from "./chunk-G2P5UIPX.js";
58
58
  import {
59
59
  DEFAULT_ENV_ID,
60
60
  defaultBundledPath,
@@ -62,10 +62,9 @@ import {
62
62
  listEnvironments,
63
63
  loadEnvironments,
64
64
  resolveEndpoints
65
- } from "./chunk-HUT7ZGRQ.js";
65
+ } from "./chunk-F36C363Y.js";
66
66
  import "./chunk-ZOC4GITL.js";
67
67
  import "./chunk-HOTQDYHD.js";
68
- import "./chunk-QGM4M3NI.js";
69
68
  export {
70
69
  DEFAULT_ENV_ID,
71
70
  DotNS,
@@ -3,7 +3,6 @@ import {
3
3
  writeEmbeddedManifestPlaceholder
4
4
  } from "./chunk-KOSF5FDO.js";
5
5
  import "./chunk-S7EM5VMW.js";
6
- import "./chunk-QGM4M3NI.js";
7
6
  export {
8
7
  finaliseEmbeddedManifest,
9
8
  writeEmbeddedManifestPlaceholder
@@ -5,7 +5,6 @@ import {
5
5
  fetchPreviousManifest
6
6
  } from "./chunk-5MRZ3V4A.js";
7
7
  import "./chunk-S7EM5VMW.js";
8
- import "./chunk-QGM4M3NI.js";
9
8
  export {
10
9
  DEFAULT_GATEWAY,
11
10
  DEFAULT_TIMEOUT_MS,
@@ -2,7 +2,6 @@ import {
2
2
  extractManifestFromCar
3
3
  } from "./chunk-5MRZ3V4A.js";
4
4
  import "./chunk-S7EM5VMW.js";
5
- import "./chunk-QGM4M3NI.js";
6
5
 
7
6
  // src/manifest-roundtrip.ts
8
7
  async function fetchManifestRoundtrip(cid, options) {
package/dist/manifest.js CHANGED
@@ -8,7 +8,6 @@ import {
8
8
  isVolatilePath,
9
9
  parseManifest
10
10
  } from "./chunk-S7EM5VMW.js";
11
- import "./chunk-QGM4M3NI.js";
12
11
  export {
13
12
  MANIFEST_DIR,
14
13
  MANIFEST_FILENAME,
@@ -5,9 +5,8 @@ import {
5
5
  maybeWriteMemoryReport,
6
6
  safeHeap,
7
7
  sampleFromBytes
8
- } from "./chunk-GGHSZZZ3.js";
9
- import "./chunk-CD27FW4F.js";
10
- import "./chunk-QGM4M3NI.js";
8
+ } from "./chunk-2VNGK2MU.js";
9
+ import "./chunk-G2P5UIPX.js";
11
10
  export {
12
11
  DEFAULT_THRESHOLD_MB,
13
12
  buildMemoryReport,
package/dist/merkle.js CHANGED
@@ -6,23 +6,22 @@ import {
6
6
  merkleizeKuboBackend,
7
7
  merkleizeWithStableOrder,
8
8
  rebuildOrderedCarFromBytes
9
- } from "./chunk-UVIG5UAV.js";
9
+ } from "./chunk-BFXHVC23.js";
10
10
  import "./chunk-MJTQOXBC.js";
11
11
  import "./chunk-KOSF5FDO.js";
12
12
  import "./chunk-5MRZ3V4A.js";
13
13
  import "./chunk-S7EM5VMW.js";
14
- import "./chunk-EZUICRCA.js";
15
- import "./chunk-6LODTEG3.js";
16
- import "./chunk-GNVDLLZI.js";
14
+ import "./chunk-SA37SLYF.js";
15
+ import "./chunk-RJAFD4LO.js";
16
+ import "./chunk-ZY6QLNKQ.js";
17
17
  import "./chunk-C2TS5MER.js";
18
- import "./chunk-BR2EQ2X3.js";
18
+ import "./chunk-VTTN4BX7.js";
19
19
  import "./chunk-4TS6R26J.js";
20
- import "./chunk-GGHSZZZ3.js";
21
- import "./chunk-CD27FW4F.js";
22
- import "./chunk-HUT7ZGRQ.js";
20
+ import "./chunk-2VNGK2MU.js";
21
+ import "./chunk-G2P5UIPX.js";
22
+ import "./chunk-F36C363Y.js";
23
23
  import "./chunk-ZOC4GITL.js";
24
24
  import "./chunk-HOTQDYHD.js";
25
- import "./chunk-QGM4M3NI.js";
26
25
  export {
27
26
  buildOrderedCar,
28
27
  merkleizeBackend,
package/dist/mirror.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  shouldMirrorToPaseoNextV2
3
3
  } from "./chunk-EQPIYO7J.js";
4
- import "./chunk-QGM4M3NI.js";
5
4
  export {
6
5
  shouldMirrorToPaseoNextV2
7
6
  };
package/dist/pool.js CHANGED
@@ -12,7 +12,6 @@ import {
12
12
  selectAccount,
13
13
  topUpBy
14
14
  } from "./chunk-4TS6R26J.js";
15
- import "./chunk-QGM4M3NI.js";
16
15
  export {
17
16
  _resetTestnetCacheForTests,
18
17
  bootstrapPool,
package/dist/run-state.js CHANGED
@@ -7,8 +7,7 @@ import {
7
7
  shouldSkipStaleWarning,
8
8
  stateFilePath,
9
9
  writeRunState
10
- } from "./chunk-CD27FW4F.js";
11
- import "./chunk-QGM4M3NI.js";
10
+ } from "./chunk-G2P5UIPX.js";
12
11
  export {
13
12
  VERSION,
14
13
  loadRunState,
package/dist/telemetry.js CHANGED
@@ -28,9 +28,8 @@ import {
28
28
  truncateAddress,
29
29
  withDeploySpan,
30
30
  withSpan
31
- } from "./chunk-GGHSZZZ3.js";
32
- import "./chunk-CD27FW4F.js";
33
- import "./chunk-QGM4M3NI.js";
31
+ } from "./chunk-2VNGK2MU.js";
32
+ import "./chunk-G2P5UIPX.js";
34
33
  export {
35
34
  VERSION,
36
35
  __setDeployRootSpanForTest,
@@ -9,10 +9,9 @@ import {
9
9
  isPreReleaseVersion,
10
10
  preReleaseWarning,
11
11
  promptYesNo
12
- } from "./chunk-6LODTEG3.js";
13
- import "./chunk-GGHSZZZ3.js";
14
- import "./chunk-CD27FW4F.js";
15
- import "./chunk-QGM4M3NI.js";
12
+ } from "./chunk-RJAFD4LO.js";
13
+ import "./chunk-2VNGK2MU.js";
14
+ import "./chunk-G2P5UIPX.js";
16
15
  export {
17
16
  assessVersion,
18
17
  checkNodeVersion,
@@ -11,26 +11,25 @@ Three one-time setup items are needed before the workflow can pass. Do them once
11
11
  ### Prerequisites
12
12
 
13
13
  - `bulletin-deploy` built locally (`npm run build`).
14
- - `@parity/dotns-cli` on `$PATH` (for the Bob registration in item 3). Install with `npm i -g @parity/dotns-cli`.
15
14
  - Network access to Paseo Bulletin RPC (`wss://paseo-bulletin-rpc.polkadot.io`) and Asset Hub Paseo (DotNS).
16
15
  - Alice's dev mnemonic: `bottom drive obey lake curtain smoke basket hold race lonely fit walk`.
17
16
 
18
- ### 1. Grant Alice PoP Full
17
+ ### 1. Verify Alice Personhood status
19
18
 
20
- Both happy-path scenarios (S1, S2) deploy as Alice via DotNS. Registering a new un-reserved base name requires PoP Full:
19
+ Both happy-path scenarios (S1, S2) deploy as Alice via DotNS. Registering a new un-reserved base name requires Personhood status from the chain's Personhood precompile:
21
20
 
22
21
  ```bash
23
- node tools/check-pop-status.mjs --grant full
22
+ node tools/check-pop-status.mjs
24
23
  ```
25
24
 
26
- Idempotent. Re-run if the check shows Alice below Full.
25
+ Re-run if the check cannot read Alice's status. Self-attestation is no longer available; ask the DotNS team to whitelist the signer if Alice needs a higher status for a label class.
27
26
 
28
27
  ### 2. Fund and map Bob on Asset Hub Paseo
29
28
 
30
29
  Bob (`//Bob` from the dev phrase) is the owner of `e2eowned.dot` (see item 3). He needs:
31
30
 
32
31
  - **Balance** on Asset Hub Paseo for his on-chain fees. Request ~1 PAS from the Paseo faucet at [https://faucet.polkadot.io/](https://faucet.polkadot.io/) sending to Bob's SS58 address `5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty`.
33
- - **Revive mapping** so he can sign EVM transactions. Running `check-pop-status` against Bob's key URI submits `map_account` automatically on connect if the mapping is absent:
32
+ - **Revive mapping** so he can sign EVM transactions. `check-pop-status` reports Bob's deterministic H160 and Personhood status without submitting transactions. A later Bob-signed registration or transfer triggers mapping when the chain supports automatic mapping.
34
33
 
35
34
  ```bash
36
35
  node tools/check-pop-status.mjs "bottom drive obey lake curtain smoke basket hold race lonely fit walk//Bob"
@@ -40,14 +39,9 @@ Expected output: Bob's SS58, his H160 (`0x41dccbd49b26c50d34355ed86ff0fa9e489d1e
40
39
 
41
40
  ### 3. Register `e2eowned.dot` directly as Bob
42
41
 
43
- The S3 negative scenario asserts that `bulletin-deploy` refuses to deploy to a domain owned by a different account (exit 78 with transfer guidance). Have Bob register the label via `dotns-cli` — no Alice intermediary, no Bulletin content needed (S3 never reads content):
42
+ The S3 negative scenario asserts that `bulletin-deploy` refuses to deploy to a domain owned by a different account (exit 78 with transfer guidance). Have Bob register the label with a DotNS registration tool outside `bulletin-deploy` — no Alice intermediary, no Bulletin content needed (S3 never reads content).
44
43
 
45
- ```bash
46
- dotns register domain -n e2eowned -s full --cb 30 \
47
- -k "bottom drive obey lake curtain smoke basket hold race lonely fit walk//Bob"
48
- ```
49
-
50
- Expected: exit 0, stdout ends with "Operation Complete" and `Domain: e2eowned.dot`. After this, `e2eowned.dot` is owned by Bob's H160 `0x41dccbd49b26c50d34355ed86ff0fa9e489d1e01`. PoP Full is auto-granted on testnet as part of the registration (an 8-char base name requires Full per `classifyDotnsLabel`). The `--cb 30` sets a 30s commitment buffer — the default 6s sometimes misses the 12s `minCommitmentAge` on Asset Hub Paseo.
44
+ Expected: `e2eowned.dot` is owned by Bob's H160 `0x41dccbd49b26c50d34355ed86ff0fa9e489d1e01`. If you use an upstream/manual DotNS tool for comparison, it is a bootstrap convenience only; `bulletin-deploy` itself does not require `@parity/dotns-cli`.
51
45
 
52
46
  If S3 ever fails because `e2eowned.dot` was transferred back to Alice by mistake, re-run this step to restore Bob's ownership.
53
47
 
@@ -57,7 +51,7 @@ If S3 ever fails because `e2eowned.dot` was transferred back to Alice by mistake
57
51
 
58
52
  Paseo Next v2 uses a separate Asset Hub (`wss://paseo-asset-hub-next-rpc.polkadot.io`) and Bulletin chain (`wss://paseo-bulletin-next-rpc.polkadot.io`) with different contract addresses. The `map_account` extrinsic does not exist on this chain — account mapping is triggered automatically when an account submits its first on-chain transaction.
59
53
 
60
- > **Note on PoP grants:** The paseo-next-v2 `POP_RULES` contract (`0x2002C1c15b88632Ad01c7770f6EbE1Ca05c8472E`) is **not permissionless** — `setUserPopStatus` can only be called by the contract owner (`0x4a519c30da0ec16aa9a73c26ea6ca6f701cce099`). `assets/environments.json` therefore sets `dotnsSelfAttest: false` for this env, and CI uses NoStatus-compatible labels instead of expecting bulletin-deploy to upgrade the signer.
54
+ > **Note on PoP grants:** The paseo-next-v2 `POP_RULES` contract (`0x2002C1c15b88632Ad01c7770f6EbE1Ca05c8472E`) is **not permissionless** — `setUserPopStatus` can only be called by the contract owner (`0x4a519c30da0ec16aa9a73c26ea6ca6f701cce099`). CI uses NoStatus-compatible labels instead of expecting `bulletin-deploy` to upgrade the signer.
61
55
 
62
56
  ### Prerequisites
63
57
 
@@ -114,7 +108,7 @@ The `e2eownedns02.dot` helper is idempotent: it leaves Bob-owned state alone and
114
108
 
115
109
  ## No pre-registration needed for `e2epoolns01.dot` / direct NoStatus labels
116
110
 
117
- The stable happy-path labels auto-register to the selected test signer on first deploy. Subsequent runs exercise the update path (new contenthash under existing ownership). On paseo-next-v2 these labels must remain NoStatus-compatible because the environment disables DotNS self-attestation.
111
+ The stable happy-path labels auto-register to the selected test signer on first deploy. Subsequent runs exercise the update path (new contenthash under existing ownership). On paseo-next-v2 these labels must remain NoStatus-compatible because DotNS self-attestation is no longer available.
118
112
 
119
113
  ## Verifying locally
120
114
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bulletin-deploy",
3
- "version": "0.7.20",
3
+ "version": "0.7.21",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,8 +32,9 @@
32
32
  "scripts": {
33
33
  "build": "tsup src/index.ts src/deploy.ts src/dotns.ts src/pool.ts src/telemetry.ts src/memory-report.ts src/merkle.ts src/gh-pages-mirror.ts src/version-check.ts src/bug-report.ts src/run-state.ts src/environments.ts src/errors.ts src/manifest.ts src/chunk-probe.ts src/manifest-embed.ts src/manifest-fetch.ts src/manifest-roundtrip.ts src/incremental-stats.ts src/chunker.ts src/mirror.ts --format esm --dts --clean --target node22",
34
34
  "refresh-environments": "node scripts/refresh-environments.mjs",
35
+ "check:watched-dependencies": "node tools/check-watched-dependencies.mjs",
35
36
  "prepare": "npm run build",
36
- "test": "npm run build && node --test test/test.js test/cli-help.test.js test/helpers/e2e-helpers.test.js test/environments.test.js test/refresh-environments.test.js",
37
+ "test": "npm run build && node --test test/test.js test/cli-help.test.js test/helpers/e2e-helpers.test.js test/environments.test.js test/refresh-environments.test.js test/watched-dependencies.test.js",
37
38
  "test:e2e": "npm run build && node --test test/e2e.test.js",
38
39
  "test:e2e:smoke": "bash scripts/e2e-pass.sh smoke",
39
40
  "test:e2e:pr": "bash scripts/e2e-pass.sh pr",
@@ -44,7 +45,6 @@
44
45
  "@ipld/car": "^5.4.3",
45
46
  "@ipld/dag-pb": "^4.1.3",
46
47
  "@noble/hashes": "^1.7.2",
47
- "@parity/dotns-cli": "^0.6.1",
48
48
  "@polkadot-api/metadata-builders": "^0.14.2",
49
49
  "@polkadot-api/substrate-bindings": "^0.20.2",
50
50
  "@polkadot-labs/hdkd": "^0.0.28",
@@ -1,37 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
8
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
9
- }) : x)(function(x) {
10
- if (typeof require !== "undefined") return require.apply(this, arguments);
11
- throw Error('Dynamic require of "' + x + '" is not supported');
12
- });
13
- var __commonJS = (cb, mod) => function __require2() {
14
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
15
- };
16
- var __copyProps = (to, from, except, desc) => {
17
- if (from && typeof from === "object" || typeof from === "function") {
18
- for (let key of __getOwnPropNames(from))
19
- if (!__hasOwnProp.call(to, key) && key !== except)
20
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
- }
22
- return to;
23
- };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
- mod
31
- ));
32
-
33
- export {
34
- __require,
35
- __commonJS,
36
- __toESM
37
- };