@artblocks/abx-cli 0.1.0-alpha.19 → 0.1.0-alpha.20
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 +68 -0
- package/dist/commands/deploy.d.ts +32 -7
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +1079 -49
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/project.d.ts +107 -0
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +141 -16
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/reads.d.ts.map +1 -1
- package/dist/commands/reads.js +52 -20
- package/dist/commands/reads.js.map +1 -1
- package/dist/commands/scaffold.d.ts +13 -11
- package/dist/commands/scaffold.d.ts.map +1 -1
- package/dist/commands/scaffold.js +73 -37
- package/dist/commands/scaffold.js.map +1 -1
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -1
- package/dist/config.js.map +1 -1
- package/dist/kind.d.ts +48 -0
- package/dist/kind.d.ts.map +1 -0
- package/dist/kind.js +69 -0
- package/dist/kind.js.map +1 -0
- package/dist/main.js +107 -23
- package/dist/main.js.map +1 -1
- package/dist/mintpage.d.ts +14 -1
- package/dist/mintpage.d.ts.map +1 -1
- package/dist/mintpage.js +166 -4
- package/dist/mintpage.js.map +1 -1
- package/dist/output.d.ts +11 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +133 -3
- package/dist/output.js.map +1 -1
- package/dist/ownerops.d.ts +33 -2
- package/dist/ownerops.d.ts.map +1 -1
- package/dist/ownerops.js +356 -19
- package/dist/ownerops.js.map +1 -1
- package/package.json +6 -6
- package/skill/SKILL.md +5 -3
- package/skill/reference/creator-token.md +40 -25
- package/skill/reference/hosting.md +1 -1
- package/skill/reference/operating.md +20 -0
- package/skill/reference/troubleshooting.md +7 -0
package/dist/commands/reads.js
CHANGED
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
import { existsSync, readFileSync } from 'node:fs';
|
|
8
8
|
import { basename, resolve as resolvePath } from 'node:path';
|
|
9
9
|
import { SqliteStore } from '@artblocks/abx-indexer';
|
|
10
|
-
import { analyzeScript, listTokens, makePublicClient, oneOfOneImageAbi, recommendLane, redactRpcUrl, resolveRpcUrl, } from '@artblocks/abx-sdk';
|
|
10
|
+
import { analyzeScript, listTokens, makePublicClient, oneOfOneImageAbi, oneOfOneEditionAbi, recommendLane, redactRpcUrl, resolveRpcUrl, } from '@artblocks/abx-sdk';
|
|
11
11
|
import { resolveBackend } from '@artblocks/abx-storage';
|
|
12
12
|
import { resolveBaseUrl } from '@artblocks/abx-token-api';
|
|
13
13
|
import { CHAIN, storageOptions, storageOverrides } from '../config.js';
|
|
14
14
|
import { positionalArgs, warnStrayFlags } from '../flags.js';
|
|
15
15
|
import { assertPortFree, bold, c, dim, g, info, loadEffects, ok, requirePublishableBackend, step, warn } from '../output.js';
|
|
16
|
+
import { detectTokenKind, describeKind, isEditionContract } from '../kind.js';
|
|
16
17
|
import { DEFAULT_PREVIEW_PORT, PREVIEW_FLAGS, parsePreviewParams, previewConfigFromFlags, previewDepTags, shootPreview, startPreviewServer, } from '../preview.js';
|
|
17
18
|
import { remoteFlag, requireRemoteToken } from '../remote.js';
|
|
18
19
|
import { SCHEMA_CATALOG, describeSchema } from '../schema.js';
|
|
@@ -331,14 +332,18 @@ export async function cmdTokenUri(address, flags, extra = []) {
|
|
|
331
332
|
}
|
|
332
333
|
const tokenId = BigInt(flags.token ?? '0');
|
|
333
334
|
const publicClient = makePublicClient({ chainKey: CHAIN });
|
|
335
|
+
// An edition serves its metadata via the native ERC-1155 `uri(id)`, not `tokenURI(id)` — the ONE
|
|
336
|
+
// read that genuinely differs between the two families (the config/setter surface is identical;
|
|
337
|
+
// see kind.ts's own note). Everything else below reads identically either way.
|
|
338
|
+
const isEdition = await isEditionContract(publicClient, address);
|
|
334
339
|
// A creator verifying their work often runs this on a wrong / not-yet-mined address — turn viem's
|
|
335
340
|
// raw revert (with its viem.sh docs link) into a black-box-clean, actionable message.
|
|
336
341
|
let uri;
|
|
337
342
|
try {
|
|
338
343
|
uri = (await publicClient.readContract({
|
|
339
344
|
address,
|
|
340
|
-
abi: oneOfOneImageAbi,
|
|
341
|
-
functionName: 'tokenURI',
|
|
345
|
+
abi: isEdition ? oneOfOneEditionAbi : oneOfOneImageAbi,
|
|
346
|
+
functionName: isEdition ? 'uri' : 'tokenURI',
|
|
342
347
|
args: [tokenId],
|
|
343
348
|
}));
|
|
344
349
|
}
|
|
@@ -353,7 +358,7 @@ export async function cmdTokenUri(address, flags, extra = []) {
|
|
|
353
358
|
`If you JUST deployed, give the tx a block or two to mine.\n`);
|
|
354
359
|
}
|
|
355
360
|
else {
|
|
356
|
-
console.error(`abx tokenuri: ${address} didn't return a tokenURI for token ${tokenId} — it may not be an ABX/ERC
|
|
361
|
+
console.error(`abx tokenuri: ${address} didn't return a ${isEdition ? 'uri' : 'tokenURI'} for ${isEdition ? 'id' : 'token'} ${tokenId} — it may not be an ABX/ERC-${isEdition ? '1155' : '721'} token, ${isEdition ? 'id' : 'token'} ${tokenId} may have no copies minted yet (try --token <id>), or — on a large on-chain tokenURI — an unauthenticated RPC read hit its gas cap (try a wallet-connected / high-gas RPC).\n`);
|
|
357
362
|
}
|
|
358
363
|
process.exitCode = 1;
|
|
359
364
|
return;
|
|
@@ -387,7 +392,7 @@ export async function cmdTokenUri(address, flags, extra = []) {
|
|
|
387
392
|
process.exitCode = 1;
|
|
388
393
|
return;
|
|
389
394
|
}
|
|
390
|
-
console.log(`\n ${bold(
|
|
395
|
+
console.log(`\n ${bold(`${isEdition ? 'uri' : 'tokenURI'}(${tokenId})`)} ${dim(`— read directly from ${address} on ${CHAIN}, no server`)}`);
|
|
391
396
|
const json = decodeOnChainJson(uri);
|
|
392
397
|
if (json) {
|
|
393
398
|
info('decoded on-chain JSON:');
|
|
@@ -565,6 +570,9 @@ export async function cmdTokens(address, flags) {
|
|
|
565
570
|
process.exitCode = 1;
|
|
566
571
|
return;
|
|
567
572
|
}
|
|
573
|
+
// Kind, up front: an edition has no whole-contract `totalSupply()` and no single owner per id
|
|
574
|
+
// (many concurrent holders) — the header + table below both branch on it.
|
|
575
|
+
const kind = await detectTokenKind(publicClient, address);
|
|
568
576
|
const listing = await listTokens(publicClient, address, {
|
|
569
577
|
from: flags.from === undefined ? undefined : Number(flags.from),
|
|
570
578
|
limit: flags.limit === undefined ? undefined : Number(flags.limit),
|
|
@@ -578,12 +586,19 @@ export async function cmdTokens(address, flags) {
|
|
|
578
586
|
process.stdout.write(JSON.stringify(listing, null, 2) + '\n');
|
|
579
587
|
return;
|
|
580
588
|
}
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
589
|
+
if (kind.isEdition) {
|
|
590
|
+
const totalCopies = listing.tokens.reduce((n, t) => n + (t.supply !== undefined ? Number(t.supply) : 0), 0);
|
|
591
|
+
const idSpace = listing.maxInvocations !== null && listing.maxInvocations > 0 ? ` of ${listing.maxInvocations} id(s)` : '';
|
|
592
|
+
console.log(`\n ${bold(`${describeKind(kind)} ${address}`)} ${dim(`— ${listing.tokens.length} id(s) read${idSpace}, ${totalCopies} total cop${totalCopies === 1 ? 'y' : 'ies'} on ${CHAIN}`)}`);
|
|
593
|
+
}
|
|
594
|
+
else {
|
|
595
|
+
const supply = listing.totalSupply ?? listing.tokens.length;
|
|
596
|
+
const cap = listing.maxInvocations !== null && listing.maxInvocations > 0 ? ` of ${listing.maxInvocations} max` : '';
|
|
597
|
+
console.log(`\n ${bold(`tokens ${address}`)} ${dim(`— ${supply} minted${cap} on ${CHAIN}`)}`);
|
|
598
|
+
}
|
|
584
599
|
info('read straight from the contract — no indexer, no resolver, no server in the loop');
|
|
585
600
|
if (!listing.hasParams) {
|
|
586
|
-
info(
|
|
601
|
+
info(`this token type has no params extension — so no seeds or params to list (that is correct, not a failed read). ${kind.isEdition ? 'Copies' : 'Owners'} below.`);
|
|
587
602
|
}
|
|
588
603
|
else if (!listing.hasParamEnumeration) {
|
|
589
604
|
warn('this contract predates on-chain param enumeration — seeds still read, but params cannot be listed. Redeploy on a current implementation to enumerate them.');
|
|
@@ -595,20 +610,37 @@ export async function cmdTokens(address, flags) {
|
|
|
595
610
|
console.log(` ${g(k)}=${listing.contractParams[k]}`);
|
|
596
611
|
}
|
|
597
612
|
if (!listing.tokens.length) {
|
|
598
|
-
console.log(`\n ${dim(
|
|
613
|
+
console.log(`\n ${dim(`no ${kind.isEdition ? 'ids' : 'tokens'} in range — nothing minted yet, or --from is past the mint frontier.`)}\n`);
|
|
599
614
|
return;
|
|
600
615
|
}
|
|
601
616
|
const anySeed = listing.tokens.some((t) => t.seed !== null);
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
//
|
|
605
|
-
|
|
606
|
-
const
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
console.log(`
|
|
617
|
+
if (kind.isEdition) {
|
|
618
|
+
// No `owner` column (an id can have many concurrent holders — not chain-enumerable outside the
|
|
619
|
+
// event log; see `TokenRow.owner`'s own doc). `supply`/`maxSupply` are what a head read CAN say.
|
|
620
|
+
console.log(`\n ${dim('id'.padStart(4))} ${anySeed ? dim('seed'.padEnd(66)) + ' ' : ''}${dim('copies (cap)')}`);
|
|
621
|
+
for (const t of listing.tokens) {
|
|
622
|
+
const seedCell = anySeed ? `${t.seed ?? dim('—'.padEnd(66))} ` : '';
|
|
623
|
+
const supplyCell = t.supply !== undefined
|
|
624
|
+
? `${t.supply}${t.maxSupply !== undefined && t.maxSupply !== '0' ? `/${t.maxSupply}` : dim(' (open)')}`
|
|
625
|
+
: dim('—');
|
|
626
|
+
console.log(` ${bold(('#' + t.tokenId).padStart(4))} ${seedCell}${supplyCell}`);
|
|
627
|
+
const keys = Object.keys(t.params).sort();
|
|
628
|
+
if (keys.length)
|
|
629
|
+
console.log(` ${keys.map((k) => `${g(k)}=${t.params[k]}`).join(dim(' · '))}`);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
else {
|
|
633
|
+
console.log(`\n ${dim('id'.padStart(4))} ${anySeed ? dim('seed'.padEnd(66)) + ' ' : ''}${dim('owner')}`);
|
|
634
|
+
for (const t of listing.tokens) {
|
|
635
|
+
// A seed is the whole reason this command exists, so it prints in FULL. The owner truncates —
|
|
636
|
+
// an address stays recognizable abbreviated, and `--json` carries both verbatim either way.
|
|
637
|
+
const seedCell = anySeed ? `${t.seed ?? dim('—'.padEnd(66))} ` : '';
|
|
638
|
+
const owner = t.owner ? shortAddr(t.owner) : dim('— unminted or burned');
|
|
639
|
+
console.log(` ${bold(('#' + t.tokenId).padStart(4))} ${seedCell}${owner}`);
|
|
640
|
+
const keys = Object.keys(t.params).sort();
|
|
641
|
+
if (keys.length)
|
|
642
|
+
console.log(` ${keys.map((k) => `${g(k)}=${t.params[k]}`).join(dim(' · '))}`);
|
|
643
|
+
}
|
|
612
644
|
}
|
|
613
645
|
// The token-scope param SPREAD — what collectors actually chose, which is the question a param
|
|
614
646
|
// dump is usually a step toward. Deliberately NOT called a trait spread: traits come from running
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reads.js","sourceRoot":"","sources":["../../src/commands/reads.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reads.js","sourceRoot":"","sources":["../../src/commands/reads.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Flags } from '../flags.js';
|
|
2
|
+
import { type TokenKindInfo } from '../kind.js';
|
|
2
3
|
/**
|
|
3
4
|
* Doctor's "want me to fix that?" for a missing or stale skill. Three lanes, deliberately:
|
|
4
5
|
* `--fix` install without asking (CI, scripts, an agent running doctor for someone)
|
|
@@ -11,19 +12,20 @@ import { type Flags } from '../flags.js';
|
|
|
11
12
|
export declare function offerSkillInstall(flags: Flags, stale: boolean, indent: string): Promise<void>;
|
|
12
13
|
export declare function cmdDoctor(flags: Flags): Promise<void>;
|
|
13
14
|
/**
|
|
14
|
-
* Refuse a mint-page target
|
|
15
|
-
* `maxInvocations`/`paused`
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
15
|
+
* Refuse a mint-page target with NO minter lane. The generated page reads
|
|
16
|
+
* `maxInvocations`/`paused` (or, for an edition, the per-id `totalSupply`/`maxSupply`) and mints
|
|
17
|
+
* through a shared fixed-price minter — none of which a plain 1/1 (`OneOfOneImage`) has, since it
|
|
18
|
+
* has no minter lane at all. Before this check, pointing `mint-page` at a 1/1 wrote a page that
|
|
19
|
+
* compiled and ran fine, then sat on "Loading…" forever with no diagnostic.
|
|
19
20
|
*
|
|
20
|
-
* `
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
21
|
+
* `kind` is the caller's `detectTokenKind` result — every kind EXCEPT `1of1` composes a minter lane
|
|
22
|
+
* (Series/SeriesCode via `AbxFixedPriceMinter`; the three edition twins via its 1155 sibling — see
|
|
23
|
+
* the parity plan's "deliberate asymmetry" note on why even `OneOfOneEdition`, unlike its 721
|
|
24
|
+
* namesake, ships the sale stack). `undefined` means the probe itself couldn't run (RPC unreachable,
|
|
25
|
+
* address has no code, etc.) — that must NOT refuse: offline/best-effort scaffolding is allowed,
|
|
26
|
+
* same as the `name()` read a few lines above this call.
|
|
25
27
|
*/
|
|
26
|
-
export declare function assertMintableSeries(token: string,
|
|
28
|
+
export declare function assertMintableSeries(token: string, kind: TokenKindInfo | undefined): void;
|
|
27
29
|
export declare function cmdMintPage(address: string | undefined, flags: Flags): Promise<void>;
|
|
28
30
|
/** Locate the skill folder: the bundled copy beside the compiled CLI (published), else the
|
|
29
31
|
* canonical repo copy (dev). Returns null if neither is present. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAC,KAAK,KAAK,EAAa,MAAM,aAAa,CAAC;AACnD,OAAO,EAAkB,KAAK,aAAa,EAAC,MAAM,YAAY,CAAC;AAkB/D;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BnG;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,KAAK,iBA8L3C;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAQzF;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,iBAsF1E;AAiBD;qEACqE;AACrE,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAkBnD;AAED;yFACyF;AACzF,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAUvD;AAED;;;oGAGoG;AACpG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,QAuB/D;AAED,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGtD,CAAC;AAEF;;8EAE8E;AAC9E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAc7E;AAED;;;;;;;6DAO6D;AAC7D,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,mBAAmB,CAM3F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAM,GAAG,MAAM,CAezG;AAED,uGAAuG;AACvG,wBAAgB,iBAAiB,CAAC,IAAI,GAAE;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAM,GAAG,MAAM,CAGvF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,iBAoC1D"}
|
|
@@ -9,11 +9,12 @@ import { homedir } from 'node:os';
|
|
|
9
9
|
import { basename, join as joinPath, resolve as resolvePath } from 'node:path';
|
|
10
10
|
import { createInterface } from 'node:readline';
|
|
11
11
|
import { fileURLToPath } from 'node:url';
|
|
12
|
-
import { isCurrentFactory, makePublicClient, makeWalletClient, oneOfOneImageAbi, probeRpcEndpoints, resolveChain,
|
|
12
|
+
import { isCurrentFactory, isCurrentOneOfOneEditionFactory, makePublicClient, makeWalletClient, oneOfOneImageAbi, probeRpcEndpoints, resolveChain, } from '@artblocks/abx-sdk';
|
|
13
13
|
import { arweaveAddress, probeStorageBackend, resolveBackend } from '@artblocks/abx-storage';
|
|
14
14
|
import { formatEther } from 'viem';
|
|
15
|
-
import { CHAIN, activeBackendId, arweaveKeyFilePath, factoryAddress, faucetHint, fixedPriceMinterAddress, loadArweaveJwk, storageOptions, } from '../config.js';
|
|
15
|
+
import { CHAIN, activeBackendId, arweaveKeyFilePath, factoryAddress, faucetHint, fixedPriceMinterAddress, fixedPriceMinter1155Address, oneOfOneEditionFactoryAddress, loadArweaveJwk, storageOptions, } from '../config.js';
|
|
16
16
|
import { CliError } from '../errors.js';
|
|
17
|
+
import { detectTokenKind } from '../kind.js';
|
|
17
18
|
import { PUBLIC_RPC, mintPageArtifact } from '../mintpage.js';
|
|
18
19
|
import { bold, c, dim, findRepoRoot, g, info, ok, step, warn } from '../output.js';
|
|
19
20
|
import { declinesSkillInstall } from '../prompt.js';
|
|
@@ -101,6 +102,7 @@ export async function cmdDoctor(flags) {
|
|
|
101
102
|
// 2. Core environment (✓/✗). Signing-wallet balances are computed here (they need the RPC) but
|
|
102
103
|
// printed in the Optional block below, so buffer them.
|
|
103
104
|
let signingOpt = null;
|
|
105
|
+
let minter1155Opt = null;
|
|
104
106
|
let forOpt = null;
|
|
105
107
|
try {
|
|
106
108
|
const publicClient = makePublicClient({ chainKey: CHAIN });
|
|
@@ -132,6 +134,33 @@ export async function cmdDoctor(flags) {
|
|
|
132
134
|
else {
|
|
133
135
|
check('factory', false, 'none yet — `abx demo` deploys one');
|
|
134
136
|
}
|
|
137
|
+
// The edition twin — same shape as the 721 `factory` check above (isCurrent* probe, same
|
|
138
|
+
// pass/fail posture on "no code yet"). The other two edition factories (EditionImage/
|
|
139
|
+
// EditionCode) and the two edition-related singletons that have no analogous check today
|
|
140
|
+
// either (the 1155 minter, and — same as the 721 minter — no code-version probe to run) are
|
|
141
|
+
// left to their own commands' own bootstrap (`abx deploy-series --copies` / `deploy-code
|
|
142
|
+
// --copies` / `minter configure --token-id`) rather than duplicating a fourth/fifth check here.
|
|
143
|
+
const editionFactory = oneOfOneEditionFactoryAddress();
|
|
144
|
+
if (editionFactory) {
|
|
145
|
+
const code = await publicClient.getCode({ address: editionFactory });
|
|
146
|
+
if (!code || code === '0x')
|
|
147
|
+
check('edition factory', false, `${editionFactory} — no code on ${CHAIN}; \`abx deploy --copies <n|open>\` redeploys`);
|
|
148
|
+
else if (await isCurrentOneOfOneEditionFactory(publicClient, editionFactory))
|
|
149
|
+
check('edition factory', true, editionFactory);
|
|
150
|
+
else
|
|
151
|
+
check('edition factory', false, `${editionFactory} — older/incompatible; \`abx deploy --copies <n|open>\` redeploys`);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
check('edition factory', false, 'none yet — `abx deploy --copies <n|open>` deploys one');
|
|
155
|
+
}
|
|
156
|
+
// The shared edition sale singleton — Optional, not pass/fail: unlike the factory (a platform
|
|
157
|
+
// allowlist anchor), a project that never sells through the shared minter has no reason to have
|
|
158
|
+
// one deployed yet (same reason there is no equivalent 721 `fixedPriceMinter` check above).
|
|
159
|
+
const minter1155 = fixedPriceMinter1155Address();
|
|
160
|
+
if (minter1155) {
|
|
161
|
+
const code = await publicClient.getCode({ address: minter1155 });
|
|
162
|
+
minter1155Opt = code && code !== '0x' ? minter1155 : `${minter1155} configured but no code on ${CHAIN} — \`abx minter configure <addr> --token-id <n> …\` redeploys`;
|
|
163
|
+
}
|
|
135
164
|
if (hasKey) {
|
|
136
165
|
const { account } = makeWalletClient({ chainKey: CHAIN });
|
|
137
166
|
const bal = await publicClient.getBalance({ address: account.address });
|
|
@@ -210,6 +239,10 @@ export async function cmdDoctor(flags) {
|
|
|
210
239
|
opt('resolver URL', baseUrl);
|
|
211
240
|
else
|
|
212
241
|
opt('resolver URL', 'ABX_PUBLIC_BASE_URL unset → needed for off-chain/resolver-served deploys; skip if fully on-chain (--onchain-image / --onchain-uri).');
|
|
242
|
+
if (minter1155Opt)
|
|
243
|
+
opt('1155 minter', minter1155Opt);
|
|
244
|
+
else
|
|
245
|
+
opt('1155 minter', 'none yet — `abx minter configure <addr> --token-id <n> …` on an edition deploys one');
|
|
213
246
|
if (!process.env.ARWEAVE_JWK && existsSync(arweaveKeyFilePath())) {
|
|
214
247
|
const jwk = loadArweaveJwk();
|
|
215
248
|
opt('arweave key', `${jwk ? arweaveAddress(jwk) + ' ' : ''}holds upload credits — back it up: \`abx storage backup-key --out <path>\``);
|
|
@@ -235,22 +268,24 @@ export async function cmdDoctor(flags) {
|
|
|
235
268
|
}
|
|
236
269
|
// ── mint-page — scaffold a Next.js mint site for a collection (fixed-price minter) ─────────────
|
|
237
270
|
/**
|
|
238
|
-
* Refuse a mint-page target
|
|
239
|
-
* `maxInvocations`/`paused`
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
271
|
+
* Refuse a mint-page target with NO minter lane. The generated page reads
|
|
272
|
+
* `maxInvocations`/`paused` (or, for an edition, the per-id `totalSupply`/`maxSupply`) and mints
|
|
273
|
+
* through a shared fixed-price minter — none of which a plain 1/1 (`OneOfOneImage`) has, since it
|
|
274
|
+
* has no minter lane at all. Before this check, pointing `mint-page` at a 1/1 wrote a page that
|
|
275
|
+
* compiled and ran fine, then sat on "Loading…" forever with no diagnostic.
|
|
243
276
|
*
|
|
244
|
-
* `
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
277
|
+
* `kind` is the caller's `detectTokenKind` result — every kind EXCEPT `1of1` composes a minter lane
|
|
278
|
+
* (Series/SeriesCode via `AbxFixedPriceMinter`; the three edition twins via its 1155 sibling — see
|
|
279
|
+
* the parity plan's "deliberate asymmetry" note on why even `OneOfOneEdition`, unlike its 721
|
|
280
|
+
* namesake, ships the sale stack). `undefined` means the probe itself couldn't run (RPC unreachable,
|
|
281
|
+
* address has no code, etc.) — that must NOT refuse: offline/best-effort scaffolding is allowed,
|
|
282
|
+
* same as the `name()` read a few lines above this call.
|
|
249
283
|
*/
|
|
250
|
-
export function assertMintableSeries(token,
|
|
251
|
-
if (
|
|
252
|
-
throw new CliError(`${token} looks like a 1/1 (OneOfOneImage) — mint-page sells through
|
|
253
|
-
` Deploy a
|
|
284
|
+
export function assertMintableSeries(token, kind) {
|
|
285
|
+
if (kind?.kind === '1of1') {
|
|
286
|
+
throw new CliError(`${token} looks like a 1/1 (OneOfOneImage) — mint-page sells through a shared fixed-price minter, which needs a Series/EditionImage/EditionCode contract (or an edition of one artwork); a plain 1/1 has no minter lane.\n` +
|
|
287
|
+
` Deploy a Series instead: abx deploy-series --dir <folder> --count 1\n` +
|
|
288
|
+
` …or copies of one artwork: abx deploy --copies <n|open>`);
|
|
254
289
|
}
|
|
255
290
|
}
|
|
256
291
|
export async function cmdMintPage(address, flags) {
|
|
@@ -261,16 +296,31 @@ export async function cmdMintPage(address, flags) {
|
|
|
261
296
|
process.exitCode = 1;
|
|
262
297
|
return;
|
|
263
298
|
}
|
|
264
|
-
const
|
|
299
|
+
const publicClient = makePublicClient({ chainKey: CHAIN });
|
|
300
|
+
// Kind decides which shared minter (721 `AbxFixedPriceMinter` vs its 1155 `…1155` sibling) and
|
|
301
|
+
// which purchase shape (one project-wide sale vs a per-`(token,id)` sale with a quantity) the
|
|
302
|
+
// generated page needs. A probe failure (RPC unreachable, no code at the address) is left
|
|
303
|
+
// `undefined` and does NOT refuse — matches the best-effort name() read below.
|
|
304
|
+
let kind;
|
|
305
|
+
try {
|
|
306
|
+
kind = await detectTokenKind(publicClient, token);
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
warn(`could not confirm ${token}'s kind (RPC unreachable?) — continuing without the check.`);
|
|
310
|
+
}
|
|
311
|
+
assertMintableSeries(token, kind);
|
|
312
|
+
const isEdition = !!kind?.isEdition;
|
|
313
|
+
const minter = isEdition ? fixedPriceMinter1155Address(flags['minter-contract']) : fixedPriceMinterAddress(flags['minter-contract']);
|
|
265
314
|
if (!minter) {
|
|
266
|
-
throw new Error(`no shared fixed-price minter known for ${CHAIN} — run
|
|
315
|
+
throw new Error(`no shared ${isEdition ? 'edition ' : ''}fixed-price minter known for ${CHAIN} — run ` +
|
|
316
|
+
`\`abx minter configure ${token}${isEdition ? ' --token-id <n>' : ''} …\` first (it deploys + records one), ` +
|
|
317
|
+
`or set ${isEdition ? 'ABX_FIXED_PRICE_MINTER_1155' : 'ABX_FIXED_PRICE_MINTER'}.`);
|
|
267
318
|
}
|
|
268
319
|
const chain = resolveChain(CHAIN);
|
|
269
320
|
const rpcUrl = flags.rpc && flags.rpc !== 'true' ? flags.rpc : PUBLIC_RPC[chain.id];
|
|
270
321
|
if (!rpcUrl) {
|
|
271
322
|
throw new Error(`no public RPC known for ${CHAIN} (chainId ${chain.id}) — pass --rpc <public-keyless-url> (it is embedded in the public site, so it must not contain a secret key).`);
|
|
272
323
|
}
|
|
273
|
-
const publicClient = makePublicClient({ chainKey: CHAIN });
|
|
274
324
|
// Default the display name from the token's on-chain name (read-only); --name overrides.
|
|
275
325
|
let collectionName = flags.name && flags.name !== 'true' ? flags.name : '';
|
|
276
326
|
if (!collectionName) {
|
|
@@ -285,23 +335,6 @@ export async function cmdMintPage(address, flags) {
|
|
|
285
335
|
collectionName = 'ABX Collection';
|
|
286
336
|
}
|
|
287
337
|
}
|
|
288
|
-
// Refuse a 1/1 target up front — the generated page's maxInvocations/paused reads and its purchase()
|
|
289
|
-
// lane only exist on a Series contract. Same ERC-165 probe sdk/anchors.ts's isCurrentSeriesFactory
|
|
290
|
-
// uses (IAbxSequentialMint). A probe failure (RPC unreachable, no code at the address) is left
|
|
291
|
-
// `undefined` and does NOT refuse — matches the best-effort name() read just above.
|
|
292
|
-
let isSeries;
|
|
293
|
-
try {
|
|
294
|
-
isSeries = (await publicClient.readContract({
|
|
295
|
-
address: token,
|
|
296
|
-
abi: seriesImageAbi,
|
|
297
|
-
functionName: 'supportsInterface',
|
|
298
|
-
args: ['0x6a627842'], // type(IAbxSequentialMint).interfaceId = bytes4(keccak256("mint(address)"))
|
|
299
|
-
}));
|
|
300
|
-
}
|
|
301
|
-
catch {
|
|
302
|
-
warn(`could not confirm ${token} is a Series contract (RPC unreachable?) — continuing without the check.`);
|
|
303
|
-
}
|
|
304
|
-
assertMintableSeries(token, isSeries);
|
|
305
338
|
const art = mintPageArtifact({
|
|
306
339
|
token,
|
|
307
340
|
minter,
|
|
@@ -310,12 +343,15 @@ export async function cmdMintPage(address, flags) {
|
|
|
310
343
|
rpcUrl,
|
|
311
344
|
collectionName,
|
|
312
345
|
explorer: chain.blockExplorers?.default?.url,
|
|
346
|
+
isEdition,
|
|
313
347
|
});
|
|
314
348
|
const dir = flags.dir && flags.dir !== 'true' ? flags.dir : 'mint-page';
|
|
315
349
|
const outDir = resolvePath(dir);
|
|
316
350
|
console.log(bold('\n ABX Self-Host Toolkit — mint page'));
|
|
317
|
-
info(`collection ${bold(collectionName)} ${dim(token)}`);
|
|
351
|
+
info(`collection ${bold(collectionName)} ${dim(token)}${isEdition ? dim(` · ${kind.label} (edition)`) : ''}`);
|
|
318
352
|
info(`minter ${minter} ${dim('· ' + chain.name + ' · reads via ' + rpcUrl)}`);
|
|
353
|
+
if (isEdition)
|
|
354
|
+
info(dim('edition purchase shape: token id + quantity, price × qty — no minted-tokens gallery in this v1 page (see the README).'));
|
|
319
355
|
step('Write the mint-page artifact (self-contained Next.js app — reads chain directly, no backend)');
|
|
320
356
|
for (const f of art.files) {
|
|
321
357
|
const dest = joinPath(outDir, f.path);
|