PIP-22: Deploy Compass EVM on Paloma Mainnet (messenger)

PIP Name: PIP-22: Deploy Compass EVM on Paloma Mainnet (messenger)

Status: Proposed

Author(s): @LARRY

Type: EVM Proposal

Discussions-to: PIP-22: Deploy Compass EVM on Paloma Mainnet (messenger)

Created: 03/02/2023

Simple Summary

Deploy Compass-EVM contract to the Paloma Messenger Mainnet ****and ready the flock to take flight on new target chains in the EVM ecosystem.

Abstract

Paloma Compass-EVM is the bridge contract that will be deployed to each supported chain on Paloma. The Compass-EVM is the contract that manages arbitrary contract calls as well as bridge functionality secured by the Paloma validator set. A community member deployed this contract and votes are ready to be received. Come vote your GRAINs for Compass-EVM!

Motivation

Paloma is meant to monitor and deliver messages across multiple blockchains via its network of validator datacenters. We are relaunching deployment on EVM target chains to test upgrades to the Pigeon relay messaging system with the new messenger

Specification Overview

Technical Specification

  1. Run the governance command to deploy the smart contract to all evm chains
palomad tx gov submit-proposal evm propose-new-smart-contract '[JSON ABI BLOB]' [HEX BLOB] \
--title "Paloma Deploys the Paloma Compass EVM to Paloma Messenger Mainnet" \
--description "PIP-22 Paloma Deploys the Paloma Compass EVM on Paloma's Messenger mainnet to supported EVM Mainnet chains for Pigeons to send messages on EVM mainnet chains from the Paloma Mainnet." \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--from=<From Paloma Address> \
--chain-id=messenger \
--yes

If the proposal passes, Compass EVM will be deployed to all existing and future supported EVM target chains.

Rationale

Compass EVM manages arbitrary contract calls as well as bridge functionality secured by the Paloma validator set. In order to send messages cross-chain securely, Compass EVM needs to be deployed.

The ‘[JSON ABI BLOB]’ [HEX BLOB] for proposal is outlined below.

'[{"name":"ValsetUpdated","inputs":[{"name":"checkpoint","type":"bytes32","indexed":false},{"name":"valset_id","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"LogicCallEvent","inputs":[{"name":"logic_contract_address","type":"address","indexed":false},{"name":"payload","type":"bytes","indexed":false},{"name":"message_id","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"turnstone_id","type":"bytes32"},{"name":"valset","type":"tuple","components":[{"name":"validators","type":"address[]"},{"name":"powers","type":"uint256[]"},{"name":"valset_id","type":"uint256"}]}],"outputs":[]},{"stateMutability":"pure","type":"function","name":"turnstone_id","inputs":[],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"nonpayable","type":"function","name":"update_valset","inputs":[{"name":"consensus","type":"tuple","components":[{"name":"valset","type":"tuple","components":[{"name":"validators","type":"address[]"},{"name":"powers","type":"uint256[]"},{"name":"valset_id","type":"uint256"}]},{"name":"signatures","type":"(uint256,uint256,uint256)[]"}]},{"name":"new_valset","type":"tuple","components":[{"name":"validators","type":"address[]"},{"name":"powers","type":"uint256[]"},{"name":"valset_id","type":"uint256"}]}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"submit_logic_call","inputs":[{"name":"consensus","type":"tuple","components":[{"name":"valset","type":"tuple","components":[{"name":"validators","type":"address[]"},{"name":"powers","type":"uint256[]"},{"name":"valset_id","type":"uint256"}]},{"name":"signatures","type":"(uint256,uint256,uint256)[]"}]},{"name":"args","type":"tuple","components":[{"name":"logic_contract_address","type":"address"},{"name":"payload","type":"bytes"}]},{"name":"message_id","type":"uint256"},{"name":"deadline","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"last_checkpoint","inputs":[],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"view","type":"function","name":"message_id_used","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]}]' 60206110e16000396000516020816110c10160003960005181016101406020826110c101600039600051116110bc576020816110c1016000396000518060405260008161014081116110bc57801561008357905b60206020820260208601016110c1016000396000518060a01c6110bc576020820260600152600101818118610053575b505050506020602082016110c10160003960005181016101406020826110c101600039600051116110bc576020816110c1016000396000518061286052602082016020820280826110c10161288039505050506020604082016110c101600039600051615080525060206110c1600039600051630000f300526040366150a037600060405161014081116110bc57801561018c57905b60208102606001516150e0526150a05160206150c051612860518110156110bc5702612880015181818301106110bc57808201905090506150a05263aaaaaaaa6150a051106101675761018c565b6150c051600181818301106110bc57808201905090506150c052600101818118610119575b505063aaaaaaaa6150a05110156102035760126150e0527f496e73756666696369656e7420506f7765720000000000000000000000000000615100526150e0506150e051806151000181600003601f1636823750506308c379a06150a05260206150c052601f19601f6150e05101166044016150bcfd5b63299018c261a20452600460808061a224528061a2240160006040518083526020810260008261014081116110bc57801561025757905b60208102606001516020820260208801015260010181811861023a575b505082016020019150509050810190508061a244528061a224016000612860518083526020810260008261014081116110bc5780156102b057905b60208102612880015160208202602088010152600101818118610292575b505082016020019150509050810190506150805161a2645260206110c160003960005161a284520161a2005261a2008051602082012090506150e0526150e0516000557f09d40458cf931745f8d532ef13fa9c74bfb7fe0edcee88e0a677b0cbef88f0f96150e0516151005261508051615120526040615100a1610d78610343630000e58839610d78602001630000e588f3600436101561000d57610a07565b60003560e01c34610d735763f0f405048118610037576020610d7860003960005160405260206040f35b63eadf4af78118610513576004356004018035810180358101610140813511610d735780358061f2a0526000816101408111610d7357801561009b57905b602081026020850101358060a01c610d73576020820261f2c00152600101818118610075575b5050505060208101358101610140813511610d735780358062011ac0526020820160208202808262011ae037505050506040810135620142e0525060208101358101610140813511610d73578035806201430052602082016060820280826201432037505050505060243560040180358101610140813511610d73578035806201bb20526000816101408111610d7357801561015a57905b602081026020850101358060a01c610d7357602082026201bb400152600101818118610133575b5050505060208101358101610140813511610d73578035806201e34052602082016020820280826201e3603750505050604081013562020b605250620142e05162020b60511161021357601162020b80527f496e76616c69642056616c73657420494400000000000000000000000000000062020ba05262020b805062020b80518062020ba00181600003601f1636823750506308c379a062020b4052602062020b6052601f19601f62020b8051011660440162020b5cfd5b60403662020b803760006201bb20516101408111610d735780156102b157905b602081026201bb40015162020bc05262020b8051602062020ba0516201e34051811015610d7357026201e36001518181830110610d73578082019050905062020b805263aaaaaaaa62020b80511061028a576102b1565b62020ba05160018181830110610d73578082019050905062020ba052600101818118610233575b505063aaaaaaaa62020b8051101561033257601262020bc0527f496e73756666696369656e7420506f776572000000000000000000000000000062020be05262020bc05062020bc0518062020be00181600003601f1636823750506308c379a062020b8052602062020ba052601f19601f62020bc051011660440162020b9cfd5b61f2a05180604052602081028060608261f2c060045afa9050505062011ac051806128605260208102806128808262011ae060045afa90505050620142e0516150805261038162020bc0610c89565b62020bc051600054146103fd57601462020be0527f496e636f727265637420436865636b706f696e7400000000000000000000000062020c005262020be05062020be0518062020c000181600003601f1636823750506308c379a062020ba052602062020bc052601f19601f62020be051011660440162020bbcfd5b6201bb20518060405260208102806060826201bb4060045afa905050506201e3405180612860526020810280612880826201e36060045afa9050505062020b60516150805261044e62020be0610c89565b62020be05162020bc05261f2a051806102405260208102806102608261f2c060045afa9050505062011ac05180612a60526020810280612a808262011ae060045afa90505050620142e051615280526201430051806152a05260608102806152c0826201432060045afa9050505062020bc05161cac0526104cd610ab0565b62020bc0516000557f09d40458cf931745f8d532ef13fa9c74bfb7fe0edcee88e0a677b0cbef88f0f962020bc05162020be05262020b605162020c0052604062020be0a1005b631029ae6f81186109c9576004356004018035810180358101610140813511610d735780358061f2a0526000816101408111610d7357801561057757905b602081026020850101358060a01c610d73576020820261f2c00152600101818118610551575b5050505060208101358101610140813511610d735780358062011ac0526020820160208202808262011ae037505050506040810135620142e0525060208101358101610140813511610d73578035806201430052602082016060820280826201432037505050505060243560040180358060a01c610d73576201bb205260208101358101615000813511610d73578035806201bb40526020820181816201bb60375050505060643542111561069557600762020b60527f54696d656f75740000000000000000000000000000000000000000000000000062020b805262020b605062020b60518062020b800181600003601f1636823750506308c379a062020b2052602062020b4052601f19601f62020b6051011660440162020b3cfd5b60016044356020526000526040600020541561071a57600f62020b60527f55736564204d6573736167655f4944000000000000000000000000000000000062020b805262020b605062020b60518062020b800181600003601f1636823750506308c379a062020b2052602062020b4052601f19601f62020b6051011660440162020b3cfd5b6001600160443560205260005260406000205561f2a05180604052602081028060608261f2c060045afa9050505062011ac051806128605260208102806128808262011ae060045afa90505050620142e0516150805261077c62020b60610c89565b62020b6051600054146107f857601462020b80527f496e636f727265637420436865636b706f696e7400000000000000000000000062020ba05262020b805062020b80518062020ba00181600003601f1636823750506308c379a062020b4052602062020b6052601f19601f62020b8051011660440162020b5cfd5b63980721b262025ca452600460808062025cc4528062025cc40160406201bb205182528060208301528082016201bb4051808252602082018181836201bb6060045afa90505050805180602083010181600003601f163682375050601f19601f8251602001011690508101905090508101905060443562025ce4526020610d7860003960005162025d045260643562025d24520162025ca05262025ca080516020820120905062020b605261f2a051806102405260208102806102608261f2c060045afa9050505062011ac05180612a60526020810280612a808262011ae060045afa90505050620142e051615280526201430051806152a05260608102806152c0826201432060045afa9050505062020b605161cac052610918610ab0565b6201bb406000600082516020840160006201bb20515af19050610940573d600060003e3d6000fd5b7f0d2bd340033bb64fd086788e6685b480a9bf10b98d63e9b8073eb5d0bd6c6ee960606201bb205162020b80528062020ba0528062020b80016201bb4051808252602082018181836201bb6060045afa90505050805180602083010181600003601f163682375050601f19601f8251602001011690508101905060443562020bc05262020b80a1005b63a9a4a98381186109e05760005460405260206040f35b6338d6172d8118610a0557600160043560205260005260406000205460405260206040f35b505b60006000fd5b6000601c6101a0527f19457468657265756d205369676e6564204d6573736167653a0a3332000000006101c0526101a0805160208201836102000181518152505080830192505050606051816102000152602081019050806101e0526101e0905080516020820120905060e05260e051610100526080516101205260a0516101405260c0516101605260206000608061010060015afa5060005160405114815250565b60403661cae03760006152a0516101408111610d73578015610c1057905b606081026152c001805161cb2052602081015161cb4052604081015161cb605250600061cb205114610beb57602061cae05161024051811015610d735702610260015160405261cac05160605261cb205160805261cb405160a05261cb605160c052610b3b61cb80610a0d565b61cb8051610ba957601161cba0527f496e76616c6964205369676e617475726500000000000000000000000000000061cbc05261cba05061cba0518061cbc00181600003601f1636823750506308c379a061cb6052602061cb8052601f19601f61cba051011660440161cb7cfd5b61cb0051602061cae051612a6051811015610d735702612a8001518181830110610d73578082019050905061cb005263aaaaaaaa61cb005110610beb57610c10565b61cae05160018181830110610d73578082019050905061cae052600101818118610ace575b505063aaaaaaaa61cb00511015610c8757601261cb20527f496e73756666696369656e7420506f776572000000000000000000000000000061cb405261cb205061cb20518061cb400181600003601f1636823750506308c379a061cae052602061cb0052601f19601f61cb2051011660440161cafcfd5b565b63299018c261a1a452600460808061a1c4528061a1c4016000604051808352602081026000826101408111610d73578015610cdd57905b602081026060015160208202602088010152600101818118610cc0575b505082016020019150509050810190508061a1e4528061a1c401600061286051808352602081026000826101408111610d73578015610d3657905b60208102612880015160208202602088010152600101818118610d18575b505082016020019150509050810190506150805161a204526020610d7860003960005161a224520161a1a05261a1a0805160208201209050815250565b600080fd005b600080fd
3 Likes