Combining NID and Non-NID Skeletons
Developers can combine NID and non-NID skeletons within the diamond proxy to enable more flexible and granular user verification. For example, your platform might include the following skeletons:
Suppose that only users with the appropriate role can access CampaignCreationSkeletonNID
to create staking
campaigns, while StakingSkeleton
is used by eligible users to stake assets.
To create a new staking campaign, eligible issuers must be verified via the requireTxDataAuth
modifier, which checks that the calldata contains a valid signature (a corresponding message hash signed by ComPilot) and an expiration block number
This approach allows flexible verification mechanisms for different user actions.
Skeleton Selection Rule
When selecting facets for your diamond proxy, avoid including skeletons with overlapping functionality - for example, don’t combine StakingSkeleton
and StakingSkeletonNID
, as this will cause conflicts.
To ensure proper functionality, choose a unique set of skeletons. For example: