owlprotocol / contracts

MIT License
3 stars 4 forks source link

‘RouteRandomizer.sol’ #266

Closed HrikB closed 2 years ago

HrikB commented 2 years ago

Description

With the completion of the ‘Lootbox.sol’ contract, it occurs to me that this idea of routing to a random contract with the same inputs does not need to be limited to Crafter contracts. You can put Transformer or Minter contracts behind it as well! Perhaps if you hold a special nft, it behaves as a lootbox 98% of the time, but 2% of the time it upgrades your sword. Or maybe a minting can be held where the contract from which you are minting has probabilities involved. I think that this is a really cool concept and would be great to have as one of the contracts whose support is gated behind holding the OWL NFT (or a certain amount of $OWL). And the ‘Lootbox.sol’ can be a great teaser and demonstration of the usecase. For free, game developers can route randomize Crafter contracts but to route randomize other plugins or even mix and match, they’ll have to be a holder.

Implementation

aqzhen commented 2 years ago

/cib

github-actions[bot] commented 2 years ago

Branch issue-266 created! Clone with: git fetch && git checkout --track origin/issue-266 Rebase develop branch changes with: git checkout issue-266 && git rebase develop

HrikB commented 2 years ago

@aqzhen Add boolean routed on Transformer.sol and Crafter contracts to indicate it is part of a RouteRandomizer scheme. It would be problematic if the Crafter or Transformer could be called directly.