Common
The shared cross-cutting primitives of Aragon OSx. These were once a separate osx-commons library; they now live within osx itself, at src/common in the osx repo. There is no separate osx-commons package to install. In Solidity you import them directly from osx, @aragon/osx/common/…. They are the reusable pieces the core, the framework, and every plugin draw on: authorization, governance primitives, and low-level utilities.
The base contracts, setup, and plugin model are covered in the framework: a plugin uses that framework to operate a DAO. This area covers the primitives it reuses.
Exact signatures: the generated osx ABI reference has every public function, event, error and constant of these contracts, with its NatSpec.
Authorization building blocks
- Authorizing against a DAO —
DaoAuthorizableand theauthmodifier: how any contract defers access control to a DAO. - Permission conditions — dynamic, onchain authorization logic (
IPermissionCondition). - RuledCondition — a declarative rule engine for composing conditions.
Governance primitives
- Proposals — the shared proposal shape and lifecycle every governance plugin reuses.
- Membership and the address list — snapshot-safe membership.
- Ratio — fixed-point threshold math (
RATIO_BASE).
Low-level utilities
- Proxy deployment — UUPS and minimal-proxy mechanics, and the storage-layout discipline they require.
- Protocol version — the protocol-version convention (distinct from a plugin's release/build).
Where these are used
The core, the framework, and every plugin build on these, deferring access control to a DAO, reusing the governance primitives, and wiring conditions from here.