PIP-81: Paloma Mainnet Upgrade to Paloma v2.0.0 and Pigeon v2.0.0

Proposal: PIP-81: Paloma Mainnet Upgrade to Paloma v2.0.0 and Pigeon v2.0.0

Status: Proposed

Author(s): birdlady

Type: Software Upgrade

Discussions-to:

Created: 08/16/24

Simple Summary

This is a software upgrade proposal for Paloma to v2.0.0 and for Pigeon v2.0.0 for Paloma’s TESTNEST and MAINNEST tumbler networks. This release includes the remaining features for Pigeon feed v1.

Abstract

This is a software upgrade proposal for Paloma to v2.0.0 and for Pigeon v2.0.0 for Paloma’s TESTNEST and MAINNEST tumbler networks. This release includes all upgrades to enable Paloma Pigeon Feed for decentralized validator job handling and job payments with GRAIN tokens.

Motivation

The motivations for this Paloma upgrade include the following:

  1. Launch Paloma Pigeon Feed Features for automated validator payments for job handling
  2. Upgrade Paloma’s Skyway Bridge
  3. Add Gas features for Paloma’s job handling

Specification Overview

The specification for this release includes the following features:

  • Pigeon Feed Features for Paloma and Pigeon
  • Upgraded Compass-EVM
  • Skyway Bridge Enhancements
  • Compass Consensus updates
  • Gas Fee Features

Technical Specification

Paloma

Paloma v2.0 upgrades included the following:

  • 5bc5d17 Add support for gas estimation on CQ messages
  • 157916e Add gas estimation logistics to Skyway bridge
  • c4130bf Skyway query should filter estimates by chain ID
  • 0792b6d Add Compass-EVM Fee manager to Paloma consensus
  • 09c7bbc Disable token relink before compass 2.0
  • eeb25aa Just-In-time valset updates in SLCs
  • 5fb8cce Update gas estimate query response
  • ad824cc Include estimate in message query result
  • 00b8630 Add new Skyway nonces
  • d683fe0 Update the Ondemand BytesToSign
  • 851a8ac Add mutable BytesToSign to skyway module
  • 8ece2ab Create gas estimates in sign bytes
  • 51b87b7 Fix the attestation of turnstone messages
  • 5a0c911 Fix smart contract deployment errors

Pigeon

Pigeon v2.0 upgrades included the following:

  • ff9bc56 Add support for gas estimation on CQ messages
  • 86a6dd8 Add gas estimation logistics to Skyway
  • 385f526 Fix Skyway query to filter estimates by chain ID
  • deae503 Add fee manager to consensus
  • d28a843 Disable token relink before compass 2.0
  • dd5de0e Fix Just-In-Time valset updates in SLCs
  • db4156c Update gas estimate query response
  • b458195 Include estimate in message query result
  • db1c3a4 Add skyway nonces
  • 272d5d9 Add Ondemand BytesToSign
  • a7b9d73 Add mutable BytesToSign to skyway module
  • 57cbf21 Add gas estimates in sign bytes
  • ef98c1b Fix the attestation of turnstone messages
  • 23886d7 Fix smart contract deployment error (#1261)

Prior to upgrade

  1. An upgrade proposal that must be submitted by anyone running a node on the network. This proposal should have the correct block height.
  2. Please use the following spreadsheet to calculate the approximate Block Height. https://docs.google.com/spreadsheets/d/1eoXoDWWYHIOYbdPiv8B6vfwDUUkelZgeifnX4foa7yw/edit#gid=0
  3. This upgrade proposal requires 10 GRAIN or 10000000ugrain for deposit for voting.
  4. IMPORTANT: The upgrade height is the block height where the chain halts and requires the upgrade. Allow at least one (1) day AFTER voting end time and upgrade-height for 2/3 of the network to have downloaded the new binary and prepped for the switch over to avoid/minimize downtime of the Paloma chain.
  5. The Target block height for chain halt for this proposal is tentative 22266348 or approximately 08/19/2024, 8:00 UTC See (Block height: 22266348)
palomad tx upgrade software-upgrade v2.0.0 \
--upgrade-height 22266348 \
--upgrade-info '{"binaries":{"linux/amd64":"https://github.com/palomachain/paloma/releases/download/v2.0.0/paloma_Linux_x86_64.tar.gz"}}' \
--title "PIP-81: Paloma  Mainnet Upgrade to Paloma v2.0.0" \
--summary "PIP-81: Paloma  Mainnet Upgrade to Paloma v2.0.0" \
--chain-id tumbler \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--node <Your node> \
--from <Your Paloma Address> \
--no-validate \
-y
palomad tx gov submit-legacy-proposal valset \
propose-pigeon-requirements v2.0.0 \
--target-block-height 22266350 \
--title "PIP-81: Paloma  Mainnet Upgrade to Pigeon v2.0.0" \
--summary "PIP-81: Paloma  Mainnet Upgrade to Pigeon v2.0.0" \
--chain-id tumbler \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--node <Your node> \
--from <Your Paloma Address>  \
-y

How to Vote on the Proposals 89 and 90

palomad tx gov vote 89 yes \
--chain-id tumbler \
--from <Your Paloma Address> \
--fees 400ugrain \
--node <Your node> \
-y

palomad tx gov vote 90 yes \
--chain-id tumbler \
--from <Your Paloma Address> \
--fees 400ugrain \
--node <Your node> \
-y

How to check if 2/3 of the network is online after the vote is complete

curl -s localhost:26657/consensus_state | jq -r ".result.round_state.height_vote_set[0].prevotes_bit_array"

—> needs to return ≥ ~0.67 for the chain to start up again

To see which validators are online with the new binary, use GitHub - blockpane/pvtop: top-like tui for watching validator pre-votes on Tendermint chains

Rationale

We are upgrading Paloma to achieve the following objectives:

  1. Launch Paloma 2.0
  2. Launch Pigeon 2.0
  3. Launch Compass 2.0
  4. Launch Pigeon Feed

About Paloma

Paloma wants to be the fastest relay chain in the world with the most decentralized network of validators that can attest to any transaction with the fastest possible execution. Paloma aims to make it easy for developers to control smart contracts on any Solana, Ethereum L1, L2, and L3 chain.

To learn more about Paloma, please visit https://palomachain.com

To follow the project on Github, please star the project GitHub - palomachain/paloma: The fast blockchain messenger protocol

To participate in the community, please join the Paloma Discord: Paloma