PIP-76: Paloma Mainnet Upgrade to Paloma v1.15.6, Upgrade to Pigeon v1.12.4 and Upgrade to Compass-EVM v1.1.1

Proposal: PIP-76: Paloma Mainnet Upgrade to Paloma v1.15.6, Upgrade to Pigeon v1.12.4 and Upgrade to Compass-EVM v1.1.1

Status: Proposed

Author(s): @BoweryKing

Type: Software Upgrade

Discussions-to:

Created: 08/02/24

Simple Summary

This is a software upgrade proposal for Paloma to v1.15.6for Paloma’s TESTNEST and MAINNEST tumbler networks as well as Pigeon software upgrade proposal for Pigeon to v1.12.4 and a deployment upgrade proposal for Compass-EVM v1.1.1. This release includes upgrades to Paloma that include fixes to the Paloma Skyway bridge, new features for the Paloma LightNode sale, and improvements for tracking Pigeon versions in the valset. The Compass-EVM v1.1.1 proposal includes adding features to Paloma Compass-EVM to register events for Paloma LightNode sales.

Abstract

This is a software upgrade proposal for Paloma to v1.15.6for Paloma’s TESTNEST and MAINNEST tumbler networks as well as Pigeon software upgrade proposal for Pigeon to v1.12.4 and a deployment upgrade proposal for Compass-EVM v1.1.1. This release includes upgrades to Paloma that include fixes to the Paloma Skyway bridge, new features for the Paloma LightNode sale, and improvements for tracking Pigeon versions in the valset. The Compass-EVM v1.1.1 proposal includes adding features to Paloma Compass-EVM to register events for Paloma LightNode sales.

This release precedes the Paloma upgrade to v1.16.0 and Compass-EVM v2.0, which will include the full feature of Pigeon Feed functionality for Paloma validators to collect relay fees directly for all Paloma relay transactions.

Motivation

The motivations for this Paloma upgrade include the following:

  1. Fix Skyway Bridge Features
  2. Add event functionality to register Paloma LightNodes
  3. Upgrade Paloma Compass-EVM for Paloma LightNodes Sales

Specification Overview

The specification for this release includes the following features:

  1. Update Skyway
  2. Update Paloma
  3. Update Compass-EVM

Technical Specification

  1. BUG: We need Paloma Skyway bridge messages to be registered so they can be correctly unmarshalled, both on genesis import/export, as well as pruning the skyway attestation queue. This feature will fix that issue.
  2. BUG: Paloma chain halt on July 31, 2024 was result of non-determinism in commit hashes caused by ordering of validators in the Pigeon Feed module. We need to ensure validators are ordered even if they have the same score, otherwise the result might not be deterministic.
  3. Store the LightNode sale contract addresses in Paloma. We will then be able to validate the origin of the LightNode sale events relayed by pigeons.
    • Add governance vote to set node sale contract details
      • Use a single vote to set all of them to simplify the process
    • Add query to get node sale contracts addresses
    • Check node sale contract address when processing a node sale event
    • Add node sale contract details to Paloma genesis
  4. Add optional BUILD_TAGS to Makefile. This allows us to customize the build, for instance, to build with music instead of glibc.
  5. Record pigeon version of currently alive pigeons, for debugging purposes.

Prior to upgrade

  1. Anyone running a node on the network must submit an upgrade proposal with 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 21511890 or approximately 08/05/2024, 14:42UTC See (Block height: 21511890)
palomad tx upgrade software-upgrade v1.15.6 \
--upgrade-height 21511890 \
--upgrade-info '{"binaries":{"linux/amd64":"https://github.com/palomachain/paloma/releases/download/v1.15.6/paloma_Linux_x86_64.tar.gz"}}' \
--title "PIP-76: Paloma Mainnet Upgrade to Paloma v1.15.6" \
--summary "PIP-76: Paloma  Mainnet Upgrade to Paloma v1.15.6" \
--chain-id tumbler \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--node <Your node> \
--from <Your Paloma Address>  \
--no-validate \
-y

How to Vote on the Proposals 80

palomad tx gov vote 80 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. Upgrade Gravity to Skyway Module
  2. Add and update Paloma LightNode sale events
  3. Upgrade Compass-EVM to handle LightNode Sale events.

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