package meshmoduleassignerclient // The operations a proposal's change names (novox/hq ADR 0567 §2), the words of a change's `op`. The seat's contract // carries the field; its callers (the enrolment builds OpAddNode and OpRemoveNode) and its holder share the words here. const ( // OpPlace places a module on a node, with its host ports and bindings. OpPlace = "place" // OpTakeOff takes a module off a node. OpTakeOff = "take-off" // OpPin pins the provider of a provision on a node; OpUnpin removes a pin. OpPin = "pin" OpUnpin = "unpin" // OpHold says a module placed on the node holds a seat; OpUnhold, that it holds it no more. OpHold = "hold" OpUnhold = "unhold" // OpDecide sets a decided field of the node (NodeDecided by its JSON name), its address among them. OpDecide = "decide" // OpConfig sets a module's config placement or values on the node. OpConfig = "config" // OpSeed is the node's whole placement: the take-over (adopt, §7), never given by a caller. OpSeed = "seed" // OpAddNode adds a joining node with its decided fields and the public halves of its keys, on the warrant of the // enrolment that issued its token (novox/hq ADR 0587 §7): the enroller's alone, the proposal's one change. OpAddNode = "add-node" // OpRemoveNode takes a joining node off placement again when its enrolment ends unconfirmed, revoked or expired: the // enroller's alone, on the same warrant, the proposal's one change, of a node with no module and no holding. OpRemoveNode = "remove-node" ) // The states of an open proposal (the field `state` of the state `proposals`). const ( // ProposalAnswering: its candidates are written and the nodes it must hear from have not all answered. ProposalAnswering = "answering" // ProposalFailed: its verdict failed; it stays open, for its proposer to read and withdraw, or for a node's later // answer to judge it again. ProposalFailed = "failed" // ProposalAsked: its verdict passed and the operator is asked to approve it. ProposalAsked = "asked" )