Raindrops
Search
K
Comment on page

Propagation

When an ItemClass inherits from another ItemClass, it can be unknown or undefined how any changes to the parent ItemClass should be propagated to the child ItemClass.
Raindrops introduces the concept of permission-less updates(--inheritance-update) to handle this situation.
ItemClass
ItemClass instance
items-cli update_item_class \
-k <keypair> \
--env devnet \
-cp example-configs/itemClass.json \
--inheritance-update
This tells the endpoint not to accept any changes to a child ItemClass except for those also present on the parent ItemClass. This means anybody can enforce inheritance at any time across any size tree of inheritance.
items-cli update_item \
-k <keypair> \
--env devnet \
-m DQKJRRHjyiS1DgDuMWtdD2Cy2nbLqEP86sQ8nnBQMv2w \
-i 10 \
-cm FKZJRRHjyiS1DgDuMWtdD2Cy2nbLqEP86sQ8nnBQMv2w \
--inheritance-update
This updates the Item instance with the new ItemUsageStates that may arise from changes in ItemUsages in the parent class.
Similar logic exists for the Player contract, but instead of using --inheritance-update flag, simply use a null updatePermissivenessToUse inside the config JSON file (the -cp flag entry).