diff --git a/passage-2/upgrades/v4.0.0.md b/passage-2/upgrades/v4.0.0.md new file mode 100644 index 0000000..ab09bf8 --- /dev/null +++ b/passage-2/upgrades/v4.0.0.md @@ -0,0 +1,185 @@ +# Passage v4.0.0 Software Upgrade + +Cosmos SDK v0.47 to v0.50 upgrade for passage-2 validators. + +| Field | Value | +|---|---| +| Proposal | #23 | +| Status | Voting period | +| Upgrade name | v4.0.0 | +| Upgrade height | 19950687 | +| Estimated timing | Around July 9, 2026 UTC. Height is authoritative. | +| Voting ends | 2026-07-07 20:14 UTC | +| Official release | https://github.com/envadiv/Passage3D/releases/tag/v4.0.0 | + +## Announcement Copy + +Proposal #23 is live for the Passage v4.0.0 software upgrade. This upgrade moves passage-2 from the Cosmos SDK v0.47 line to the v0.50 line and should be treated as a coordinated validator upgrade. + +Validators should vote, download the official Passage v4.0.0 release, verify checksums, and be available around the upgrade height. The upgrade name must match exactly: `v4.0.0`. + +## What Is Changing + +- Cosmos SDK v0.47.13 to v0.50.13. +- CometBFT v0.37.18 to v0.38.12. +- wasmd v0.45.0 to v0.50.0. +- ibc-go v7 to v8. +- Adds the `x/circuit` circuit-breaker module. +- Enables proposal cancellation. +- Enables expedited governance proposals. +- Enables Sign Mode Textual. +- Enables AutoCLI. +- Adds the required IAVL v1.2.2 empty-store load patch. +- Runs module migrations for gov, IBC, slashing, staking, transfer, auth, and related SDK modules. +- Preserves CosmWasm state. Fork testing confirmed 33/33 code hashes and 79/79 contracts preserved. + +## Governance And Parameter Changes + +| Area | Change | +|---|---| +| Validator commission | Minimum validator commission set to 5%. | +| Expedited voting | Expedited voting period set to 24 hours. | +| Expedited threshold | Expedited proposal threshold set to 67%. | +| Expedited deposit | Expedited minimum deposit set to 1,000,000 PASG. | +| Gov quorum | Governance quorum set to 50%. | +| Gov veto threshold | Governance veto threshold set to 50%. | + +## Validator Instructions + +### 1. Vote on proposal #23 + +```bash +passage tx gov vote 23 yes \ + --from \ + --chain-id passage-2 \ + --gas auto --gas-adjustment 1.5 --gas-prices 12.5upasg \ + --node \ + -y +``` + +### 2. Download and verify the official Passage binary + +Use the binary for your architecture from the official Passage v4.0.0 release: + +https://github.com/envadiv/Passage3D/releases/tag/v4.0.0 + +#### linux/amd64 + +```bash +curl -L -o /tmp/passage-4.0.0-linux-amd64 \ + https://github.com/envadiv/Passage3D/releases/download/v4.0.0/passage-4.0.0-linux-amd64 + +echo "b2b5b63da05fa16b96f1c0ce0974a07618a43fef085ea1db5429c0858122ec22 /tmp/passage-4.0.0-linux-amd64" | sha256sum -c + +chmod +x /tmp/passage-4.0.0-linux-amd64 +``` + +#### linux/arm64 + +```bash +curl -L -o /tmp/passage-4.0.0-linux-arm64 \ + https://github.com/envadiv/Passage3D/releases/download/v4.0.0/passage-4.0.0-linux-arm64 + +echo "86b744f988d923a8d7ba109a64d96eaf4821079a518e1ba604c199241e2ca6c5 /tmp/passage-4.0.0-linux-arm64" | sha256sum -c + +chmod +x /tmp/passage-4.0.0-linux-arm64 +``` + +### 3. If using cosmovisor + +Pre-stage the binary before the upgrade height. This avoids relying on any automatic download URL and ensures the local staged binary is the official Passage release. + +#### linux/amd64 + +```bash +mkdir -p ~/.passage/cosmovisor/upgrades/v4.0.0/bin +cp /tmp/passage-4.0.0-linux-amd64 ~/.passage/cosmovisor/upgrades/v4.0.0/bin/passage +~/.passage/cosmovisor/upgrades/v4.0.0/bin/passage version --long +``` + +#### linux/arm64 + +```bash +mkdir -p ~/.passage/cosmovisor/upgrades/v4.0.0/bin +cp /tmp/passage-4.0.0-linux-arm64 ~/.passage/cosmovisor/upgrades/v4.0.0/bin/passage +~/.passage/cosmovisor/upgrades/v4.0.0/bin/passage version --long +``` + +At height `19950687`, cosmovisor should switch to: + +```bash +~/.passage/cosmovisor/upgrades/v4.0.0/bin/passage +``` + +### 4. If not using cosmovisor + +Do not replace your running binary early. Download and verify the v4.0.0 binary ahead of time, then install it only after the node halts at the upgrade height. + +When the chain reaches height `19950687` and your node halts for the upgrade: + +```bash +sudo systemctl stop passage +``` + +Find the current binary path: + +```bash +command -v passage +systemctl cat passage | grep ExecStart +``` + +Back up the old binary and install the new one. Replace `/usr/local/bin/passage` if your service uses a different path. + +#### linux/amd64 + +```bash +sudo cp /usr/local/bin/passage /usr/local/bin/passage-pre-v4.0.0 +sudo install -m 0755 /tmp/passage-4.0.0-linux-amd64 /usr/local/bin/passage +passage version --long +sudo systemctl start passage +``` + +#### linux/arm64 + +```bash +sudo cp /usr/local/bin/passage /usr/local/bin/passage-pre-v4.0.0 +sudo install -m 0755 /tmp/passage-4.0.0-linux-arm64 /usr/local/bin/passage +passage version --long +sudo systemctl start passage +``` + +If you do not run Passage under systemd, stop the running process at the upgrade halt, replace the binary your startup command uses, and restart the node with the same flags you normally use. + +### 5. Monitor after the upgrade + +```bash +journalctl -u passage -f + +passage q upgrade applied v4.0.0 --node +passage status --node +``` + +Confirm the node is advancing and peers are reconnecting after restart. + +## Release And Checksums + +| Architecture | Binary | SHA256 | +|---|---|---| +| linux/amd64 | passage-4.0.0-linux-amd64 | b2b5b63da05fa16b96f1c0ce0974a07618a43fef085ea1db5429c0858122ec22 | +| linux/arm64 | passage-4.0.0-linux-arm64 | 86b744f988d923a8d7ba109a64d96eaf4821079a518e1ba604c199241e2ca6c5 | + +Official checksum file: + +https://github.com/envadiv/Passage3D/releases/download/v4.0.0/sha256sum.txt + +## Important Notes + +- The on-chain upgrade name is `v4.0.0`. The name is case-sensitive and must match exactly. +- Height is authoritative. Calendar estimates can drift with block time. +- Use the official Passage v4.0.0 release and verify checksums before installing. +- Validators using cosmovisor should pre-stage the binary locally before the upgrade height. +- Validators not using cosmovisor should replace the binary only after the node halts at height `19950687`. + +## Short Message For Validator Channels + +Proposal #23 is live for Passage v4.0.0, upgrading passage-2 from Cosmos SDK v0.47 to v0.50. Please vote YES, download the official Passage v4.0.0 release, verify the checksum, and be available around height `19950687`. Cosmovisor validators should pre-stage the binary; non-cosmovisor validators should install the new binary only after their node halts at the upgrade height. The upgrade name is `v4.0.0` and must match exactly.