Description
Three relationships to start with
depend: the token is valid only of the depended token is valid (belong to the current user)
decorate: the token provides additional attributes or modifies existing attributes. Usually, this is done by having an attestation to go with the token, but there may be cases where the attestation isn't issued by the token issuer (e.g. for a book token, purchase-date
which might be different than the transaction date, is attested by the different guy than title
), and therefore might use a different Tokenscript, leading to the situation of a decorative tokenscript.
possess: the token has another token as its component
P.S. Attribute-type's mapping
can grow complicated as possible values become growable. If it is only the growth of a look-up table, this would be done by upgrading TokenScript, but it's possible that the mapping uses smart contract sources, e.g. the attribute being hat and the token being cryptokitten, where the hat's ID is a token in another smart contract. Such cases are usually better handled with token relationships. But if there are cases that should not be handled with token relationship,