bulletin-deploy 0.7.26-rc.2 → 0.7.26-rc.4
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.
- package/dist/bug-report.js +4 -4
- package/dist/{chunk-7NRU7N5A.js → chunk-AWULVGHI.js} +2 -2
- package/dist/{chunk-3Z6VK7XP.js → chunk-DLSRMJGO.js} +1 -1
- package/dist/{chunk-OHAO2BPD.js → chunk-GY4T5MYF.js} +44 -40
- package/dist/{chunk-77OAX2MH.js → chunk-JHCSIZFE.js} +1 -1
- package/dist/{chunk-IJOPI6JC.js → chunk-TQOWUM4X.js} +1 -1
- package/dist/{chunk-SEMZRS7Q.js → chunk-WOKJ47IC.js} +1 -1
- package/dist/{chunk-4LB5PXBL.js → chunk-WQ7FBUNK.js} +1 -1
- package/dist/chunk-probe.js +3 -3
- package/dist/deploy.js +7 -7
- package/dist/dotns.js +3 -3
- package/dist/index.js +7 -7
- package/dist/memory-report.js +2 -2
- package/dist/merkle.js +7 -7
- package/dist/personhood/bootstrap.js +3 -3
- package/dist/personhood/people-client.js +3 -3
- package/dist/run-state.js +1 -1
- package/dist/telemetry.js +2 -2
- package/dist/version-check.js +3 -3
- package/package.json +1 -1
package/dist/bug-report.js
CHANGED
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
offerBugReport,
|
|
10
10
|
scrubSecrets,
|
|
11
11
|
setDeployContext
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-AWULVGHI.js";
|
|
13
|
+
import "./chunk-DLSRMJGO.js";
|
|
14
|
+
import "./chunk-TQOWUM4X.js";
|
|
15
|
+
import "./chunk-JHCSIZFE.js";
|
|
16
16
|
export {
|
|
17
17
|
buildCliFlagsSummary,
|
|
18
18
|
buildLabels,
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
classifyErrorArea,
|
|
3
3
|
isInteractive,
|
|
4
4
|
promptYesNo
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DLSRMJGO.js";
|
|
6
6
|
import {
|
|
7
7
|
VERSION,
|
|
8
8
|
getCurrentSentryTraceId
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TQOWUM4X.js";
|
|
10
10
|
|
|
11
11
|
// src/bug-report.ts
|
|
12
12
|
import { execSync, execFileSync } from "child_process";
|
|
@@ -20,10 +20,10 @@ import {
|
|
|
20
20
|
} from "./chunk-S7EM5VMW.js";
|
|
21
21
|
import {
|
|
22
22
|
setDeployContext
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-AWULVGHI.js";
|
|
24
24
|
import {
|
|
25
25
|
probeChunks
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-WOKJ47IC.js";
|
|
27
27
|
import {
|
|
28
28
|
packSection
|
|
29
29
|
} from "./chunk-C2TS5MER.js";
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
parseDomainName,
|
|
35
35
|
popStatusName,
|
|
36
36
|
verifyNonceAdvanced
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-WQ7FBUNK.js";
|
|
38
38
|
import {
|
|
39
39
|
derivePoolAccounts,
|
|
40
40
|
detectTestnet,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
truncateAddress,
|
|
57
57
|
withDeploySpan,
|
|
58
58
|
withSpan
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-TQOWUM4X.js";
|
|
60
60
|
import {
|
|
61
61
|
DEFAULT_ENV_ID,
|
|
62
62
|
getPopSelfServeConfig,
|
|
@@ -143,7 +143,8 @@ var RETRY_MAX_DELAY_MS = 15e3;
|
|
|
143
143
|
var WS_HEARTBEAT_TIMEOUT_MS = 3e5;
|
|
144
144
|
var GRANDPA_NATURAL_WAIT_MS = parseInt(process.env.BULLETIN_GRANDPA_NATURAL_WAIT_MS ?? "90000", 10);
|
|
145
145
|
var GRANDPA_REUPLOAD_POLL_MS = 5e3;
|
|
146
|
-
var GRANDPA_REUPLOAD_TIMEOUT_MS =
|
|
146
|
+
var GRANDPA_REUPLOAD_TIMEOUT_MS = 12e4;
|
|
147
|
+
var GRANDPA_REUPLOAD_MAX_ROUNDS = 3;
|
|
147
148
|
var RETRY_BUDGET_MAX_EVENTS = parseInt(process.env.BULLETIN_RETRY_BUDGET_MAX ?? "5", 10);
|
|
148
149
|
var RETRY_BUDGET_WINDOW_MS = parseInt(process.env.BULLETIN_RETRY_BUDGET_WINDOW_MS ?? "30000", 10);
|
|
149
150
|
function retryBudgetExhausted(history, maxEvents, windowMs, now = Date.now()) {
|
|
@@ -1279,53 +1280,56 @@ async function storeDirectoryV2(directoryPath, opts = {}) {
|
|
|
1279
1280
|
const rootFileData = new UnixFS({ type: "file", blockSizes: rootChunkLinks.map((c) => BigInt(c.len)) });
|
|
1280
1281
|
const rootDagNode = dagPB.prepare({ Data: rootFileData.marshal(), Links: rootChunkLinks.map((c) => ({ Name: "", Tsize: c.len, Hash: c.cid })) });
|
|
1281
1282
|
const rootDagBytes = dagPB.encode(rootDagNode);
|
|
1282
|
-
console.log(` ${missingCids.size} chunks still missing after wait \u2014 re-uploading`);
|
|
1283
1283
|
const phaseBChunkByCid = /* @__PURE__ */ new Map();
|
|
1284
1284
|
for (let i = 0; i < phaseB.chunkCids.length; i++) {
|
|
1285
1285
|
phaseBChunkByCid.set(phaseB.chunkCids[i], phaseB.chunks[i]);
|
|
1286
1286
|
}
|
|
1287
1287
|
const fetchNonceFn = phaseALiveProvider.fetchNonce ?? fetchNonce;
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
const
|
|
1292
|
-
|
|
1293
|
-
const
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
)
|
|
1288
|
+
for (let round = 1; round <= GRANDPA_REUPLOAD_MAX_ROUNDS && missingCids.size > 0; round++) {
|
|
1289
|
+
const roundSuffix = round > 1 ? ` (round ${round}/${GRANDPA_REUPLOAD_MAX_ROUNDS}, retry after fork)` : "";
|
|
1290
|
+
console.log(` ${missingCids.size} chunks still missing after wait \u2014 re-uploading${roundSuffix}`);
|
|
1291
|
+
const reuploadList = [...missingCids];
|
|
1292
|
+
for (let i = 0; i < reuploadList.length; i++) {
|
|
1293
|
+
const cid = reuploadList[i];
|
|
1294
|
+
const freshNonce = await fetchNonceFn(BULLETIN_ENDPOINTS, phaseALiveProvider.ss58);
|
|
1295
|
+
if (cid === storageCid) {
|
|
1296
|
+
const rootTx = phaseALiveProvider.unsafeApi.tx.TransactionStorage.store_with_cid_config({
|
|
1297
|
+
cid: { codec: BigInt(112), hashing: toHashingEnum(rootHashCode) },
|
|
1298
|
+
data: rootDagBytes
|
|
1299
|
+
});
|
|
1300
|
+
await watchTransaction(rootTx, phaseALiveProvider.signer, { mortality: { mortal: true, period: 256 }, nonce: freshNonce }, () => storageCid, {
|
|
1301
|
+
label: "root-reupload",
|
|
1302
|
+
rpc: BULLETIN_ENDPOINTS,
|
|
1303
|
+
senderSS58: phaseALiveProvider.ss58,
|
|
1304
|
+
expectedNonce: freshNonce,
|
|
1305
|
+
timeoutMs: CHUNK_TIMEOUT_MS,
|
|
1306
|
+
fetchNonce: phaseALiveProvider.fetchNonce
|
|
1307
|
+
});
|
|
1308
|
+
} else {
|
|
1309
|
+
const chunkBytes = phaseBChunkByCid.get(cid);
|
|
1310
|
+
if (!chunkBytes) {
|
|
1311
|
+
throw new Error(
|
|
1312
|
+
`Deploy verification failed: chunk ${cid.slice(0, 20)}\u2026 missing at finalised head and its bytes are not in phaseB.chunks (cannot re-upload). This indicates an internal state issue.`
|
|
1313
|
+
);
|
|
1314
|
+
}
|
|
1315
|
+
await storeChunk(phaseALiveProvider.unsafeApi, phaseALiveProvider.signer, chunkBytes, freshNonce, phaseALiveProvider.ss58, { fetchNonce: phaseALiveProvider.fetchNonce });
|
|
1311
1316
|
}
|
|
1312
|
-
|
|
1317
|
+
reuploadCount++;
|
|
1318
|
+
console.log(` [${i + 1}/${reuploadList.length}] re-uploaded ${cid.slice(0, 20)}\u2026 (nonce ${freshNonce})`);
|
|
1313
1319
|
}
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
for (const r of poll) {
|
|
1322
|
-
if (r.present === true) missingCids.delete(r.cid);
|
|
1320
|
+
const reuploadStart = Date.now();
|
|
1321
|
+
while (Date.now() - reuploadStart < GRANDPA_REUPLOAD_TIMEOUT_MS && missingCids.size > 0) {
|
|
1322
|
+
await new Promise((r) => setTimeout(r, GRANDPA_REUPLOAD_POLL_MS));
|
|
1323
|
+
const poll = await probeChunks([...missingCids], { client: phaseALiveProvider.client, atFinalized: true });
|
|
1324
|
+
for (const r of poll) {
|
|
1325
|
+
if (r.present === true) missingCids.delete(r.cid);
|
|
1326
|
+
}
|
|
1323
1327
|
}
|
|
1324
1328
|
}
|
|
1325
1329
|
if (missingCids.size > 0) {
|
|
1326
1330
|
const stuck = [...missingCids][0];
|
|
1327
1331
|
throw new Error(
|
|
1328
|
-
`Deploy verification failed: ${missingCids.size} chunk(s) not finalised after re-upload
|
|
1332
|
+
`Deploy verification failed: ${missingCids.size} chunk(s) not finalised after ${GRANDPA_REUPLOAD_MAX_ROUNDS} re-upload round(s) (first: ${stuck.slice(0, 20)}\u2026). The chain may have dropped chunks due to a persistent fork. Re-run deploy.`
|
|
1329
1333
|
);
|
|
1330
1334
|
}
|
|
1331
1335
|
console.log(` \u2713 All ${grandpaCids.length} chunks finalised after re-upload`);
|
package/dist/chunk-probe.js
CHANGED
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
_decodeStorageValue,
|
|
6
6
|
_resetProbeSession,
|
|
7
7
|
probeChunks
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-WOKJ47IC.js";
|
|
9
|
+
import "./chunk-TQOWUM4X.js";
|
|
10
|
+
import "./chunk-JHCSIZFE.js";
|
|
11
11
|
export {
|
|
12
12
|
ChainProbeCrossValidationError,
|
|
13
13
|
ChainProbeMetadataError,
|
package/dist/deploy.js
CHANGED
|
@@ -32,19 +32,19 @@ import {
|
|
|
32
32
|
storeDirectory,
|
|
33
33
|
storeDirectoryV2,
|
|
34
34
|
storeFile
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-GY4T5MYF.js";
|
|
36
36
|
import "./chunk-KHVTYIIX.js";
|
|
37
37
|
import "./chunk-KOSF5FDO.js";
|
|
38
38
|
import "./chunk-FZWJV5AD.js";
|
|
39
39
|
import "./chunk-S7EM5VMW.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-AWULVGHI.js";
|
|
41
|
+
import "./chunk-DLSRMJGO.js";
|
|
42
|
+
import "./chunk-WOKJ47IC.js";
|
|
43
43
|
import "./chunk-C2TS5MER.js";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-WQ7FBUNK.js";
|
|
45
45
|
import "./chunk-QMYW3D6E.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-TQOWUM4X.js";
|
|
47
|
+
import "./chunk-JHCSIZFE.js";
|
|
48
48
|
import "./chunk-MGU5I7H5.js";
|
|
49
49
|
import {
|
|
50
50
|
EXIT_CODE_NO_RETRY,
|
package/dist/dotns.js
CHANGED
|
@@ -41,10 +41,10 @@ import {
|
|
|
41
41
|
stripTrailingDigits,
|
|
42
42
|
validateDomainLabel,
|
|
43
43
|
verifyNonceAdvanced
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-WQ7FBUNK.js";
|
|
45
45
|
import "./chunk-QMYW3D6E.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-TQOWUM4X.js";
|
|
47
|
+
import "./chunk-JHCSIZFE.js";
|
|
48
48
|
import "./chunk-MGU5I7H5.js";
|
|
49
49
|
import "./chunk-ZOC4GITL.js";
|
|
50
50
|
export {
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
deploy,
|
|
3
3
|
merkleizeJS,
|
|
4
4
|
merkleizeWithStableOrder
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GY4T5MYF.js";
|
|
6
6
|
import {
|
|
7
7
|
computeStats,
|
|
8
8
|
renderSummary,
|
|
@@ -24,18 +24,18 @@ import {
|
|
|
24
24
|
isVolatilePath,
|
|
25
25
|
parseManifest
|
|
26
26
|
} from "./chunk-S7EM5VMW.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-AWULVGHI.js";
|
|
28
|
+
import "./chunk-DLSRMJGO.js";
|
|
29
29
|
import {
|
|
30
30
|
probeChunks
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-WOKJ47IC.js";
|
|
32
32
|
import "./chunk-C2TS5MER.js";
|
|
33
33
|
import {
|
|
34
34
|
DEFAULT_MNEMONIC,
|
|
35
35
|
DotNS,
|
|
36
36
|
parseDomainName,
|
|
37
37
|
sanitizeDomainLabel
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-WQ7FBUNK.js";
|
|
39
39
|
import {
|
|
40
40
|
bootstrapPool,
|
|
41
41
|
derivePoolAccounts,
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
fetchPoolAuthorizations,
|
|
44
44
|
selectAccount
|
|
45
45
|
} from "./chunk-QMYW3D6E.js";
|
|
46
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-TQOWUM4X.js";
|
|
47
47
|
import {
|
|
48
48
|
VERSION,
|
|
49
49
|
loadRunState,
|
|
@@ -53,7 +53,7 @@ import {
|
|
|
53
53
|
shouldSkipStaleWarning,
|
|
54
54
|
stateFilePath,
|
|
55
55
|
writeRunState
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-JHCSIZFE.js";
|
|
57
57
|
import {
|
|
58
58
|
DEFAULT_ENV_ID,
|
|
59
59
|
defaultBundledPath,
|
package/dist/memory-report.js
CHANGED
package/dist/merkle.js
CHANGED
|
@@ -6,19 +6,19 @@ import {
|
|
|
6
6
|
merkleizeKuboBackend,
|
|
7
7
|
merkleizeWithStableOrder,
|
|
8
8
|
rebuildOrderedCarFromBytes
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GY4T5MYF.js";
|
|
10
10
|
import "./chunk-KHVTYIIX.js";
|
|
11
11
|
import "./chunk-KOSF5FDO.js";
|
|
12
12
|
import "./chunk-FZWJV5AD.js";
|
|
13
13
|
import "./chunk-S7EM5VMW.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-AWULVGHI.js";
|
|
15
|
+
import "./chunk-DLSRMJGO.js";
|
|
16
|
+
import "./chunk-WOKJ47IC.js";
|
|
17
17
|
import "./chunk-C2TS5MER.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-WQ7FBUNK.js";
|
|
19
19
|
import "./chunk-QMYW3D6E.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-TQOWUM4X.js";
|
|
21
|
+
import "./chunk-JHCSIZFE.js";
|
|
22
22
|
import "./chunk-MGU5I7H5.js";
|
|
23
23
|
import "./chunk-ZOC4GITL.js";
|
|
24
24
|
import "./chunk-HOTQDYHD.js";
|
|
@@ -21,10 +21,10 @@ import {
|
|
|
21
21
|
} from "../chunk-T7EEVWNU.js";
|
|
22
22
|
import {
|
|
23
23
|
WS_HEARTBEAT_TIMEOUT_MS
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-WQ7FBUNK.js";
|
|
25
25
|
import "../chunk-QMYW3D6E.js";
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-TQOWUM4X.js";
|
|
27
|
+
import "../chunk-JHCSIZFE.js";
|
|
28
28
|
import {
|
|
29
29
|
loadEnvironments
|
|
30
30
|
} from "../chunk-MGU5I7H5.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
WS_HEARTBEAT_TIMEOUT_MS
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-WQ7FBUNK.js";
|
|
4
4
|
import "../chunk-QMYW3D6E.js";
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-TQOWUM4X.js";
|
|
6
|
+
import "../chunk-JHCSIZFE.js";
|
|
7
7
|
import {
|
|
8
8
|
loadEnvironments
|
|
9
9
|
} from "../chunk-MGU5I7H5.js";
|
package/dist/run-state.js
CHANGED
package/dist/telemetry.js
CHANGED
package/dist/version-check.js
CHANGED
|
@@ -11,9 +11,9 @@ import {
|
|
|
11
11
|
isPreReleaseVersion,
|
|
12
12
|
preReleaseWarning,
|
|
13
13
|
promptYesNo
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-DLSRMJGO.js";
|
|
15
|
+
import "./chunk-TQOWUM4X.js";
|
|
16
|
+
import "./chunk-JHCSIZFE.js";
|
|
17
17
|
export {
|
|
18
18
|
assessVersion,
|
|
19
19
|
checkNodeVersion,
|