@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 } class CitizenRevision extends Proposal { +law[] +command[] +duration=7 } class VariableUpdate extends Proposal { +law[] +command[] +duration=14 } class Deliberation { +state +initialJudge() +pickFacilitator() +pickDomain() +pickProfessionals() +startDeliberation() +modificationRequest() +finalJudge() } class Citizen { +entryMasquerade() +goMasquerade() +verifyMasqueraded() +withdrawReward() +zapRewardToTax() +entryTaxMasquerade() +goTaxMasquerade() +revealMaskToTaxCollector() +internalShieldedTransfer() +payTaxFromStealthAddress() } class Proposer extends Citizen { +dismiss(who) +assign(who, what) +propose(budget, LegalDSL) } class DeliberationParticipant extends Citizen { +talkInDeliberation() +voteFor() +withdrawFund() } class TenureSubset extends Citizen {} class Facilitator extends TenureSubset { +pickTag(what) +talkInDeliberation() } class Professional extends TenureSubset { +talkInDeliberation() } class DismissibleSubset { } class Administration extends DismissibleSubset { +committee[] +vestedBudget +officer[] +withdrawVestedBudget() } class Protocol extends DismissibleSubset {} class DistrictJudge extends Citizen { +approve() +deny() } class AppellateJudge extends Citizen { +approve() +deny() } class SuperiorJudge extends TenureSubset { +approve() +deny() +assignJudicialPersonnelAffairs() } class JudicialPersonnelAffairs extends Administration { +districtJudeges +appellateJudges +registerJudge() +deregisterJudge() } class TaxCollector extends Administration { +askBilling() +approveCitizen() +sendBalance() } class MiscellaneousAdministration extends Administration {} '================= '=== RELATIONS === '================= Eden "1" --* "many" Legislation : has > Eden "1" --* "many" SignificantLegislation : has > Eden "1" --* "many" Assignment : has > Eden "1" --* "many" Dismissal : has > Eden "1" --* "many" CitizenRevision : has > Eden "1" --* "many" VariableUpdate : has > Eden "1" --* "many" Citizen : has > Eden "1" --* "many" Deliberation : has > Eden "1" --* "1" TaxCollector : create > Eden "1" --* "1" JudicialPersonnelAffairs : create > Eden "1" --* "many" MiscellaneousAdministration : has > Eden "1" --* "many" Facilitator : assings > Eden "1" --* "many" Professional : assings > Eden "1" --* "many" SuperiorJudge : assings > Eden "1" --* "1" ProofOfPersonhood : create > Eden "1" --* "1" Masquerade : create > Deliberation "1" *-- "1" Legislation : belongs to < Deliberation "1" *-- "1" SignificantLegislation : belongs to < Deliberation "1" *-- "1" Assignment : belongs to < Deliberation "1" *-- "1" Dismissal : belongs to < Deliberation "1" *-- "1" CitizenRevision : belongs to < Deliberation "1" *-- "1" VariableUpdate : belongs to < Professional "1" --* "many" Tag : has many > JudicialPersonnelAffairs "1" -- "1" SuperiorJudge : assigns < AppellateJudge "many" *-- "1" JudicialPersonnelAffairs : assigns < DistrictJudge "many" *-- "1" JudicialPersonnelAffairs : assigns < Deliberation "1" -- "1" Proposer : belongs to < Deliberation "1" *-- "many" DeliberationParticipant : random pick > Deliberation "1" -- "1" Facilitator : random pick > Deliberation "1" *-- "many" Tag : assigned by a facilitator < Deliberation "1" --* "many" Professional : random pick for each tag > @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
Pure Javascript
PNG
SVG
ASCII Art