[PASSED] OP-PIP-95: Pyth Lazer Test Contract Upgrade (Sui Testnet)

Abstract

Perform an test upgrade on a testnet deployment of Sui Lazer contract to ensure that the process works correctly. The update itself only adds a dummy

ThisContractWasUpdated

type definition - goal is to test whether the contract can successfully execute governance action. This is a follow-up to the previous proposal which uncovered problems with incorrect choice of guardian set for testing.

Rationale

Sui Lazer contract only allows maintenance through Wormhole’s Verified Action Approvals (VAAs) tied to specific emitter address and chain. We have tested the process with dummy emitter tied to ordinary wallet, but this flow does not test implementation of proposal submitting and execution. Previous proposal incorrectly used Mainnet guardian set with Testnet Wormhole, thus not being executable. This proposal uses a custom deployment of Wormhole specifically to test the governance process using Mainnet guardian set (diff).

Description

Proposal should emit a single Wormhole message targeted to Sui chain, with update version 2 and digest of build of current version of the contract, with slight modifications (see below), available in this branch: https://github.com/pyth-network/pyth-crosschain/tree/lazer-proposal-test (diff).

Implementation Plan

Test contract implementation:

https://github.com/pyth-network/pyth-crosschain/tree/lazer-proposal-test

Proposal ID: 3CSrnrwanWAWFbZ27PZJerWJa4HU2AYpmriJtdf6PZdi

Proposal verification

Install pnpm, jq and suiup

Install Sui tools through command line, choose as default version when prompted:

suiup install sui@testnet-1.64.0

Clone the pyth-crosschain repository, build contract_manager, and run check_proposal script:

git clone <https://github.com/pyth-network/pyth-crosschain> \\
  --branch lazer-proposal-test
cd pyth-crosschain

pnpm install && pnpm turbo build
pnpm tsx scripts/check_proposal.ts
  --cluster mainnet-beta \\
  --proposal 3CSrnrwanWAWFbZ27PZJerWJa4HU2AYpmriJtdf6PZdi