Skip to content

Sui Move: dependency mismatch error when publishing #2828

@croprotocol

Description

@croprotocol

I'm trying to integrate Pyth in my Move contract on Sui, but I'm hitting a dependency mismatch error when publishing. Here's my Move.toml:

[package]
name = "test"
edition = "2024.beta"
version = "0.0.1"

[dependencies.Pyth]
git = "https://github.com/pyth-network/pyth-crosschain.git"
subdir = "target_chains/sui/contracts"
rev = "sui-contract-mainnet"

[dependencies.Wormhole]
git = "https://github.com/wormhole-foundation/wormhole.git"
subdir = "sui/wormhole"
rev = "sui/mainnet"

[dependencies.usdc]
local = "../usdc"

[addresses]
test = "0x0"

When I try to publish (even with --skip-dependency-verification), I get the following error:

Total number of linter warnings suppressed: 1 (unique lints: 1)
Failed to publish the Move module(s), reason: [warning] Multiple source verification errors found:

- Local dependency did not match its on-chain version at 8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::Pyth::setup
- Local dependency did not match its on-chain version at 8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::Pyth::governance
- Local dependency did not match its on-chain version at 8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::Pyth::set_update_fee
- Local dependency did not match its on-chain version at 8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::Pyth::pyth
- Local dependency did not match its on-chain version at 8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::Pyth::hot_potato_vector
- Local dependency did not match its on-chain version at 8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::Pyth::contract_upgrade
- Local dependency did not match its on-chain version at 8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::Pyth::accumulator
- Local dependency did not match its on-chain version at 8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e::Pyth::state
- Local dependency did not match its on-chain version at 5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a::Wormhole::package_utils

This may indicate that the on-chain version(s) of your package's dependencies may behave differently than the source version(s) your package was built against.

Fix this by rebuilding your packages with source versions matching on-chain versions of dependencies, or ignore this warning by re-running with the --skip-dependency-verification flag.
...

It seems like the local Git dependencies don’t match the deployed versions on Sui mainnet.

How can I correctly use Pyth and Wormhole as dependencies without this conflict?
Should I remove the git sources and just declare the on-chain addresses?
Any official guidance for using Pyth on Sui mainnet?

Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions