How far along the flow is. The free discriminator: it is the one call in
this group that reads state without changing any, so it costs nothing to
poll and it is what tells apart conditions the calls below can only
report as one error.
On a flow proceeding by a scanned code it tells apart the one thing
that matters, and no more.'code-scanned' is the moment a person is
being asked something, and reading it is what separates
confirmScan's two 'wrong_stage' causes: nobody has scanned yet,
versus the flow is over. This paragraph said the stage could not describe
a code flow at all, and adding 'code-scanned' is what changed that.
What is still shared is 'started' and 'confirmed', which both flow
shapes reach, so those two answers do not say which shape you are in and
startVerificationComparison still folds a code flow at 'started'
into 'comparison_already_started'.
Rejects with 'unknown_flow' for an identifier this library is not
taking part in -- including a flow that finished and has since been
released, which happens the next time a flow is registered rather than
on a timer. Registration is broader than starting one: an inbound
invitation announced down onCryptoSignal registers, and so does
the first call made against a flow this library is not already caching.
Nothing observable turns on the difference; it is stated because "started"
reads narrower than the rule is.
How far along the flow is. The free discriminator: it is the one call in this group that reads state without changing any, so it costs nothing to poll and it is what tells apart conditions the calls below can only report as one error.
On a flow proceeding by a scanned code it tells apart the one thing that matters, and no more.
'code-scanned'is the moment a person is being asked something, and reading it is what separates confirmScan's two'wrong_stage'causes: nobody has scanned yet, versus the flow is over. This paragraph said the stage could not describe a code flow at all, and adding'code-scanned'is what changed that. What is still shared is'started'and'confirmed', which both flow shapes reach, so those two answers do not say which shape you are in and startVerificationComparison still folds a code flow at'started'into'comparison_already_started'.Rejects with
'unknown_flow'for an identifier this library is not taking part in -- including a flow that finished and has since been released, which happens the next time a flow is registered rather than on a timer. Registration is broader than starting one: an inbound invitation announced downonCryptoSignalregisters, and so does the first call made against a flow this library is not already caching. Nothing observable turns on the difference; it is stated because "started" reads narrower than the rule is.