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 CreateFractionsSkeleton
and ReceiveSkeleton
to run
campaigns and fractionalize assets, while PurchaseSkeletonGenesisIdsNID
is used by buyers to purchase fractions.
To complete a purchase, buyers 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 PurchaseSkeletonGenesisIds and PurchaseSkeletonGenesisIdsNID, as this will cause conflicts.
To ensure proper functionality, choose a unique set of skeletons. For example:
This rule applies to both the Campaign and Campaign with Buyback platforms.