@artblocks/abx-sdk 0.1.0-alpha.38 → 0.1.0-alpha.39

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,5 +1,13 @@
1
1
  # @artblocks/abx-sdk
2
2
 
3
+ ## 0.1.0-alpha.39
4
+
5
+ ### Patch Changes
6
+
7
+ - 3d7fe3c: Record the verified canonical Robinhood Chain Testnet deployment and enable the network for
8
+ experimental qualification with explicit CLI and agent guidance.
9
+ - 7b462e2: Update the SDK's Viem dependency to the latest compatible patch release.
10
+
3
11
  ## 0.1.0-alpha.38
4
12
 
5
13
  ### Patch Changes
@@ -26,8 +26,8 @@
26
26
  "name": "Robinhood Chain Testnet",
27
27
  "environment": "testnet",
28
28
  "pairedChain": "robinhood",
29
- "contractStatus": "not-deployed",
30
- "supportLevel": "disabled"
29
+ "contractStatus": "deployed",
30
+ "supportLevel": "experimental"
31
31
  },
32
32
  {
33
33
  "key": "base",
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,15 @@ export const DEPLOYMENTS = {
94
94
  ...CANONICAL,
95
95
  generator: '0x05823faC69865F8A6c15c69D1Cb8F10Db87014e2',
96
96
  },
97
+ // Robinhood Chain Testnet (experimental). Contracts were deployed and source-verified from this
98
+ // release on 2026-09-16. No canonical dependency registry exists, so the generator fallback is
99
+ // address(0). SSTORE2 asset pointers:
100
+ // abxJsPointer 0xbeD5a9dec0c94fF39F7874df979eBdC3Adab568D,
101
+ // gunzipScriptPointer 0x686CE62bdE8FE4Fc3de70c8fC65b574A05a23D52.
102
+ 46630: {
103
+ ...CANONICAL,
104
+ generator: '0x4F74De4835B51414a4DA83527589aEDc41A26FaE',
105
+ },
97
106
  // Base (production beta). Contracts are deployed and source-verified. Base has no configured Art
98
107
  // Blocks DependencyRegistry. SSTORE2 asset pointers:
99
108
  // abxJsPointer 0xbeD5a9dec0c94fF39F7874df979eBdC3Adab568D,
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"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"}
package/dist/resume.js CHANGED
@@ -0,0 +1,146 @@
1
+ /** Diff the four id-agnostic leg groups against what the contract already holds. Shared by
2
+ * {@link planResume} and {@link planEditionResume} — the mint leg is appended by each caller,
3
+ * since its shape differs (see the class doc). */
4
+ async function planCoreLegs(read, legs) {
5
+ const calls = [];
6
+ const done = [];
7
+ const todo = [];
8
+ const sending = { chunkIndices: [], chunkBytes: [], schemaKeys: [], deps: false, uri: false };
9
+ // ── script chunks ───────────────────────────────────────────────────────────
10
+ // Compared by CONTENT, not by count. A count check would call a chunk "present" when a hand-repair
11
+ // wrote different bytes at that index, and re-sending is the cheap, correct answer to any doubt.
12
+ if (legs.chunks.length) {
13
+ const count = await read.scriptChunkCount();
14
+ const missing = [];
15
+ for (const chunk of legs.chunks) {
16
+ const stored = chunk.index < count ? await read.scriptChunk(chunk.index) : null;
17
+ if (stored !== null && stored.toLowerCase() === chunk.hex.toLowerCase())
18
+ continue;
19
+ missing.push(chunk.index);
20
+ calls.push(chunk.data);
21
+ sending.chunkIndices.push(chunk.index);
22
+ sending.chunkBytes.push((chunk.hex.length - 2) / 2);
23
+ }
24
+ if (missing.length === 0)
25
+ done.push(`script: all ${legs.chunks.length} chunk(s) already stored on-chain`);
26
+ else if (missing.length === legs.chunks.length)
27
+ todo.push(`script: store ${missing.length} chunk(s)`);
28
+ else
29
+ todo.push(`script: store ${missing.length} of ${legs.chunks.length} chunk(s) (indices ${missing.join(', ')} — the rest already match)`);
30
+ }
31
+ // ── PostParam schemas ───────────────────────────────────────────────────────
32
+ // `exists` is the whole test. A schema cannot have landed with different content than the leg that
33
+ // wrote it (the multicall is atomic), so present ⇒ correct — and re-writing one is an upsert with
34
+ // real value-stranding risk, which belongs to `set-schema` and its guard, never to a resume.
35
+ if (legs.schemas.length) {
36
+ const absent = [];
37
+ for (const s of legs.schemas) {
38
+ if (await read.schemaExists(s.key))
39
+ continue;
40
+ absent.push(s.key);
41
+ calls.push(s.data);
42
+ sending.schemaKeys.push(s.key);
43
+ }
44
+ if (absent.length === 0)
45
+ done.push(`params: all ${legs.schemas.length} schema(s) already declared`);
46
+ else
47
+ todo.push(`params: declare ${absent.join(', ')}`);
48
+ }
49
+ // ── dependencies ────────────────────────────────────────────────────────────
50
+ // One group: the legs are index-addressed and the registry pointer rides with them, so "as many as
51
+ // intended, pointing at the intended registry" is the honest test.
52
+ if (legs.deps.calls.length) {
53
+ const count = await read.dependencyCount();
54
+ const registry = await read.dependencyRegistry();
55
+ const registryOk = legs.deps.registry === null || (registry ?? '').toLowerCase() === legs.deps.registry.toLowerCase();
56
+ if (count >= legs.deps.count && registryOk) {
57
+ done.push(`dependencies: ${count} already declared${legs.deps.registry ? ' (registry matches)' : ''}`);
58
+ }
59
+ else {
60
+ calls.push(...legs.deps.calls);
61
+ sending.deps = true;
62
+ todo.push(`dependencies: declare ${legs.deps.count}${registryOk ? '' : ' + re-point the registry'}`);
63
+ }
64
+ }
65
+ // ── the on-chain URI legs ───────────────────────────────────────────────────
66
+ // All-or-nothing as a group: a token whose renderers are set but whose animation field is not is
67
+ // the half-wired state this verb exists to finish, and the legs are all idempotent setters.
68
+ if (legs.uri.calls.length) {
69
+ const [tokenR, contractR] = await Promise.all([read.tokenURIRenderer(), read.contractURIRenderer()]);
70
+ const animationOk = legs.uri.animationField === null || (await read.contractFieldSet(legs.uri.animationField));
71
+ if (tokenR && contractR && animationOk) {
72
+ done.push('on-chain URI: renderers wired and the animation field is set');
73
+ }
74
+ else {
75
+ calls.push(...legs.uri.calls);
76
+ sending.uri = true;
77
+ todo.push('on-chain URI: wire the metadata renderers + the animation field');
78
+ }
79
+ }
80
+ return { calls, done, todo, sending };
81
+ }
82
+ /** Diff the intended 721 setup against what the contract already holds. */
83
+ export async function planResume(read, legs) {
84
+ const core = await planCoreLegs(read, legs);
85
+ const calls = core.calls;
86
+ const done = core.done;
87
+ const todo = core.todo;
88
+ const sending = { ...core.sending, mints: 0 };
89
+ // ── reserve mints ───────────────────────────────────────────────────────────
90
+ // A SHORTFALL, never a re-send: mint is the one non-idempotent leg, and a token cannot be un-minted.
91
+ if (legs.mints.intendedTotal > 0) {
92
+ const supply = await read.totalSupply();
93
+ const shortfall = Math.max(0, legs.mints.intendedTotal - supply);
94
+ if (shortfall === 0) {
95
+ done.push(`mints: ${supply} token(s) already minted (intended ${legs.mints.intendedTotal})`);
96
+ }
97
+ else {
98
+ for (let i = 0; i < shortfall; i++)
99
+ calls.push(legs.mints.data);
100
+ sending.mints = shortfall;
101
+ todo.push(`mints: mint ${shortfall} more token(s) — ${supply} of ${legs.mints.intendedTotal} exist`);
102
+ }
103
+ }
104
+ return { calls, done, todo, sending };
105
+ }
106
+ /**
107
+ * Diff the intended EditionCode setup against what the contract already holds. The non-mint legs are
108
+ * IDENTICAL diffing to {@link planResume} ({@link planCoreLegs}); the mint leg is a per-id shortfall
109
+ * against `totalSupply(id)` instead of a single shortfall against a whole-contract total, and each
110
+ * shortfall rides as ONE `mint(to, id, amount)` call (the amount argument does the work a 721 resume
111
+ * needs N repeated calls for).
112
+ */
113
+ export async function planEditionResume(read, legs) {
114
+ const core = await planCoreLegs(read, legs);
115
+ const calls = core.calls;
116
+ const done = core.done;
117
+ const todo = core.todo;
118
+ const sending = { ...core.sending, mints: 0 };
119
+ // ── reserve mints, per id ────────────────────────────────────────────────────
120
+ // Same shortfall principle as the 721 leg, one id finer: minting again would mint MORE copies of
121
+ // that id, and a copy cannot be un-minted. Every id is read and reported independently so a
122
+ // creator sees exactly which ids are short, not just an aggregate count.
123
+ if (legs.mints.length) {
124
+ const perIdTodo = [];
125
+ let short = 0;
126
+ let complete = 0;
127
+ for (const m of legs.mints) {
128
+ const supply = BigInt(await read.totalSupplyForId(m.id));
129
+ const shortfall = m.intendedAmount > supply ? m.intendedAmount - supply : 0n;
130
+ if (shortfall === 0n) {
131
+ complete++;
132
+ continue;
133
+ }
134
+ calls.push(m.dataForAmount(shortfall));
135
+ short++;
136
+ perIdTodo.push(`id ${m.id}: mint ${shortfall} more (${supply} of ${m.intendedAmount} exist)`);
137
+ }
138
+ sending.mints = short;
139
+ if (short === 0)
140
+ done.push(`mints: all ${legs.mints.length} premint id(s) already fully minted`);
141
+ else
142
+ todo.push(`mints: ${perIdTodo.join('; ')}`);
143
+ }
144
+ return { calls, done, todo, sending };
145
+ }
146
+ //# sourceMappingURL=resume.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artblocks/abx-sdk",
3
- "version": "0.1.0-alpha.38",
3
+ "version": "0.1.0-alpha.39",
4
4
  "license": "MIT",
5
5
  "description": "Typed SDK for ABX protocol reads, deployments, operations, reconstruction, and verification.",
6
6
  "type": "module",
@@ -49,7 +49,7 @@
49
49
  "access": "public"
50
50
  },
51
51
  "dependencies": {
52
- "viem": "^2.56.3"
52
+ "viem": "^2.56.5"
53
53
  },
54
54
  "devDependencies": {
55
55
  "esbuild": "^0.28.2"