@artblocks/abx-sdk 0.1.0-alpha.12 → 0.1.0-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/abi/generated.d.ts +926 -249
  2. package/dist/abi/generated.d.ts.map +1 -1
  3. package/dist/abi/generated.js +41 -39
  4. package/dist/abi/generated.js.map +1 -1
  5. package/dist/abi/index.d.ts +468 -61
  6. package/dist/abi/index.d.ts.map +1 -1
  7. package/dist/abi/index.js +16 -7
  8. package/dist/abi/index.js.map +1 -1
  9. package/dist/anchors.d.ts +78 -34
  10. package/dist/anchors.d.ts.map +1 -1
  11. package/dist/anchors.js +179 -35
  12. package/dist/anchors.js.map +1 -1
  13. package/dist/create2.d.ts +78 -7
  14. package/dist/create2.d.ts.map +1 -1
  15. package/dist/create2.js +149 -20
  16. package/dist/create2.js.map +1 -1
  17. package/dist/creator-token.d.ts +71 -4
  18. package/dist/creator-token.d.ts.map +1 -1
  19. package/dist/creator-token.js +94 -4
  20. package/dist/creator-token.js.map +1 -1
  21. package/dist/deploy.d.ts +49 -23
  22. package/dist/deploy.d.ts.map +1 -1
  23. package/dist/deploy.js +156 -76
  24. package/dist/deploy.js.map +1 -1
  25. package/dist/deployments.d.ts +4 -0
  26. package/dist/deployments.d.ts.map +1 -1
  27. package/dist/deployments.js +110 -45
  28. package/dist/deployments.js.map +1 -1
  29. package/dist/errors.d.ts +19 -0
  30. package/dist/errors.d.ts.map +1 -1
  31. package/dist/errors.js +24 -0
  32. package/dist/errors.js.map +1 -1
  33. package/dist/generator-document.d.ts +3 -2
  34. package/dist/generator-document.d.ts.map +1 -1
  35. package/dist/generator-document.js +3 -2
  36. package/dist/generator-document.js.map +1 -1
  37. package/dist/generator.d.ts +43 -1
  38. package/dist/generator.d.ts.map +1 -1
  39. package/dist/generator.js +29 -0
  40. package/dist/generator.js.map +1 -1
  41. package/dist/inspect.d.ts +1 -1
  42. package/dist/inspect.js +2 -2
  43. package/dist/inspect.js.map +1 -1
  44. package/dist/onchain-uri.d.ts +15 -1
  45. package/dist/onchain-uri.d.ts.map +1 -1
  46. package/dist/onchain-uri.js +45 -3
  47. package/dist/onchain-uri.js.map +1 -1
  48. package/dist/ops.d.ts +210 -11
  49. package/dist/ops.d.ts.map +1 -1
  50. package/dist/ops.js +308 -34
  51. package/dist/ops.js.map +1 -1
  52. package/dist/reconstruct.d.ts +1 -0
  53. package/dist/reconstruct.d.ts.map +1 -1
  54. package/dist/reconstruct.js +13 -1
  55. package/dist/reconstruct.js.map +1 -1
  56. package/dist/service.d.ts +1 -1
  57. package/dist/service.js +1 -1
  58. package/dist/spine.d.ts +3 -4
  59. package/dist/spine.d.ts.map +1 -1
  60. package/dist/spine.js +0 -0
  61. package/dist/spine.js.map +1 -1
  62. package/dist/staging.d.ts +32 -3
  63. package/dist/staging.d.ts.map +1 -1
  64. package/dist/staging.js +85 -8
  65. package/dist/staging.js.map +1 -1
  66. package/dist/tokendata.d.ts +1 -1
  67. package/dist/tokendata.d.ts.map +1 -1
  68. package/dist/tokendata.js +21 -3
  69. package/dist/tokendata.js.map +1 -1
  70. package/dist/tokens.d.ts +1 -1
  71. package/dist/tokens.js +1 -1
  72. package/dist/tokens.js.map +1 -1
  73. package/dist/types.d.ts +8 -1
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +1 -1
package/dist/anchors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { oneOfOneImageAbi, oneOfOneImageFactoryAbi, seriesImageAbi, seriesImageFactoryAbi, abxMetadataRendererAbi, oneOfOneEditionAbi, oneOfOneEditionFactoryAbi, editionImageAbi, editionImageFactoryAbi, } from './abi/index.js';
2
2
  import { resolveFactory, resolveSeriesFactory, resolveRenderer, resolveSeriesCodeFactory, resolveSeedSource, resolveOneOfOneEditionFactory, resolveEditionFactory, resolveEditionCodeFactory, } from './deployments.js';
3
- import { predictRenderer, predictSeedSource, predictOneOfOneEditionFactory, predictEditionFactory } from './create2.js';
3
+ import { predictRenderer, predictSeedSource, predictFactory, predictSeriesFactory, predictOneOfOneEditionFactory, predictEditionFactory, predictSeriesCodeFactory, predictEditionCodeFactory, } from './create2.js';
4
4
  import { deployFactory, deploySeriesFactory, deployRenderer, deploySeriesCodeFactory, deploySeedSource, deployOneOfOneEditionFactory, deployEditionFactory, deployEditionCodeFactory, } from './deploy.js';
5
5
  import { discoverDeployBlock } from './reconstruct.js';
6
6
  import { AnchorUnavailableError } from './errors.js';
@@ -10,6 +10,32 @@ import { AnchorUnavailableError } from './errors.js';
10
10
  * read) — so an older factory whose impl predates it is detected and a fresh, source-current
11
11
  * (and thus Etherscan-verifiable) one deployed. A stale impl reverts the probe. (Bump this to
12
12
  * the newest capability with each impl change.) */
13
+ /** `AbxVersion.CORE_VERSION` in `contracts/src/libraries/AbxVersion.sol`. MUST move in lockstep with
14
+ * it — the Solidity constant's own NatSpec says so, and `test/anchor-version.test.ts` pins the two
15
+ * together so a bump on one side cannot ship alone. */
16
+ export const ABX_CORE_VERSION = 2n;
17
+ /** Is this implementation built from the current core?
18
+ *
19
+ * A VERSION gate, deliberately, replacing the capability probes that used to stand in for one.
20
+ * Those asked "does the implementation expose feature X" — a question every pre-remediation build
21
+ * also answers yes to — and carried a comment instructing the next author to hand-bump the probed
22
+ * capability on every implementation change. That convention failed exactly as you would expect: an
23
+ * operator holding a factory from before the 2026-08 security remediation would have it reported as
24
+ * `resolved` and keep stamping clones on a vulnerable implementation. `abxVersion()` has been on
25
+ * every token the whole time; nothing read it. */
26
+ async function implCoreVersionIsCurrent(publicClient, impl) {
27
+ try {
28
+ const v = (await publicClient.readContract({
29
+ address: impl,
30
+ abi: oneOfOneImageAbi, // `abxVersion()` is on AbxBeaconCore — identical on all six token types
31
+ functionName: 'abxVersion',
32
+ }));
33
+ return BigInt(v) === ABX_CORE_VERSION;
34
+ }
35
+ catch {
36
+ return false; // no `abxVersion()` at all ⇒ far older than the current core
37
+ }
38
+ }
13
39
  export async function isCurrentFactory(publicClient, factory) {
14
40
  try {
15
41
  const impl = (await publicClient.readContract({
@@ -17,6 +43,10 @@ export async function isCurrentFactory(publicClient, factory) {
17
43
  abi: oneOfOneImageFactoryAbi,
18
44
  functionName: 'implementation',
19
45
  }));
46
+ // The core-version gate runs FIRST: it is the question that actually distinguishes builds. The
47
+ // capability probe below stays as a cheap sanity check on the implementation's shape.
48
+ if (!(await implCoreVersionIsCurrent(publicClient, impl)))
49
+ return false;
20
50
  // `totalSupply()` is a view → readContract; it reverts on an impl that predates it.
21
51
  await publicClient.readContract({ address: impl, abi: oneOfOneImageAbi, functionName: 'totalSupply' });
22
52
  return true;
@@ -55,11 +85,22 @@ export async function ensureFactory(publicClient, send, opts) {
55
85
  notify({ anchor: 'factory', kind: 'stale', address: known, reason: 'no-code' });
56
86
  }
57
87
  }
88
+ // A CREATE2 address is bytecode-bound to the build that predicted it, so this build's OneOfOneImageFactory
89
+ // sitting at its canonical address is already the right anchor — reuse it instead of deploying a
90
+ // duplicate. This is what makes a chain missing from the manifest a non-event.
91
+ const predicted = predictFactory();
92
+ if (!known || known.toLowerCase() !== predicted.toLowerCase()) {
93
+ const pcode = await publicClient.getCode({ address: predicted });
94
+ if (pcode && pcode !== '0x' && (await isCurrentFactory(publicClient, predicted))) {
95
+ notify({ anchor: 'factory', kind: 'canonical', address: predicted });
96
+ return predicted;
97
+ }
98
+ }
58
99
  if (!known && !opts.allowBootstrap)
59
100
  throw new AnchorUnavailableError('factory', 'not-configured');
60
101
  notify({ anchor: 'factory', kind: 'deploying' });
61
- const { factory, implementation, txHash } = await deployFactory(send, publicClient);
62
- notify({ anchor: 'factory', kind: 'deployed', address: factory, implementation, txHash, inManifest: false });
102
+ const { factory, implementation, metadataLib, txHash } = await deployFactory(send, publicClient);
103
+ notify({ anchor: 'factory', kind: 'deployed', address: factory, implementation, metadataLib, txHash, inManifest: false });
63
104
  return factory;
64
105
  }
65
106
  // ── the canonical Series trust anchor ─────────────────────────────────────────
@@ -72,6 +113,10 @@ export async function isCurrentSeriesFactory(publicClient, factory) {
72
113
  abi: seriesImageFactoryAbi,
73
114
  functionName: 'implementation',
74
115
  }));
116
+ // The core-version gate runs FIRST: it is the question that actually distinguishes builds. The
117
+ // capability probe below stays as a cheap sanity check on the implementation's shape.
118
+ if (!(await implCoreVersionIsCurrent(publicClient, impl)))
119
+ return false;
75
120
  // Probe the NEWEST capability the current implementation exposes — ERC-165 support for the
76
121
  // IAbxSequentialMint primitive (mint(address) → uint256, the fixed-price-minter target).
77
122
  // A pre-minter-spine impl (mint returns void, id not advertised) returns false → a fresh,
@@ -102,21 +147,56 @@ export async function ensureSeriesFactory(publicClient, send, opts) {
102
147
  throw new AnchorUnavailableError('series-factory', 'stale-version', known);
103
148
  notify({ anchor: 'series-factory', kind: 'stale', address: known, reason: 'stale-version' });
104
149
  }
150
+ // A CREATE2 address is bytecode-bound to the build that predicted it, so this build's SeriesImageFactory
151
+ // sitting at its canonical address is already the right anchor — reuse it instead of deploying a
152
+ // duplicate. This is what makes a chain missing from the manifest a non-event.
153
+ const predicted = predictSeriesFactory();
154
+ if (!known || known.toLowerCase() !== predicted.toLowerCase()) {
155
+ const pcode = await publicClient.getCode({ address: predicted });
156
+ if (pcode && pcode !== '0x' && (await isCurrentSeriesFactory(publicClient, predicted))) {
157
+ notify({ anchor: 'series-factory', kind: 'canonical', address: predicted });
158
+ return predicted;
159
+ }
160
+ }
105
161
  if (!known && !opts.allowBootstrap)
106
162
  throw new AnchorUnavailableError('series-factory', 'not-configured');
107
163
  notify({ anchor: 'series-factory', kind: 'deploying' });
108
- const { factory, implementation, txHash } = await deploySeriesFactory(send, publicClient);
109
- notify({ anchor: 'series-factory', kind: 'deployed', address: factory, implementation, txHash, inManifest: false });
164
+ const { factory, implementation, metadataLib, txHash } = await deploySeriesFactory(send, publicClient);
165
+ notify({ anchor: 'series-factory', kind: 'deployed', address: factory, implementation, metadataLib, txHash, inManifest: false });
110
166
  return factory;
111
167
  }
112
168
  // ── the canonical on-chain renderer ────────────────────────────────────────────
113
- /** Is the configured renderer the spec version this build expects (v4 — the computed `abx_params`
114
- * object, enumerated from chain, plus `animation_url` wrapped as `data:text/html;base64` for the
115
- * inline/reader representations)? A behind-spec renderer is treated as stale so {@link ensureRenderer}
116
- * deploys a fresh one (greenfield redeploy-freely: this number is what tells the CLI a deployed
117
- * renderer predates a projection the current build emits). A v4 renderer is safe on ANY token —
118
- * pointed at a legacy implementation it simply emits no params block. Bump in lockstep with
119
- * `AbxMetadataRenderer.SPEC_VERSION`. */
169
+ /** Is the configured renderer the spec version this build expects (**v10**)? A behind-spec renderer
170
+ * is treated as stale so {@link ensureRenderer} deploys a fresh one (greenfield redeploy-freely:
171
+ * this number is what tells the CLI a deployed renderer predates behavior the current build emits).
172
+ * Bump in lockstep with `AbxMetadataRenderer.SPEC_VERSION`.
173
+ *
174
+ * **This is a security floor, not just a feature floor**, which is why it has moved twice for
175
+ * reasons unrelated to the params projection:
176
+ * - v4 → v5: v4 left the `abx_provenance` `note` unescaped, and that note carries owner-chosen
177
+ * bytes — enough to flip `onChain` to true, shadow the real `image`, or make `tokenURI`
178
+ * unparseable. A v4 renderer does not merely lag a projection; it will lie about provenance.
179
+ * - v5 → v6: the 2026-08 audit removed two on-chain checks in favour of stated trust assumptions
180
+ * and closed an empty-render case that produced an unparseable document. Rendered output differs,
181
+ * so the version has to.
182
+ * - v6 → v7: the `artist` collection field became `creator`.
183
+ * - v7 → v8: an independent audit found a computed `image` locator was being data-wrapped, so it
184
+ * was not dereferenceable at all; `abx_provenance` lost `onChain` and `verifiedAgainstChain`
185
+ * (the first was wrong in both directions, the second always null); and `abx_params` left
186
+ * `tokenURI` entirely — params enumerate from the contract, which is canonical, and nothing read
187
+ * the projection back.
188
+ * - v8 → v9: a computed `image` was emitted twice — once as `image`, once again inside `artifacts`
189
+ * — nearly doubling the inner payload of the on-chain-SVG lane's `tokenURI`. The data-plane spec
190
+ * always allowed an on-chain renderer to omit reserved-key duplicates; v9 takes it, so
191
+ * `artifacts` no longer appears on the on-chain lanes at all. Rendered output differs, so the
192
+ * version has to.
193
+ * - v9 → v10: four reserved keys the spec had always listed were projected by neither plane on
194
+ * chain — `background_color`, `youtube_url`, `banner_image`, `featured_image`. A documented
195
+ * reserved key that nothing emits is a protocol hole, so the renderer now emits all four when
196
+ * their representation is chain-reachable. A v9 renderer silently drops them.
197
+ *
198
+ * Read `specVersion()` rather than probing for a feature: a capability probe answers yes for every
199
+ * build that has the feature, which is exactly how a stale factory once reported as current. */
120
200
  export async function isCurrentRenderer(publicClient, renderer) {
121
201
  try {
122
202
  const v = (await publicClient.readContract({
@@ -124,7 +204,7 @@ export async function isCurrentRenderer(publicClient, renderer) {
124
204
  abi: abxMetadataRendererAbi,
125
205
  functionName: 'specVersion',
126
206
  }));
127
- return v === 4n;
207
+ return v === 10n;
128
208
  }
129
209
  catch {
130
210
  return false;
@@ -161,12 +241,12 @@ export async function ensureRenderer(publicClient, send, opts) {
161
241
  return renderer;
162
242
  }
163
243
  // ── the code-project (SeriesCode) trust anchor ────────────────────────────────
164
- /** The code-project trust anchor: use the canonical factory, else deploy one (a sandbox /
165
- * fresh chain — libraries linked in-flight; see {@link deploySeriesCodeFactory}). Unlike the
166
- * 1/1 and Series factories there is no version probe (no `isCurrentSeriesCodeFactory` — a
167
- * configured factory with code is always accepted) and no CREATE2 self-heal (its bytecode is
168
- * link-time-linked against two libraries deployed by plain CREATE, so nothing about its address
169
- * is predictable — see {@link deploySeriesCodeFactory}'s own doc comment). */
244
+ /** The code-project trust anchor: use the canonical factory, else the CREATE2-deterministic address,
245
+ * else deploy one (a sandbox / fresh chain — libraries linked in-flight; see {@link
246
+ * deploySeriesCodeFactory}). Unlike the 1/1 and Series factories there is no version probe (no
247
+ * `isCurrentSeriesCodeFactory` — a configured factory with code is always accepted); it needs none
248
+ * at the deterministic address, because a CREATE2 address is bytecode-bound — code sitting at
249
+ * `predictSeriesCodeFactory()` is necessarily THIS build, linked against these libraries. */
170
250
  export async function ensureSeriesCodeFactory(publicClient, send, opts) {
171
251
  const notify = opts.onEvent ?? (() => { });
172
252
  const known = resolveSeriesCodeFactory(opts.chainId, opts.override);
@@ -180,6 +260,16 @@ export async function ensureSeriesCodeFactory(publicClient, send, opts) {
180
260
  throw new AnchorUnavailableError('series-code-factory', 'no-code', known);
181
261
  notify({ anchor: 'series-code-factory', kind: 'stale', address: known, reason: 'no-code' });
182
262
  }
263
+ // Self-heal: the forge script (or an earlier bootstrap) may have put this build's factory at its
264
+ // deterministic address without the manifest catching up. Check there before spending a deploy.
265
+ const predicted = predictSeriesCodeFactory();
266
+ if (!known || known.toLowerCase() !== predicted.toLowerCase()) {
267
+ const pcode = await publicClient.getCode({ address: predicted });
268
+ if (pcode && pcode !== '0x') {
269
+ notify({ anchor: 'series-code-factory', kind: 'canonical', address: predicted });
270
+ return predicted;
271
+ }
272
+ }
183
273
  if (!known && !opts.allowBootstrap)
184
274
  throw new AnchorUnavailableError('series-code-factory', 'not-configured');
185
275
  notify({ anchor: 'series-code-factory', kind: 'deploying' });
@@ -189,6 +279,7 @@ export async function ensureSeriesCodeFactory(publicClient, send, opts) {
189
279
  kind: 'deployed',
190
280
  address: r.factory,
191
281
  implementation: r.implementation,
282
+ metadataLib: r.metadataLib,
192
283
  paramsLib: r.paramsLib,
193
284
  codeLib: r.codeLib,
194
285
  txHash: r.txHash,
@@ -216,6 +307,10 @@ export async function isCurrentOneOfOneEditionFactory(publicClient, factory) {
216
307
  abi: oneOfOneEditionFactoryAbi,
217
308
  functionName: 'implementation',
218
309
  }));
310
+ // The core-version gate runs FIRST: it is the question that actually distinguishes builds. The
311
+ // capability probe below stays as a cheap sanity check on the implementation's shape.
312
+ if (!(await implCoreVersionIsCurrent(publicClient, impl)))
313
+ return false;
219
314
  const [isErc1155, isEditionMint] = await Promise.all([
220
315
  publicClient.readContract({ address: impl, abi: oneOfOneEditionAbi, functionName: 'supportsInterface', args: [ERC1155_INTERFACE_ID] }),
221
316
  publicClient.readContract({ address: impl, abi: oneOfOneEditionAbi, functionName: 'supportsInterface', args: [EDITION_MINT_INTERFACE_ID] }),
@@ -228,10 +323,12 @@ export async function isCurrentOneOfOneEditionFactory(publicClient, factory) {
228
323
  }
229
324
  /**
230
325
  * Get (or deploy) the chain's canonical 1/1-edition clone factory — the trust anchor for a
231
- * priced open/limited edition of a single artwork. The edition twin of {@link ensureFactory},
326
+ * priced open/limited edition of a single work. The edition twin of {@link ensureFactory},
232
327
  * but — because `OneOfOneEditionFactory` is CREATE2-deterministic (see `create2.ts`'s
233
328
  * class-level dev note), unlike the 721 1/1 factory's own bootstrap path — this one ALSO
234
- * self-heals to the predicted address, mirroring {@link ensureRenderer}'s style.
329
+ * self-heals to the predicted address, mirroring {@link ensureRenderer}'s style. The bootstrap
330
+ * leg deploys `AbxParamsLib` + `AbxEditionLib` first (reusing whatever is already on-chain) and
331
+ * links the factory against them — see {@link deployOneOfOneEditionFactory}.
235
332
  */
236
333
  export async function ensureOneOfOneEditionFactory(publicClient, send, opts) {
237
334
  const notify = opts.onEvent ?? (() => { });
@@ -264,8 +361,18 @@ export async function ensureOneOfOneEditionFactory(publicClient, send, opts) {
264
361
  if (!known && !opts.allowBootstrap)
265
362
  throw new AnchorUnavailableError('one-of-one-edition-factory', 'not-configured');
266
363
  notify({ anchor: 'one-of-one-edition-factory', kind: 'deploying' });
267
- const { factory, implementation, txHash } = await deployOneOfOneEditionFactory(send, publicClient);
268
- notify({ anchor: 'one-of-one-edition-factory', kind: 'deployed', address: factory, implementation, txHash, inManifest: false });
364
+ const { factory, implementation, metadataLib, paramsLib, editionLib, txHash } = await deployOneOfOneEditionFactory(send, publicClient);
365
+ notify({
366
+ anchor: 'one-of-one-edition-factory',
367
+ kind: 'deployed',
368
+ address: factory,
369
+ implementation,
370
+ metadataLib,
371
+ paramsLib,
372
+ editionLib,
373
+ txHash,
374
+ inManifest: false,
375
+ });
269
376
  return factory;
270
377
  }
271
378
  /** Is the deployed edition-image factory this build's version? Same two-probe shape as {@link
@@ -279,6 +386,10 @@ export async function isCurrentEditionFactory(publicClient, factory) {
279
386
  abi: editionImageFactoryAbi,
280
387
  functionName: 'implementation',
281
388
  }));
389
+ // The core-version gate runs FIRST: it is the question that actually distinguishes builds. The
390
+ // capability probe below stays as a cheap sanity check on the implementation's shape.
391
+ if (!(await implCoreVersionIsCurrent(publicClient, impl)))
392
+ return false;
282
393
  const [isErc1155, isEditionMint] = await Promise.all([
283
394
  publicClient.readContract({ address: impl, abi: editionImageAbi, functionName: 'supportsInterface', args: [ERC1155_INTERFACE_ID] }),
284
395
  publicClient.readContract({ address: impl, abi: editionImageAbi, functionName: 'supportsInterface', args: [EDITION_MINT_INTERFACE_ID] }),
@@ -289,9 +400,10 @@ export async function isCurrentEditionFactory(publicClient, factory) {
289
400
  return false;
290
401
  }
291
402
  }
292
- /** Get (or deploy) the chain's `EditionImageFactory` — the multi-artwork edition trust anchor,
403
+ /** Get (or deploy) the chain's `EditionImageFactory` — the multi-work edition trust anchor,
293
404
  * the sibling of {@link ensureSeriesFactory}. CREATE2-deterministic, so it self-heals to its
294
- * predicted address exactly like {@link ensureOneOfOneEditionFactory}. */
405
+ * predicted address exactly like {@link ensureOneOfOneEditionFactory} — and, like it, links
406
+ * `AbxEditionLib` (+ that library's own `AbxParamsLib`) on the bootstrap leg. */
295
407
  export async function ensureEditionFactory(publicClient, send, opts) {
296
408
  const notify = opts.onEvent ?? (() => { });
297
409
  const known = resolveEditionFactory(opts.chainId, opts.override);
@@ -323,15 +435,25 @@ export async function ensureEditionFactory(publicClient, send, opts) {
323
435
  if (!known && !opts.allowBootstrap)
324
436
  throw new AnchorUnavailableError('edition-factory', 'not-configured');
325
437
  notify({ anchor: 'edition-factory', kind: 'deploying' });
326
- const { factory, implementation, txHash } = await deployEditionFactory(send, publicClient);
327
- notify({ anchor: 'edition-factory', kind: 'deployed', address: factory, implementation, txHash, inManifest: false });
438
+ const { factory, implementation, metadataLib, paramsLib, editionLib, txHash } = await deployEditionFactory(send, publicClient);
439
+ notify({
440
+ anchor: 'edition-factory',
441
+ kind: 'deployed',
442
+ address: factory,
443
+ implementation,
444
+ metadataLib,
445
+ paramsLib,
446
+ editionLib,
447
+ txHash,
448
+ inManifest: false,
449
+ });
328
450
  return factory;
329
451
  }
330
- /** The code-project EDITION trust anchor: use the canonical factory, else deploy one (a sandbox /
331
- * fresh chain — three libraries linked in-flight; see {@link deployEditionCodeFactory}). Exactly
332
- * {@link ensureSeriesCodeFactory}'s stance, extended to a third library: no version probe (a
333
- * configured factory with code is always accepted) and no CREATE2 self-heal (its bytecode is
334
- * link-time-linked, so nothing about its address is predictable). */
452
+ /** The code-project EDITION trust anchor: use the canonical factory, else the CREATE2-deterministic
453
+ * address, else deploy one (a sandbox / fresh chain — three libraries linked in-flight; see {@link
454
+ * deployEditionCodeFactory}). Exactly {@link ensureSeriesCodeFactory}'s stance, extended to a third
455
+ * library: no version probe (a configured factory with code is always accepted), and the same
456
+ * bytecode-bound self-heal at `predictEditionCodeFactory()`. */
335
457
  export async function ensureEditionCodeFactory(publicClient, send, opts) {
336
458
  const notify = opts.onEvent ?? (() => { });
337
459
  const known = resolveEditionCodeFactory(opts.chainId, opts.override);
@@ -345,6 +467,14 @@ export async function ensureEditionCodeFactory(publicClient, send, opts) {
345
467
  throw new AnchorUnavailableError('edition-code-factory', 'no-code', known);
346
468
  notify({ anchor: 'edition-code-factory', kind: 'stale', address: known, reason: 'no-code' });
347
469
  }
470
+ const predicted = predictEditionCodeFactory();
471
+ if (!known || known.toLowerCase() !== predicted.toLowerCase()) {
472
+ const pcode = await publicClient.getCode({ address: predicted });
473
+ if (pcode && pcode !== '0x') {
474
+ notify({ anchor: 'edition-code-factory', kind: 'canonical', address: predicted });
475
+ return predicted;
476
+ }
477
+ }
348
478
  if (!known && !opts.allowBootstrap)
349
479
  throw new AnchorUnavailableError('edition-code-factory', 'not-configured');
350
480
  notify({ anchor: 'edition-code-factory', kind: 'deploying' });
@@ -354,6 +484,7 @@ export async function ensureEditionCodeFactory(publicClient, send, opts) {
354
484
  kind: 'deployed',
355
485
  address: r.factory,
356
486
  implementation: r.implementation,
487
+ metadataLib: r.metadataLib,
357
488
  paramsLib: r.paramsLib,
358
489
  codeLib: r.codeLib,
359
490
  editionLib: r.editionLib,
@@ -391,19 +522,32 @@ export async function ensureSeedSource(publicClient, send, opts) {
391
522
  // ── protocol reads: which factory, and from when ──────────────────────────────
392
523
  /**
393
524
  * Pick the canonical factory for a clone being added. An explicit override or a stored value
394
- * wins; otherwise probe the chain's known factories (SeriesCode, Series, 1/1) for the ONE whose
395
- * `isAbxClone` confirms this address, so `abx add` of a code / Series project records the RIGHT
525
+ * wins; otherwise probe ALL SIX of the chain's known factories — the three 721 anchors (SeriesCode,
526
+ * Series, 1/1) and the three ERC-1155 edition anchors (EditionCode, EditionImage, OneOfOneEdition) —
527
+ * for the ONE whose `isAbxClone` confirms this address, so `abx add` of any project records the RIGHT
396
528
  * factory and canonicity actually verifies. Without this, `add` defaulted to the 1/1 factory, so a
397
529
  * code/Series clone read `canonical: unverified` (the check ran against the wrong factory). One
398
530
  * multicall, only when the factory isn't already known; falls back to the 1/1 default on any miss/RPC
399
531
  * error (`isAbxClone` shares a selector across all factory ABIs, so one ABI probes them all).
532
+ *
533
+ * The edition anchors were missing here when the 1155 lane shipped, and the failure was worse than
534
+ * "unverified": the 1/1 fallback answers `isAbxClone` = **false**, so every genuinely-canonical
535
+ * edition read `canonical: NO` — a confident wrong answer about the trust anchor, on the one signal
536
+ * platforms allowlist against. Any new token family MUST be added to this list in the same change.
400
537
  */
401
538
  export async function detectCanonicalFactory(publicClient, address, opts) {
402
539
  if (opts.override)
403
540
  return opts.override;
404
541
  if (opts.stored)
405
542
  return opts.stored;
406
- const known = [resolveSeriesCodeFactory(opts.chainId), resolveSeriesFactory(opts.chainId), resolveFactory(opts.chainId)].filter((f) => !!f);
543
+ const known = [
544
+ resolveSeriesCodeFactory(opts.chainId),
545
+ resolveSeriesFactory(opts.chainId),
546
+ resolveFactory(opts.chainId),
547
+ resolveEditionCodeFactory(opts.chainId),
548
+ resolveEditionFactory(opts.chainId),
549
+ resolveOneOfOneEditionFactory(opts.chainId),
550
+ ].filter((f) => !!f);
407
551
  const candidates = [...new Set(known)];
408
552
  if (candidates.length <= 1)
409
553
  return candidates[0]; // nothing to disambiguate
@@ -1 +1 @@
1
- {"version":3,"file":"anchors.js","sourceRoot":"","sources":["../src/anchors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchors.js","sourceRoot":"","sources":["../src/anchors.ts"],"names":[],"mappings":"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"}
package/dist/create2.d.ts CHANGED
@@ -11,7 +11,9 @@ import { type Address, type Hex } from 'viem';
11
11
  /** The keyless CREATE2 proxy (Arachnid deterministic-deployment-proxy). Same address on every chain. */
12
12
  export declare const CREATE2_PROXY: Address;
13
13
  /** Canonical salt strings — MUST stay byte-identical to `contracts/script/AbxSalts.sol`, since the
14
- * deterministic address is `keccak256(0xff ++ proxy ++ keccak256(salt) ++ keccak256(initcode))`. */
14
+ * deterministic address is `keccak256(0xff ++ proxy ++ keccak256(salt) ++ keccak256(initcode))`.
15
+ * `test/create2-salts.test.ts` diffs this table against that file, both ways, so drift can't be
16
+ * quiet: the two halves have to be one fact. */
15
17
  export declare const ABX_SALT: {
16
18
  readonly oneOfOneFactory: "abx.factory.one-of-one.v1";
17
19
  readonly seriesFactory: "abx.factory.series.v1";
@@ -25,6 +27,10 @@ export declare const ABX_SALT: {
25
27
  readonly editionFactory: "abx.edition-factory.v1";
26
28
  readonly editionCodeFactory: "abx.edition-code-factory.v1";
27
29
  readonly fixedPriceMinter1155: "abx.fixed-price-minter-1155.v1";
30
+ readonly paramsLib: "abx.lib.params.v1";
31
+ readonly codeLib: "abx.lib.code.v1";
32
+ readonly editionLib: "abx.lib.edition.v1";
33
+ readonly metadataLib: "abx.lib.metadata.v1";
28
34
  };
29
35
  /** The 32-byte salt a CREATE2 deploy uses (`keccak256` of the canonical string). */
30
36
  export declare const saltHash: (salt: string) => Hex;
@@ -43,13 +49,78 @@ export declare const predictFixedPriceMinter: () => Address;
43
49
  * (`DeploySeedSource.s.sol`) so it compiles at the default profile — bundling it with the
44
50
  * SeriesCode factory's `clone-impl` unit yields a different, non-canonical bytecode + address. */
45
51
  export declare const predictSeedSource: () => Address;
46
- /** The canonical (cross-chain-identical) `OneOfOneEditionFactory` address for the current
47
- * bytecode — the 1/1-edition trust anchor. */
48
- export declare const predictOneOfOneEditionFactory: () => Address;
49
- /** The canonical (cross-chain-identical) `EditionImageFactory` address for the current
50
- * bytecode — the multi-artwork edition trust anchor. */
51
- export declare const predictEditionFactory: () => Address;
52
+ /** The canonical (cross-chain-identical) `OneOfOneImageFactory` address for the current bytecode —
53
+ * the 721 1/1 trust anchor. */
54
+ export declare const predictFactory: () => Address;
55
+ /** The canonical (cross-chain-identical) `SeriesImageFactory` address for the current bytecode —
56
+ * the 721 multi-token trust anchor. */
57
+ export declare const predictSeriesFactory: () => Address;
52
58
  /** The canonical (cross-chain-identical) `AbxFixedPriceMinter1155` address for the current
53
59
  * bytecode — the shared, ownerless edition sale singleton. */
54
60
  export declare const predictFixedPriceMinter1155: () => Address;
61
+ /** Fully-qualified library names (solc's link keys — path-sensitive, so they must match how the
62
+ * contracts are compiled: `src/libraries/…` as `foundry.toml` sees them). */
63
+ export declare const LIB_FQN: {
64
+ readonly paramsLib: "src/libraries/AbxParamsLib.sol:AbxParamsLib";
65
+ readonly codeLib: "src/libraries/AbxCodeLib.sol:AbxCodeLib";
66
+ readonly editionLib: "src/libraries/AbxEditionLib.sol:AbxEditionLib";
67
+ readonly metadataLib: "src/libraries/AbxMetadataLib.sol:AbxMetadataLib";
68
+ };
69
+ /** The solc link placeholder for a fully-qualified library name: `__$<keccak(fqn)[0:34]>$__`. */
70
+ export declare const libPlaceholder: (fullyQualified: string) => string;
71
+ /**
72
+ * Link `bytecode` against deployed libraries — the post-compile placeholder substitution `forge`
73
+ * does at build time, done here so a sandbox / fresh chain needs no forge. Throws if any
74
+ * placeholder is left over, since an unlinked `__$…$__` is not valid hex and the RPC would reject
75
+ * the transaction with an opaque `Invalid byte sequence`.
76
+ */
77
+ export declare function linkLibraries(bytecode: Hex, links: ReadonlyArray<readonly [fqn: string, address: Address]>): Hex;
78
+ /** The canonical (cross-chain-identical) `AbxParamsLib` address — the params write path both code
79
+ * token types delegatecall. */
80
+ export declare const predictParamsLib: () => Address;
81
+ /** The canonical (cross-chain-identical) `AbxCodeLib` address — the script/code write path. */
82
+ export declare const predictCodeLib: () => Address;
83
+ /** The canonical (cross-chain-identical) `AbxEditionLib` address — the 1155 uri / creator-token /
84
+ * edition-supply write path that **all three** edition token types (`OneOfOneEdition`,
85
+ * `EditionImage`, `EditionCode`) delegatecall.
86
+ * `AbxEditionLib` itself delegatecalls `AbxParamsLib`, so it is linked before it is deployed: the
87
+ * one library here whose own initcode depends on another library's address. */
88
+ export declare const predictEditionLib: () => Address;
89
+ /** The canonical `AbxMetadataLib` address. Linked by ALL SIX token types — the metadata field store
90
+ * was inlined into every one of them until the 2026-08-14 audit asked for EIP-170 headroom before
91
+ * further remediation, so externalizing it is what made even the plainest 721 factory
92
+ * library-linked. It links nothing itself, so it is deployed first. */
93
+ export declare const predictMetadataLib: () => Address;
94
+ /** `AbxEditionLib`'s canonical initcode: its shipped bytecode linked against `AbxParamsLib`. */
95
+ export declare const linkEditionLib: () => Hex;
96
+ /** `OneOfOneEditionFactory`'s canonical initcode: linked against `AbxEditionLib` (the only library
97
+ * its embedded `OneOfOneEdition` implementation delegates into). `AbxEditionLib`'s own address
98
+ * already accounts for its `AbxParamsLib` link — see {@link predictEditionLib}. */
99
+ export declare const linkOneOfOneEditionFactory: () => Hex;
100
+ /** `EditionImageFactory`'s canonical initcode: linked against `AbxEditionLib`, the sibling of
101
+ * {@link linkOneOfOneEditionFactory}. */
102
+ export declare const linkEditionFactory: () => Hex;
103
+ /** `SeriesCodeFactory`'s canonical initcode: linked against the two write-path libraries. */
104
+ export declare const linkSeriesCodeFactory: () => Hex;
105
+ /** `EditionCodeFactory`'s canonical initcode: linked against all three write-path libraries. */
106
+ export declare const linkEditionCodeFactory: () => Hex;
107
+ /** The two ERC-721 image factories' canonical initcode. They linked NOTHING until the metadata
108
+ * field store was externalized; now every token type is library-linked. */
109
+ export declare const linkFactory: () => Hex;
110
+ export declare const linkSeriesFactory: () => Hex;
111
+ /** The canonical (cross-chain-identical) `SeriesCodeFactory` address — the code-project trust
112
+ * anchor. Predictable because its libraries are (see the section note above). */
113
+ export declare const predictSeriesCodeFactory: () => Address;
114
+ /** The canonical (cross-chain-identical) `EditionCodeFactory` address — the code-project EDITION
115
+ * trust anchor. */
116
+ export declare const predictEditionCodeFactory: () => Address;
117
+ /** The canonical (cross-chain-identical) `OneOfOneEditionFactory` address — the 1/1-edition trust
118
+ * anchor. Predicted from LINKED initcode: `OneOfOneEdition` delegates its uri / creator-token /
119
+ * edition-supply bodies into `AbxEditionLib`, so the shipped factory bytecode carries a link
120
+ * placeholder (hashing it unlinked yields a plausible-looking address for a trust anchor that
121
+ * nothing can ever be deployed to — see the section note). */
122
+ export declare const predictOneOfOneEditionFactory: () => Address;
123
+ /** The canonical (cross-chain-identical) `EditionImageFactory` address — the multi-work edition
124
+ * trust anchor, the sibling of {@link predictOneOfOneEditionFactory} (same single library link). */
125
+ export declare const predictEditionFactory: () => Address;
55
126
  //# sourceMappingURL=create2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create2.d.ts","sourceRoot":"","sources":["../src/create2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,OAAO,EAAE,KAAK,GAAG,EAAC,MAAM,MAAM,CAAC;AAW5F;;;;;;;;GAQG;AAEH,wGAAwG;AACxG,eAAO,MAAM,aAAa,EAAE,OAAsD,CAAC;AAEnF;qGACqG;AACrG,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAiBX,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,GAA+B,CAAC;AAExE;6CAC6C;AAC7C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAE1E;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAEhE;AAED,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,QAAO,OAA4E,CAAC;AAElH,kGAAkG;AAClG,eAAO,MAAM,eAAe,QAAO,OAAgF,CAAC;AAEpH,kGAAkG;AAClG,eAAO,MAAM,uBAAuB,QAAO,OACoC,CAAC;AAEhF;;mGAEmG;AACnG,eAAO,MAAM,iBAAiB,QAAO,OAA4E,CAAC;AAclH;+CAC+C;AAC/C,eAAO,MAAM,6BAA6B,QAAO,OACuC,CAAC;AAEzF;yDACyD;AACzD,eAAO,MAAM,qBAAqB,QAAO,OACoC,CAAC;AAE9E;+DAC+D;AAC/D,eAAO,MAAM,2BAA2B,QAAO,OACwC,CAAC"}
1
+ {"version":3,"file":"create2.d.ts","sourceRoot":"","sources":["../src/create2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,OAAO,EAAE,KAAK,GAAG,EAAC,MAAM,MAAM,CAAC;AAmB5F;;;;;;;;GAQG;AAEH,wGAAwG;AACxG,eAAO,MAAM,aAAa,EAAE,OAAsD,CAAC;AAEnF;;;iDAGiD;AACjD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;CAoBX,CAAC;AAEX,oFAAoF;AACpF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,GAA+B,CAAC;AAExE;6CAC6C;AAC7C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAE1E;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,CAEhE;AAED,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,QAAO,OAA4E,CAAC;AAElH,kGAAkG;AAClG,eAAO,MAAM,eAAe,QAAO,OAAgF,CAAC;AAEpH,kGAAkG;AAClG,eAAO,MAAM,uBAAuB,QAAO,OACoC,CAAC;AAEhF;;mGAEmG;AACnG,eAAO,MAAM,iBAAiB,QAAO,OAA4E,CAAC;AAYlH;gCACgC;AAChC,eAAO,MAAM,cAAc,QAAO,OAC8B,CAAC;AAEjE;wCACwC;AACxC,eAAO,MAAM,oBAAoB,QAAO,OAC4B,CAAC;AAErE;+DAC+D;AAC/D,eAAO,MAAM,2BAA2B,QAAO,OACwC,CAAC;AA0CxF;8EAC8E;AAC9E,eAAO,MAAM,OAAO;;;;;CAKV,CAAC;AAEX,iGAAiG;AACjG,eAAO,MAAM,cAAc,GAAI,gBAAgB,MAAM,KAAG,MACI,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,CAKhH;AAED;gCACgC;AAChC,eAAO,MAAM,gBAAgB,QAAO,OAA0E,CAAC;AAE/G,+FAA+F;AAC/F,eAAO,MAAM,cAAc,QAAO,OAAsE,CAAC;AAEzG;;;;gFAIgF;AAChF,eAAO,MAAM,iBAAiB,QAAO,OACyB,CAAC;AAE/D;;;wEAGwE;AACxE,eAAO,MAAM,kBAAkB,QAAO,OAC+B,CAAC;AAEtE,gGAAgG;AAChG,eAAO,MAAM,cAAc,QAAO,GAC+C,CAAC;AAElF;;oFAEoF;AACpF,eAAO,MAAM,0BAA0B,QAAO,GAI1C,CAAC;AAEL;0CAC0C;AAC1C,eAAO,MAAM,kBAAkB,QAAO,GAIlC,CAAC;AAEL,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,QAAO,GAKrC,CAAC;AAEL,gGAAgG;AAChG,eAAO,MAAM,sBAAsB,QAAO,GAMtC,CAAC;AAEL;4EAC4E;AAC5E,eAAO,MAAM,WAAW,QAAO,GAC6D,CAAC;AAE7F,eAAO,MAAM,iBAAiB,QAAO,GACqD,CAAC;AAE3F;kFACkF;AAClF,eAAO,MAAM,wBAAwB,QAAO,OACgC,CAAC;AAE7E;oBACoB;AACpB,eAAO,MAAM,yBAAyB,QAAO,OACiC,CAAC;AAE/E;;;;+DAI+D;AAC/D,eAAO,MAAM,6BAA6B,QAAO,OACqC,CAAC;AAEvF;qGACqG;AACrG,eAAO,MAAM,qBAAqB,QAAO,OAC6B,CAAC"}