Skip to content

Commit e645061

Browse files
committed
fsm: add reservation fsm compiling
1 parent 26393ef commit e645061

File tree

4 files changed

+27
-3
lines changed

4 files changed

+27
-3
lines changed

fsm/stateparser/stateparser.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"sort"
1010

1111
"github.com/lightninglabs/loop/fsm"
12+
"github.com/lightninglabs/loop/reservation"
1213
)
1314

1415
func main() {
@@ -31,6 +32,9 @@ func main() {
3132
case "example":
3233
exampleFSM := &fsm.ExampleFSM{}
3334
writeMermaidFile(fp, exampleFSM.GetStates())
35+
case "reservation":
36+
reservationFSM := &reservation.ReservationFSM{}
37+
writeMermaidFile(fp, reservationFSM.GetReservationStates())
3438
default:
3539
fmt.Println("Missing or wrong argument: fsm must be one of:")
3640
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)