From the Idena Medium Article - Introducing predefined smart contracts
Motivation: As a fully functional smart contract layer takes significant development time, we are to release a set of predefined smart contract primitives. These smart contracts can be combined as building blocks to achieve a complex money flow driven by oraclesβ decisions. If A happens then send coins to address B otherwise then if C happens then send coins to address D otherwise make a refund to all initial contributors. A and C are some facts that are certified by randomly selected Idena participants.
These primitives can be used for community-driven funding, prediction markets, dispute resolutions, paid votings, paid polls, games and etc.
The following list of predefined smart contracts will be available for anyone to use:
TimeLock β Lock coins on the smart contract address until a specified block number. Once the block number is mined the coins can be transferred to the specified address.
Multisig M-of-N β a multisignature wallet address with specified M and N. In order to send coins from the multisig M specific participants out of N have to provide their signatures.
OracleVoting β Oracle voting contract. The smart contract can control coins locked by EvidenceLock or RefundableEvidenceLock smart contracts.
EvidenceLock β a non-refundable smart contract that locks coins until a decision is made by oracles. If the voting result matches the expected value then coins are transferred to the address A otherwise to the address B. Both addresses have to be specified beforehand.
RefundableEvidenceLock β a refundable smart contract address that locks coins until a decision is made by oracles. It works similarly to the EvidenceLock, however it can provide a refund if either A address or B address is not specified. The refund is provided proportionally to the initial deposit made by an address.
In order to use these smart contracts, the Idena app development is to be finished (ETA end of Q4 2020). Until that these smart contracts wonβt be available: An additional hard fork update is planned to enable these contracts.