You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

91 lines
1.7 KiB

@startuml
' hide the spot
hide circle
' avoid problems with angled crows feet
skinparam linetype ortho
entity "cfds" as cfds {
id <<PK>> <<auto-increment>>
--
uuid <<unique>>
--
position
initial_price
leverage
settlement_time_interval_hours
quantity
counterparty_network_identity
}
entity "events" as events {
id <<PK>> <<auto-increment>>
--
cfd_id <<FK>>
--
name: text
data: json
timestamp: date
}
cfds }o--|| events
entity "taker::CfdAggregate" as taker_cfd_aggregate {
--
--
start_contract_setup() -> ContractSetupParams
complete_contract_setup() -> Event::Dlc
start_rollover()
complete_rollover()
start_collaborative_settlement()
complete_collaborative_settlement()
start_non_collaborative_settlement()
lock_confirmed()
commit_confirmed()
cet_confirmed()
refund_confirmed()
collaborative_settlement_confirmed()
cet_timelock_expired()
refund_timelock_expired()
oracle_attested()
}
entity "maker::CfdAggregate" as maker_cfd_aggregate {
--
--
start_contract_setup() -> ContractSetupParams
complete_contract_setup() -> Event::Dlc
rollover_requested() -> RolloverParams
accept_rollover()
reject_rollover()
complete_rollover()
collaborative_settlement_requested()
accept_collaborative_settlement()
reject_collaborative_settlement()
complete_collaborative_settlement()
start_non_collaborative_settlement()
lock_confirmed()
commit_confirmed()
cet_confirmed()
refund_confirmed()
collaborative_settlement_confirmed()
cet_timelock_expired()
refund_timelock_expired()
oracle_attested()
}
entity "Event" as taker_event {
}
@enduml