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
- 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