@startuml
'=============
'=== CLASS ===
'=============
class Eden {
  +citizen[]
  +proposal[]
  +deliberation[]
  +law[]
  +facilitator[]
  +professional[]
  +tag[]
  +administration[]
  +balance
  +propose()
}
class Masquerade {
  +merkleTreeOfIdentifiedAddresses
  +merkleTreeOfReward
  +entryMasquerade()
  +goMasquerade()
  +verifyMasqueraded()
}
class ProofOfPersonhood {
  +stake()
  +registerFlip()
  +doFlipTest()
}
class Proposal
class Legislation extends Proposal {
  +law[]
  +command[]
  +duration=14
  +budgetShare<=0.0025
}
class SignificantLegislation extends Legislation {
  +law[]
  +command[]
  +duration=60
  +budgetShare>0.0025
}
class Assignment extends Proposal {
  +law[]
  +command[]
  +duration=3
}
class Dismissal extends Proposal {
  +law[]
  +command[]
  +duration=3