Ensure we apply the necessary restrictions when building vanguard circuits
The following discussion from !2046 (merged) should be addressed:
-
@nickm started a discussion: For both cases where you call select_vanguard, and for when you use relay_selector below in this function:
Watch out: just because we aren't enforcing family restrictions, doesn't mean we have no restrictions at all. In particular, I think we we have to prevent the same Relay from appearing twice consecutively. (A relay won't let you extend a circuit to itself.)
@mikeperry Is that right? And is the only restriction on vanguard-based paths?
This has implications for the select_vanguard API; maybe it needs to take a RelayExclusion.