Locking Specific Approval ID
This example demonstrates how to permanently lock a specific approval ID while keeping other approvals updatable.
Overview
By targeting a specific approvalId, you can freeze that approval permanently while allowing updates to other approvals. The ! operator can be used to target all approvals EXCEPT a specific ID.
Lock Specific Approval ID
const FullTimeRanges = [
{
start: '1',
end: '18446744073709551615',
},
];
const collectionPermissions = {
canDeleteCollection: [],
canArchiveCollection: [],
canUpdateStandards: [],
canUpdateCustomData: [],
canUpdateManager: [],
canUpdateCollectionMetadata: [],
canUpdateValidTokenIds: [],
canUpdateTokenMetadata: [],
canUpdateCollectionApprovals: [
{
// Which approvals does this permission apply to? Approvals must match ALL criteria.
fromListId: 'All',
toListId: 'All',
initiatedByListId: 'All',
transferTimes: FullTimeRanges,
tokenIds: FullTimeRanges,
ownershipTimes: FullTimeRanges,
approvalId: 'abc123', // Only targets this specific approval ID
// What is status of this approval at any given time? (Unhandled = soft-enabled)
permanentlyPermittedTimes: [],
permanentlyForbiddenTimes: FullTimeRanges, // Permanently locked
},
],
};Lock All EXCEPT Specific Approval ID
Implementation
Related Examples
Freezing Mint Transferability - Lock all mint approvals
Building Collection Permissions - General permission patterns
Related Concepts
Permissions System - Permission mechanics
Update Approval Permission - Approval-specific controls
Last updated