@artblocks/abx-cli 0.1.0-alpha.60 → 0.1.0-alpha.62
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 +23 -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 +8 -0
- package/dist/commands/contract.d.ts.map +1 -0
- package/dist/commands/contract.js +114 -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 +7 -0
- package/dist/creator-signer.d.ts.map +1 -1
- package/dist/creator-signer.js +23 -12
- 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 +18 -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 +9 -6
- package/skill/reference/capabilities.md +5 -5
- package/skill/reference/code.md +3 -2
- package/skill/reference/deploy.md +3 -3
- package/skill/reference/services.md +6 -4
- 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.62"
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
# ABX
|
|
@@ -122,9 +122,11 @@ 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.
|
|
128
130
|
- A code project may need no public host when its image/traits are computed by Solidity renderers.
|
|
129
131
|
A JavaScript program still needs a deliberate marketplace-image plan even when its animation is
|
|
130
132
|
chain-complete.
|
|
@@ -180,8 +182,9 @@ Classify an unusual request as exactly one of:
|
|
|
180
182
|
4. **Unknown** — no route has been proven. Inspect code/help/contracts and report uncertainty; do not
|
|
181
183
|
turn absence from a no-list into a promise.
|
|
182
184
|
|
|
183
|
-
Custom Solidity is built and
|
|
184
|
-
starting point
|
|
185
|
+
Custom Solidity is built and tested outside `abx`; `abx scaffold-renderer` supplies a Foundry
|
|
186
|
+
starting point, and `abx deploy-contract` can send its exact compiled initcode through any signing
|
|
187
|
+
lane. Read [capabilities.md](reference/capabilities.md) before designing a custom mechanic.
|
|
185
188
|
|
|
186
189
|
## Load only the reference needed
|
|
187
190
|
|
|
@@ -64,8 +64,9 @@ 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 creator
|
|
69
|
+
or their contract engineer owns code review, verification, upgrade policy, and audits.
|
|
69
70
|
|
|
70
71
|
### Custom minter
|
|
71
72
|
|
|
@@ -167,8 +168,7 @@ The toolkit currently does not provide:
|
|
|
167
168
|
|
|
168
169
|
- operation on a chain whose capability entry is `disabled`;
|
|
169
170
|
- a secondary-market listing/order-book feature;
|
|
170
|
-
- Solidity compilation
|
|
171
|
-
- CLI replacement of a deployed code project's script;
|
|
171
|
+
- Solidity compilation through `abx`;
|
|
172
172
|
- retrofitting a deploy-time contract type, burnability, token standard, or creator-token enrollment.
|
|
173
173
|
|
|
174
174
|
Do not recommend another protocol automatically when one of these applies. State the boundary and
|
|
@@ -176,7 +176,7 @@ stop unless the creator asks for alternatives.
|
|
|
176
176
|
|
|
177
177
|
Also distinguish unsupported tooling from possible external engineering. For example, ABX does not
|
|
178
178
|
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
|
|
179
|
+
deployed (including from exact initcode via `abx deploy-contract`). Conversely, “arbitrary Solidity exists” is not proof that every behavior is safe or
|
|
180
180
|
compatible: analyze callback timing, authority, reverts, reentrancy, shared edition state, gas, and
|
|
181
181
|
upgradeability.
|
|
182
182
|
|
package/skill/reference/code.md
CHANGED
|
@@ -146,8 +146,9 @@ 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
|
-
|
|
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. A real collection deploy refuses a renderer address with no
|
|
151
152
|
code.
|
|
152
153
|
|
|
153
154
|
Enforce these invariants in renderer tests:
|
|
@@ -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,10 +100,12 @@ 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
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
The lane accepts zero-value factory calls, direct contract creation, and receipt-dependent staged
|
|
104
|
+
content groups up to the live network and provider policy. ABX does not impose an additional
|
|
105
|
+
per-transaction gas ceiling. Use `abx deploy-contract` for exact already-compiled creation bytecode;
|
|
106
|
+
ABX does not compile or audit it. Never add retries around a sponsored write. An `unknown` outcome
|
|
107
|
+
means the provider may have submitted it: preserve the operation ID and reconcile status before any
|
|
108
|
+
new send.
|
|
107
109
|
|
|
108
110
|
Sponsorship is optional service policy, not protocol support. `--send`, `--sign`, and `--unsigned`
|
|
109
111
|
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.
|