Daniel Karzel
3 years ago
committed by
Lucas Soriano del Pino
1 changed files with 54 additions and 0 deletions
@ -0,0 +1,54 @@ |
|||
@startuml |
|||
|
|||
participant CfdActor as CA |
|||
participant BlockchainMonitoringActor as BMA |
|||
|
|||
CA -> CA: broadcast [lock-tx] |
|||
CA -> BMA: Here's a CFD where I published lock |
|||
|
|||
BMA -> BMA: monitor [lock-tx] |
|||
BMA -> BMA: monitor [commit-tx] |
|||
|
|||
BMA -> CA: finality confirmation for [lock-tx] @ cfd-id |
|||
CA -> CA: load cfd by cfd-id |
|||
CA -> CA: transition Cfd to Open |
|||
'CA -> BMA: Unsubscribe [lock-tx] |
|||
BMA -> BMA: stop monitor [lock-tx] |
|||
|
|||
BMA -> CA: finality confirmation for [commit-tx] @ cfd-id |
|||
BMA -> BMA: [commit-tx] |
|||
CA -> CA: load cfd by cfd-id |
|||
CA -> CA: transition Cfd to OpenCommitted |
|||
|
|||
group >t1 |
|||
BMA -> CA: t1 confirmation for [commit-tx] @ cfd-id |
|||
CA -> CA: load cfd by txid |
|||
CA -> CA: check if timelock is reached => t1 reached |
|||
OracleActor -> CA: Attested price |
|||
OracleActor -> BMA: Attested price |
|||
CA -> CA: Attest decides CET |
|||
CA -> CA: publish [CET] |
|||
CA -> CA: transition Cfd to PendingClose |
|||
BMA -> BMA: decide which [CET] based on price |
|||
BMA -> BMA: monitor [CET] |
|||
BMA -> CA: finality confirmation for [CET] @ cfd-id |
|||
CA -> CA: transition Cfd to Closed |
|||
BMA -> BMA: stop monitor [commit-tx] |
|||
BMA -> BMA: stop monitor [CET] |
|||
end group |
|||
|
|||
group >t2 |
|||
BMA -> BMA: monitor [refund-tx] |
|||
BMA -> CA: t2 confirmation for [commit-tx] @ cfd-id |
|||
CA -> CA: load cfd by txid |
|||
CA -> CA: check if timelock is reached => t2 reached |
|||
CA -> CA: publish [refund-tx] |
|||
BMA -> CA: finality confirmation for [refund-tx] |
|||
CA -> CA: transition Cfd to Refunded |
|||
BMA -> BMA: stop monitor [commit-tx] |
|||
BMA -> BMA: stop monitor [refund-tx] |
|||
end group |
|||
|
|||
|
|||
|
|||
@enduml |
Loading…
Reference in new issue