@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 +8 -0
- package/dist/chain-support.json +2 -2
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +9 -0
- package/dist/deployments.js.map +1 -1
- package/dist/resume.js +146 -0
- package/package.json +2 -2
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
|
package/dist/chain-support.json
CHANGED
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"name": "Robinhood Chain Testnet",
|
|
27
27
|
"environment": "testnet",
|
|
28
28
|
"pairedChain": "robinhood",
|
|
29
|
-
"contractStatus": "
|
|
30
|
-
"supportLevel": "
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAGlC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAK/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAgFD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"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"}
|
package/dist/deployments.js
CHANGED
|
@@ -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,
|
package/dist/deployments.js.map
CHANGED
|
@@ -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.
|
|
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.
|
|
52
|
+
"viem": "^2.56.5"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"esbuild": "^0.28.2"
|