Menú Saltar al contenido
Ayuda y guías
Navegar por las guías

Collectibles V3 collection function reference

Every readable and writable function in AuroraCollectiblesV3, with permissions, supply accounting and opening recovery.

En esta página
The creator controls collection settings; holders control their own tokens and wallet transactions.
Collectibles separates the ERC-1155 token ledger from its paired sales and pack opening engine. Abra la imagen para ampliar

Choose the correct version and address

This reference covers AuroraCollectiblesV3, 3.0.0-collectibles-beta.1. V3 is the current factory build in Aurora; available networks depend on enabled deployments. Existing V2 collections remain V2 and V1 has no sealed packs. A website update does not upgrade an existing contract.

Use your collection address for balances, transfers, metadata and owner minting. Read packEngine() for its paired sale and opening engine. Never send clone actions to an implementation address.

Reads need no wallet transaction. Writes require gas and the permission shown below. Prices and quantities are integers; times on chain are Unix seconds, with zero meaning no opening start or deadline. Use Aurora transaction preparation for proofs and signed fee authorization.

Collectibles Studio walkthrough

Legacy V1 reference (no packs)

What is permanent

  • Collection and engine implementations, factory, provider, identities, lifetime caps and pool definitions cannot be replaced. A token belongs to one on-chain pool, but can appear in several organizational sets.
  • Closing a phase or collection minting is permanent. Issued pack contents stay reserved and can still be delivered; configured opening windows still apply to new requests. Ownership renunciation is disabled.
  • Pack slot pools, duplicate policy and transferability are fixed. Boxes contain card slots, not nested boosters. Consuming a wrapper does not restore its lifetime issuance capacity.
  • V3 metadata can be corrected until each token is permanently frozen. Opening starts can change before issued packs gain access; existing deadlines can only be extended or removed. These permissions do not change balances, caps or chosen contents.

Supply, randomness and recovery

Lifetime minted + pooled + retired contents cannot exceed the token cap or configured collection cap. Wrapper supply is separate. Issuing a pack reserves its pool contents and provider capacity; only allocation identifies exact token IDs.

Openings progress through Requested, Seeded, Allocated and Opened. A request cannot be cancelled or rerolled. Allocation follows engine-wide request order; an earlier missing seed delays later allocation. Anyone may allocate the next seeded request, but only its original opener can choose the delivery recipient.

V3 allocateAndDeliver combines the last two stages. If the recipient rejects delivery, both allocation and delivery revert, preserving the seed and queue entry. Separate allocate followed by deliver remains available so a receiver problem need not block later allocation.

Opening gas and provider requirements depend on the configured adapter. The user-paid OpenVRF path submits the fixed proof in the collector wallet; the Chainlink adapter depends on its configured subscription. The final card-flip ceremony shows already confirmed contents and sends no extra transaction.

Readable functions

DEFAULT_TRANSFER_VALIDATORRead only · constant

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

Función y argumentos
DEFAULT_TRANSFER_VALIDATOR()
Devoluciones / pago
address
autoApproveTransfersFromValidatorRead only · locked setting

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

Función y argumentos
autoApproveTransfersFromValidator()
Devoluciones / pago
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.

Función y argumentos
balanceOf(address account, uint256 id)
Devoluciones / pago
uint256
balanceOfBatchRead only · holder balances

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

Función y argumentos
balanceOfBatch(address[] accounts, uint256[] ids)
Devoluciones / pago
uint256[]
collectibleVersionRead only · version

Returns this collection version: 2 or 3. Aurora also checks the exact deployment build and runtime before enabling capabilities.

Función y argumentos
collectibleVersion()
Devoluciones / pago
uint256
contractFamilyRead only · family identity

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

Función y argumentos
contractFamily()
Devoluciones / pago
string
contractURIRead only · reference

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

Función y argumentos
contractURI()
Devoluciones / pago
string
factoryRead only · deployment binding

The immutable factory that created this implementation and initialized its clones.

Función y argumentos
factory()
Devoluciones / pago
address
galleryIdRead only · written ONCE

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

Función y argumentos
galleryId()
Devoluciones / pago
bytes32
getTransferValidationFunctionRead only · integration helper

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

Función y argumentos
getTransferValidationFunction()
Devoluciones / pago
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.

Función y argumentos
getTransferValidator()
Devoluciones / pago
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.

Función y argumentos
isApprovedForAll(address owner, address operator)
Devoluciones / pago
bool isApproved
isCollectibleRead only · token kind

True for a configured content token, false for sealed wrappers and unknown IDs.

Función y argumentos
isCollectible(uint256 tokenId)
Devoluciones / pago
bool
lockedPacksRead only · pending opening balance

Number of wrappers locked for an account and pack ID by pending openings. Locked copies cannot be transferred.

Función y argumentos
lockedPacks(address, uint256)
Devoluciones / pago
uint256
metadataFrozenRead only · V3 only

V3: reports whether a token metadata reference has been permanently frozen.

Función y argumentos
metadataFrozen(uint256)
Devoluciones / pago
bool
mintSupplyCapRead only · content cap

Immutable lifetime ceiling for collectible contents; zero means no collection-wide ceiling. Sealed pack wrappers have separate per-token caps and do not consume it.

Función y argumentos
mintSupplyCap()
Devoluciones / pago
uint256
mintingClosedRead only · permanent flag

Whether new minting and pack issuance have been permanently closed. Existing pack commitments remain deliverable.

Función y argumentos
mintingClosed()
Devoluciones / pago
bool
nameRead only · written ONCE

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

Función y argumentos
name()
Devoluciones / pago
string
ownerRead only · authority

The current collection administrator. The engine reads this owner for every owner-only action; it has no separate administrator.

Función y argumentos
owner()
Devoluciones / pago
address
packEngineRead only · action destination

The fixed paired engine address. Send purchase, pool, phase and opening actions here; ERC-1155 transfers stay on the collection.

Función y argumentos
packEngine()
Devoluciones / pago
address
pendingOwnerRead only · ownership handover

The nominated next owner, or zero if no handover is pending.

Función y argumentos
pendingOwner()
Devoluciones / pago
address
royaltyBpsRead only · royalty setting

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

Función y argumentos
royaltyBps()
Devoluciones / pago
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.

Función y argumentos
royaltyInfo(uint256 tokenId, uint256 salePrice)
Devoluciones / pago
address, uint256
royaltyReceiverRead only · separate from mint proceeds

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

Función y argumentos
royaltyReceiver()
Devoluciones / pago
address
saleAvailableRead only · direct-item availability

Unpooled, unretired content capacity available to a direct sale, bounded by token and collection lifetime caps. Zero for packs, unknown IDs or closed minting.

Función y argumentos
saleAvailable(uint256 tokenId)
Devoluciones / pago
uint256 available
supportsInterfaceRead only · integration helper

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

Función y argumentos
supportsInterface(bytes4 id)
Devoluciones / pago
bool
symbolRead only · written ONCE

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

Función y argumentos
symbol()
Devoluciones / pago
string
tokenStandardRead only · constant

Returns ERC1155 for edition contracts.

Función y argumentos
tokenStandard()
Devoluciones / pago
string
tokenURIRead only · token metadata

Alias for uri(tokenId), including its empty result for an unknown ID.

Función y argumentos
tokenURI(uint256 tokenId)
Devoluciones / pago
string
tokensRead only · token accounting

Returns cap, lifetime minted, circulating supply, pooled, allocated-but-undelivered reserved, retired, pack, transferable and exists fields for one ID. Before allocation a pack reservation belongs to pools, not specific token IDs.

Función y argumentos
tokens(uint256)
Devoluciones / pago
uint256 maxLifetimeMinted, uint256 totalMinted, uint256 totalSupply, uint256 pooled, uint256 reserved, uint256 retired, bool pack, bool transferable, bool exists
totalMintedRead only · lifetime content count

Lifetime collectible contents minted through all paths, excluding sealed wrappers. Delivery increments this count; wrapper burning does not restore capacity.

Función y argumentos
totalMinted()
Devoluciones / pago
uint256
totalPooledRead only · allocated inventory

Content copies allocated to pools, including inventory backing unopened packs. Unallocated direct mints cannot use these copies.

Función y argumentos
totalPooled()
Devoluciones / pago
uint256
totalReservedRead only · pack commitments

Contents promised to issued but undelivered packs. Includes pool-level commitments before a specific token has been selected.

Función y argumentos
totalReserved()
Devoluciones / pago
uint256
totalRetiredRead only · permanent supply reduction

Content capacity permanently retired by pool releases. It cannot be minted or reallocated later.

Función y argumentos
totalRetired()
Devoluciones / pago
uint256
totalSupplyRead only · circulating contents

Circulating collectible contents, excluding sealed pack wrappers. Use totalSupplyOf or tokens for an individual wrapper or card ID.

Función y argumentos
totalSupply()
Devoluciones / pago
uint256
totalSupplyOfRead only · per-token circulation

Circulating copies of one token ID, including sealed packs. Successful opening burns a wrapper and reduces its circulating count.

Función y argumentos
totalSupplyOf(uint256 tokenId)
Devoluciones / pago
uint256
uriRead only · token metadata

Returns the stored metadata reference for a token, or an empty string for an unknown ID. V2 references are fixed; V3 owners may correct unfrozen references.

Función y argumentos
uri(uint256 tokenId)
Devoluciones / pago
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.

Función y argumentos
validator()
Devoluciones / pago
address

Writable functions

acceptOwnershipPending owner · completes two-step transfer

The nominated wallet accepts collection control, including administration of its paired pack engine. Existing holders and reserved pack contents stay unchanged.

Función y argumentos
acceptOwnership()
Devoluciones / pago
No return value
allocatePoolPaired engine only

Moves unused content capacity into pool accounting, respecting token and collection caps. It does not mint tokens.

Función y argumentos
allocatePool(uint256 id, uint256 amount)
Devoluciones / pago
No return value
closeMintingOwner · ONE WAY

Permanently stops new content minting, token configuration, pool allocation and pack issuance. Already issued packs can still request opening within their schedule and deliver reserved contents.

Función y argumentos
closeMinting()
Devoluciones / pago
No return value
configurePackTokenPaired engine only · ONCE per token ID

Creates the sealed wrapper token, cap and transferability while the engine configures a pack. Holders and owners cannot call this ledger method directly.

Función y argumentos
configurePackToken(uint256 tokenId, string tokenURI_, uint256 cap, bool transferable)
Devoluciones / pago
No return value
configureTokenOwner · ONCE per token ID, before mint closure

Defines an unused nonzero collectible ID, a nonempty metadata URI up to 2,048 bytes and a positive lifetime cap. Token identity and cap cannot later change.

Función y argumentos
configureToken(uint256 tokenId, string tokenURI_, uint256 maxLifetimeMinted)
Devoluciones / pago
No return value
configureTokensOwner · bounded batch, before mint closure

Defines 1–50 collectible IDs atomically, with matching URI and cap arrays. Existing IDs cannot be redefined.

Función y argumentos
configureTokens(uint256[] ids, string[] uris, uint256[] caps)
Devoluciones / pago
No return value
consumePackPaired engine only

Burns one locked wrapper and delivers its exact reserved contents. Receiver rejection rolls back burning, delivery and accounting together.

Función y argumentos
consumePack(address opener, uint256 packId, uint256[] ids, uint256[] amounts, address recipient)
Devoluciones / pago
No return value
freezeMetadataOwner · V3 only, IRREVERSIBLE per token

V3: permanently freezes metadata references for 1–50 existing tokens. Already frozen IDs reject the batch. Does not freeze contractURI or content served by an external HTTPS host.

Función y argumentos
freezeMetadata(uint256[] ids)
Devoluciones / pago
No return value
initializeFactory only · ONCE

Binds the clone to its collection or engine during factory deployment. A second initialization or direct implementation initialization is rejected.

Función y argumentos
initialize(address creator, address engine, bytes32 galleryId_, string name_, string symbol_, address receiver, uint96 bps, uint256 cap)
Devoluciones / pago
No return value
initializeERC1155BLOCKED after initialization

Inherited initializer already consumed during factory deployment. It cannot reinitialize a deployed collection.

Función y argumentos
initializeERC1155(string uri_)
Devoluciones / pago
No return value
issuePackPaired engine only

Mints sealed wrappers after the paired engine has reserved contents and provider capacity. Owners must use the engine issuance method.

Función y argumentos
issuePack(uint256 id, uint256 amount, address recipient)
Devoluciones / pago
No return value
lockPackPaired engine only

Locks one available wrapper in the opener wallet while its opening is pending. No separate holder approval is required for this engine path.

Función y argumentos
lockPack(address opener, uint256 packId)
Devoluciones / pago
No return value
mintBatchOwner · before mint closure

Mints unallocated content to a recipient: 1–20 array entries and at most 400 copies in total. All quantities are positive. Caps, pooled inventory and receiver checks apply atomically.

Función y argumentos
mintBatch(uint256[] ids, uint256[] amounts, address recipient)
Devoluciones / pago
No return value
mintFromSalePaired engine only

Mints 1–20 direct-sale copies from unallocated capacity, after the paired engine validates the purchase.

Función y argumentos
mintFromSale(uint256 tokenId, uint256 quantity, address recipient)
Devoluciones / pago
No return value
releasePoolPaired engine only

Updates pool accounting for an engine-authorized release. Cannot release exact reserved contents; retirement permanently reduces remaining mint capacity.

Función y argumentos
releasePool(uint256 id, uint256 amount, bool retire)
Devoluciones / pago
No return value
renounceOwnershipBLOCKED · including owner calls

Always reverts. V2 and V3 disable renunciation so required collection and engine administration cannot be abandoned this way.

Función y argumentos
renounceOwnership()
Devoluciones / pago
No return value
reserveContentsPaired engine only

Records aggregate contents promised by newly issued sealed packs, bounded by allocated inventory.

Función y argumentos
reserveContents(uint256 amount)
Devoluciones / pago
No return value
reserveTokenPaired engine only

Marks exact selected token copies as reserved when a seeded opening is allocated.

Función y argumentos
reserveToken(uint256 id, uint256 amount)
Devoluciones / pago
No return value
safeBatchTransferFromHolder or approved operator

Transfers matching ID/amount arrays with ERC-1155 approvals, validator and receiver checks. Duplicate entries cannot bypass locked-pack accounting.

Función y argumentos
safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
Devoluciones / pago
No return value
safeTransferFromHolder or approved operator

Transfers ERC-1155 copies with holder/operator permission, validator checks and receiver acceptance. Nontransferable wrappers and locked opening copies cannot move. There is no separate enableTrading gate in V2/V3.

Función y argumentos
safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
Devoluciones / pago
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.

Función y argumentos
setApprovalForAll(address operator, bool approved)
Devoluciones / pago
No return value
setAutomaticApprovalOfTransfersFromValidatorBLOCKED after initialization

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

Función y argumentos
setAutomaticApprovalOfTransfersFromValidator(bool autoApprove)
Devoluciones / pago
No return value
setContractURIOwner · repeatable

Changes collection-level metadata, up to 2,048 bytes; an empty value clears it. Separate from individual token URIs and V3 token freezes.

Función y argumentos
setContractURI(string value)
Devoluciones / pago
No return value
setDefaultRoyaltyOwner · repeatable

Sets a nonzero royalty recipient and rate from 0 to 1,000 basis points (10%). Does not change a phase payout recipient or guarantee marketplace enforcement.

Función y argumentos
setDefaultRoyalty(address receiver, uint96 bps)
Devoluciones / pago
No return value
setTokenURIOwner · V3 only, until token metadata is frozen

V3: corrects an existing token metadata reference, including pack artwork, unless that token is frozen. Does not change identity, balances, caps or reserved contents.

Función y argumentos
setTokenURI(uint256 id, string value)
Devoluciones / pago
No return value
setTokenURIsOwner · V3 only, bounded batch

V3: updates 1–50 existing, unfrozen token metadata references atomically. URI values must be nonempty and at most 2,048 bytes.

Función y argumentos
setTokenURIs(uint256[] ids, string[] values)
Devoluciones / pago
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.

Función y argumentos
setTransferValidator(address transferValidator_)
Devoluciones / pago
No return value
transferOwnershipOwner · two-step handover

Nominates the next collection owner. That address must accept. A zero address cancels the nomination without renouncing ownership.

Función y argumentos
transferOwnership(address newOwner)
Devoluciones / pago
No return value
updateTransferValidatorOwner · repeatable

Replaces the active validator or disables it with zero. Holder approvals, pack locks and royalties data remain. Nonzero replacements must satisfy upstream code checks; compatible policy setup remains separate. Automatic validator approval stays disabled.

Función y argumentos
updateTransferValidator(address next)
Devoluciones / pago
No return value

Sale requests and gift recipients

PhaseConfig.packId may name either a sealed pack or a direct collectible. Prices exclude the signed platform fee and gas. A zero phase or wallet cap means no limit at that level; actual inventory and lifetime caps still apply. A nonzero payoutRecipient receives the sale price immediately.

MintRequest binds phaseId, quantity, expectedVersion, payer nonce, maxUnitPrice, recipient, allowance and allowlistPrice. Gifts send tokens to recipient while the payer signs, pays and consumes its own phase allowance. buyPack also serves direct-item phases.

A quote does not reserve stock or authorize payment. Phase edits, expiry, inventory consumption, provider availability and receiver acceptance can still prevent a purchase. Metadata URIs are references, not proof that externally hosted content will remain unchanged.