Unreal finance protocol is structured in a manner that provides modularity and makes integration of yield-bearing protocols or any future platforms easy.
The overview includes a brief introduction to our set of contracts with their functions and how the overall flow of funds happens in our protocol.
This is the major component which includes all the admin and user functions for our protocol. And also acts as a registry for all the streams created for each configuration of duration,
Treasury moves the funds from the core to the future which inturn send it to the vault or yield bearing protocol to generate interest. And also stores the funds for each epoch after the term completion.
The logic contracts for the transference of funds to the vault and to create the OT AND YT tokens for each epoch instance.
This is a ERC-20 contract to track each users principal amount added to the protocol and to destribute it at the end of the cycle or term of an epoch.
This is a ERC-20 contract to track the amount of yield a user would get at the end of a given cycle.
Some terms you should know while going throught the contracts...
Streams:- Stream is the list of futures for a specific platform, duration and underlying.
epochs:- Epoch is an instance of future in a stream.
Distribution of OT and YT tokens:-
When yield has not been generated:- Instances where yield hasn't been generated and a user deposits funds the OTs and YTs would be equal to the amount of tokens added by the user.
When yield has been generated:- When the yield has already been generated on the existed amount then the user would recieve the same amount of YTs as the principal amount added but the OTs would be discounted based on the yield generated.