Payment streams for service providers that are dependent on them meeting performance requirements
The client deposits wrapped DAI into a smart contract and sets up a payment stream based on a performance criteria. UMA's optimistic oracle is used to determine if the service provider is satisfying the performance criteria. If they are determined not to be, the payment stream is closed and the remaining wrapped DAI is returned to the client.
This project uses Superfluid to setup and delete payment streams based in wrapped DAI. UMA's Optimistic Oracle is used for settling performance judgements. The client calls a function when the performance requirements. When the oracle price feed is settled, it calls a fallback function within the smart contract that deletes the payment flow.