Skip to content

Commit 57c03af

Browse files
committed
llms
1 parent 97cd16f commit 57c03af

File tree

1 file changed

+0
-179
lines changed

1 file changed

+0
-179
lines changed

llms.txt

-179
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,10 @@ Doc-Page: https://wormhole.com/docs/build/core-messaging/wormhole-relayers/
1010
Doc-Page: https://wormhole.com/docs/build/
1111
Doc-Page: https://wormhole.com/docs/build/multigov/deploy-to-evm/
1212
Doc-Page: https://wormhole.com/docs/build/multigov/deploy-to-solana/
13-
Doc-Page: https://wormhole.com/docs/build/multigov/deployment/
1413
Doc-Page: https://wormhole.com/docs/build/multigov/faq/
1514
Doc-Page: https://wormhole.com/docs/build/multigov/
1615
Doc-Page: https://wormhole.com/docs/build/multigov/upgrade-evm/
1716
Doc-Page: https://wormhole.com/docs/build/multigov/upgrade-solana/
18-
Doc-Page: https://wormhole.com/docs/build/multigov/upgrade/
1917
Doc-Page: https://wormhole.com/docs/build/queries/faqs/
2018
Doc-Page: https://wormhole.com/docs/build/queries/
2119
Doc-Page: https://wormhole.com/docs/build/queries/overview/
@@ -1152,114 +1150,6 @@ When deploying MultiGov on Solana, several key parameters need to be set. Here a
11521150
- `hubDispatcher` ++"Pubkey"++ - the Solana public key derived from an Ethereum address on the hub chain that dispatches messages to the spoke chains. This is crucial for ensuring that only authorized messages from the hub are executed on the spoke
11531151
--- END CONTENT ---
11541152

1155-
Doc-Content: https://wormhole.com/docs/build/multigov/deployment/
1156-
--- BEGIN CONTENT ---
1157-
---
1158-
title: MultiGov Deployment to EVM
1159-
description: Set up and deploy MultiGov to EVM locally with step-by-step instructions for configuring, compiling, and deploying smart contracts across chains.
1160-
---
1161-
1162-
# Deploy MultiGov on EVM
1163-
1164-
This guide provodes instructions to set up and deploy the MultiGov governance system locally. Before diving into the technical deployment, ensure that MultiGov is the right fit for your project’s governance needs by following the steps for the [integration process](/docs/build/multigov/){target=\_blank}.
1165-
1166-
Once your project is approved through the intake process and you’ve collaborated with the Tally team to tailor MultiGov to your requirements, use this guide to configure, compile, and deploy the necessary smart contracts across your desired blockchain networks. This deployment will enable decentralized governance across your hub and spoke chains.
1167-
1168-
## Prerequisites
1169-
1170-
To interact with MultiGov, you'll need the following:
1171-
1172-
- Install [Foundry](https://book.getfoundry.sh/getting-started/installation){target=\_blank}
1173-
- Install [Git](https://git-scm.com/downloads){target=\_blank}
1174-
- Clone the repository:
1175-
```bash
1176-
git clone https://github.com/wormhole-foundation/multigov
1177-
cd evm # for evm testing/deploying
1178-
```
1179-
1180-
## Development Setup
1181-
1182-
For developers looking to set up a local MultiGov environment:
1183-
1184-
1. Install dependencies:
1185-
```bash
1186-
forge install
1187-
```
1188-
1189-
2. Set up environment variables:
1190-
```bash
1191-
cp .env.example .env
1192-
```
1193-
<<<<<<<< HEAD:build/multigov/deployment.md
1194-
========
1195-
1196-
>>>>>>>> origin:build/multigov/deploy-to-evm.md
1197-
Edit `.env` with your specific [configuration](/docs/build/multigov/deployment/#configuration){target=\_blank}
1198-
1199-
3. Compile contracts:
1200-
```bash
1201-
forge build
1202-
```
1203-
1204-
4. Deploy contracts (example for Sepolia testnet): <!-- would be nice to cover the contracts before the deployment step -->
1205-
1206-
For hub chains:
1207-
```bash
1208-
forge script script/DeployHubContractsSepolia.s.sol --rpc-url $SEPOLIA_RPC_URL --broadcast
1209-
```
1210-
1211-
For spoke chains (e.g., Optimism Sepolia):
1212-
```bash
1213-
forge script script/DeploySpokeContractsOptimismSepolia.s.sol --rpc-url $OPTIMISM_SEPOLIA_RPC_URL --broadcast
1214-
```
1215-
1216-
## Configuration
1217-
1218-
When deploying MultiGov, several key parameters need to be set. Here are the most important configuration points:
1219-
1220-
### Hub Governor Key Parameters
1221-
1222-
- `initialVotingDelay` ++"uint256"++ - the delay measured in seconds before voting on a proposal begins. For example, `86400` is one day
1223-
- `initialProposalThreshold` ++"uint256"++ - the number of tokens needed to create a proposal
1224-
- `initialQuorum` ++"uint256"++ - the minimum number of votes needed for a proposal to be successful
1225-
- `initialVoteWeightWindow` ++"uint256"++ - a window where the minimum checkpointed voting weight is taken for a given address. The window ends at the vote start for a proposal and begins at the vote start minus the vote weight window. The voting window is measured in seconds, e.g., `86400` is one day
1226-
1227-
!!! note
1228-
This helps mitigate cross-chain double voting.
1229-
1230-
### Hub Proposal Extender Key Parameters
1231-
1232-
- `extensionDuration` ++"uint256"++ - the amount of time, in seconds, for which target proposals will be extended. For example, `10800` is three hours
1233-
- `minimumExtensionDuration` ++"uint256"++ - lower time limit, in seconds, for extension duration. For example, `3600` is one hour
1234-
1235-
### Spoke Vote Aggregator Key Parameters
1236-
1237-
- `initialVoteWindow` ++"uint256"++ - the moving window in seconds for vote weight checkpoints. These checkpoints are taken whenever an address that is delegating sends or receives tokens. For example, `86400` is one day
1238-
1239-
!!! note
1240-
This is crucial for mitigating cross-chain double voting
1241-
1242-
### Hub Evm Spoke Vote Aggregator Key Parameters
1243-
1244-
- `maxQueryTimestampOffset` ++"uint256"++ - the max timestamp difference, in seconds, between the requested target time in the query and the current block time on the hub. For example, `1800` is 30 minutes
1245-
1246-
### Updateable Governance Parameters
1247-
1248-
The following key parameters can be updated through governance proposals:
1249-
1250-
- `votingDelay` - delay before voting starts (in seconds)
1251-
- `votingPeriod` - duration of the voting period (in seconds)
1252-
- `proposalThreshold` - threshold for creating proposals (in tokens)
1253-
- `quorum` - number of votes required for quorum
1254-
- `extensionDuration` - the amount of time for which target proposals will be extended (in seconds)
1255-
- `voteWeightWindow` - window for vote weight checkpoints (in seconds)
1256-
- `maxQueryTimestampOffset` - max timestamp difference allowed between a query's target time and the hub's block time
1257-
1258-
These parameters can be queried using their respective getter functions on the applicable contract.
1259-
1260-
To update these parameters, a governance proposal must be created, voted on, and executed through the standard MultiGov process.
1261-
--- END CONTENT ---
1262-
12631153
Doc-Content: https://wormhole.com/docs/build/multigov/faq/
12641154
--- BEGIN CONTENT ---
12651155
---
@@ -1578,75 +1468,6 @@ Follow these steps to upgrade the MultiGov Staking Program on Solana.
15781468
```
15791469
--- END CONTENT ---
15801470

1581-
Doc-Content: https://wormhole.com/docs/build/multigov/upgrade/
1582-
--- BEGIN CONTENT ---
1583-
---
1584-
title: Upgrading MultiGov on EVM
1585-
description: Learn the process and key considerations for upgrading MultiGov on EVM, ensuring system integrity and careful planning across cross-chain components.
1586-
---
1587-
1588-
# Upgrade MultiGov Contracts on EVM
1589-
1590-
MultiGov is designed to be flexible but stable. Due to the system's complexity and cross-chain nature, upgrades should be rare and carefully considered. When upgrades are necessary, they must be meticulously planned and executed to ensure system integrity and continuity.
1591-
1592-
## Key Considerations for Upgrades
1593-
1594-
- **`HubGovernor`**:
1595-
- Not upgradeable. A new deployment requires redeploying several components of the MultiGov system. Refer to the [Process for Major System Upgrade](/docs/build/multigov/upgrade/#process-for-major-system-upgrade) section for more details
1596-
1597-
- **`HubVotePool`**:
1598-
- Can be replaced by setting a new `HubVotePool` on the `HubGovernor`
1599-
- Requires re-registering all spokes on the new `HubVotePool`
1600-
- Must register the query type and implementation for vote decoding by calling `registerQueryType` on the new `HubVotePool` <!-- put registerQueryType link back in once repo is public https://github.com/wormhole-foundation/example-multigov/blob/main/evm/src/HubVotePool.sol#L84 -->
1601-
- A new proposal would have to authorize the governor to use the newly created hub vote pool and will also handle registering the appropriate query decoders and registering the appropriate spoke `SpokeVoteAggregators`
1602-
1603-
- **`SpokeMessageExecutor`**:
1604-
- Upgradeable via [UUPS](https://www.rareskills.io/post/uups-proxy){target=\_blank} proxy pattern
1605-
- Stores critical parameters in `SpokeMessageExecutorStorage`
1606-
1607-
- **`HubEvmSpokeAggregateProposer`**:
1608-
- Needs redeployment if `HubGovernor` changes
1609-
- Requires re-registering all spokes after redeployment
1610-
1611-
- **`HubProposalMetadata`**:
1612-
- Needs redeployment if `HubGovernor` changes, as it references `HubGovernor` as a parameter
1613-
1614-
- **`SpokeMetadataCollector`**:
1615-
- Requires redeployment if the hub chain ID changes or if `HubProposalMetadata` changes
1616-
1617-
## Process for Major System Upgrade
1618-
1619-
1. **New `HubGovernor` deployment**:
1620-
- Deploy the new `HubGovernor` contract
1621-
1. **Component redeployment**:
1622-
- Redeploy `HubEvmSpokeAggregateProposer` with the new `HubGovernor` address
1623-
- Redeploy `HubProposalMetadata` referencing the new `HubGovernor`
1624-
- If hub chain ID changes, redeploy `SpokeMetadataCollector` on all spoke chains
1625-
1. **`HubVotePool` update**:
1626-
- Set the new `HubVotePool` on the new `HubGovernor`
1627-
- Register all spokes on the new `HubVotePool`
1628-
- Register the query type and implementation for vote decoding (`HubEvmSpokeVoteDecoder`)
1629-
1. **Spoke re-registration**:
1630-
- Re-register all spokes on the new `HubEvmSpokeAggregateProposer`
1631-
1. **Verification and testing**:
1632-
- Conduct thorough testing of the new system setup
1633-
- Verify all cross-chain interactions are functioning correctly
1634-
1. **System transition and deprecation**:
1635-
- Create a proposal to switch the timelock to the new governor
1636-
- Communicate clearly to the community what changes were made
1637-
1. **Monitoring**:
1638-
- Implement a transition period where the new system is closely monitored
1639-
- Address any issues that arise promptly
1640-
1641-
## Important Considerations
1642-
1643-
- Always prioritize system stability, upgrades should only be performed when absolutely necessary
1644-
- Thoroughly audit all new contract implementations before proposing an upgrade
1645-
- Account for all affected components across all chains in the upgrade plan
1646-
- Provide comprehensive documentation for the community about the upgrade process and any changes in functionality
1647-
- Always test upgrades extensively on testnets before implementing in production
1648-
--- END CONTENT ---
1649-
16501471
Doc-Content: https://wormhole.com/docs/build/queries/faqs/
16511472
--- BEGIN CONTENT ---
16521473
---

0 commit comments

Comments
 (0)