bulletin-deploy 0.13.0 → 0.13.1-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.
- package/bin/bulletin-deploy +17 -0
- package/dist/auth-config.js +3 -3
- package/dist/bug-report.js +4 -4
- package/dist/{chunk-72NGQCI5.js → chunk-44N6QKX5.js} +1 -1
- package/dist/{chunk-I64OSTIG.js → chunk-5ZQ3OICG.js} +7 -7
- package/dist/{chunk-NXO6VBEM.js → chunk-6KV67PGI.js} +1 -1
- package/dist/{chunk-UFY3RBUV.js → chunk-AUDBF3PN.js} +2 -2
- package/dist/{chunk-SJITQINC.js → chunk-JZITVZ6Z.js} +1 -1
- package/dist/{chunk-EGG7SJTB.js → chunk-KPAQ7Z2B.js} +2 -2
- package/dist/{chunk-AKHN5OWJ.js → chunk-MEM542KO.js} +1 -1
- package/dist/{chunk-P7HCUQCI.js → chunk-QRKIOMUM.js} +65 -16
- package/dist/{chunk-MRAHKUK7.js → chunk-SADBALHP.js} +1 -1
- package/dist/{chunk-3R7RU6WB.js → chunk-UXHZ3MJ4.js} +3 -3
- package/dist/{chunk-HGXLCD5H.js → chunk-Z3UT6JQ5.js} +1 -1
- package/dist/chunk-probe.js +3 -3
- package/dist/commands/login.js +10 -10
- package/dist/commands/logout.js +4 -4
- package/dist/commands/transfer.js +3 -3
- package/dist/commands/whoami.js +3 -3
- package/dist/deploy-actors.js +5 -5
- package/dist/deploy.js +10 -10
- package/dist/dotns.d.ts +18 -2
- package/dist/dotns.js +11 -5
- package/dist/index.d.ts +40 -2
- package/dist/index.js +57 -12
- package/dist/manifest/publish.js +11 -11
- package/dist/memory-report.js +2 -2
- package/dist/merkle.js +10 -10
- package/dist/personhood/bootstrap.js +3 -3
- package/dist/personhood/people-client.js +3 -3
- package/dist/run-state.js +1 -1
- package/dist/sss-allowance-cache.js +4 -4
- package/dist/storage-signer.js +10 -10
- package/dist/telemetry.js +2 -2
- package/dist/version-check.js +3 -3
- package/package.json +1 -1
- package/tools/release-retry-wrapper.mjs +5 -0
package/bin/bulletin-deploy
CHANGED
|
@@ -455,6 +455,23 @@ try {
|
|
|
455
455
|
const _versionInfo = await _versionCheckPromise;
|
|
456
456
|
if (handlePreflightVersionCheck(_versionInfo) === "abort") process.exit(1);
|
|
457
457
|
|
|
458
|
+
// Frontloaded manifest preflight (paritytech/polkadot-app-deploy#125): when a
|
|
459
|
+
// product config applies (--config or discoverable via walk-up), validate it
|
|
460
|
+
// + its referenced icon/executable files BEFORE any storage or chain work, so
|
|
461
|
+
// config errors fail fast up front instead of after merkleize + upload. No-op
|
|
462
|
+
// (returns null) for contenthash-only deploys with no config.
|
|
463
|
+
try {
|
|
464
|
+
const { preflightProductConfig } = await import("../dist/index.js");
|
|
465
|
+
// config-load resolves a relative cwd internally, so no node:path here
|
|
466
|
+
// (it's only dynamically imported later, in the publish block).
|
|
467
|
+
await preflightProductConfig(
|
|
468
|
+
flags.config ? { path: flags.config } : { cwd: buildDir, walkUp: true },
|
|
469
|
+
);
|
|
470
|
+
} catch (err) {
|
|
471
|
+
console.error(`Error: ${err?.message ?? err}`);
|
|
472
|
+
process.exit(err instanceof NonRetryableError ? EXIT_CODE_NO_RETRY : 1);
|
|
473
|
+
}
|
|
474
|
+
|
|
458
475
|
const result = await deploy(buildDir, domain, {
|
|
459
476
|
mnemonic: flags.mnemonic,
|
|
460
477
|
derivationPath: flags.derivationPath,
|
package/dist/auth-config.js
CHANGED
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
getPeopleChainEndpoints,
|
|
10
10
|
hasPersistedSession,
|
|
11
11
|
resolveBulletinEndpoints
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-MEM542KO.js";
|
|
13
13
|
import "./chunk-TSPERKUS.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-JZITVZ6Z.js";
|
|
15
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
16
16
|
import "./chunk-NTXIXOCN.js";
|
|
17
17
|
import "./chunk-ZOC4GITL.js";
|
|
18
18
|
export {
|
package/dist/bug-report.js
CHANGED
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
offerBugReport,
|
|
11
11
|
scrubSecrets,
|
|
12
12
|
setDeployContext
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-UXHZ3MJ4.js";
|
|
14
|
+
import "./chunk-SADBALHP.js";
|
|
15
|
+
import "./chunk-JZITVZ6Z.js";
|
|
16
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
17
17
|
export {
|
|
18
18
|
buildCliFlagsSummary,
|
|
19
19
|
buildLabels,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
preflightSssAllowance
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-44N6QKX5.js";
|
|
4
4
|
import {
|
|
5
5
|
statementSigningAccount
|
|
6
6
|
} from "./chunk-GRPLHUYC.js";
|
|
@@ -31,18 +31,18 @@ import {
|
|
|
31
31
|
} from "./chunk-S7EM5VMW.js";
|
|
32
32
|
import {
|
|
33
33
|
setDeployContext
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-UXHZ3MJ4.js";
|
|
35
35
|
import {
|
|
36
36
|
getBestBlockNumber,
|
|
37
37
|
probeChunks,
|
|
38
38
|
probeFinalityGap
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-6KV67PGI.js";
|
|
40
40
|
import {
|
|
41
41
|
packSection
|
|
42
42
|
} from "./chunk-C2TS5MER.js";
|
|
43
43
|
import {
|
|
44
44
|
resolveStorageSigner
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-AUDBF3PN.js";
|
|
46
46
|
import {
|
|
47
47
|
createSlotAccountSigner,
|
|
48
48
|
requestResourceAllocation
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
STALE_SESSION_MESSAGE,
|
|
52
52
|
getPeopleChainEndpoints,
|
|
53
53
|
hasPersistedSession
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-MEM542KO.js";
|
|
55
55
|
import {
|
|
56
56
|
CLI_NAME
|
|
57
57
|
} from "./chunk-TSPERKUS.js";
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
parseDomainName,
|
|
65
65
|
popStatusName,
|
|
66
66
|
verifyNonceAdvanced
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-QRKIOMUM.js";
|
|
68
68
|
import {
|
|
69
69
|
derivePoolAccounts,
|
|
70
70
|
detectTestnet,
|
|
@@ -86,7 +86,7 @@ import {
|
|
|
86
86
|
truncateAddress,
|
|
87
87
|
withDeploySpan,
|
|
88
88
|
withSpan
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-JZITVZ6Z.js";
|
|
90
90
|
import {
|
|
91
91
|
DEFAULT_ENV_ID,
|
|
92
92
|
getPopSelfServeConfig,
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-5FLTDWWP.js";
|
|
5
5
|
import {
|
|
6
6
|
DOT_PRODUCT_ID
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MEM542KO.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_MNEMONIC
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-QRKIOMUM.js";
|
|
11
11
|
|
|
12
12
|
// src/deploy-actors.ts
|
|
13
13
|
var DEFAULT_WORKER_SURI = DEFAULT_MNEMONIC;
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
resolveDotnsConnectOptions,
|
|
8
8
|
storeDirectory,
|
|
9
9
|
storeFile
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5ZQ3OICG.js";
|
|
11
11
|
import {
|
|
12
12
|
DotNS
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-QRKIOMUM.js";
|
|
14
14
|
import {
|
|
15
15
|
getPopSelfServeConfig,
|
|
16
16
|
loadEnvironments,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
setDeploySentryTag,
|
|
12
12
|
truncateAddress,
|
|
13
13
|
withSpan
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-JZITVZ6Z.js";
|
|
15
15
|
import {
|
|
16
16
|
validateContractAddresses
|
|
17
17
|
} from "./chunk-NTXIXOCN.js";
|
|
@@ -125,6 +125,8 @@ var PERSONHOOD_CONTEXT = "0x646f746e73000000000000000000000000000000000000000000
|
|
|
125
125
|
var DECIMALS = 12n;
|
|
126
126
|
var NATIVE_TO_ETH_RATIO = 1000000n;
|
|
127
127
|
var CONNECTION_TIMEOUT_MS = 3e4;
|
|
128
|
+
var REVIVE_ADDRESS_ATTEMPTS = 3;
|
|
129
|
+
var CONTENTHASH_VERIFY_ATTEMPTS = 3;
|
|
128
130
|
var OPERATION_TIMEOUT_MS = 3e5;
|
|
129
131
|
var TX_TIMEOUT_MS = 9e4;
|
|
130
132
|
var TX_CHAIN_TIME_BUDGET_MS = 18e4;
|
|
@@ -173,6 +175,24 @@ function dotnsRetryBackoffMs(attempt, rand = Math.random) {
|
|
|
173
175
|
const ceil = Math.min(DOTNS_RETRY_BASE_MS * 2 ** (attempt - 1), DOTNS_RETRY_MAX_MS);
|
|
174
176
|
return Math.round(ceil * (0.5 + rand() * 0.5));
|
|
175
177
|
}
|
|
178
|
+
async function withRetry(fn, opts) {
|
|
179
|
+
const backoffMs = opts.backoffMs ?? dotnsRetryBackoffMs;
|
|
180
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
181
|
+
let lastErr;
|
|
182
|
+
for (let attempt = 1; attempt <= opts.attempts; attempt++) {
|
|
183
|
+
try {
|
|
184
|
+
return await fn(attempt);
|
|
185
|
+
} catch (e) {
|
|
186
|
+
lastErr = e;
|
|
187
|
+
if (attempt < opts.attempts) {
|
|
188
|
+
const b = backoffMs(attempt);
|
|
189
|
+
opts.onRetry?.(attempt, e, b);
|
|
190
|
+
await sleep(b);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
throw lastErr;
|
|
195
|
+
}
|
|
176
196
|
function shouldRetryTxAttempt(attempt, maxAttempts, decision) {
|
|
177
197
|
return decision === "retry" && attempt < maxAttempts;
|
|
178
198
|
}
|
|
@@ -1082,7 +1102,7 @@ var DotNS = class {
|
|
|
1082
1102
|
// Test-only seam: fallback result for reprove() when the real call throws "not strictly
|
|
1083
1103
|
// greater than stored" (account already at latest revision). Any other error propagates.
|
|
1084
1104
|
_reproveFallbackForTest = null;
|
|
1085
|
-
/** Test-only: register a fallback reprove result used
|
|
1105
|
+
/** Test-only: register a fallback reprove result used if the real reprove() throws (e.g. "already at latest revision", or a transient chain error). Consumed once. */
|
|
1086
1106
|
__setReproveFallbackForTest(result) {
|
|
1087
1107
|
this._reproveFallbackForTest = result;
|
|
1088
1108
|
}
|
|
@@ -1148,22 +1168,38 @@ var DotNS = class {
|
|
|
1148
1168
|
setDeploySentryTag("deploy.dotns.signer", truncateAddress(this.substrateAddress));
|
|
1149
1169
|
return withSpan("deploy.dotns.connect", "dotns connect", {}, async () => {
|
|
1150
1170
|
try {
|
|
1151
|
-
this.
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1171
|
+
this.evmAddress = await withRetry(async (attempt) => {
|
|
1172
|
+
if (this.client) {
|
|
1173
|
+
try {
|
|
1174
|
+
this.client.destroy();
|
|
1175
|
+
} catch {
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
this.client = createClient(getWsProvider(rpc, { heartbeatTimeout: WS_HEARTBEAT_TIMEOUT_MS }));
|
|
1179
|
+
const unsafeApi = this.client.getUnsafeApi();
|
|
1180
|
+
this.clientWrapper = new ReviveClientWrapper(unsafeApi);
|
|
1181
|
+
const addr = await withTimeout(
|
|
1182
|
+
this.clientWrapper.getEvmAddress(this.substrateAddress),
|
|
1183
|
+
CONNECTION_TIMEOUT_MS,
|
|
1184
|
+
"ReviveApi.address"
|
|
1185
|
+
);
|
|
1186
|
+
if (attempt > 1) setDeployAttribute("deploy.dotns.revive_address_attempts", String(attempt));
|
|
1187
|
+
return addr;
|
|
1188
|
+
}, {
|
|
1189
|
+
attempts: REVIVE_ADDRESS_ATTEMPTS,
|
|
1190
|
+
onRetry: (attempt, e, backoff) => {
|
|
1191
|
+
const inner = e?.message?.slice(0, 160) ?? String(e).slice(0, 160);
|
|
1192
|
+
console.log(` ReviveApi.address attempt ${attempt}/${REVIVE_ADDRESS_ATTEMPTS} failed (${inner}) \u2014 retrying in ${Math.round(backoff / 1e3)}s\u2026`);
|
|
1193
|
+
}
|
|
1194
|
+
});
|
|
1160
1195
|
} catch (e) {
|
|
1161
|
-
const inner = e
|
|
1196
|
+
const inner = e?.message?.slice(0, 200) ?? String(e).slice(0, 200);
|
|
1162
1197
|
const rpcHint = inner.includes("timed out") ? `; RPC: ${rpc} \u2014 retry or set DOTNS_RPC to another endpoint` : "";
|
|
1163
1198
|
throw new Error(
|
|
1164
|
-
`DotNS connect: failed to resolve EVM address from ${this.substrateAddress} via ReviveApi.address (${inner})${rpcHint}`
|
|
1199
|
+
`DotNS connect: failed to resolve EVM address from ${this.substrateAddress} via ReviveApi.address after ${REVIVE_ADDRESS_ATTEMPTS} attempts (${inner})${rpcHint}`
|
|
1165
1200
|
);
|
|
1166
1201
|
}
|
|
1202
|
+
console.log(` H160 Address: ${this.evmAddress}`);
|
|
1167
1203
|
setDeployAttribute("deploy.dotns.rpc_used", rpc);
|
|
1168
1204
|
setDeployAttribute("deploy.dotns.evm_address", this.evmAddress);
|
|
1169
1205
|
this.connected = true;
|
|
@@ -1837,10 +1873,17 @@ var DotNS = class {
|
|
|
1837
1873
|
console.log(`
|
|
1838
1874
|
Linking content...`);
|
|
1839
1875
|
const txRes = await this.contractTransaction(this._contracts.DOTNS_CONTENT_RESOLVER, 0n, DOTNS_CONTENT_RESOLVER_ABI, "setContenthash", [node, contenthashHex], (s) => console.log(` ${s}`), { useNoncePolling: true, verifyEffect, feeAsset: opts.feeAsset, phoneLabel: "Link content" });
|
|
1840
|
-
|
|
1876
|
+
let finalOnChain = "0x";
|
|
1877
|
+
try {
|
|
1878
|
+
await withRetry(async () => {
|
|
1879
|
+
finalOnChain = (await this.getContenthash(domainName) || "0x").toLowerCase();
|
|
1880
|
+
if (finalOnChain !== expected) throw new Error(`contenthash still ${finalOnChain}, awaiting ${expected}`);
|
|
1881
|
+
}, { attempts: CONTENTHASH_VERIFY_ATTEMPTS });
|
|
1882
|
+
} catch {
|
|
1883
|
+
}
|
|
1841
1884
|
if (finalOnChain !== expected) {
|
|
1842
1885
|
throw new Error(
|
|
1843
|
-
`Post-deploy verification failed for ${domainName}.dot: on-chain contenthash is ${finalOnChain}, not the ${expected} we just wrote. The setContenthash tx may have silently failed, or another party overwrote the domain. Re-run the deploy to retry.`
|
|
1886
|
+
`Post-deploy verification failed for ${domainName}.dot: on-chain contenthash is ${finalOnChain}, not the ${expected} we just wrote (after ${CONTENTHASH_VERIFY_ATTEMPTS} read attempts). The setContenthash tx may have silently failed, or another party overwrote the domain. Re-run the deploy to retry.`
|
|
1844
1887
|
);
|
|
1845
1888
|
}
|
|
1846
1889
|
setDeployAttribute("deploy.dotns.tx_resolution", txRes.kind);
|
|
@@ -2751,9 +2794,12 @@ var DotNS = class {
|
|
|
2751
2794
|
});
|
|
2752
2795
|
return result;
|
|
2753
2796
|
} catch (e) {
|
|
2754
|
-
if (this._reproveFallbackForTest
|
|
2797
|
+
if (this._reproveFallbackForTest) {
|
|
2755
2798
|
const fb = this._reproveFallbackForTest;
|
|
2756
2799
|
this._reproveFallbackForTest = null;
|
|
2800
|
+
if (typeof e?.message === "string" && !e.message.includes("not strictly greater than stored")) {
|
|
2801
|
+
console.log(` (test) real reprove() errored transiently \u2014 using synthetic fallback: ${(e.message ?? String(e)).slice(0, 120)}`);
|
|
2802
|
+
}
|
|
2757
2803
|
return fb;
|
|
2758
2804
|
}
|
|
2759
2805
|
throw e;
|
|
@@ -2838,6 +2884,8 @@ export {
|
|
|
2838
2884
|
DECIMALS,
|
|
2839
2885
|
NATIVE_TO_ETH_RATIO,
|
|
2840
2886
|
CONNECTION_TIMEOUT_MS,
|
|
2887
|
+
REVIVE_ADDRESS_ATTEMPTS,
|
|
2888
|
+
CONTENTHASH_VERIFY_ATTEMPTS,
|
|
2841
2889
|
OPERATION_TIMEOUT_MS,
|
|
2842
2890
|
TX_TIMEOUT_MS,
|
|
2843
2891
|
TX_CHAIN_TIME_BUDGET_MS,
|
|
@@ -2854,6 +2902,7 @@ export {
|
|
|
2854
2902
|
classifyTxRetryDecision,
|
|
2855
2903
|
classifyWatcherSilentFastFail,
|
|
2856
2904
|
dotnsRetryBackoffMs,
|
|
2905
|
+
withRetry,
|
|
2857
2906
|
shouldRetryTxAttempt,
|
|
2858
2907
|
shouldRegateBeforeResign,
|
|
2859
2908
|
makeRetryStatusFilter,
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
classifyErrorArea,
|
|
3
3
|
isInteractive,
|
|
4
4
|
promptYesNo
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SADBALHP.js";
|
|
6
6
|
import {
|
|
7
7
|
VERSION,
|
|
8
8
|
getCurrentSentryTraceId,
|
|
9
9
|
resolveIssueRepoSlug
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JZITVZ6Z.js";
|
|
11
11
|
import {
|
|
12
12
|
package_default
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-Z3UT6JQ5.js";
|
|
14
14
|
|
|
15
15
|
// src/bug-report.ts
|
|
16
16
|
import { execSync, execFileSync } from "child_process";
|
package/dist/chunk-probe.js
CHANGED
|
@@ -8,9 +8,9 @@ import {
|
|
|
8
8
|
getBestBlockNumber,
|
|
9
9
|
probeChunks,
|
|
10
10
|
probeFinalityGap
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-6KV67PGI.js";
|
|
12
|
+
import "./chunk-JZITVZ6Z.js";
|
|
13
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
14
14
|
export {
|
|
15
15
|
ChainProbeCrossValidationError,
|
|
16
16
|
ChainProbeMetadataError,
|
package/dist/commands/login.js
CHANGED
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "../chunk-J7CYVTAW.js";
|
|
4
4
|
import {
|
|
5
5
|
waitForBulletinAuthorization
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-5ZQ3OICG.js";
|
|
7
7
|
import {
|
|
8
8
|
preflightSssAllowance
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-44N6QKX5.js";
|
|
10
10
|
import {
|
|
11
11
|
statementSigningAccount
|
|
12
12
|
} from "../chunk-GRPLHUYC.js";
|
|
@@ -15,11 +15,11 @@ import "../chunk-IW3X2MJF.js";
|
|
|
15
15
|
import "../chunk-KOSF5FDO.js";
|
|
16
16
|
import "../chunk-J3NIXHZZ.js";
|
|
17
17
|
import "../chunk-S7EM5VMW.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-UXHZ3MJ4.js";
|
|
19
|
+
import "../chunk-SADBALHP.js";
|
|
20
|
+
import "../chunk-6KV67PGI.js";
|
|
21
21
|
import "../chunk-C2TS5MER.js";
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-AUDBF3PN.js";
|
|
23
23
|
import "../chunk-JQKKMUCT.js";
|
|
24
24
|
import {
|
|
25
25
|
BULLETIN_RESOURCE,
|
|
@@ -36,15 +36,15 @@ import {
|
|
|
36
36
|
getAuthClient,
|
|
37
37
|
getPeopleChainEndpoints,
|
|
38
38
|
resolveBulletinEndpoints
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-MEM542KO.js";
|
|
40
40
|
import {
|
|
41
41
|
CLI_NAME
|
|
42
42
|
} from "../chunk-TSPERKUS.js";
|
|
43
|
-
import "../chunk-
|
|
43
|
+
import "../chunk-QRKIOMUM.js";
|
|
44
44
|
import "../chunk-SI2ZUOYD.js";
|
|
45
45
|
import "../chunk-4AEFFDHP.js";
|
|
46
|
-
import "../chunk-
|
|
47
|
-
import "../chunk-
|
|
46
|
+
import "../chunk-JZITVZ6Z.js";
|
|
47
|
+
import "../chunk-Z3UT6JQ5.js";
|
|
48
48
|
import {
|
|
49
49
|
loadEnvironments
|
|
50
50
|
} from "../chunk-NTXIXOCN.js";
|
package/dist/commands/logout.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clearSssAllowanceCache
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-44N6QKX5.js";
|
|
4
4
|
import "../chunk-GRPLHUYC.js";
|
|
5
5
|
import "../chunk-JQKKMUCT.js";
|
|
6
6
|
import "../chunk-5FLTDWWP.js";
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
} from "../chunk-RIRDBSBG.js";
|
|
10
10
|
import {
|
|
11
11
|
getAuthClient
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-MEM542KO.js";
|
|
13
13
|
import "../chunk-TSPERKUS.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-JZITVZ6Z.js";
|
|
15
|
+
import "../chunk-Z3UT6JQ5.js";
|
|
16
16
|
import "../chunk-NTXIXOCN.js";
|
|
17
17
|
import "../chunk-ZOC4GITL.js";
|
|
18
18
|
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
DEFAULT_MNEMONIC,
|
|
6
6
|
DotNS
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-QRKIOMUM.js";
|
|
8
8
|
import "../chunk-SI2ZUOYD.js";
|
|
9
9
|
import "../chunk-4AEFFDHP.js";
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-JZITVZ6Z.js";
|
|
11
|
+
import "../chunk-Z3UT6JQ5.js";
|
|
12
12
|
import {
|
|
13
13
|
getPopSelfServeConfig,
|
|
14
14
|
loadEnvironments,
|
package/dist/commands/whoami.js
CHANGED
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
STALE_SESSION_MESSAGE,
|
|
3
3
|
getAuthClient,
|
|
4
4
|
hasPersistedSession
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-MEM542KO.js";
|
|
6
6
|
import {
|
|
7
7
|
CLI_NAME
|
|
8
8
|
} from "../chunk-TSPERKUS.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-JZITVZ6Z.js";
|
|
10
|
+
import "../chunk-Z3UT6JQ5.js";
|
|
11
11
|
import "../chunk-NTXIXOCN.js";
|
|
12
12
|
import "../chunk-ZOC4GITL.js";
|
|
13
13
|
|
package/dist/deploy-actors.js
CHANGED
|
@@ -2,17 +2,17 @@ import {
|
|
|
2
2
|
MainnetDefaultWorkerError,
|
|
3
3
|
resolveDeployActors,
|
|
4
4
|
resolveStorageSigner
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-AUDBF3PN.js";
|
|
6
6
|
import "./chunk-JQKKMUCT.js";
|
|
7
7
|
import "./chunk-5FLTDWWP.js";
|
|
8
8
|
import "./chunk-RIRDBSBG.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-MEM542KO.js";
|
|
10
10
|
import "./chunk-TSPERKUS.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-QRKIOMUM.js";
|
|
12
12
|
import "./chunk-SI2ZUOYD.js";
|
|
13
13
|
import "./chunk-4AEFFDHP.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-JZITVZ6Z.js";
|
|
15
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
16
16
|
import "./chunk-NTXIXOCN.js";
|
|
17
17
|
import "./chunk-ZOC4GITL.js";
|
|
18
18
|
export {
|
package/dist/deploy.js
CHANGED
|
@@ -55,29 +55,29 @@ import {
|
|
|
55
55
|
storeDirectoryV2,
|
|
56
56
|
storeFile,
|
|
57
57
|
unpublish
|
|
58
|
-
} from "./chunk-
|
|
59
|
-
import "./chunk-
|
|
58
|
+
} from "./chunk-5ZQ3OICG.js";
|
|
59
|
+
import "./chunk-44N6QKX5.js";
|
|
60
60
|
import "./chunk-GRPLHUYC.js";
|
|
61
61
|
import "./chunk-HOTQDYHD.js";
|
|
62
62
|
import "./chunk-IW3X2MJF.js";
|
|
63
63
|
import "./chunk-KOSF5FDO.js";
|
|
64
64
|
import "./chunk-J3NIXHZZ.js";
|
|
65
65
|
import "./chunk-S7EM5VMW.js";
|
|
66
|
-
import "./chunk-
|
|
67
|
-
import "./chunk-
|
|
68
|
-
import "./chunk-
|
|
66
|
+
import "./chunk-UXHZ3MJ4.js";
|
|
67
|
+
import "./chunk-SADBALHP.js";
|
|
68
|
+
import "./chunk-6KV67PGI.js";
|
|
69
69
|
import "./chunk-C2TS5MER.js";
|
|
70
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-AUDBF3PN.js";
|
|
71
71
|
import "./chunk-JQKKMUCT.js";
|
|
72
72
|
import "./chunk-5FLTDWWP.js";
|
|
73
73
|
import "./chunk-RIRDBSBG.js";
|
|
74
|
-
import "./chunk-
|
|
74
|
+
import "./chunk-MEM542KO.js";
|
|
75
75
|
import "./chunk-TSPERKUS.js";
|
|
76
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-QRKIOMUM.js";
|
|
77
77
|
import "./chunk-SI2ZUOYD.js";
|
|
78
78
|
import "./chunk-4AEFFDHP.js";
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-
|
|
79
|
+
import "./chunk-JZITVZ6Z.js";
|
|
80
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
81
81
|
import "./chunk-NTXIXOCN.js";
|
|
82
82
|
import {
|
|
83
83
|
EXIT_CODE_NO_RETRY,
|
package/dist/dotns.d.ts
CHANGED
|
@@ -145,6 +145,8 @@ declare const CONTRACTS: {
|
|
|
145
145
|
declare const DECIMALS: bigint;
|
|
146
146
|
declare const NATIVE_TO_ETH_RATIO: bigint;
|
|
147
147
|
declare const CONNECTION_TIMEOUT_MS: number;
|
|
148
|
+
declare const REVIVE_ADDRESS_ATTEMPTS: number;
|
|
149
|
+
declare const CONTENTHASH_VERIFY_ATTEMPTS: number;
|
|
148
150
|
declare const OPERATION_TIMEOUT_MS: number;
|
|
149
151
|
declare const TX_TIMEOUT_MS: number;
|
|
150
152
|
declare const TX_CHAIN_TIME_BUDGET_MS: number;
|
|
@@ -187,6 +189,20 @@ declare function classifyTxRetryDecision(err: unknown): "retry" | "abort";
|
|
|
187
189
|
*/
|
|
188
190
|
declare function classifyWatcherSilentFastFail(err: unknown, isPhoneSigner: boolean | undefined): NonRetryableError | null;
|
|
189
191
|
declare function dotnsRetryBackoffMs(attempt: number, rand?: () => number): number;
|
|
192
|
+
/**
|
|
193
|
+
* Run `fn` up to `attempts` times, backing off between failures. Returns the
|
|
194
|
+
* first success; rethrows the LAST error if every attempt fails. `sleep` and
|
|
195
|
+
* `backoffMs` are injectable so the retry policy is unit-testable without real
|
|
196
|
+
* timers. Used for the ReviveApi.address resolution in connect() (#1131) — a
|
|
197
|
+
* generic seam so the "retry N times with backoff" behaviour is tested once,
|
|
198
|
+
* independent of the live-chain call it wraps.
|
|
199
|
+
*/
|
|
200
|
+
declare function withRetry<T>(fn: (attempt: number) => Promise<T>, opts: {
|
|
201
|
+
attempts: number;
|
|
202
|
+
onRetry?: (attempt: number, err: unknown, backoffMs: number) => void;
|
|
203
|
+
backoffMs?: (attempt: number) => number;
|
|
204
|
+
sleep?: (ms: number) => Promise<void>;
|
|
205
|
+
}): Promise<T>;
|
|
190
206
|
/**
|
|
191
207
|
* Whether a failed attempt should be retried: only when the error is
|
|
192
208
|
* retry-eligible AND there's a later attempt left in the budget. Extracted so
|
|
@@ -508,7 +524,7 @@ declare class DotNS {
|
|
|
508
524
|
/** Test-only: inject a fixed getUserPopStatus return value for the next call. Consumed once. */
|
|
509
525
|
__setUserPopStatusForTest(status: number): void;
|
|
510
526
|
private _reproveFallbackForTest;
|
|
511
|
-
/** Test-only: register a fallback reprove result used
|
|
527
|
+
/** Test-only: register a fallback reprove result used if the real reprove() throws (e.g. "already at latest revision", or a transient chain error). Consumed once. */
|
|
512
528
|
__setReproveFallbackForTest(result: {
|
|
513
529
|
oldRevision: number;
|
|
514
530
|
newRevision: number;
|
|
@@ -709,4 +725,4 @@ declare class DotNS {
|
|
|
709
725
|
}
|
|
710
726
|
declare const dotns: DotNS;
|
|
711
727
|
|
|
712
|
-
export { ATTR_TX_RESOLUTION_KIND, type AliasAccountClassification, type AliasAccountState, CONNECTION_TIMEOUT_MS, CONTRACTS, ContractDryRunRevertError, DECIMALS, DEFAULT_MNEMONIC, DOTNS_BEST_BLOCK_GRACE_MS, DOTNS_TX_MAX_ATTEMPTS, DOT_NODE, DotNS, type DotNSConnectOptions, type DotnsPreflightResult, type DotnsSuccessAction, MINIMUM_REGISTER_STORAGE_DEPOSIT, NATIVE_TO_ETH_RATIO, NONCE_ADVANCE_VERIFY_RETRIES, NONCE_ADVANCE_VERIFY_RETRY_INTERVAL_MS, OPERATION_TIMEOUT_MS, type OwnershipResult, PUBLISHER_ABI, type ParsedDomainName, type PhoneSignatureStep, type PriceValidationResult, ProofOfPersonhoodStatus, PublisherNotSupportedError, RPC_ENDPOINTS, ReviveClientWrapper, TX_CHAIN_TIME_BUDGET_MS, TX_KIND_BEST_BLOCK, TX_KIND_HASH, TX_KIND_NONCE_ADVANCED, TX_NO_PROGRESS_MS, TX_TIMEOUT_MS, TX_WALL_CLOCK_CEILING_MS, type TxResolution, VERIFY_EFFECT_CHAIN_SECONDS, WS_HEARTBEAT_TIMEOUT_MS, WatcherSilentNoEventError, __formatContractDryRunFailureForTest, bufferedWeiToNative, canRegister, classifyAliasAccountRow, classifyDotnsLabel, classifyTxRetryDecision, classifyWatcherSilentFastFail, computeDomainTokenId, convertToHexString, convertWeiToNative, countTrailingDigits, decodePublisherRevert, dotns, dotnsRetryBackoffMs, feeFloorFor, fetchNonce, fmtPas, formatDispatchError, formatPersonhoodRemediation, formatPopShortfallReason, isCommitmentMature, isCommitmentTimingBarerevert, makeRetryStatusFilter, parseDomainName, parseProofOfPersonhoodStatus, popStatusName, registerDepositWei, sanitizeDomainLabel, shouldRegateBeforeResign, shouldRetryTxAttempt, stripTrailingDigits, validateDomainLabel, verifyEffectWithGrace, verifyNonceAdvanced, weiToNative };
|
|
728
|
+
export { ATTR_TX_RESOLUTION_KIND, type AliasAccountClassification, type AliasAccountState, CONNECTION_TIMEOUT_MS, CONTENTHASH_VERIFY_ATTEMPTS, CONTRACTS, ContractDryRunRevertError, DECIMALS, DEFAULT_MNEMONIC, DOTNS_BEST_BLOCK_GRACE_MS, DOTNS_TX_MAX_ATTEMPTS, DOT_NODE, DotNS, type DotNSConnectOptions, type DotnsPreflightResult, type DotnsSuccessAction, MINIMUM_REGISTER_STORAGE_DEPOSIT, NATIVE_TO_ETH_RATIO, NONCE_ADVANCE_VERIFY_RETRIES, NONCE_ADVANCE_VERIFY_RETRY_INTERVAL_MS, OPERATION_TIMEOUT_MS, type OwnershipResult, PUBLISHER_ABI, type ParsedDomainName, type PhoneSignatureStep, type PriceValidationResult, ProofOfPersonhoodStatus, PublisherNotSupportedError, REVIVE_ADDRESS_ATTEMPTS, RPC_ENDPOINTS, ReviveClientWrapper, TX_CHAIN_TIME_BUDGET_MS, TX_KIND_BEST_BLOCK, TX_KIND_HASH, TX_KIND_NONCE_ADVANCED, TX_NO_PROGRESS_MS, TX_TIMEOUT_MS, TX_WALL_CLOCK_CEILING_MS, type TxResolution, VERIFY_EFFECT_CHAIN_SECONDS, WS_HEARTBEAT_TIMEOUT_MS, WatcherSilentNoEventError, __formatContractDryRunFailureForTest, bufferedWeiToNative, canRegister, classifyAliasAccountRow, classifyDotnsLabel, classifyTxRetryDecision, classifyWatcherSilentFastFail, computeDomainTokenId, convertToHexString, convertWeiToNative, countTrailingDigits, decodePublisherRevert, dotns, dotnsRetryBackoffMs, feeFloorFor, fetchNonce, fmtPas, formatDispatchError, formatPersonhoodRemediation, formatPopShortfallReason, isCommitmentMature, isCommitmentTimingBarerevert, makeRetryStatusFilter, parseDomainName, parseProofOfPersonhoodStatus, popStatusName, registerDepositWei, sanitizeDomainLabel, shouldRegateBeforeResign, shouldRetryTxAttempt, stripTrailingDigits, validateDomainLabel, verifyEffectWithGrace, verifyNonceAdvanced, weiToNative, withRetry };
|
package/dist/dotns.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ATTR_TX_RESOLUTION_KIND,
|
|
3
3
|
CONNECTION_TIMEOUT_MS,
|
|
4
|
+
CONTENTHASH_VERIFY_ATTEMPTS,
|
|
4
5
|
CONTRACTS,
|
|
5
6
|
ContractDryRunRevertError,
|
|
6
7
|
DECIMALS,
|
|
@@ -17,6 +18,7 @@ import {
|
|
|
17
18
|
PUBLISHER_ABI,
|
|
18
19
|
ProofOfPersonhoodStatus,
|
|
19
20
|
PublisherNotSupportedError,
|
|
21
|
+
REVIVE_ADDRESS_ATTEMPTS,
|
|
20
22
|
RPC_ENDPOINTS,
|
|
21
23
|
ReviveClientWrapper,
|
|
22
24
|
TX_CHAIN_TIME_BUDGET_MS,
|
|
@@ -63,17 +65,19 @@ import {
|
|
|
63
65
|
validateDomainLabel,
|
|
64
66
|
verifyEffectWithGrace,
|
|
65
67
|
verifyNonceAdvanced,
|
|
66
|
-
weiToNative
|
|
67
|
-
|
|
68
|
+
weiToNative,
|
|
69
|
+
withRetry
|
|
70
|
+
} from "./chunk-QRKIOMUM.js";
|
|
68
71
|
import "./chunk-SI2ZUOYD.js";
|
|
69
72
|
import "./chunk-4AEFFDHP.js";
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-JZITVZ6Z.js";
|
|
74
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
72
75
|
import "./chunk-NTXIXOCN.js";
|
|
73
76
|
import "./chunk-ZOC4GITL.js";
|
|
74
77
|
export {
|
|
75
78
|
ATTR_TX_RESOLUTION_KIND,
|
|
76
79
|
CONNECTION_TIMEOUT_MS,
|
|
80
|
+
CONTENTHASH_VERIFY_ATTEMPTS,
|
|
77
81
|
CONTRACTS,
|
|
78
82
|
ContractDryRunRevertError,
|
|
79
83
|
DECIMALS,
|
|
@@ -90,6 +94,7 @@ export {
|
|
|
90
94
|
PUBLISHER_ABI,
|
|
91
95
|
ProofOfPersonhoodStatus,
|
|
92
96
|
PublisherNotSupportedError,
|
|
97
|
+
REVIVE_ADDRESS_ATTEMPTS,
|
|
93
98
|
RPC_ENDPOINTS,
|
|
94
99
|
ReviveClientWrapper,
|
|
95
100
|
TX_CHAIN_TIME_BUDGET_MS,
|
|
@@ -136,5 +141,6 @@ export {
|
|
|
136
141
|
validateDomainLabel,
|
|
137
142
|
verifyEffectWithGrace,
|
|
138
143
|
verifyNonceAdvanced,
|
|
139
|
-
weiToNative
|
|
144
|
+
weiToNative,
|
|
145
|
+
withRetry
|
|
140
146
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -9,10 +9,12 @@ export { FetchOptions, FetchOutcome, fetchPreviousManifest } from './manifest-fe
|
|
|
9
9
|
export { ComputeStatsInput, IncrementalStats, computeStats, renderSummary, telemetryAttributes } from './incremental-stats.js';
|
|
10
10
|
export { Chain, ChainEndpoint, DEFAULT_ENV_ID, Environment, EnvironmentListing, EnvironmentsDoc, EnvironmentsSource, LoadOptions, LoadResult, ResolvedEndpoints, deepMergeEnvironments, defaultBundledPath, formatEnvironmentTable, isValidContractAddress, listEnvironments, loadEnvironments, resolveEndpoints, validateContractAddresses } from './environments.js';
|
|
11
11
|
export { RunState, RunStatus, VERSION, loadRunState, probablyOomRssMb, resolveStateDir, shouldShowOomHint, shouldSkipStaleWarning, stateFilePath, writeRunState } from './run-state.js';
|
|
12
|
-
|
|
12
|
+
import { ProductConfig } from './manifest/types.js';
|
|
13
|
+
export { AppExecutableConfig, AppManifest, AppVersion, ExecutableConfig, ExecutableKind, ExecutableManifest, Icon, IconConfig, IconFormat, RootManifest, WidgetDimensions, WidgetExecutableConfig, WidgetManifest, WorkerExecutableConfig, WorkerIncludes, WorkerManifest, defineConfig } from './manifest/types.js';
|
|
13
14
|
export { ValidationErr, ValidationOk, ValidationResult, validateExecutableManifest, validateProductConfig, validateRootManifest } from './manifest/schema.js';
|
|
14
15
|
export { BudgetCheck, DEFAULT_TEXT_RECORD_BUDGET_BYTES, PLACEHOLDER_CID, PessimisticSizeReport, assertWithinBudget, getTextRecordBudgetBytes, pessimisticSizePreflight } from './manifest/byte-budget.js';
|
|
15
|
-
|
|
16
|
+
import { LoadProductConfigOptions, LoadedProductConfig } from './manifest/config-load.js';
|
|
17
|
+
export { loadProductConfig, tryLoadProductConfig } from './manifest/config-load.js';
|
|
16
18
|
export { PublishManifestOptions, PublishManifestResult, publishManifest } from './manifest/publish.js';
|
|
17
19
|
import 'polkadot-api/ws';
|
|
18
20
|
import 'multiformats/cid';
|
|
@@ -23,3 +25,39 @@ import './personhood/bind-personal-id.js';
|
|
|
23
25
|
import './personhood/claim-pgas.js';
|
|
24
26
|
import './personhood/bind-paid-alias.js';
|
|
25
27
|
import './personhood/chain-prereqs.js';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Frontloaded product-manifest preflight.
|
|
31
|
+
*
|
|
32
|
+
* The deploy CLI historically loaded + validated the product config only in
|
|
33
|
+
* the post-deploy manifest-publish step — so an invalid config (bad `domain`,
|
|
34
|
+
* oversized text record, missing icon/executable file) surfaced *after*
|
|
35
|
+
* preflight and a full merkleize/upload (see paritytech/polkadot-app-deploy#125).
|
|
36
|
+
*
|
|
37
|
+
* This runs all the pure/local manifest checks up front, before any storage or
|
|
38
|
+
* chain work, so config errors fail fast with one aggregated message:
|
|
39
|
+
* 1. discover + load the config (schema validation, incl. `domain` ending
|
|
40
|
+
* in `.dot`, via `loadProductConfig`),
|
|
41
|
+
* 2. byte-budget preflight for every text record (`pessimisticSizePreflight`),
|
|
42
|
+
* 3. the referenced icon file + every executable path exist on disk.
|
|
43
|
+
*
|
|
44
|
+
* Returns the loaded+validated config so the caller can reuse it (no double
|
|
45
|
+
* load), or `null` when no config is applicable (opt-in manifest mode).
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Check that every file a product config references exists on disk, resolved
|
|
50
|
+
* relative to the config's own directory. Returns a list of human-readable
|
|
51
|
+
* error strings (empty when everything is present). The icon must be a regular
|
|
52
|
+
* file; an executable path may be a file or a directory (a build dir).
|
|
53
|
+
*/
|
|
54
|
+
declare function checkProductConfigFilesExist(config: ProductConfig, configDir: string): Promise<string[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Run the full local manifest preflight. Throws a single aggregated
|
|
57
|
+
* `NonRetryableError` on any schema / byte-budget / missing-file problem.
|
|
58
|
+
* Returns the loaded config (reusable by the publish step) or `null` when no
|
|
59
|
+
* product config is present.
|
|
60
|
+
*/
|
|
61
|
+
declare function preflightProductConfig(options?: LoadProductConfigOptions): Promise<LoadedProductConfig | null>;
|
|
62
|
+
|
|
63
|
+
export { LoadProductConfigOptions, LoadedProductConfig, ProductConfig, checkProductConfigFilesExist, preflightProductConfig };
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-362JEZKM.js";
|
|
5
5
|
import {
|
|
6
6
|
publishManifest
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-KPAQ7Z2B.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_TEXT_RECORD_BUDGET_BYTES,
|
|
10
10
|
PLACEHOLDER_CID,
|
|
@@ -24,8 +24,8 @@ import {
|
|
|
24
24
|
deploy,
|
|
25
25
|
merkleizeJS,
|
|
26
26
|
merkleizeWithStableOrder
|
|
27
|
-
} from "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
} from "./chunk-5ZQ3OICG.js";
|
|
28
|
+
import "./chunk-44N6QKX5.js";
|
|
29
29
|
import "./chunk-GRPLHUYC.js";
|
|
30
30
|
import "./chunk-HOTQDYHD.js";
|
|
31
31
|
import {
|
|
@@ -49,24 +49,24 @@ import {
|
|
|
49
49
|
isVolatilePath,
|
|
50
50
|
parseManifest
|
|
51
51
|
} from "./chunk-S7EM5VMW.js";
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-UXHZ3MJ4.js";
|
|
53
|
+
import "./chunk-SADBALHP.js";
|
|
54
54
|
import {
|
|
55
55
|
probeChunks
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-6KV67PGI.js";
|
|
57
57
|
import "./chunk-C2TS5MER.js";
|
|
58
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-AUDBF3PN.js";
|
|
59
59
|
import "./chunk-JQKKMUCT.js";
|
|
60
60
|
import "./chunk-5FLTDWWP.js";
|
|
61
61
|
import "./chunk-RIRDBSBG.js";
|
|
62
|
-
import "./chunk-
|
|
62
|
+
import "./chunk-MEM542KO.js";
|
|
63
63
|
import "./chunk-TSPERKUS.js";
|
|
64
64
|
import {
|
|
65
65
|
DEFAULT_MNEMONIC,
|
|
66
66
|
DotNS,
|
|
67
67
|
parseDomainName,
|
|
68
68
|
sanitizeDomainLabel
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-QRKIOMUM.js";
|
|
70
70
|
import "./chunk-SI2ZUOYD.js";
|
|
71
71
|
import {
|
|
72
72
|
BULLETIN_BLOCKS_PER_DAY,
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
poolAccountDerivationPath,
|
|
83
83
|
selectAccount
|
|
84
84
|
} from "./chunk-4AEFFDHP.js";
|
|
85
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-JZITVZ6Z.js";
|
|
86
86
|
import {
|
|
87
87
|
VERSION,
|
|
88
88
|
loadRunState,
|
|
@@ -92,7 +92,7 @@ import {
|
|
|
92
92
|
shouldSkipStaleWarning,
|
|
93
93
|
stateFilePath,
|
|
94
94
|
writeRunState
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-Z3UT6JQ5.js";
|
|
96
96
|
import {
|
|
97
97
|
DEFAULT_ENV_ID,
|
|
98
98
|
deepMergeEnvironments,
|
|
@@ -104,7 +104,50 @@ import {
|
|
|
104
104
|
resolveEndpoints,
|
|
105
105
|
validateContractAddresses
|
|
106
106
|
} from "./chunk-NTXIXOCN.js";
|
|
107
|
-
import
|
|
107
|
+
import {
|
|
108
|
+
NonRetryableError
|
|
109
|
+
} from "./chunk-ZOC4GITL.js";
|
|
110
|
+
|
|
111
|
+
// src/manifest/product-preflight.ts
|
|
112
|
+
import * as fs from "fs/promises";
|
|
113
|
+
import * as path from "path";
|
|
114
|
+
async function checkProductConfigFilesExist(config, configDir) {
|
|
115
|
+
const errors = [];
|
|
116
|
+
const iconAbs = path.resolve(configDir, config.icon.path);
|
|
117
|
+
try {
|
|
118
|
+
const st = await fs.stat(iconAbs);
|
|
119
|
+
if (!st.isFile()) errors.push(`icon.path "${config.icon.path}" is not a file (${iconAbs})`);
|
|
120
|
+
} catch {
|
|
121
|
+
errors.push(`icon.path "${config.icon.path}" not found (${iconAbs})`);
|
|
122
|
+
}
|
|
123
|
+
for (const exec of config.executables) {
|
|
124
|
+
const execAbs = path.resolve(configDir, exec.path);
|
|
125
|
+
try {
|
|
126
|
+
await fs.stat(execAbs);
|
|
127
|
+
} catch {
|
|
128
|
+
errors.push(`executables[${exec.kind}].path "${exec.path}" not found (${execAbs})`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return errors;
|
|
132
|
+
}
|
|
133
|
+
async function preflightProductConfig(options = {}) {
|
|
134
|
+
const loaded = await tryLoadProductConfig(options);
|
|
135
|
+
if (!loaded) return null;
|
|
136
|
+
const { config, sourcePath } = loaded;
|
|
137
|
+
const errors = [];
|
|
138
|
+
const report = pessimisticSizePreflight(config, getTextRecordBudgetBytes());
|
|
139
|
+
for (const c of report.checks) {
|
|
140
|
+
if (!c.ok) errors.push(`text record "${c.key}" is ${c.bytes} B, over the ${c.budget} B dotNS budget`);
|
|
141
|
+
}
|
|
142
|
+
errors.push(...await checkProductConfigFilesExist(config, path.dirname(sourcePath)));
|
|
143
|
+
if (errors.length > 0) {
|
|
144
|
+
throw new NonRetryableError(
|
|
145
|
+
`Product config preflight failed for ${sourcePath}:
|
|
146
|
+
- ${errors.join("\n - ")}`
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
return loaded;
|
|
150
|
+
}
|
|
108
151
|
export {
|
|
109
152
|
BULLETIN_BLOCKS_PER_DAY,
|
|
110
153
|
DEFAULT_ENV_ID,
|
|
@@ -122,6 +165,7 @@ export {
|
|
|
122
165
|
assertWithinBudget,
|
|
123
166
|
assetHubTopUpAmount,
|
|
124
167
|
bootstrapPool,
|
|
168
|
+
checkProductConfigFilesExist,
|
|
125
169
|
classifyFile,
|
|
126
170
|
computeStats,
|
|
127
171
|
deepMergeEnvironments,
|
|
@@ -149,6 +193,7 @@ export {
|
|
|
149
193
|
parseManifest,
|
|
150
194
|
pessimisticSizePreflight,
|
|
151
195
|
poolAccountDerivationPath,
|
|
196
|
+
preflightProductConfig,
|
|
152
197
|
probablyOomRssMb,
|
|
153
198
|
probeChunks,
|
|
154
199
|
publishManifest,
|
package/dist/manifest/publish.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import {
|
|
2
2
|
publishManifest
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-KPAQ7Z2B.js";
|
|
4
4
|
import "../chunk-WIMRJK32.js";
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-5ZQ3OICG.js";
|
|
6
|
+
import "../chunk-44N6QKX5.js";
|
|
7
7
|
import "../chunk-GRPLHUYC.js";
|
|
8
8
|
import "../chunk-HOTQDYHD.js";
|
|
9
9
|
import "../chunk-IW3X2MJF.js";
|
|
10
10
|
import "../chunk-KOSF5FDO.js";
|
|
11
11
|
import "../chunk-J3NIXHZZ.js";
|
|
12
12
|
import "../chunk-S7EM5VMW.js";
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-UXHZ3MJ4.js";
|
|
14
|
+
import "../chunk-SADBALHP.js";
|
|
15
|
+
import "../chunk-6KV67PGI.js";
|
|
16
16
|
import "../chunk-C2TS5MER.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-AUDBF3PN.js";
|
|
18
18
|
import "../chunk-JQKKMUCT.js";
|
|
19
19
|
import "../chunk-5FLTDWWP.js";
|
|
20
20
|
import "../chunk-RIRDBSBG.js";
|
|
21
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-MEM542KO.js";
|
|
22
22
|
import "../chunk-TSPERKUS.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-QRKIOMUM.js";
|
|
24
24
|
import "../chunk-SI2ZUOYD.js";
|
|
25
25
|
import "../chunk-4AEFFDHP.js";
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-JZITVZ6Z.js";
|
|
27
|
+
import "../chunk-Z3UT6JQ5.js";
|
|
28
28
|
import "../chunk-NTXIXOCN.js";
|
|
29
29
|
import "../chunk-ZOC4GITL.js";
|
|
30
30
|
export {
|
package/dist/memory-report.js
CHANGED
package/dist/merkle.js
CHANGED
|
@@ -6,29 +6,29 @@ import {
|
|
|
6
6
|
merkleizeKuboBackend,
|
|
7
7
|
merkleizeWithStableOrder,
|
|
8
8
|
rebuildOrderedCarFromBytes
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-5ZQ3OICG.js";
|
|
10
|
+
import "./chunk-44N6QKX5.js";
|
|
11
11
|
import "./chunk-GRPLHUYC.js";
|
|
12
12
|
import "./chunk-HOTQDYHD.js";
|
|
13
13
|
import "./chunk-IW3X2MJF.js";
|
|
14
14
|
import "./chunk-KOSF5FDO.js";
|
|
15
15
|
import "./chunk-J3NIXHZZ.js";
|
|
16
16
|
import "./chunk-S7EM5VMW.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-UXHZ3MJ4.js";
|
|
18
|
+
import "./chunk-SADBALHP.js";
|
|
19
|
+
import "./chunk-6KV67PGI.js";
|
|
20
20
|
import "./chunk-C2TS5MER.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-AUDBF3PN.js";
|
|
22
22
|
import "./chunk-JQKKMUCT.js";
|
|
23
23
|
import "./chunk-5FLTDWWP.js";
|
|
24
24
|
import "./chunk-RIRDBSBG.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-MEM542KO.js";
|
|
26
26
|
import "./chunk-TSPERKUS.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-QRKIOMUM.js";
|
|
28
28
|
import "./chunk-SI2ZUOYD.js";
|
|
29
29
|
import "./chunk-4AEFFDHP.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-JZITVZ6Z.js";
|
|
31
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
32
32
|
import "./chunk-NTXIXOCN.js";
|
|
33
33
|
import "./chunk-ZOC4GITL.js";
|
|
34
34
|
export {
|
|
@@ -21,15 +21,15 @@ import {
|
|
|
21
21
|
} from "../chunk-ZYVGHDMU.js";
|
|
22
22
|
import {
|
|
23
23
|
WS_HEARTBEAT_TIMEOUT_MS
|
|
24
|
-
} from "../chunk-
|
|
24
|
+
} from "../chunk-QRKIOMUM.js";
|
|
25
25
|
import {
|
|
26
26
|
DOTNS_CONTEXT_BYTES,
|
|
27
27
|
PEOPLE_MEMBER_IDENTIFIER_HEX,
|
|
28
28
|
PGAS_ASSET_ID
|
|
29
29
|
} from "../chunk-SI2ZUOYD.js";
|
|
30
30
|
import "../chunk-4AEFFDHP.js";
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-JZITVZ6Z.js";
|
|
32
|
+
import "../chunk-Z3UT6JQ5.js";
|
|
33
33
|
import {
|
|
34
34
|
loadEnvironments
|
|
35
35
|
} from "../chunk-NTXIXOCN.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
WS_HEARTBEAT_TIMEOUT_MS
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-QRKIOMUM.js";
|
|
4
4
|
import "../chunk-SI2ZUOYD.js";
|
|
5
5
|
import "../chunk-4AEFFDHP.js";
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-JZITVZ6Z.js";
|
|
7
|
+
import "../chunk-Z3UT6JQ5.js";
|
|
8
8
|
import {
|
|
9
9
|
loadEnvironments
|
|
10
10
|
} from "../chunk-NTXIXOCN.js";
|
package/dist/run-state.js
CHANGED
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
preflightSssAllowance,
|
|
5
5
|
sssPeriodEndSec,
|
|
6
6
|
writeSssAllowanceCache
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-44N6QKX5.js";
|
|
8
8
|
import "./chunk-GRPLHUYC.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-MEM542KO.js";
|
|
10
10
|
import "./chunk-TSPERKUS.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-JZITVZ6Z.js";
|
|
12
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
13
13
|
import "./chunk-NTXIXOCN.js";
|
|
14
14
|
import "./chunk-ZOC4GITL.js";
|
|
15
15
|
export {
|
package/dist/storage-signer.js
CHANGED
|
@@ -8,29 +8,29 @@ import {
|
|
|
8
8
|
waitForBulletinAuthorization,
|
|
9
9
|
withTransientRetry,
|
|
10
10
|
writeBulletinSlotKey
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-5ZQ3OICG.js";
|
|
12
|
+
import "./chunk-44N6QKX5.js";
|
|
13
13
|
import "./chunk-GRPLHUYC.js";
|
|
14
14
|
import "./chunk-HOTQDYHD.js";
|
|
15
15
|
import "./chunk-IW3X2MJF.js";
|
|
16
16
|
import "./chunk-KOSF5FDO.js";
|
|
17
17
|
import "./chunk-J3NIXHZZ.js";
|
|
18
18
|
import "./chunk-S7EM5VMW.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-UXHZ3MJ4.js";
|
|
20
|
+
import "./chunk-SADBALHP.js";
|
|
21
|
+
import "./chunk-6KV67PGI.js";
|
|
22
22
|
import "./chunk-C2TS5MER.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-AUDBF3PN.js";
|
|
24
24
|
import "./chunk-JQKKMUCT.js";
|
|
25
25
|
import "./chunk-5FLTDWWP.js";
|
|
26
26
|
import "./chunk-RIRDBSBG.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-MEM542KO.js";
|
|
28
28
|
import "./chunk-TSPERKUS.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-QRKIOMUM.js";
|
|
30
30
|
import "./chunk-SI2ZUOYD.js";
|
|
31
31
|
import "./chunk-4AEFFDHP.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-JZITVZ6Z.js";
|
|
33
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
34
34
|
import "./chunk-NTXIXOCN.js";
|
|
35
35
|
import "./chunk-ZOC4GITL.js";
|
|
36
36
|
export {
|
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-SADBALHP.js";
|
|
15
|
+
import "./chunk-JZITVZ6Z.js";
|
|
16
|
+
import "./chunk-Z3UT6JQ5.js";
|
|
17
17
|
export {
|
|
18
18
|
assessVersion,
|
|
19
19
|
checkNodeVersion,
|
package/package.json
CHANGED
|
@@ -36,6 +36,11 @@ const FLAKE_PATTERNS = [
|
|
|
36
36
|
"transaction watcher silent for",
|
|
37
37
|
"of chain progress (budget=",
|
|
38
38
|
"did not settle within",
|
|
39
|
+
// Asset Hub runtime-call (EVM address resolution) timeout — the paseo-next-v2
|
|
40
|
+
// AH node degrades under concurrent E2E matrix load and times out ReviveApi.address
|
|
41
|
+
// (#1131). A fresh CI retry lands in a recovered window. Not retried before, so a
|
|
42
|
+
// single bad window failed the whole scenario (shifting failure sets across reruns).
|
|
43
|
+
"ReviveApi.address timed out",
|
|
39
44
|
];
|
|
40
45
|
|
|
41
46
|
// output: combined stdout+stderr text from the child. Any flake pattern
|