Skip to content

Commit

Permalink
Constitution updates (#348) - Release Candidate version 1.0
Browse files Browse the repository at this point in the history
* updates post counsel review

* adding voting procedure to section title

* update wallet and sc addresses

* rectified staking contract

* fix for pgas definition

* typo

* Fix end of line

* added SPL token wallet

* typo

* minor change

---------

Co-authored-by: Guillermo Bescos <[email protected]>
  • Loading branch information
YaserJazouane and guibescos authored Jan 31, 2024
1 parent 44bba95 commit a986cc0
Showing 1 changed file with 26 additions and 27 deletions.
53 changes: 26 additions & 27 deletions docs/constitution/pyth-dao-constitution.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,46 +2,45 @@

## Terminology

- **Votable Token:** staked token in the governance contract
- **Pyth Improvement Proposal (PIP)**
- **Pyth DAO Treasury:** all tokens held in the governance smart contract that is directly governed by the Pyth DAO via on-chain voting
- **Pyth Forum:** the system adopted by the DAO to manage PIP, organize the voting process and provide connectivity to the governance contract on the Solana Blockchain
- **Pythian Multisig Wallet:** smart contract wallet signed by the elected members of the Pythian Council
- **Price Feed Multisig Wallet:** smart contract wallet signed by the elected members of the Price Feed Council
- **Operations Wallet:** wallet used by council members to submit PIPs on-chain. Each council has access to a dedicated and separate Operations Wallet. This shared wallet can be used by automated processes to make proposals or by council members to propose large proposals that would otherwise require many hardware wallet signatures.
- **PGAS:** utility token exclusively used in the Pythnet Appchain, governed by the Pyth DAO
- **Votable Token:** PYTH tokens staked token in the staking contract at the following address: `pytS9TjG1qyAZypk7n8rw8gfW9sUaqqYyMhJQ4E7JCQ`
- **PIP:** Pyth Improvement Proposal
- **Pyth DAO Treasury:** all tokens held in the wallets at the following addresses: `Gx4MBPb1vqZLJajZmsKLg8fGw9ErhoKsR8LeKcCKFyak` for the native SOL token and `9HKkxg5dpqjUEW1U2r76SpQCH7uvDMciytNYxrpwMVNc` for the SPL Token, that is directly governed by the Pyth DAO via on-chain voting
- **Pyth Forum:** the system adopted by the Pyth DAO to manage PIPs, organize the voting process and provide connectivity to the governance contract on the Solana Blockchain, located here: [https://discord.gg/nE79EaQA](https://discord.gg/nE79EaQA)
- **Pythian Multisig Wallet:** smart contract wallet, at the following address `6oXTdojyfDS8m5VtTaYB9xRCxpKGSvKJFndLUPV3V3wT`, signed by the elected members of the Pythian Council. The Pythian Council is described in further detail below.
- **Price Feed Multisig Wallet:** smart contract wallet, at the following address `CPUZ9njbfxjqrsx713gEk8KYatvoz1Y4hvs4a5UQKEiu` signed by the elected members of the Price Feed Council. The Price Feed Council is described in further detail below.
- **Operations Wallets:** wallets, at the following addresses `opsLibxVY7Vz5eYMmSfX8cLFCFVYTtH6fr6MiifMpA7` and `ACzP6RC98vcBk9oTeAwcH1o5HJvtBzU59b5nqdwc7Cxy`, that are used by the Pythian Council and the Price Feed Council respectively to submit PIPs on-chain. These wallets can be used by automated processes to make proposals or by council members to propose large proposals that would otherwise require many hardware wallet signatures.
- **PGAS:** utility token native to the Pythnet Appchain, governed by the Pyth DAO
- **Pythnet Appchain:** blockchain instance dedicated to the production of the pyth data, governed by the Pyth DAO
- **Pyth DAO LLC Agreement:** ipfs://QmP2GmL1n2WbHd7AtHqyXVWFyyHH36aZLfVZbNoqhommJi

## Introduction

This Constitution describes the decision-making framework for the Pyth DAO and the governing framework for the holders of $PYTH.

Rules and procedures in this Constitution will be generally enforced through on-chain contracts and the associated parameters, unless specified by the Pyth DAO for actuation off-chain.

The Pyth DAO is legally structured as “Pyth DAO LLC” (of which the OPERATING AGREEMENT OF PYTH DAO LLC is available at: [ipfs://QmP2GmL1n2WbHd7AtHqyXVWFyyHH36aZLfVZbNoqhommJi](https://cloudflare-ipfs.com/ipfs/QmP2GmL1n2WbHd7AtHqyXVWFyyHH36aZLfVZbNoqhommJi)). The wrapper enables the DAO to hold the treasury, protect DAO members from unlimited liability, and allow DAO members to take part in governance.
The Pyth DAO LLC, is legally structured as “a non-profit DAO LLC formed under the laws of the Republic of Marshall Islands, formed to serve the Pyth DAO LLC” (of which the OPERATING AGREEMENT OF PYTH DAO LLC is available at: [ipfs://QmP2GmL1n2WbHd7AtHqyXVWFyyHH36aZLfVZbNoqhommJi](https://cloudflare-ipfs.com/ipfs/QmP2GmL1n2WbHd7AtHqyXVWFyyHH36aZLfVZbNoqhommJi)). The Pyth DAO LLC is algorithmically managed, such that actions taken by the Pyth DAO via the governance contract on the Solana Blockchain are deemed to be actions of the Pyth DAO LLC. The legal entity enables the Pyth DAO LLC to hold the treasury, protect Pyth DAO members from unlimited liability, and allow Pyth DAO members to take part in governance by providing a clear framework in respect of the rights and duties of Pyth tokenholders that hold Votable Tokens.

![pyth_dao.light.png](diagrams/pyth_dao.light.png)

## Pyth DAO Governance Procedures

### Pyth Improvement Proposals

Pyth Improvement Proposals (”PIPs”) are the primary methods to introduce, discuss and implement changes to the Pyth DAO constitution, governance and operations.
PIPs are the primary methods to introduce, discuss and implement changes to the Pyth DAO Constitution, governance and operations.

### PIP Types

Each PIP must be labeled as:
Each PIP must be labeled as Constitutional PIPs or Operational PIPs as described in more detail below:

- Constitutional PIPs are voted on by the Pyth DAO and they involve:
- the upgrade of the Governance, Staking or Multisig programs
- the amendment of this Constitution
- Operational PIPs that are either voted on by the Pyth DAO or delegated to one of the two Councils.
- Operational PIPs that are voted on by the Pyth DAO:
- the election of the Pythian Council
- the election of the Price Feed Council
- the election of members of the Pythian Council
- the election of members of the Price Feed Council
- the management of the Pyth DAO Treasury
- the exceptional replacement of a council member
- the exceptional removal and replacement of a council member
- Operational PIPs delegated to the Pythian Council involve:
- the upgrade of the oracle program
- the upgrade of the verification program for each of the blockchains where Pyth data is accessible
Expand All @@ -53,9 +52,9 @@ Each PIP must be labeled as:

### PIP Process

No PIP may be in violation of any of terms of the Pyth DAO LLC Agreement, or any applicable laws, in particular sanctions-related regulations.
No PIP may be in violation of any of terms of the Operating Agreement of Pyth DAO LLC Agreement, or any applicable laws (including, in particular, sanctions-related regulations).

The end to end process length is 7 days.
The end-to-end process length is 7 days.

1. **Proposal Submission**

Expand All @@ -66,26 +65,26 @@ A PIP is submitted through a structured process via the **Pyth Forum** (e.g. Git
- Key Terms - technical and/or commercial associated with the PIP
- Implementation Plan - steps envisioned to implement the PIP, including resources needed for each step and timelines. The implementation plan may include binding on-chain actions that will automatically execute when the PIP passes.

The requirements for formally proposing a proposal to the on-chain governance program are:
The requirements for formally advancing a proposal to the on-chain governance program are:
- For a proposal voted on by the Pyth DAO, the proposer needs to hold at least 0.25% of the current Votable Tokens.
- For a proposal voted on by a council, a member of such council needs to propose it.

2. **DAO Voting on formal PIP (7 days)**

The Pyth DAO is able to vote directly on-chain on the submitted PIP during 7 days. The PIP passes if the following condition is met:
The Pyth DAO is able to vote directly on-chain on the submitted PIP for 7 days. The PIP passes if the following condition is met:

- in the case of a Constitutional PIP, > 67% of all Votable Tokens have been cast "in favor"; or
- in the case of a Operational PIP that is voted on by the Pyth DAO, > 50% of all Votable Tokens have been cast "in favor"
- in the case of an Operational PIP that is voted on by the Pyth DAO, > 50% of all Votable Tokens have been cast "in favor"

3. **Implementation**

The PIP is then fully executed and implemented. Any on-chain actions in the implementation plan will execute automatically in this step.

## Council Election Process
## Council Election Process & Voting Procedures

1. **The Pythian Council**

The Pythian Council is made of 9 members who are signers of the Pythian Multisig Wallet, including the Operations Wallet. The Pythian Multisig Wallet has powers to perform actions that are delegated to it by the Pyth DAO. The execution of such actions by the Pythian Council require 7-of-9 approval. The on-chain submission of a PIP using the Operations Wallet carries one vote in favour of the PIP.
The Pythian Council is made of 8 members who are signers of the Pythian Multisig Wallet. The Pythian Multisig Wallet has powers to perform actions that are delegated to it by the Pyth DAO. The execution of such actions by the Pythian Council requires 7-of-9 approval (with one of the default multisig holders being the Operations Wallet itself). The on-chain submission of a PIP using the Operations Wallet carries one vote in favour of the PIP.

The first election of the Pythian Council will be ratified on-chain. The date chosen for the first election will form the basis for all future elections. Every election should begin 6 months after the previous election has started and it will replace 4 members of its cohort of 8 members.

Expand All @@ -101,14 +100,14 @@ Any Council member who has voted less than 1/3 of the proposals during the term

The following process governs the election that starts at time T:

- Nomination (T until T+2 days): Any DAO member can nominate himself or herself for candidacy to the Council. Each candidate sponsor, a person nominating a candidate or the candidate himself or herself, must hold at least 50,000 of Votable Tokens
- Member Election (T+2 days until T+7 days): Each token may be cast for one candidate.
- Nomination (T until T+2 days): Any Pyth DAO LLC member can nominate himself or herself for candidacy to the Council. Each person nominating a candidate or the candidate himself or herself, must hold at least 50,000 of Votable Tokens
- Member Election (T+2 days until T+7 days): Each Votable Token may be cast for one candidate.

In the event of a member needing to be exceptionally replaced outside of scheduled elections, the non-elected candidate with the highest amount of votes from the last election of the Pythian Council will be offered membership in the Pythian Council.

2. **The Price Feed Council**

The Price Feed Council is made of 8 members who are signers of the Price Feed Multisig Wallet, including the Operations Wallet. The Price Feed Multisig Wallet has powers to perform actions that are delegated to it by the Pyth DAO. The execution of such actions by the Price Feed Council require 5-of-8 approval. The on-chain submission of a PIP using the Operations Wallet carries one vote in favour of the PIP.
The Price Feed Council is made of 7 members who are signers of the Price Feed Multisig Wallet. The Price Feed Multisig Wallet has powers to perform actions that are delegated to it by the Pyth DAO. The execution of such actions by the Price Feed Council requires 5-of-8 approval (with one of the default multisig holders being the Operations Wallet itself). The on-chain submission of a PIP using the Operations Wallet carries one vote in favour of the PIP.

The first election of the Price Feed Council will be ratified on-chain. The date chosen for the first election will form the basis for all future elections. Every election should begin 6 months after the previous election has started and it will replace 3 members of its cohort of 7 members.

Expand All @@ -124,14 +123,14 @@ Any Council member who has voted less than 1/3 of the proposals during the term

The following process governs the election that starts at time T:

- Nomination (T until T+2 days): Any DAO member can nominate himself or herself for candidacy to the Council. Each candidate sponsor, a person nominating a candidate or the candidate himself or herself, must hold at least 50,000 of Votable Tokens
- Nomination (T until T+2 days): Any DAO member can nominate himself or herself for candidacy to the Council. Each candidate sponsor, a person nominating a candidate or the candidate himself or herself, must hold at least 50,000 Votable Tokens
- Member Election (T+2 days until T+7 days): Each token may be cast for one candidate.

In the event of a member needing to be exceptionally replaced outside of scheduled elections, the non-elected candidate with the highest amount of votes from the last election of the Price Feed Council will be offered membership in the Price Feed Council.

## Community Values

The Pyth DAO is built on the principles of ownership and governance. Its members work together to achieve common goals, and they share in the success of Pyth. As such, the guiding values of the Pyth DAO should be:
The Pyth DAO is built on the principles of radical ownership and governance. Its members work together to achieve common goals, and they share in working towards the success of Pyth. As such, the guiding values of the Pyth DAO should be:

- Sustainability: the Pyth DAO should be long-term hungry;
- Inclusivity: everyone can play a role in the Pyth DAO; and
Expand Down

0 comments on commit a986cc0

Please sign in to comment.