Settings
The Chamber
loading…Loading proposals…
Building register
loading…
🧭
How to use the dApp — and what happens on-chain
The demo association lives on Sepolia. Every action below talks to three contracts — OwnersAssociationGovernor for decisions, JOPUnitRegistry for units & charges and TreasuryVault for funds — and every vote is weighted by owned area (sqm), exactly as Dubai Law No. 6 of 2019 requires.
1️⃣
How to use
- Connect your wallet with the top-right button; the dApp is configured for Sepolia, so keep a little ETH for gas and some AED-S (MockStable) to pay charges.
- Check Your voting power — your owned sqm plus live proxy power. To lend your vote, type an owner address and a number of days, then press Delegate (revoke anytime).
- Settle your share: in Treasury & association, enter an AED-S amount and press Pay charges.
- Shape a decision: in Create a proposal, pick a type, target, calldata and description, then press Propose.
- Decide: in The Chamber, press 👍 For / 👎 Against while voting is open; after the timelock, anyone presses Execute.
⛓
The process — what happens on-chain
- JOPUnitRegistry holds the building ledger — units, areas, owners. Service charges accrue per sqm per year, and Pay charges settles your unit's debt in AED-S, forwarded straight to the treasury.
- OwnersAssociationGovernor.propose() validates your proposal's type, target (registry, treasury or governor only) and calldata, then opens the Review stage. The board may fast-track it.
- vote() weighs each owner by the area snapshot recorded at proposal block − 1 in the registry's Checkpoints history: owned sqm plus delegated proxy area.
- Quorum & timelock — the proposal passes only if it clears its per-type statutory quorum (basis points of total building area), then waits out the Timelock (Emergency proposals skip it).
- execute() runs the stored calls into JOPUnitRegistry or TreasuryVault (e.g. payVendor), which refuses any payment that would breach the reserve or the board's 30-day ceiling.
🧩
Flow graph
■ brass box = a stage you drive · → blue arrow = the state advances on-chain