@startuml left to right direction skinparam actorStyle awesome skinparam packageStyle rectangle actor "Project Owner" as PO actor "DAO Validator" as dao rectangle OrbitDB { usecase "Validates Project Owner attributes" as ODB1 usecase "Stores NFT Project Owner attributes" as ODB2 usecase "Updates Project Requests Status" as ODB3 } dao -down-> ODB1 rectangle DAO { usecase "Fills Project Owner request form" as DAO1 usecase "Requests Project Finance" as DAO2 usecase "Verify Compliance" as DAO3 usecase "Not Approved" as DAO5 usecase "Adds DECA Allowance funds" as DAO6 usecase "Verify and vote" as DAO7 usecase "Sets NFT Project Owner\n attributes to OrbitDB" as DAO8 usecase "Votes module update" as DAO10 usecase "Execute mint tokens" as DAO11 /'Requires PO to set Collateral Link Lending Fund'/ rectangle DAO_Vaults{ usecase "Stores DECA" as DV1 } DAO2 .> DAO1 : includes DAO3 .> DAO7 : includes DAO7 .> DAO5 : extends DAO7 .> DAO6 : extends DAO7 .> DAO11 : extends DAO11 .> DAO8 : extends } PO -up-> DAO2 dao -up-> DAO3 dao -up-> DAO10 dao -up-> DAO7 DAO8 .> ODB2 : includes DAO1 .> ODB3: includes DAO5 .> ODB3: includes rectangle "ERC1155" as ERC { usecase "Gets mint order" as ERC1 usecase "Requires amount of DECA to mint" as ERC2 usecase "Requires amount of CCtoken to mint" as ERC3 usecase "Requires NFT Data to mint" as ERC4 usecase "Token Minter/Burner" as ERC5 usecase "Gets DECA" as ERC6 usecase "Gets CCtoken" as ERC7 usecase "Gets NFT" as ERC8 ERC1 .> ERC2 : extends ERC1 .> ERC3 : extends ERC1 .> ERC4 : extends ERC2 .> ERC5 : includes ERC3 .> ERC5 : includes ERC4 .> ERC5 : includes ERC6 .> ERC5 : includes ERC7 .> ERC5 : includes ERC8 .> ERC5 : includes } PO -down-> ERC7 PO -down-> ERC8 dao -left-> ERC6 DAO11 .> ERC1 : includes ODB2 .> ERC8 : includes DV1 .> ERC6 : includes note bottom of ERC: Requires tokenomics module rectangle "Lending DeFi" as LD { usecase "Adds Allowance" as LD1 usecase "Gets DECA as Loan" as LD2 usecase "Pays Loan with CCToken " as LD3 usecase "Earns % APY" as LD4 usecase "Lends/Mints DECA" as LD5 /'Requires Tokenomics Research'/ usecase "Provides Collateral" as LD6 /'Requires Tokenomics Research'/ rectangle Lending_Vaults as LV{ usecase "DECA/CCToken\nLiquidity Pool" as LD7 } LD .> LD7 : includes } PO -up-> LD2 PO -up-> LD3 PO -up-> LD6 DAO6 -down-> LD1 DAO11 -down-> LD6 : includes DV1 .> LD4 : includes LD5 .> DV1 : includes note left of LD V2 Will have MAKER/DAI like STABLE CCToken. end note @enduml