# \[PASSED\] OP-PIP-58: Upgrade Pyth Lazer contract on Solana mainnet (edited)

**URL:** <https://forum.pyth.network/t/passed-op-pip-58-upgrade-pyth-lazer-contract-on-solana-mainnet-edited/2062>\
**Category:** Proposals\
**Tags:** operational-pip\
**Created:** [March 24, 2025, 7:18pm UTC](https://forum.pyth.network/t/passed-op-pip-58-upgrade-pyth-lazer-contract-on-solana-mainnet-edited/2062 "2025-03-24T19:18:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![KemarTiti](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.pyth.network/kemartiti/32/5_2.png) [@KemarTiti](https://forum.pyth.network/u/KemarTiti)\
**Post date:** [March 24, 2025, 7:18pm UTC](https://forum.pyth.network/t/passed-op-pip-58-upgrade-pyth-lazer-contract-on-solana-mainnet-edited/2062/1 "2025-03-24T19:18:26Z")

</div>

**Abstract**  
Following the successful upgrade and testing of the Pyth Lazer contract on Solana testnet and devnet, this proposal intends to upgrade the Lazer contract on Solana mainnet.

**Rationale**  
This proposal upgrades the Pyth Lazer Contract program on Mainnet to add support for ecdsa signatures. Ecdsa signatures are smaller in payload size but are more expensive to verify.

**Implementation Plan**  
Proposal: [Realms](https://proposals.pyth.network/?tab=proposals&proposal=9KDPSDX5pcSJQhHLitqcaRBqxKut9cXrTh3TYxw37s7y)

Program hash: `b790774609fcb6ca5d37bb205ab7e1371a5082aa6770d1d143a0dd44f9f314f9`

Proposed program hash can be seen via `solana-verify get-buffer-hash 4tdvkVpj4LgRZBMhffG3hzm2xN1u743fndRX2a75dPRX`

**Verification:**

1. Make sure you have git and rust installed.
2. git: install `git` from [here](https://git-scm.com/downloads)
3. rust: install `rust` from [here](https://www.rust-lang.org/tools/install)
4. clone the pyth-crosschain repo by running the following command: `git clone ` `https://github.com/pyth-network/pyth-crosschain`
5. change your directory to the lazer by running this command: `cd pyth-crosschain/lazer/`
6. build the program: `solana-verify build --library-name pyth_lazer_solana_contract`
7. check the hash of the artifact: `sha256sum ./target/deploy/pyth_lazer_solana_contract.so`
8. check the hash of the deployed buffer
9. `solana program -u m dump 4tdvkVpj4LgRZBMhffG3hzm2xN1u743fndRX2a75dPRX temp_file && sha256sum temp_file && rm temp_file`
10. Make sure the hash from step 8 and from step 7 match
11. Make sure the buffer authority is the multisig authority
12. Make a request to get the latest price feed of btc with ecdsa signature using the command below (replace with your token):

curl -X POST -d ‘{“priceFeedIds”: [1], “properties”: [“price”], “chains”: [“evm”], “channel”: “real\_time”, “jsonBinaryEncoding”: “hex”}’ -H “Authorization: Bearer ” [https://pyth-lazer.dourolabs.app/v1/latest\_price](https://pyth-lazer.dourolabs.app/v1/latest_price)

1. Run `cargo run --example parse_and_verify` to and paste the evm encoded update data and press enter. You should see the public key `26fb61a864c758ae9fba027a96010480658385b9`
2. Copy the trusted signer from UI and run the following command to make sure it is the same: `python3 -c "print(bytearray(<TRUSTED SIGNER [38, 251, ...]>).hex())"`

---

<div class="post-metadata">

**Author:** ![Pyth-DAO](https://avatars.discourse-cdn.com/v4/letter/p/edb3f5/32.png) [@Pyth-DAO](https://forum.pyth.network/u/Pyth-DAO)\
**Post date:** [April 7, 2025, 8:45am UTC](https://forum.pyth.network/t/passed-op-pip-58-upgrade-pyth-lazer-contract-on-solana-mainnet-edited/2062/2 "2025-04-07T08:45:45Z")

</div>


