cba_b_check_appraise_sink.md

Copland Source

*client: @bank [attest bank sys]
  -> @appraiser appraise appraiser bank -> {} +<+ !
    

Abstract Syntax Tree

AST n0 attest bank sys n1 @bank n1->n0 n2 appraise appraiser bank n3 {} n4 -> n4->n2 n4->n3 n5 ! n6 +<+ n6->n4 n6->n5 n7 @appraiser n7->n6 n8 -> n8->n1 n8->n7

Events and Evidence

Copland cluster_appraiser appraiser cluster_bank bank cluster_client client n19 s(mt, g(m(msp(attest, bank, sys), bank, mt), appraiser)) n20 client: rpy(appraiser) n19->n20 n21 s(mt, g(m(msp(attest, bank, sys), bank, mt), appraiser)) n20->n21 n7 client: req(appraiser) n7->n20 n8 m(msp(attest, bank, sys), bank, mt) n7->n8 n9 appraiser: +<+ split n8->n9 n4 m(msp(attest, bank, sys), bank, mt) n5 client: rpy(bank) n4->n5 n6 m(msp(attest, bank, sys), bank, mt) n5->n6 n1 client: req(bank) n1->n5 n2 mt n1->n2 n3 bank: msp(attest, bank, sys) n2->n3 n18 appraiser: join n18->n19 n17 g(m(msp(attest, bank, sys), bank, mt), appraiser) n17->n18 n14 mt n14->n18 n13 appraiser: nul n13->n14 n16 appraiser: sig n13->n16 n16->n17 n15 m(msp(attest, bank, sys), bank, mt) n15->n16 n9->n15 n10 m(msp(attest, bank, sys), bank, mt) n9->n10 n12 m(msp(appraise, appraiser, bank), appraiser, m(msp(attest, bank, sys), bank, mt)) n12->n13 n11 appraiser: msp(appraise, appraiser, bank) n11->n12 n10->n11 n3->n4 n6->n7 n0 mt n0->n1