Input States

Transaction input states are shown at the beginning of an arrow going into transaction boxes. You must ensure that an individual instance of a state is only ever shown once on the diagram, with input and output arrows linking it respectively to the transaction that created it, and the transaction that consumes it.

In this example, you can see that Bob has rejected Alice’s proposal. He does this by creating and signing a transaction which consumes the PROPOSED state and creates a REJECTED state that: rejects the transaction because he has Run out of bananas.

Continuing with the example, you can see that Bob has come up with a counter-proposal for One bag of grapes for £8. You can see that now Bob is the proposer, whereas Alice is the consenter in the new PROPOSED state and that he got to the PROPOSED state from a repropose command rather than a propose command.