[Draft] Universal Marlowe Script: combine Validator and MintingPolicy in a single script #117
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PoC of an idea to combine validator and mintingPolicy in a single script.
It's possible to produce a script that can be run in both Validation and Minting contexts.
In such a case we can mint Marlowe role tokens and ensure we created a Marlowe contract that uses these tokens within the same transaction. Thus, we can guarantee that no one can reuse the same tokens for different Marlowe contracts produced this way.
The thing is that tokens'
CurrencySymbol == ValidatorHash
, and we can check during minting that the Tx contains a script TxOut withValidatorHash == CurrencySymbol
.