# Proposal Max Operations

The proposal max operations parameter defines the maximum number of executable actions that can be included in a single governance proposal within the Onyx governance framework. Each action represents a function call that will be executed if the proposal is approved and successfully implemented. This limitation ensures governance proposals remain manageable and do not introduce excessive complexity or execution risks.

#### Function Implementation in `CHNGovernance`

In the `CHNGovernance` contract, the `proposalMaxOperations()` function is implemented to enforce this restriction, defining the upper limit of actions within a proposal.

#### Function Signature

```
function proposalMaxOperations() public pure returns (uint)
```

`RETURN`: The function returns an unsigned integer (uint) representing the maximum number of actions that can be included in a governance proposal.

#### Example Solidity Implementation

To retrieve the maximum allowed operations in a proposal, the `proposalMaxOperations()` function can be called using an instance of the `CHNGovernance` contract.

```
CHNGovernance gov = CHNGovernance(0x123...); // Contract address of CHNGovernance
uint operations = gov.proposalMaxOperations();
```

#### Web3.js Implementation (v1.2.6)

For interacting with the `CHNGovernance` contract using Web3.js, the following example demonstrates how to retrieve the proposal max operations:

```javascript
const operations = await gov.methods.proposalMaxOperations().call();
```

#### Technical Considerations

* The `proposalMaxOperations()` function is a pure function, meaning it does not modify blockchain state and can be executed without incurring gas costs.
* The maximum operations limit ensures that proposals do not become too large, which could lead to execution failures due to block gas limits or computational overhead.
* This parameter may be adjusted through governance proposals, allowing the community to refine the limit based on network requirements and governance efficiency.
* The retrieved value should be used to validate governance dashboards, governance UI interfaces, and off-chain governance tools to ensure proposals adhere to network constraints.

By enforcing a maximum number of actions per proposal, the Onyx governance system ensures that governance remains structured, efficient, and executable without excessive computational or security risks.
