bulletin-deploy 0.14.1 → 0.14.2
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/assets/environments.json +3 -0
- package/bin/bulletin-bootstrap +7 -0
- package/dist/auth-config.js +4 -4
- package/dist/bug-report.js +4 -4
- package/dist/chain-health.d.ts +139 -0
- package/dist/chain-health.js +14 -0
- package/dist/{chunk-DAFCH55Q.js → chunk-37AN2MHU.js} +2 -2
- package/dist/{chunk-42BNXFWF.js → chunk-6LD3Z2HM.js} +39 -36
- package/dist/{chunk-YDV7M3V2.js → chunk-7V4B775S.js} +3 -3
- package/dist/{chunk-ALTGYSBJ.js → chunk-CRZSDUWV.js} +1 -1
- package/dist/{chunk-AB62NERW.js → chunk-FMQLBYOR.js} +15 -8
- package/dist/{chunk-L7DCLCCK.js → chunk-GEHOB4PE.js} +1 -1
- package/dist/{chunk-4AEFFDHP.js → chunk-IJUKTHEP.js} +8 -2
- package/dist/{chunk-5ZR5L37D.js → chunk-REB37WWY.js} +4 -4
- package/dist/{chunk-PQK6XT6Z.js → chunk-RIQWW2BT.js} +8 -8
- package/dist/{chunk-5NQHQFMH.js → chunk-T2S5M6OH.js} +1 -1
- package/dist/chunk-UDJAYGYU.js +226 -0
- package/dist/{chunk-NLRGFZMQ.js → chunk-VH2HNQG2.js} +17 -1
- package/dist/{chunk-E6J46GNK.js → chunk-XQHRKK7M.js} +5 -1
- package/dist/{chunk-O5TJWVGZ.js → chunk-ZPWTXUA6.js} +7 -6
- package/dist/chunk-probe.js +3 -3
- package/dist/commands/login.js +13 -12
- package/dist/commands/logout.js +5 -5
- package/dist/commands/transfer.js +6 -5
- package/dist/commands/whoami.js +4 -4
- package/dist/deploy-actors.js +8 -7
- package/dist/deploy.js +13 -12
- package/dist/dotns.d.ts +2 -0
- package/dist/dotns.js +6 -5
- package/dist/environments.d.ts +2 -0
- package/dist/environments.js +1 -1
- package/dist/index.js +23 -22
- package/dist/manifest/publish.js +14 -13
- package/dist/memory-report.js +2 -2
- package/dist/merkle.js +13 -12
- package/dist/personhood/bootstrap.js +6 -5
- package/dist/personhood/people-client.js +6 -5
- package/dist/pool.d.ts +2 -0
- package/dist/pool.js +1 -1
- package/dist/run-state.js +1 -1
- package/dist/sss-allowance-cache.js +5 -5
- package/dist/storage-signer.js +13 -12
- package/dist/telemetry.d.ts +23 -1
- package/dist/telemetry.js +4 -2
- package/dist/version-check.js +3 -3
- package/package.json +7 -6
- package/tools/release-retry-wrapper.mjs +7 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import {
|
|
2
|
+
emitIntervalSpan,
|
|
3
|
+
setDeployAttribute
|
|
4
|
+
} from "./chunk-VH2HNQG2.js";
|
|
5
|
+
|
|
6
|
+
// src/chain-health.ts
|
|
7
|
+
var DEFAULT_WINDOW_BLOCKS = 10;
|
|
8
|
+
var MAX_SPANS_PER_SAMPLER = 60;
|
|
9
|
+
var MAX_TRACKED_BLOCKS = 200;
|
|
10
|
+
function endpointHost(endpoint) {
|
|
11
|
+
try {
|
|
12
|
+
return new URL(endpoint).host;
|
|
13
|
+
} catch {
|
|
14
|
+
return "unknown";
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
var ChainHealthSampler = class {
|
|
18
|
+
chainId;
|
|
19
|
+
windowBlocks;
|
|
20
|
+
host = "";
|
|
21
|
+
blocksSub = null;
|
|
22
|
+
finalizedSub = null;
|
|
23
|
+
/** Wall-clock of the block that opened the current window. */
|
|
24
|
+
windowStartMs = null;
|
|
25
|
+
windowStartBlock = null;
|
|
26
|
+
/** blockNumber -> first-seen wall clock, FIFO-evicted at MAX_TRACKED_BLOCKS. */
|
|
27
|
+
firstSeen = /* @__PURE__ */ new Map();
|
|
28
|
+
spansEmitted = 0;
|
|
29
|
+
capReported = false;
|
|
30
|
+
/** Set once a window closes, so exactly one ping is issued per window. */
|
|
31
|
+
pingInFlight = false;
|
|
32
|
+
/**
|
|
33
|
+
* True while `blocks$.subscribe()` is replaying history.
|
|
34
|
+
*
|
|
35
|
+
* papi documents that on subscribe it synchronously emits the latest
|
|
36
|
+
* finalized block and every known descendant. Those arrive microseconds
|
|
37
|
+
* apart, so letting them close a window would report a near-zero elapsed
|
|
38
|
+
* time and mark the chain as impossibly fast — corrupting the exact metric
|
|
39
|
+
* this module exists to produce. Replayed blocks still record first-seen
|
|
40
|
+
* times (finality lag needs them) and still move the window anchor forward,
|
|
41
|
+
* so timing starts from the moment we caught up rather than in stale history.
|
|
42
|
+
*/
|
|
43
|
+
inReplay = false;
|
|
44
|
+
constructor(chainId, windowBlocks = DEFAULT_WINDOW_BLOCKS) {
|
|
45
|
+
this.chainId = chainId;
|
|
46
|
+
this.windowBlocks = windowBlocks;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Subscribe to a (re)created client. Safe to call repeatedly — an existing
|
|
50
|
+
* subscription is torn down first. Never throws: a sampler failure must not
|
|
51
|
+
* be able to fail a deploy.
|
|
52
|
+
*/
|
|
53
|
+
attach(client, endpoint) {
|
|
54
|
+
try {
|
|
55
|
+
this.detach();
|
|
56
|
+
this.host = endpointHost(endpoint);
|
|
57
|
+
this.inReplay = true;
|
|
58
|
+
try {
|
|
59
|
+
this.blocksSub = client.blocks$.subscribe({
|
|
60
|
+
next: (block) => this.onBlock(client, block),
|
|
61
|
+
// A completed/errored block stream just means no more samples. The
|
|
62
|
+
// deploy itself surfaces connection loss through its own paths.
|
|
63
|
+
error: () => {
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
} finally {
|
|
67
|
+
this.inReplay = false;
|
|
68
|
+
}
|
|
69
|
+
this.finalizedSub = client.finalizedBlock$.subscribe({
|
|
70
|
+
next: (block) => this.onFinalized(block),
|
|
71
|
+
error: () => {
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
} catch {
|
|
75
|
+
this.blocksSub = null;
|
|
76
|
+
this.finalizedSub = null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** Unsubscribe and drop the partial window. Idempotent. */
|
|
80
|
+
detach() {
|
|
81
|
+
try {
|
|
82
|
+
this.blocksSub?.unsubscribe();
|
|
83
|
+
} catch {
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
this.finalizedSub?.unsubscribe();
|
|
87
|
+
} catch {
|
|
88
|
+
}
|
|
89
|
+
this.blocksSub = null;
|
|
90
|
+
this.finalizedSub = null;
|
|
91
|
+
this.resetWindow();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Detach and reset per-deploy state. Call from the deploy's teardown.
|
|
95
|
+
*
|
|
96
|
+
* Resetting the span budget here (rather than in attach()) is deliberate.
|
|
97
|
+
* attach() also runs on mid-deploy reconnects, where clearing the counter
|
|
98
|
+
* would defeat the cap; stop() runs exactly once per deploy. deploy.ts holds
|
|
99
|
+
* its Bulletin sampler at module scope, so without this a second deploy() in
|
|
100
|
+
* the same process — playground-cli consumes deploy() as a library — would
|
|
101
|
+
* inherit the first deploy's exhausted budget and emit nothing.
|
|
102
|
+
*/
|
|
103
|
+
stop() {
|
|
104
|
+
this.detach();
|
|
105
|
+
this.firstSeen.clear();
|
|
106
|
+
this.spansEmitted = 0;
|
|
107
|
+
this.capReported = false;
|
|
108
|
+
}
|
|
109
|
+
/** True while subscribed — used by tests and by re-attach guards. */
|
|
110
|
+
get attached() {
|
|
111
|
+
return this.blocksSub !== null;
|
|
112
|
+
}
|
|
113
|
+
resetWindow() {
|
|
114
|
+
this.windowStartMs = null;
|
|
115
|
+
this.windowStartBlock = null;
|
|
116
|
+
}
|
|
117
|
+
atCap() {
|
|
118
|
+
if (this.spansEmitted < MAX_SPANS_PER_SAMPLER) return false;
|
|
119
|
+
if (!this.capReported) {
|
|
120
|
+
this.capReported = true;
|
|
121
|
+
setDeployAttribute(`chain.health.${this.chainId}.capped`, "true");
|
|
122
|
+
this.detach();
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
onBlock(client, block) {
|
|
127
|
+
try {
|
|
128
|
+
if (this.atCap()) return;
|
|
129
|
+
const now = Date.now();
|
|
130
|
+
if (!this.firstSeen.has(block.number)) {
|
|
131
|
+
this.firstSeen.set(block.number, now);
|
|
132
|
+
if (this.firstSeen.size > MAX_TRACKED_BLOCKS) {
|
|
133
|
+
const oldest = this.firstSeen.keys().next();
|
|
134
|
+
if (!oldest.done) this.firstSeen.delete(oldest.value);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (this.inReplay || this.windowStartMs === null) {
|
|
138
|
+
this.windowStartMs = now;
|
|
139
|
+
this.windowStartBlock = block.number;
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const advanced = block.number - this.windowStartBlock;
|
|
143
|
+
if (advanced < this.windowBlocks) return;
|
|
144
|
+
emitIntervalSpan(
|
|
145
|
+
"chain.health.block_window",
|
|
146
|
+
`${this.chainId} ${this.windowBlocks}-block window`,
|
|
147
|
+
this.windowStartMs,
|
|
148
|
+
now,
|
|
149
|
+
{
|
|
150
|
+
"chain.health.chain_id": this.chainId,
|
|
151
|
+
"chain.health.endpoint": this.host,
|
|
152
|
+
"chain.health.from_block": this.windowStartBlock,
|
|
153
|
+
"chain.health.to_block": block.number,
|
|
154
|
+
"chain.health.window_blocks": this.windowBlocks
|
|
155
|
+
}
|
|
156
|
+
);
|
|
157
|
+
this.spansEmitted += 1;
|
|
158
|
+
this.windowStartMs = now;
|
|
159
|
+
this.windowStartBlock = block.number;
|
|
160
|
+
void this.ping(client, block.hash);
|
|
161
|
+
} catch {
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
onFinalized(block) {
|
|
165
|
+
try {
|
|
166
|
+
if (this.atCap()) return;
|
|
167
|
+
const seenAt = this.firstSeen.get(block.number);
|
|
168
|
+
if (seenAt === void 0) return;
|
|
169
|
+
this.firstSeen.delete(block.number);
|
|
170
|
+
if (block.number % this.windowBlocks !== 0) return;
|
|
171
|
+
emitIntervalSpan(
|
|
172
|
+
"chain.health.finality_lag",
|
|
173
|
+
`${this.chainId} finality lag`,
|
|
174
|
+
seenAt,
|
|
175
|
+
Date.now(),
|
|
176
|
+
{
|
|
177
|
+
"chain.health.chain_id": this.chainId,
|
|
178
|
+
"chain.health.endpoint": this.host,
|
|
179
|
+
"chain.health.block": block.number
|
|
180
|
+
}
|
|
181
|
+
);
|
|
182
|
+
this.spansEmitted += 1;
|
|
183
|
+
} catch {
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Time one `getBlockHeader` round-trip. Separates "the chain is producing
|
|
188
|
+
* blocks slowly" from "our link to this endpoint is slow" — the endpoints are
|
|
189
|
+
* load-balanced, so those are genuinely different failures.
|
|
190
|
+
*/
|
|
191
|
+
async ping(client, blockHash) {
|
|
192
|
+
if (this.pingInFlight) return;
|
|
193
|
+
this.pingInFlight = true;
|
|
194
|
+
const started = Date.now();
|
|
195
|
+
let ok = true;
|
|
196
|
+
try {
|
|
197
|
+
await client.getBlockHeader(blockHash);
|
|
198
|
+
} catch {
|
|
199
|
+
ok = false;
|
|
200
|
+
} finally {
|
|
201
|
+
this.pingInFlight = false;
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
emitIntervalSpan(
|
|
205
|
+
"chain.health.rpc_ping",
|
|
206
|
+
`${this.chainId} rpc ping`,
|
|
207
|
+
started,
|
|
208
|
+
Date.now(),
|
|
209
|
+
{
|
|
210
|
+
"chain.health.chain_id": this.chainId,
|
|
211
|
+
"chain.health.endpoint": this.host,
|
|
212
|
+
"chain.health.ok": ok
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
this.spansEmitted += 1;
|
|
216
|
+
} catch {
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export {
|
|
222
|
+
DEFAULT_WINDOW_BLOCKS,
|
|
223
|
+
MAX_SPANS_PER_SAMPLER,
|
|
224
|
+
endpointHost,
|
|
225
|
+
ChainHealthSampler
|
|
226
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
package_default,
|
|
3
3
|
writeRunState
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZPWTXUA6.js";
|
|
5
5
|
|
|
6
6
|
// src/memory-report.ts
|
|
7
7
|
import * as fs2 from "fs";
|
|
@@ -660,6 +660,21 @@ function setDeploySentryTag(key, value) {
|
|
|
660
660
|
function markCodePath(id) {
|
|
661
661
|
setDeployAttribute(`code.path.${id}`, "true");
|
|
662
662
|
}
|
|
663
|
+
function emitIntervalSpan(op, name, startMs, endMs, attributes) {
|
|
664
|
+
if (!Sentry || !deployRootSpan) return;
|
|
665
|
+
try {
|
|
666
|
+
const span = Sentry.startInactiveSpan({
|
|
667
|
+
op,
|
|
668
|
+
name,
|
|
669
|
+
startTime: startMs,
|
|
670
|
+
parentSpan: deployRootSpan,
|
|
671
|
+
attributes,
|
|
672
|
+
onlyIfParent: false
|
|
673
|
+
});
|
|
674
|
+
span.end(endMs >= startMs ? endMs : startMs);
|
|
675
|
+
} catch {
|
|
676
|
+
}
|
|
677
|
+
}
|
|
663
678
|
function captureWarning(message, context) {
|
|
664
679
|
if (!Sentry) return;
|
|
665
680
|
try {
|
|
@@ -842,6 +857,7 @@ export {
|
|
|
842
857
|
getCurrentSentryTraceId,
|
|
843
858
|
setDeploySentryTag,
|
|
844
859
|
markCodePath,
|
|
860
|
+
emitIntervalSpan,
|
|
845
861
|
captureWarning,
|
|
846
862
|
flush
|
|
847
863
|
};
|
|
@@ -15,6 +15,7 @@ var environments_default = {
|
|
|
15
15
|
network: "testnet",
|
|
16
16
|
description: "Product Preview net, used by Product Teams",
|
|
17
17
|
bulletinAutoAuthorize: true,
|
|
18
|
+
bulletinAuthorizer: "//Eve",
|
|
18
19
|
e2eEligible: true,
|
|
19
20
|
backend: "https://polkadot-app-stg.parity.io/",
|
|
20
21
|
ipfs: "https://previewnet.substrate.dev",
|
|
@@ -52,6 +53,7 @@ var environments_default = {
|
|
|
52
53
|
description: "Previewnet bare-Rust PolkaVM DotNS deployment",
|
|
53
54
|
ipfs: "https://previewnet.substrate.dev",
|
|
54
55
|
webGateway: "testnet.li",
|
|
56
|
+
bulletinAuthorizer: "//Eve",
|
|
55
57
|
autoAccountMapping: true,
|
|
56
58
|
nativeToEthRatio: 1e8,
|
|
57
59
|
registerStorageDeposit: 2e12,
|
|
@@ -108,6 +110,7 @@ var environments_default = {
|
|
|
108
110
|
network: "testnet",
|
|
109
111
|
description: "Next iteration of the Paseo Next testnet",
|
|
110
112
|
bulletinAutoAuthorize: true,
|
|
113
|
+
bulletinAuthorizer: "//Alice",
|
|
111
114
|
e2eEligible: true,
|
|
112
115
|
backend: "https://identity-backend-next.parity-testnet.parity.io",
|
|
113
116
|
ipfs: "https://paseo-bulletin-next-ipfs.polkadot.io",
|
|
@@ -677,7 +680,8 @@ function resolveEndpoints(doc, envId) {
|
|
|
677
680
|
contracts: env.contracts ?? {},
|
|
678
681
|
nativeToEthRatio: BigInt(env.nativeToEthRatio ?? 1e6),
|
|
679
682
|
...env.registerStorageDeposit !== void 0 ? { registerStorageDeposit: BigInt(env.registerStorageDeposit) } : {},
|
|
680
|
-
bulletinAutoAuthorize: env.bulletinAutoAuthorize ?? false
|
|
683
|
+
bulletinAutoAuthorize: env.bulletinAutoAuthorize ?? false,
|
|
684
|
+
...env.bulletinAuthorizer !== void 0 ? { bulletinAuthorizer: env.bulletinAuthorizer } : {}
|
|
681
685
|
};
|
|
682
686
|
}
|
|
683
687
|
function getPopSelfServeConfig(doc, envId) {
|
|
@@ -6,7 +6,7 @@ import * as path from "path";
|
|
|
6
6
|
// package.json
|
|
7
7
|
var package_default = {
|
|
8
8
|
name: "bulletin-deploy",
|
|
9
|
-
version: "0.14.
|
|
9
|
+
version: "0.14.2",
|
|
10
10
|
private: false,
|
|
11
11
|
repository: {
|
|
12
12
|
type: "git",
|
|
@@ -52,11 +52,11 @@ var package_default = {
|
|
|
52
52
|
"tools/verify-baked-dsn.mjs"
|
|
53
53
|
],
|
|
54
54
|
scripts: {
|
|
55
|
-
build: "tsup src/suppress-localstorage-warning.ts 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/commands/transfer.ts src/storage-signer.ts src/spinner.ts src/sss-allowance.ts src/sss-allowance-cache.ts src/deploy-actors.ts --format esm --dts --clean --target node22",
|
|
55
|
+
build: "tsup src/suppress-localstorage-warning.ts src/index.ts src/deploy.ts src/dotns.ts src/pool.ts src/telemetry.ts src/chain-health.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/commands/transfer.ts src/storage-signer.ts src/spinner.ts src/sss-allowance.ts src/sss-allowance-cache.ts src/deploy-actors.ts --format esm --dts --clean --target node22",
|
|
56
56
|
"refresh-environments": "node scripts/refresh-environments.mjs",
|
|
57
57
|
postinstall: "patch-package || true",
|
|
58
58
|
prepare: "npm run build",
|
|
59
|
-
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 test/dotns-transfer.test.js test/deploy-actors.test.js test/transfer-command.test.js test/dotns-register-fee.test.js test/deploy-label-ordering.test.js test/benign-teardown.test.js test/verify-baked-dsn.test.js && npm run test:vendor",
|
|
59
|
+
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 test/dotns-transfer.test.js test/deploy-actors.test.js test/transfer-command.test.js test/dotns-register-fee.test.js test/deploy-label-ordering.test.js test/benign-teardown.test.js test/verify-baked-dsn.test.js test/test-release-retry-wrapper.js && npm run test:vendor",
|
|
60
60
|
"test:e2e": "npm run build && node --test test/e2e.test.js",
|
|
61
61
|
"test:e2e:smoke": "bash scripts/e2e-pass.sh smoke",
|
|
62
62
|
"test:e2e:pr": "bash scripts/e2e-pass.sh pr",
|
|
@@ -78,7 +78,7 @@ var package_default = {
|
|
|
78
78
|
"@polkadot-labs/hdkd-helpers": "^0.0.30",
|
|
79
79
|
"@polkadot/keyring": "^14.0.3",
|
|
80
80
|
"@polkadot/util-crypto": "^14.0.3",
|
|
81
|
-
"@sentry/node": "^
|
|
81
|
+
"@sentry/node": "^10.69.0",
|
|
82
82
|
"ipfs-unixfs": "^11.2.0",
|
|
83
83
|
"ipfs-unixfs-importer": "^16.1.4",
|
|
84
84
|
jiti: "^2.4.2",
|
|
@@ -86,8 +86,8 @@ var package_default = {
|
|
|
86
86
|
"patch-package": "^8.0.1",
|
|
87
87
|
"polkadot-api": "^2.1.3",
|
|
88
88
|
verifiablejs: "1.3.0-beta.4",
|
|
89
|
-
viem: "^2.
|
|
90
|
-
ws: "^8.
|
|
89
|
+
viem: "^2.55.10",
|
|
90
|
+
ws: "^8.21.0"
|
|
91
91
|
},
|
|
92
92
|
devDependencies: {
|
|
93
93
|
"@types/node": "^22.0.0",
|
|
@@ -103,6 +103,7 @@ var package_default = {
|
|
|
103
103
|
engines: {
|
|
104
104
|
node: ">=22"
|
|
105
105
|
},
|
|
106
|
+
packageManager: "npm@11.17.0",
|
|
106
107
|
license: "GPL-3.0-or-later"
|
|
107
108
|
};
|
|
108
109
|
|
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-CRZSDUWV.js";
|
|
12
|
+
import "./chunk-VH2HNQG2.js";
|
|
13
|
+
import "./chunk-ZPWTXUA6.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-6LD3Z2HM.js";
|
|
7
7
|
import {
|
|
8
8
|
preflightSssAllowance
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-T2S5M6OH.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-7V4B775S.js";
|
|
19
|
+
import "../chunk-GEHOB4PE.js";
|
|
20
|
+
import "../chunk-CRZSDUWV.js";
|
|
21
21
|
import "../chunk-C2TS5MER.js";
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-37AN2MHU.js";
|
|
23
23
|
import "../chunk-JQKKMUCT.js";
|
|
24
24
|
import {
|
|
25
25
|
BULLETIN_RESOURCE,
|
|
@@ -36,19 +36,20 @@ import {
|
|
|
36
36
|
getAuthClient,
|
|
37
37
|
getPeopleChainEndpoints,
|
|
38
38
|
resolveBulletinEndpoints
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-REB37WWY.js";
|
|
40
40
|
import {
|
|
41
41
|
CLI_NAME
|
|
42
42
|
} from "../chunk-TSPERKUS.js";
|
|
43
|
-
import "../chunk-
|
|
43
|
+
import "../chunk-FMQLBYOR.js";
|
|
44
44
|
import "../chunk-SI2ZUOYD.js";
|
|
45
|
-
import "../chunk-
|
|
46
|
-
import "../chunk-NLRGFZMQ.js";
|
|
47
|
-
import "../chunk-O5TJWVGZ.js";
|
|
45
|
+
import "../chunk-IJUKTHEP.js";
|
|
48
46
|
import {
|
|
49
47
|
loadEnvironments
|
|
50
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-XQHRKK7M.js";
|
|
51
49
|
import "../chunk-ZOC4GITL.js";
|
|
50
|
+
import "../chunk-UDJAYGYU.js";
|
|
51
|
+
import "../chunk-VH2HNQG2.js";
|
|
52
|
+
import "../chunk-ZPWTXUA6.js";
|
|
52
53
|
|
|
53
54
|
// src/commands/login.ts
|
|
54
55
|
import { ss58Encode } from "@parity/product-sdk-address";
|
package/dist/commands/logout.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clearSssAllowanceCache
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-T2S5M6OH.js";
|
|
4
4
|
import "../chunk-GRPLHUYC.js";
|
|
5
5
|
import "../chunk-JQKKMUCT.js";
|
|
6
6
|
import "../chunk-5FLTDWWP.js";
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
} from "../chunk-RIRDBSBG.js";
|
|
10
10
|
import {
|
|
11
11
|
getAuthClient
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-REB37WWY.js";
|
|
13
13
|
import "../chunk-TSPERKUS.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-O5TJWVGZ.js";
|
|
16
|
-
import "../chunk-E6J46GNK.js";
|
|
14
|
+
import "../chunk-XQHRKK7M.js";
|
|
17
15
|
import "../chunk-ZOC4GITL.js";
|
|
16
|
+
import "../chunk-VH2HNQG2.js";
|
|
17
|
+
import "../chunk-ZPWTXUA6.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/logout.ts
|
|
20
20
|
function formatLogout(status) {
|
|
@@ -4,17 +4,18 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
DEFAULT_MNEMONIC,
|
|
6
6
|
DotNS
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-FMQLBYOR.js";
|
|
8
8
|
import "../chunk-SI2ZUOYD.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-NLRGFZMQ.js";
|
|
11
|
-
import "../chunk-O5TJWVGZ.js";
|
|
9
|
+
import "../chunk-IJUKTHEP.js";
|
|
12
10
|
import {
|
|
13
11
|
getPopSelfServeConfig,
|
|
14
12
|
loadEnvironments,
|
|
15
13
|
resolveEndpoints
|
|
16
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-XQHRKK7M.js";
|
|
17
15
|
import "../chunk-ZOC4GITL.js";
|
|
16
|
+
import "../chunk-UDJAYGYU.js";
|
|
17
|
+
import "../chunk-VH2HNQG2.js";
|
|
18
|
+
import "../chunk-ZPWTXUA6.js";
|
|
18
19
|
|
|
19
20
|
// src/commands/transfer.ts
|
|
20
21
|
async function resolveTransferRecipient(to, ctx) {
|
package/dist/commands/whoami.js
CHANGED
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
STALE_SESSION_MESSAGE,
|
|
3
3
|
getAuthClient,
|
|
4
4
|
hasPersistedSession
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-REB37WWY.js";
|
|
6
6
|
import {
|
|
7
7
|
CLI_NAME
|
|
8
8
|
} from "../chunk-TSPERKUS.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-O5TJWVGZ.js";
|
|
11
|
-
import "../chunk-E6J46GNK.js";
|
|
9
|
+
import "../chunk-XQHRKK7M.js";
|
|
12
10
|
import "../chunk-ZOC4GITL.js";
|
|
11
|
+
import "../chunk-VH2HNQG2.js";
|
|
12
|
+
import "../chunk-ZPWTXUA6.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/whoami.ts
|
|
15
15
|
function formatWhoami(addresses) {
|
package/dist/deploy-actors.js
CHANGED
|
@@ -2,19 +2,20 @@ import {
|
|
|
2
2
|
MainnetDefaultWorkerError,
|
|
3
3
|
resolveDeployActors,
|
|
4
4
|
resolveStorageSigner
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-37AN2MHU.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-REB37WWY.js";
|
|
10
10
|
import "./chunk-TSPERKUS.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-FMQLBYOR.js";
|
|
12
12
|
import "./chunk-SI2ZUOYD.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-O5TJWVGZ.js";
|
|
16
|
-
import "./chunk-E6J46GNK.js";
|
|
13
|
+
import "./chunk-IJUKTHEP.js";
|
|
14
|
+
import "./chunk-XQHRKK7M.js";
|
|
17
15
|
import "./chunk-ZOC4GITL.js";
|
|
16
|
+
import "./chunk-UDJAYGYU.js";
|
|
17
|
+
import "./chunk-VH2HNQG2.js";
|
|
18
|
+
import "./chunk-ZPWTXUA6.js";
|
|
18
19
|
export {
|
|
19
20
|
MainnetDefaultWorkerError,
|
|
20
21
|
resolveDeployActors,
|
package/dist/deploy.js
CHANGED
|
@@ -62,34 +62,35 @@ import {
|
|
|
62
62
|
storeFile,
|
|
63
63
|
unpublish,
|
|
64
64
|
validateNoManifestFlags
|
|
65
|
-
} from "./chunk-
|
|
66
|
-
import "./chunk-
|
|
65
|
+
} from "./chunk-6LD3Z2HM.js";
|
|
66
|
+
import "./chunk-T2S5M6OH.js";
|
|
67
67
|
import "./chunk-GRPLHUYC.js";
|
|
68
68
|
import "./chunk-HOTQDYHD.js";
|
|
69
69
|
import "./chunk-IW3X2MJF.js";
|
|
70
70
|
import "./chunk-KOSF5FDO.js";
|
|
71
71
|
import "./chunk-J3NIXHZZ.js";
|
|
72
72
|
import "./chunk-S7EM5VMW.js";
|
|
73
|
-
import "./chunk-
|
|
74
|
-
import "./chunk-
|
|
75
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-7V4B775S.js";
|
|
74
|
+
import "./chunk-GEHOB4PE.js";
|
|
75
|
+
import "./chunk-CRZSDUWV.js";
|
|
76
76
|
import "./chunk-C2TS5MER.js";
|
|
77
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-37AN2MHU.js";
|
|
78
78
|
import "./chunk-JQKKMUCT.js";
|
|
79
79
|
import "./chunk-5FLTDWWP.js";
|
|
80
80
|
import "./chunk-RIRDBSBG.js";
|
|
81
|
-
import "./chunk-
|
|
81
|
+
import "./chunk-REB37WWY.js";
|
|
82
82
|
import "./chunk-TSPERKUS.js";
|
|
83
|
-
import "./chunk-
|
|
83
|
+
import "./chunk-FMQLBYOR.js";
|
|
84
84
|
import "./chunk-SI2ZUOYD.js";
|
|
85
|
-
import "./chunk-
|
|
86
|
-
import "./chunk-
|
|
87
|
-
import "./chunk-O5TJWVGZ.js";
|
|
88
|
-
import "./chunk-E6J46GNK.js";
|
|
85
|
+
import "./chunk-IJUKTHEP.js";
|
|
86
|
+
import "./chunk-XQHRKK7M.js";
|
|
89
87
|
import {
|
|
90
88
|
EXIT_CODE_NO_RETRY,
|
|
91
89
|
NonRetryableError
|
|
92
90
|
} from "./chunk-ZOC4GITL.js";
|
|
91
|
+
import "./chunk-UDJAYGYU.js";
|
|
92
|
+
import "./chunk-VH2HNQG2.js";
|
|
93
|
+
import "./chunk-ZPWTXUA6.js";
|
|
93
94
|
export {
|
|
94
95
|
BLAKE2B_256_MULTIHASH_CODE,
|
|
95
96
|
BULLETIN_ENDPOINTS,
|
package/dist/dotns.d.ts
CHANGED
|
@@ -599,6 +599,8 @@ declare class DotNS {
|
|
|
599
599
|
private _phoneSignatureTotal;
|
|
600
600
|
/** Running attempt counter per label for re-sign detection. Reset at connect/disconnect. */
|
|
601
601
|
private _phoneSignatureAttempts;
|
|
602
|
+
/** Samples Asset Hub block rate / finality lag / RPC latency for the life of this connection. */
|
|
603
|
+
private readonly chainHealth;
|
|
602
604
|
private _classifyOverrideForTest;
|
|
603
605
|
/** Test-only: inject a fixed classifyAliasAccountState return value for the next call. Consumed once. */
|
|
604
606
|
__setClassifyOverrideForTest(state: AliasAccountState): void;
|
package/dist/dotns.js
CHANGED
|
@@ -78,13 +78,14 @@ import {
|
|
|
78
78
|
verifyNonceAdvanced,
|
|
79
79
|
weiToNative,
|
|
80
80
|
withRetry
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-FMQLBYOR.js";
|
|
82
82
|
import "./chunk-SI2ZUOYD.js";
|
|
83
|
-
import "./chunk-
|
|
84
|
-
import "./chunk-
|
|
85
|
-
import "./chunk-O5TJWVGZ.js";
|
|
86
|
-
import "./chunk-E6J46GNK.js";
|
|
83
|
+
import "./chunk-IJUKTHEP.js";
|
|
84
|
+
import "./chunk-XQHRKK7M.js";
|
|
87
85
|
import "./chunk-ZOC4GITL.js";
|
|
86
|
+
import "./chunk-UDJAYGYU.js";
|
|
87
|
+
import "./chunk-VH2HNQG2.js";
|
|
88
|
+
import "./chunk-ZPWTXUA6.js";
|
|
88
89
|
export {
|
|
89
90
|
ATTR_TX_RESOLUTION_KIND,
|
|
90
91
|
CONNECTION_TIMEOUT_MS,
|
package/dist/environments.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ interface Environment {
|
|
|
37
37
|
contracts?: Record<string, string>;
|
|
38
38
|
popSelfServe?: PopSelfServeConfig;
|
|
39
39
|
bulletinAutoAuthorize?: boolean;
|
|
40
|
+
bulletinAuthorizer?: string;
|
|
40
41
|
}
|
|
41
42
|
interface ChainEndpoint {
|
|
42
43
|
wss: string | string[];
|
|
@@ -76,6 +77,7 @@ interface ResolvedEndpoints {
|
|
|
76
77
|
nativeToEthRatio: bigint;
|
|
77
78
|
registerStorageDeposit?: bigint;
|
|
78
79
|
bulletinAutoAuthorize: boolean;
|
|
80
|
+
bulletinAuthorizer?: string;
|
|
79
81
|
}
|
|
80
82
|
declare function defaultBundledPath(): string;
|
|
81
83
|
/**
|