@artblocks/abx-cli 0.1.0 → 0.3.0

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.
@@ -680,7 +680,7 @@ export async function cmdVerifyBody(address, flags, emit) {
680
680
  generatorCurrent, // true | false | null (no canonical generator recorded for this chain)
681
681
  tokenURIRenderer: state.tokenURIRenderer ?? null,
682
682
  // null ⇒ no renderer set at all (nothing to compare) — distinct from `false` (set, but not
683
- // spec v11). See `isCurrentRenderer`: a read failure ALSO reports `false`, same as a stale
683
+ // spec v12). See `isCurrentRenderer`: a read failure ALSO reports `false`, same as a stale
684
684
  // renderer — the underlying probe cannot tell those apart, so neither can this field.
685
685
  tokenURIRendererCurrent: rendererCurrent,
686
686
  branch: status.branchName,
@@ -699,9 +699,9 @@ export async function cmdVerifyBody(address, flags, emit) {
699
699
  info(`generator is NOT the current canonical one for ${CHAIN} ${dim('(a prior deployment this project is pinned to, or a fully custom field renderer — it still works; repoint with')} ${bold(`abx set-field ${address} --field animation_url --representation renderer --value <generator> --collection`)}${dim(')')}`);
700
700
  } // null: no canonical generator recorded for this chain at all — nothing to compare against, so say nothing rather than a false "NOT current".
701
701
  if (rendererCurrent === true)
702
- ok(`tokenURI renderer is CURRENT (spec v11)`);
702
+ ok(`tokenURI renderer is CURRENT (spec v12)`);
703
703
  else if (rendererCurrent === false) {
704
- info(`tokenURI renderer is NOT current (spec v11) ${dim(`— an older renderer still serves fine; it just doesn't have v11's capabilities (see the renderer's changelog in deployments.ts). Repoint with`)} ${bold(`abx set-renderer ${address} --collection`)}${dim(' (and without --collection for the per-token pointer)')}`);
704
+ info(`tokenURI renderer is NOT current (spec v12) ${dim(`— an older renderer still serves fine; it just doesn't have v12's capabilities (see the renderer's changelog in deployments.ts). Repoint with`)} ${bold(`abx set-renderer ${address} --collection`)}${dim(' (and without --collection for the per-token pointer)')}`);
705
705
  }
706
706
  if (status.branchName === 'template') {
707
707
  ok(`generator branch: template — the document assembles from the on-chain script chunks`);
@@ -1 +1 @@
1
- {"version":3,"file":"mintpage.d.ts","sourceRoot":"","sources":["../src/mintpage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd;yEACqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,cAAc,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;6FAE6F;AAC7F,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7C,CAAC;AA8mBF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,eAAe,GAAG,gBAAgB,CA2BrE"}
1
+ {"version":3,"file":"mintpage.d.ts","sourceRoot":"","sources":["../src/mintpage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd;yEACqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,cAAc,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;6FAE6F;AAC7F,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO7C,CAAC;AA8mBF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,eAAe,GAAG,gBAAgB,CA2BrE"}
package/dist/mintpage.js CHANGED
@@ -28,6 +28,8 @@ export const PUBLIC_RPC = {
28
28
  11155111: 'https://ethereum-sepolia-rpc.publicnode.com',
29
29
  8453: 'https://mainnet.base.org',
30
30
  84532: 'https://sepolia.base.org',
31
+ 42161: 'https://arb1.arbitrum.io/rpc',
32
+ 421614: 'https://sepolia-rollup.arbitrum.io/rpc',
31
33
  };
32
34
  const slug = (s) => s
33
35
  .toLowerCase()
@@ -1 +1 @@
1
- {"version":3,"file":"mintpage.js","sourceRoot":"","sources":["../src/mintpage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintpage.js","sourceRoot":"","sources":["../src/mintpage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAmCjD;;6FAE6F;AAC7F,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,CAAC,EAAE,qCAAqC;IACxC,QAAQ,EAAE,6CAA6C;IACvD,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE,0BAA0B;IACjC,KAAK,EAAE,8BAA8B;IACrC,MAAM,EAAE,wCAAwC;CACjD,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CACjC,CAAC;KACE,WAAW,EAAE;KACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;KAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;AAEtC,iFAAiF;AACjF,gGAAgG;AAChG,kGAAkG;AAClG,uDAAuD;AAEvD,SAAS,WAAW,CAAC,CAAkB;IACrC,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,OAAO;QACtC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAC;QACpE,YAAY,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,4FAA4F;YAC5F,wFAAwF;YACxF,2FAA2F;YAC3F,qFAAqF;YACrF,oBAAoB,EAAE,GAAG,GAAG,cAAc,EAAE;SAC7C;QACD,eAAe,EAAE;YACf,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,SAAS;YACxB,cAAc,EAAE,SAAS;YACzB,kBAAkB,EAAE,SAAS;SAC9B;KACF,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG;;;;;CAKnB,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAC7B;IACE,eAAe,EAAE;QACf,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;QACtC,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,QAAQ;QAChB,gBAAgB,EAAE,SAAS;QAC3B,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,IAAI;QACrB,GAAG,EAAE,UAAU;QACf,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;QACzB,KAAK,EAAE,EAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAC;KACxB;IACD,OAAO,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC;IACxE,OAAO,EAAE,CAAC,cAAc,CAAC;CAC1B,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AAEF,MAAM,QAAQ,GAAG;;;CAGhB,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;CAOjB,CAAC;AAEF,SAAS,OAAO,CAAC,CAAkB;IACjC,OAAO,CACL,uBAAuB;QACvB,CAAC,CAAC,OAAO;QACT,2BAA2B;QAC3B,CAAC,CAAC,SAAS;QACX,4FAA4F;QAC5F,sBAAsB;QACtB,CAAC,CAAC,MAAM;QACR,sBAAsB;QACtB,CAAC,CAAC,KAAK;QACP,uBAAuB;QACvB,CAAC,CAAC,MAAM;QACR,gCAAgC;QAChC,CAAC,CAAC,cAAc;QAChB,yBAAyB;QACzB,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClB,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG;;;;;;;;;CASlB,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;;;;CAUjB,CAAC;AAEF,MAAM,OAAO,GAAG;;;;;;;;;;;;;;CAcf,CAAC;AAEF,mGAAmG;AACnG,iGAAiG;AACjG,4FAA4F;AAC5F,MAAM,eAAe,GAAG;;;;;;CAMvB,CAAC;AAEF,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDhB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;CAalB,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BnB,CAAC;AAEF,MAAM,QAAQ,GAAG;;;;CAIhB,CAAC;AAEF,4FAA4F;AAC5F,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmKvB,CAAC;AAEF,+FAA+F;AAC/F,mGAAmG;AACnG,0FAA0F;AAC1F,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4J/B,CAAC;AAEF,SAAS,MAAM,CAAC,CAAkB;IAChC,OAAO,CACL,IAAI;QACJ,CAAC,CAAC,cAAc;QAChB,kBAAkB;QAClB,6DAA6D;QAC7D,CAAC,CAAC,KAAK;QACP,6CAA6C;QAC7C,CAAC,CAAC,MAAM;QACR,OAAO;QACP,CAAC,CAAC,SAAS;QACX,qCAAqC;QACrC,uBAAuB;QACvB,yEAAyE;QACzE,mIAAmI;QACnI,sCAAsC;QACtC,yHAAyH;QACzH,sMAAsM;QACtM,6CAA6C;QAC7C,2HAA2H;QAC3H,mNAAmN;QACnN,2JAA2J;QAC3J,yYAAyY;QACzY,2MAA2M;QAC3M,CAAC,CAAC,CAAC,SAAS;YACV,CAAC,CAAC,sYAAsY;YACxY,CAAC,CAAC,6LAA6L,CAAC,CACnM,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAkB;IACjD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChC,OAAO;QACL,KAAK,EAAE;YACL,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAC;YAC/C,EAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAC;YAC/C,EAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAC;YAC1C,EAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAC;YAC1C,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAC;YACxC,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAC;YACzC,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAC,GAAG,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAC,CAAC,EAAC;YAC7F,EAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAC;YAC5C,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAC;YAC1C,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,EAAC;YACpE,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAC;YACxC,EAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAC;YAC/C,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAC;YAC7C,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAC;YACzC,EAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,EAAC;YAC7F,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAC;SACxC;QACD,KAAK,EAAE;YACL,aAAa;YACb,2DAA2D;YAC3D,kGAAkG;SACnG;KACF,CAAC;AACJ,CAAC"}
@@ -363,6 +363,15 @@ export declare function guardOnChainSize(bytesLen: number, label: string): Promi
363
363
  * so the count the human is told up front is the same one the real staging will produce.
364
364
  */
365
365
  export declare function computeContentPlan(bytes: Buffer, compress: Compress): ContentPlan;
366
+ /**
367
+ * The `abx_image_type` a file stored in the `image` field needs: `null` for SVG (the default, nothing
368
+ * to declare), else the type named by the file's extension — the same declared-type convention
369
+ * `abx attach` uses; bytes are never sniffed for a raster type. Throws, before anything is staged,
370
+ * for a file no browser would draw as an image.
371
+ */
372
+ export declare function storedImageTypeFor(bytes: Uint8Array, path: string): string | null;
373
+ /** The inline `abx_image_type` field declaring `type` for stored image bytes. */
374
+ export declare const imageTypeField: (type: string) => OnChainFieldInput;
366
375
  export declare function refusePrewrappedImage(bytes: Uint8Array | string, label: string): void;
367
376
  /**
368
377
  * Dry-run preview of staging an image fully on-chain — the REAL chunk + transaction plan,
@@ -379,7 +388,7 @@ export declare function previewImageStaging(imagePath: string, compress: Compres
379
388
  * The manifest is deployer-independent, so this is computed once and reused for any signer.
380
389
  */
381
390
  export declare function stageImageField(imagePath: string, compress: Compress, send: SendTx): Promise<{
382
- field: OnChainFieldInput;
391
+ fields: OnChainFieldInput[];
383
392
  note: string;
384
393
  }>;
385
394
  /**
@@ -387,10 +396,12 @@ export declare function stageImageField(imagePath: string, compress: Compress, s
387
396
  * {@link stageImageField} for a Series. The store is resolved/deployed **once** (not per token),
388
397
  * then every file is staged against it and returned as its own `reader`-backed `image` field.
389
398
  * Each field still points at its own manifest, so each token's work is independent; they just
390
- * share the store contract. Returns the fields in input order (token order).
399
+ * share the store contract. Returns the fields in input order (token order), with each file's
400
+ * `abx_image_type` declaration (`null` for SVG) at the same index in `typeFields`.
391
401
  */
392
402
  export declare function stageImageFieldsBatch(imagePaths: string[], compress: Compress, send: SendTx, storeOverride?: string): Promise<{
393
403
  fields: OnChainFieldInput[];
404
+ typeFields: (OnChainFieldInput | null)[];
394
405
  store: Address;
395
406
  }>;
396
407
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ownerops.d.ts","sourceRoot":"","sources":["../src/ownerops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ownerops.d.ts","sourceRoot":"","sources":["../src/ownerops.ts"],"names":[],"mappings":"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"}
package/dist/ownerops.js CHANGED
@@ -6,9 +6,9 @@
6
6
  * served state reflects the change. The agent picks the lane; the human only
7
7
  * approves (wallet lane) or it's the env key (hot lane).
8
8
  */
9
- import { MAX_ROYALTY_BPS, assertChainId, ensureChunkStore as sdkEnsureChunkStore, predictFixedPriceMinter, predictFixedPriceMinter1155, makeHotSender, makePublicClient, makeWalletClient, oneOfOneImageAbi, oneOfOneEditionAbi, seriesImageAbi, deployFixedPriceMinter, deployFixedPriceMinter1155, prepareConfigureSale, prepareConfigureSale1155, preparePurchase, preparePurchase1155, readSaleConfig, readSaleConfig1155, prepareEditionMint, prepareEditionTransfer, prepareSetMaxSupply, preparePingURI, prepareLockContractField, prepareLockContractURI, prepareLockTokenField, prepareLockTokenURI, prepareMint, mintedTokenIds, prepareSeriesMintMany, prepareSetMinter, prepareSetMaxInvocations, prepareSetPrimaryPayee, prepareSetPaused, prepareSetContractField, prepareSetContractURIBase, prepareSetContractURIOverride, prepareSetContractURIRenderer, prepareSetParamHooks, prepareSetParamSchema, prepareRetireParam, readParamSchema, PARAM_TYPES, prepareSetRoyalty, prepareReduceMaxRoyaltyBps, prepareSetTokenField, batchOps, prepareSetTokenURIBase, prepareSetTokenURIOverride, prepareSetTokenURIRenderer, prepareSetTransferValidator, prepareSetSeedSource, probeSeedSource, readSeedSource, predictSeedSource, getDeployment, prepareTransfer, prepareTransferOwnership, probeTransferValidator, readCreatorTokenStatus, resolveRecommendedTransferValidator, RECOMMENDED_TRANSFER_VALIDATOR, KNOWN_CHAIN_KEYS, resolveChain, resolveRpcUrl, redactRpcUrl, encodeTag, METADATA_FIELD as F, METADATA_REPRESENTATION as R, stageFieldContent, planStagedContent, exceedsOnchainSoftLimit, classifyOnchainReadSize, tokenUriGasEstimate, ONCHAIN_IMAGE_SOFT_LIMIT, ONCHAIN_PROJECT_SOFT_LIMIT, ONCHAIN_READ_WARN_BYTES, ETH_CALL_GAS_FLOOR, readableBytesAtGas, probeBestEthCallGasCap, assertUriBaseLockable, } from '@artblocks/abx-sdk';
9
+ import { MAX_ROYALTY_BPS, assertChainId, ensureChunkStore as sdkEnsureChunkStore, predictFixedPriceMinter, predictFixedPriceMinter1155, makeHotSender, makePublicClient, makeWalletClient, oneOfOneImageAbi, oneOfOneEditionAbi, seriesImageAbi, deployFixedPriceMinter, deployFixedPriceMinter1155, prepareConfigureSale, prepareConfigureSale1155, preparePurchase, preparePurchase1155, readSaleConfig, readSaleConfig1155, prepareEditionMint, prepareEditionTransfer, prepareSetMaxSupply, preparePingURI, prepareLockContractField, prepareLockContractURI, prepareLockTokenField, prepareLockTokenURI, prepareMint, mintedTokenIds, prepareSeriesMintMany, prepareSetMinter, prepareSetMaxInvocations, prepareSetPrimaryPayee, prepareSetPaused, prepareSetContractField, prepareSetContractURIBase, prepareSetContractURIOverride, prepareSetContractURIRenderer, prepareSetParamHooks, prepareSetParamSchema, prepareRetireParam, readParamSchema, PARAM_TYPES, prepareSetRoyalty, prepareReduceMaxRoyaltyBps, prepareSetTokenField, batchOps, prepareSetTokenURIBase, prepareSetTokenURIOverride, prepareSetTokenURIRenderer, prepareSetTransferValidator, prepareSetSeedSource, probeSeedSource, readSeedSource, predictSeedSource, getDeployment, prepareTransfer, prepareTransferOwnership, probeTransferValidator, readCreatorTokenStatus, resolveRecommendedTransferValidator, RECOMMENDED_TRANSFER_VALIDATOR, KNOWN_CHAIN_KEYS, resolveChain, resolveRpcUrl, redactRpcUrl, encodeTag, decodeTag, METADATA_FIELD as F, METADATA_REPRESENTATION as R, stageFieldContent, planStagedContent, exceedsOnchainSoftLimit, classifyOnchainReadSize, tokenUriGasEstimate, ONCHAIN_IMAGE_SOFT_LIMIT, ONCHAIN_PROJECT_SOFT_LIMIT, ONCHAIN_READ_WARN_BYTES, ETH_CALL_GAS_FLOOR, readableBytesAtGas, probeBestEthCallGasCap, assertUriBaseLockable, } from '@artblocks/abx-sdk';
10
10
  import { encodeScalarParam, encodeTag as encodeTagSdk, isAccepted, prepareConfigureTokenParam, prepareConfigureTokenParamData, prepareSetContractParam, prepareSetContractParamData, seriesCodeAbi, tryReadContract, } from '@artblocks/abx-sdk';
11
- import { hasParamEnumeration, GATEWAY_FIELD, GATEWAY_FLOOR, gatewayPrefixFrom, readCollectionPolicy, readEnv } from '@artblocks/abx-sdk';
11
+ import { hasParamEnumeration, GATEWAY_FIELD, GATEWAY_FLOOR, gatewayPrefixFrom, readCollectionPolicy, readEnv, DEFAULT_STORED_IMAGE_TYPE, isDeclarableImageType, storedImageType } from '@artblocks/abx-sdk';
12
12
  import { decodeFieldRenderer, encodeFieldRenderer, resolveGenerator, DEP_RESOLUTION, parseDependencyRef, prepareLockDependencies, prepareLockParamHooks, prepareLockScript, prepareRemoveLastDependency, prepareSetDependency, prepareSetDependencyRegistry, } from '@artblocks/abx-sdk';
13
13
  import { planScriptReplace, prepareRemoveLastScriptChunk, prepareSetScriptChunk, verifyScriptReplace, } from '@artblocks/abx-sdk';
14
14
  import { contentTypeFromPath } from '@artblocks/abx-storage';
@@ -1163,7 +1163,11 @@ export async function cmdSetPrimaryPayee(address, flags) {
1163
1163
  * as the hardcoded explorer table that once sent every Base Sepolia link to Etherscan — hence
1164
1164
  * `testnet` now comes from the chain registry instead of a second hand-maintained set.
1165
1165
  */
1166
- const OPENSEA_CHAIN = { 'base-sepolia': 'base_sepolia', sepolia: 'sepolia' };
1166
+ const OPENSEA_CHAIN = {
1167
+ 'base-sepolia': 'base_sepolia',
1168
+ sepolia: 'sepolia',
1169
+ arbitrum: 'arbitrum',
1170
+ };
1167
1171
  export async function cmdRefresh(address, flags) {
1168
1172
  const contract = requireAddress(address, 'abx refresh <address> [--token 0]');
1169
1173
  const tokenId = flags.token ?? '0';
@@ -1823,6 +1827,78 @@ async function putContentOnChain(bytes, compress, field, send, finalLabel = '1 o
1823
1827
  },
1824
1828
  });
1825
1829
  }
1830
+ // ── stored image types (`abx_image_type`, renderer spec v12) ──────────────────
1831
+ // Bytes stored in the `image` field carry no type of their own, so both serving planes label them
1832
+ // with the reserved `abx_image_type` declaration, SVG when unset. Every path that stores image bytes
1833
+ // on chain must therefore declare a raster's type alongside it — before v12 nothing could, and a
1834
+ // JPEG staged with `--onchain-image` was served as `image/svg+xml` and drew as a broken image.
1835
+ /** Types a stored `image` may carry: the formats browsers and marketplaces draw from a `data:` URI.
1836
+ * (`contentTypeFromPath` also knows TIFF and PSD, which no browser renders as an image.) */
1837
+ const STORABLE_IMAGE_TYPES = new Set(['image/svg+xml', 'image/png', 'image/jpeg', 'image/gif', 'image/webp', 'image/avif']);
1838
+ /**
1839
+ * The `abx_image_type` a file stored in the `image` field needs: `null` for SVG (the default, nothing
1840
+ * to declare), else the type named by the file's extension — the same declared-type convention
1841
+ * `abx attach` uses; bytes are never sniffed for a raster type. Throws, before anything is staged,
1842
+ * for a file no browser would draw as an image.
1843
+ */
1844
+ export function storedImageTypeFor(bytes, path) {
1845
+ if (/^\s*<(\?xml|svg)/i.test(new TextDecoder().decode(bytes.subarray(0, 256))))
1846
+ return null;
1847
+ const type = contentTypeFromPath(path);
1848
+ if (type === DEFAULT_STORED_IMAGE_TYPE)
1849
+ return null;
1850
+ if (!STORABLE_IMAGE_TYPES.has(type) || !isDeclarableImageType(type)) {
1851
+ const named = type === 'application/octet-stream' ? 'has no recognised image extension' : `is ${type}`;
1852
+ throw new Error(`${basename(path)} ${named}. An on-chain image must be SVG, PNG, JPEG, GIF, WebP or AVIF, and its type is ` +
1853
+ 'declared from the file extension — rename the file with its real extension, or convert it first.');
1854
+ }
1855
+ return type;
1856
+ }
1857
+ /** The inline `abx_image_type` field declaring `type` for stored image bytes. */
1858
+ export const imageTypeField = (type) => ({
1859
+ field: encodeTag(F.imageType),
1860
+ representation: encodeTag(R.inline),
1861
+ value: toHex(type),
1862
+ });
1863
+ /**
1864
+ * The `abx_image_type` write that must accompany storing `bytes` in the `image` field at this scope,
1865
+ * or `null` when the type already served is right. Both scopes are read because the served type
1866
+ * walks token → collection: a token inheriting `image/png` from its collection still needs its own
1867
+ * declaration for a JPEG, and an SVG replacing a raster needs `image/svg+xml` written back (the
1868
+ * field store rejects an empty value, so an explicit SVG declaration is how a type is cleared).
1869
+ * Refuses — before anything is staged — when the needed write would hit a locked field.
1870
+ */
1871
+ async function planImageTypeWrite(contract, collection, tokenId, bytes, path) {
1872
+ const wanted = storedImageTypeFor(bytes, path) ?? DEFAULT_STORED_IMAGE_TYPE;
1873
+ const publicClient = makePublicClient({ chainKey: CHAIN });
1874
+ const tag = encodeTag(F.imageType);
1875
+ const asField = (r) => r && r[1] !== '0x' ? [{ field: F.imageType, representation: decodeTag(r[0]), value: r[1] }] : [];
1876
+ const coll = asField(await tryReadContract(publicClient, { address: contract, abi: oneOfOneImageAbi, functionName: 'contractField', args: [tag] }));
1877
+ const tok = collection
1878
+ ? undefined
1879
+ : asField(await tryReadContract(publicClient, { address: contract, abi: oneOfOneImageAbi, functionName: 'tokenField', args: [tokenId, tag] }));
1880
+ if (storedImageType(tok, coll) === wanted)
1881
+ return null;
1882
+ const locked = collection
1883
+ ? await tryReadContract(publicClient, { address: contract, abi: oneOfOneImageAbi, functionName: 'contractFieldLocked', args: [tag] })
1884
+ : await tryReadContract(publicClient, { address: contract, abi: oneOfOneImageAbi, functionName: 'tokenFieldLocked', args: [tokenId, tag] });
1885
+ if (locked) {
1886
+ throw new Error(`${basename(path)} must be served as ${wanted}, but ${F.imageType} is locked${collection ? ' at collection scope' : ` on token #${tokenId}`} ` +
1887
+ `with a different type. Storing it would publish an image every browser mislabels, so nothing was staged.`);
1888
+ }
1889
+ return wanted;
1890
+ }
1891
+ /** A hand-set `abx_image_type` must be a value the renderer honors — anything else is silently
1892
+ * ignored on read and the image keeps serving as SVG, which is exactly the failure it exists to fix. */
1893
+ function assertImageTypeValue(flags) {
1894
+ const text = flags.text && flags.text !== 'true' ? flags.text : undefined;
1895
+ const rep = flags.representation ?? R.inline;
1896
+ if (!text || rep !== R.inline || !isDeclarableImageType(text)) {
1897
+ throw new Error(`${F.imageType} declares the media type of STORED image bytes and must be an inline image type, e.g.\n` +
1898
+ ` abx set-field <address> --field ${F.imageType} --text image/jpeg [--collection | --token 0]\n` +
1899
+ ' (lowercase `image/<subtype>`, no parameters). `abx set-field --field image --file <path>` writes it for you.');
1900
+ }
1901
+ }
1826
1902
  export function refusePrewrappedImage(bytes, label) {
1827
1903
  const head = typeof bytes === 'string' ? bytes.slice(0, 40) : new TextDecoder().decode(bytes.subarray(0, 40));
1828
1904
  if (/^\s*data:/i.test(head)) {
@@ -1839,13 +1915,15 @@ export function refusePrewrappedImage(bytes, label) {
1839
1915
  export async function previewImageStaging(imagePath, compress) {
1840
1916
  const bytes = readFileSync(resolvePath(imagePath));
1841
1917
  refusePrewrappedImage(bytes, basename(resolvePath(imagePath)));
1918
+ const type = storedImageTypeFor(bytes, resolvePath(imagePath));
1842
1919
  const p = computeContentPlan(bytes, compress);
1843
1920
  // The gate runs on the dry-run too: a refusal a creator only meets after the first staging tx has
1844
1921
  // landed is a refusal that already cost them gas.
1845
1922
  await guardOnChainSize(bytes.length, basename(resolvePath(imagePath)));
1846
1923
  return (`would stage ${basename(resolvePath(imagePath))} on-chain (chunk store): ` +
1847
1924
  `${planSizeLine(bytes.length, p, compress)} as ${p.representation}; ` +
1848
- `${planTxLine(p, '1 deploy (bakes the reader field)')}`);
1925
+ `${planTxLine(p, '1 deploy (bakes the reader field)')}` +
1926
+ (type ? `; declares ${type} (abx_image_type)` : ''));
1849
1927
  }
1850
1928
  /**
1851
1929
  * Stage an image file fully on-chain (chunk store) and return the `reader`-backed
@@ -1857,10 +1935,12 @@ export async function previewImageStaging(imagePath, compress) {
1857
1935
  export async function stageImageField(imagePath, compress, send) {
1858
1936
  const bytes = readFileSync(resolvePath(imagePath));
1859
1937
  refusePrewrappedImage(bytes, basename(resolvePath(imagePath)));
1938
+ const type = storedImageTypeFor(bytes, resolvePath(imagePath)); // refuse before the first staging tx
1860
1939
  const { value, representation } = await putContentOnChain(bytes, compress, 'image', send, '1 deploy (bakes the reader field)');
1861
1940
  return {
1862
- field: { field: encodeTag(F.image), representation: encodeTag(representation), value },
1863
- note: `image: ${bytes.length}B staged ON-CHAIN via reader (${representation}) — baked into the deploy`,
1941
+ // A raster also bakes its declared type — without it every plane serves the bytes as SVG.
1942
+ fields: [{ field: encodeTag(F.image), representation: encodeTag(representation), value }, ...(type ? [imageTypeField(type)] : [])],
1943
+ note: `image: ${bytes.length}B staged ON-CHAIN via reader (${representation})${type ? `, declared ${type}` : ''} — baked into the deploy`,
1864
1944
  };
1865
1945
  }
1866
1946
  /**
@@ -1868,9 +1948,15 @@ export async function stageImageField(imagePath, compress, send) {
1868
1948
  * {@link stageImageField} for a Series. The store is resolved/deployed **once** (not per token),
1869
1949
  * then every file is staged against it and returned as its own `reader`-backed `image` field.
1870
1950
  * Each field still points at its own manifest, so each token's work is independent; they just
1871
- * share the store contract. Returns the fields in input order (token order).
1951
+ * share the store contract. Returns the fields in input order (token order), with each file's
1952
+ * `abx_image_type` declaration (`null` for SVG) at the same index in `typeFields`.
1872
1953
  */
1873
1954
  export async function stageImageFieldsBatch(imagePaths, compress, send, storeOverride) {
1955
+ // Every file's type is settled before the store is touched, so an unstorable file costs nothing.
1956
+ const typeFields = imagePaths.map((imagePath) => {
1957
+ const type = storedImageTypeFor(readFileSync(resolvePath(imagePath)), resolvePath(imagePath));
1958
+ return type ? imageTypeField(type) : null;
1959
+ });
1874
1960
  const store = await ensureChunkStore(send, storeOverride);
1875
1961
  const fields = [];
1876
1962
  for (const imagePath of imagePaths) {
@@ -1878,7 +1964,7 @@ export async function stageImageFieldsBatch(imagePaths, compress, send, storeOve
1878
1964
  const { value, representation } = await putContentOnChain(bytes, compress, 'image', send, '1 deploy (bakes the reader fields)', store);
1879
1965
  fields.push({ field: encodeTag(F.image), representation: encodeTag(representation), value });
1880
1966
  }
1881
- return { fields, store };
1967
+ return { fields, typeFields, store };
1882
1968
  }
1883
1969
  // ── the generator repoint guard ───────────────────────────────────────────────
1884
1970
  // The canonical AbxGenerator reads a token's param surface FROM CHAIN (`tokenParamKeys` /
@@ -2040,9 +2126,18 @@ export async function cmdSetField(address, flags) {
2040
2126
  const owner = await read(contract, 'owner');
2041
2127
  await assertGeneratorRepointable(contract, field, flags); // legacy impl + the current generator = params silently invisible
2042
2128
  const staging = !!(flags.file && flags.file !== 'true'); // large content ON-CHAIN via chunk store/reader
2043
- if (staging && field === 'image') {
2044
- refusePrewrappedImage(readFileSync(resolvePath(flags.file)), `--file`);
2045
- }
2129
+ // Stored image bytes are served with the declared `abx_image_type`, so settle the type write that
2130
+ // must follow the image write now — an unstorable file or a locked declaration is refused here,
2131
+ // before any chunk is staged.
2132
+ let imageTypeWrite = null;
2133
+ if (staging && field === F.image) {
2134
+ const path = resolvePath(flags.file);
2135
+ const bytes = readFileSync(path);
2136
+ refusePrewrappedImage(bytes, `--file`);
2137
+ imageTypeWrite = await planImageTypeWrite(contract, collection, BigInt(flags.token ?? '0'), bytes, path);
2138
+ }
2139
+ if (field === F.imageType)
2140
+ assertImageTypeValue(flags);
2046
2141
  // --file + --dry-run: preview the on-chain staging plan and store/send NOTHING. (The locator/text
2047
2142
  // path flows through runWrite, which previews there; staging must short-circuit before any upload.)
2048
2143
  if (staging && isDryRun(flags)) {
@@ -2053,12 +2148,17 @@ export async function cmdSetField(address, flags) {
2053
2148
  console.log(`\n ${bold('◆ set-field ' + field)} ${dim('(dry run — nothing staged or sent)')}`);
2054
2149
  console.log(` ${dim('scope'.padEnd(12))} ${collection ? 'collection' : `token #${flags.token ?? '0'}`}`);
2055
2150
  console.log(` ${planSizeLine(bytes.length, p, parseCompress(flags.compress))}`);
2151
+ if (imageTypeWrite)
2152
+ console.log(` ${dim('then'.padEnd(12))} set ${F.imageType} = ${imageTypeWrite} ${dim('(1 more tx — the type the image is served with)')}`);
2056
2153
  console.log(dim(`\n Re-run without --dry-run to stage on-chain (lane: ${lane}).\n`));
2057
2154
  return;
2058
2155
  }
2059
- const buildTx = (value, representation) => collection
2060
- ? prepareSetContractField({ contract, field, representation, value, chainId: chainId() })
2061
- : prepareSetTokenField({ contract, tokenId: BigInt(flags.token ?? '0'), field, representation, value, chainId: chainId() });
2156
+ const buildFieldTx = (f, value, representation) => collection
2157
+ ? prepareSetContractField({ contract, field: f, representation, value, chainId: chainId() })
2158
+ : prepareSetTokenField({ contract, tokenId: BigInt(flags.token ?? '0'), field: f, representation, value, chainId: chainId() });
2159
+ const buildTx = (value, representation) => buildFieldTx(field, value, representation);
2160
+ // The declaration that follows a stored image, at the image's own scope.
2161
+ const typeTx = imageTypeWrite ? buildFieldTx(F.imageType, toHex(imageTypeWrite), R.inline) : null;
2062
2162
  // On-chain staging (--file) is a SEQUENCE — chunk write(s) → manifest → the field-set that
2063
2163
  // references it — where each tx's receipt feeds the next, so it can't be signed offline.
2064
2164
  if (staging && lane === 'unsigned') {
@@ -2076,6 +2176,8 @@ export async function cmdSetField(address, flags) {
2076
2176
  try {
2077
2177
  const { value, representation } = await putContentOnChain(bytes, compress, field, sessionStagingSender(session));
2078
2178
  await session.send(buildTx(value, representation));
2179
+ if (typeTx)
2180
+ await session.send(typeTx);
2079
2181
  }
2080
2182
  finally {
2081
2183
  session.close();
@@ -2093,7 +2195,7 @@ export async function cmdSetField(address, flags) {
2093
2195
  const session = await openWalletSession({
2094
2196
  chainKey: CHAIN,
2095
2197
  expectedSigner: owner,
2096
- total: stagingTxs + 1,
2198
+ total: stagingTxs + 1 + (typeTx ? 1 : 0),
2097
2199
  port: flags.port ? Number(flags.port) : undefined,
2098
2200
  signUrlFile: flags['sign-url-file'],
2099
2201
  });
@@ -2101,6 +2203,8 @@ export async function cmdSetField(address, flags) {
2101
2203
  await session.connect();
2102
2204
  const { value, representation } = await putContentOnChain(bytes, compress, field, sessionStagingSender(session));
2103
2205
  await session.send(buildTx(value, representation));
2206
+ if (typeTx)
2207
+ await session.send(typeTx);
2104
2208
  }
2105
2209
  finally {
2106
2210
  session.close();
@@ -2133,7 +2237,9 @@ export async function cmdSetField(address, flags) {
2133
2237
  value = encodeStructuredFieldValue(representation, value);
2134
2238
  if (representation === R.renderer)
2135
2239
  await assertFieldRendererDeployed(value);
2136
- const sent = await runWrite(contract, buildTx(value, representation), flags, owner);
2240
+ let sent = await runWrite(contract, buildTx(value, representation), flags, owner);
2241
+ if (sent && typeTx)
2242
+ sent = await runWrite(contract, typeTx, flags, owner);
2137
2243
  // Then prove the thing the creator actually cares about: that the served document still reads.
2138
2244
  // A field renderer is the project's OWN contract — it can revert for reasons no static check
2139
2245
  // sees — so the honest confirmation is to call tokenURI once, after the write.