From 3108fba8255d689e7372488fa0e8acac964aa538 Mon Sep 17 00:00:00 2001 From: Christian Lohr Date: Fri, 7 Jun 2024 13:03:45 +0200 Subject: [PATCH] chore: update Paloma dependency (#395) --- README.md | 139 +++++++++++++++++++++++++++++++++--------------------- go.mod | 2 +- go.sum | 4 +- 3 files changed, 89 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index a4c73345..c664d525 100644 --- a/README.md +++ b/README.md @@ -34,55 +34,54 @@ For Crosschain software engineers that want simultaneous control of multiple sma - [Issues](#issues) - [Install](#install) - ## Talk to us We have active, helpful communities on Twitter and Telegram. -* [Twitter](https://twitter.com/paloma_chain) -* [Telegram](https://t.me/palomachain) -* [Discord](https://discord.gg/HtUvgxvh5N) -* [Forum](https://forum.palomachain.com/) +- [Twitter](https://twitter.com/paloma_chain) +- [Telegram](https://t.me/palomachain) +- [Discord](https://discord.gg/HtUvgxvh5N) +- [Forum](https://forum.palomachain.com/) ## Releases See [Release procedure](CONTRIBUTING.md#release-procedure) for more information about the release model. ## Active Networks -* Paloma Testnest `paloma-testnet-16` (May 23, 2024) -* Paloma Mainnet `tumbler` (April 22, 2024) -* Arbitrum Mainnet (relay) -* Base Mainnet (relay) -* Blast Mainnet (relay) -* Binance Smart Chain Mainnet (relay) -* Ethereum Mainnet (relay) -* Gnosis Mainnet (relay) -* Optimism Mainnet (relay) -* Polygon Mainnet (relay) - +- Paloma Testnest `paloma-testnet-16` (May 23, 2024) +- Paloma Mainnet `tumbler` (April 22, 2024) +- Arbitrum Mainnet (relay) +- Base Mainnet (relay) +- Blast Mainnet (relay) +- Binance Smart Chain Mainnet (relay) +- Ethereum Mainnet (relay) +- Gnosis Mainnet (relay) +- Optimism Mainnet (relay) +- Polygon Mainnet (relay) ## ISSUES -This repo does not accept issues. Please use https://github.com/palomachain/paloma/issues to submit issues and add pigeon label! - +This repo does not accept issues. Please use to submit issues and add pigeon label! ## Install **If you are upgrading from a prior tesntet confirm that you added the `health-check-port: 5757` to your pigeon yaml configuration file and upgrade the paloma chain-id field to `paloma-testnet-16` for Testnet or `tumbler` for Mainnet (see example below).** -> #### Note: +> #### Note +> > If you're joining while testnet didn't boot up yet you may see a log line saying `not staking. waiting`. That's OK. > If you see this after the chains starts producing blocks, then it means that your validator has been jailed. -> #### Note: +> #### Note +> > Some have seen errors with GLIBC version differences with the downloaded binaries. This is caused by a difference in the libraries of the host that built the binary and the host running the binary. > > If you experience these errors, please pull down the code and build it, rather than downloading the prebuilt binary -### To get the latest prebuilt `pigeon` binary: +### To get the latest prebuilt `pigeon` binary ```shell -wget -O - https://github.com/palomachain/pigeon/releases/download/v1.11.2/pigeon_Linux_x86_64.tar.gz | \ +wget -O - https://github.com/palomachain/pigeon/releases/download/v1.11.3/pigeon_Linux_x86_64.tar.gz | \ sudo tar -C /usr/local/bin -xvzf - pigeon sudo chmod +x /usr/local/bin/pigeon @@ -90,10 +89,11 @@ mkdir ~/.pigeon ``` ### To build pigeon using latest + ```shell git clone https://github.com/palomachain/pigeon.git cd pigeon -git checkout v1.11.2 +git checkout v1.11.3 make build sudo mv ./build/pigeon /usr/local/bin/pigeon @@ -102,38 +102,54 @@ mkdir ~/.pigeon If you're upgrading to the most recent version, you will need to stop `pigeond` before removing the old binary and copying the new binary into place. -## Set up your EVM Keys. Don't forget your passwords! +## Set up your EVM Keys. Don't forget your passwords + ### Create a new key Ethereum Mainnet (eth-main) + ``` pigeon evm keys generate-new ~/.pigeon/keys/evm/eth-main ``` + Binance Smart Chain Mainnet (bnb-main) + ``` pigeon evm keys generate-new ~/.pigeon/keys/evm/bnb-main ``` + Polygon Mainnet (matic-main) + ``` pigeon evm keys generate-new ~/.pigeon/keys/evm/matic-main ``` + Optimism Mainnet (op-main) + ``` pigeon evm keys generate-new ~/.pigeon/keys/evm/op-main ``` + Base Mainnet (base-main) + ``` pigeon evm keys generate-new ~/.pigeon/keys/evm/base-main ``` + Arbitrum Mainnet (arbitrum-main) + ``` pigeon evm keys generate-new ~/.pigeon/keys/evm/arbitrum-main ``` + Gnosis Mainnet (gnosis-main) + ``` pigeon evm keys generate-new ~/.pigeon/keys/evm/gnosis-main ``` + Blast Mainnet (blast-main) + ``` pigeon evm keys generate-new ~/.pigeon/keys/evm/blast-main ``` @@ -141,34 +157,49 @@ pigeon evm keys generate-new ~/.pigeon/keys/evm/blast-main ### or import existing you existing Ethereum evm private keys Ethereum Mainnet (eth-main) + ``` pigeon evm keys import ~/.pigeon/keys/evm/eth-main ``` + Binance Smart Chain Mainnet (bnb-main) + ``` pigeon evm keys import ~/.pigeon/keys/evm/bnb-main ``` + Polygon Mainnet (matic-main) + ``` pigeon evm keys import ~/.pigeon/keys/evm/matic-main ``` + Optimism Mainnet (op-main) + ``` pigeon evm keys import ~/.pigeon/keys/evm/op-main ``` + Base Mainnet (base-main) + ``` pigeon evm keys import ~/.pigeon/keys/evm/base-main ``` + Arbitrum Mainnet (arbitrum-main) + ``` pigeon evm keys import ~/.pigeon/keys/evm/arbitrum-main ``` + Gnosis Mainnet (gnosis-main) + ``` pigeon evm keys import ~/.pigeon/keys/evm/gnosis-main ``` + Blast Mainnet (blast-main) + ``` pigeon evm keys import ~/.pigeon/keys/evm/blast-main ``` @@ -177,22 +208,23 @@ pigeon evm keys import ~/.pigeon/keys/evm/blast-main **IMPORTANT VALIDATOR NOTE:** `gas-adjustment` is important in your pigeon settings. The gas adjustment values in the example below are set to ensure that your relay is able to increase gas required during periods of high congestion on the target chain. We propose that for `tx-type: 2`, `gas-adjustment` is set to `2` except for `bnb-main` chain. However, given that Paloma assigns messages based on pigeon performance, make sure your gas adjustment for each target chain maximizes your message delivery, while minimizing your relay costs. +#### Paloma supported chains on `tumbler` mainnet as of January 5, 2024 -#### Paloma supported chains on `tumbler` mainnet as of January 5, 2024. Validators joining the Paloma network for the first time will need to fund the minimum onchain gas-fee balances to be included in the validator set. All validators must support all chains for relaying. All validators must maintain the minimum balance required for each target chain. Below are the list of supported chains and their minimums. | Chain Name | Paloma Chain-ID | Native Token | Minimum Balance Required | Governance Proposal| | ------------- | --------------- |------------- |-------------- |---------------- | | BNB Chain / Binance Smart Chain |bnb-main | BNB | 0.005 BNB | [PIP 27 - Paloma Mainnet Support for BNB Chain](https://paloma.explorers.guru/proposal/9) | -| Ethereum | eth-main | ETH | 0.005 ETH | [PIP 28 - Paloma Compass-EVM and Mainnet Support for Ethereum Mainnet](https://paloma.explorers.guru/proposal/10)| -| Polygon MATIC | matic-main | MATIC | 0.005 MATIC | [PIP 34 - Paloma Messenger Mainnet Validator Support for Polygon Mainnet](https://paloma.explorers.guru/proposal/15)| -| Optimism | op-main | ETH | 0.005 ETH | [PIP 36 - Paloma Mainnet Support for Optimistic EVM blockchain, Optimism](https://paloma.explorers.guru/proposal/22)| +| Ethereum | eth-main | ETH | 0.005 ETH | [PIP 28 - Paloma Compass-EVM and Mainnet Support for Ethereum Mainnet](https://paloma.explorers.guru/proposal/10)| +| Polygon MATIC | matic-main | MATIC | 0.005 MATIC | [PIP 34 - Paloma Messenger Mainnet Validator Support for Polygon Mainnet](https://paloma.explorers.guru/proposal/15)| +| Optimism | op-main | ETH | 0.005 ETH | [PIP 36 - Paloma Mainnet Support for Optimistic EVM blockchain, Optimism](https://paloma.explorers.guru/proposal/22)| | Base | base-main | ETH | 0.001 ETH | [PIP 37 - Paloma Mainnet Support for Base EVM blockchain](https://paloma.explorers.guru/proposal/23)| -| Gnosis | base-main | xDAI | 10 xDAI | [PIP 46 - Paloma Mainnet Support for Gnosis EVM blockchain](https://paloma.explorers.guru/proposal/36)| +| Gnosis | base-main | xDAI | 10 xDAI | [PIP 46 - Paloma Mainnet Support for Gnosis EVM blockchain](https://paloma.explorers.guru/proposal/36)| | Arbitrum | arbitrum-main | ETH | 0.005 ETH | [PIP 52 - Paloma Mainnet Support for Arbitrum EVM blockchain](https://paloma.explorers.guru/proposal/43)| -| BLAST | blast-main | ETH | 0.005 ETH | [PIP-55 - Paloma Messenger Support for BLAST!](https://paloma.explorers.guru/proposal/46)| +| BLAST | blast-main | ETH | 0.005 ETH | [PIP-55 - Paloma Messenger Support for BLAST!](https://paloma.explorers.guru/proposal/46)| #### Configuration updates + Please make sure you restart Pigeon after making changes to your configuration files for the updates to come into effect. Make sure your Paloma Cosmos-SDK keys are stored and available on your environment. @@ -404,26 +436,27 @@ journalctl -u pigeond.service -f -n 100 ``` ### Definitions and Descriptions of Pigeons Variables - - for paloma key: - - keyring-dir - - right now it's not really super important where this points. The important things for the future is that pigeon needs to send transactions to Paloma using its validator (operator) key! - - it's best to leave it as is - - keyring-pass-env-name - - this one is super important! - - it is the name of the ENV variable where password to unlock the keyring is stored! - - you are not writing password here!! You are writing the ENV variable's name where the password is stored. - - you should obviously use a bit more advanced method than shown here, but here is the example: - - if the `keyring-pass-env-name` is set to `MY_SUPER_SECRET_PASS` then you should provide ENV variable `MY_SUPER_SECRET_PASS` and store the password there - - e.g. `MY_SUPER_SECRET_PASS=abcd pigeon start` - - keyring-type - - it should be the same as it's defined for paloma's client. Look under the ~/.paloma/config/client.toml - - signing-key - - right now it's again not important which key we are using. It can be any key that has enough balance to submit TXs to Paloma. It's best to use the same key that's set up for the validator. - - gas-adustment: - - gas multiplier. The pigeon will estimate the gas to run a TX and then it will multiply it with gas-adjustment (if it's a positive number) - - for evm -> eth-main: - - keyring-pass-env-name: same as above for paloma. - - signing-key - - address of the key from the keyring used to sign and send TXs to EVM network (one that you got when running `pigeon evm keys generate-new` from the install section) - - keyring-dir: - - a directory where keys to communicate with the EVM network is stored + +- for paloma key: + - keyring-dir + - right now it's not really super important where this points. The important things for the future is that pigeon needs to send transactions to Paloma using its validator (operator) key! + - it's best to leave it as is + - keyring-pass-env-name + - this one is super important! + - it is the name of the ENV variable where password to unlock the keyring is stored! + - you are not writing password here!! You are writing the ENV variable's name where the password is stored. + - you should obviously use a bit more advanced method than shown here, but here is the example: + - if the `keyring-pass-env-name` is set to `MY_SUPER_SECRET_PASS` then you should provide ENV variable `MY_SUPER_SECRET_PASS` and store the password there + - e.g. `MY_SUPER_SECRET_PASS=abcd pigeon start` + - keyring-type + - it should be the same as it's defined for paloma's client. Look under the ~/.paloma/config/client.toml + - signing-key + - right now it's again not important which key we are using. It can be any key that has enough balance to submit TXs to Paloma. It's best to use the same key that's set up for the validator. + - gas-adustment: + - gas multiplier. The pigeon will estimate the gas to run a TX and then it will multiply it with gas-adjustment (if it's a positive number) +- for evm -> eth-main: + - keyring-pass-env-name: same as above for paloma. + - signing-key + - address of the key from the keyring used to sign and send TXs to EVM network (one that you got when running `pigeon evm keys generate-new` from the install section) + - keyring-dir: + - a directory where keys to communicate with the EVM network is stored diff --git a/go.mod b/go.mod index 1f417c9b..1c48f1ef 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/jarcoal/httpmock v1.3.1 github.com/onsi/ginkgo/v2 v2.19.0 github.com/onsi/gomega v1.33.1 - github.com/palomachain/paloma v1.3.1-next.0.20240604120217-6e8da0e5b816 + github.com/palomachain/paloma v1.14.0-b895c4d github.com/roodeag/arbitrum v0.0.0-20230627104516-b95e4c8ebec0 github.com/rs/xid v1.5.0 github.com/sirupsen/logrus v1.9.3 diff --git a/go.sum b/go.sum index 0c37136e..2cf1559c 100644 --- a/go.sum +++ b/go.sum @@ -951,8 +951,8 @@ github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnh github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/palomachain/arb-geth v0.0.0-20230824112942-8e77a580a936 h1:fmQAgxcdYBxCZYczws/uxTVOYHZd4fNrOaoHp35HZMM= github.com/palomachain/arb-geth v0.0.0-20230824112942-8e77a580a936/go.mod h1:B2H2+2I4UiMR4hvAIaGLyYszNfSTYC8fWIw+kgfuFSQ= -github.com/palomachain/paloma v1.3.1-next.0.20240604120217-6e8da0e5b816 h1:VVjEeUnVZ1fWeUAhlYszh0rYqjZzxEEpJq11sl6LudI= -github.com/palomachain/paloma v1.3.1-next.0.20240604120217-6e8da0e5b816/go.mod h1:ZlvNEPClArfnthGqaO69obKXv6GuBpojSt+NzATGPrQ= +github.com/palomachain/paloma v1.14.0-b895c4d h1:6+Y1cmS7bA/v7II0diYjiid9is8pshWW865+/xWUu+w= +github.com/palomachain/paloma v1.14.0-b895c4d/go.mod h1:ZlvNEPClArfnthGqaO69obKXv6GuBpojSt+NzATGPrQ= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=