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
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
|