bulletin-deploy 0.17.1 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +5 -6
  2. package/assets/environments.json +0 -3
  3. package/dist/auth-config.js +4 -4
  4. package/dist/bug-report.js +4 -4
  5. package/dist/chain-health.js +3 -3
  6. package/dist/{chunk-S7OW6CYF.js → chunk-3CES4RZG.js} +1 -1
  7. package/dist/{chunk-YVHS6WA3.js → chunk-3TDAKT7Y.js} +2 -2
  8. package/dist/{chunk-VRHVH6RM.js → chunk-6BIAW73W.js} +1 -1
  9. package/dist/{chunk-JB4OIM7X.js → chunk-6LR7OM7F.js} +13 -13
  10. package/dist/{chunk-6GLMR2T2.js → chunk-6WLVGBLQ.js} +2 -2
  11. package/dist/{chunk-X4IXDGEY.js → chunk-7I3MTGOR.js} +43 -15
  12. package/dist/{chunk-JQZDP2TS.js → chunk-A7GZZQ3Q.js} +2 -2
  13. package/dist/{chunk-63EPGOEW.js → chunk-F4OW5UVA.js} +1 -1
  14. package/dist/{chunk-6ZOTJHVI.js → chunk-HDGD5FYX.js} +0 -3
  15. package/dist/{chunk-T6HNSBZD.js → chunk-LZ7HCV4C.js} +1 -1
  16. package/dist/{chunk-5P2IARIJ.js → chunk-RSAEMNX4.js} +80 -37
  17. package/dist/{chunk-AVK74F4Y.js → chunk-TIQ3TCK4.js} +4 -4
  18. package/dist/{chunk-6FNOSDZU.js → chunk-UY2DR5V4.js} +3 -3
  19. package/dist/{chunk-SCLX3WSE.js → chunk-WYJX7OFF.js} +1 -1
  20. package/dist/chunk-probe.js +3 -3
  21. package/dist/commands/login.js +13 -13
  22. package/dist/commands/logout.js +5 -5
  23. package/dist/commands/transfer.js +6 -6
  24. package/dist/commands/whoami.js +4 -4
  25. package/dist/deploy-actors.js +8 -8
  26. package/dist/deploy.d.ts +2 -2
  27. package/dist/deploy.js +13 -13
  28. package/dist/dotns-protocol.d.ts +69 -4
  29. package/dist/dotns-protocol.js +5 -1
  30. package/dist/dotns.d.ts +18 -4
  31. package/dist/dotns.js +8 -6
  32. package/dist/environments.js +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.js +14 -14
  35. package/dist/manifest/publish.js +14 -14
  36. package/dist/memory-report.js +2 -2
  37. package/dist/merkle.js +13 -13
  38. package/dist/personhood/bootstrap.js +6 -6
  39. package/dist/personhood/people-client.js +6 -6
  40. package/dist/run-state.js +1 -1
  41. package/dist/sss-allowance-cache.js +5 -5
  42. package/dist/storage-signer.js +13 -13
  43. package/dist/telemetry.js +2 -2
  44. package/dist/version-check.js +3 -3
  45. package/package.json +2 -2
@@ -7,13 +7,13 @@ import {
7
7
  } from "./chunk-AYAVRPAP.js";
8
8
  import {
9
9
  validateContractAddresses
10
- } from "./chunk-6ZOTJHVI.js";
10
+ } from "./chunk-HDGD5FYX.js";
11
11
  import {
12
12
  NonRetryableError
13
13
  } from "./chunk-ZOC4GITL.js";
14
14
  import {
15
15
  ChainHealthSampler
16
- } from "./chunk-T6HNSBZD.js";
16
+ } from "./chunk-LZ7HCV4C.js";
17
17
  import {
18
18
  captureWarning,
19
19
  markCodePath,
@@ -21,12 +21,14 @@ import {
21
21
  setDeploySentryTag,
22
22
  truncateAddress,
23
23
  withSpan
24
- } from "./chunk-S7OW6CYF.js";
24
+ } from "./chunk-3CES4RZG.js";
25
25
  import {
26
+ POP_CONTROLLER_PROBE_ABI,
27
+ PROTOCOL_PROBE_LABEL,
26
28
  classifyProtocolVersion,
27
29
  getAdapter,
28
30
  withTenPercentBuffer
29
- } from "./chunk-X4IXDGEY.js";
31
+ } from "./chunk-7I3MTGOR.js";
30
32
 
31
33
  // src/dotns.ts
32
34
  import crypto from "crypto";
@@ -243,6 +245,7 @@ function makeRetryStatusFilter(sink) {
243
245
  }
244
246
  var DEFAULT_MNEMONIC = "bottom drive obey lake curtain smoke basket hold race lonely fit walk";
245
247
  var DEFAULT_TLD = "dot";
248
+ var DEFAULT_DOTNS_PROFILE = "poprules-startingPrice";
246
249
  var KNOWN_TLDS = ["dot", "paseo", "test", "testnet"];
247
250
  function normalizeOnChainTld(raw) {
248
251
  return raw.startsWith(".") ? raw.slice(1) : raw;
@@ -609,16 +612,40 @@ function sanitizeDomainLabel(label) {
609
612
  console.log(` Domain label sanitized: "${label}" \u2192 "${stripped}" (normalized trailing digits to 0)`);
610
613
  return stripped;
611
614
  }
612
- function classifyLabelStatus(label) {
613
- const trailingDigits = countTrailingDigits(label);
614
- const baseLength = label.length - trailingDigits;
615
- if (trailingDigits === 1 || trailingDigits > 2 || baseLength <= 5) {
616
- return { status: ProofOfPersonhoodStatus.Reserved, trailingDigits, baseLength };
617
- }
615
+ var LITE_USERNAME_RE = /^([a-z]+)\.(\d{2})$/;
616
+ function classifyByLadder(baseLength, isLiteSignal) {
617
+ if (baseLength <= 5) return ProofOfPersonhoodStatus.Reserved;
618
618
  if (baseLength <= 8) {
619
- return { status: trailingDigits === 2 ? ProofOfPersonhoodStatus.ProofOfPersonhoodLite : ProofOfPersonhoodStatus.ProofOfPersonhoodFull, trailingDigits, baseLength };
619
+ return isLiteSignal ? ProofOfPersonhoodStatus.ProofOfPersonhoodLite : ProofOfPersonhoodStatus.ProofOfPersonhoodFull;
620
+ }
621
+ return ProofOfPersonhoodStatus.NoStatus;
622
+ }
623
+ var TRAILING_DIGIT_COUNT_GATE_APPLIES = {
624
+ "poprules-startingPrice": true,
625
+ "v0.5.8-rc1": true,
626
+ "v0.6.0": false
627
+ };
628
+ function classifyLabelStatus(label, profile = DEFAULT_DOTNS_PROFILE) {
629
+ const trailingDigits = countTrailingDigits(label);
630
+ switch (profile) {
631
+ case "v0.6.0": {
632
+ const lite = LITE_USERNAME_RE.exec(label);
633
+ const baseLength = lite ? lite[1].length : label.length;
634
+ return { status: classifyByLadder(baseLength, lite !== null), trailingDigits, baseLength };
635
+ }
636
+ case "poprules-startingPrice":
637
+ case "v0.5.8-rc1": {
638
+ const baseLength = label.length - trailingDigits;
639
+ if (trailingDigits === 1 || trailingDigits > 2) {
640
+ return { status: ProofOfPersonhoodStatus.Reserved, trailingDigits, baseLength };
641
+ }
642
+ return { status: classifyByLadder(baseLength, trailingDigits === 2), trailingDigits, baseLength };
643
+ }
644
+ default: {
645
+ const unhandled = profile;
646
+ throw new Error(`classifyLabelStatus: unhandled DotNS profile ${String(unhandled)}`);
647
+ }
620
648
  }
621
- return { status: ProofOfPersonhoodStatus.NoStatus, trailingDigits, baseLength };
622
649
  }
623
650
  function tierDescriptionFor(status) {
624
651
  if (status === ProofOfPersonhoodStatus.NoStatus) return "open to any account";
@@ -629,7 +656,7 @@ function tierDescriptionFor(status) {
629
656
  function noStatusFallbackBase(base) {
630
657
  return `${base.padEnd(9, "x").slice(0, 9)}00`;
631
658
  }
632
- function buildLabelAlternatives(label) {
659
+ function buildLabelAlternatives(label, profile = DEFAULT_DOTNS_PROFILE) {
633
660
  const trailingRun = label.slice(label.length - countTrailingDigits(label));
634
661
  const base = stripTrailingDigits(label);
635
662
  const twoDigitSuffix = trailingRun.length >= 2 ? trailingRun.slice(-2) : trailingRun.padStart(2, "0");
@@ -650,7 +677,7 @@ function buildLabelAlternatives(label) {
650
677
  if (!/^[a-z0-9-]{3,63}$/.test(candidate)) continue;
651
678
  if (candidate.startsWith("-") || candidate.endsWith("-")) continue;
652
679
  if (/-\d+$/.test(candidate)) continue;
653
- const { status, baseLength } = classifyLabelStatus(candidate);
680
+ const { status, baseLength } = classifyLabelStatus(candidate, profile);
654
681
  if (status === ProofOfPersonhoodStatus.Reserved) continue;
655
682
  alternatives.push({ label: candidate, baseLength, status, tierDescription: tierDescriptionFor(status) });
656
683
  }
@@ -659,9 +686,9 @@ function buildLabelAlternatives(label) {
659
686
  function formatAlternativesList(alternatives, tld = DEFAULT_TLD) {
660
687
  return alternatives.map((a) => ` - ${a.label}.${tld} \u2014 base ${a.baseLength}, ${a.tierDescription}`).join("\n");
661
688
  }
662
- function classifyRegistrability(label) {
663
- const { trailingDigits, baseLength } = classifyLabelStatus(label);
664
- if (trailingDigits !== 0 && trailingDigits !== 2) {
689
+ function classifyRegistrability(label, profile = DEFAULT_DOTNS_PROFILE) {
690
+ const { trailingDigits, baseLength } = classifyLabelStatus(label, profile);
691
+ if (TRAILING_DIGIT_COUNT_GATE_APPLIES[profile] && trailingDigits !== 0 && trailingDigits !== 2) {
665
692
  const digitWord = trailingDigits === 1 ? "digit" : "digits";
666
693
  return {
667
694
  registrable: false,
@@ -687,8 +714,8 @@ function classifyRegistrability(label) {
687
714
  return { registrable: true };
688
715
  }
689
716
  function formatUnregistrableReason(args) {
690
- const { label, registrability, existingOwner, tld = DEFAULT_TLD } = args;
691
- const alternatives = buildLabelAlternatives(label);
717
+ const { label, registrability, existingOwner, tld = DEFAULT_TLD, profile = DEFAULT_DOTNS_PROFILE } = args;
718
+ const alternatives = buildLabelAlternatives(label, profile);
692
719
  const alternativesBlock = alternatives.length > 0 ? `
693
720
 
694
721
  Alternatively, use a name you can register yourself:
@@ -707,7 +734,7 @@ Then re-run this deploy unchanged.` + alternativesBlock;
707
734
  This signer does not hold that name. If you control ${existingOwner}'s key, redeploy with that account (e.g. via --mnemonic) to update its content directly.` + alternativesBlock;
708
735
  }
709
736
  function decideRegistrabilityOutcome(args) {
710
- const { label, registrability, existingOwner, selfAddress, tld = DEFAULT_TLD } = args;
737
+ const { label, registrability, existingOwner, selfAddress, tld = DEFAULT_TLD, profile = DEFAULT_DOTNS_PROFILE } = args;
711
738
  if (existingOwner !== null && existingOwner === selfAddress) {
712
739
  return { canProceed: true, plannedAction: "already-owned-by-us" };
713
740
  }
@@ -717,7 +744,7 @@ function decideRegistrabilityOutcome(args) {
717
744
  return {
718
745
  canProceed: false,
719
746
  plannedAction: "abort",
720
- reason: formatUnregistrableReason({ label, registrability, existingOwner, selfAddress, tld })
747
+ reason: formatUnregistrableReason({ label, registrability, existingOwner, selfAddress, tld, profile })
721
748
  };
722
749
  }
723
750
  function validateDomainLabel(label) {
@@ -731,16 +758,16 @@ function isCommitmentMature(chainNowSeconds, commitTimestampSeconds, minimumAgeS
731
758
  function isCommitmentTimingBarerevert(msg) {
732
759
  return /bare-revert.*\(empty 0x\)/i.test(msg) || /commitment.*too new.*expired/i.test(msg) || /expired.*commitment/i.test(msg);
733
760
  }
734
- function classifyDotnsLabel(label, tld = DEFAULT_TLD) {
735
- const { status, trailingDigits, baseLength } = classifyLabelStatus(label);
761
+ function classifyDotnsLabel(label, tld = DEFAULT_TLD, profile = DEFAULT_DOTNS_PROFILE) {
762
+ const { status, trailingDigits, baseLength } = classifyLabelStatus(label, profile);
736
763
  if (status === ProofOfPersonhoodStatus.Reserved) {
737
- if (trailingDigits === 1 || trailingDigits > 2) {
764
+ if (TRAILING_DIGIT_COUNT_GATE_APPLIES[profile] && (trailingDigits === 1 || trailingDigits > 2)) {
738
765
  return {
739
766
  status,
740
767
  message: `Name has ${trailingDigits} trailing digit${trailingDigits === 1 ? "" : "s"}; DotNS allows exactly 0 or 2 trailing digits. Use a base name with no trailing digits or a 2-digit suffix.`
741
768
  };
742
769
  }
743
- const alternatives = buildLabelAlternatives(label);
770
+ const alternatives = buildLabelAlternatives(label, profile);
744
771
  const suggestion = alternatives.length > 0 ? `
745
772
 
746
773
  Use a name you can register instead:
@@ -1293,8 +1320,8 @@ var DotNS = class _DotNS {
1293
1320
  // ensureConnected() first. That is what makes a default safe here rather
1294
1321
  // than the silent-fallback hazard it would otherwise be — do not "simplify"
1295
1322
  // this into a throw-if-unset without re-checking both of those.
1296
- _protocolVersion = "poprules-startingPrice";
1297
- _adapter = getAdapter("poprules-startingPrice");
1323
+ _protocolVersion = DEFAULT_DOTNS_PROFILE;
1324
+ _adapter = getAdapter(DEFAULT_DOTNS_PROFILE);
1298
1325
  _onPhoneSigningRequired = void 0;
1299
1326
  _confirmPhoneReady = void 0;
1300
1327
  /** Total phone-signature count for this DotNS session (drives the `total` field passed to confirmPhoneReady). */
@@ -1898,17 +1925,30 @@ var DotNS = class _DotNS {
1898
1925
  * proof the contract is there regardless of what hasContractCode says — so
1899
1926
  * all three run in one Promise.all rather than gating the probes behind
1900
1927
  * hasContractCode resolving first.
1928
+ *
1929
+ * A fourth probe (isPopIssued, against DOTNS_POP_CONTROLLER — see
1930
+ * DotnsProtocolProbe.isPopIssuedOk's own comment) runs in the SAME
1931
+ * Promise.all, not after: it's the only thing that tells v0.6.0 apart from
1932
+ * v0.5.8-rc1 (pricingVersion answers on both), and classifyProtocolVersion
1933
+ * already only consults it when pricingVersionOk is true, so gating it
1934
+ * behind that result resolving first would just add a serialized
1935
+ * round-trip for no benefit — worse once v0.6.0 is live everywhere (#1410),
1936
+ * since that "no benefit" case becomes the common one. Resolves to `null`
1937
+ * immediately (no RPC at all) when DOTNS_POP_CONTROLLER has no configured
1938
+ * address.
1901
1939
  */
1902
1940
  async detectProtocolVersion() {
1903
1941
  this.ensureConnected();
1904
1942
  const popRulesAddress = this._contracts.POP_RULES;
1943
+ const popControllerAddress = this._contracts.DOTNS_POP_CONTROLLER;
1905
1944
  const env = this._environmentId ?? "unknown";
1906
- const [hasCodeResult, pricingVersionOk, startingPriceOk] = await Promise.all([
1945
+ const [hasCodeResult, pricingVersionOk, startingPriceOk, isPopIssuedOk] = await Promise.all([
1907
1946
  this.clientWrapper.hasContractCode(popRulesAddress),
1908
1947
  this.probeViewFunctionOk(popRulesAddress, getAdapter("v0.5.8-rc1").popRulesAbi, "pricingVersion", []),
1909
- this.probeViewFunctionOk(popRulesAddress, getAdapter("poprules-startingPrice").popRulesAbi, "startingPrice", [])
1948
+ this.probeViewFunctionOk(popRulesAddress, getAdapter("poprules-startingPrice").popRulesAbi, "startingPrice", []),
1949
+ popControllerAddress ? this.probeViewFunctionOk(popControllerAddress, POP_CONTROLLER_PROBE_ABI, "isPopIssued", [PROTOCOL_PROBE_LABEL]) : Promise.resolve(null)
1910
1950
  ]);
1911
- const classification = classifyProtocolVersion({ hasCode: hasCodeResult, pricingVersionOk, startingPriceOk });
1951
+ const classification = classifyProtocolVersion({ hasCode: hasCodeResult, pricingVersionOk, startingPriceOk, isPopIssuedOk });
1912
1952
  if (classification.profile === null) {
1913
1953
  throw new Error(`${env} (${dotnsContractName(popRulesAddress, this._contracts)} ${popRulesAddress}): ${classification.reason}`);
1914
1954
  }
@@ -1917,6 +1957,9 @@ var DotNS = class _DotNS {
1917
1957
  this._adapter = getAdapter(profile);
1918
1958
  setDeployAttribute("deploy.dotns.protocol_version", profile);
1919
1959
  console.log(` DotNS ABI profile ${profile} detected on ${env}`);
1960
+ if (profile === "v0.5.8-rc1" && pricingVersionOk && isPopIssuedOk === null) {
1961
+ console.log(` NOTE: could not confirm whether ${env} is v0.5.8-rc1 or v0.6.0 \u2014 DOTNS_POP_CONTROLLER has no configured address here, so the isPopIssued discriminator probe was never attempted. Defaulting to v0.5.8-rc1 label semantics (registration itself is unaffected: both profiles share an identical ABI/adapter).`);
1962
+ }
1920
1963
  }
1921
1964
  async contractCall(contractAddress, contractAbi, functionName, args = []) {
1922
1965
  this.ensureConnected();
@@ -2907,10 +2950,9 @@ var DotNS = class _DotNS {
2907
2950
  setDeployAttribute("deploy.dotns.reprove.auto", "false");
2908
2951
  this.ensureConnected();
2909
2952
  const validated = validateDomainLabel(label);
2910
- const trailingDigits = countTrailingDigits(validated);
2911
- const baselength = validated.length - trailingDigits;
2912
- const classification = classifyDotnsLabel(validated, this._tld);
2913
- const registrability = classifyRegistrability(validated);
2953
+ const { trailingDigits, baseLength: baselength } = classifyLabelStatus(validated, this._protocolVersion);
2954
+ const classification = classifyDotnsLabel(validated, this._tld, this._protocolVersion);
2955
+ const registrability = classifyRegistrability(validated, this._protocolVersion);
2914
2956
  const baseName = stripTrailingDigits(validated);
2915
2957
  const [userStatus, baseReservation, ownership, isTestnet, signerFreeBalance] = await Promise.all([
2916
2958
  this.getUserPopStatus(),
@@ -2990,7 +3032,7 @@ var DotNS = class _DotNS {
2990
3032
  };
2991
3033
  }
2992
3034
  if (!registrability.registrable) {
2993
- const decision = decideRegistrabilityOutcome({ label: validated, registrability, existingOwner, selfAddress, tld: this._tld });
3035
+ const decision = decideRegistrabilityOutcome({ label: validated, registrability, existingOwner, selfAddress, tld: this._tld, profile: this._protocolVersion });
2994
3036
  if (!decision.canProceed) {
2995
3037
  return {
2996
3038
  label: validated,
@@ -3236,9 +3278,9 @@ var DotNS = class _DotNS {
3236
3278
  return withSpan("deploy.dotns.register", `2a. register ${label}.${this._tld}`, {}, async () => {
3237
3279
  if (!this.connected) await this.connect(options);
3238
3280
  label = validateDomainLabel(label);
3239
- const registrability = classifyRegistrability(label);
3281
+ const registrability = classifyRegistrability(label, this._protocolVersion);
3240
3282
  if (!registrability.registrable) {
3241
- const decision = decideRegistrabilityOutcome({ label, registrability, existingOwner: null, selfAddress: this.evmAddress.toLowerCase(), tld: this._tld });
3283
+ const decision = decideRegistrabilityOutcome({ label, registrability, existingOwner: null, selfAddress: this.evmAddress.toLowerCase(), tld: this._tld, profile: this._protocolVersion });
3242
3284
  throw new NonRetryableError(decision.reason);
3243
3285
  }
3244
3286
  const isTestnet = await this.isTestnet();
@@ -3456,6 +3498,7 @@ export {
3456
3498
  makeRetryStatusFilter,
3457
3499
  DEFAULT_MNEMONIC,
3458
3500
  DEFAULT_TLD,
3501
+ DEFAULT_DOTNS_PROFILE,
3459
3502
  KNOWN_TLDS,
3460
3503
  normalizeOnChainTld,
3461
3504
  stripTldSuffix,
@@ -13,19 +13,19 @@ import {
13
13
  setBulletinEndpoints,
14
14
  storeDirectory,
15
15
  storeFile
16
- } from "./chunk-JB4OIM7X.js";
16
+ } from "./chunk-6LR7OM7F.js";
17
17
  import {
18
18
  DEFAULT_TLD,
19
19
  DotNS,
20
20
  TX_KIND_SKIPPED,
21
21
  stripTldSuffix
22
- } from "./chunk-5P2IARIJ.js";
22
+ } from "./chunk-RSAEMNX4.js";
23
23
  import {
24
24
  DEFAULT_ENV_ID,
25
25
  getPopSelfServeConfig,
26
26
  loadEnvironments,
27
27
  resolveEndpoints
28
- } from "./chunk-6ZOTJHVI.js";
28
+ } from "./chunk-HDGD5FYX.js";
29
29
  import {
30
30
  NonRetryableError
31
31
  } from "./chunk-ZOC4GITL.js";
@@ -33,7 +33,7 @@ import {
33
33
  setDeployAttribute,
34
34
  withManifestSpan,
35
35
  withSpan
36
- } from "./chunk-S7OW6CYF.js";
36
+ } from "./chunk-3CES4RZG.js";
37
37
 
38
38
  // src/manifest/publish.ts
39
39
  import * as fs2 from "fs/promises";
@@ -2,15 +2,15 @@ import {
2
2
  classifyErrorArea,
3
3
  isInteractive,
4
4
  promptYesNo
5
- } from "./chunk-63EPGOEW.js";
5
+ } from "./chunk-F4OW5UVA.js";
6
6
  import {
7
7
  VERSION,
8
8
  getCurrentSentryTraceId,
9
9
  resolveIssueRepoSlug
10
- } from "./chunk-S7OW6CYF.js";
10
+ } from "./chunk-3CES4RZG.js";
11
11
  import {
12
12
  package_default
13
- } from "./chunk-YVHS6WA3.js";
13
+ } from "./chunk-3TDAKT7Y.js";
14
14
 
15
15
  // src/bug-report.ts
16
16
  import { execSync, execFileSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  captureWarning
3
- } from "./chunk-S7OW6CYF.js";
3
+ } from "./chunk-3CES4RZG.js";
4
4
 
5
5
  // src/chunk-probe.ts
6
6
  import { Twox128, Blake2128Concat, decAnyMetadata, unifyMetadata } from "@polkadot-api/substrate-bindings";
@@ -8,9 +8,9 @@ import {
8
8
  getBestBlockNumber,
9
9
  probeChunks,
10
10
  probeFinalityGap
11
- } from "./chunk-SCLX3WSE.js";
12
- import "./chunk-S7OW6CYF.js";
13
- import "./chunk-YVHS6WA3.js";
11
+ } from "./chunk-WYJX7OFF.js";
12
+ import "./chunk-3CES4RZG.js";
13
+ import "./chunk-3TDAKT7Y.js";
14
14
  export {
15
15
  ChainProbeCrossValidationError,
16
16
  ChainProbeMetadataError,
@@ -4,11 +4,11 @@ import {
4
4
  import {
5
5
  isBenignTeardownError,
6
6
  waitForBulletinAuthorization
7
- } from "../chunk-JB4OIM7X.js";
7
+ } from "../chunk-6LR7OM7F.js";
8
8
  import "../chunk-M5AKL3FL.js";
9
9
  import {
10
10
  preflightSssAllowance
11
- } from "../chunk-VRHVH6RM.js";
11
+ } from "../chunk-6BIAW73W.js";
12
12
  import {
13
13
  statementSigningAccount
14
14
  } from "../chunk-GRPLHUYC.js";
@@ -16,11 +16,11 @@ import "../chunk-IW3X2MJF.js";
16
16
  import "../chunk-LPTKBQII.js";
17
17
  import "../chunk-3MAIF2SF.js";
18
18
  import "../chunk-WPC2PUCV.js";
19
- import "../chunk-6FNOSDZU.js";
20
- import "../chunk-63EPGOEW.js";
21
- import "../chunk-SCLX3WSE.js";
19
+ import "../chunk-UY2DR5V4.js";
20
+ import "../chunk-F4OW5UVA.js";
21
+ import "../chunk-WYJX7OFF.js";
22
22
  import "../chunk-C2TS5MER.js";
23
- import "../chunk-JQZDP2TS.js";
23
+ import "../chunk-A7GZZQ3Q.js";
24
24
  import "../chunk-JQKKMUCT.js";
25
25
  import {
26
26
  BULLETIN_RESOURCE,
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  renderLoginStatus
34
34
  } from "../chunk-RIRDBSBG.js";
35
- import "../chunk-5P2IARIJ.js";
35
+ import "../chunk-RSAEMNX4.js";
36
36
  import "../chunk-SI2ZUOYD.js";
37
37
  import "../chunk-AYAVRPAP.js";
38
38
  import {
@@ -40,18 +40,18 @@ import {
40
40
  getAuthClient,
41
41
  getPeopleChainEndpoints,
42
42
  resolveBulletinEndpoints
43
- } from "../chunk-6GLMR2T2.js";
43
+ } from "../chunk-6WLVGBLQ.js";
44
44
  import {
45
45
  CLI_NAME
46
46
  } from "../chunk-TSPERKUS.js";
47
47
  import {
48
48
  loadEnvironments
49
- } from "../chunk-6ZOTJHVI.js";
49
+ } from "../chunk-HDGD5FYX.js";
50
50
  import "../chunk-ZOC4GITL.js";
51
- import "../chunk-T6HNSBZD.js";
52
- import "../chunk-S7OW6CYF.js";
53
- import "../chunk-YVHS6WA3.js";
54
- import "../chunk-X4IXDGEY.js";
51
+ import "../chunk-LZ7HCV4C.js";
52
+ import "../chunk-3CES4RZG.js";
53
+ import "../chunk-3TDAKT7Y.js";
54
+ import "../chunk-7I3MTGOR.js";
55
55
 
56
56
  // src/commands/login.ts
57
57
  import { ss58Encode } from "@parity/product-sdk-address";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clearSssAllowanceCache
3
- } from "../chunk-VRHVH6RM.js";
3
+ } from "../chunk-6BIAW73W.js";
4
4
  import "../chunk-GRPLHUYC.js";
5
5
  import "../chunk-JQKKMUCT.js";
6
6
  import "../chunk-5FLTDWWP.js";
@@ -9,12 +9,12 @@ import {
9
9
  } from "../chunk-RIRDBSBG.js";
10
10
  import {
11
11
  getAuthClient
12
- } from "../chunk-6GLMR2T2.js";
12
+ } from "../chunk-6WLVGBLQ.js";
13
13
  import "../chunk-TSPERKUS.js";
14
- import "../chunk-6ZOTJHVI.js";
14
+ import "../chunk-HDGD5FYX.js";
15
15
  import "../chunk-ZOC4GITL.js";
16
- import "../chunk-S7OW6CYF.js";
17
- import "../chunk-YVHS6WA3.js";
16
+ import "../chunk-3CES4RZG.js";
17
+ import "../chunk-3TDAKT7Y.js";
18
18
 
19
19
  // src/commands/logout.ts
20
20
  function formatLogout(status) {
@@ -3,7 +3,7 @@ import {
3
3
  DEFAULT_TLD,
4
4
  DotNS,
5
5
  parseDomainName
6
- } from "../chunk-5P2IARIJ.js";
6
+ } from "../chunk-RSAEMNX4.js";
7
7
  import "../chunk-SI2ZUOYD.js";
8
8
  import "../chunk-AYAVRPAP.js";
9
9
  import {
@@ -13,12 +13,12 @@ import {
13
13
  getPopSelfServeConfig,
14
14
  loadEnvironments,
15
15
  resolveEndpoints
16
- } from "../chunk-6ZOTJHVI.js";
16
+ } from "../chunk-HDGD5FYX.js";
17
17
  import "../chunk-ZOC4GITL.js";
18
- import "../chunk-T6HNSBZD.js";
19
- import "../chunk-S7OW6CYF.js";
20
- import "../chunk-YVHS6WA3.js";
21
- import "../chunk-X4IXDGEY.js";
18
+ import "../chunk-LZ7HCV4C.js";
19
+ import "../chunk-3CES4RZG.js";
20
+ import "../chunk-3TDAKT7Y.js";
21
+ import "../chunk-7I3MTGOR.js";
22
22
 
23
23
  // src/commands/transfer.ts
24
24
  import { zeroAddress } from "viem";
@@ -2,14 +2,14 @@ import {
2
2
  STALE_SESSION_MESSAGE,
3
3
  getAuthClient,
4
4
  hasPersistedSession
5
- } from "../chunk-6GLMR2T2.js";
5
+ } from "../chunk-6WLVGBLQ.js";
6
6
  import {
7
7
  CLI_NAME
8
8
  } from "../chunk-TSPERKUS.js";
9
- import "../chunk-6ZOTJHVI.js";
9
+ import "../chunk-HDGD5FYX.js";
10
10
  import "../chunk-ZOC4GITL.js";
11
- import "../chunk-S7OW6CYF.js";
12
- import "../chunk-YVHS6WA3.js";
11
+ import "../chunk-3CES4RZG.js";
12
+ import "../chunk-3TDAKT7Y.js";
13
13
 
14
14
  // src/commands/whoami.ts
15
15
  function formatWhoami(addresses) {
@@ -2,21 +2,21 @@ import {
2
2
  MainnetDefaultWorkerError,
3
3
  resolveDeployActors,
4
4
  resolveStorageSigner
5
- } from "./chunk-JQZDP2TS.js";
5
+ } from "./chunk-A7GZZQ3Q.js";
6
6
  import "./chunk-JQKKMUCT.js";
7
7
  import "./chunk-5FLTDWWP.js";
8
8
  import "./chunk-RIRDBSBG.js";
9
- import "./chunk-5P2IARIJ.js";
9
+ import "./chunk-RSAEMNX4.js";
10
10
  import "./chunk-SI2ZUOYD.js";
11
11
  import "./chunk-AYAVRPAP.js";
12
- import "./chunk-6GLMR2T2.js";
12
+ import "./chunk-6WLVGBLQ.js";
13
13
  import "./chunk-TSPERKUS.js";
14
- import "./chunk-6ZOTJHVI.js";
14
+ import "./chunk-HDGD5FYX.js";
15
15
  import "./chunk-ZOC4GITL.js";
16
- import "./chunk-T6HNSBZD.js";
17
- import "./chunk-S7OW6CYF.js";
18
- import "./chunk-YVHS6WA3.js";
19
- import "./chunk-X4IXDGEY.js";
16
+ import "./chunk-LZ7HCV4C.js";
17
+ import "./chunk-3CES4RZG.js";
18
+ import "./chunk-3TDAKT7Y.js";
19
+ import "./chunk-7I3MTGOR.js";
20
20
  export {
21
21
  MainnetDefaultWorkerError,
22
22
  resolveDeployActors,
package/dist/deploy.d.ts CHANGED
@@ -2,6 +2,7 @@ import { WsEvent } from 'polkadot-api/ws';
2
2
  import { CID } from 'multiformats/cid';
3
3
  import { ManifestFileEntry } from './manifest.js';
4
4
  import { PhoneSignatureStep, DotNSConnectOptions } from './dotns.js';
5
+ import { DotnsAbiProfile } from './dotns-protocol.js';
5
6
  import { PopSelfServeConfig } from './environments.js';
6
7
  import { PolkadotSigner } from 'polkadot-api';
7
8
  import { NonRetryableError } from './errors.js';
@@ -11,7 +12,6 @@ import './personhood/bind-personal-id.js';
11
12
  import './personhood/claim-pgas.js';
12
13
  import './personhood/bind-paid-alias.js';
13
14
  import './personhood/chain-prereqs.js';
14
- import './dotns-protocol.js';
15
15
 
16
16
  interface DeployResult {
17
17
  domainName: string;
@@ -652,7 +652,7 @@ declare function assertSubdomainOwnerMatchesSigner(result: {
652
652
  * actionable line after the unchanged "is owned by ..." sentence that
653
653
  * telemetry's naming.subdomain_orphan classifier keys on (src/telemetry.ts).
654
654
  */
655
- declare function formatSubdomainParentError(fullName: string, parentLabel: string, parentOwner: string | null, selfAddress: string, tld?: string): string;
655
+ declare function formatSubdomainParentError(fullName: string, parentLabel: string, parentOwner: string | null, selfAddress: string, tld?: string, profile?: DotnsAbiProfile): string;
656
656
  /**
657
657
  * Returns the browser URL for the given domain name, optionally suffixed
658
658
  * with a network query parameter so the SPA opens the right chain.
package/dist/deploy.js CHANGED
@@ -64,36 +64,36 @@ import {
64
64
  storeDirectory,
65
65
  storeDirectoryV2,
66
66
  storeFile
67
- } from "./chunk-JB4OIM7X.js";
67
+ } from "./chunk-6LR7OM7F.js";
68
68
  import "./chunk-M5AKL3FL.js";
69
- import "./chunk-VRHVH6RM.js";
69
+ import "./chunk-6BIAW73W.js";
70
70
  import "./chunk-GRPLHUYC.js";
71
71
  import "./chunk-IW3X2MJF.js";
72
72
  import "./chunk-LPTKBQII.js";
73
73
  import "./chunk-3MAIF2SF.js";
74
74
  import "./chunk-WPC2PUCV.js";
75
- import "./chunk-6FNOSDZU.js";
76
- import "./chunk-63EPGOEW.js";
77
- import "./chunk-SCLX3WSE.js";
75
+ import "./chunk-UY2DR5V4.js";
76
+ import "./chunk-F4OW5UVA.js";
77
+ import "./chunk-WYJX7OFF.js";
78
78
  import "./chunk-C2TS5MER.js";
79
- import "./chunk-JQZDP2TS.js";
79
+ import "./chunk-A7GZZQ3Q.js";
80
80
  import "./chunk-JQKKMUCT.js";
81
81
  import "./chunk-5FLTDWWP.js";
82
82
  import "./chunk-RIRDBSBG.js";
83
- import "./chunk-5P2IARIJ.js";
83
+ import "./chunk-RSAEMNX4.js";
84
84
  import "./chunk-SI2ZUOYD.js";
85
85
  import "./chunk-AYAVRPAP.js";
86
- import "./chunk-6GLMR2T2.js";
86
+ import "./chunk-6WLVGBLQ.js";
87
87
  import "./chunk-TSPERKUS.js";
88
- import "./chunk-6ZOTJHVI.js";
88
+ import "./chunk-HDGD5FYX.js";
89
89
  import {
90
90
  EXIT_CODE_NO_RETRY,
91
91
  NonRetryableError
92
92
  } from "./chunk-ZOC4GITL.js";
93
- import "./chunk-T6HNSBZD.js";
94
- import "./chunk-S7OW6CYF.js";
95
- import "./chunk-YVHS6WA3.js";
96
- import "./chunk-X4IXDGEY.js";
93
+ import "./chunk-LZ7HCV4C.js";
94
+ import "./chunk-3CES4RZG.js";
95
+ import "./chunk-3TDAKT7Y.js";
96
+ import "./chunk-7I3MTGOR.js";
97
97
  export {
98
98
  BLAKE2B_256_MULTIHASH_CODE,
99
99
  BULLETIN_ENDPOINTS,