@artblocks/abx-cli 0.1.0-alpha.61 → 0.1.0-alpha.63
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 +30 -0
- package/assets/renderer-scaffold/README.md +3 -2
- package/dist/capabilities.d.ts +15 -9
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +16 -9
- package/dist/capabilities.js.map +1 -1
- package/dist/commands/contract.d.ts +19 -0
- package/dist/commands/contract.d.ts.map +1 -0
- package/dist/commands/contract.js +171 -0
- package/dist/commands/contract.js.map +1 -0
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +104 -12
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/scaffold.js +1 -1
- package/dist/commands/scaffold.js.map +1 -1
- package/dist/creator-signer.d.ts +14 -0
- package/dist/creator-signer.d.ts.map +1 -1
- package/dist/creator-signer.js +31 -10
- package/dist/creator-signer.js.map +1 -1
- package/dist/flag-allowlists.d.ts.map +1 -1
- package/dist/flag-allowlists.js +1 -0
- package/dist/flag-allowlists.js.map +1 -1
- package/dist/main.js +20 -3
- package/dist/main.js.map +1 -1
- package/dist/riskgate.d.ts.map +1 -1
- package/dist/riskgate.js +35 -18
- package/dist/riskgate.js.map +1 -1
- package/dist/signer.d.ts +2 -0
- package/dist/signer.d.ts.map +1 -1
- package/dist/signer.js +9 -4
- package/dist/signer.js.map +1 -1
- package/package.json +6 -6
- package/skill/SKILL.md +11 -6
- package/skill/reference/capabilities.md +7 -5
- package/skill/reference/code.md +5 -3
- package/skill/reference/deploy.md +3 -3
- package/skill/reference/services.md +7 -5
- package/skill/reference/setup.md +2 -2
package/skill/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ description: >-
|
|
|
9
9
|
change an ABX collection, or to determine whether ABX supports a mechanic.
|
|
10
10
|
compatibility: Drives @artblocks/abx-cli on Node 22.13+. Co-versioned with the CLI; install or refresh with `abx skill install`.
|
|
11
11
|
metadata:
|
|
12
|
-
version: "0.1.0-alpha.
|
|
12
|
+
version: "0.1.0-alpha.63"
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
# ABX
|
|
@@ -122,9 +122,13 @@ Important boundaries:
|
|
|
122
122
|
renderers, `--image-base` (a deterministic per-id off-chain still, mutually exclusive with
|
|
123
123
|
`--image-renderer`), and `--resume` (a per-id mint diff — pass the same content flags plus
|
|
124
124
|
`--mint-amount` if the original deploy premint ids).
|
|
125
|
-
- `--onchain-image` works for static 721s and editions in hot or
|
|
126
|
-
prepared as one cold `--unsigned` bundle because staged transactions depend on prior receipts
|
|
127
|
-
|
|
125
|
+
- `--onchain-image` works for static 721s and editions in hot, wallet, or sponsored lanes. It cannot
|
|
126
|
+
be prepared as one cold `--unsigned` bundle because staged transactions depend on prior receipts.
|
|
127
|
+
- Deploy tested custom hooks/renderers from exact compiled initcode with `abx deploy-contract`.
|
|
128
|
+
ABX sends the bytes; it does not compile, link, audit, or infer constructor types. Test on the
|
|
129
|
+
paired testnet and source-verify before wiring a production address. Under `--sponsor`, the
|
|
130
|
+
keyless CREATE2 proxy is the constructor caller, so pass ownership explicitly instead of relying
|
|
131
|
+
on `msg.sender` in the constructor.
|
|
128
132
|
- A code project may need no public host when its image/traits are computed by Solidity renderers.
|
|
129
133
|
A JavaScript program still needs a deliberate marketplace-image plan even when its animation is
|
|
130
134
|
chain-complete.
|
|
@@ -180,8 +184,9 @@ Classify an unusual request as exactly one of:
|
|
|
180
184
|
4. **Unknown** — no route has been proven. Inspect code/help/contracts and report uncertainty; do not
|
|
181
185
|
turn absence from a no-list into a promise.
|
|
182
186
|
|
|
183
|
-
Custom Solidity is built and
|
|
184
|
-
starting point
|
|
187
|
+
Custom Solidity is built and tested outside `abx`; `abx scaffold-renderer` supplies a Foundry
|
|
188
|
+
starting point, and `abx deploy-contract` can send its exact compiled initcode through any signing
|
|
189
|
+
lane. Read [capabilities.md](reference/capabilities.md) before designing a custom mechanic.
|
|
185
190
|
|
|
186
191
|
## Load only the reference needed
|
|
187
192
|
|
|
@@ -64,8 +64,11 @@ A custom mechanic normally lives beside a canonical token rather than replacing
|
|
|
64
64
|
One external contract may implement several hook/minter roles. Test it against a real deployed clone,
|
|
65
65
|
not a mock that approximates ABX callbacks.
|
|
66
66
|
|
|
67
|
-
ABX scaffolds a Foundry renderer project but does not compile or
|
|
68
|
-
|
|
67
|
+
ABX scaffolds a Foundry renderer project but does not compile, link, or audit custom Solidity.
|
|
68
|
+
`abx deploy-contract` can send exact compiled creation bytecode through any signing lane. The
|
|
69
|
+
sponsored lane calls the keyless CREATE2 proxy, so the constructor caller is that proxy; use explicit
|
|
70
|
+
constructor arguments for ownership. Hot, wallet, and unsigned lanes retain direct CREATE. The
|
|
71
|
+
creator or their contract engineer owns code review, verification, upgrade policy, and audits.
|
|
69
72
|
|
|
70
73
|
### Custom minter
|
|
71
74
|
|
|
@@ -167,8 +170,7 @@ The toolkit currently does not provide:
|
|
|
167
170
|
|
|
168
171
|
- operation on a chain whose capability entry is `disabled`;
|
|
169
172
|
- a secondary-market listing/order-book feature;
|
|
170
|
-
- Solidity compilation
|
|
171
|
-
- CLI replacement of a deployed code project's script;
|
|
173
|
+
- Solidity compilation through `abx`;
|
|
172
174
|
- retrofitting a deploy-time contract type, burnability, token standard, or creator-token enrollment.
|
|
173
175
|
|
|
174
176
|
Do not recommend another protocol automatically when one of these applies. State the boundary and
|
|
@@ -176,7 +178,7 @@ stop unless the creator asks for alternatives.
|
|
|
176
178
|
|
|
177
179
|
Also distinguish unsupported tooling from possible external engineering. For example, ABX does not
|
|
178
180
|
compile a custom hook, but a hook is an intentional supported seam once independently built and
|
|
179
|
-
deployed. Conversely, “arbitrary Solidity exists” is not proof that every behavior is safe or
|
|
181
|
+
deployed (including from exact initcode via `abx deploy-contract`). Conversely, “arbitrary Solidity exists” is not proof that every behavior is safe or
|
|
180
182
|
compatible: analyze callback timing, authority, reverts, reentrancy, shared edition state, gas, and
|
|
181
183
|
upgradeability.
|
|
182
184
|
|
package/skill/reference/code.md
CHANGED
|
@@ -146,9 +146,11 @@ exclusive on both lanes.
|
|
|
146
146
|
metadata renderer calls them on-chain. A renderer-only project needs no JavaScript program and no
|
|
147
147
|
effects runner.
|
|
148
148
|
|
|
149
|
-
Start with `abx scaffold-renderer`, then build
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
Start with `abx scaffold-renderer`, then build and test the Solidity project using Foundry. Deploy
|
|
150
|
+
with Foundry or send the exact compiled initcode through `abx deploy-contract`; ABX does not compile,
|
|
151
|
+
link, audit, or infer constructor types. With `--sponsor`, use explicit constructor arguments for
|
|
152
|
+
ownership because the keyless CREATE2 proxy—not the creator wallet—is the constructor caller. A real
|
|
153
|
+
collection deploy refuses a renderer address with no code.
|
|
152
154
|
|
|
153
155
|
Enforce these invariants in renderer tests:
|
|
154
156
|
|
|
@@ -38,7 +38,7 @@ Treat custody, resolution, and mutability as separate decisions.
|
|
|
38
38
|
|
|
39
39
|
Use `--onchain-image [--compress fastlz]` for static media bytes behind the on-chain metadata
|
|
40
40
|
renderer. It implies on-chain resolution and requires no host or storage provider. It works for 721
|
|
41
|
-
static projects and their editions in hot or
|
|
41
|
+
static projects and their editions in hot, wallet, or sponsored lanes. It stages bytes before deployment, so the
|
|
42
42
|
plan has at least two transactions (more when content needs multiple chunks). Cold `--unsigned`
|
|
43
43
|
staging is refused.
|
|
44
44
|
|
|
@@ -149,8 +149,8 @@ a substitute for confirming the actual sale configuration.
|
|
|
149
149
|
For any edition, say “N ids × M copies per id” and the maximum aggregate supply before spending.
|
|
150
150
|
|
|
151
151
|
Static edition custody is symmetric with the 721 lanes: on-chain bytes, on-chain JSON with external
|
|
152
|
-
media, inline SVG, and hosted resolution are available. `--onchain-image` uses hot
|
|
153
|
-
not cold unsigned staging.
|
|
152
|
+
media, inline SVG, and hosted resolution are available. `--onchain-image` uses hot, wallet, or
|
|
153
|
+
sponsored signing, not cold unsigned staging.
|
|
154
154
|
|
|
155
155
|
Do not import code-edition limits into static editions or vice versa. Use the capability output.
|
|
156
156
|
|
|
@@ -100,11 +100,13 @@ production-network warning before confirmation. Before using it:
|
|
|
100
100
|
and beta status;
|
|
101
101
|
5. after approval, repeat with `--sponsor`.
|
|
102
102
|
|
|
103
|
-
The
|
|
104
|
-
policy. ABX does not impose an additional per-transaction gas ceiling.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
The lane accepts zero-value calls and receipt-dependent staged content groups up to the live network
|
|
104
|
+
and provider policy. ABX does not impose an additional per-transaction gas ceiling. Use
|
|
105
|
+
`abx deploy-contract` for exact already-compiled creation bytecode; its sponsored path calls the
|
|
106
|
+
keyless CREATE2 proxy because provider-backed raw creation is unsupported. The constructor therefore
|
|
107
|
+
sees the proxy as `msg.sender`; use explicit constructor arguments for ownership. ABX does not
|
|
108
|
+
compile or audit it. Never add retries around a sponsored write. An `unknown` outcome means the
|
|
109
|
+
provider may have submitted it: preserve the operation ID and reconcile status before any new send.
|
|
108
110
|
|
|
109
111
|
Sponsorship is optional service policy, not protocol support. `--send`, `--sign`, and `--unsigned`
|
|
110
112
|
remain first-class bring-your-own alternatives. Honor an explicit choice of any of them. If the
|
package/skill/reference/setup.md
CHANGED
|
@@ -124,8 +124,8 @@ human the locally generated signing page; never request or handle their key. On
|
|
|
124
124
|
chain, sender, target, calldata, value, and ordering before handing transactions over.
|
|
125
125
|
|
|
126
126
|
`--onchain-image` staging cannot use the cold lane because each chunk transaction depends on the
|
|
127
|
-
receipt of the preceding transaction. Use hot or
|
|
128
|
-
offline sequence.
|
|
127
|
+
receipt of the preceding transaction. Use hot, wallet, or sponsored signing. Do not split staging
|
|
128
|
+
into a homemade offline sequence.
|
|
129
129
|
|
|
130
130
|
`ABX_DEPLOYER_PK` may be written with or without a `0x` prefix — the CLI and SDK normalize it. Foundry's
|
|
131
131
|
`vm.envUint` does not: a custom forge script that reads the same `.env` needs the `0x` form.
|