@artblocks/abx-cli 0.1.0-alpha.20 → 0.1.0-alpha.22

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 (82) hide show
  1. package/CHANGELOG.md +1081 -0
  2. package/assets/renderer-scaffold/README.md +2 -2
  3. package/assets/renderer-scaffold/src/MyRenderer.sol +2 -2
  4. package/assets/renderer-scaffold/src/interfaces/IAbxFieldRenderer.sol +1 -1
  5. package/assets/renderer-scaffold/src/interfaces/IAbxParams.sol +2 -2
  6. package/assets/renderer-scaffold/test/MyRenderer.t.sol +1 -1
  7. package/dist/commands/deploy.d.ts +30 -17
  8. package/dist/commands/deploy.d.ts.map +1 -1
  9. package/dist/commands/deploy.js +523 -117
  10. package/dist/commands/deploy.js.map +1 -1
  11. package/dist/commands/project.d.ts +16 -0
  12. package/dist/commands/project.d.ts.map +1 -1
  13. package/dist/commands/project.js +171 -15
  14. package/dist/commands/project.js.map +1 -1
  15. package/dist/commands/reads.d.ts.map +1 -1
  16. package/dist/commands/reads.js +35 -5
  17. package/dist/commands/reads.js.map +1 -1
  18. package/dist/commands/scaffold.d.ts +3 -1
  19. package/dist/commands/scaffold.d.ts.map +1 -1
  20. package/dist/commands/scaffold.js +81 -29
  21. package/dist/commands/scaffold.js.map +1 -1
  22. package/dist/commands/service.js +1 -1
  23. package/dist/commands/service.js.map +1 -1
  24. package/dist/commands/storage.d.ts.map +1 -1
  25. package/dist/commands/storage.js +11 -3
  26. package/dist/commands/storage.js.map +1 -1
  27. package/dist/commands/submit-app.d.ts +58 -0
  28. package/dist/commands/submit-app.d.ts.map +1 -0
  29. package/dist/commands/submit-app.js +512 -0
  30. package/dist/commands/submit-app.js.map +1 -0
  31. package/dist/config.d.ts +1 -15
  32. package/dist/config.d.ts.map +1 -1
  33. package/dist/config.js +18 -1
  34. package/dist/config.js.map +1 -1
  35. package/dist/flag-allowlists.d.ts +53 -0
  36. package/dist/flag-allowlists.d.ts.map +1 -0
  37. package/dist/flag-allowlists.js +152 -0
  38. package/dist/flag-allowlists.js.map +1 -0
  39. package/dist/flags.d.ts +6 -2
  40. package/dist/flags.d.ts.map +1 -1
  41. package/dist/flags.js +23 -0
  42. package/dist/flags.js.map +1 -1
  43. package/dist/kind.d.ts +8 -3
  44. package/dist/kind.d.ts.map +1 -1
  45. package/dist/kind.js +25 -0
  46. package/dist/kind.js.map +1 -1
  47. package/dist/main.js +166 -53
  48. package/dist/main.js.map +1 -1
  49. package/dist/mintpage.d.ts.map +1 -1
  50. package/dist/mintpage.js +29 -4
  51. package/dist/mintpage.js.map +1 -1
  52. package/dist/output.d.ts +32 -1
  53. package/dist/output.d.ts.map +1 -1
  54. package/dist/output.js +74 -9
  55. package/dist/output.js.map +1 -1
  56. package/dist/ownerops.d.ts +101 -13
  57. package/dist/ownerops.d.ts.map +1 -1
  58. package/dist/ownerops.js +421 -71
  59. package/dist/ownerops.js.map +1 -1
  60. package/dist/preview.d.ts +1 -1
  61. package/dist/preview.js +1 -1
  62. package/dist/remote.d.ts.map +1 -1
  63. package/dist/remote.js +8 -2
  64. package/dist/remote.js.map +1 -1
  65. package/dist/schema.d.ts +18 -0
  66. package/dist/schema.d.ts.map +1 -1
  67. package/dist/schema.js +37 -2
  68. package/dist/schema.js.map +1 -1
  69. package/dist/served.js +1 -1
  70. package/dist/update-check.d.ts +25 -0
  71. package/dist/update-check.d.ts.map +1 -1
  72. package/dist/update-check.js +49 -9
  73. package/dist/update-check.js.map +1 -1
  74. package/package.json +6 -6
  75. package/skill/SKILL.md +64 -32
  76. package/skill/reference/code-projects.md +98 -22
  77. package/skill/reference/creator-token.md +16 -3
  78. package/skill/reference/decisions.md +83 -11
  79. package/skill/reference/hosting.md +1 -1
  80. package/skill/reference/operating.md +35 -12
  81. package/skill/reference/setup.md +1 -1
  82. package/skill/reference/troubleshooting.md +16 -6
package/dist/config.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { mkdirSync, writeFileSync } from 'node:fs';
2
2
  import { dirname, resolve } from 'node:path';
3
+ import { loadDotEnv } from '@artblocks/abx-sdk/node';
3
4
  import { arweaveAddress, generateArweaveJwk, resolveArweaveJwk, assessStorageReadiness, assessTurboFunds, isTurboArweave, planTurboUpload, resolveBackend, } from '@artblocks/abx-storage';
4
5
  import { resolveChain, DEFAULT_CHAIN_KEY, resolveFactory, resolveSeriesFactory, resolveRenderer, resolveChunkStore, resolveFixedPriceMinter, resolveOneOfOneEditionFactory, resolveEditionFactory, resolveEditionCodeFactory, resolveFixedPriceMinter1155, envSigningKey, explorerUrl, METADATA_REPRESENTATION as R, } from '@artblocks/abx-sdk';
5
6
  import { SelfHostIndexer } from '@artblocks/abx-indexer';
@@ -18,6 +19,22 @@ import { bold, dim, g, info, warn } from './output.js';
18
19
  * The only thing that persists on disk is the project-local, chain-rebuildable projection
19
20
  * (the indexer's SQLite store under the data dir) — that's DATA, not config.
20
21
  */
22
+ // `.env` MUST be loaded before the line below, and this is the only place that can guarantee it.
23
+ //
24
+ // `CHAIN` is a module-level const, so it evaluates when this module is first imported — which
25
+ // happens while the import graph loads, BEFORE `main()` runs and calls `loadDotEnv()`. So
26
+ // `ABX_CHAIN=sepolia` in a `.env` was read too late and silently lost: the CLI announced
27
+ // `base-sepolia` and acted on it. Every other setting escaped this because it is read lazily inside
28
+ // a function (`storageOptions()`, the signing key at send time), by which point `.env` is loaded —
29
+ // `ABX_CHAIN` was the one eager read, and the highest-stakes one to get wrong. A cold agent hit it
30
+ // in the clean room: the creator asked for Sepolia, said so in `.env`, and got a Base Sepolia
31
+ // preview with no error. On a funded send that is a wrong-chain deploy with real artifacts at an
32
+ // address nobody meant — the same consequence that made the swallowed `--chain` flag a bug worth
33
+ // fixing (see main.ts), reached by a different route.
34
+ //
35
+ // `loadDotEnv` is idempotent, so main.ts's call stays as the entry-point safety net for any path
36
+ // that does not import this module first.
37
+ loadDotEnv();
21
38
  /**
22
39
  * The active chain key — the ONE place it's derived (`ABX_CHAIN` → the shipped default). main.ts
23
40
  * and ownerops.ts each used to carry their own identical `process.env.ABX_CHAIN ?? DEFAULT_CHAIN_KEY`
@@ -112,7 +129,7 @@ export function fixedPriceMinterAddress(override) {
112
129
  export function oneOfOneEditionFactoryAddress(override) {
113
130
  return resolveOneOfOneEditionFactory(chainId(), override) ?? null;
114
131
  }
115
- /** Canonical multi-artwork edition clone factory — flag override → `ABX_EDITION_FACTORY` → manifest. */
132
+ /** Canonical multi-work edition clone factory — flag override → `ABX_EDITION_FACTORY` → manifest. */
116
133
  export function editionFactoryAddress(override) {
117
134
  return resolveEditionFactory(chainId(), override) ?? null;
118
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Per-command flag allowlists — the one place that knows which flags each command accepts, so the
3
+ * dispatcher can surface a typo'd or unsupported flag instead of silently ignoring it (B30).
4
+ *
5
+ * WHY THIS FILE EXISTS, and why the obvious shortcut doesn't work
6
+ * --------------------------------------------------------------
7
+ * The CLI used to have three different behaviors for an unrecognized flag: `deploy*` REFUSED,
8
+ * `preview`/`tokens`/`storage status`/`attach` WARNED, and ~35 other commands said nothing at all —
9
+ * so `abx set-royalty --bsp 500` or `abx minter buy --quantiy 5` did something quietly different from
10
+ * what was asked. That silence is the worst failure mode the CLI has, because the creator's next
11
+ * action is to believe it worked.
12
+ *
13
+ * The tempting fix is to DERIVE each allowlist from the `usage` string every command already declares.
14
+ * An audit of all ~45 commands says that would be actively harmful: several shared helpers read flags
15
+ * that appear in NO usage string anywhere. `storageOverrides()` reads twelve
16
+ * (`--backend`, `--gateway`, `--public-base`, `--storage-signer`, …) and is pulled in by `add`,
17
+ * `render`, `effects`, `migrate`, `storage upload`, and `storage balance|topup`; `--remote-token` is
18
+ * read by `index`, `verify`, `forget`, `status`, and `migrate`. A usage-derived allowlist would warn on
19
+ * every one of those — a false warning on a VALID flag, which is worse than the silence it replaces,
20
+ * because a notice people learn to distrust stops working for the real cases too.
21
+ *
22
+ * So the sets below are explicit, and composed from the shared groups by name. A command absent from
23
+ * `COMMAND_FLAGS` is simply not checked — this can grow incrementally, and an unlisted command keeps
24
+ * exactly its old behavior rather than acquiring a half-right allowlist.
25
+ */
26
+ /**
27
+ * Flags EVERY owner write accepts: the signing lane (`laneFromFlags`), the opt-in confirm gate, the
28
+ * wallet-lane plumbing, the post-write reindex nudge (`reindexIfKnown` → `resolveRemote`), and
29
+ * `--json`. Sourced from `riskgate.ts` + `ownerops.ts`, never from a usage string.
30
+ */
31
+ export declare const SHARED_WRITE: readonly ["send", "sign", "unsigned", "dry-run", "yes", "confirm", "port", "sign-url-file", "remote", "remote-token", "json"];
32
+ /**
33
+ * What `storageOverrides()` (config.ts) reads. Any command that resolves a storage backend from flags
34
+ * accepts all twelve — and none of them are documented per-command, which is exactly why a
35
+ * usage-derived allowlist would have been wrong.
36
+ */
37
+ export declare const STORAGE_OVERRIDE: readonly ["backend", "endpoint", "bucket", "region", "prefix", "public-base", "gateway", "mode", "api-url", "upload-url", "provider", "storage-signer"];
38
+ /** `remoteFlag()` / `resolveRemote()` — a named service plus its token. */
39
+ export declare const REMOTE: readonly ["remote", "remote-token"];
40
+ /**
41
+ * Command → accepted flags. Keys are the dispatch names in `main.ts`; a two-word command is keyed by
42
+ * `"<cmd> <sub>"` (e.g. `"storage upload"`) and falls back to the bare command when no subcommand row
43
+ * exists. `deploy`/`deploy-series`/`deploy-code` are deliberately ABSENT: they already enforce their
44
+ * own exhaustive allowlists via `refuseStrayFlags`, and duplicating those sets here would be a second
45
+ * copy to drift.
46
+ */
47
+ export declare const COMMAND_FLAGS: Record<string, ReadonlySet<string>>;
48
+ /**
49
+ * The allowlist for a dispatched command, preferring a `"<cmd> <sub>"` row. Returns undefined when the
50
+ * command isn't listed, which means "don't check" — never "nothing is allowed".
51
+ */
52
+ export declare function allowlistFor(cmd: string, sub?: string): ReadonlySet<string> | undefined;
53
+ //# sourceMappingURL=flag-allowlists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flag-allowlists.d.ts","sourceRoot":"","sources":["../src/flag-allowlists.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,+HAYf,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,yJAanB,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,MAAM,qCAAsC,CAAC;AAI1D;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CA8E7D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAMvF"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Per-command flag allowlists — the one place that knows which flags each command accepts, so the
3
+ * dispatcher can surface a typo'd or unsupported flag instead of silently ignoring it (B30).
4
+ *
5
+ * WHY THIS FILE EXISTS, and why the obvious shortcut doesn't work
6
+ * --------------------------------------------------------------
7
+ * The CLI used to have three different behaviors for an unrecognized flag: `deploy*` REFUSED,
8
+ * `preview`/`tokens`/`storage status`/`attach` WARNED, and ~35 other commands said nothing at all —
9
+ * so `abx set-royalty --bsp 500` or `abx minter buy --quantiy 5` did something quietly different from
10
+ * what was asked. That silence is the worst failure mode the CLI has, because the creator's next
11
+ * action is to believe it worked.
12
+ *
13
+ * The tempting fix is to DERIVE each allowlist from the `usage` string every command already declares.
14
+ * An audit of all ~45 commands says that would be actively harmful: several shared helpers read flags
15
+ * that appear in NO usage string anywhere. `storageOverrides()` reads twelve
16
+ * (`--backend`, `--gateway`, `--public-base`, `--storage-signer`, …) and is pulled in by `add`,
17
+ * `render`, `effects`, `migrate`, `storage upload`, and `storage balance|topup`; `--remote-token` is
18
+ * read by `index`, `verify`, `forget`, `status`, and `migrate`. A usage-derived allowlist would warn on
19
+ * every one of those — a false warning on a VALID flag, which is worse than the silence it replaces,
20
+ * because a notice people learn to distrust stops working for the real cases too.
21
+ *
22
+ * So the sets below are explicit, and composed from the shared groups by name. A command absent from
23
+ * `COMMAND_FLAGS` is simply not checked — this can grow incrementally, and an unlisted command keeps
24
+ * exactly its old behavior rather than acquiring a half-right allowlist.
25
+ */
26
+ /**
27
+ * Flags EVERY owner write accepts: the signing lane (`laneFromFlags`), the opt-in confirm gate, the
28
+ * wallet-lane plumbing, the post-write reindex nudge (`reindexIfKnown` → `resolveRemote`), and
29
+ * `--json`. Sourced from `riskgate.ts` + `ownerops.ts`, never from a usage string.
30
+ */
31
+ export const SHARED_WRITE = [
32
+ 'send',
33
+ 'sign',
34
+ 'unsigned',
35
+ 'dry-run',
36
+ 'yes',
37
+ 'confirm',
38
+ 'port',
39
+ 'sign-url-file',
40
+ 'remote',
41
+ 'remote-token',
42
+ 'json',
43
+ ];
44
+ /**
45
+ * What `storageOverrides()` (config.ts) reads. Any command that resolves a storage backend from flags
46
+ * accepts all twelve — and none of them are documented per-command, which is exactly why a
47
+ * usage-derived allowlist would have been wrong.
48
+ */
49
+ export const STORAGE_OVERRIDE = [
50
+ 'backend',
51
+ 'endpoint',
52
+ 'bucket',
53
+ 'region',
54
+ 'prefix',
55
+ 'public-base',
56
+ 'gateway',
57
+ 'mode',
58
+ 'api-url',
59
+ 'upload-url',
60
+ 'provider',
61
+ 'storage-signer',
62
+ ];
63
+ /** `remoteFlag()` / `resolveRemote()` — a named service plus its token. */
64
+ export const REMOTE = ['remote', 'remote-token'];
65
+ const set = (...groups) => new Set(groups.flat());
66
+ /**
67
+ * Command → accepted flags. Keys are the dispatch names in `main.ts`; a two-word command is keyed by
68
+ * `"<cmd> <sub>"` (e.g. `"storage upload"`) and falls back to the bare command when no subcommand row
69
+ * exists. `deploy`/`deploy-series`/`deploy-code` are deliberately ABSENT: they already enforce their
70
+ * own exhaustive allowlists via `refuseStrayFlags`, and duplicating those sets here would be a second
71
+ * copy to drift.
72
+ */
73
+ export const COMMAND_FLAGS = {
74
+ // ── read-only ──
75
+ inspect: set(['dep']),
76
+ predict: set(['salt', 'for', 'factory', 'copies', 'script', 'code-dir', 'image-renderer', 'dir', 'image']),
77
+ tokenuri: set(['token', 'fetch', 'json']),
78
+ contracturi: set([]),
79
+ tokens: set(['json', 'limit', 'from', 'holder']),
80
+ state: set(['json']),
81
+ status: set(['watch'], REMOTE),
82
+ verify: set(['json', 'yes', 'generator'], REMOTE),
83
+ doctor: set(['for', 'fix', 'global', 'agent']),
84
+ serve: set(['port']),
85
+ 'skill install': set(['target', 'global', 'agent']),
86
+ 'skill path': set(['target', 'global', 'agent']),
87
+ // ── indexing / projection ──
88
+ add: set(['from-block', 'factory', 'label', 'description', 'external-url', 'full', 'yes', 'traits', 'attributes', 'no-wait', 'dry-run'], REMOTE, STORAGE_OVERRIDE),
89
+ index: set(['full', 'no-wait', 'yes'], REMOTE),
90
+ forget: set([], REMOTE),
91
+ migrate: set(['from', 'to', 'from-block', 'factory', 'label', 'yes'], REMOTE, STORAGE_OVERRIDE),
92
+ remote: set(['conformance', 'remote-token', 'chain-id', 'address', 'from-block']),
93
+ // ── rendering / effects ──
94
+ render: set(['force', 'effects-url'], REMOTE, STORAGE_OVERRIDE),
95
+ effects: set(['once', 'port', 'interval-ms', 'concurrency'], REMOTE, STORAGE_OVERRIDE),
96
+ 'mint-page': set(['dir', 'name', 'rpc', 'minter-contract']),
97
+ 'scaffold-renderer': set(['force']),
98
+ // ── hosting artifacts ──
99
+ 'deploy-resolver': set(['provider', 'domain', 'app', 'dir', 'from-source']),
100
+ 'deploy-effects': set(['provider', 'resolver-url', 'app', 'dir', 'interval-ms', 'env-id']),
101
+ // ── storage ──
102
+ // `show` honors the full override set now (it previews what a given set of flags WOULD resolve to);
103
+ // before that it read env-only, and the warning correctly fired because the flags really were ignored.
104
+ storage: set(['check'], STORAGE_OVERRIDE),
105
+ 'storage show': set(['check'], STORAGE_OVERRIDE),
106
+ 'storage upload': set(['key', 'json', 'dry-run'], STORAGE_OVERRIDE),
107
+ 'storage balance': set(['for'], STORAGE_OVERRIDE),
108
+ 'storage topup': set(['usd'], STORAGE_OVERRIDE),
109
+ 'storage backup-key': set(['out']),
110
+ // ── owner writes (every one also takes SHARED_WRITE) ──
111
+ refresh: set(['token']), // sends no tx — SHARED_WRITE deliberately does NOT apply
112
+ 'set-minter': set(['minter'], SHARED_WRITE),
113
+ 'set-max-invocations': set(['max'], SHARED_WRITE),
114
+ 'ping-uri': set(['token-ids'], SHARED_WRITE),
115
+ 'configure-param': set(['file', 'remote'], SHARED_WRITE),
116
+ 'submit-app': set(['name', 'summary', 'description', 'mark', 'tone', 'category', 'stage', 'url', 'url-label', 'image', 'tags', 'registry', 'minter'], SHARED_WRITE),
117
+ 'set-schema': set(['schema', 'force'], SHARED_WRITE),
118
+ 'retire-param': set([], SHARED_WRITE),
119
+ 'set-param-hooks': set(['configure', 'augment', 'transfer', 'clear'], SHARED_WRITE),
120
+ 'set-dependency': set([], SHARED_WRITE),
121
+ 'remove-last-dependency': set([], SHARED_WRITE),
122
+ 'set-dependency-registry': set([], SHARED_WRITE),
123
+ 'lock-dependencies': set([], SHARED_WRITE),
124
+ 'lock-script': set([], SHARED_WRITE),
125
+ 'lock-param-hooks': set([], SHARED_WRITE),
126
+ 'set-primary-payee': set(['payee'], SHARED_WRITE),
127
+ pause: set([], SHARED_WRITE),
128
+ unpause: set([], SHARED_WRITE),
129
+ 'set-token-uri': set(['uri', 'override', 'token'], SHARED_WRITE),
130
+ 'set-contract-uri': set(['uri', 'override'], SHARED_WRITE),
131
+ 'set-royalty': set(['bps', 'receiver'], SHARED_WRITE),
132
+ 'set-transfer-validator': set([], SHARED_WRITE),
133
+ 'set-seed-source': set([], SHARED_WRITE),
134
+ 'set-field': set(['field', 'text', 'value', 'representation', 'collection', 'token', 'file', 'compress', 'allow-unreadable-onchain'], SHARED_WRITE),
135
+ 'lock-field': set(['field', 'collection', 'token', 'force-field'], SHARED_WRITE),
136
+ 'set-renderer': set(['collection', 'off', 'renderer'], SHARED_WRITE),
137
+ 'lock-uri': set(['collection'], SHARED_WRITE),
138
+ 'set-admin': set(['to'], SHARED_WRITE),
139
+ };
140
+ /**
141
+ * The allowlist for a dispatched command, preferring a `"<cmd> <sub>"` row. Returns undefined when the
142
+ * command isn't listed, which means "don't check" — never "nothing is allowed".
143
+ */
144
+ export function allowlistFor(cmd, sub) {
145
+ if (sub) {
146
+ const withSub = COMMAND_FLAGS[`${cmd} ${sub}`];
147
+ if (withSub)
148
+ return withSub;
149
+ }
150
+ return COMMAND_FLAGS[cmd];
151
+ }
152
+ //# sourceMappingURL=flag-allowlists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flag-allowlists.js","sourceRoot":"","sources":["../src/flag-allowlists.ts"],"names":[],"mappings":"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"}
package/dist/flags.d.ts CHANGED
@@ -23,6 +23,10 @@ export declare const GLOBAL_FLAGS: ReadonlySet<string>;
23
23
  * (owner-op or deploy) reads it through here rather than hand-rolling `!!flags['dry-run']`, so a
24
24
  * fresh command can't ship with a *slightly* different spelling of the same check (or skip it). */
25
25
  export declare function isDryRun(flags: Flags): boolean;
26
+ /** Whether `--allow-unreadable-onchain` was passed — the override for the render-gas refusal
27
+ * (`guardOnChainSize` in ownerops.ts). Decided in one place for the same reason as
28
+ * {@link isDryRun}: every path that stages bytes on-chain has to read it identically. */
29
+ export declare function allowUnreadableOnchain(flags: Flags): boolean;
26
30
  export declare function parseFlags(args: string[]): Flags;
27
31
  /**
28
32
  * The bare (non-flag) arguments, with flag VALUES removed — the mirror of {@link parseFlags}, and
@@ -59,10 +63,10 @@ export declare const FLAG_HINTS: Record<string, (cmd: string) => string | undefi
59
63
  * `--dry-run` refuses identically. A preview that accepts what the real send rejects is its own trap:
60
64
  * you'd validate a command in preview and have it fail at the moment it matters.
61
65
  */
62
- export declare function refuseStrayFlags(flags: Flags, allowed: Set<string>, cmd: string): void;
66
+ export declare function refuseStrayFlags(flags: Flags, allowed: ReadonlySet<string>, cmd: string): void;
63
67
  /** Unknown flags on a READ-ONLY command: warn, don't refuse. Nothing can be mis-sent, and a stray
64
68
  * flag on `preview`/`inspect` shouldn't stop a creator mid-iteration. */
65
- export declare function warnStrayFlags(flags: Flags, allowed: Set<string>, cmd: string): void;
69
+ export declare function warnStrayFlags(flags: Flags, allowed: ReadonlySet<string>, cmd: string): void;
66
70
  /** The wallet-lane owner-pinning guard: on `--sign` with no `--for`, whichever wallet connects
67
71
  * becomes owner + royalty receiver + mint recipient (the launch-readiness "random wallet owns the
68
72
  * collection" trap). Fires uniformly on deploy / deploy-series / deploy-code. */
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAC,KAAK,GAAG,EAAC,MAAM,MAAM,CAAC;AAG9B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEvD,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAuC,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAAgC,CAAC;AAE9E;;oGAEoG;AACpG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE9C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAchD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAWvD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAG9E;AAED;;4FAE4F;AAI5F,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAK1E,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAUtF;AAED;0EAC0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CASpF;AAED;;kFAEkF;AAClF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAIrD;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,CAMtE"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAC,KAAK,GAAG,EAAC,MAAM,MAAM,CAAC;AAG9B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEvD,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAuC,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAAgC,CAAC;AAE9E;;oGAEoG;AACpG,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE9C;AAED;;0FAE0F;AAC1F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE5D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAchD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAWvD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAG9E;AAED;;4FAE4F;AAI5F,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAK1E,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAU9F;AAED;0EAC0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAS5F;AAED;;kFAEkF;AAClF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAIrD;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,CAyBtE"}
package/dist/flags.js CHANGED
@@ -13,6 +13,12 @@ export const GLOBAL_FLAGS = new Set(['no-update-check']);
13
13
  export function isDryRun(flags) {
14
14
  return !!flags['dry-run'];
15
15
  }
16
+ /** Whether `--allow-unreadable-onchain` was passed — the override for the render-gas refusal
17
+ * (`guardOnChainSize` in ownerops.ts). Decided in one place for the same reason as
18
+ * {@link isDryRun}: every path that stages bytes on-chain has to read it identically. */
19
+ export function allowUnreadableOnchain(flags) {
20
+ return flags['allow-unreadable-onchain'] !== undefined;
21
+ }
16
22
  export function parseFlags(args) {
17
23
  const out = {};
18
24
  const set = (k, v) => {
@@ -128,6 +134,23 @@ export function parseSaltFlag(raw) {
128
134
  if (!/^0x[0-9a-fA-F]{64}$/.test(raw)) {
129
135
  throw new Error(`--salt must be a 32-byte hex (0x + 64 hex chars); got '${raw}'`);
130
136
  }
137
+ // Warn here, at the one place every command parses the flag, rather than at the five places a
138
+ // deploy derives an address from it.
139
+ //
140
+ // The factory reads a salt's leading 20 bytes as an access guard: the caller's own address means
141
+ // only that signer may deploy with it; all-zero means anyone may. Omitting --salt gives you the
142
+ // former. Only `abx predict` ever explained this, while the deploy commands took an explicit
143
+ // --salt verbatim and said nothing — so a creator pinning a vanity salt with a zero prefix and
144
+ // announcing the predicted address was handing it to whoever deployed there first, and the
145
+ // front-runner becomes `owner()` (ownership is set by `initialize`, not by the prediction).
146
+ // Reviewed 2026-08; the attack was reproduced. Warn rather than refuse: a zero prefix is the
147
+ // correct choice for a deliberately shared, caller-independent deployment.
148
+ if (/^0{40}$/.test(raw.slice(2, 42))) {
149
+ warn('--salt has an all-zero guard prefix, so ANYONE may deploy to the address it predicts. ' +
150
+ 'Publish that address before you deploy and someone else can take it — and own it. ' +
151
+ 'Drop --salt for a salt pinned to your signer, or keep this only if a shared, ' +
152
+ 'caller-independent address is the point.');
153
+ }
131
154
  return raw;
132
155
  }
133
156
  //# sourceMappingURL=flags.js.map
package/dist/flags.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../src/flags.ts"],"names":[],"mappings":"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"}
package/dist/kind.d.ts CHANGED
@@ -16,9 +16,14 @@
16
16
  * the Params/ConfigurableParams surface (`paramHooks()`) → present only on the two code twins
17
17
  *
18
18
  * Every probe is defensive (try/catch → false) — a getter absent because the extension isn't
19
- * composed and a getter absent because there's no contract at that address read identically here;
20
- * callers that need to tell those apart already do so before reaching for a kind (e.g. `state`'s
21
- * own `no ABX contract state at …` check).
19
+ * composed and a getter absent because there's no contract at that address read identically here.
20
+ * That made the three negative probes collapse to the SAME answer for an address with no code at
21
+ * all: all three fail, so the ladder fell through to its `1of1` default and every empty address was
22
+ * reported as a confident "OneOfOneImage". Callers were supposed to rule that out first (`state`
23
+ * does), but `set-max-supply` and `minter buy` did not, and told edition owners "…is a OneOfOneImage
24
+ * (721) — drop your edition flags" whenever the address was mistyped or the chain was wrong (the
25
+ * default is base-sepolia, so a Sepolia contract hits this immediately). So the existence check now
26
+ * lives HERE, once, ahead of the probes — every call site inherits it and cannot forget it.
22
27
  */
23
28
  import type { Address, PublicClient } from 'viem';
24
29
  /** Mirrors the SDK's `ProjectState.contractType` (reconstruct.ts) — the 721 ladder and its
@@ -1 +1 @@
1
- {"version":3,"file":"kind.d.ts","sourceRoot":"","sources":["../src/kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,MAAM,CAAC;AAEhD;6CAC6C;AAC7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC;AAEjG,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,8FAA8F;IAC9F,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;CACf;AAyCD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAWpG;AAED;;+BAE+B;AAC/B,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhG;AAED;oEACoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"kind.d.ts","sourceRoot":"","sources":["../src/kind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAC,OAAO,EAAE,YAAY,EAAC,MAAM,MAAM,CAAC;AAEhD;6CAC6C;AAC7C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC;AAEjG,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,8FAA8F;IAC9F,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;CACf;AAkED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAYpG;AAED;;+BAE+B;AAC/B,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhG;AAED;oEACoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAExD"}
package/dist/kind.js CHANGED
@@ -7,6 +7,30 @@ const KIND_PROBE_ABI = [
7
7
  { type: 'function', name: 'maxInvocations', stateMutability: 'view', inputs: [], outputs: [{ type: 'uint256' }] },
8
8
  { type: 'function', name: 'paramHooks', stateMutability: 'view', inputs: [], outputs: [{ type: 'address' }, { type: 'address' }, { type: 'address' }] },
9
9
  ];
10
+ /**
11
+ * Refuse to infer a kind for an address that holds no contract. Without this the three negative
12
+ * probes below are indistinguishable from "nothing deployed here", and the ladder's `1of1` default
13
+ * becomes a confident lie about a specific contract type (see the file docstring).
14
+ *
15
+ * Deliberately silent when the check itself can't run (an RPC hiccup → `getCode` throws): a network
16
+ * blip must not become a "no contract" claim, so we fall through to the probes exactly as before and
17
+ * let whatever the caller was doing surface its own error. Same stance as `assertContractExists`.
18
+ */
19
+ async function assertHasCode(client, address) {
20
+ let code;
21
+ try {
22
+ code = await client.getCode({ address });
23
+ }
24
+ catch {
25
+ return; // can't tell — don't manufacture a verdict
26
+ }
27
+ if (code && code !== '0x')
28
+ return;
29
+ const chain = client.chain?.name ?? 'the active chain';
30
+ throw new Error(`no contract at ${address} on ${chain} — so there is no token type to read. ` +
31
+ `Check the address, and check the network: a contract that lives on another chain reads as empty here ` +
32
+ `(the chain is picked with ABX_CHAIN; base-sepolia is the default). Owner ops run AFTER deploy.`);
33
+ }
10
34
  async function supportsErc1155(client, address) {
11
35
  try {
12
36
  return (await client.readContract({ address, abi: KIND_PROBE_ABI, functionName: 'supportsInterface', args: [ERC1155_INTERFACE_ID] }));
@@ -42,6 +66,7 @@ async function hasConfigurableParams(client, address) {
42
66
  * `maxInvocations()` (multi-id or not), then the Params surface (code or not).
43
67
  */
44
68
  export async function detectTokenKind(client, address) {
69
+ await assertHasCode(client, address);
45
70
  const isEdition = await supportsErc1155(client, address);
46
71
  const capped = await hasMaxInvocations(client, address);
47
72
  if (isEdition) {
package/dist/kind.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"kind.js","sourceRoot":"","sources":["../src/kind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kind.js","sourceRoot":"","sources":["../src/kind.ts"],"names":[],"mappings":"AAyCA;;gBAEgB;AAChB,MAAM,oBAAoB,GAAG,YAAqB,CAAC;AAEnD,MAAM,cAAc,GAAG;IACrB,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,EAAC;IAC7H,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,EAAC;IAC7G,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,EAAC;CACvI,CAAC;AAEX;;;;;;;;GAQG;AACH,KAAK,UAAU,aAAa,CAAC,MAAoB,EAAE,OAAgB;IACjE,IAAI,IAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,2CAA2C;IACrD,CAAC;IACD,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,kBAAkB,CAAC;IACvD,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,OAAO,KAAK,wCAAwC;QAC3E,uGAAuG;QACvG,gGAAgG,CACnG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAoB,EAAE,OAAgB;IACnE,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,EAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,oBAAoB,CAAC,EAAC,CAAC,CAAY,CAAC;IACjJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAoB,EAAE,OAAgB;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,EAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;mGACmG;AACnG,KAAK,UAAU,qBAAqB,CAAC,MAAoB,EAAE,OAAgB;IACzE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,EAAC,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAC,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAoB,EAAE,OAAgB;IAC1E,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,MAAM;YAAE,OAAO,EAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAC,CAAC;QACtF,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAC,CAAC;IAC1I,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC;AACjI,CAAC;AAED;;+BAE+B;AAC/B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAoB,EAAE,OAAgB;IAC5E,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;oEACoE;AACpE,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AAClH,CAAC"}