Skip to content
Help & guides
Browse the guides

Legacy Collectibles V1 (ERC-1155-C) collection function reference

Archived AuroraCollectiblesV1 function reference. This Editions-based contract has no sealed packs; use the V2 or V3 guides for pack collections.

On this page
The creator owns the collection and chooses direct mint payments or retained proceeds. Platform fees, token-holder permissions and collection owner controls are separate.
A contract owner controls mint settings. Token holders control their own NFT approvals and transfers. Open image to enlarge

Which contract does this describe?

This reference covers AuroraCollectiblesV1, 1.0.0-collectibles-beta.1. Older deployed contracts keep their original behavior. Updating Aurora’s factory setting changes future deployments; it does not update collections that already exist. Use your collection address, including Read as Proxy or Write as Proxy when the explorer offers those tabs. Do not send collection actions to its implementation address.

Read-only functions inspect state without submitting a transaction. Writable functions require a wallet transaction and gas. Payable functions also accept the required native-currency payment. All prices and amounts in the ABI are integers in the smallest currency unit; on Ethereum and Base, that unit is wei.

Expand a function below to see its arguments, return values and explanation. Every public/external function in the compiled ABI is included, with inherited methods and overloaded functions. A function appearing on an explorer does not mean your wallet is authorized to call it. BLOCKED means the displayed selector cannot be used after initialization.

One-way actions and settings written once

  • Deployment fixes the implementation, initial validator binding, fee authority, gallery identity, name, symbol and lifetime mint ceiling. These contracts are not upgradeable. The active transfer validator can be replaced, disabled or restored by the owner using updateTransferValidator.
  • Release registration fixes its inventory root, inventory size and placeholder reference. For an artwork-backed release, the owner publishes the committed artwork catalog while the release is paused and before its first mint. Entries are appended in order and checked against that frozen commitment; existing entries cannot be overwritten. The full catalog must be published before unpausing. Existing token identities cannot be reminted as different artwork.
  • setAutoEnableTrading is editable only before the first mint and before trading is enabled. enableTrading and the first automatic enable cannot be undone.
  • endDrop permanently closes one release. closeMinting permanently stops all collection minting. Setting a pause flag back to false does not undo either closure.
  • renounceOwnership permanently removes all owner permissions. First close minting, enable trading, withdraw all proceeds and finish or cancel the reveal. Review final metadata and royalty settings before submitting. Ownership cannot be recovered; a previously nominated owner cannot accept afterward.
  • Renunciation prevents future owner-authorized metadata and royalty changes, but cannot make an HTTPS host immutable or freeze external validator policies. NFTs can still trade subject to those policies. Future validator administration that requires the collection owner becomes unavailable.

Readable functions

DEFAULT_TRANSFER_VALIDATORRead only · constant

Upstream library default validator address. Use getTransferValidator for this collection’s actual validator.

Function and arguments
DEFAULT_TRANSFER_VALIDATOR()
Returns / payment
address
MAX_BATCH_SIZERead only · constant

Maximum copies or unique NFTs in one mint transaction: 20.

Function and arguments
MAX_BATCH_SIZE()
Returns / payment
uint256
MAX_ROYALTY_BPSRead only · constant

Maximum royalty setting: 1,000 basis points, or 10%.

Function and arguments
MAX_ROYALTY_BPS()
Returns / payment
uint96
allowlistLeafRead only · proof helper

Calculates the whitelist proof leaf for a wallet, allocation and individual price, bound to this chain, collection, release and phase.

Function and arguments
allowlistLeaf(bytes32 dropId, bytes32 phaseId, address wallet, uint256 allowance, uint256 unitPrice)
Returns / payment
bytes32
autoApproveTransfersFromValidatorRead only · locked setting

Reports whether the validator has automatic operator approval. It is disabled and cannot be enabled after initialization in these builds.

Function and arguments
autoApproveTransfersFromValidator()
Returns / payment
bool
autoEnableTradingRead only · pre-mint choice

Reports whether the first mint automatically enables transfers. It can be changed only before any mint and before trading is enabled.

Function and arguments
autoEnableTrading()
Returns / payment
bool
balanceOfRead only · holder balance

ERC-721: number of NFTs held by a wallet. ERC-1155: number of copies of a specified token ID held by an account.

Function and arguments
balanceOf(address account, uint256 id)
Returns / payment
uint256
balanceOfBatchRead only · holder balances

Returns ERC-1155 balances for matching account and token-ID arrays. The arrays must have equal length.

Function and arguments
balanceOfBatch(address[] accounts, uint256[] ids)
Returns / payment
uint256[]
collectionRead only · identity

Returns this collection’s address. Native minting runs at the collection address itself.

Function and arguments
collection()
Returns / payment
address
concurrentPublicMintRead only · capability for new collections

Returns true for the current mint design: each payer has an independent authorization sequence, so another wallet minting does not invalidate their approval. Real supply, phase, price and expiry checks still apply. Older deployed builds retain their original approval behavior.

Function and arguments
concurrentPublicMint()
Returns / payment
bool
contractFamilyRead only · family identity

Identifies this immutable collection as the independent Aurora Collectibles family; its token interface is ERC-1155.

Function and arguments
contractFamily()
Returns / payment
string
contractURIRead only · reference

Returns collection-level metadata, such as its profile. This is separate from individual token metadata.

Function and arguments
contractURI()
Returns / payment
string
dropEndedRead only · permanent release flag

Reports whether a release has been permanently ended.

Function and arguments
dropEnded(bytes32)
Returns / payment
bool
editableMetadataRead only · capability, not current permission

Identifies a contract with metadata-update functions. It stays true even after ownership is renounced, when nobody can authorize owner-only updates.

Function and arguments
editableMetadata()
Returns / payment
bool
factoryRead only · immutable

Returns the factory bound into this implementation at deployment. It cannot be replaced.

Function and arguments
factory()
Returns / payment
address
galleryIdRead only · written ONCE

Aurora folder identity used to create this collection. It is fixed when initialized.

Function and arguments
galleryId()
Returns / payment
bytes32
getDropRead only · release state

Returns the release configuration, minted count, version and existence flag. A zero cap means uncapped at that level; collection limits still apply.

Function and arguments
getDrop(bytes32 dropId)
Returns / payment
(bytes32 inventoryRoot, uint256 inventorySize, string placeholderURI, uint256 supplyCap, uint256 walletCap, bool paused) config, uint256 minted, uint256 version, bool exists
getPhaseRead only · phase state

Returns phase timing, price, caps, allowlist root, pause flag, minted count, version and existence flag.

Function and arguments
getPhase(bytes32 dropId, bytes32 phaseId)
Returns / payment
(uint64 startsAt, uint64 endsAt, uint256 unitPrice, uint256 supplyCap, uint256 walletCap, bytes32 allowlistRoot, bool paused) config, uint256 minted, uint256 version, bool exists
getTransferValidationFunctionRead only · integration helper

Returns the validator function selector and whether the validation call is read-only. ERC-1155 validation includes transfer amount.

Function and arguments
getTransferValidationFunction()
Returns / payment
bytes4 functionSignature, bool isViewFunction
getTransferValidatorRead only · current validator or zero

Returns the active transfer validator. The zero address means validator checks are disabled. The owner can change this using updateTransferValidator.

Function and arguments
getTransferValidator()
Returns / payment
address validator
isApprovedForAllRead only · operator approval

Reports whether an operator is approved to transfer the holder’s tokens. Approval does not give collection administrator permissions.

Function and arguments
isApprovedForAll(address owner, address operator)
Returns / payment
bool isApproved
metadataBaseURIRead only · metadata reference

Returns the most recently published metadata directory. Covered tokens append their decimal token ID and .json.

Function and arguments
metadataBaseURI()
Returns / payment
string
metadataRevisionRead only · increasing revision

Counts published complete metadata snapshots. Expected revision protects against accidentally overwriting a newer snapshot.

Function and arguments
metadataRevision()
Returns / payment
uint256
metadataSupplyRead only · snapshot marker

Lifetime minted quantity covered when the last metadata snapshot was published. ERC-1155 counts copies, not token types.

Function and arguments
metadataSupply()
Returns / payment
uint256
mintCatalogRead only · immutable catalog address

Returns the immutable artwork catalog bound to this factory or collection implementation. Registered collections use it to store and verify committed inventory before opening a mint, then read artwork during successful mint transactions. The collection owner publishes entries through the catalog’s appendMintCatalog function; this getter does not publish or modify artwork.

Function and arguments
mintCatalog()
Returns / payment
address
mintCatalogSizeRead only · catalog publication progress

Returns the number of artwork entries uploaded to this release’s immutable catalog. A release backed by artwork cannot open until this equals its committed inventory size. This is publication progress, not the number already minted.

Function and arguments
mintCatalogSize(bytes32 dropId)
Returns / payment
uint256
mintFeeAuthorityRead only · immutable

Returns the immutable factory that validates public-mint fee authorizations. It does not have owner or withdrawal powers.

Function and arguments
mintFeeAuthority()
Returns / payment
address
mintNonceRead only · payer-specific replay protection

Returns the next authorization sequence for a paying wallet across this collection. A successful public mint increments only that payer’s sequence, consuming their previous approvals; another wallet’s mint does not change it. Failed transactions roll back the increment. This value is used in the legacy-named expectedMinted request field in current builds.

Function and arguments
mintNonce(address)
Returns / payment
uint256
mintSupplyCapRead only · written ONCE, cannot raise or remove

Lifetime collection mint ceiling. Zero means uncapped. It includes manual and public mints; ERC-1155 counts all copies.

Function and arguments
mintSupplyCap()
Returns / payment
uint256
mintedByWalletRead only · cumulative count

Total quantity minted by a paying wallet within a release. Sending the NFTs to a different recipient does not move this payer’s allowance.

Function and arguments
mintedByWallet(bytes32, address)
Returns / payment
uint256
mintingClosedRead only · ONE-WAY flag

Whether collection minting has been permanently closed.

Function and arguments
mintingClosed()
Returns / payment
bool
mintingPausedRead only · reversible until closed

Whether collection-level minting is paused. This is separate from the native sale pause and per-release/phase pauses.

Function and arguments
mintingPaused()
Returns / payment
bool
nameRead only · written ONCE

Collection name set at deployment. No later name setter is provided.

Function and arguments
name()
Returns / payment
string
nativePublicMintRead only · capability

Returns true for integrated public minting. It does not by itself identify a particular version or payout capability.

Function and arguments
nativePublicMint()
Returns / payment
bool
ownerRead only · authority

Wallet or contract with collection administrator rights. Zero address means ownership was renounced and owner-only functions cannot be used.

Function and arguments
owner()
Returns / payment
address
pausedRead only · reversible sale flag

Native sale pause flag. It blocks public minting and the owner mintBatch path; it does not stop already-enabled transfers or withdrawals.

Function and arguments
paused()
Returns / payment
bool
payoutRecipientRead only · release payment mode

Payment destination for a release. Zero means retain artwork proceeds; any configured nonzero address receives direct payouts. Different releases can have different destinations.

Function and arguments
payoutRecipient(bytes32)
Returns / payment
address
pendingOwnerRead only · ownership handover

Nominated next collection owner. Control changes only after this address accepts. Renunciation clears any pending nomination.

Function and arguments
pendingOwner()
Returns / payment
address
pendingRevealRead only · reveal plan

Current reveal commitment, release ID, base/max supply, expected metadata revision, due time and existence flag. There can be one pending reveal across the collection.

Function and arguments
pendingReveal()
Returns / payment
bytes32 dropId, bytes32 commitment, uint256 baseSupply, uint256 maxSupply, uint256 expectedRevision, uint64 revealAt, bool exists
phaseMintedByWalletRead only · cumulative count

Cumulative quantity paid for by one wallet in one release phase. Counts remain when the phase settings change.

Function and arguments
phaseMintedByWallet(bytes32, bytes32, address)
Returns / payment
uint256
placeholderArtworkIdRead only · deterministic identity

Returns the stable ERC-1155 artwork ID for placeholder mints in a release. All copies in that placeholder release share the same token ID.

Function and arguments
placeholderArtworkId(bytes32 dropId)
Returns / payment
bytes32
proceedsRead only · accounted balance

Creator revenue retained for withdrawal across releases. Excludes direct payouts and platform fees. Forced or unrelated native-currency deposits are not necessarily withdrawable proceeds.

Function and arguments
proceeds()
Returns / payment
uint256
quoteRead only · current-state estimate

Validates a proposed mint against current phase, version, supply, payer nonce and wallet rules and returns artwork unit and total prices. Another payer minting does not change this payer’s nonce. Does not include the platform fee or gas, reserve inventory, validate fee authorization, or guarantee a receiving contract accepts payment.

Function and arguments
quote((bytes32 dropId, bytes32 phaseId, uint256 dropVersion, uint256 phaseVersion, uint256 quantity, uint256 expectedMinted, uint256 maxUnitPrice, address recipient, uint256 allowance, uint256 allowlistPrice) request, address payer, bytes32[] allowlistProof)
Returns / payment
uint256 unitPrice, uint256 totalPrice
revealCommitmentRead only · reveal helper

Computes the hash binding a metadata directory, secret salt, release, supply bounds, revision and due time to this chain and collection.

Function and arguments
revealCommitment(bytes32 dropId, string baseURI, bytes32 salt, uint256 baseSupply, uint256 maxSupply, uint256 expectedRevision, uint64 revealAt)
Returns / payment
bytes32
royaltyBpsRead only · royalty setting

Secondary-sale royalty setting in basis points: 500 means 5%. This is unrelated to primary mint price.

Function and arguments
royaltyBps()
Returns / payment
uint96
royaltyInfoRead only · ERC-2981

Returns the royalty receiver and calculated amount for a token and sale price. It is royalty information, not proof that every marketplace enforces payment.

Function and arguments
royaltyInfo(uint256 tokenId, uint256 salePrice)
Returns / payment
address, uint256
royaltyReceiverRead only · separate from mint proceeds

Receiving wallet for secondary-sale royalties. It does not gain ownership or withdrawal permission.

Function and arguments
royaltyReceiver()
Returns / payment
address
supportsInterfaceRead only · integration helper

Reports support for a given interface identifier. This does not attest to audit status or marketplace compatibility.

Function and arguments
supportsInterface(bytes4 interfaceId)
Returns / payment
bool
symbolRead only · written ONCE

Collection ticker set during deployment. No later symbol setter is provided.

Function and arguments
symbol()
Returns / payment
string
tokenIdForArtworkRead only · artwork identity

Maps an artwork ID to its minted token ID, or zero if none. ERC-721 IDs are sequential; ERC-1155 uses uint256(artworkId).

Function and arguments
tokenIdForArtwork(bytes32)
Returns / payment
uint256
tokenStandardRead only · constant

Returns ERC1155 for edition contracts.

Function and arguments
tokenStandard()
Returns / payment
string
tokenURIRead only · token metadata

Returns resolved metadata for a minted token. ERC-721 requires the token to exist; the ERC-1155 alias follows uri and returns empty for an unknown token.

Function and arguments
tokenURI(uint256 tokenId)
Returns / payment
string
totalSupplyRead only · cumulative supply

Lifetime minted quantity: unique NFTs for ERC-721, total copies across all editions for ERC-1155. Transfers do not reduce it.

Function and arguments
totalSupply()
Returns / payment
uint256
totalSupplyOfRead only · edition supply

Lifetime copies minted for one ERC-1155 token ID. This is not a wallet balance.

Function and arguments
totalSupplyOf(uint256)
Returns / payment
uint256
totalTokenTypesRead only · edition count

Number of distinct minted ERC-1155 artwork/token IDs, independent of how many copies exist.

Function and arguments
totalTokenTypes()
Returns / payment
uint256
tradingEnabledRead only · ONE-WAY flag

Whether transfers have been permanently enabled. Validator restrictions still apply when true.

Function and arguments
tradingEnabled()
Returns / payment
bool
uriRead only · token metadata

ERC-1155 metadata reference for a token ID, empty if unknown. Snapshot updates affect every copy of a covered edition. Filenames use decimal IDs, not the standard {id} substitution pattern.

Function and arguments
uri(uint256 tokenId)
Returns / payment
string
validatorRead only · immutable initial binding

Initial validator bound into the factory/implementation at deployment for provenance. It does not change when a collection replaces or disables its active validator. Read getTransferValidator on the collection for the active setting.

Function and arguments
validator()
Returns / payment
address

Writable functions

acceptOwnershipPending owner · completes two-step transfer

The nominated pending owner accepts collection control. A pending reveal prevents the handover.

Function and arguments
acceptOwnership()
Returns / payment
No return value
cancelRevealOwner · cancels the current commitment

Removes the pending reveal commitment. Does not publish artwork or automatically resume paused minting. The owner can prepare a new reveal or metadata update.

Function and arguments
cancelReveal()
Returns / payment
No return value
closeMintingOwner · ONE WAY, cannot reopen

Permanently stops both owner and public minting across the collection. Existing tokens can still trade if trading is enabled; metadata and withdrawal controls remain available until ownership is renounced.

Function and arguments
closeMinting()
Returns / payment
No return value
configureDropOwner · inventory written ONCE per release; caps and pause repeatable

Creates or updates a release. Its inventory root, inventory size and placeholder reference cannot change once registered. A release backed by artwork must have its full verified catalog uploaded before it is unpaused. Supply caps cannot fall below already minted amounts. Changes increment the release version and invalidate old quotes.

Function and arguments
configureDrop(bytes32 dropId, (bytes32 inventoryRoot, uint256 inventorySize, string placeholderURI, uint256 supplyCap, uint256 walletCap, bool paused) config)
Returns / payment
No return value
configurePayoutOwner · repeatable while release is paused and not ended

Sets a release’s receiving wallet. Zero address means retain proceeds for withdrawal; a nonzero address receives each artwork payment. Requires an existing paused release that has not been ended. The collection itself cannot be its payout recipient. Changes invalidate old quotes; earlier proceeds stay withdrawable.

Function and arguments
configurePayout(bytes32 dropId, address recipient)
Returns / payment
No return value
configurePhaseOwner · repeatable until release is permanently ended

Creates or edits timing, artwork price, supply/wallet limits, allowlist root and pause state within an open release. End must be zero or after start. Already minted counts remain; changes invalidate old quotes.

Function and arguments
configurePhase(bytes32 dropId, bytes32 phaseId, (uint64 startsAt, uint64 endsAt, uint256 unitPrice, uint256 supplyCap, uint256 walletCap, bytes32 allowlistRoot, bool paused) config)
Returns / payment
No return value
enableTradingOwner · ONE WAY, cannot disable trading

Permanently enables transfers, including when minting is paused or closed. Validator policies still apply. Repeated calls after enabling revert.

Function and arguments
enableTrading()
Returns / payment
No return value
endDropOwner · ONE WAY for this release

Permanently ends one release and invalidates its mint quotes. It does not close other releases, cancel its pending reveal or withdraw funds.

Function and arguments
endDrop(bytes32 dropId)
Returns / payment
No return value
executeRevealAnyone with committed data after due time · consumes the commitment ONCE

Publishes the exact committed metadata directory and salt after the reveal time. Supply must match the commitment’s bounds and revision. Clears the pending reveal and leaves public minting paused. This function alone does not end the release: Aurora’s reveal flow adds an owner-approved endDrop call. Force reveal uses separate owner transactions; this function cannot bypass the due time.

Function and arguments
executeReveal(string baseURI, bytes32 salt)
Returns / payment
No return value
initializeFactory only · ONCE during deployment

The factory sets owner, collection identity, name, symbol, royalty settings, lifetime supply cap and initial trading policy while creating the clone. It cannot initialize the same clone again.

Function and arguments
initialize(address creator, bytes32 galleryId_, string name_, string symbol_, address royaltyReceiver_, uint96 royaltyBps_, uint256 supplyCap_)
Returns / payment
No return value
initializeERC1155Factory initialization only · ONCE

Inherited ERC-1155 initialization hook, already called during clone creation. Further calls revert; it is not a metadata-update tool.

Function and arguments
initializeERC1155(string uri_)
Returns / payment
No return value
mintBLOCKED · compatibility selector

Legacy unsigned public-mint selector. It always reverts in these fee-authorized builds, including for free mints. Use mintWithFee.

Function and arguments
mint((bytes32 dropId, bytes32 phaseId, uint256 dropVersion, uint256 phaseVersion, uint256 quantity, uint256 expectedMinted, uint256 maxUnitPrice, address recipient, uint256 allowance, uint256 allowlistPrice) request, bytes32[] allowlistProof, (bytes32 artworkId, string tokenURI, bytes32[] proof)[] inventory)
Returns / payment
No return value · PAYABLE
mintBatchOwner · repeatable while minting is available

Owner mints selected artwork directly, without public-phase pricing or platform mint-fee authorization. ERC-721 artwork IDs must be unique; ERC-1155 includes copy amounts and can reuse an existing edition. Collection supply limits, pause/closure and receiver checks still apply; a pending reveal blocks this path.

Function and arguments
mintBatch(bytes32[] artworkIds, string[] tokenURIs, uint256[] amounts, address recipient)
Returns / payment
No return value
mintWithFeeEligible payer with valid authorization · payable

Public mint with a whitelist proof when required, exact artwork price plus signed platform fee, quantity/wallet limits and current versions. Current builds use the payer’s mintNonce and assign artwork from the next committed catalog entries when the transaction succeeds; the inventory argument must be empty. A valid authorization is required even for zero fees. Creator payment follows configurePayout. Any failure rolls back the mint and payments; network gas can still be charged.

Function and arguments
mintWithFee((bytes32 dropId, bytes32 phaseId, uint256 dropVersion, uint256 phaseVersion, uint256 quantity, uint256 expectedMinted, uint256 maxUnitPrice, address recipient, uint256 allowance, uint256 allowlistPrice) request, bytes32[] allowlistProof, (bytes32 artworkId, string tokenURI, bytes32[] proof)[] inventory, uint256 fee, bytes authorization)
Returns / payment
No return value · PAYABLE
renounceOwnershipOwner · IRREVERSIBLE, final action only

Permanently sets owner and pendingOwner to zero. Requires mintingClosed=true, tradingEnabled=true, proceeds=0 and no pending reveal. Removes metadata, royalty, payout, pause and other owner administration permanently. External validator rules still apply and may change; nobody can recover ownership through this contract.

Function and arguments
renounceOwnership()
Returns / payment
No return value
safeBatchTransferFromHolder or approved operator · batch transfer

Transfers several ERC-1155 IDs and amounts with matching arrays. Applies holder/operator authorization, trading and validator rules and contract receiver checks.

Function and arguments
safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
Returns / payment
No return value
safeTransferFromHolder or approved operator · each transfer changes ownership/balance

Transfers a token, or ERC-1155 copies, from its holder to a recipient. Requires holder/operator authorization, enabled trading and validator approval. A contract recipient must accept the NFT callback. The ERC-721 overload with bytes passes optional receiver data.

Function and arguments
safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
Returns / payment
No return value
scheduleRevealOwner · one pending commitment; cancel before replacing

Stores a commitment and future due time for one existing release, matching current supply/revision and valid upper supply bounds. Pending reveal restricts other mint paths and ownership changes. Does not schedule an automatic transaction.

Function and arguments
scheduleReveal(bytes32 dropId, bytes32 commitment, uint256 baseSupply, uint256 maxSupply, uint256 expectedRevision, uint64 revealAt)
Returns / payment
No return value
setApprovalForAllToken holder · repeatable approval/revocation

Grants or revokes an operator’s ability to transfer all of the caller’s collection tokens. It cannot transfer collection administrator ownership.

Function and arguments
setApprovalForAll(address operator, bool approved)
Returns / payment
No return value
setAutoEnableTradingOwner · editable BEFORE first mint/trading only

Chooses whether the first successful mint enables transfers automatically. Only available before any mint and before trading is enabled. False allows manual enabling later.

Function and arguments
setAutoEnableTrading(bool enabled)
Returns / payment
No return value
setAutomaticApprovalOfTransfersFromValidatorBLOCKED after initialization

Inherited upstream setter. Disabled after factory initialization; the collection owner cannot use it to grant automatic validator approval.

Function and arguments
setAutomaticApprovalOfTransfersFromValidator(bool autoApprove)
Returns / payment
No return value
setContractURIOwner · repeatable until ownership is renounced

Changes the collection-level metadata reference. Accepts URI schemes without a protocol allowlist, subject to syntax and length checks. Does not change individual token metadata.

Function and arguments
setContractURI(string newURI)
Returns / payment
No return value
setDefaultRoyaltyOwner · repeatable until ownership is renounced

Changes the secondary-sale receiver and royalty rate, from 0 to 1,000 basis points. Receiver must be nonzero. Does not change the mint proceeds wallet.

Function and arguments
setDefaultRoyalty(address receiver, uint96 basisPoints)
Returns / payment
No return value
setMetadataBaseURIOwner · repeatable until ownership is renounced

Publishes a complete directory for existing tokens using exact current lifetime supply and metadata revision. Requires a nonempty collection and no pending reveal. Directory must end in / and use decimal token-ID .json filenames. Scheme is unrestricted; existing marketplace support is not guaranteed.

Function and arguments
setMetadataBaseURI(string newURI, uint256 expectedSupply, uint256 expectedRevision)
Returns / payment
No return value
setMintingPausedOwner · reversible BEFORE permanent closure

Pauses or resumes collection minting. Once closeMinting has been called, this action cannot reopen it. It does not lock trading.

Function and arguments
setMintingPaused(bool value)
Returns / payment
No return value
setPausedOwner · reversible; cannot override permanent closure

Pauses or resumes native sale minting and the guarded owner mint path. Separate collection, release and phase gates can still stop minting. Reveals leave this flag true.

Function and arguments
setPaused(bool value)
Returns / payment
No return value
setTransferValidatorFactory initialization / internal guarded call only · direct calls BLOCKED

Inherited setter visible in the ABI. Direct calls after initialization are BLOCKED, including owner calls. Use the guarded updateTransferValidator function to replace, disable or restore the active validator.

Function and arguments
setTransferValidator(address transferValidator_)
Returns / payment
No return value
transferOwnershipOwner · two-step, repeatable until renounced

Nominates the next collection owner; that address must acceptOwnership. Zero cancels the nomination without renouncing. Pending reveal blocks the change.

Function and arguments
transferOwnership(address newOwner)
Returns / payment
No return value
updateTransferValidatorOwner · reversible and repeatable until renounced

Replaces the active validator with a compatible deployed contract, or disables it with 0x0000000000000000000000000000000000000000. The owner can restore it later. Disabling stops validator-based royalty enforcement and other validator restrictions, but preserves royaltyInfo, holder approvals, the trading lock and mint fees. Nonzero addresses need deployed code and cannot be this collection. Code presence does not prove safety or compatibility; token-type registration is attempted and policies may need separate setup. Emits TransferValidatorUpdated. Reentrant changes are blocked and automatic validator approval stays disabled. Unavailable after ownership is renounced.

Function and arguments
updateTransferValidator(address nextValidator)
Returns / payment
No return value
withdrawOwner · repeatable while proceeds remain

Sends a positive amount no greater than proceeds to a nonzero chosen recipient. Only the owner authorizes it; the recipient can differ from Aurora’s saved wallet. Available during or after minting. Failed payments revert; reentrant withdrawals are blocked.

Function and arguments
withdraw(address recipient, uint256 amount)
Returns / payment
No return value

Mint inputs and metadata references

A tuple is a group of named fields shown together in the function signature. DropConfig contains inventoryRoot, inventorySize, placeholderURI, supplyCap, walletCap and paused. PhaseConfig contains startsAt, endsAt, unitPrice, supplyCap, walletCap, allowlistRoot and paused. Times are Unix seconds; a phase end of 0 means no scheduled end. A supply or wallet cap of 0 means unlimited at that cap level, while a whitelist allowance of 0 permits no mints.

MintRequest binds dropId, phaseId, dropVersion, phaseVersion, quantity, expectedMinted, maxUnitPrice, recipient, allowance and allowlistPrice. In these current builds, expectedMinted retains its earlier ABI name but means mintNonce(payer), not the release’s total minted count. An approval is consumed by that payer’s successful public mint. Separate wallets can hold valid approvals at the same time; another wallet minting alone does not invalidate yours. Expiry, changed settings, wallet limits, phase timing and actual sellout can still prevent a mint.

Artwork is assigned when the transaction succeeds, using the next committed catalog entries. Approvals do not reserve particular artwork or supply, and collectors cannot choose a different catalog index. The inventory argument on mintWithFee must be empty in these builds. InventoryItem (artworkId, tokenURI and its Merkle proof) is instead used when the owner publishes catalog entries to the factory’s separate mintCatalog contract. Aurora prepares those publication transactions in bounded batches while the release is paused and has no mints. They require the owner’s signature and network gas; publication resumes from mintCatalogSize after an interruption. Placeholder-only releases do not require an artwork catalog.

The catalog is public onchain data, and allocation follows its committed order; it is not a source of randomness. Final artwork URLs published in a catalog can be inspected before minting even when tokens display a placeholder. A delayed reveal must keep final artwork references out of the published catalog until reveal. Aurora’s supported reveal setup handles this separately from instant-reveal artwork.

Metadata references accept any syntactically valid URI scheme rather than a protocol allowlist. References are limited to 256 bytes; snapshot directories to 220 bytes and a trailing slash, with no query or fragment. Directory files use decimal token IDs followed by .json. Empty references, whitespace, control characters and backslashes are rejected. Contracts store references but do not fetch, execute or guarantee the content. Aurora still applies its own safe display and fetch rules.