def route
cswap-bend-cli@0.1.0.0 · daemon/walk.bend:212
import cswap-bend-cli@0.1.0.0/daemon/walk.bend as Walk
import Base
import cswap-bend-cli@0.1.0.0/act.bend as Act
import cswap-bend-cli@0.1.0.0/daemon/dec.bend as Dc
import cswap-bend-cli@0.1.0.0/daemon/tick.bend as Tk
212def route(+v: Verdict, +st: String, w: W, tr: Trail, +o: Tk.Out, c: Dc.Ctx, d: Dc.Dec, +slot: String, +email: String) -> Act.of(Move):
213 match v:
214 case VOk{}:
215 done_with(w, tr, o, c, d)
216 case VDead{}:
217 quarantined(w, tr, o, slot, email, "invalid_grant")
218 case VConflict{}:
219 quarantined(w, tr, o, slot, email, "identity-conflict")
220 case VSkip{}:
221 Act.pure(Move, MRetry{extend(tr, slot, [], False{}, o)})
222 case VSys{}:
223 Act.pure(Move, MRetry{extend_sys(tr, slot, st, o)})
224 case VTrans{}:
225 Act.pure(Move, MRetry{extend(tr, slot, [], True{}, o)})