Combining NID and Non-NID Skeletons
Developers can take advantage of both NID and non-NID skeletons by including them in the diamond proxy smart contract. This approach allows for a more granular and flexible user verification mechanism. Suppose you have the following skeletons implemented in your platform:
Consider that the CreateFractionsSkeleton
and ReceiveSkeleton
will be used only by users with the role that
allows them to run the campaign and fractionalize assets, while the PurchaseSkeletonNID
will be used by users who
act as buyers and purchase the newly created fractions.
In this scenario, to purchase and receive fractions, buyers must be verified via the
requireTxDataAuth
modifier, which relies on the correct call data containing the signature provided by the ComPilot
off-chain services. By following this approach, you can have more flexibility in determining the verification mechanism for
different actions on your platform.
Skeleton Selection Rule
When selecting facets for your diamond proxy, you must ensure that the selected skeletons do not have the same functionality. For example, you cannot add both the PurchaseSkeleton and the PurchaseSkeletonNID, as doing so will cause conflicts.
To ensure proper functionality of the diamond proxy, you must select a unique combination of skeletons. For example:
This rule applies to both the Sale and Sale with Buyback platforms.