The admin module cannot be used directly by individual users or external contracts. All interactions must go through Neutron’s DAO governance process.
Understanding Admin Module Access
The admin module operates under a strict access control model:- Only the DAO can send messages to the admin module
- Messages are sent using WebAssembly bindings from the Main DAO
- Individual users cannot directly submit proposals or interact with the module
DAO Governance Process
Proposal Types
The DAO can submit two types of proposals through the admin module:Legacy Proposals
- Based on the traditional
x/gov
module structure - Include predefined proposal types like
MigrateContract
orDeleteAdmin
- Processed through dedicated handlers
- Must be part of a whitelisted group for execution
Message-Based Proposals
- Introduced with SDK 0.47
- Allow execution of any valid
sdk.Msg
- Provide greater flexibility for governance operations
- Require modules to implement an
authority
field
Proposal Execution
When the DAO submits a proposal:- Submission: The DAO creates a proposal using WebAssembly bindings
- Validation: The admin module validates the proposal format and content
- Authorization: The module verifies the sender is the authorized DAO
- Execution: Valid proposals are executed immediately within the message server
Message Structure
Proposals sent to the admin module follow Cosmos SDK guidelines and contain:- Proposal Content: The specific actions or changes to be implemented
- Proposer: The DAO address submitting the proposal
- Message Type: Either legacy proposal format or message-based format
Integration with Neutron Infrastructure
The admin module integrates seamlessly with Neutron’s governance infrastructure through:- ProposalExecuteMessage Binding: Allows processing of any Cosmos message type
- Signer Verification: Ensures only authorized DAO can submit proposals
- Immediate Execution: Proposals execute directly in the message server without queuing