|
61 | 61 | ReservationConfirmed = fsm.StateType("ReservationConfirmed") |
62 | 62 | ReservationTimedOut = fsm.StateType("ReservationTimedOut") |
63 | 63 |
|
| 64 | + ReservationLocked = fsm.StateType("ReservationLocked") |
| 65 | + |
| 66 | + ReservationSpendBroadcasted = fsm.StateType("ReservationSpendBroadcasted") |
| 67 | + |
| 68 | + ReservationSpendConfirmed = fsm.StateType("ReservationSpendConfirmed") |
| 69 | + |
64 | 70 | ReservationFailed = fsm.StateType("ReservationFailed") |
65 | 71 | ) |
66 | 72 |
|
|
74 | 80 | OnReservationConfirmed = fsm.EventType("OnReservationConfirmed") |
75 | 81 | OnReservationTimedOut = fsm.EventType("OnReservationTimedOut") |
76 | 82 |
|
| 83 | + OnReservationLocked = fsm.EventType("OnReservationLocked") |
| 84 | + |
| 85 | + OnReservationUnlocked = fsm.EventType("OnReservationUnlocked") |
| 86 | + |
| 87 | + OnReservationSpendBroadcasted = fsm.EventType( |
| 88 | + "OnReservationSpendBroadcasted", |
| 89 | + ) |
| 90 | + OnReservationSpendConfirmed = fsm.EventType( |
| 91 | + "OnReservationSpendConfirmed", |
| 92 | + ) |
| 93 | + |
77 | 94 | // Failure Events |
78 | 95 | OnPaymentFailed = fsm.EventType("OnInvoiceCanceled") |
79 | 96 | ) |
@@ -116,9 +133,25 @@ func (r *ReservationFSM) GetReservationStates() fsm.States { |
116 | 133 | ReservationConfirmed: fsm.State{ |
117 | 134 | Transitions: fsm.Transitions{ |
118 | 135 | OnReservationTimedOut: ReservationTimedOut, |
| 136 | + OnReservationLocked: ReservationLocked, |
119 | 137 | }, |
120 | 138 | Action: fsm.NoOpAction, |
121 | 139 | }, |
| 140 | + ReservationLocked: fsm.State{ |
| 141 | + Transitions: fsm.Transitions{ |
| 142 | + OnReservationUnlocked: ReservationConfirmed, |
| 143 | + OnReservationSpendBroadcasted: ReservationSpendBroadcasted, |
| 144 | + }, |
| 145 | + Action: fsm.NoOpAction, |
| 146 | + }, |
| 147 | + ReservationSpendBroadcasted: fsm.State{ |
| 148 | + Transitions: fsm.Transitions{ |
| 149 | + OnReservationSpendConfirmed: ReservationSpendConfirmed, |
| 150 | + OnReservationSpendBroadcasted: ReservationSpendBroadcasted, |
| 151 | + }, |
| 152 | + Action: fsm.NoOpAction, |
| 153 | + }, |
| 154 | + |
122 | 155 | ReservationFailed: fsm.State{ |
123 | 156 | Action: fsm.NoOpAction, |
124 | 157 | }, |
|
0 commit comments