Skip to content

Commit fca0849

Browse files
committed
fsm: add reservation fsm compiling
1 parent d834843 commit fca0849

File tree

4 files changed

+31
-3
lines changed

4 files changed

+31
-3
lines changed

fsm/stateparser/stateparser.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"sort"
1111

1212
"github.com/lightninglabs/loop/fsm"
13+
"github.com/lightninglabs/loop/reservation"
1314
)
1415

1516
func main() {
@@ -41,6 +42,13 @@ func run() error {
4142
return err
4243
}
4344

45+
case "reservation":
46+
reservationFSM := &reservation.ReservationFSM{}
47+
err = writeMermaidFile(fp, reservationFSM.GetReservationStates())
48+
if err != nil {
49+
return err
50+
}
51+
4452
default:
4553
fmt.Println("Missing or wrong argument: fsm must be one of:")
4654
fmt.Println("\treservations")

reservation/fsm.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ var (
5959
"ReservationWaitForConfirmation",
6060
)
6161
ReservationConfirmed = fsm.StateType("ReservationConfirmed")
62-
ReservationTimedOut = fsm.StateType("ReservationSweeping")
62+
ReservationTimedOut = fsm.StateType("ReservationTimedOut")
6363

6464
ReservationFailed = fsm.StateType("ReservationFailed")
6565
)
@@ -95,7 +95,7 @@ func (r *ReservationFSM) GetReservationStates() fsm.States {
9595
},
9696
ReservationWaitForOpening: fsm.State{
9797
Transitions: fsm.Transitions{
98-
OnOpeningMessageReceived: ReservationWaitForConfirmation,
98+
OnOpeningMessageReceived: ReservationOpeningMsgReceived,
9999
OnPaymentFailed: ReservationFailed,
100100
},
101101
Action: fsm.NoOpAction,

reservation/reservation_fsm.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
```mermaid
2+
stateDiagram-v2
3+
[*] --> ReservationInit: OnPrepayInvoice
4+
ReservationConfirmed
5+
ReservationConfirmed --> ReservationTimedOut: OnReservationTimedOut
6+
ReservationFailed
7+
ReservationInit
8+
ReservationInit --> ReservationWaitForOpening: OnPaymentSent
9+
ReservationInit --> ReservationFailed: OnError
10+
ReservationOpeningMsgReceived
11+
ReservationOpeningMsgReceived --> ReservationWaitForConfirmation: OnOpeningMessageSaved
12+
ReservationOpeningMsgReceived --> ReservationOpeningMsgReceived: OnError
13+
ReservationWaitForConfirmation
14+
ReservationWaitForConfirmation --> ReservationConfirmed: OnReservationConfirmed
15+
ReservationWaitForConfirmation --> ReservationTimedOut: OnReservationTimedOut
16+
ReservationWaitForOpening
17+
ReservationWaitForOpening --> ReservationOpeningMsgReceived: OnOpeningMessageReceived
18+
ReservationWaitForOpening --> ReservationFailed: OnInvoiceCanceled
19+
```

scripts/fsm-generate.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
#!/usr/bin/env bash
2-
go run ./fsm/stateparser/stateparser.go --out ./fsm/example_fsm.md --fsm example
2+
go run ./fsm/stateparser/stateparser.go --out ./fsm/example_fsm.md --fsm example
3+
go run ./fsm/stateparser/stateparser.go --out ./reservation/reservation_fsm.md --fsm reservation

0 commit comments

Comments
 (0)