@parity/product-deploy 0.11.0 → 0.12.0-rc.1

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 (44) hide show
  1. package/bin/bulletin-bootstrap +23 -1
  2. package/dist/auth-config.js +3 -3
  3. package/dist/bug-report.js +4 -4
  4. package/dist/{chunk-JWMHCW74.js → chunk-2NF6QIDF.js} +1 -1
  5. package/dist/{chunk-53BU4X2R.js → chunk-52F2ETEG.js} +12 -2
  6. package/dist/{chunk-O4I37F5K.js → chunk-5BE5PQH6.js} +55 -12
  7. package/dist/{chunk-7RYEYWYO.js → chunk-BH7DJ5IW.js} +1 -1
  8. package/dist/{chunk-SES7CGNY.js → chunk-BXW5MBBY.js} +1 -1
  9. package/dist/{chunk-HLXRVFKL.js → chunk-FVPRBTHT.js} +38 -1
  10. package/dist/{chunk-TE2YKRYY.js → chunk-GGXK4DDN.js} +2 -2
  11. package/dist/{chunk-UUJFLJKY.js → chunk-OOGXTHVQ.js} +158 -61
  12. package/dist/{chunk-QDHLTSEO.js → chunk-PXEFWMJP.js} +2 -2
  13. package/dist/{chunk-7E33R3OQ.js → chunk-VIZ6GBQE.js} +1 -1
  14. package/dist/{chunk-HTZGBUZA.js → chunk-W2OSH4GD.js} +3 -3
  15. package/dist/{chunk-MRQPJLPS.js → chunk-XVQICFTB.js} +22 -1
  16. package/dist/chunk-probe.d.ts +43 -1
  17. package/dist/chunk-probe.js +11 -5
  18. package/dist/commands/login.js +11 -11
  19. package/dist/commands/logout.js +4 -4
  20. package/dist/commands/transfer.js +4 -4
  21. package/dist/commands/whoami.js +3 -3
  22. package/dist/deploy-actors.js +6 -6
  23. package/dist/deploy.d.ts +45 -1
  24. package/dist/deploy.js +17 -11
  25. package/dist/dotns.d.ts +33 -1
  26. package/dist/dotns.js +14 -4
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.js +18 -12
  29. package/dist/manifest/publish.js +12 -12
  30. package/dist/memory-report.js +2 -2
  31. package/dist/merkle.js +11 -11
  32. package/dist/personhood/bootstrap.js +4 -4
  33. package/dist/personhood/people-client.js +4 -4
  34. package/dist/personhood/reprove.js +19 -2
  35. package/dist/pool.d.ts +11 -1
  36. package/dist/pool.js +9 -1
  37. package/dist/run-state.js +1 -1
  38. package/dist/sss-allowance-cache.js +4 -4
  39. package/dist/storage-signer.d.ts +28 -3
  40. package/dist/storage-signer.js +13 -11
  41. package/dist/telemetry.js +2 -2
  42. package/dist/version-check.js +3 -3
  43. package/package.json +1 -1
  44. package/tools/release-retry-wrapper.mjs +6 -0
@@ -4,12 +4,12 @@ import {
4
4
  preflightSssAllowance,
5
5
  sssPeriodEndSec,
6
6
  writeSssAllowanceCache
7
- } from "./chunk-7RYEYWYO.js";
7
+ } from "./chunk-BH7DJ5IW.js";
8
8
  import "./chunk-GRPLHUYC.js";
9
- import "./chunk-JWMHCW74.js";
9
+ import "./chunk-2NF6QIDF.js";
10
10
  import "./chunk-TSPERKUS.js";
11
- import "./chunk-53BU4X2R.js";
12
- import "./chunk-SES7CGNY.js";
11
+ import "./chunk-52F2ETEG.js";
12
+ import "./chunk-BXW5MBBY.js";
13
13
  import "./chunk-JSYQ3JQS.js";
14
14
  import "./chunk-ZOC4GITL.js";
15
15
  export {
@@ -115,10 +115,35 @@ declare function waitForBulletinAuthorization(ss58: string, opts?: {
115
115
  authorized: false;
116
116
  reason: "timeout";
117
117
  }>;
118
+ /**
119
+ * Generic retry wrapper for a single flaky step. Retries any thrown error
120
+ * EXCEPT `BulletinSlotAuthError` up to `retries` times (default 2, i.e. 3
121
+ * total attempts) with `delayMs` between attempts (default 1000ms).
122
+ *
123
+ * `BulletinSlotAuthError` ("missing" | "expired") is a definitive on-chain
124
+ * fact, not a network blip — retrying it would just re-read the same state
125
+ * and waste time, so it always propagates on the first attempt.
126
+ *
127
+ * Extracted for #1058: getSlotSignerProvider's connect + Authorizations
128
+ * probe is a single WS round-trip performed once per deploy; a transient
129
+ * WS/RPC hiccup on that one attempt used to permanently commit the whole
130
+ * upload to the pool-account fallback (selectStorageReconnect in
131
+ * src/deploy.ts never retries the slot path once it has failed once).
132
+ * Mirrors the existing "a flaky read is NOT unauthorized" tolerance already
133
+ * used by pollUntilBulletinAuthorized (login path), bounded to a much
134
+ * shorter budget appropriate for a synchronous deploy-time connect.
135
+ */
136
+ declare function withTransientRetry<T>(attempt: () => Promise<T>, opts?: {
137
+ retries?: number;
138
+ delayMs?: number;
139
+ }): Promise<T>;
118
140
  /**
119
141
  * Create a Bulletin WS connection for the slot-account signer.
120
- * Checks on-chain authorization (single probe no poll). Throws BulletinSlotAuthError
121
- * with reason "missing" | "expired" so callers can distinguish and produce targeted messages.
142
+ * Checks on-chain authorization. A transient connect/query error (WS blip,
143
+ * RPC timeout) is retried up to twice via withTransientRetry before giving
144
+ * up; a clean read that is definitively missing/expired throws
145
+ * BulletinSlotAuthError immediately (no retry — see withTransientRetry) so
146
+ * callers can distinguish and produce targeted messages.
122
147
  */
123
148
  declare function getSlotSignerProvider(signer: PolkadotSigner, ss58: string): Promise<{
124
149
  client: any;
@@ -127,4 +152,4 @@ declare function getSlotSignerProvider(signer: PolkadotSigner, ss58: string): Pr
127
152
  ss58: string;
128
153
  }>;
129
154
 
130
- export { BulletinSlotAuthError, extractBulletinSlotKey, getSlotSignerProvider, isBulletinAuthActive, pollUntilBulletinAuthorized, readBulletinSlotSigner, waitForBulletinAuthorization, writeBulletinSlotKey };
155
+ export { BulletinSlotAuthError, extractBulletinSlotKey, getSlotSignerProvider, isBulletinAuthActive, pollUntilBulletinAuthorized, readBulletinSlotSigner, waitForBulletinAuthorization, withTransientRetry, writeBulletinSlotKey };
@@ -6,30 +6,31 @@ import {
6
6
  pollUntilBulletinAuthorized,
7
7
  readBulletinSlotSigner,
8
8
  waitForBulletinAuthorization,
9
+ withTransientRetry,
9
10
  writeBulletinSlotKey
10
- } from "./chunk-UUJFLJKY.js";
11
- import "./chunk-7RYEYWYO.js";
11
+ } from "./chunk-OOGXTHVQ.js";
12
+ import "./chunk-BH7DJ5IW.js";
12
13
  import "./chunk-GRPLHUYC.js";
13
14
  import "./chunk-HOTQDYHD.js";
14
15
  import "./chunk-IW3X2MJF.js";
15
16
  import "./chunk-KOSF5FDO.js";
16
17
  import "./chunk-J3NIXHZZ.js";
17
18
  import "./chunk-S7EM5VMW.js";
18
- import "./chunk-HTZGBUZA.js";
19
- import "./chunk-7E33R3OQ.js";
20
- import "./chunk-HLXRVFKL.js";
19
+ import "./chunk-W2OSH4GD.js";
20
+ import "./chunk-VIZ6GBQE.js";
21
+ import "./chunk-FVPRBTHT.js";
21
22
  import "./chunk-C2TS5MER.js";
22
- import "./chunk-QDHLTSEO.js";
23
+ import "./chunk-PXEFWMJP.js";
23
24
  import "./chunk-JQKKMUCT.js";
24
25
  import "./chunk-5FLTDWWP.js";
25
26
  import "./chunk-RIRDBSBG.js";
26
- import "./chunk-JWMHCW74.js";
27
+ import "./chunk-2NF6QIDF.js";
27
28
  import "./chunk-TSPERKUS.js";
28
- import "./chunk-O4I37F5K.js";
29
+ import "./chunk-5BE5PQH6.js";
29
30
  import "./chunk-SI2ZUOYD.js";
30
- import "./chunk-MRQPJLPS.js";
31
- import "./chunk-53BU4X2R.js";
32
- import "./chunk-SES7CGNY.js";
31
+ import "./chunk-XVQICFTB.js";
32
+ import "./chunk-52F2ETEG.js";
33
+ import "./chunk-BXW5MBBY.js";
33
34
  import "./chunk-JSYQ3JQS.js";
34
35
  import "./chunk-ZOC4GITL.js";
35
36
  export {
@@ -40,5 +41,6 @@ export {
40
41
  pollUntilBulletinAuthorized,
41
42
  readBulletinSlotSigner,
42
43
  waitForBulletinAuthorization,
44
+ withTransientRetry,
43
45
  writeBulletinSlotKey
44
46
  };
package/dist/telemetry.js CHANGED
@@ -36,8 +36,8 @@ import {
36
36
  truncateAddress,
37
37
  withDeploySpan,
38
38
  withSpan
39
- } from "./chunk-53BU4X2R.js";
40
- import "./chunk-SES7CGNY.js";
39
+ } from "./chunk-52F2ETEG.js";
40
+ import "./chunk-BXW5MBBY.js";
41
41
  export {
42
42
  VERSION,
43
43
  __setDeployRootSpanForTest,
@@ -11,9 +11,9 @@ import {
11
11
  isPreReleaseVersion,
12
12
  preReleaseWarning,
13
13
  promptYesNo
14
- } from "./chunk-7E33R3OQ.js";
15
- import "./chunk-53BU4X2R.js";
16
- import "./chunk-SES7CGNY.js";
14
+ } from "./chunk-VIZ6GBQE.js";
15
+ import "./chunk-52F2ETEG.js";
16
+ import "./chunk-BXW5MBBY.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.11.0",
3
+ "version": "0.12.0-rc.1",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,6 +30,12 @@ const FLAKE_PATTERNS = [
30
30
  "Account mapping did not take effect", // Revive mapping race
31
31
  "requires Node.js >=22", // parity-default runner downgrade (Node v18) — infra flake
32
32
  "received a shutdown signal", // runner process killed mid-job — CI infra flake
33
+ // Chain/block-inclusion timeouts — top transient error class on
34
+ // paseo-next-v2 during the 2026-07 finality-lag incidents (#1050).
35
+ "waiting for block confirmation",
36
+ "transaction watcher silent for",
37
+ "of chain progress (budget=",
38
+ "did not settle within",
33
39
  ];
34
40
 
35
41
  // output: combined stdout+stderr text from the child. Any flake pattern