diff --git a/diagrams/interaction_diagram.svg b/diagrams/interaction_diagram.svg index 3e97b05..1f7bdc6 100644 --- a/diagrams/interaction_diagram.svg +++ b/diagrams/interaction_diagram.svg @@ -1,17 +1,17 @@ -Scenario: A Participant Is Consolidating 2 Coins (Alice1, Alice2) Into 1 (Bob)SatoshisSatoshisCoordinatorCoordinatorAlice1Alice1Alice2Alice2BobBobMempoolInput RegistrationGET coordinator-statusRoundStatuses[]POST inputs-registration: RoundId, (Input, RoundParamSig)[], ZeroCredReqs[]IsRoundFound()IsInputRegistrationPhase()AllUnspent()AllConfirmed()AllMature()AllStandardScript()AllNotMalleable()CheckRoundParamSigs()AllAllowedIfBlameRound()AllNotBanned()UpdateIfDuplicateInput()SetAliceDeadline()AliceId, ZeroCreds[]POST connection-confirmation: RoundId, AliceId, RealCredReqs[], ZeroCredReqs[]IsRoundFound()IsInputRegistrationOrConnectionConfirmationPhase()IsAliceFound()EnsureUniqueSerialNumber()CheckCredProofs()ResetAliceDeadline()ZeroCreds[]POST inputs-registration: RoundId, (Input, RoundParamSig)[], ZeroCredReqs[]IsRoundFound()IsInputRegistrationPhase()AllUnspent()AllConfirmed()AllMature()AllStandardScript()AllNotMalleable()CheckRoundParamSigs()AllAllowedIfBlameRound()AllNotBanned()UpdateIfDuplicateInput()SetAliceDeadline()AliceId, ZeroCreds[]Connection ConfirmationPOST connection-confirmation: RoundId, AliceId, RealCredReqs[], ZeroCredReqs[]IsRoundFound()IsInputRegistrationOrConnectionConfirmationPhase()IsAliceFound()EnsureUniqueSerialNumber()CheckCredProofs()RealCreds[], ZeroCreds[]POST connection-confirmation: RoundId, AliceId, RealCredReqs[], ZeroCredReqs[]IsRoundFound()IsInputRegistrationOrConnectionConfirmationPhase()IsAliceFound()EnsureUniqueSerialNumber()CheckCredProofs()RealCreds[], ZeroCreds[]Output RegistrationPOST output-registration: RoundId, Output, PresentedCreds[]IsRoundFound()IsOutputRegistrationPhase()IsStandardScript()EnsureUniqueSerialNumber()CheckCredProofs()UnsignedTransactionSecretTransaction Signingcoordinator-statusRoundStatuses[]POST transaction-signatures: RoundId, AliceId, (Input, Signature)[]IsRoundFound()IsTransactionSigningPhase()IsAliceFound()CheckInputSignatures()UpdateIfAlreadySigned()ACKPOST transaction-signatures: RoundId, AliceId, (Input, Signature)[]IsRoundFound()IsTransactionSigningPhase()IsAliceFound()CheckInputSignatures()UpdateIfAlreadySigned()ACKTransaction BroadcastingSignedTransactionMempoolcoordinator-statusRoundStatuses[]