@artblocks/abx-cli 0.1.0-alpha.4 → 0.1.0-alpha.41

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 (189) hide show
  1. package/CHANGELOG.md +161 -0
  2. package/assets/renderer-scaffold/README.md +41 -11
  3. package/assets/renderer-scaffold/foundry.toml +5 -0
  4. package/assets/renderer-scaffold/remappings.txt +1 -1
  5. package/assets/renderer-scaffold/script/DeployHooks.s.sol +24 -0
  6. package/assets/renderer-scaffold/script/Preview.s.sol +99 -0
  7. package/assets/renderer-scaffold/src/MyHooks.sol +20 -0
  8. package/assets/renderer-scaffold/src/MyRenderer.sol +4 -4
  9. package/assets/renderer-scaffold/src/MyTraits.sol +2 -2
  10. package/assets/renderer-scaffold/test/MyRenderer.t.sol +60 -3
  11. package/dist/bin.d.ts +26 -0
  12. package/dist/bin.d.ts.map +1 -0
  13. package/dist/bin.js +63 -0
  14. package/dist/bin.js.map +1 -0
  15. package/dist/capabilities.d.ts +99 -0
  16. package/dist/capabilities.d.ts.map +1 -0
  17. package/dist/capabilities.js +144 -0
  18. package/dist/capabilities.js.map +1 -0
  19. package/dist/commands/auth.d.ts +54 -0
  20. package/dist/commands/auth.d.ts.map +1 -0
  21. package/dist/commands/auth.js +447 -0
  22. package/dist/commands/auth.js.map +1 -0
  23. package/dist/commands/deploy.d.ts +242 -0
  24. package/dist/commands/deploy.d.ts.map +1 -0
  25. package/dist/commands/deploy.js +5429 -0
  26. package/dist/commands/deploy.js.map +1 -0
  27. package/dist/commands/feedback.d.ts +7 -0
  28. package/dist/commands/feedback.d.ts.map +1 -0
  29. package/dist/commands/feedback.js +147 -0
  30. package/dist/commands/feedback.js.map +1 -0
  31. package/dist/commands/maintenance.d.ts +4 -0
  32. package/dist/commands/maintenance.d.ts.map +1 -0
  33. package/dist/commands/maintenance.js +114 -0
  34. package/dist/commands/maintenance.js.map +1 -0
  35. package/dist/commands/project.d.ts +429 -0
  36. package/dist/commands/project.d.ts.map +1 -0
  37. package/dist/commands/project.js +1720 -0
  38. package/dist/commands/project.js.map +1 -0
  39. package/dist/commands/reads.d.ts +85 -0
  40. package/dist/commands/reads.d.ts.map +1 -0
  41. package/dist/commands/reads.js +868 -0
  42. package/dist/commands/reads.js.map +1 -0
  43. package/dist/commands/scaffold.d.ts +89 -0
  44. package/dist/commands/scaffold.d.ts.map +1 -0
  45. package/dist/commands/scaffold.js +738 -0
  46. package/dist/commands/scaffold.js.map +1 -0
  47. package/dist/commands/service.d.ts +67 -0
  48. package/dist/commands/service.d.ts.map +1 -0
  49. package/dist/commands/service.js +748 -0
  50. package/dist/commands/service.js.map +1 -0
  51. package/dist/commands/storage.d.ts +51 -0
  52. package/dist/commands/storage.d.ts.map +1 -0
  53. package/dist/commands/storage.js +399 -0
  54. package/dist/commands/storage.js.map +1 -0
  55. package/dist/commands/submit-app.d.ts +102 -0
  56. package/dist/commands/submit-app.d.ts.map +1 -0
  57. package/dist/commands/submit-app.js +622 -0
  58. package/dist/commands/submit-app.js.map +1 -0
  59. package/dist/config.d.ts +105 -2
  60. package/dist/config.d.ts.map +1 -1
  61. package/dist/config.js +351 -12
  62. package/dist/config.js.map +1 -1
  63. package/dist/conformance.d.ts +31 -0
  64. package/dist/conformance.d.ts.map +1 -0
  65. package/dist/conformance.js +390 -0
  66. package/dist/conformance.js.map +1 -0
  67. package/dist/contract-read-error.d.ts +5 -0
  68. package/dist/contract-read-error.d.ts.map +1 -0
  69. package/dist/contract-read-error.js +37 -0
  70. package/dist/contract-read-error.js.map +1 -0
  71. package/dist/deploy-plan.d.ts +150 -0
  72. package/dist/deploy-plan.d.ts.map +1 -0
  73. package/dist/deploy-plan.js +31 -0
  74. package/dist/deploy-plan.js.map +1 -0
  75. package/dist/deps.d.ts +6 -39
  76. package/dist/deps.d.ts.map +1 -1
  77. package/dist/deps.js +4 -68
  78. package/dist/deps.js.map +1 -1
  79. package/dist/errors.d.ts +20 -0
  80. package/dist/errors.d.ts.map +1 -0
  81. package/dist/errors.js +25 -0
  82. package/dist/errors.js.map +1 -0
  83. package/dist/flag-allowlists.d.ts +53 -0
  84. package/dist/flag-allowlists.d.ts.map +1 -0
  85. package/dist/flag-allowlists.js +184 -0
  86. package/dist/flag-allowlists.js.map +1 -0
  87. package/dist/flags.d.ts +47 -0
  88. package/dist/flags.d.ts.map +1 -1
  89. package/dist/flags.js +125 -1
  90. package/dist/flags.js.map +1 -1
  91. package/dist/jsonout.d.ts +37 -0
  92. package/dist/jsonout.d.ts.map +1 -0
  93. package/dist/jsonout.js +79 -0
  94. package/dist/jsonout.js.map +1 -0
  95. package/dist/kind.d.ts +57 -0
  96. package/dist/kind.d.ts.map +1 -0
  97. package/dist/kind.js +122 -0
  98. package/dist/kind.js.map +1 -0
  99. package/dist/main.js +786 -4838
  100. package/dist/main.js.map +1 -1
  101. package/dist/mintpage.d.ts +17 -2
  102. package/dist/mintpage.d.ts.map +1 -1
  103. package/dist/mintpage.js +241 -54
  104. package/dist/mintpage.js.map +1 -1
  105. package/dist/output.d.ts +179 -0
  106. package/dist/output.d.ts.map +1 -0
  107. package/dist/output.js +780 -0
  108. package/dist/output.js.map +1 -0
  109. package/dist/ownerops.d.ts +381 -57
  110. package/dist/ownerops.d.ts.map +1 -1
  111. package/dist/ownerops.js +2014 -359
  112. package/dist/ownerops.js.map +1 -1
  113. package/dist/preview.d.ts +23 -5
  114. package/dist/preview.d.ts.map +1 -1
  115. package/dist/preview.js +95 -43
  116. package/dist/preview.js.map +1 -1
  117. package/dist/prompt.d.ts +17 -0
  118. package/dist/prompt.d.ts.map +1 -0
  119. package/dist/prompt.js +19 -0
  120. package/dist/prompt.js.map +1 -0
  121. package/dist/provision.d.ts +3 -13
  122. package/dist/provision.d.ts.map +1 -1
  123. package/dist/provision.js +19 -21
  124. package/dist/provision.js.map +1 -1
  125. package/dist/remote.d.ts +157 -52
  126. package/dist/remote.d.ts.map +1 -1
  127. package/dist/remote.js +435 -46
  128. package/dist/remote.js.map +1 -1
  129. package/dist/riskgate.d.ts +62 -0
  130. package/dist/riskgate.d.ts.map +1 -0
  131. package/dist/riskgate.js +234 -0
  132. package/dist/riskgate.js.map +1 -0
  133. package/dist/scaffold.d.ts +12 -0
  134. package/dist/scaffold.d.ts.map +1 -0
  135. package/dist/scaffold.js +56 -0
  136. package/dist/scaffold.js.map +1 -0
  137. package/dist/schema.d.ts +36 -1
  138. package/dist/schema.d.ts.map +1 -1
  139. package/dist/schema.js +121 -26
  140. package/dist/schema.js.map +1 -1
  141. package/dist/script-chunks.d.ts +8 -0
  142. package/dist/script-chunks.d.ts.map +1 -0
  143. package/dist/script-chunks.js +35 -0
  144. package/dist/script-chunks.js.map +1 -0
  145. package/dist/served.d.ts +30 -0
  146. package/dist/served.d.ts.map +1 -0
  147. package/dist/served.js +112 -0
  148. package/dist/served.js.map +1 -0
  149. package/dist/signer.d.ts +13 -0
  150. package/dist/signer.d.ts.map +1 -1
  151. package/dist/signer.js +84 -15
  152. package/dist/signer.js.map +1 -1
  153. package/dist/update-check.d.ts +86 -5
  154. package/dist/update-check.d.ts.map +1 -1
  155. package/dist/update-check.js +161 -20
  156. package/dist/update-check.js.map +1 -1
  157. package/package.json +13 -12
  158. package/skill/SKILL.md +181 -347
  159. package/skill/agents/openai.yaml +4 -0
  160. package/skill/reference/capabilities.md +188 -0
  161. package/skill/reference/code.md +220 -0
  162. package/skill/reference/creator-token.md +94 -0
  163. package/skill/reference/deploy.md +174 -0
  164. package/skill/reference/diagnose.md +178 -0
  165. package/skill/reference/hosting.md +186 -93
  166. package/skill/reference/operate.md +220 -0
  167. package/skill/reference/services.md +121 -0
  168. package/skill/reference/setup.md +154 -36
  169. package/assets/renderer-scaffold/src/interfaces/IAbxFieldRenderer.sol +0 -32
  170. package/assets/renderer-scaffold/src/interfaces/IAbxParams.sol +0 -26
  171. package/dist/inspect.d.ts +0 -48
  172. package/dist/inspect.d.ts.map +0 -1
  173. package/dist/inspect.js +0 -184
  174. package/dist/inspect.js.map +0 -1
  175. package/dist/migrate.d.ts +0 -65
  176. package/dist/migrate.d.ts.map +0 -1
  177. package/dist/migrate.js +0 -180
  178. package/dist/migrate.js.map +0 -1
  179. package/dist/onchain-uri.d.ts +0 -97
  180. package/dist/onchain-uri.d.ts.map +0 -1
  181. package/dist/onchain-uri.js +0 -243
  182. package/dist/onchain-uri.js.map +0 -1
  183. package/dist/upload.d.ts +0 -28
  184. package/dist/upload.d.ts.map +0 -1
  185. package/dist/upload.js +0 -41
  186. package/dist/upload.js.map +0 -1
  187. package/skill/reference/code-projects.md +0 -246
  188. package/skill/reference/operating.md +0 -116
  189. package/skill/reference/troubleshooting.md +0 -28
@@ -0,0 +1,429 @@
1
+ import { type Address, type PublicClient, type MetadataField } from '@artblocks/abx-sdk';
2
+ import { type Flags } from '../flags.js';
3
+ import { type RemoteTarget } from '../remote.js';
4
+ export declare function cmdPredict(flags: Flags): Promise<void>;
5
+ export declare function cmdAdd(address: Address | undefined, flags: Flags): Promise<void>;
6
+ export declare function cmdIndex(address: Address | undefined, flags: Flags): Promise<void>;
7
+ export declare function cmdVerify(address: Address | undefined, flags: Flags): Promise<void>;
8
+ export type AvailabilityStatus = 'available' | 'partial' | 'unavailable' | 'unknown';
9
+ export interface AvailabilityVerdict {
10
+ status: AvailabilityStatus;
11
+ note: string;
12
+ }
13
+ /**
14
+ * Pure by design — every caller (`cmdVerifyBody`'s local lane and `cmdVerifyRemote`'s hosted lane)
15
+ * feeds it facts it already gathered rather than each re-deriving its own verdict, so the two
16
+ * lanes' JSON payloads read the same word for the same situation.
17
+ *
18
+ * `isCode` selects which signal decides the verdict: a code project's render presence
19
+ * (`minted`/`present`), or — for everything else — whether a byte-check actually ran
20
+ * (`anyCheck`) versus a locator this run could not independently re-hash (`unrecomputablePointers`).
21
+ * The two signals are never combined into one number on purpose: "3 of 5 renders present" and "2
22
+ * locator commitments unconfirmed" are different facts about different projects, and mixing them
23
+ * would produce a verdict that answers neither question honestly.
24
+ */
25
+ export declare function computeAvailability(opts: {
26
+ isCode: boolean;
27
+ minted: number;
28
+ present: number;
29
+ anyCheck: boolean;
30
+ unrecomputablePointers: number;
31
+ }): AvailabilityVerdict;
32
+ /**
33
+ * Does this token's `image` field carry a locator commitment `verifyProject` never produced a
34
+ * check for? Exported and pure (a plain `fields` array in, a verdict out — no chain, no indexer)
35
+ * so #112's three-way distinction is unit-testable directly, rather than only reachable through a
36
+ * full `cmdVerifyBody` run against real chain state.
37
+ *
38
+ * Returns the representation name to report (`ipfs`/`arweave`/`url`/`url-template`) when the image
39
+ * field is a bare locator, else `null` — including when there's no `image` field at all, which is
40
+ * "no commitment", a different fact from "an unrecomputable one".
41
+ */
42
+ export declare function pointerOnlyImageCheck(fields: MetadataField[]): string | null;
43
+ export declare function cmdVerifyBody(address: Address, flags: Flags, emit: (p: Record<string, unknown>) => void): Promise<void>;
44
+ export declare function cmdVerifyRemote(address: Address, remote: RemoteTarget, emit: (p: Record<string, unknown>) => void): Promise<void>;
45
+ /** What {@link reportRemoteByteIntegrity} found, structured for the JSON payload as well as its own
46
+ * prose. `status` deliberately has a 4th value the local lane's `contentIntegrity` doesn't need:
47
+ * `'not-checked'` — no credential, a rejected token, an older node with no `/verify` route, or an
48
+ * unreachable endpoint. That is a DIFFERENT fact from `'no-commitments'` (the route answered and
49
+ * said there's nothing to check) and must never collapse into it — "we didn't ask" and "we asked
50
+ * and there was nothing" are different reasons for the same empty result. */
51
+ export interface RemoteByteIntegrity {
52
+ status: 'ok' | 'mismatch' | 'no-commitments' | 'not-checked';
53
+ checks: Array<{
54
+ tokenId: string;
55
+ kind: string;
56
+ verified: boolean;
57
+ }>;
58
+ }
59
+ /**
60
+ * The half `abx verify --remote` was missing: do the served BYTES still hash to the on-chain
61
+ * commitment? Everything above it checks renders (is a thumbnail current, is it a placeholder) — a
62
+ * different question, and a green ✓ there was reading as "the image is correct" when the bytes could
63
+ * genuinely mismatch.
64
+ *
65
+ * The service is the right place to answer it: it holds both the bytes and the chain, and it already
66
+ * exposes exactly this check (`GET /api/project/:addr/verify`, bearer-gated because it triggers
67
+ * outbound fetches). When we can't reach that — no credential, or an older node — say plainly that
68
+ * byte integrity was NOT checked rather than leaving the ✓ above to imply it was.
69
+ */
70
+ export declare function reportRemoteByteIntegrity(address: Address, remote: RemoteTarget, base: string): Promise<RemoteByteIntegrity>;
71
+ export declare const STATE_ABI: readonly [{
72
+ readonly type: "function";
73
+ readonly name: "owner";
74
+ readonly stateMutability: "view";
75
+ readonly inputs: readonly [];
76
+ readonly outputs: readonly [{
77
+ readonly type: "address";
78
+ }];
79
+ }, {
80
+ readonly type: "function";
81
+ readonly name: "totalSupply";
82
+ readonly stateMutability: "view";
83
+ readonly inputs: readonly [];
84
+ readonly outputs: readonly [{
85
+ readonly type: "uint256";
86
+ }];
87
+ }, {
88
+ readonly type: "function";
89
+ readonly name: "nextTokenId";
90
+ readonly stateMutability: "view";
91
+ readonly inputs: readonly [];
92
+ readonly outputs: readonly [{
93
+ readonly type: "uint256";
94
+ }];
95
+ }, {
96
+ readonly type: "function";
97
+ readonly name: "maxInvocations";
98
+ readonly stateMutability: "view";
99
+ readonly inputs: readonly [];
100
+ readonly outputs: readonly [{
101
+ readonly type: "uint256";
102
+ }];
103
+ }, {
104
+ readonly type: "function";
105
+ readonly name: "paused";
106
+ readonly stateMutability: "view";
107
+ readonly inputs: readonly [];
108
+ readonly outputs: readonly [{
109
+ readonly type: "bool";
110
+ }];
111
+ }, {
112
+ readonly type: "function";
113
+ readonly name: "minter";
114
+ readonly stateMutability: "view";
115
+ readonly inputs: readonly [];
116
+ readonly outputs: readonly [{
117
+ readonly type: "address";
118
+ }];
119
+ }, {
120
+ readonly type: "function";
121
+ readonly name: "primaryPayee";
122
+ readonly stateMutability: "view";
123
+ readonly inputs: readonly [];
124
+ readonly outputs: readonly [{
125
+ readonly type: "address";
126
+ }];
127
+ }, {
128
+ readonly type: "function";
129
+ readonly name: "tokenURIRenderer";
130
+ readonly stateMutability: "view";
131
+ readonly inputs: readonly [];
132
+ readonly outputs: readonly [{
133
+ readonly type: "address";
134
+ }];
135
+ }, {
136
+ readonly type: "function";
137
+ readonly name: "royaltyInfo";
138
+ readonly stateMutability: "view";
139
+ readonly inputs: readonly [{
140
+ readonly type: "uint256";
141
+ }, {
142
+ readonly type: "uint256";
143
+ }];
144
+ readonly outputs: readonly [{
145
+ readonly type: "address";
146
+ }, {
147
+ readonly type: "uint256";
148
+ }];
149
+ }, {
150
+ readonly type: "function";
151
+ readonly name: "supportsInterface";
152
+ readonly stateMutability: "view";
153
+ readonly inputs: readonly [{
154
+ readonly type: "bytes4";
155
+ }];
156
+ readonly outputs: readonly [{
157
+ readonly type: "bool";
158
+ }];
159
+ }, {
160
+ readonly type: "function";
161
+ readonly name: "getTransferValidator";
162
+ readonly stateMutability: "view";
163
+ readonly inputs: readonly [];
164
+ readonly outputs: readonly [{
165
+ readonly type: "address";
166
+ }];
167
+ }, {
168
+ readonly type: "function";
169
+ readonly name: "seedSource";
170
+ readonly stateMutability: "view";
171
+ readonly inputs: readonly [];
172
+ readonly outputs: readonly [{
173
+ readonly type: "address";
174
+ }];
175
+ }, {
176
+ readonly type: "function";
177
+ readonly name: "tokenURILocked";
178
+ readonly stateMutability: "view";
179
+ readonly inputs: readonly [];
180
+ readonly outputs: readonly [{
181
+ readonly type: "bool";
182
+ }];
183
+ }, {
184
+ readonly type: "function";
185
+ readonly name: "contractURILocked";
186
+ readonly stateMutability: "view";
187
+ readonly inputs: readonly [];
188
+ readonly outputs: readonly [{
189
+ readonly type: "bool";
190
+ }];
191
+ }, {
192
+ readonly type: "function";
193
+ readonly name: "scriptLocked";
194
+ readonly stateMutability: "view";
195
+ readonly inputs: readonly [];
196
+ readonly outputs: readonly [{
197
+ readonly type: "bool";
198
+ }];
199
+ }, {
200
+ readonly type: "function";
201
+ readonly name: "dependenciesLocked";
202
+ readonly stateMutability: "view";
203
+ readonly inputs: readonly [];
204
+ readonly outputs: readonly [{
205
+ readonly type: "bool";
206
+ }];
207
+ }, {
208
+ readonly type: "function";
209
+ readonly name: "contractFieldLocked";
210
+ readonly stateMutability: "view";
211
+ readonly inputs: readonly [{
212
+ readonly type: "bytes32";
213
+ }];
214
+ readonly outputs: readonly [{
215
+ readonly type: "bool";
216
+ }];
217
+ }];
218
+ /** The edition twin of {@link STATE_ABI} — `owner`/`maxInvocations`/`paused`/`minter`/
219
+ * `primaryPayee`/`tokenURIRenderer`/`royaltyInfo` are shared, unchanged, function names (see
220
+ * `kind.ts`'s own note on why); `totalSupply`/`maxSupply` take an id. The creator-token probe is
221
+ * ALSO shared, unchanged: Limit Break uses the identical `ICreatorToken` ERC-165 id (0xad0d7f6c)
222
+ * and `getTransferValidator()` surface for 721C and 1155C, and `CreatorToken1155` advertises them
223
+ * the same way when enrolled — so an enrolled edition reports its validator exactly like a 721. */
224
+ export declare const EDITION_STATE_ABI: readonly [{
225
+ readonly type: "function";
226
+ readonly name: "owner";
227
+ readonly stateMutability: "view";
228
+ readonly inputs: readonly [];
229
+ readonly outputs: readonly [{
230
+ readonly type: "address";
231
+ }];
232
+ }, {
233
+ readonly type: "function";
234
+ readonly name: "maxInvocations";
235
+ readonly stateMutability: "view";
236
+ readonly inputs: readonly [];
237
+ readonly outputs: readonly [{
238
+ readonly type: "uint256";
239
+ }];
240
+ }, {
241
+ readonly type: "function";
242
+ readonly name: "totalSupply";
243
+ readonly stateMutability: "view";
244
+ readonly inputs: readonly [{
245
+ readonly type: "uint256";
246
+ }];
247
+ readonly outputs: readonly [{
248
+ readonly type: "uint256";
249
+ }];
250
+ }, {
251
+ readonly type: "function";
252
+ readonly name: "maxSupply";
253
+ readonly stateMutability: "view";
254
+ readonly inputs: readonly [{
255
+ readonly type: "uint256";
256
+ }];
257
+ readonly outputs: readonly [{
258
+ readonly type: "uint256";
259
+ }];
260
+ }, {
261
+ readonly type: "function";
262
+ readonly name: "paused";
263
+ readonly stateMutability: "view";
264
+ readonly inputs: readonly [];
265
+ readonly outputs: readonly [{
266
+ readonly type: "bool";
267
+ }];
268
+ }, {
269
+ readonly type: "function";
270
+ readonly name: "minter";
271
+ readonly stateMutability: "view";
272
+ readonly inputs: readonly [];
273
+ readonly outputs: readonly [{
274
+ readonly type: "address";
275
+ }];
276
+ }, {
277
+ readonly type: "function";
278
+ readonly name: "primaryPayee";
279
+ readonly stateMutability: "view";
280
+ readonly inputs: readonly [];
281
+ readonly outputs: readonly [{
282
+ readonly type: "address";
283
+ }];
284
+ }, {
285
+ readonly type: "function";
286
+ readonly name: "tokenURIRenderer";
287
+ readonly stateMutability: "view";
288
+ readonly inputs: readonly [];
289
+ readonly outputs: readonly [{
290
+ readonly type: "address";
291
+ }];
292
+ }, {
293
+ readonly type: "function";
294
+ readonly name: "royaltyInfo";
295
+ readonly stateMutability: "view";
296
+ readonly inputs: readonly [{
297
+ readonly type: "uint256";
298
+ }, {
299
+ readonly type: "uint256";
300
+ }];
301
+ readonly outputs: readonly [{
302
+ readonly type: "address";
303
+ }, {
304
+ readonly type: "uint256";
305
+ }];
306
+ }, {
307
+ readonly type: "function";
308
+ readonly name: "supportsInterface";
309
+ readonly stateMutability: "view";
310
+ readonly inputs: readonly [{
311
+ readonly type: "bytes4";
312
+ }];
313
+ readonly outputs: readonly [{
314
+ readonly type: "bool";
315
+ }];
316
+ }, {
317
+ readonly type: "function";
318
+ readonly name: "getTransferValidator";
319
+ readonly stateMutability: "view";
320
+ readonly inputs: readonly [];
321
+ readonly outputs: readonly [{
322
+ readonly type: "address";
323
+ }];
324
+ }, {
325
+ readonly type: "function";
326
+ readonly name: "seedSource";
327
+ readonly stateMutability: "view";
328
+ readonly inputs: readonly [];
329
+ readonly outputs: readonly [{
330
+ readonly type: "address";
331
+ }];
332
+ }, {
333
+ readonly type: "function";
334
+ readonly name: "tokenURILocked";
335
+ readonly stateMutability: "view";
336
+ readonly inputs: readonly [];
337
+ readonly outputs: readonly [{
338
+ readonly type: "bool";
339
+ }];
340
+ }, {
341
+ readonly type: "function";
342
+ readonly name: "contractURILocked";
343
+ readonly stateMutability: "view";
344
+ readonly inputs: readonly [];
345
+ readonly outputs: readonly [{
346
+ readonly type: "bool";
347
+ }];
348
+ }, {
349
+ readonly type: "function";
350
+ readonly name: "scriptLocked";
351
+ readonly stateMutability: "view";
352
+ readonly inputs: readonly [];
353
+ readonly outputs: readonly [{
354
+ readonly type: "bool";
355
+ }];
356
+ }, {
357
+ readonly type: "function";
358
+ readonly name: "dependenciesLocked";
359
+ readonly stateMutability: "view";
360
+ readonly inputs: readonly [];
361
+ readonly outputs: readonly [{
362
+ readonly type: "bool";
363
+ }];
364
+ }, {
365
+ readonly type: "function";
366
+ readonly name: "contractFieldLocked";
367
+ readonly stateMutability: "view";
368
+ readonly inputs: readonly [{
369
+ readonly type: "bytes32";
370
+ }];
371
+ readonly outputs: readonly [{
372
+ readonly type: "bool";
373
+ }];
374
+ }];
375
+ /** One boolean lock, tri-state: `true` (frozen forever) · `false` (open — the owner can still
376
+ * change it) · `null` (the read failed — an RPC refusal, or a wrong dialect). Never collapse
377
+ * `null` into `false`: an unread lock is not proof it's off, and `state`'s whole job here is to
378
+ * keep that distinction visible all the way to the JSON payload. */
379
+ type LockRead = boolean | null;
380
+ /** Every irreversible lock a collection can carry, as read straight from chain. */
381
+ export interface CollectionLocks {
382
+ tokenURI: LockRead;
383
+ contractURI: LockRead;
384
+ /** The bounded METADATA_FIELD scan — see {@link readFieldLocks}'s doc for the caveat this carries. */
385
+ fields: {
386
+ field: string;
387
+ locked: LockRead;
388
+ }[];
389
+ /** `null` (the OBJECT, not the inner `locked`) ⇒ not applicable: this contract has no on-chain
390
+ * script surface at all (not a code project), a different fact from "unknown" ({@link LockRead}'s
391
+ * `null`), which is reserved for "the surface exists but the read failed". */
392
+ script: {
393
+ locked: LockRead;
394
+ } | null;
395
+ dependencies: {
396
+ locked: LockRead;
397
+ } | null;
398
+ }
399
+ /**
400
+ * Read every applicable irreversible lock for one collection: token/contract URI config, the
401
+ * bounded standard field set, and — for a code project — the script and dependency freezes.
402
+ * `paramHooks.locked` is deliberately NOT read here: `cmdStateBody`/`cmdStateEditionBody` already
403
+ * read it (`readParamHooksLocked`) as part of the existing param-hooks readout, and re-reading it
404
+ * would cost a second `eth_call` for a fact already on hand — see the callers, which pass it into
405
+ * {@link printLocks} instead.
406
+ *
407
+ * `isCode` gates `scriptLocked`/`dependenciesLocked`: those getters exist ONLY on the two code
408
+ * twins (SeriesCode/EditionCode), so asking a plain image/Series contract for them isn't a failed
409
+ * read to report as "unknown" — it's a surface that was never there, reported as `null` (not
410
+ * applicable) via the OUTER object rather than the boolean inside it.
411
+ */
412
+ export declare function readCollectionLocks(publicClient: PublicClient, address: Address, abi: readonly unknown[], isCode: boolean): Promise<CollectionLocks>;
413
+ export declare function cmdState(address: Address | undefined, flags: Flags): Promise<void>;
414
+ export declare function cmdStateBody(address: Address, flags: Flags, emit: (p: Record<string, unknown>) => void): Promise<void>;
415
+ /**
416
+ * `abx status [address] [--remote [name|url]] [--watch]` — INDEXING status: where a project sits in
417
+ * the lifecycle (`queued | backfilling | live | stale | failed`) and how far behind head it is.
418
+ *
419
+ * One vocabulary for both sides of the membrane, which is the point: bare = this node, `--remote` =
420
+ * ask the service, and the same five words either way. Distinct from `abx state <address>`, which
421
+ * reads the CHAIN (owner, royalty, locks) and knows nothing about who is serving it.
422
+ */
423
+ export declare function cmdStatus(address: Address | undefined, flags: Flags): Promise<void>;
424
+ /** The `--remote` half of {@link cmdStatus}: one project, or the roll-up for every project the token
425
+ * can see. `--watch` tails until everything reaches a terminal state. */
426
+ export declare function cmdStatusRemote(address: Address | undefined, remote: RemoteTarget, flags: Flags): Promise<void>;
427
+ export declare function cmdForget(address: Address | undefined, flags: Flags): Promise<void>;
428
+ export {};
429
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"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"}