@artblocks/abx-storage 0.1.0-alpha.29 → 0.1.0-alpha.30

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/CHANGELOG.md CHANGED
@@ -1,636 +1,13 @@
1
1
  # @artblocks/abx-storage
2
2
 
3
- ## 0.1.0-alpha.29
3
+ ## 0.1.0-alpha.30
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Updated dependencies [c198237]
8
- - @artblocks/abx-sdk@0.1.0-alpha.29
7
+ - 64248d9: Establish the public source baseline and refresh dependency constraints.
8
+ - Updated dependencies [64248d9]
9
+ - @artblocks/abx-sdk@0.1.0-alpha.30
9
10
 
10
- ## 0.1.0-alpha.28
11
+ ## Unreleased
11
12
 
12
- ### Patch Changes
13
-
14
- - c5e0d84: Published package `homepage` and `bugs` fields now point at docs.abx.io instead of a private GitHub
15
- repo that 404s. File reports with `abx feedback`; `npm bugs` no longer names a repository the public
16
- cannot open.
17
-
18
- Reported in the 2026-08-27 tester batch (feedback 40142396).
19
-
20
- - Updated dependencies [c5e0d84]
21
- - Updated dependencies [c5e0d84]
22
- - @artblocks/abx-sdk@0.1.0-alpha.28
23
-
24
- ## 0.1.0-alpha.27
25
-
26
- ### Patch Changes
27
-
28
- - Updated dependencies [4072f0c]
29
- - @artblocks/abx-sdk@0.1.0-alpha.27
30
-
31
- ## 0.1.0-alpha.26
32
-
33
- ### Patch Changes
34
-
35
- - Updated dependencies [b182f23]
36
- - @artblocks/abx-sdk@0.1.0-alpha.26
37
-
38
- ## 0.1.0-alpha.25
39
-
40
- ### Patch Changes
41
-
42
- - Updated dependencies [8f2f78a]
43
- - @artblocks/abx-sdk@0.1.0-alpha.25
44
-
45
- ## 0.1.0-alpha.24
46
-
47
- ### Patch Changes
48
-
49
- - Updated dependencies [61503c3]
50
- - @artblocks/abx-sdk@0.1.0-alpha.24
51
-
52
- ## 0.1.0-alpha.23
53
-
54
- ### Patch Changes
55
-
56
- - bd77ba2: Correct the Node floor to 22.13, and refuse to start with a remedy instead of a stack trace.
57
-
58
- Every package declared `engines.node: ">=22.5.0"` — the version `node:sqlite` was **added**, not the
59
- version it became usable. It shipped in v22.5.0 behind `--experimental-sqlite` and lost the flag in
60
- v22.13.0 / v23.4.0. So `npm i -g @artblocks/abx-cli` on Node 22.5 installed silently (the engine
61
- range was satisfied) and then `abx doctor` — the first command we tell everyone to run — died with a
62
- raw `ERR_UNKNOWN_BUILTIN_MODULE: No such built-in module: node:sqlite` stack trace naming neither
63
- abx nor a fix. Reported 2026-08-24; the floor is now `>=22.13.0` everywhere, so npm warns at install
64
- time.
65
-
66
- The crash happened while ESM _linked_ `main.ts`'s import graph (`output.ts` →
67
- `@artblocks/abx-indexer` → `node:sqlite`), before any of our code ran, so no guard inside the CLI
68
- could have caught it. The published binary is now a deliberately import-free shim (`dist/bin.js`)
69
- that probes for `node:sqlite` and hands off to `main.js` — it prints the running version, the real
70
- floor, and the upgrade command. It probes the **capability**, not the version number: an old Node
71
- launched with `NODE_OPTIONS=--experimental-sqlite` genuinely works, and refusing that would be a
72
- false negative. `engines` states what we support; the guard blocks only what is actually broken.
73
-
74
- `abx doctor`'s header now also reports the running Node, since its output is what people paste when
75
- something is wrong.
76
-
77
- - Updated dependencies [bd77ba2]
78
- - @artblocks/abx-sdk@0.1.0-alpha.23
79
-
80
- ## 0.1.0-alpha.22
81
-
82
- ### Patch Changes
83
-
84
- - Updated dependencies [993e095]
85
- - @artblocks/abx-sdk@0.1.0-alpha.22
86
-
87
- ## 0.1.0-alpha.21
88
-
89
- ### Patch Changes
90
-
91
- - c9f7aeb: Fold the burn, and make "canonically ABX v2" sayable — from abx-services' 2026-08-20 reply
92
- (`reviews/2026-08/services-reply-docs-23.md`). All off-chain: no contract changed, no address moved.
93
-
94
- **SDK — `foldSpine` now folds an ERC-721 burn, and `TokenState.minted` is replaced by `lifecycle`
95
- (BREAKING).** A burn wrote the zero address into `TokenState.owner` — where nothing downstream could
96
- tell it from a holder — and `minted` latched `true` at mint and was never recomputed, so a burned
97
- token reconstructed as live. `lifecycle: 'unminted' | 'live' | 'burned' | 'no-live-copies'` replaces it,
98
- and `owner` is `null` for a burned id rather than a sentinel. An enum rather than the `minted` +
99
- `burned` pair the report asked for: a boolean whose `false` has two meanings leaves the burn case one
100
- forgotten field away from rendering as "not yet minted", which is exactly what our own CLI did.
101
-
102
- **`'burned'` is terminal and ERC-721-only; an edition at zero live copies is `'no-live-copies'`.** The
103
- first cut of this enum shared `'burned'` across both standards, on the grounds that "one vocabulary on
104
- both lanes" was the honest shape. It wasn't: the correct _response_ to destruction differs by standard
105
- (a 721 id is gone forever and must `410`; an edition id can mint again and must not), so a shared word
106
- put every consumer one forgotten `contractType` branch away from serving `410 Gone` for a token the
107
- contract still resolves — and our own migration note told the first consumer to map the shared word
108
- straight onto their `410` sites. abx-services caught it in review before it published. Splitting the
109
- word moves the rule out of prose and into the type: **`lifecycle === 'burned'` is safe to treat as
110
- permanent on either standard, with no carve-out**, which let the reference resolver's `isEditionState`
111
- guard go away entirely. Pinned from both ends — no edition history can fold to `'burned'`, and the
112
- route asserts its own standard-blindness.
113
-
114
- **The two lanes now agree id-for-id.** The same review found `TokenRow.lifecycle` (head reads) reporting
115
- `'unknown'` for a fully-burned edition id while the fold reported `'burned'` for that same id — under a
116
- docstring claiming the two lanes used the same words. That is the sibling-drift class this repo treats
117
- as a bug (see `TokenState.maxSupply`'s note, the last time one field name carried two meanings). Both
118
- lanes now answer `'no-live-copies'` there: the fold _could_ distinguish never-minted from fully-burned
119
- and deliberately does not, because the distinction has no consumer. `'unknown'` survives for the one
120
- case where a head read genuinely cannot say — a 1/1 has no mint frontier, so a reverting `ownerOf`
121
- there is evidence of nothing.
122
-
123
- What the latched boolean was costing, all in our own tree: the effects harness re-rendered destroyed
124
- tokens on every sweep, forever; `onchain-uri`'s probe reads the LOWEST live id, so burning token 0 made
125
- a healthy collection's on-chain-URI lane report as **broken**; the resolver served metadata — and the
126
- pre-mint _warming placeholder_, i.e. "still loading" forever — for ids the contract disowns; `mintedCount`
127
- never went down; and `abx state` printed "not yet minted" for a token that had been destroyed.
128
-
129
- **SDK — `BurnConfigured` and `MaxRoyaltyBpsUpdated` fold into `ProjectState.burnable` /
130
- `.maxRoyaltyBps`.** Both events shipped in the ABI and in `SPINE_EVENT_DOC` and reached no field of
131
- state; the upgrade memo then told consumers the doc entry _was_ the fold, which it has never been (it
132
- supplies `register`/`what` on the event record, full stop). Both are tri-state: `null` means the spine
133
- never stated it — an implementation with no `burn` entrypoint and an unpublished ceiling — which is not
134
- `false`, and not 10%. The ceiling is deliberately not nested inside `royalty`, since clearing a royalty
135
- nulls that field while the ceiling stays binding on chain.
136
-
137
- **SDK — a fold-coverage guard, because this was the second instance in four days.** `DefaultMaxSupplySet`
138
- did the same thing on 2026-08-17. `SPINE_EVENT_NO_FOLD` now lists the events that deliberately reach no
139
- state _and why_ (a ping whose value is a head read, a factory's own log, a minter sibling, an allowance),
140
- and `spine-fold-coverage.test.ts` asserts every decodable event is either folded or excused. A new event
141
- is unfolded and unexcused until someone decides which.
142
-
143
- **SDK — a burned 1/1 no longer vanishes from `listTokens`.** The id range fell back to `totalSupply`
144
- (live: mints − burns) when a token type exposes no `nextTokenId`, so burning a 1/1's only token made the
145
- listing enumerate ZERO ids — `abx tokens` printed nothing at all, indistinguishable from a collection
146
- with no tokens. A 1/1's id space is `{0}` forever regardless of what is live. Found by burning a real
147
- token on Sepolia rather than by any fixture, which is the only way this one surfaces.
148
-
149
- **SDK — head reads can now say `burned`.** `nextTokenId` is a mint frontier that only rises, so an id
150
- below it whose `ownerOf` reverts was minted and destroyed. `TokenRow.lifecycle` (`'live'` / `'burned'` /
151
- `'unminted'` / `'unknown'`) and `TokenListing.burnedCount` (`nextTokenId − totalSupply`) drop out of that,
152
- with no event log. `'unknown'` stays a real member where the chain declines to say: a 1/1 has no frontier,
153
- and an edition's `supply == 0` cannot distinguish never-minted from fully-burned.
154
-
155
- **SDK — `burned` joins `ServiceErrorCode`, paired with `410 Gone`.** A remote token API had nothing
156
- honest to say about a destroyed id and was sending `410` with `code: 'not_registered'` — a statement
157
- about the _contract_. The rule behind the pairing is the general one: **a resolver answers what the
158
- contract's own URI getter answers.** A burned 721's `tokenURI` reverts `NonexistentToken`, so serving a
159
- document would contradict the contract; an ERC-1155's `uri(id)` has no existence gate and a zero-supply
160
- id can mint again, so **an edition never 410s** — it serves, with `supply: 0`.
161
-
162
- **SDK — `readCollectionPolicy`, `canonicalFactories`, `verifyProvenance`: protocol knowledge moves out
163
- of the CLI.** The CLI was declaring its own ABI fragments for `burnable`/`maxRoyaltyBps` and reading
164
- them itself in two places, so no other integrator could reach either fact. `canonicalFactories(chainId)`
165
- replaces two copies of the six-anchor enumeration inside `anchors.ts` — the list whose completeness _is_
166
- the trust model. `verifyCanonical` gains `opts.factories`, which **replaces** the manifest set rather
167
- than appending to it, so a multi-tenant operator's pinned allowlist can drive the gate without silently
168
- widening it.
169
-
170
- **SDK — anchor generations: "canonically ABX v2", not a bare `false`.** `verifyCanonical` reported
171
- "deployed by an ABX factory since replaced" and "deployed outside the toolkit entirely" identically —
172
- its own docstring admitted it — and the first is a perfectly good collection. `ANCHOR_GENERATIONS` keys
173
- each generation of the six trust anchors by the **on-chain core version** its clones report, and
174
- `verifyProvenance` returns `{canonical, generation: 'current' | 'prior' | null, coreVersion, factory,
175
- anchorsAnswered}`. The version is on the clone itself, so the answer is chain-verified rather than a
176
- manifest claim, and it keeps working after a factory retires. Retired generations never feed
177
- `verifyCanonical`: provenance is not trust — a superseded generation can predate a security remediation.
178
- Pre-launch testnet generations are deliberately not backfilled.
179
-
180
- **Redeploy process — a token-layer runtime change is a new anchor generation.** It bumps
181
- `AbxVersion.CORE_VERSION` and moves the SDK's `isCurrent*` probes in lockstep. That is now a checklist
182
- step (`contracts/README.md`, `CLAUDE.md`) _enforced by_ `deployments.test.ts`: recorded generations must
183
- have unique, increasing core versions and the newest must match the constant in `AbxVersion.sol`, so a
184
- batch cannot record a generation without bumping or bump without recording. The gap that prompted it: the
185
- 2026-08-20 batch added `burn()`, `burnable()`, `maxRoyaltyBps()` and `reduceMaxRoyaltyBps()` to the CORE
186
- base — burn is not an extension, so no extension version moved either — and left the constant at 2, so
187
- `abxVersion() == 2` cannot tell a burn-capable token from a pre-burn one.
188
-
189
- **CLI — the royalty ceiling is shown with its rate, and headroom is named.** A ceiling above the live
190
- rate is royalty the owner can add unilaterally, and a listing page never shows it. `abx state` prints the
191
- pair and, when there is headroom, says the useful thing: reducing the cap **to** the current rate is what
192
- turns "5% today" into "5%, provably, forever". (Named by abx-services as their `royalty-headroom` flag —
193
- a marketplace can compute it, so a creator should hear it from us first.)
194
-
195
- **Reference stack — the same fixes, so the reference is exemplary rather than the counter-example.**
196
- `mintedCount` keeps its name and counts LIVE ids, with `burnedCount` added only when non-zero (so a
197
- project with no burns serves byte-identical JSON, and a consumer's fixtures keep telling the truth);
198
- the indexer projection carries `lifecycle`; the effects status route and the render sweep skip destroyed
199
- ids; the dashboard badges a burned token instead of calling it minted; and `abx verify` / the migrate and
200
- re-point probes never choose a burned token as their subject.
201
-
202
- **CLI — `--send` is accepted on the deploy paths, and two lane flags is refused.** Every deploy's help
203
- advertises the signing lanes as `--send hot/env key · --sign wallet page · --unsigned print tx`, in 25
204
- places, and `--send` was the one of the three the deploy allowlist rejected: typing what the help showed
205
- produced `unrecognized flag(s): --send` from the guard whose whole purpose is catching flags that would
206
- be silently ignored — the guard firing on the tool's own documentation. Found by using the CLI as a cold
207
- reader of its own `--help` while setting up an on-chain test. While there, lane resolution moved from
208
- truthiness to **presence** (`--sign=` parses to `''`, which is falsy, so a caller who explicitly named
209
- the wallet lane was routed to the unattended env key — the one direction of that bug that costs
210
- something), and naming two lanes at once now refuses instead of resolving by an undocumented precedence.
211
-
212
- **Packaging — every published tarball ships its CHANGELOG.** `files` was `['dist', 'LICENSE']` on the
213
- SDK, indexer, storage, effects and token-api, so the only package whose release notes reached consumers
214
- was the CLI. A downstream team upgrading the SDK had no CHANGELOG in the tarball and diffed two `dist/`
215
- trees to find out what moved — then reported the release notes as missing, which cost a whole exchange
216
- to adjudicate. One line each.
217
-
218
- **Docs + spec.** The event spine gains a Burn section and the `MaxRoyaltyBpsUpdated` row, both with the
219
- fold rules an indexer relies on; three stale deploy-event-order lists are corrected; the remote-services
220
- error taxonomy gains the `410 burned` row and the edition carve-out; `owner-powers` explains headroom and
221
- burn permanence; and `indexing-notes` states plainly that documenting an event is not folding it.
222
-
223
- - Updated dependencies [c9f7aeb]
224
- - @artblocks/abx-sdk@0.1.0-alpha.21
225
-
226
- ## 0.1.0-alpha.20
227
-
228
- ### Patch Changes
229
-
230
- - Updated dependencies [84ca9dd]
231
- - Updated dependencies [84ca9dd]
232
- - @artblocks/abx-sdk@0.1.0-alpha.20
233
-
234
- ## 0.1.0-alpha.19
235
-
236
- ### Patch Changes
237
-
238
- - Updated dependencies [b1c333d]
239
- - Updated dependencies [b1c333d]
240
- - @artblocks/abx-sdk@0.1.0-alpha.19
241
-
242
- ## 0.1.0-alpha.18
243
-
244
- ### Patch Changes
245
-
246
- - Updated dependencies [77a6248]
247
- - Updated dependencies [77a6248]
248
- - @artblocks/abx-sdk@0.1.0-alpha.18
249
-
250
- ## 0.1.0-alpha.17
251
-
252
- ### Patch Changes
253
-
254
- - Updated dependencies [c5b8ec3]
255
- - Updated dependencies [5b29f53]
256
- - @artblocks/abx-sdk@0.1.0-alpha.17
257
-
258
- ## 0.1.0-alpha.16
259
-
260
- ### Patch Changes
261
-
262
- - Updated dependencies [9c287c0]
263
- - Updated dependencies [b5744a1]
264
- - Updated dependencies [9c287c0]
265
- - @artblocks/abx-sdk@0.1.0-alpha.16
266
-
267
- ## 0.1.0-alpha.15
268
-
269
- ### Patch Changes
270
-
271
- - Updated dependencies [7fec2d7]
272
- - @artblocks/abx-sdk@0.1.0-alpha.15
273
-
274
- ## 0.1.0-alpha.14
275
-
276
- ### Patch Changes
277
-
278
- - Updated dependencies [1b6b741]
279
- - Updated dependencies [1b6b741]
280
- - Updated dependencies [1b6b741]
281
- - Updated dependencies [1b6b741]
282
- - Updated dependencies [1b6b741]
283
- - Updated dependencies [1b6b741]
284
- - Updated dependencies [f64a31f]
285
- - Updated dependencies [1b6b741]
286
- - Updated dependencies [1b6b741]
287
- - Updated dependencies [1b6b741]
288
- - Updated dependencies [1b6b741]
289
- - Updated dependencies [1b6b741]
290
- - Updated dependencies [1b6b741]
291
- - Updated dependencies [1b6b741]
292
- - Updated dependencies [1b6b741]
293
- - Updated dependencies [1b6b741]
294
- - Updated dependencies [1b6b741]
295
- - @artblocks/abx-sdk@0.1.0-alpha.14
296
-
297
- ## 0.1.0-alpha.13
298
-
299
- ### Patch Changes
300
-
301
- - Updated dependencies [528c6c6]
302
- - @artblocks/abx-sdk@0.1.0-alpha.13
303
-
304
- ## 0.1.0-alpha.12
305
-
306
- ### Patch Changes
307
-
308
- - Updated dependencies [afa9dd4]
309
- - Updated dependencies [8c254d5]
310
- - @artblocks/abx-sdk@0.1.0-alpha.12
311
-
312
- ## 0.1.0-alpha.11
313
-
314
- ### Patch Changes
315
-
316
- - d40caf4: Requested by an integrator (abx-services) — the conformance surface now lives in the neutral
317
- layer. Five pieces that only token-api or storage exposed before, and that any third-party
318
- resolver needs to reproduce the reference behavior byte-for-byte, move into `@artblocks/abx-sdk`:
319
-
320
- - **The generator-document family** (`ABX_JS`, `escapeInlineScript`/`escapeInlineJson`,
321
- `buildGeneratorDocument`, `injectTokenDataIntoHtml` — new `src/generator-document.ts`): pure
322
- string operations with no resolver-specific behavior, so the SDK, `abx preview`, and any
323
- third-party provider now share one definition instead of the CLI importing token-api just for
324
- this.
325
- - **The registry-dependency family** (`DEPENDENCY_REGISTRY_ABI`, `activeRegistry`,
326
- `resolveRegistryDep`, `registryDepUrl`, `dependencyScriptTags`, `URL_BUDGET_BYTES`), merged into
327
- the SDK's existing `deps.ts` alongside its registry-pointer logic. `node:zlib` can't come along
328
- — SDK core has to stay reachable from a browser bundle — so decompression is now an INJECTED
329
- `inflate?: (bytes: Uint8Array) => Uint8Array` threaded through `resolveRegistryDep`/
330
- `dependencyScriptTags`; omitting it when a resolved dep actually needs decompressing throws a
331
- new typed `InflateRequiredError` naming the fix, rather than crashing opaquely or silently
332
- degrading. `@artblocks/abx-sdk/node` gains `nodeInflate` (a one-line `gunzipSync` wrapper) so a
333
- Node host wires it in one line; a browser host passes a `DecompressionStream`-based
334
- implementation instead. (Merge note: the prior `dependencyRegistryReadAbi` and token-api's
335
- `DEPENDENCY_REGISTRY_ABI` declared the identical `getDependencyDetails` entry twice — deduped
336
- into one array that also carries `getDependencyScript`.)
337
- - **`contentTypeFromPath`** (new `src/mime.ts`): the MIME extension-map lookup, verbatim.
338
- - **Gateway resolution, split pure/env** (new `src/gateways.ts`): `resolveGatewayBase` is now PURE
339
- (no env read — takes resolved `{ipfs?, arweave?}` overrides) and `gatewayUrlFor` moves alongside
340
- it; `gatewayConfigFromEnv()` is the one place that reads `ABX_IPFS_GATEWAY`/
341
- `ABX_ARWEAVE_GATEWAY`, kept separate so a host with its own gateway config never has to touch
342
- `process.env` through this module at all.
343
- - **`exponentialBackoffDelay(attempt, baseMs, capMs)`** (`util.ts`): `min(baseMs * 2^(attempt-1),
344
- capMs)`, 1-indexed like the existing `linearBackoffDelay`. Prefer it for a sustained rate limit
345
- or an overloaded upstream; `linearBackoffDelay` stays right for a one-off transient failure.
346
- `service.ts`'s own retry ladder is unchanged (still linear — its rationale comment stands).
347
-
348
- Token-api and storage keep every existing export working, re-exported from the SDK where the
349
- implementation moved — no removals, and token-api's own `nodeInflate`-pre-wired wrappers mean its
350
- internal call sites (`code.ts`'s document assembly, `deps.ts`'s `depStatusReport`) needed no
351
- signature changes at all. The browser-bundle test (`packages/sdk/test/browser-bundle.test.ts`)
352
- stays green with all of this now exported from the core index — proof that the injected-`inflate`
353
- design actually keeps `node:zlib` out of the bundle.
354
-
355
- - Updated dependencies [d40caf4]
356
- - Updated dependencies [d40caf4]
357
- - @artblocks/abx-sdk@0.1.0-alpha.11
358
-
359
- ## 0.1.0-alpha.10
360
-
361
- ### Minor Changes
362
-
363
- - 11fa933: The extraction phase of the simplification refactor: business logic that lived only inside the CLI
364
- is now importable — the CLI calls the same functions you can.
365
-
366
- **Into the SDK:** the five trust-anchor bootstraps (`ensureFactory`, `ensureSeriesFactory`,
367
- `ensureSeriesCodeFactory`, `ensureRenderer`, `ensureSeedSource` — `anchors.ts`, on the same
368
- injected-`send` + `onEvent` pattern as `ensureChunkStore`, with a typed `AnchorUnavailableError`),
369
- `detectCanonicalFactory`/`resolveScanFloor`, the on-chain-URI setup composer (`onchain-uri.ts`),
370
- interrupted-deploy resume planning (`resume.ts`), migration plan/parity reconciliation
371
- (`migrate.ts`), the `abx.js` static analyzer (`inspect.ts`), dependency setup legs (`deps.ts`),
372
- content-staging plans (`staging.ts` — `planStagedContent`, `stageFieldContent` with `StagingEvent`),
373
- `mintedTokenIds`, and a typed `readSaleConfig` for the fixed-price minter.
374
-
375
- **Into storage:** `uploadAndLocate`, `repinNodeCustody` (the byte-custody half of migration),
376
- `decideImageContentLane`, `assessStorageReadiness`/`assessTurboFunds` (the Arweave/Turbo funding
377
- math), and `awaitLocatorReady` (poll a locator until it serves).
378
-
379
- **CLI hardening that fell out of the dedup:** one risk gate (`gatedSend`) now guards every write —
380
- `--dry-run` and `--confirm` mean the same thing on every command, all owner-ops gain `--confirm`,
381
- and a write reaching the send lane under `--dry-run` is structurally impossible (grep-enforced by
382
- test). One `CHAIN` source of truth; one memoized local-indexer accessor.
383
-
384
- ### Patch Changes
385
-
386
- - 11fa933: The remaining phases of the simplification refactor that hadn't yet gotten a changeset: the CLI's
387
- internal module split, the token-api/effects/mint-page convergence on the SDK, the shipped skill's
388
- rewrite for the simplified surface, and a new SDK README.
389
-
390
- - **`abx`'s `main.ts` split into domain command modules** (`commands/{deploy,project,reads,service,
391
- scaffold,storage}.ts`, shared `output.ts`/`errors.ts`), with one exit-discipline rule
392
- (`process.exitCode` + return, or a typed `CliError`, everywhere — bare `process.exit` only at the
393
- entry guard, the top-level catch, and the keep-alive SIGINT handler). Purely internal: a 207-fixture
394
- byte-diff matrix (every help text, dry-run, error path, and exit code) confirmed identical output
395
- before and after.
396
- - **token-api / effects / mint-page converge on the SDK**: `@artblocks/abx-storage` gains one
397
- `resolveGatewayBase` (`readiness.ts`), replacing three near-identical copies (two in token-api, one
398
- inline in storage itself); token-api exports `buildGeneratorDocument` so the CLI's `abx preview`
399
- consumes the real generator-document assembler instead of a hand-kept duplicate; the effects runner
400
- now resolves its config via the SDK's `readEnv` and gets a `makePublicClient` fallback transport, so
401
- `ABX_RPC_URL` accepts a comma-separated failover list like every other RPC var; the scaffolded
402
- mint-page app now imports ABIs from `@artblocks/abx-sdk/abi` and a browser-safe `makePublicClient` +
403
- typed `readSaleConfig` instead of hand-rolled fetch/decode, and pins its generated `package.json` to
404
- the SDK's _resolved_ version via a new `@artblocks/abx-sdk/package.json` export (alpha version
405
- counters diverge per package under changesets, so pinning the CLI's own number could produce an
406
- unsatisfiable range).
407
- - **The shipped skill (`.claude/skills/abx-self-host/`) is rewritten for the surface phases 0–5
408
- actually shipped**: every warning made obsolete by an enforcement is deleted rather than softened —
409
- predict-only deploy-preview addresses, the `approvals N` line, the single `ABX_REMOTE_SELF_*`
410
- credential grammar, `doctor`'s version/provenance ladder, `storage show --check`, the render/storage
411
- combo validator's dry-run row, and `ABX_DEPLOYER_PK` as the only key name. Retired names swept from
412
- `dev-loop-test`, the agent-eval scenarios, and spec prose. The skill ships bundled inside this CLI
413
- package (co-versioned via `SKILL.md` frontmatter), so it rides this same patch.
414
- - **New `packages/sdk/README.md`**: what the SDK is, the send-injection model (`PreparedTx` +
415
- `SendTx`, `makeHotSender` for a hot key, bring-your-own for a wallet/multisig), a complete
416
- deploy → upload → mint → read walkthrough against real exports, and browser-use notes (explicit
417
- `rpcUrls`, no env, the `/node` subpath is Node-only). Included in the npm tarball automatically
418
- (README is one of the files npm always packs, regardless of the `files` allowlist).
419
-
420
- - 11fa933: Phase 5 interface unifications: the self resolver becomes a named remote, doctor absorbs the
421
- version/install/provenance ladder, deploy previews stop showing addresses they can't keep,
422
- approvals are counted honestly, render×storage combos are validated once, and storage config gets
423
- a real probe.
424
-
425
- - **Self resolver is a named remote (breaking, client-side only)**: the CLIENT credential for the
426
- local/self resolver moves from `ABX_RESOLVER_ADMIN_TOKEN` to the named-remote grammar
427
- (`ABX_REMOTE_SELF_URL` / `ABX_REMOTE_SELF_TOKEN` — "self" is just a conventional remote name, zero
428
- special-casing). The SERVER side (token-api control-plane auth, `provision.ts`, the Fly.io secret)
429
- keeps its old name — it's the service's own config, not a client credential, so deployed resolvers
430
- need no change. The old client var, if still set, is now a pointed `CliError` naming both new vars
431
- (no silent fallback); `abx doctor` flags it too, and the near-miss `_KEY`-vs-`_TOKEN` detector keeps
432
- working under the unified grammar.
433
- - **`abx doctor` absorbs the version/install/provenance ladder** the skill used to only teach in
434
- prose: one new ✓/✗ block for binary provenance (source checkout / npm install / npx — the silent-
435
- stale-npx-cache trap), npm currency (reuses the existing cached update check), and skill↔CLI
436
- version match (reuses `abx skill`'s own discovery). Each row names the exact fix.
437
- - **Deploy previews stop showing addresses they can't keep**: `--dry-run` (`deploy` /
438
- `deploy-series` / `deploy-code`) **without `--salt`** no longer prints a "deterministic address" —
439
- that salt was just freshly, randomly reserved, so the address was real for that one preview and
440
- never reproducible by a plain re-run. It now prints the salt itself, prominently, plus how to pin
441
- it: re-run with `--salt <shown>` (guaranteed same address), or `abx predict --salt <shown> --for
442
- <signer>`. **With `--salt`, the address prints exactly as before** (it IS stable) — `abx predict`
443
- is unchanged. The same rule applies to `--json`: without `--salt`, `address` reports `null` rather
444
- than a value the real deploy won't land at (`saltPinned` still says why).
445
- - **`approvals` — a labeled, honest signature count**: every deploy-family `--dry-run` preview and
446
- `--confirm` summary now carries one uniform `approvals N wallet approval(s)` line/clause — the
447
- number of **wallet TX signatures** the real run will ask for (a connected-wallet storage upload,
448
- e.g. Arweave via `--storage-signer eth`, is a message signature, not a transaction, and stays
449
- listed separately, as it already was). It's derived from the exact same staging/setup-multicall
450
- math that sizes the wallet-lane session's own `total`, so the two can never disagree — this caught
451
- (and fixed) `deploy-code`'s wallet-lane session `total` being hardcoded to `2` even on the 1-tx path
452
- (no chunks/schema/deps/on-chain-uri legs/setup-carried mints), which would have shown "transaction
453
- 1 of 2" and then silently never asked for a second.
454
- - **One validator for render×storage combos**: `@artblocks/abx-storage` gains
455
- `validateRenderStorageCombo()` (`content-plan.ts`) — the single source of truth for two known-bad
456
- configurations, each checked against the ACTUAL fact that makes it bad (not against an unrelated
457
- flag): (1) `--image-base` needs a backend that can overwrite a stable per-token key in place; an
458
- ipfs/arweave-_shaped URL_ is refused regardless of this deploy's own `--backend`, because those are
459
- content-addressed — a re-upload gets a new address, so no fixed URL can point at it. (2) publishing
460
- a render to a resolver that doesn't share this machine's disk needs a backend that can hand back a
461
- public URL at all — `fs` (or `cloud` with no public base) can't. `deploy-code` wires this into BOTH
462
- its real-run refusal (`--image-base`) and a new `render/storage ✓|✗ <reason>` dry-run row;
463
- `requirePublishableBackend` (the existing `abx render --remote` / `abx effects` guard) now consults
464
- the same validator for its ok/not-ok decision, so the two surfaces can't drift apart.
465
- - **`abx storage show --check`**: a real read/write against the resolved storage config, not just
466
- "is it configured." `cloud` PUTs a tiny object through the signed API and GETs it back over the
467
- PUBLIC base with a plain unsigned fetch — the only check that catches the R2/S3
468
- endpoint-vs-public-base trap (`health()` alone only proves the API credentials work); on failure
469
- both URLs print, so the mismatch is visible. `ipfs`/`fs` reuse their existing `health()` verbatim
470
- (gateway/API reachability, dir writability — no upload, no pin — reused, not reimplemented).
471
- `arweave` adds an identity+balance READ, never a paid upload. Exit code is meaningful (0 ok / 1 any
472
- ✗) so a script can gate a launch on it. `abx doctor`'s storage row now runs the same fuller probe
473
- (bounded to 1.5s, matching its other fast network checks) instead of a bare `health()` call.
474
-
475
- - Updated dependencies [11fa933]
476
- - Updated dependencies [11fa933]
477
- - Updated dependencies [11fa933]
478
- - @artblocks/abx-sdk@0.1.0-alpha.10
479
-
480
- ## 0.1.0-alpha.9
481
-
482
- ### Patch Changes
483
-
484
- - df298d8: `abx storage status <locator>` — is it retrievable yet, or only accepted?
485
-
486
- Backlog B21, and the second half of a gap two independent integrations hit eight days apart. An upload
487
- service answers "accepted" the moment it holds your bytes; a gateway serves them only once they
488
- propagate, and on Arweave that runs to minutes. Nothing in the upload result distinguished the two, so
489
- the natural implementation — upload during a mint, write the locator into the token — mints a token
490
- that renders broken for the first minutes of its life.
491
-
492
- The first reporter rebuilt this layer themselves (ranged GETs, a propagating/ready model, retry ladders
493
- lengthened after measuring real times) and concluded "every serious integrator will rebuild some
494
- version of this." The second published 32 renders and found **32/32 404ing on `arweave.net` while 22/32
495
- already served from `permagate.io` and `vilenarios.com`**, with the uploader reporting `CONFIRMED`
496
- throughout — and the expensive part is what a creator does next, since a placeholder on a fresh drop
497
- reads as a failed render, so you re-run `abx render --force` and re-upload everything for nothing.
498
-
499
- That second observation shapes the design: propagation is **per-gateway**, so the check probes the
500
- gateway your project actually uses _plus two others_, which buys a third verdict the reporters' own
501
- two-state model couldn't express.
502
-
503
- - **`ready`** — your gateway serves the bytes. Safe to reference.
504
- - **`propagating`** — another gateway serves them, so the data **provably exists** on the network and
505
- yours is merely behind. Waiting is the fix, and the command says plainly not to re-upload.
506
- - **`unreachable`** — nothing probed serves them. Deliberately _not_ called propagating: from outside,
507
- a locator that is still settling and one that is simply wrong look identical, and reporting the
508
- friendlier of the two is how a tool teaches someone to ignore it. When every gateway rejects the id
509
- itself (a 4xx that isn't 404) rather than just missing it, that _is_ evidence, and the output says
510
- "malformed locator, waiting will not fix it" — the inverse mistake of waiting out a typo costs more
511
- than a needless re-upload.
512
-
513
- Accepts every form a locator arrives in (`ar://`, `ipfs://`, a gateway URL, a bare txid/CID, with a
514
- directory path suffix), reads **headers only** via a ranged request with the body cancelled — so
515
- checking a 40 MB asset doesn't download it — and **exits non-zero unless ready**, which makes waiting a
516
- one-liner instead of a retry ladder: `until abx storage status <loc> --json; do sleep 10; done`.
517
-
518
- The primitive is `locatorStatus()` in `@artblocks/abx-storage`, not CLI-only (per B20): anything
519
- programmatic should call it in-process rather than spawning the CLI per check. `abx render`'s existing
520
- propagation note now points at the command, so the advisory has an answer attached.
521
-
522
- - Updated dependencies [df298d8]
523
- - Updated dependencies [df298d8]
524
- - @artblocks/abx-sdk@0.1.0-alpha.9
525
-
526
- ## 0.1.0-alpha.8
527
-
528
- ### Patch Changes
529
-
530
- - Updated dependencies [e325b46]
531
- - @artblocks/abx-sdk@0.1.0-alpha.8
532
-
533
- ## 0.1.0-alpha.7
534
-
535
- ### Patch Changes
536
-
537
- - 1b50f9d: Fixes from an integrator batch: a machine-readable `tokenuri`, one Arweave identity across CLI and SDK, a correct OpenSea refresh, and attach telling the truth.
538
-
539
- **`abx tokenuri --json`.** The command abbreviated long values (`… (382 chars)`) with no way to turn it
540
- off, so for a token whose whole point is on-chain content it returned something that _looked_ like the
541
- metadata and wasn't. An integrator scraped it, stored a `data:` URI cut to 96 characters, and only
542
- found out in production; they abandoned the CLI as a read path and reimplemented `eth_call`. `--json`
543
- now emits the verbatim decoded document — no banner, no ANSI, no truncation — so
544
- `abx tokenuri <addr> --json | jq` is a supported read path. The human view still abbreviates, and now
545
- says `[--json for the full value]`.
546
-
547
- **One Arweave identity, resolved in one place.** `arweaveConfigFromEnv()` read `ARWEAVE_JWK` and
548
- nothing else, while the CLI mints and manages `.abx-self-host/arweave-key.json`. Porting a working CLI
549
- flow to the SDK — same machine, minutes later — failed every upload with "Arweave via Turbo needs an
550
- identity", a message that says storage was never configured when the truth was that two layers
551
- disagreed about where the identity lives. `@artblocks/abx-storage` now exports `resolveArweaveJwk()`
552
- (env → managed key file) and the CLI delegates to it. Its diagnostics come with it: an empty key file
553
- now reports the **path** and the remedy instead of `Unexpected end of JSON input`, and a corrupt one
554
- says the same.
555
-
556
- **`abx refresh` on the default chain.** The OpenSea slug map held only `sepolia` and `mainnet`, so
557
- `base-sepolia` — the CLI's own default — fell through to the raw key: the refresh POST went to a slug
558
- OpenSea doesn't know, and the printed link pointed at **mainnet** `opensea.io` for a testnet token.
559
- Slugs are now correct (`base_sepolia`), `testnet` comes from the chain registry rather than a second
560
- hand-maintained set, and a chain with no known slug produces **no link** instead of a wrong one. Same
561
- shape as the hardcoded explorer table that once sent every Base Sepolia link to Etherscan.
562
-
563
- **`abx attach` names its dependency.** Attaching artifacts to a project that resolves on-chain now
564
- warns, before the send, that they will **not** appear in `tokenURI` — the on-chain renderer carries
565
- reserved fields only, and the artifacts manifest comes from a resolver. A team attached five audio
566
- stems to a fully-on-chain token and found them "paid for, stored on-chain, and invisible"; the note
567
- that existed was one dim line that read as a footnote rather than as a missing service.
568
-
569
- **`ensureChunkStore` moved to the SDK.** The bootstrap every on-chain-content path needs existed only
570
- inside the CLI, so an SDK integrator got `resolveChunkStore()` (may return undefined) plus a separate
571
- `storeSupportsWriteContent()` they had to remember — forget it and an incapable store fails _deep
572
- inside a mint, after transactions have landed_. One team hand-rolled the guard for exactly that reason.
573
- `ensureChunkStore(publicClient, send, {chainId, override, onEvent})` is now exported; the SDK reports
574
- progress through `onEvent` instead of printing, and the CLI keeps its narration.
575
-
576
- **`abx storage upload --json`.** The locator as data. They scraped this line, captured its ANSI colour
577
- codes along with the URL, wrote the result into a _stored_ player URL, and found out when it 404'd in
578
- production. In `--json` mode stdout carries the JSON and nothing else; progress moves to stderr.
579
-
580
- **`--backend ipfs` no longer hides a missing credential.** Without `PINATA_JWT` the backend resolves to
581
- **kubo against a local node**, so a dry run looked fine and the real upload failed for anyone not running
582
- one. The preview now says so. Related correction: the skill claimed "a backend missing its secret falls
583
- back to `fs`" — it does not. `cloud` refuses up front naming the missing values, and `ipfs` goes to the
584
- local node; nothing silently degrades to local disk. Both sides now say the same thing.
585
-
586
- Reported in the 2026-08-03 MXRR integration batch (feedback 869f27b1, a256217f, 119d7e8e, 975c363e,
587
- e38216db, e267078b).
588
-
589
- - Updated dependencies [1b50f9d]
590
- - Updated dependencies [1b50f9d]
591
- - @artblocks/abx-sdk@0.1.0-alpha.7
592
-
593
- ## 0.1.0-alpha.6
594
-
595
- ### Patch Changes
596
-
597
- - Updated dependencies [1158420]
598
- - Updated dependencies [1158420]
599
- - Updated dependencies [1158420]
600
- - @artblocks/abx-sdk@0.1.0-alpha.6
601
-
602
- ## 0.1.0-alpha.5
603
-
604
- ### Patch Changes
605
-
606
- - Updated dependencies [feba8c2]
607
- - @artblocks/abx-sdk@0.1.0-alpha.5
608
-
609
- ## 0.1.0-alpha.4
610
-
611
- ### Patch Changes
612
-
613
- - Updated dependencies [67b686b]
614
- - @artblocks/abx-sdk@0.1.0-alpha.4
615
-
616
- ## 0.1.0-alpha.3
617
-
618
- ### Patch Changes
619
-
620
- - Updated dependencies [a72723d]
621
- - @artblocks/abx-sdk@0.1.0-alpha.3
622
-
623
- ## 0.1.0-alpha.2
624
-
625
- ### Patch Changes
626
-
627
- - Updated dependencies [3745bd3]
628
- - Updated dependencies [3745bd3]
629
- - @artblocks/abx-sdk@0.1.0-alpha.2
630
-
631
- ## 0.1.0-alpha.1
632
-
633
- ### Patch Changes
634
-
635
- - Updated dependencies [4074766]
636
- - @artblocks/abx-sdk@0.1.0-alpha.1
13
+ Public release history begins here.
package/dist/backend.js CHANGED
@@ -3,8 +3,8 @@ import { keccak256 } from 'viem';
3
3
  export function hashContent(bytes) {
4
4
  return keccak256(bytes);
5
5
  }
6
- // `contentTypeFromPath` moved to `@artblocks/abx-sdk` (src/mime.ts) — the abx-services
7
- // integrator ask. Re-exported from `./index.ts` unchanged; this package's own public API stays
6
+ // `contentTypeFromPath` lives in `@artblocks/abx-sdk` (src/mime.ts) and is re-exported from
7
+ // `./index.ts` unchanged, so this package's public API stays
8
8
  // identical.
9
9
  export { contentTypeFromPath } from '@artblocks/abx-sdk';
10
10
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAW,MAAM,MAAM,CAAC;AAkFzC,yGAAyG;AACzG,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,uFAAuF;AACvF,+FAA+F;AAC/F,aAAa;AACb,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAW,MAAM,MAAM,CAAC;AAkFzC,yGAAyG;AACzG,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,4FAA4F;AAC5F,6DAA6D;AAC7D,aAAa;AACb,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
package/dist/readiness.js CHANGED
@@ -1,7 +1,5 @@
1
1
  import { gatewayConfigFromEnv, gatewayUrlFor, linearBackoffDelay, resolveGatewayBase as sdkResolveGatewayBase, sleep, } from '@artblocks/abx-sdk';
2
- // `gatewayUrlFor` and `LocatorNetwork` moved to `@artblocks/abx-sdk` (src/gateways.ts) — the
3
- // abx-services integrator ask. Re-exported here unchanged; this package's own public API
4
- // (including `./index.ts`'s re-export of both) stays identical.
2
+ // Re-export the SDK gateway types and helpers unchanged so this package's public API remains stable.
5
3
  export { gatewayUrlFor } from '@artblocks/abx-sdk';
6
4
  /**
7
5
  * Gateways probed as alternates, per network. Kept short on purpose — this is a diagnosis, not a
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@artblocks/abx-storage",
3
- "version": "0.1.0-alpha.29",
3
+ "version": "0.1.0-alpha.30",
4
4
  "license": "MIT",
5
- "description": "ABX Self-Host Toolkit (Layer 3) — the reference byte-custody / storage service. Holds the source-of-truth bytes a token's content commitment points at, content-addressed by hash, behind a pluggable backend interface.",
5
+ "description": "Storage adapters for ABX content using filesystem, S3-compatible, IPFS, or Arweave backends.",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
8
8
  "exports": {
@@ -26,7 +26,7 @@
26
26
  "directory": "packages/storage"
27
27
  },
28
28
  "homepage": "https://docs.abx.io",
29
- "bugs": "https://docs.abx.io/docs/using-abx/remote-services",
29
+ "bugs": "https://github.com/ArtBlocks/abx/issues",
30
30
  "keywords": [
31
31
  "abx",
32
32
  "nft",
@@ -39,11 +39,11 @@
39
39
  "access": "public"
40
40
  },
41
41
  "dependencies": {
42
- "viem": "^2.21.0",
43
- "@artblocks/abx-sdk": "0.1.0-alpha.29"
42
+ "viem": "^2.56.0",
43
+ "@artblocks/abx-sdk": "0.1.0-alpha.30"
44
44
  },
45
45
  "optionalDependencies": {
46
- "@ardrive/turbo-sdk": "^1.23.0",
46
+ "@ardrive/turbo-sdk": "^1.42.0",
47
47
  "@dha-team/arbundles": "^1.0.4"
48
48
  },
49
49
  "scripts": {