Differences from DAO-DAO
Note: We forked DAO-DAO contracts from commit 9e496379a1c1e89e00133865c9a1041dfdb20612
DAO Core Contract
- Admin functionality is removed (
ExecuteMsg::ExecuteAdminMsgs
,ExecuteMsg::NominateAdmin
,ExecuteMsg::AcceptAdminNomination
,ExecuteMsg::WithdrawAdminNomination
messages are removed with all the corresponding handlers); - Some config fields are removed (
image_url
,automatically_add_cw20s
,automatically_add_cw721s
); - We use Voting Registry Contract instead of Voting Module Contract;
- Vanilla
Response
is replaced withResponse<NeutronMsg>
; - CW20 and CW721 handlers are removed (
ExecuteMsg::Receive
,ExecuteMsg::ReceiveNft
,ExecuteMsg::UpdateCw20List
,ExecuteMsg::UpdateCw721List
messages are removed).
Pre-Propose Contracts (Single and Multiple)
CosmosMsg<Empty>
is replaced withCosmosMsg<NeutronMsg>
;ExecuteMsg::Extension
is removed;- Couple of changes in dependency versions (upgrades, replaces with Neutron packages instead of DA0-DA0).
Note: Pre-Propose Single Overrule Contract is a completely new contract!
Proposal Single Contract
- Couple of changes in dependency versions;
CosmosMsg<Empty>
is replaced withCosmosMsg<NeutronMsg>
;only_members_execute
field is removed fromConfig
with all the corresponding logic;IsActive
query to a voting module is removed;- Migration logic from
V1
is removed;
Proposal Multiple Contract
- Couple of changes in dependency versions (upgrades, replaces with Neutron packages instead of DA0-DA0).
Voting contracts
- cwd-voting-cw20-staked, cwd-voting-cw4, cwd-voting-cw721-staked, cwd-voting-native-staked, cwd-voting-staking-denom-staked source codes are completely removed from our DAO repo, but we use vanilla CW4 Group and CW4 Voting precompiled contract binaries in our DAO system.
- We've developed two completely new contracts: Voting Registry Contract and Bonding Vault Contract.
SubDao contracts
Generally speaking, all SubDao contracts are the same as DAO Core contracts (meaning they have the same functionality and differences with DAO-DAO), except some changes:
- Pausing logic - SubDAO contract can be paused by Core DAO contract or by special Security SubDAO contract. But SubDAO Core can be unpaused only by main Core DAO contract;
- Completely new Timelock contract is introduced;
- Pre-Propose Single Contract is patched to use Timelock module -
Propose
messages are wrapped now intoTimelockExecuteMsg::TimelockProposal
message.