Files
zeekayandHanzo Dev 6b1084e587 core: GuardableModule, IAvatar and IGuard, from the DAO repo
Zodiac code that had been sitting in luxdao/contracts under an AGPL header.
It is Gnosis Guild's, LGPL-3.0, and belongs in our Zodiac fork. Source in
luxdao/contracts: 11f600c2 "LuxDAO governance contracts" —
contracts/base/GuardableModule.sol, contracts/interfaces/dao/IAvatar.sol and
contracts/interfaces/dao/IGuard.sol. The layout follows zodiac-core
(contracts/core, contracts/interfaces).

Our GuardableModule deliberately differs from zodiac-core 4.x: setAvatar,
setTarget and setGuard are gated on onlyAvatar rather than onlyOwner, setGuard
does not run upstream's ERC-165 check, guards are called through
IGuard.checkTransaction rather than IModuleGuard.checkModuleTransaction, and
execAndReturnData is absent. That version is what is deployed behind the live
ModuleGovernorV1 and ModuleFractalV1 masters on Zoo 200200 and Pars 494949, so
the divergence is kept as-is here rather than reconciled. The code is the DAO
repo's byte for byte; only headers, imports and natspec changed.

Safe's Enum comes from luxfi/safe (contracts/interfaces/Enum.sol) through the
@luxfi/safe/ remapping, resolved to a checkout beside this repo the same way
luxdao/contracts reaches luxfi/standard. foundry.toml builds the three files.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-04 14:24:03 -07:00
..