module Protocol.Streamlet.Test.TraceVerifier where
open import Prelude
open import Hash
open import Protocol.Streamlet.Test.Core
open import Protocol.Streamlet.TraceVerifier ⋯
open import Protocol.Streamlet.Test.ExampleTrace
trace : Actions
trace = L.reverse $
[ Propose 𝕃 genesisChain []
⨾ Deliver 1
⨾ Vote 𝔹 genesisChain []
⨾ AdvanceEpoch
⨾ Propose 𝕃 genesisChain []
⨾ Deliver 3
⨾ Vote 𝔸 genesisChain []
⨾ AdvanceEpoch
⨾ Deliver 1
⨾ RegisterVote 𝕃 0
⨾ Propose 𝕃 [ b₁ ] []
⨾ Deliver 6
] ++
[ Vote 𝔹 [ b₁ ] []
⨾ AdvanceEpoch
⨾ AdvanceEpoch
⨾ Deliver 3
⨾ RegisterVote 𝕃 0
⨾ Propose 𝕃 [ b₂ ] []
⨾ Deliver 7
⨾ Vote 𝔸 [ b₂ ] []
⨾ AdvanceEpoch
⨾ Deliver 5
⨾ Deliver 7
] ++
[ RegisterVote 𝕃 0
⨾ RegisterVote 𝕃 0
⨾ Propose 𝕃 [ b₅ ⨾ b₂ ] []
⨾ Deliver 8
⨾ Vote 𝔸 [ b₅ ⨾ b₂ ] []
⨾ AdvanceEpoch
⨾ Deliver 9
⨾ RegisterVote 𝕃 0
⨾ Propose 𝕃 [ b₆ ⨾ b₅ ⨾ b₂ ] []
⨾ Deliver 10
⨾ Vote 𝔸 [ b₆ ⨾ b₅ ⨾ b₂ ] []
⨾ FinalizeBlock 𝔸 [ b₆ ⨾ b₅ ⨾ b₂ ] b₇
]
test : Bool
test = ¿ ValidTrace trace ¿ᵇ
{-# COMPILE AGDA2LAMBOX test #-}
_ : test ≡ true
_ = refl