PIP-105: Protocol Upgrade to Paloma and Pigeon v2.3.1 To Upgrade Handling of Gas and Transaction Errors

Proposal: PIP-105: Protocol Upgrade to Paloma and Pigeon v2.3.1 To Upgrade Handling of Gas and Transaction Errors

Status: Proposed

Author(s): @MikeA

Type: Software Upgrade

Discussions-to:

Created: 10/05/2024

Summary

This is a software upgrade proposal for Paloma and for Pigeon. We request that the network upgrade the protocol of the tumbler network to v2.3.1.

This Pigeon release:

  • Adds a gas adjustment parameter to reduce the occurrence out of gas Paloma transaction errors.
  • Resolves an issue whereby we can no longer reference Paloma versions directly from Pigeon due to the go mod versioning system.
  • Fixes a gas limit estimation issue: Before calling compass, pigeons get a gas estimate for the transaction. This estimate is used to pay pigeons. However, just before sending the transaction the relayer pigeon will get another gas estimate. If this latter estimate is lower than the agreed, the transaction is unsuccessful since we don’t have enough gas to pay the relayer. We are changing this last estimate to be equal to the agreed estimate if higher.
  • Pigeons will no longer get stuck when trying to identify fake/malicious events on skyway on external chains.

In Paloma we are resolving an issue whereby we can no longer reference Paloma versions directly from Pigeon since we upgraded to a version higher than 1 due to the go mod versioning system. From v2 onwards, we will now append the version to the module name.

Motivation

The motivations for this Paloma upgrade include the following:

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 tool to calculate the approximate Block Height: Huginn - PalomaChain Release Window Planner
  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 24935669 or approximately 10/04/2024, 8:00 UTC See (Block height: Block 24935669 Details - Paloma (GRAIN) Blockchain Explorer
palomad tx gov submit-proposal ./pip-105.json \
--gas auto \
--fees 1500ugrain \
--node=https://rpc-1.paloma.nodes.guru/ \
--chain-id tumbler \
--from <Your Paloma Address>  \
-b sync

palomad tx gov submit-legacy-proposal valset propose-pigeon-requirements \
v2.3.0 \
--target-block-height **24935669** \
--title "PIP-105: Paloma Protocol Upgrade to Paloma & Pigeon v2.3.1" \
--summary "This is a software upgrade proposal for Paloma and for Pigeon. We intend for request that the network upgrade the protocol of the tumbler network to v2.3.1" \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--node=https://rpc-1.paloma.nodes.guru/ \
--chain-id tumbler \
--from <Your Paloma Address> \
-y

pip-105.json

{
 "messages": [
  {
   "@type": "/cosmos.upgrade.v1beta1.MsgSoftwareUpgrade",
   "authority": "paloma10d07y265gmmuvt4z0w9aw880jnsr700jz87xyk",
   "plan": {
    "name": "v2.3.1",
    "height": "**24935669**",
    "info": "",
    "upgraded_client_state": null
   }
  }
 ],
 "metadata": "ipfs://CCID",
 "deposit": "10000000ugrain",
 "title": "PIP-105: Paloma Protocol Upgrade to Paloma & Pigeon v2.3.1",
 "summary": "This is a software upgrade proposal for Paloma and for Pigeon. We intend for request that the network upgrade the protocol of the tumbler network to v2.3.1",
 "expedited": false
}

pip-105_metadata.json

{
 "title": "PIP-105: Paloma Protocol Upgrade to Paloma & Pigeon v2.3.1",
 "authors": [
  "MikeA"
 ],
 "summary": "This is a software upgrade proposal for Paloma and for Pigeon. We intend for request that the network upgrade the protocol of the tumbler network to v2.3.1",
 "details": "\"'{\\\"binaries\\\":{\\\"linux/amd64\\\":\\\"https://github.com/palomachain/paloma/releases/download/v2.3.1/paloma_Linux_x86_64.tar.gz\\\"}}'\"",
 "proposal_forum_url": "",
 "vote_option_context": "Vote YES to support running this binary to upgrade the Paloma Mainnest Network"
}

How to Vote on Proposals 131 & 132

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

palomad tx gov vote 132 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

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