A drag and drop UI framework to specify on-chain conditions in order to perform certain action on a smart contract. For e.g. - smart airdrops - create an nft which anyone can mint if they have more than 10 lens followers
SuperSolid is a micro framework to specify on-chain conditions in order to perform certain action on a smart contract.
In a nutshell you can use or create different adapters (will be covered later) and create a set of rules (condition set). Condition set will be stored on blockchain as bytes array and can be used to verify a user before a certain action.
For eg => A set of rules can be rule1 = account has 100 BNB ERC20 tokens rule2 = account has > 1 BAYC NFT rule3 = account has <= 100 lens followers condition_set = (rule1 && rule2) || rule3
We can use the final value of condition_set to allow the account to mint SuperSolid ERC721 Token
This project uses unstoppable domains to login into the dapp and then users can go through the list of already created conditions and check if they are eligible for any conditions. If they are eligible they can mint the tokens or else they can create their own condition set(Condition set can be defined as the entire set of rules and operators.) with an easy drag and drop UI which sets the condition rule on smart contract and assigns a token Id in ERC1155 to this condition set. Now anyone eligible for this condition set can claim the token.
Condition set is represented as a binary tree where leaves are Rules, intermediate nodes are operators. This tree is converted into a bytes array using the prefix notation. Operator bytes are calculated as the first 4 bytes of keccak256("and/or/nand") Adapter bytes are calculated as the address of adapter contract and the parameters required in the adapter's evaluate method Then these bytes are stored on smart contract and evaluated at the time to check if eligible for claim
Usecases -
The Sponsor technologies used in this project are -