PIP Name: PIP-13: Deploy Compass EVM on Paloma Testnest-15
Status: Proposed
Author(s): @LARRY
Type: EVM Proposal
Discussions-to: Governance - Paloma
Created: 01/22/2023
Simple Summary
Deploy Compass-EVM contract to paloma-testnest-15 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 paloma-testnet-15.
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 Deploy the Paloma Compass EVM" \
--description "Paloma Deploy the Paloma Compass EVM to supported EVM Mainnet chains for Pigeons to send messages on EVM mainnet chains." \
--deposit 10000000ugrain \
--fees 400ugrain \
--gas auto \
--from=<From Paloma Address> \
--chain-id=paloma-testnet-15 \
--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