PIP-93: Register Fee Manager Contract for base-main

PIP Name: PIP-93: Register Fee Manager Contract for base-main

Status: Proposed

Author(s): @BoweryKing

Type: EVM Proposal

Discussions-to: Governance - Paloma

Created: 08/28/2024

Simple Summary

This proposal will register a fresh fee manager contract instance to be used with the newly added base-main chain.

Abstract

With the release of Paloma 2.0 and Pigeon Feed, remote chains will need an additional fee manager contract deployed and linked within Paloma in order to set up a working Compass deployment. This vote registers the address of a freshly deployed fee manager instance to be used on base-main with Paloma.

Motivation

Without a registered fee manager, Paloma will be unable to deploy Compass to base-main and the chain will be left inoperable.

Technical Specification

The Rewards Program

  1. rewards_community_balance: public(uint256) # stores the balance attributed to the community wallet. These are the fees that are distributed to Paloma stakers.
  2. rewards_security_balance: public(uint256) # stores the balance attributed to the security wallet. These are the fees that are distributed to validators for valset update security features.
  3. funds: public(HashMap[bytes32, uint256]) # stores the spendable balance of paloma addresses. This is the spendable balance of Paloma addresses that have prepaid for onchain execution.
  4. claimable_rewards: public(HashMap[address, uint256]) # stores the claimable balance for eth addresses. This is the spendable balance of EVM addresses that have prepaid for onchain execution.
  5. total_funds: public(uint256) # stores the balance of total user funds
  6. total_claims: public(uint256) # stores the balance of total claimable rewards

The DEX Details for swapping from target chain denom to GRAINs

  1. def bridge_community_fee_to_paloma(amount: uint256, dex: address, payload: Bytes[1028], min_grain: uint256) → uint256:

    1. bridge community fee to paloma address
    2. amount: community fee ETH amount
    3. dex: address of the DEX to use for exchanging the token
    4. payload: the function payload to exchange ETH to grain for the dex
    5. #min_grain: expected grain amount getting from dex to prevent front-running(high slippage / sandwich attack)
  2. Run the governance command to deploy the smart contract to all evm chains.

# Base
palomad tx gov submit-legacy-proposal evm set-fee-manager-address \
base-main \
0xeE8338Ee133B6705a7144a407eeB64Bf742B78f9 \
--title "PIP-93: Set fee manager address for base" \
--summary "Set the fee manager address for base-main in order to onboard the chain again and deploy a copy of Compass." \
--deposit 10000000ugrain \
--chain-id tumbler \
--fees 1000ugrain \
--gas-adjustment 1.1 \
--gas auto \
--node https://paloma-rpc.acloud.pp.ua:443 \
--from paloma1wm4y8yhppxud6j5wvwr7fyynhh09tmv5x5sfzm \
--yes

If the proposal passes, the Fee Manager will be re-deployed to the Base EVM L2 blockchain

Rationale

Compass EVM fee manager holds the fees paid by users for relay messages

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