bulletin-deploy 0.7.4 → 0.7.5

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.
@@ -9,10 +9,10 @@ import {
9
9
  offerBugReport,
10
10
  scrubSecrets,
11
11
  setDeployContext
12
- } from "./chunk-YYULF2JX.js";
13
- import "./chunk-CQ753LDA.js";
14
- import "./chunk-DHQ3JGF4.js";
15
- import "./chunk-UJP2PZGU.js";
12
+ } from "./chunk-UXKC7JAM.js";
13
+ import "./chunk-XOKNNK6E.js";
14
+ import "./chunk-WOJRQCQV.js";
15
+ import "./chunk-GQFH2NRB.js";
16
16
  import "./chunk-QGM4M3NI.js";
17
17
  export {
18
18
  buildCliFlagsSummary,
@@ -6,7 +6,7 @@ import * as path from "path";
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "bulletin-deploy",
9
- version: "0.7.4",
9
+ version: "0.7.5",
10
10
  private: false,
11
11
  repository: {
12
12
  type: "git",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  setDeployContext
3
- } from "./chunk-YYULF2JX.js";
3
+ } from "./chunk-UXKC7JAM.js";
4
4
  import {
5
5
  DotNS,
6
6
  TX_TIMEOUT_MS,
@@ -8,7 +8,7 @@ import {
8
8
  parseDomainName,
9
9
  popStatusName,
10
10
  verifyNonceAdvanced
11
- } from "./chunk-YREZFNCC.js";
11
+ } from "./chunk-SAMH7JFG.js";
12
12
  import {
13
13
  MirrorSkipped,
14
14
  mirrorToGitHubPages,
@@ -27,7 +27,7 @@ import {
27
27
  truncateAddress,
28
28
  withDeploySpan,
29
29
  withSpan
30
- } from "./chunk-DHQ3JGF4.js";
30
+ } from "./chunk-WOJRQCQV.js";
31
31
  import {
32
32
  merkleizeJS
33
33
  } from "./chunk-B7GUYYAN.js";
@@ -214,14 +214,12 @@ async function getDirectProvider(mnemonic, derivationPath = "") {
214
214
  setDeployAttribute("deploy.signer.address", truncateAddress(ss58));
215
215
  return { client, unsafeApi, signer, ss58 };
216
216
  }
217
- var MAX_BEST_CHAIN_DROPS = 5;
218
217
  function watchTransaction(tx, signer, txOpts, onSuccess, { label = "transaction", rpc, senderSS58, expectedNonce, timeoutMs, fetchNonce: fetchNonceOverride } = {}) {
219
218
  const timeout = timeoutMs ?? TX_TIMEOUT_MS;
220
219
  const _fetchNonce = fetchNonceOverride ?? fetchNonce;
221
220
  return new Promise((resolve2, reject) => {
222
221
  let settled = false;
223
222
  let sub;
224
- let dropCount = 0;
225
223
  const settle = (fn) => (...args) => {
226
224
  if (settled) return;
227
225
  settled = true;
@@ -232,7 +230,7 @@ function watchTransaction(tx, signer, txOpts, onSuccess, { label = "transaction"
232
230
  }
233
231
  fn(...args);
234
232
  };
235
- const tryNonceFallback = async (subscriptionErrored) => {
233
+ const tryNonceFallback = async () => {
236
234
  if (!rpc || !senderSS58 || expectedNonce == null) return false;
237
235
  try {
238
236
  const endpoints = Array.isArray(rpc) ? rpc : [rpc];
@@ -240,7 +238,7 @@ function watchTransaction(tx, signer, txOpts, onSuccess, { label = "transaction"
240
238
  if (settled) return true;
241
239
  if (verified.advanced) {
242
240
  console.log(` ${label}: nonce advanced past ${expectedNonce} (witnessed by ${verified.witnessRpc}), tx was included`);
243
- settle(resolve2)({ value: onSuccess(), viaFallback: true, subscriptionError: subscriptionErrored });
241
+ settle(resolve2)({ value: onSuccess(), viaFallback: true });
244
242
  return true;
245
243
  }
246
244
  } catch (e) {
@@ -251,28 +249,21 @@ function watchTransaction(tx, signer, txOpts, onSuccess, { label = "transaction"
251
249
  };
252
250
  const timer = setTimeout(async () => {
253
251
  if (settled) return;
254
- if (await tryNonceFallback(false)) return;
252
+ if (await tryNonceFallback()) return;
255
253
  settle(reject)(new Error(`${label} timed out after ${timeout / 1e3}s waiting for block confirmation`));
256
254
  }, timeout);
257
255
  sub = tx.signSubmitAndWatch(signer, txOpts).subscribe({
258
256
  next: async (event) => {
259
- if (event.type === "txBestBlocksState") {
260
- if (event.found) {
261
- if (event.ok) {
262
- settle(resolve2)({ value: onSuccess(event), viaFallback: false, subscriptionError: false });
263
- } else {
264
- settle(reject)(new Error(`${label} dispatch error`));
265
- }
266
- } else {
267
- dropCount++;
268
- if (dropCount >= MAX_BEST_CHAIN_DROPS) {
269
- console.log(` ${label}: tx dropped ${dropCount} times, checking nonce...`);
270
- if (await tryNonceFallback(true)) return;
271
- settle(reject)(new Error(`${label} tx dropped from best chain ${dropCount} times`));
272
- } else {
273
- console.log(` ${label}: tx dropped from best chain (${dropCount}/${MAX_BEST_CHAIN_DROPS}), waiting...`);
274
- }
275
- }
257
+ if (event.type !== "txBestBlocksState") return;
258
+ if (event.found) {
259
+ if (event.ok) settle(resolve2)({ value: onSuccess(event), viaFallback: false });
260
+ else settle(reject)(new Error(`${label} dispatch error`));
261
+ return;
262
+ }
263
+ if (event.isValid === false) {
264
+ console.log(` ${label}: tx rejected by pool (isValid:false), checking nonce fallback...`);
265
+ if (await tryNonceFallback()) return;
266
+ settle(reject)(new Error(`${label} tx rejected by pool (isValid:false)`));
276
267
  }
277
268
  },
278
269
  error: (e) => {
@@ -287,11 +278,11 @@ async function storeChunk(unsafeApi, signer, chunkBytes, nonce, ss58, opts = {})
287
278
  const cid = createCID(chunkBytes, CID_CONFIG.codec, hashCode);
288
279
  const tx = unsafeApi.tx.TransactionStorage.store_with_cid_config({ cid: { codec: BigInt(CID_CONFIG.codec), hashing: toHashingEnum(hashCode) }, data: Binary.fromBytes(chunkBytes) });
289
280
  const txOpts = { mortality: { mortal: true, period: CHUNK_MORTALITY_PERIOD }, nonce };
290
- const { value, viaFallback, subscriptionError } = await watchTransaction(tx, signer, txOpts, () => {
281
+ const { value, viaFallback } = await watchTransaction(tx, signer, txOpts, () => {
291
282
  console.log(` CID: ${cid.toString()}`);
292
283
  return { cid, len: chunkBytes.length };
293
284
  }, { label: `chunk(nonce:${nonce})`, rpc: BULLETIN_ENDPOINTS, senderSS58: ss58, expectedNonce: nonce, timeoutMs: CHUNK_TIMEOUT_MS, fetchNonce: opts.fetchNonce });
294
- return { ...value, viaFallback, subscriptionError };
285
+ return { ...value, viaFallback };
295
286
  }
296
287
  async function storeFile(contentBytes, { client: existingClient, unsafeApi: existingApi, signer: existingSigner } = {}) {
297
288
  console.log(`
@@ -427,8 +418,7 @@ async function storeChunkedContent(chunks, { client: existingClient, unsafeApi:
427
418
  }
428
419
  });
429
420
  const failures = results.map((r, j) => r.status === "rejected" ? { index: batchIndices[j], chunkData: batchChunks[j], error: r.reason } : null).filter(Boolean);
430
- const subscriptionErrored = results.some((r) => r.status === "fulfilled" && r.value.subscriptionError);
431
- const needsReconnect = failures.some((f) => isConnectionError(f.error)) || subscriptionErrored;
421
+ const needsReconnect = failures.some((f) => isConnectionError(f.error));
432
422
  if (needsReconnect && reconnect && reconnectionsUsed < MAX_RECONNECTIONS) {
433
423
  await doReconnect();
434
424
  const currentNonce = await _fetchNonce(BULLETIN_ENDPOINTS, ss58);
@@ -529,9 +519,6 @@ async function storeChunkedContent(chunks, { client: existingClient, unsafeApi:
529
519
  return rootCid.toString();
530
520
  }, { label: "root-node", rpc: BULLETIN_ENDPOINTS, senderSS58: ss58, expectedNonce: rootNonce, timeoutMs: CHUNK_TIMEOUT_MS, fetchNonce: fetchNonceOverride });
531
521
  result = watchResult.value;
532
- if (watchResult.subscriptionError && reconnect && reconnectionsUsed < MAX_RECONNECTIONS) {
533
- await doReconnect();
534
- }
535
522
  break;
536
523
  } catch (e) {
537
524
  if (reconnect && reconnectionsUsed < MAX_RECONNECTIONS) {
@@ -723,22 +710,6 @@ async function deploy(content, domainName = null, options = {}) {
723
710
  await preflight.connect(
724
711
  options.signer && options.signerAddress ? { signer: options.signer, signerAddress: options.signerAddress } : options.mnemonic ? { mnemonic: options.mnemonic, derivationPath: options.derivationPath } : {}
725
712
  );
726
- const mappingDeadline = Date.now() + 15e3;
727
- let mappingConfirmed = false;
728
- while (Date.now() < mappingDeadline) {
729
- if (await preflight.clientWrapper.checkIfAccountMapped(preflight.substrateAddress)) {
730
- mappingConfirmed = true;
731
- break;
732
- }
733
- await new Promise((r) => setTimeout(r, 1500));
734
- }
735
- if (!mappingConfirmed) {
736
- preflight.disconnect();
737
- throw new NonRetryableError(
738
- `Account mapping did not take effect on-chain for ${preflight.substrateAddress}. The map_account tx may have been dropped or hit a dispatch error \u2014 check the signer's balance for existential deposit + fees.`
739
- );
740
- }
741
- console.log(` Account: mapped`);
742
713
  if (parsed?.isSubdomain) {
743
714
  try {
744
715
  const { owned: subOwned } = await preflight.checkSubdomainOwnership(parsed.sublabel, parsed.parentLabel);
@@ -942,16 +913,11 @@ async function deploy(content, domainName = null, options = {}) {
942
913
  const freshness = await pollMirrorFreshness(mirror.url, cid, { timeoutMs: 3 * 60 * 1e3, intervalMs: 1e4 });
943
914
  if (freshness.verified) {
944
915
  console.log(`ok (${freshness.attempts} attempt${freshness.attempts === 1 ? "" : "s"}, ${(freshness.durationMs / 1e3).toFixed(0)}s).`);
916
+ setDeployAttribute("deploy.gh_pages_freshness_verified", "true");
945
917
  } else {
946
918
  console.log(`timed out.`);
947
919
  console.log(` GitHub Pages last served cid=${freshness.lastCid ?? "n/a"} (expected ${cid}); it should catch up shortly. Non-fatal.`);
948
- captureWarning("gh-pages mirror freshness poll timed out", {
949
- url: mirror.url,
950
- expectedCid: cid,
951
- lastCid: freshness.lastCid ?? "n/a",
952
- durationMs: freshness.durationMs,
953
- attempts: freshness.attempts
954
- });
920
+ setDeployAttribute("deploy.gh_pages_freshness_verified", "false");
955
921
  }
956
922
  });
957
923
  }
@@ -2,7 +2,7 @@ import {
2
2
  captureWarning,
3
3
  setDeployAttribute,
4
4
  withSpan
5
- } from "./chunk-DHQ3JGF4.js";
5
+ } from "./chunk-WOJRQCQV.js";
6
6
  import {
7
7
  isTestnetSpecName
8
8
  } from "./chunk-JHNW2EKY.js";
@@ -227,11 +227,25 @@ function sanitizeDomainLabel(label) {
227
227
  function validateDomainLabel(label) {
228
228
  if (!/^[a-z0-9-]{3,}$/.test(label)) throw new Error("Invalid domain label: must contain only lowercase letters, digits, and hyphens, min 3 chars");
229
229
  if (label.startsWith("-") || label.endsWith("-")) throw new Error("Invalid domain label: cannot start or end with hyphen");
230
- return sanitizeDomainLabel(label);
230
+ const sanitized = sanitizeDomainLabel(label);
231
+ if (/-\d+$/.test(sanitized)) {
232
+ const baseWithHyphen = sanitized.replace(/\d+$/, "");
233
+ const dropHyphen = sanitized.replace(/-(\d+)$/, "$1");
234
+ const insertSegment = sanitized.replace(/-(\d+)$/, "-pr$1");
235
+ throw new Error(
236
+ `Invalid domain label: "${sanitized}" \u2014 dotns base-name extraction leaves a trailing hyphen ("${baseWithHyphen}"), which the registry rejects with PopError("Name must be lowercase ASCII DNS label"). Drop the hyphen before the digits (e.g. "${dropHyphen}") or add a non-digit segment between (e.g. "${insertSegment}").`
237
+ );
238
+ }
239
+ return sanitized;
231
240
  }
232
241
  function isCommitmentMature(chainNowSeconds, commitTimestampSeconds, minimumAgeSeconds) {
233
242
  return chainNowSeconds > commitTimestampSeconds + minimumAgeSeconds;
234
243
  }
244
+ function isExplicitCommitmentBuffer(envValue) {
245
+ if (envValue === void 0 || envValue === "") return false;
246
+ const parsed = Number(envValue);
247
+ return Number.isFinite(parsed) && parsed > 0;
248
+ }
235
249
  function classifyDotnsLabel(label) {
236
250
  const totalLength = label.length;
237
251
  const trailingDigits = countTrailingDigits(label);
@@ -435,34 +449,46 @@ var DotNS = class {
435
449
  this._mnemonic = null;
436
450
  }
437
451
  const authEnv = buildAuthEnv({ mnemonic: this._mnemonic ?? void 0, keyUri: this._keyUri ?? void 0 });
438
- const popInfo = await withTimeout(
439
- runDotnsCli(["pop", "info", "--json", ...rpcFlag(rpc)], authEnv),
440
- CONNECTION_TIMEOUT_MS,
441
- "pop info (connect)"
442
- );
443
- this.substrateAddress = popInfo.substrate;
444
- this.evmAddress = popInfo.evm;
452
+ await cryptoWaitReady();
453
+ const keyring = new Keyring({ type: "sr25519" });
454
+ const account = this._keyUri ? keyring.addFromUri(this._keyUri) : keyring.addFromMnemonic(source);
455
+ this.signer = getPolkadotSigner(account.publicKey, "Sr25519", async (input) => account.sign(input));
456
+ this.substrateAddress = account.address;
445
457
  console.log(` SS58 Address: ${this.substrateAddress}`);
446
- console.log(` H160 Address: ${this.evmAddress}`);
447
458
  try {
448
- await cryptoWaitReady();
449
- const keyring = new Keyring({ type: "sr25519" });
450
- const account = isKeyUri || this._keyUri ? keyring.addFromUri(this._keyUri ?? source) : keyring.addFromMnemonic(source);
451
- this.signer = getPolkadotSigner(account.publicKey, "Sr25519", async (input) => account.sign(input));
452
459
  this.client = createClient(getWsProvider(rpc, { heartbeatTimeout: WS_HEARTBEAT_TIMEOUT_MS }));
453
460
  const unsafeApi = this.client.getUnsafeApi();
454
461
  this.clientWrapper = new ReviveClientWrapper(unsafeApi);
462
+ this.evmAddress = await withTimeout(
463
+ this.clientWrapper.getEvmAddress(this.substrateAddress),
464
+ CONNECTION_TIMEOUT_MS,
465
+ "ReviveApi.address"
466
+ );
467
+ console.log(` H160 Address: ${this.evmAddress}`);
455
468
  } catch (e) {
456
- captureWarning("DotNS polkadot-api client setup failed (contractCall / checkIfAccountMapped unavailable)", { error: e.message?.slice(0, 200) });
469
+ throw new Error(`DotNS connect: failed to resolve EVM address from ${this.substrateAddress} via ReviveApi.address (${e.message?.slice(0, 200)})`);
457
470
  }
458
- try {
459
- await runDotnsCli(["account", "map", ...rpcFlag(rpc)], authEnv);
460
- } catch (e) {
461
- const msg = e.message?.toLowerCase() ?? "";
462
- if (!msg.includes("already") && !msg.includes("mapped")) {
463
- captureWarning("account map failed during connect", { error: e.message?.slice(0, 200) });
471
+ if (!await this.clientWrapper.checkIfAccountMapped(this.substrateAddress)) {
472
+ console.log(` Mapping account on Asset Hub Revive...`);
473
+ try {
474
+ await runDotnsCli(["account", "map", ...rpcFlag(rpc)], authEnv);
475
+ } catch (e) {
476
+ captureWarning("account map failed during connect (will rely on chain confirmation)", { error: e.message?.slice(0, 200) });
477
+ }
478
+ const mappingDeadline = Date.now() + 15e3;
479
+ let mappingConfirmed = false;
480
+ while (Date.now() < mappingDeadline) {
481
+ if (await this.clientWrapper.checkIfAccountMapped(this.substrateAddress)) {
482
+ mappingConfirmed = true;
483
+ break;
484
+ }
485
+ await new Promise((r) => setTimeout(r, 1500));
486
+ }
487
+ if (!mappingConfirmed) {
488
+ throw new Error(`Account mapping did not take effect on-chain for ${this.substrateAddress}. The map_account tx may have been dropped or hit a dispatch error \u2014 check the signer's balance for existential deposit + fees.`);
464
489
  }
465
490
  }
491
+ console.log(` Account: mapped`);
466
492
  try {
467
493
  setDeployAttribute("deploy.dotns_cli.version", _dotnsCliVersion);
468
494
  } catch {
@@ -785,7 +811,7 @@ var DotNS = class {
785
811
  console.log(`
786
812
  Registering ${label}.dot via dotns CLI...`);
787
813
  const authEnv = buildAuthEnv({ mnemonic: this._mnemonic ?? void 0, keyUri: this._keyUri ?? void 0 });
788
- const userSetBuffer = !!process.env.DOTNS_COMMITMENT_BUFFER;
814
+ const userSetBuffer = isExplicitCommitmentBuffer(process.env.DOTNS_COMMITMENT_BUFFER);
789
815
  if (!userSetBuffer) {
790
816
  authEnv.DOTNS_COMMITMENT_BUFFER = "30";
791
817
  }
@@ -857,6 +883,7 @@ export {
857
883
  sanitizeDomainLabel,
858
884
  validateDomainLabel,
859
885
  isCommitmentMature,
886
+ isExplicitCommitmentBuffer,
860
887
  classifyDotnsLabel,
861
888
  canRegister,
862
889
  simulateUserStatus,
@@ -2,11 +2,11 @@ import {
2
2
  classifyErrorArea,
3
3
  isInteractive,
4
4
  promptYesNo
5
- } from "./chunk-CQ753LDA.js";
5
+ } from "./chunk-XOKNNK6E.js";
6
6
  import {
7
7
  VERSION,
8
8
  getCurrentSentryTraceId
9
- } from "./chunk-DHQ3JGF4.js";
9
+ } from "./chunk-WOJRQCQV.js";
10
10
 
11
11
  // src/bug-report.ts
12
12
  import { execSync, execFileSync } from "child_process";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  package_default,
3
3
  writeRunState
4
- } from "./chunk-UJP2PZGU.js";
4
+ } from "./chunk-GQFH2NRB.js";
5
5
 
6
6
  // src/memory-report.ts
7
7
  import * as fs2 from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-DHQ3JGF4.js";
3
+ } from "./chunk-WOJRQCQV.js";
4
4
 
5
5
  // src/version-check.ts
6
6
  import { execSync, execFileSync } from "child_process";
package/dist/deploy.js CHANGED
@@ -25,13 +25,13 @@ import {
25
25
  storeChunkedContent,
26
26
  storeDirectory,
27
27
  storeFile
28
- } from "./chunk-SVKCVNXD.js";
29
- import "./chunk-YYULF2JX.js";
30
- import "./chunk-CQ753LDA.js";
31
- import "./chunk-YREZFNCC.js";
28
+ } from "./chunk-KQ75CSJJ.js";
29
+ import "./chunk-UXKC7JAM.js";
30
+ import "./chunk-XOKNNK6E.js";
31
+ import "./chunk-SAMH7JFG.js";
32
32
  import "./chunk-2Q2WSKFD.js";
33
- import "./chunk-DHQ3JGF4.js";
34
- import "./chunk-UJP2PZGU.js";
33
+ import "./chunk-WOJRQCQV.js";
34
+ import "./chunk-GQFH2NRB.js";
35
35
  import "./chunk-B7GUYYAN.js";
36
36
  import "./chunk-JHNW2EKY.js";
37
37
  import "./chunk-QGM4M3NI.js";
package/dist/dotns.d.ts CHANGED
@@ -88,6 +88,7 @@ declare function stripTrailingDigits(label: string): string;
88
88
  declare function sanitizeDomainLabel(label: string): string;
89
89
  declare function validateDomainLabel(label: string): string;
90
90
  declare function isCommitmentMature(chainNowSeconds: number, commitTimestampSeconds: number, minimumAgeSeconds: number): boolean;
91
+ declare function isExplicitCommitmentBuffer(envValue: string | undefined): boolean;
91
92
  declare function classifyDotnsLabel(label: string): {
92
93
  status: number;
93
94
  message: string;
@@ -155,4 +156,4 @@ declare class DotNS {
155
156
  }
156
157
  declare const dotns: DotNS;
157
158
 
158
- export { CONNECTION_TIMEOUT_MS, CONTRACTS, DECIMALS, DEFAULT_MNEMONIC, DOTNS_TX_MAX_ATTEMPTS, DOT_NODE, DotNS, type DotNSConnectOptions, type DotnsPreflightResult, 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, convertWeiToNative, countTrailingDigits, dotns, fetchNonce, isCommitmentMature, parseDomainName, parseProofOfPersonhoodStatus, popStatusName, runDotnsCli, sanitizeDomainLabel, simulateUserStatus, stripTrailingDigits, validateDomainLabel, verifyNonceAdvanced };
159
+ export { CONNECTION_TIMEOUT_MS, CONTRACTS, DECIMALS, DEFAULT_MNEMONIC, DOTNS_TX_MAX_ATTEMPTS, DOT_NODE, DotNS, type DotNSConnectOptions, type DotnsPreflightResult, 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, convertWeiToNative, countTrailingDigits, dotns, fetchNonce, isCommitmentMature, isExplicitCommitmentBuffer, parseDomainName, parseProofOfPersonhoodStatus, popStatusName, runDotnsCli, sanitizeDomainLabel, simulateUserStatus, stripTrailingDigits, validateDomainLabel, verifyNonceAdvanced };
package/dist/dotns.js CHANGED
@@ -23,6 +23,7 @@ import {
23
23
  dotns,
24
24
  fetchNonce,
25
25
  isCommitmentMature,
26
+ isExplicitCommitmentBuffer,
26
27
  parseDomainName,
27
28
  parseProofOfPersonhoodStatus,
28
29
  popStatusName,
@@ -32,9 +33,9 @@ import {
32
33
  stripTrailingDigits,
33
34
  validateDomainLabel,
34
35
  verifyNonceAdvanced
35
- } from "./chunk-YREZFNCC.js";
36
- import "./chunk-DHQ3JGF4.js";
37
- import "./chunk-UJP2PZGU.js";
36
+ } from "./chunk-SAMH7JFG.js";
37
+ import "./chunk-WOJRQCQV.js";
38
+ import "./chunk-GQFH2NRB.js";
38
39
  import "./chunk-JHNW2EKY.js";
39
40
  import "./chunk-QGM4M3NI.js";
40
41
  export {
@@ -62,6 +63,7 @@ export {
62
63
  dotns,
63
64
  fetchNonce,
64
65
  isCommitmentMature,
66
+ isExplicitCommitmentBuffer,
65
67
  parseDomainName,
66
68
  parseProofOfPersonhoodStatus,
67
69
  popStatusName,
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  deploy
3
- } from "./chunk-SVKCVNXD.js";
4
- import "./chunk-YYULF2JX.js";
5
- import "./chunk-CQ753LDA.js";
3
+ } from "./chunk-KQ75CSJJ.js";
4
+ import "./chunk-UXKC7JAM.js";
5
+ import "./chunk-XOKNNK6E.js";
6
6
  import {
7
7
  DotNS,
8
8
  parseDomainName
9
- } from "./chunk-YREZFNCC.js";
9
+ } from "./chunk-SAMH7JFG.js";
10
10
  import "./chunk-2Q2WSKFD.js";
11
- import "./chunk-DHQ3JGF4.js";
11
+ import "./chunk-WOJRQCQV.js";
12
12
  import {
13
13
  VERSION,
14
14
  loadRunState,
@@ -18,7 +18,7 @@ import {
18
18
  shouldSkipStaleWarning,
19
19
  stateFilePath,
20
20
  writeRunState
21
- } from "./chunk-UJP2PZGU.js";
21
+ } from "./chunk-GQFH2NRB.js";
22
22
  import {
23
23
  merkleizeJS
24
24
  } from "./chunk-B7GUYYAN.js";
@@ -5,8 +5,8 @@ import {
5
5
  maybeWriteMemoryReport,
6
6
  safeHeap,
7
7
  sampleFromBytes
8
- } from "./chunk-DHQ3JGF4.js";
9
- import "./chunk-UJP2PZGU.js";
8
+ } from "./chunk-WOJRQCQV.js";
9
+ import "./chunk-GQFH2NRB.js";
10
10
  import "./chunk-QGM4M3NI.js";
11
11
  export {
12
12
  DEFAULT_THRESHOLD_MB,
package/dist/run-state.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  shouldSkipStaleWarning,
8
8
  stateFilePath,
9
9
  writeRunState
10
- } from "./chunk-UJP2PZGU.js";
10
+ } from "./chunk-GQFH2NRB.js";
11
11
  import "./chunk-QGM4M3NI.js";
12
12
  export {
13
13
  VERSION,
package/dist/telemetry.js CHANGED
@@ -24,8 +24,8 @@ import {
24
24
  truncateAddress,
25
25
  withDeploySpan,
26
26
  withSpan
27
- } from "./chunk-DHQ3JGF4.js";
28
- import "./chunk-UJP2PZGU.js";
27
+ } from "./chunk-WOJRQCQV.js";
28
+ import "./chunk-GQFH2NRB.js";
29
29
  import "./chunk-QGM4M3NI.js";
30
30
  export {
31
31
  VERSION,
@@ -8,9 +8,9 @@ import {
8
8
  isPreReleaseVersion,
9
9
  preReleaseWarning,
10
10
  promptYesNo
11
- } from "./chunk-CQ753LDA.js";
12
- import "./chunk-DHQ3JGF4.js";
13
- import "./chunk-UJP2PZGU.js";
11
+ } from "./chunk-XOKNNK6E.js";
12
+ import "./chunk-WOJRQCQV.js";
13
+ import "./chunk-GQFH2NRB.js";
14
14
  import "./chunk-QGM4M3NI.js";
15
15
  export {
16
16
  assessVersion,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bulletin-deploy",
3
- "version": "0.7.4",
3
+ "version": "0.7.5",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",