LogoLogo
  • Introduction
    • Chain Info
    • Smart Contracts
    • About Onyx
  • DEVELOPERS
    • Building dApp
    • Estimating Gas
    • Development Framework
    • Web3 Toolkits
    • Onyx SDK
    • Run Full Node
  • GOVERNANCE
    • Overview
    • Governor
    • Security
    • Quorum Votes
    • Proposal Threshold
    • Proposal Max Operations
    • Voting Delay
    • Voting Period
    • Propose
    • Queue
    • Execute
    • Cancel
    • Get Action
    • Get Receipt
    • Proposal State
    • Cast Vote
    • Vote By Signature
    • Timelock
  • Points
    • Onyx Points
    • Earning Points
      • 🟢Passive Points
      • 🔜Activity Points
      • 🔜App Points
  • Whitelisted Assets
  • Onyx AI
    • AI Agent
    • Core Features
    • Wallet Infrastructure
    • 🔜Roadmap
  • API
    • Onyx Governance API
    • Core API Endpoints
    • GET: /proposal
    • GET: /proposal/:proposalId
    • GET: /voter/:proposalId
    • GET: /voter/accounts
    • GET: /voter/history/:address
  • RESOURCES
    • Terms of Service
    • Bug Bounty
Powered by GitBook
On this page
Export as PDF
  1. GOVERNANCE

Proposal Max Operations

The predefined number of functions a Onyx Improvement Proposal (OIP) may contain.

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:

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.

PreviousProposal ThresholdNextVoting Delay

Last updated 3 months ago