# \[PASSED\] OP-PIP-116: Sui Lazer V2 API Upgrade

**URL:** <https://forum.pyth.network/t/passed-op-pip-116-sui-lazer-v2-api-upgrade/2584>\
**Category:** Proposals\
**Tags:** operational-pip\
**Created:** [May 26, 2026, 11:41am UTC](https://forum.pyth.network/t/passed-op-pip-116-sui-lazer-v2-api-upgrade/2584 "2026-05-26T11:41:34Z")\
**Posts on this page:** 1\
**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:** [May 26, 2026, 11:41am UTC](https://forum.pyth.network/t/passed-op-pip-116-sui-lazer-v2-api-upgrade/2584/1 "2026-05-26T11:41:34Z")

</div>

**Abstract**

This [proposal](https://proposals.pyth.network/?tab=proposals&proposal=J1mvxvWDg6C41ZSkbLtoZ4TwhPrWuJytH2esAFBGCsa2) upgrades the Pyth Lazer contract on Sui to V2 API, adding support for the `fixed_rate@1000ms` channel and improving future upgradeability by replacing the Sui enum-based Channel type with a wrapped integer.

**Rationale**

The current Sui Lazer contract uses a Sui enum for the Channel type. Extending enums in Sui requires releasing a new API version to pass on-chain upgrade checks.

This upgrade:

1. Adds support for `fixed_rate@1000ms` channel ID  
2. Replaces the enum-based Channel type with a wrapped integer (following the MarketSession convention)  
3. Prevents the same upgrade friction in future channel additions

The existing V1 API will be deprecated but remains functional — integrators can upgrade at their own pace.

**Description**

This proposal emits a single Wormhole message targeted to Sui chain with:

- Update version: 2
- Digest: Build of the current contract version

**Implementation**

- Contract implementation: [pyth-crosschain/lazer/contracts/sui](https://github.com/pyth-network/pyth-crosschain/tree/46140da3c0265e482aa5533a773f1ed54632b93a/lazer/contracts/sui)
- Proposal ID: `J1mvxvWDg6C41ZSkbLtoZ4TwhPrWuJytH2esAFBGCsa2`

**Verification**

1. Install `pnpm`, `jq`, and `suiup`  
2. Install latest testnet Sui tools:

```auto
suiup install sui

```

3. Clone and build contract\_manager:

```auto
git clone https://github.com/pyth-network/pyth-crosschain.git
cd pyth-crosschain/contract_manager
pnpm install && pnpm turbo build

```

4. Run the verification script (should succeed without errors):

```auto
pnpm tsx scripts/check_proposal.ts --cluster mainnet-beta --proposal J1mvxvWDg6C41ZSkbLtoZ4TwhPrWuJytH2esAFBGCsa2

```
