@parity/product-deploy 0.9.0-rc.4 → 0.9.0-rc.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 (43) hide show
  1. package/dist/auth-config.js +3 -3
  2. package/dist/bug-report.js +4 -4
  3. package/dist/{chunk-3OHJVERU.js → chunk-2XBLLNDK.js} +2 -2
  4. package/dist/chunk-6GGRUTTC.js +65 -0
  5. package/dist/{chunk-RGO4QEQ3.js → chunk-ELX3YZQG.js} +3 -3
  6. package/dist/{chunk-G56VYTUD.js → chunk-GRPLHUYC.js} +8 -0
  7. package/dist/{chunk-X22J6KA7.js → chunk-HGEYWE2P.js} +1 -1
  8. package/dist/{chunk-YBD5VLUC.js → chunk-LIAEGW76.js} +1 -1
  9. package/dist/{chunk-X5ZAC4HR.js → chunk-NEWDQKA3.js} +2 -2
  10. package/dist/{chunk-JA6JBGRD.js → chunk-NRDXKYWQ.js} +18 -12
  11. package/dist/{chunk-L5Z3TJD7.js → chunk-OCKCB72S.js} +6 -6
  12. package/dist/{chunk-QN6YHRQT.js → chunk-SHQZFLPN.js} +1 -1
  13. package/dist/{chunk-GSC6N4NN.js → chunk-T4WUEPAS.js} +1 -1
  14. package/dist/{chunk-AUYCCEMA.js → chunk-ZL7KBV52.js} +1 -1
  15. package/dist/chunk-probe.js +3 -3
  16. package/dist/commands/login.js +15 -13
  17. package/dist/commands/logout.js +8 -3
  18. package/dist/commands/whoami.js +3 -3
  19. package/dist/deploy.js +10 -9
  20. package/dist/dotns.js +3 -3
  21. package/dist/index.js +16 -15
  22. package/dist/manifest/publish.js +11 -10
  23. package/dist/memory-report.js +2 -2
  24. package/dist/merkle.js +10 -9
  25. package/dist/personhood/bind-paid-alias.js +3 -3
  26. package/dist/personhood/bind-personal-id.js +2 -2
  27. package/dist/personhood/bootstrap.js +10 -10
  28. package/dist/personhood/claim-pgas.js +2 -2
  29. package/dist/personhood/people-client.js +3 -3
  30. package/dist/personhood/proof-validity.js +2 -2
  31. package/dist/personhood/reprove.js +5 -5
  32. package/dist/run-state.js +1 -1
  33. package/dist/sss-allowance-cache.d.ts +70 -0
  34. package/dist/sss-allowance-cache.js +20 -0
  35. package/dist/sss-allowance.d.ts +32 -1
  36. package/dist/sss-allowance.js +5 -3
  37. package/dist/storage-signer.js +10 -9
  38. package/dist/telemetry.js +2 -2
  39. package/dist/version-check.js +3 -3
  40. package/package.json +3 -3
  41. package/dist/{chunk-LHLCPDGL.js → chunk-7URNKK6J.js} +3 -3
  42. package/dist/{chunk-7Y7RDOGT.js → chunk-EATOPQFR.js} +5 -5
  43. package/dist/{chunk-SLE4P6MO.js → chunk-EJI3MX4G.js} +3 -3
@@ -9,9 +9,9 @@ import {
9
9
  getPeopleChainEndpoints,
10
10
  hasPersistedSession,
11
11
  resolveBulletinEndpoints
12
- } from "./chunk-X22J6KA7.js";
13
- import "./chunk-AUYCCEMA.js";
14
- import "./chunk-RGO4QEQ3.js";
12
+ } from "./chunk-HGEYWE2P.js";
13
+ import "./chunk-ZL7KBV52.js";
14
+ import "./chunk-ELX3YZQG.js";
15
15
  import "./chunk-GL3U7K2B.js";
16
16
  import "./chunk-ZOC4GITL.js";
17
17
  export {
@@ -9,10 +9,10 @@ import {
9
9
  offerBugReport,
10
10
  scrubSecrets,
11
11
  setDeployContext
12
- } from "./chunk-X5ZAC4HR.js";
13
- import "./chunk-YBD5VLUC.js";
14
- import "./chunk-AUYCCEMA.js";
15
- import "./chunk-RGO4QEQ3.js";
12
+ } from "./chunk-NEWDQKA3.js";
13
+ import "./chunk-LIAEGW76.js";
14
+ import "./chunk-ZL7KBV52.js";
15
+ import "./chunk-ELX3YZQG.js";
16
16
  export {
17
17
  buildCliFlagsSummary,
18
18
  buildLabels,
@@ -6,10 +6,10 @@ import {
6
6
  resolveDotnsConnectOptions,
7
7
  storeDirectory,
8
8
  storeFile
9
- } from "./chunk-JA6JBGRD.js";
9
+ } from "./chunk-NRDXKYWQ.js";
10
10
  import {
11
11
  DotNS
12
- } from "./chunk-GSC6N4NN.js";
12
+ } from "./chunk-T4WUEPAS.js";
13
13
  import {
14
14
  getPopSelfServeConfig,
15
15
  loadEnvironments,
@@ -0,0 +1,65 @@
1
+ import {
2
+ checkSSSAllowance
3
+ } from "./chunk-GRPLHUYC.js";
4
+ import {
5
+ DOT_DAPP_ID
6
+ } from "./chunk-HGEYWE2P.js";
7
+
8
+ // src/sss-allowance-cache.ts
9
+ import { mkdir, readFile, writeFile, unlink } from "fs/promises";
10
+ import { homedir } from "os";
11
+ import { dirname, join } from "path";
12
+ var SECONDS_PER_DAY = 86400;
13
+ var CACHE_FILE = `${DOT_DAPP_ID}_SssAllowanceCheck.json`;
14
+ function sssPeriodEndSec(nowSec) {
15
+ return (Math.floor(nowSec / SECONDS_PER_DAY) + 1) * SECONDS_PER_DAY;
16
+ }
17
+ function cacheFilePath(storageDir) {
18
+ return join(storageDir ?? homedir(), ".polkadot-apps", CACHE_FILE);
19
+ }
20
+ function accountHex(account) {
21
+ return Buffer.from(account).toString("hex");
22
+ }
23
+ async function isSssAllowanceCacheValid(account, nowSec = Math.floor(Date.now() / 1e3), storageDir) {
24
+ try {
25
+ const raw = await readFile(cacheFilePath(storageDir), "utf-8");
26
+ const cached = JSON.parse(raw);
27
+ return cached.account === accountHex(account) && typeof cached.validUntilSec === "number" && nowSec < cached.validUntilSec;
28
+ } catch {
29
+ return false;
30
+ }
31
+ }
32
+ async function writeSssAllowanceCache(account, nowSec = Math.floor(Date.now() / 1e3), storageDir) {
33
+ const payload = JSON.stringify({
34
+ account: accountHex(account),
35
+ validUntilSec: sssPeriodEndSec(nowSec)
36
+ });
37
+ const path = cacheFilePath(storageDir);
38
+ try {
39
+ await mkdir(dirname(path), { recursive: true, mode: 448 });
40
+ await writeFile(path, payload, "utf-8");
41
+ } catch {
42
+ }
43
+ }
44
+ async function clearSssAllowanceCache(storageDir) {
45
+ try {
46
+ await unlink(cacheFilePath(storageDir));
47
+ } catch {
48
+ }
49
+ }
50
+ async function preflightSssAllowance(account, getPeopleEndpoints) {
51
+ if (!account) return null;
52
+ if (await isSssAllowanceCacheValid(account)) return true;
53
+ const allowed = await checkSSSAllowance(account, await getPeopleEndpoints());
54
+ if (allowed === true) await writeSssAllowanceCache(account);
55
+ else if (allowed === false) await clearSssAllowanceCache();
56
+ return allowed;
57
+ }
58
+
59
+ export {
60
+ sssPeriodEndSec,
61
+ isSssAllowanceCacheValid,
62
+ writeSssAllowanceCache,
63
+ clearSssAllowanceCache,
64
+ preflightSssAllowance
65
+ };
@@ -6,7 +6,7 @@ import * as path from "path";
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "@parity/product-deploy",
9
- version: "0.9.0-rc.4",
9
+ version: "0.9.0-rc.6",
10
10
  private: false,
11
11
  repository: {
12
12
  type: "git",
@@ -50,11 +50,11 @@ var package_default = {
50
50
  "tools/release-retry-wrapper.mjs"
51
51
  ],
52
52
  scripts: {
53
- 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/personhood/encoding.ts src/personhood/hashing.ts src/personhood/constants.ts src/personhood/member-key.ts src/personhood/people-client.ts src/personhood/proof-validity.ts src/personhood/reprove.ts src/personhood/bind-personal-id.ts src/personhood/claim-pgas.ts src/personhood/bind-paid-alias.ts src/personhood/bootstrap.ts src/personhood/chain-prereqs.ts src/manifest/types.ts src/manifest/schema.ts src/manifest/byte-budget.ts src/manifest/config-load.ts src/manifest/publish.ts src/auth/index.ts src/auth/vendor/index.ts src/auth/vendor/ui/index.ts src/auth-config.ts src/commands/login.ts src/commands/logout.ts src/commands/whoami.ts src/storage-signer.ts src/spinner.ts src/sss-allowance.ts --format esm --dts --clean --target node22",
53
+ 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/personhood/encoding.ts src/personhood/hashing.ts src/personhood/constants.ts src/personhood/member-key.ts src/personhood/people-client.ts src/personhood/proof-validity.ts src/personhood/reprove.ts src/personhood/bind-personal-id.ts src/personhood/claim-pgas.ts src/personhood/bind-paid-alias.ts src/personhood/bootstrap.ts src/personhood/chain-prereqs.ts src/manifest/types.ts src/manifest/schema.ts src/manifest/byte-budget.ts src/manifest/config-load.ts src/manifest/publish.ts src/auth/index.ts src/auth/vendor/index.ts src/auth/vendor/ui/index.ts src/auth-config.ts src/commands/login.ts src/commands/logout.ts src/commands/whoami.ts src/storage-signer.ts src/spinner.ts src/sss-allowance.ts src/sss-allowance-cache.ts --format esm --dts --clean --target node22",
54
54
  "refresh-environments": "node scripts/refresh-environments.mjs",
55
55
  postinstall: "patch-package || true",
56
56
  prepare: "npm run build",
57
- 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/chunk-sharing-report.test.js test/product-manifest.test.js test/cache-savings-totals.test.js test/error-pattern-signature.test.js test/exit-codes.test.js test/probe-env-health.test.js test/e2e-chain-calls.test.js test/auth-config.test.js test/whoami.test.js test/login.test.js test/logout.test.js test/auth-resolve.test.js test/storage-signer.test.js test/spinner.test.js test/sss-allowance.test.js && npm run test:vendor",
57
+ 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/chunk-sharing-report.test.js test/product-manifest.test.js test/cache-savings-totals.test.js test/error-pattern-signature.test.js test/exit-codes.test.js test/probe-env-health.test.js test/e2e-chain-calls.test.js test/auth-config.test.js test/whoami.test.js test/login.test.js test/logout.test.js test/auth-resolve.test.js test/storage-signer.test.js test/spinner.test.js test/sss-allowance.test.js test/sss-allowance-cache.test.js && npm run test:vendor",
58
58
  "test:e2e": "npm run build && node --test test/e2e.test.js",
59
59
  "test:e2e:smoke": "bash scripts/e2e-pass.sh smoke",
60
60
  "test:e2e:pr": "bash scripts/e2e-pass.sh pr",
@@ -1,5 +1,12 @@
1
1
  // src/sss-allowance.ts
2
2
  import WebSocket from "ws";
3
+ function statementSigningAccount(userSession) {
4
+ const accountId = userSession?.localAccount?.accountId;
5
+ if (accountId instanceof Uint8Array && accountId.length === 32) {
6
+ return accountId;
7
+ }
8
+ return null;
9
+ }
3
10
  var SSS_PREFIX = new TextEncoder().encode(":statement_allowance:");
4
11
  function sssStorageKey(pubkey) {
5
12
  if (pubkey.length !== 32) {
@@ -70,6 +77,7 @@ function checkSSSAllowance(pubkey, peopleEndpoints, timeoutMs = 5e3) {
70
77
  }
71
78
 
72
79
  export {
80
+ statementSigningAccount,
73
81
  sssStorageKey,
74
82
  checkSSSAllowance
75
83
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-AUYCCEMA.js";
3
+ } from "./chunk-ZL7KBV52.js";
4
4
  import {
5
5
  loadEnvironments
6
6
  } from "./chunk-GL3U7K2B.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VERSION
3
- } from "./chunk-AUYCCEMA.js";
3
+ } from "./chunk-ZL7KBV52.js";
4
4
 
5
5
  // src/version-check.ts
6
6
  import { execSync, execFileSync } from "child_process";
@@ -2,11 +2,11 @@ import {
2
2
  classifyErrorArea,
3
3
  isInteractive,
4
4
  promptYesNo
5
- } from "./chunk-YBD5VLUC.js";
5
+ } from "./chunk-LIAEGW76.js";
6
6
  import {
7
7
  VERSION,
8
8
  getCurrentSentryTraceId
9
- } from "./chunk-AUYCCEMA.js";
9
+ } from "./chunk-ZL7KBV52.js";
10
10
 
11
11
  // src/bug-report.ts
12
12
  import { execSync, execFileSync } from "child_process";
@@ -1,6 +1,9 @@
1
1
  import {
2
- checkSSSAllowance
3
- } from "./chunk-G56VYTUD.js";
2
+ preflightSssAllowance
3
+ } from "./chunk-6GGRUTTC.js";
4
+ import {
5
+ statementSigningAccount
6
+ } from "./chunk-GRPLHUYC.js";
4
7
  import {
5
8
  MirrorSkipped,
6
9
  mirrorToGitHubPages,
@@ -31,13 +34,13 @@ import {
31
34
  STALE_SESSION_MESSAGE,
32
35
  getPeopleChainEndpoints,
33
36
  hasPersistedSession
34
- } from "./chunk-X22J6KA7.js";
37
+ } from "./chunk-HGEYWE2P.js";
35
38
  import {
36
39
  setDeployContext
37
- } from "./chunk-X5ZAC4HR.js";
40
+ } from "./chunk-NEWDQKA3.js";
38
41
  import {
39
42
  probeChunks
40
- } from "./chunk-QN6YHRQT.js";
43
+ } from "./chunk-SHQZFLPN.js";
41
44
  import {
42
45
  packSection
43
46
  } from "./chunk-C2TS5MER.js";
@@ -50,7 +53,7 @@ import {
50
53
  parseDomainName,
51
54
  popStatusName,
52
55
  verifyNonceAdvanced
53
- } from "./chunk-GSC6N4NN.js";
56
+ } from "./chunk-T4WUEPAS.js";
54
57
  import {
55
58
  derivePoolAccounts,
56
59
  detectTestnet,
@@ -72,7 +75,7 @@ import {
72
75
  truncateAddress,
73
76
  withDeploySpan,
74
77
  withSpan
75
- } from "./chunk-AUYCCEMA.js";
78
+ } from "./chunk-ZL7KBV52.js";
76
79
  import {
77
80
  DEFAULT_ENV_ID,
78
81
  getPopSelfServeConfig,
@@ -1979,14 +1982,17 @@ async function deploy(content, domainName = null, options = {}) {
1979
1982
  }
1980
1983
  }
1981
1984
  }
1982
- if (resolvedUserSession && options.signer) {
1985
+ const statementAccount = resolvedUserSession && options.signer ? statementSigningAccount(resolvedUserSession.userSession) : null;
1986
+ if (statementAccount) {
1983
1987
  try {
1984
- const productPubkey = options.signer.publicKey;
1985
- const peopleEndpoints = await getPeopleChainEndpoints(envId);
1986
- const allowed = await checkSSSAllowance(productPubkey, peopleEndpoints);
1988
+ if (process.env.DOT_DEBUG) {
1989
+ const { ss58Encode } = await import("@parity/product-sdk-address");
1990
+ console.log(` [sss] checking statement-store allowance for ${ss58Encode(statementAccount)}`);
1991
+ }
1992
+ const allowed = await preflightSssAllowance(statementAccount, () => getPeopleChainEndpoints(envId));
1987
1993
  if (allowed === false) {
1988
1994
  throw new NonRetryableError(
1989
- "Session signing allowance has expired (~2-3 days after login). Run `bulletin-deploy login` to renew."
1995
+ "Session signing allowance has expired (~2-3 days after login). Run `bulletin-deploy logout`, then `bulletin-deploy login`, to renew (login alone won't refresh a stale session)."
1990
1996
  );
1991
1997
  }
1992
1998
  } catch (e) {
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  buildAliasProofMessage,
3
3
  getProofValidAtSec
4
- } from "./chunk-SLE4P6MO.js";
4
+ } from "./chunk-EJI3MX4G.js";
5
+ import {
6
+ bytesToHex,
7
+ encodeMembers,
8
+ hexToBytes
9
+ } from "./chunk-ZYVGHDMU.js";
5
10
  import {
6
11
  PEOPLE_MEMBER_IDENTIFIER_HEX,
7
12
  PGAS_ASSET_ID,
8
13
  PGAS_ASSET_LOCATION,
9
14
  PROOF_BYTES
10
15
  } from "./chunk-SI2ZUOYD.js";
11
- import {
12
- bytesToHex,
13
- encodeMembers,
14
- hexToBytes
15
- } from "./chunk-ZYVGHDMU.js";
16
16
 
17
17
  // src/personhood/bind-paid-alias.ts
18
18
  import { getSs58AddressInfo, Binary } from "polkadot-api";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  captureWarning
3
- } from "./chunk-AUYCCEMA.js";
3
+ } from "./chunk-ZL7KBV52.js";
4
4
 
5
5
  // src/chunk-probe.ts
6
6
  import { Twox128, Blake2128Concat, decAnyMetadata, unifyMetadata } from "@polkadot-api/substrate-bindings";
@@ -8,7 +8,7 @@ import {
8
8
  setDeploySentryTag,
9
9
  truncateAddress,
10
10
  withSpan
11
- } from "./chunk-AUYCCEMA.js";
11
+ } from "./chunk-ZL7KBV52.js";
12
12
  import {
13
13
  validateContractAddresses
14
14
  } from "./chunk-GL3U7K2B.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  package_default,
3
3
  writeRunState
4
- } from "./chunk-RGO4QEQ3.js";
4
+ } from "./chunk-ELX3YZQG.js";
5
5
 
6
6
  // src/memory-report.ts
7
7
  import * as fs2 from "fs";
@@ -5,9 +5,9 @@ import {
5
5
  _decodeStorageValue,
6
6
  _resetProbeSession,
7
7
  probeChunks
8
- } from "./chunk-QN6YHRQT.js";
9
- import "./chunk-AUYCCEMA.js";
10
- import "./chunk-RGO4QEQ3.js";
8
+ } from "./chunk-SHQZFLPN.js";
9
+ import "./chunk-ZL7KBV52.js";
10
+ import "./chunk-ELX3YZQG.js";
11
11
  export {
12
12
  ChainProbeCrossValidationError,
13
13
  ChainProbeMetadataError,
@@ -8,10 +8,13 @@ import {
8
8
  } from "../chunk-J7CYVTAW.js";
9
9
  import {
10
10
  waitForBulletinAuthorization
11
- } from "../chunk-JA6JBGRD.js";
11
+ } from "../chunk-NRDXKYWQ.js";
12
12
  import {
13
- checkSSSAllowance
14
- } from "../chunk-G56VYTUD.js";
13
+ preflightSssAllowance
14
+ } from "../chunk-6GGRUTTC.js";
15
+ import {
16
+ statementSigningAccount
17
+ } from "../chunk-GRPLHUYC.js";
15
18
  import "../chunk-HOTQDYHD.js";
16
19
  import "../chunk-IW3X2MJF.js";
17
20
  import "../chunk-KOSF5FDO.js";
@@ -22,15 +25,15 @@ import {
22
25
  getAuthClient,
23
26
  getPeopleChainEndpoints,
24
27
  resolveBulletinEndpoints
25
- } from "../chunk-X22J6KA7.js";
26
- import "../chunk-X5ZAC4HR.js";
27
- import "../chunk-YBD5VLUC.js";
28
- import "../chunk-QN6YHRQT.js";
28
+ } from "../chunk-HGEYWE2P.js";
29
+ import "../chunk-NEWDQKA3.js";
30
+ import "../chunk-LIAEGW76.js";
31
+ import "../chunk-SHQZFLPN.js";
29
32
  import "../chunk-C2TS5MER.js";
30
- import "../chunk-GSC6N4NN.js";
33
+ import "../chunk-T4WUEPAS.js";
31
34
  import "../chunk-4PVJ2JBZ.js";
32
- import "../chunk-AUYCCEMA.js";
33
- import "../chunk-RGO4QEQ3.js";
35
+ import "../chunk-ZL7KBV52.js";
36
+ import "../chunk-ELX3YZQG.js";
34
37
  import {
35
38
  loadEnvironments
36
39
  } from "../chunk-GL3U7K2B.js";
@@ -90,9 +93,8 @@ async function runLogin(envId, _opts = {}) {
90
93
  const sessionHandle = await client.getSessionSigner();
91
94
  if (sessionHandle) {
92
95
  try {
93
- const productPubkey = sessionHandle.signer.publicKey;
94
- const peopleEndpoints = await getPeopleChainEndpoints(envId);
95
- const allowed = await checkSSSAllowance(productPubkey, peopleEndpoints);
96
+ const statementAccount = statementSigningAccount(sessionHandle.userSession);
97
+ const allowed = await preflightSssAllowance(statementAccount, () => getPeopleChainEndpoints(envId));
96
98
  if (allowed === false) {
97
99
  console.error(
98
100
  `
@@ -3,11 +3,15 @@ import "../chunk-DHY2ZXVZ.js";
3
3
  import {
4
4
  renderLogoutStatus
5
5
  } from "../chunk-RIRDBSBG.js";
6
+ import {
7
+ clearSssAllowanceCache
8
+ } from "../chunk-6GGRUTTC.js";
9
+ import "../chunk-GRPLHUYC.js";
6
10
  import {
7
11
  getAuthClient
8
- } from "../chunk-X22J6KA7.js";
9
- import "../chunk-AUYCCEMA.js";
10
- import "../chunk-RGO4QEQ3.js";
12
+ } from "../chunk-HGEYWE2P.js";
13
+ import "../chunk-ZL7KBV52.js";
14
+ import "../chunk-ELX3YZQG.js";
11
15
  import "../chunk-GL3U7K2B.js";
12
16
  import "../chunk-ZOC4GITL.js";
13
17
 
@@ -31,6 +35,7 @@ async function runLogout(envId) {
31
35
  await client.clearLocalAppStorage();
32
36
  } catch {
33
37
  }
38
+ await clearSssAllowanceCache();
34
39
  }
35
40
  }
36
41
  export {
@@ -2,9 +2,9 @@ import {
2
2
  STALE_SESSION_MESSAGE,
3
3
  getAuthClient,
4
4
  hasPersistedSession
5
- } from "../chunk-X22J6KA7.js";
6
- import "../chunk-AUYCCEMA.js";
7
- import "../chunk-RGO4QEQ3.js";
5
+ } from "../chunk-HGEYWE2P.js";
6
+ import "../chunk-ZL7KBV52.js";
7
+ import "../chunk-ELX3YZQG.js";
8
8
  import "../chunk-GL3U7K2B.js";
9
9
  import "../chunk-ZOC4GITL.js";
10
10
 
package/dist/deploy.js CHANGED
@@ -45,22 +45,23 @@ import {
45
45
  storeDirectoryV2,
46
46
  storeFile,
47
47
  unpublish
48
- } from "./chunk-JA6JBGRD.js";
49
- import "./chunk-G56VYTUD.js";
48
+ } from "./chunk-NRDXKYWQ.js";
49
+ import "./chunk-6GGRUTTC.js";
50
+ import "./chunk-GRPLHUYC.js";
50
51
  import "./chunk-HOTQDYHD.js";
51
52
  import "./chunk-IW3X2MJF.js";
52
53
  import "./chunk-KOSF5FDO.js";
53
54
  import "./chunk-J3NIXHZZ.js";
54
55
  import "./chunk-S7EM5VMW.js";
55
- import "./chunk-X22J6KA7.js";
56
- import "./chunk-X5ZAC4HR.js";
57
- import "./chunk-YBD5VLUC.js";
58
- import "./chunk-QN6YHRQT.js";
56
+ import "./chunk-HGEYWE2P.js";
57
+ import "./chunk-NEWDQKA3.js";
58
+ import "./chunk-LIAEGW76.js";
59
+ import "./chunk-SHQZFLPN.js";
59
60
  import "./chunk-C2TS5MER.js";
60
- import "./chunk-GSC6N4NN.js";
61
+ import "./chunk-T4WUEPAS.js";
61
62
  import "./chunk-4PVJ2JBZ.js";
62
- import "./chunk-AUYCCEMA.js";
63
- import "./chunk-RGO4QEQ3.js";
63
+ import "./chunk-ZL7KBV52.js";
64
+ import "./chunk-ELX3YZQG.js";
64
65
  import "./chunk-GL3U7K2B.js";
65
66
  import {
66
67
  EXIT_CODE_NO_RETRY,
package/dist/dotns.js CHANGED
@@ -50,10 +50,10 @@ import {
50
50
  stripTrailingDigits,
51
51
  validateDomainLabel,
52
52
  verifyNonceAdvanced
53
- } from "./chunk-GSC6N4NN.js";
53
+ } from "./chunk-T4WUEPAS.js";
54
54
  import "./chunk-4PVJ2JBZ.js";
55
- import "./chunk-AUYCCEMA.js";
56
- import "./chunk-RGO4QEQ3.js";
55
+ import "./chunk-ZL7KBV52.js";
56
+ import "./chunk-ELX3YZQG.js";
57
57
  import "./chunk-GL3U7K2B.js";
58
58
  import "./chunk-ZOC4GITL.js";
59
59
  export {
package/dist/index.js CHANGED
@@ -5,9 +5,14 @@ import {
5
5
  loadProductConfig,
6
6
  tryLoadProductConfig
7
7
  } from "./chunk-MMAZFJDG.js";
8
+ import {
9
+ validateExecutableManifest,
10
+ validateProductConfig,
11
+ validateRootManifest
12
+ } from "./chunk-LZJMVPYW.js";
8
13
  import {
9
14
  publishManifest
10
- } from "./chunk-3OHJVERU.js";
15
+ } from "./chunk-2XBLLNDK.js";
11
16
  import {
12
17
  DEFAULT_TEXT_RECORD_BUDGET_BYTES,
13
18
  PLACEHOLDER_CID,
@@ -15,17 +20,13 @@ import {
15
20
  getTextRecordBudgetBytes,
16
21
  pessimisticSizePreflight
17
22
  } from "./chunk-RI3ZLNPN.js";
18
- import {
19
- validateExecutableManifest,
20
- validateProductConfig,
21
- validateRootManifest
22
- } from "./chunk-LZJMVPYW.js";
23
23
  import {
24
24
  deploy,
25
25
  merkleizeJS,
26
26
  merkleizeWithStableOrder
27
- } from "./chunk-JA6JBGRD.js";
28
- import "./chunk-G56VYTUD.js";
27
+ } from "./chunk-NRDXKYWQ.js";
28
+ import "./chunk-6GGRUTTC.js";
29
+ import "./chunk-GRPLHUYC.js";
29
30
  import "./chunk-HOTQDYHD.js";
30
31
  import {
31
32
  computeStats,
@@ -48,19 +49,19 @@ import {
48
49
  isVolatilePath,
49
50
  parseManifest
50
51
  } from "./chunk-S7EM5VMW.js";
51
- import "./chunk-X22J6KA7.js";
52
- import "./chunk-X5ZAC4HR.js";
53
- import "./chunk-YBD5VLUC.js";
52
+ import "./chunk-HGEYWE2P.js";
53
+ import "./chunk-NEWDQKA3.js";
54
+ import "./chunk-LIAEGW76.js";
54
55
  import {
55
56
  probeChunks
56
- } from "./chunk-QN6YHRQT.js";
57
+ } from "./chunk-SHQZFLPN.js";
57
58
  import "./chunk-C2TS5MER.js";
58
59
  import {
59
60
  DEFAULT_MNEMONIC,
60
61
  DotNS,
61
62
  parseDomainName,
62
63
  sanitizeDomainLabel
63
- } from "./chunk-GSC6N4NN.js";
64
+ } from "./chunk-T4WUEPAS.js";
64
65
  import {
65
66
  bootstrapPool,
66
67
  derivePoolAccounts,
@@ -68,7 +69,7 @@ import {
68
69
  fetchPoolAuthorizations,
69
70
  selectAccount
70
71
  } from "./chunk-4PVJ2JBZ.js";
71
- import "./chunk-AUYCCEMA.js";
72
+ import "./chunk-ZL7KBV52.js";
72
73
  import {
73
74
  VERSION,
74
75
  loadRunState,
@@ -78,7 +79,7 @@ import {
78
79
  shouldSkipStaleWarning,
79
80
  stateFilePath,
80
81
  writeRunState
81
- } from "./chunk-RGO4QEQ3.js";
82
+ } from "./chunk-ELX3YZQG.js";
82
83
  import {
83
84
  DEFAULT_ENV_ID,
84
85
  deepMergeEnvironments,
@@ -1,23 +1,24 @@
1
1
  import {
2
2
  publishManifest
3
- } from "../chunk-3OHJVERU.js";
3
+ } from "../chunk-2XBLLNDK.js";
4
4
  import "../chunk-RI3ZLNPN.js";
5
- import "../chunk-JA6JBGRD.js";
6
- import "../chunk-G56VYTUD.js";
5
+ import "../chunk-NRDXKYWQ.js";
6
+ import "../chunk-6GGRUTTC.js";
7
+ import "../chunk-GRPLHUYC.js";
7
8
  import "../chunk-HOTQDYHD.js";
8
9
  import "../chunk-IW3X2MJF.js";
9
10
  import "../chunk-KOSF5FDO.js";
10
11
  import "../chunk-J3NIXHZZ.js";
11
12
  import "../chunk-S7EM5VMW.js";
12
- import "../chunk-X22J6KA7.js";
13
- import "../chunk-X5ZAC4HR.js";
14
- import "../chunk-YBD5VLUC.js";
15
- import "../chunk-QN6YHRQT.js";
13
+ import "../chunk-HGEYWE2P.js";
14
+ import "../chunk-NEWDQKA3.js";
15
+ import "../chunk-LIAEGW76.js";
16
+ import "../chunk-SHQZFLPN.js";
16
17
  import "../chunk-C2TS5MER.js";
17
- import "../chunk-GSC6N4NN.js";
18
+ import "../chunk-T4WUEPAS.js";
18
19
  import "../chunk-4PVJ2JBZ.js";
19
- import "../chunk-AUYCCEMA.js";
20
- import "../chunk-RGO4QEQ3.js";
20
+ import "../chunk-ZL7KBV52.js";
21
+ import "../chunk-ELX3YZQG.js";
21
22
  import "../chunk-GL3U7K2B.js";
22
23
  import "../chunk-ZOC4GITL.js";
23
24
  export {
@@ -5,8 +5,8 @@ import {
5
5
  maybeWriteMemoryReport,
6
6
  safeHeap,
7
7
  sampleFromBytes
8
- } from "./chunk-AUYCCEMA.js";
9
- import "./chunk-RGO4QEQ3.js";
8
+ } from "./chunk-ZL7KBV52.js";
9
+ import "./chunk-ELX3YZQG.js";
10
10
  export {
11
11
  DEFAULT_THRESHOLD_MB,
12
12
  buildMemoryReport,
package/dist/merkle.js CHANGED
@@ -6,22 +6,23 @@ import {
6
6
  merkleizeKuboBackend,
7
7
  merkleizeWithStableOrder,
8
8
  rebuildOrderedCarFromBytes
9
- } from "./chunk-JA6JBGRD.js";
10
- import "./chunk-G56VYTUD.js";
9
+ } from "./chunk-NRDXKYWQ.js";
10
+ import "./chunk-6GGRUTTC.js";
11
+ import "./chunk-GRPLHUYC.js";
11
12
  import "./chunk-HOTQDYHD.js";
12
13
  import "./chunk-IW3X2MJF.js";
13
14
  import "./chunk-KOSF5FDO.js";
14
15
  import "./chunk-J3NIXHZZ.js";
15
16
  import "./chunk-S7EM5VMW.js";
16
- import "./chunk-X22J6KA7.js";
17
- import "./chunk-X5ZAC4HR.js";
18
- import "./chunk-YBD5VLUC.js";
19
- import "./chunk-QN6YHRQT.js";
17
+ import "./chunk-HGEYWE2P.js";
18
+ import "./chunk-NEWDQKA3.js";
19
+ import "./chunk-LIAEGW76.js";
20
+ import "./chunk-SHQZFLPN.js";
20
21
  import "./chunk-C2TS5MER.js";
21
- import "./chunk-GSC6N4NN.js";
22
+ import "./chunk-T4WUEPAS.js";
22
23
  import "./chunk-4PVJ2JBZ.js";
23
- import "./chunk-AUYCCEMA.js";
24
- import "./chunk-RGO4QEQ3.js";
24
+ import "./chunk-ZL7KBV52.js";
25
+ import "./chunk-ELX3YZQG.js";
25
26
  import "./chunk-GL3U7K2B.js";
26
27
  import "./chunk-ZOC4GITL.js";
27
28
  export {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  PaidAliasBindingError,
3
3
  bindPaidAliasToAccount
4
- } from "../chunk-L5Z3TJD7.js";
5
- import "../chunk-SLE4P6MO.js";
6
- import "../chunk-SI2ZUOYD.js";
4
+ } from "../chunk-OCKCB72S.js";
5
+ import "../chunk-EJI3MX4G.js";
7
6
  import "../chunk-ZYVGHDMU.js";
7
+ import "../chunk-SI2ZUOYD.js";
8
8
  export {
9
9
  PaidAliasBindingError,
10
10
  bindPaidAliasToAccount
@@ -2,9 +2,9 @@ import {
2
2
  PersonalIdBindingError,
3
3
  bindPersonalIdToAccount,
4
4
  buildAsPersonExtensionValue
5
- } from "../chunk-LHLCPDGL.js";
6
- import "../chunk-SI2ZUOYD.js";
5
+ } from "../chunk-7URNKK6J.js";
7
6
  import "../chunk-ZYVGHDMU.js";
7
+ import "../chunk-SI2ZUOYD.js";
8
8
  export {
9
9
  PersonalIdBindingError,
10
10
  bindPersonalIdToAccount,
@@ -5,31 +5,31 @@ import {
5
5
  import "../chunk-UPWEOGLQ.js";
6
6
  import {
7
7
  bindPaidAliasToAccount
8
- } from "../chunk-L5Z3TJD7.js";
9
- import "../chunk-SLE4P6MO.js";
8
+ } from "../chunk-OCKCB72S.js";
9
+ import "../chunk-EJI3MX4G.js";
10
10
  import {
11
11
  bindPersonalIdToAccount
12
- } from "../chunk-LHLCPDGL.js";
12
+ } from "../chunk-7URNKK6J.js";
13
13
  import {
14
14
  runChainPrereqProbes
15
15
  } from "../chunk-XAB7WM3S.js";
16
16
  import {
17
17
  claimPgas
18
- } from "../chunk-7Y7RDOGT.js";
18
+ } from "../chunk-EATOPQFR.js";
19
+ import {
20
+ bytesToHex
21
+ } from "../chunk-ZYVGHDMU.js";
19
22
  import {
20
23
  DOTNS_CONTEXT_BYTES,
21
24
  PEOPLE_MEMBER_IDENTIFIER_HEX,
22
25
  PGAS_ASSET_ID
23
26
  } from "../chunk-SI2ZUOYD.js";
24
- import {
25
- bytesToHex
26
- } from "../chunk-ZYVGHDMU.js";
27
27
  import {
28
28
  WS_HEARTBEAT_TIMEOUT_MS
29
- } from "../chunk-GSC6N4NN.js";
29
+ } from "../chunk-T4WUEPAS.js";
30
30
  import "../chunk-4PVJ2JBZ.js";
31
- import "../chunk-AUYCCEMA.js";
32
- import "../chunk-RGO4QEQ3.js";
31
+ import "../chunk-ZL7KBV52.js";
32
+ import "../chunk-ELX3YZQG.js";
33
33
  import {
34
34
  loadEnvironments
35
35
  } from "../chunk-GL3U7K2B.js";
@@ -3,9 +3,9 @@ import {
3
3
  buildAsPgasClaimExtensionValue,
4
4
  buildImplicationExclude,
5
5
  claimPgas
6
- } from "../chunk-7Y7RDOGT.js";
7
- import "../chunk-SI2ZUOYD.js";
6
+ } from "../chunk-EATOPQFR.js";
8
7
  import "../chunk-ZYVGHDMU.js";
8
+ import "../chunk-SI2ZUOYD.js";
9
9
  export {
10
10
  PgasClaimError,
11
11
  buildAsPgasClaimExtensionValue,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  WS_HEARTBEAT_TIMEOUT_MS
3
- } from "../chunk-GSC6N4NN.js";
3
+ } from "../chunk-T4WUEPAS.js";
4
4
  import "../chunk-4PVJ2JBZ.js";
5
- import "../chunk-AUYCCEMA.js";
6
- import "../chunk-RGO4QEQ3.js";
5
+ import "../chunk-ZL7KBV52.js";
6
+ import "../chunk-ELX3YZQG.js";
7
7
  import {
8
8
  loadEnvironments
9
9
  } from "../chunk-GL3U7K2B.js";
@@ -2,9 +2,9 @@ import {
2
2
  buildAliasProofMessage,
3
3
  getProofValidAtSec,
4
4
  u64LeBytes
5
- } from "../chunk-SLE4P6MO.js";
6
- import "../chunk-SI2ZUOYD.js";
5
+ } from "../chunk-EJI3MX4G.js";
7
6
  import "../chunk-ZYVGHDMU.js";
7
+ import "../chunk-SI2ZUOYD.js";
8
8
  export {
9
9
  buildAliasProofMessage,
10
10
  getProofValidAtSec,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  buildAliasProofMessage,
3
3
  getProofValidAtSec
4
- } from "../chunk-SLE4P6MO.js";
5
- import {
6
- PEOPLE_MEMBER_IDENTIFIER_HEX,
7
- PROOF_BYTES
8
- } from "../chunk-SI2ZUOYD.js";
4
+ } from "../chunk-EJI3MX4G.js";
9
5
  import {
10
6
  bytesToHex,
11
7
  encodeMembers,
12
8
  hexToBytes
13
9
  } from "../chunk-ZYVGHDMU.js";
10
+ import {
11
+ PEOPLE_MEMBER_IDENTIFIER_HEX,
12
+ PROOF_BYTES
13
+ } from "../chunk-SI2ZUOYD.js";
14
14
 
15
15
  // src/personhood/reprove.ts
16
16
  import { getSs58AddressInfo, Binary } from "polkadot-api";
package/dist/run-state.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  shouldSkipStaleWarning,
8
8
  stateFilePath,
9
9
  writeRunState
10
- } from "./chunk-RGO4QEQ3.js";
10
+ } from "./chunk-ELX3YZQG.js";
11
11
  export {
12
12
  VERSION,
13
13
  loadRunState,
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Conservative same-period cache for the SSS allowance preflight.
3
+ *
4
+ * The SSS allowance is a 1-day-period resource on the People chain (period =
5
+ * floor(unix_secs / 86_400), UTC-midnight-aligned) plus a chain-side grace
6
+ * window (~2 days, `StmtStoreGraceWindow`). The on-chain value carries NO
7
+ * expiry — expiry is enforced by *pruning* the key at period rollover + grace.
8
+ *
9
+ * We cannot read an authoritative expiry (unlike Bulletin, which stores one),
10
+ * and we must not bake the grace constant into the CLI (it lives in someone
11
+ * else's runtime and already changed once, in people PR #1022). But one fact is
12
+ * stable and safe: an allowance confirmed present during the current period
13
+ * CANNOT be pruned before the period ends (grace only extends validity beyond
14
+ * that). So "valid until the end of the current period" (next UTC midnight) is
15
+ * a STRICT lower bound — it deliberately discards the volatile grace, so it can
16
+ * never over-estimate even if the grace constant changes again.
17
+ *
18
+ * Within that window we skip the (sub-second) People-chain read; after it we
19
+ * fall through to the authoritative `checkSSSAllowance`. The cache is keyed by
20
+ * the statement-signing account so a different session never reads a stale hit.
21
+ *
22
+ * Clock skew: for a fresh grant (claimed this period, valid through +2 days of
23
+ * grace) the period boundary has ~2 days of slack, so skew is immaterial. The
24
+ * one tight case is the oldest still-valid grant — claimed two periods ago, it
25
+ * expires exactly at our boundary — where a local clock running behind chain
26
+ * time gives a skew-sized over-estimate. That residual is covered by the
27
+ * sessionSigner `NoAllowanceError` fast-fail backstop, not by this cache.
28
+ *
29
+ * The marker lives next to the bulletin slot cache (`~/.polkadot-apps`).
30
+ */
31
+ /**
32
+ * End of the current SSS 1-day allowance period, in unix seconds. Equals the
33
+ * next UTC-midnight boundary. An allowance present in the current period is
34
+ * valid at least until this instant (grace extends it further), so it is a
35
+ * safe lower bound for skipping the chain read.
36
+ */
37
+ declare function sssPeriodEndSec(nowSec: number): number;
38
+ /**
39
+ * True when a cached confirmation says THIS account's allowance is valid for
40
+ * the current period — letting the preflight skip the chain read. Conservative:
41
+ * only trusts the cache within the granting period. Any read/parse error or
42
+ * account mismatch → false (fall through to the authoritative check).
43
+ */
44
+ declare function isSssAllowanceCacheValid(account: Uint8Array, nowSec?: number, storageDir?: string): Promise<boolean>;
45
+ /**
46
+ * Record that THIS account's allowance was confirmed present on-chain; valid
47
+ * (conservatively) until the end of the current 1-day period. Best-effort — a
48
+ * write failure just means the next deploy re-reads the chain.
49
+ */
50
+ declare function writeSssAllowanceCache(account: Uint8Array, nowSec?: number, storageDir?: string): Promise<void>;
51
+ /**
52
+ * Drop the cached confirmation (e.g. when the chain reports the allowance is
53
+ * gone) so the next preflight re-reads the chain rather than trusting a hit.
54
+ */
55
+ declare function clearSssAllowanceCache(storageDir?: string): Promise<void>;
56
+ /**
57
+ * Cached SSS allowance preflight, shared by the deploy and login paths.
58
+ *
59
+ * `true` — allowance present (same-period cache hit, or chain-confirmed and
60
+ * cache refreshed)
61
+ * `false` — chain-confirmed absent/expired (cache cleared); caller should
62
+ * surface the "run logout/login" guidance
63
+ * `null` — no statement account, or People chain unreachable → don't block
64
+ *
65
+ * On a cache hit it skips BOTH the chain read and the endpoint resolution, so
66
+ * `getPeopleEndpoints` is a thunk evaluated only on a miss.
67
+ */
68
+ declare function preflightSssAllowance(account: Uint8Array | null, getPeopleEndpoints: () => Promise<string[]>): Promise<boolean | null>;
69
+
70
+ export { clearSssAllowanceCache, isSssAllowanceCacheValid, preflightSssAllowance, sssPeriodEndSec, writeSssAllowanceCache };
@@ -0,0 +1,20 @@
1
+ import {
2
+ clearSssAllowanceCache,
3
+ isSssAllowanceCacheValid,
4
+ preflightSssAllowance,
5
+ sssPeriodEndSec,
6
+ writeSssAllowanceCache
7
+ } from "./chunk-6GGRUTTC.js";
8
+ import "./chunk-GRPLHUYC.js";
9
+ import "./chunk-HGEYWE2P.js";
10
+ import "./chunk-ZL7KBV52.js";
11
+ import "./chunk-ELX3YZQG.js";
12
+ import "./chunk-GL3U7K2B.js";
13
+ import "./chunk-ZOC4GITL.js";
14
+ export {
15
+ clearSssAllowanceCache,
16
+ isSssAllowanceCacheValid,
17
+ preflightSssAllowance,
18
+ sssPeriodEndSec,
19
+ writeSssAllowanceCache
20
+ };
@@ -7,8 +7,39 @@
7
7
  * We can check this via a single `state_getStorage` RPC call — no transaction,
8
8
  * no phone dialog. Non-null, non-"0x" result means the allowance is present.
9
9
  *
10
+ * The stored value is `(used_bytes: u32, max_bytes: u32)` (e.g. `(2, 512000)`)
11
+ * — there is no expiry block in the value. Expiry is enforced chain-side by
12
+ * *pruning* the key when the allowance lapses, so key-present ⇔ allowance valid
13
+ * (and not expired). Verified empirically against paseo-next-v2 People.
14
+ *
15
+ * IMPORTANT — which account: the allowance belongs to the **statement-signing
16
+ * account** (the session's `localAccount`), NOT the product account. The
17
+ * product account signs on-chain extrinsics (DotNS records); it never writes
18
+ * to the statement store and therefore never holds an SSS allowance (its key
19
+ * is always null). The mobile-signing transport rides the statement store: the
20
+ * terminal publishes Request statements signed by `localAccount`, so that is
21
+ * the account the chain grants the allowance to at login. Use
22
+ * `statementSigningAccount(userSession)` to pick it — checking the product
23
+ * account is a false-negative that blocks every valid session.
24
+ *
10
25
  * Reference: substrate/primitives/statement-store/src/lib.rs
11
26
  */
27
+ /**
28
+ * The account whose SSS allowance gates statement publishing for a session:
29
+ * the session's local (statement-signing) account. This is the account that
30
+ * signs the Request statements relayed to the phone — the one the chain grants
31
+ * `StatementStoreAllowance` to at login. Returns its raw 32-byte public key, or
32
+ * `null` if the session shape lacks a usable local account.
33
+ *
34
+ * Typed structurally (just the field we read) rather than importing the
35
+ * concrete `UserSession` type from `@parity/product-sdk-terminal`, keeping the
36
+ * SDK out of the headless deploy/login hot paths.
37
+ */
38
+ declare function statementSigningAccount(userSession: {
39
+ localAccount?: {
40
+ accountId?: Uint8Array;
41
+ };
42
+ } | null | undefined): Uint8Array | null;
12
43
  /**
13
44
  * Build the hex-encoded storage key for an SSS allowance check.
14
45
  *
@@ -26,4 +57,4 @@ declare function sssStorageKey(pubkey: Uint8Array): string;
26
57
  */
27
58
  declare function checkSSSAllowance(pubkey: Uint8Array, peopleEndpoints: string[], timeoutMs?: number): Promise<boolean | null>;
28
59
 
29
- export { checkSSSAllowance, sssStorageKey };
60
+ export { checkSSSAllowance, sssStorageKey, statementSigningAccount };
@@ -1,8 +1,10 @@
1
1
  import {
2
2
  checkSSSAllowance,
3
- sssStorageKey
4
- } from "./chunk-G56VYTUD.js";
3
+ sssStorageKey,
4
+ statementSigningAccount
5
+ } from "./chunk-GRPLHUYC.js";
5
6
  export {
6
7
  checkSSSAllowance,
7
- sssStorageKey
8
+ sssStorageKey,
9
+ statementSigningAccount
8
10
  };
@@ -7,22 +7,23 @@ import {
7
7
  readBulletinSlotSigner,
8
8
  waitForBulletinAuthorization,
9
9
  writeBulletinSlotKey
10
- } from "./chunk-JA6JBGRD.js";
11
- import "./chunk-G56VYTUD.js";
10
+ } from "./chunk-NRDXKYWQ.js";
11
+ import "./chunk-6GGRUTTC.js";
12
+ import "./chunk-GRPLHUYC.js";
12
13
  import "./chunk-HOTQDYHD.js";
13
14
  import "./chunk-IW3X2MJF.js";
14
15
  import "./chunk-KOSF5FDO.js";
15
16
  import "./chunk-J3NIXHZZ.js";
16
17
  import "./chunk-S7EM5VMW.js";
17
- import "./chunk-X22J6KA7.js";
18
- import "./chunk-X5ZAC4HR.js";
19
- import "./chunk-YBD5VLUC.js";
20
- import "./chunk-QN6YHRQT.js";
18
+ import "./chunk-HGEYWE2P.js";
19
+ import "./chunk-NEWDQKA3.js";
20
+ import "./chunk-LIAEGW76.js";
21
+ import "./chunk-SHQZFLPN.js";
21
22
  import "./chunk-C2TS5MER.js";
22
- import "./chunk-GSC6N4NN.js";
23
+ import "./chunk-T4WUEPAS.js";
23
24
  import "./chunk-4PVJ2JBZ.js";
24
- import "./chunk-AUYCCEMA.js";
25
- import "./chunk-RGO4QEQ3.js";
25
+ import "./chunk-ZL7KBV52.js";
26
+ import "./chunk-ELX3YZQG.js";
26
27
  import "./chunk-GL3U7K2B.js";
27
28
  import "./chunk-ZOC4GITL.js";
28
29
  export {
package/dist/telemetry.js CHANGED
@@ -33,8 +33,8 @@ import {
33
33
  truncateAddress,
34
34
  withDeploySpan,
35
35
  withSpan
36
- } from "./chunk-AUYCCEMA.js";
37
- import "./chunk-RGO4QEQ3.js";
36
+ } from "./chunk-ZL7KBV52.js";
37
+ import "./chunk-ELX3YZQG.js";
38
38
  export {
39
39
  VERSION,
40
40
  __setDeployRootSpanForTest,
@@ -11,9 +11,9 @@ import {
11
11
  isPreReleaseVersion,
12
12
  preReleaseWarning,
13
13
  promptYesNo
14
- } from "./chunk-YBD5VLUC.js";
15
- import "./chunk-AUYCCEMA.js";
16
- import "./chunk-RGO4QEQ3.js";
14
+ } from "./chunk-LIAEGW76.js";
15
+ import "./chunk-ZL7KBV52.js";
16
+ import "./chunk-ELX3YZQG.js";
17
17
  export {
18
18
  assessVersion,
19
19
  checkNodeVersion,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parity/product-deploy",
3
- "version": "0.9.0-rc.4",
3
+ "version": "0.9.0-rc.6",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -44,11 +44,11 @@
44
44
  "tools/release-retry-wrapper.mjs"
45
45
  ],
46
46
  "scripts": {
47
- "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/personhood/encoding.ts src/personhood/hashing.ts src/personhood/constants.ts src/personhood/member-key.ts src/personhood/people-client.ts src/personhood/proof-validity.ts src/personhood/reprove.ts src/personhood/bind-personal-id.ts src/personhood/claim-pgas.ts src/personhood/bind-paid-alias.ts src/personhood/bootstrap.ts src/personhood/chain-prereqs.ts src/manifest/types.ts src/manifest/schema.ts src/manifest/byte-budget.ts src/manifest/config-load.ts src/manifest/publish.ts src/auth/index.ts src/auth/vendor/index.ts src/auth/vendor/ui/index.ts src/auth-config.ts src/commands/login.ts src/commands/logout.ts src/commands/whoami.ts src/storage-signer.ts src/spinner.ts src/sss-allowance.ts --format esm --dts --clean --target node22",
47
+ "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/personhood/encoding.ts src/personhood/hashing.ts src/personhood/constants.ts src/personhood/member-key.ts src/personhood/people-client.ts src/personhood/proof-validity.ts src/personhood/reprove.ts src/personhood/bind-personal-id.ts src/personhood/claim-pgas.ts src/personhood/bind-paid-alias.ts src/personhood/bootstrap.ts src/personhood/chain-prereqs.ts src/manifest/types.ts src/manifest/schema.ts src/manifest/byte-budget.ts src/manifest/config-load.ts src/manifest/publish.ts src/auth/index.ts src/auth/vendor/index.ts src/auth/vendor/ui/index.ts src/auth-config.ts src/commands/login.ts src/commands/logout.ts src/commands/whoami.ts src/storage-signer.ts src/spinner.ts src/sss-allowance.ts src/sss-allowance-cache.ts --format esm --dts --clean --target node22",
48
48
  "refresh-environments": "node scripts/refresh-environments.mjs",
49
49
  "postinstall": "patch-package || true",
50
50
  "prepare": "npm run build",
51
- "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/chunk-sharing-report.test.js test/product-manifest.test.js test/cache-savings-totals.test.js test/error-pattern-signature.test.js test/exit-codes.test.js test/probe-env-health.test.js test/e2e-chain-calls.test.js test/auth-config.test.js test/whoami.test.js test/login.test.js test/logout.test.js test/auth-resolve.test.js test/storage-signer.test.js test/spinner.test.js test/sss-allowance.test.js && npm run test:vendor",
51
+ "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/chunk-sharing-report.test.js test/product-manifest.test.js test/cache-savings-totals.test.js test/error-pattern-signature.test.js test/exit-codes.test.js test/probe-env-health.test.js test/e2e-chain-calls.test.js test/auth-config.test.js test/whoami.test.js test/login.test.js test/logout.test.js test/auth-resolve.test.js test/storage-signer.test.js test/spinner.test.js test/sss-allowance.test.js test/sss-allowance-cache.test.js && npm run test:vendor",
52
52
  "test:e2e": "npm run build && node --test test/e2e.test.js",
53
53
  "test:e2e:smoke": "bash scripts/e2e-pass.sh smoke",
54
54
  "test:e2e:pr": "bash scripts/e2e-pass.sh pr",
@@ -1,6 +1,3 @@
1
- import {
2
- BANDERSNATCH_SIGNATURE_BYTES
3
- } from "./chunk-SI2ZUOYD.js";
4
1
  import {
5
2
  buildImplicationMessage,
6
3
  buildV5GeneralExtrinsic,
@@ -9,6 +6,9 @@ import {
9
6
  readExtensionOrder,
10
7
  toHex
11
8
  } from "./chunk-ZYVGHDMU.js";
9
+ import {
10
+ BANDERSNATCH_SIGNATURE_BYTES
11
+ } from "./chunk-SI2ZUOYD.js";
12
12
 
13
13
  // src/personhood/bind-personal-id.ts
14
14
  import { Enum } from "polkadot-api";
@@ -1,8 +1,3 @@
1
- import {
2
- PEOPLE_MEMBER_IDENTIFIER_HEX,
3
- PGAS_ASSET_ID,
4
- PROOF_BYTES
5
- } from "./chunk-SI2ZUOYD.js";
6
1
  import {
7
2
  buildImplicationMessage,
8
3
  buildV5GeneralExtrinsic,
@@ -12,6 +7,11 @@ import {
12
7
  readExtensionOrder,
13
8
  toHex
14
9
  } from "./chunk-ZYVGHDMU.js";
10
+ import {
11
+ PEOPLE_MEMBER_IDENTIFIER_HEX,
12
+ PGAS_ASSET_ID,
13
+ PROOF_BYTES
14
+ } from "./chunk-SI2ZUOYD.js";
15
15
 
16
16
  // src/personhood/claim-pgas.ts
17
17
  import * as verifiable from "verifiablejs/nodejs";
@@ -1,10 +1,10 @@
1
- import {
2
- ALIAS_PROOF_TAG
3
- } from "./chunk-SI2ZUOYD.js";
4
1
  import {
5
2
  blake2_256,
6
3
  concatBytes
7
4
  } from "./chunk-ZYVGHDMU.js";
5
+ import {
6
+ ALIAS_PROOF_TAG
7
+ } from "./chunk-SI2ZUOYD.js";
8
8
 
9
9
  // src/personhood/proof-validity.ts
10
10
  var u64LeBytes = (v) => {