Building Your Collection Approvals
The collection-level transferability is determined by the collection-level approvals. The important thing to consider here is that any approval that allows transfers from the "Mint" address will mint balances out of thin air.
Approval Categories
It is typically recommended to split into two categories:
Mint Approvals (
fromListId: 'Mint'
)Post-Mint Approvals (
fromListId: '!Mint'
)
Important Notes
The reserved "All" list ID includes Mint. Do not use "All" for the fromListId for post-mint approvals.
To function, the "Mint" approval must forcefully override the user-level outgoing approval because it cannot be managed.
Code Example
Mix and match the approvals as you see fit. See the examples in the approvals section for a bunch of examples.
const mintApprovals = [
// Mint approvals with fromListId: 'Mint'
];
const postMintApprovals = [
// Post-mint approvals with fromListId: '!Mint'
transferableApproval,
burnableApproval,
];
const collectionApprovals = [...mintApprovals, ...postMintApprovals];
const collectionApprovalTimeline = [
{
timelineTimes: FullTimeRanges,
collectionApprovals,
},
];
Related Concepts
Last updated