Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Package management] add implicit system package dependencies (dvx-197) #21204

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

mdgeorge4153
Copy link
Contributor

@mdgeorge4153 mdgeorge4153 commented Feb 13, 2025

Description

This PR enables you to use system packages (e.g. MoveStdlib, Sui, DeepBook) without explicitly adding them to your Move.toml. It works by querying the network during publication / upgrade for the protocol version and using that information to determine the correct version of the system dependencies. During build, the latest known version is used.

PR stack

#21204 Add implicit Sui dependencies
#21384 Refactors to BuildConfig
#21383 Add support for implicits to move package management

This also depends on @stefan-mysten 's ongoing tree-shaking work in #21356

Test plan

Additional shell tests were added. Since these features are dependent on the protocol version of the network they are interacting with, some of these shell tests communicate with devnet, testnet, and mainnet (as well as localnet).

Some care was also taken to add explicit system dependencies to existing tests so that they would not start using this feature. I think in the future we should think more carefully about how we want to use implicit dependencies in tests.


Release notes

Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.

For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

  • Protocol:
  • Nodes (Validators and Full nodes):
  • gRPC:
  • JSON-RPC:
  • GraphQL:
  • CLI:
  • Rust SDK:

Copy link

vercel bot commented Feb 13, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
sui-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 9, 2025 4:41pm
2 Skipped Deployments
Name Status Preview Comments Updated (UTC)
multisig-toolkit ⬜️ Ignored (Inspect) Visit Preview Mar 9, 2025 4:41pm
sui-kiosk ⬜️ Ignored (Inspect) Visit Preview Mar 9, 2025 4:41pm

@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env February 13, 2025 15:17 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 changed the base branch from main to mdgeorge/framework-version-move February 13, 2025 15:18
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env February 15, 2025 12:17 — with GitHub Actions Inactive
@github-actions github-actions bot added the Type: Documentation Improvements or additions to documentation label Feb 15, 2025
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env February 15, 2025 12:18 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 changed the base branch from mdgeorge/framework-version-move to main February 15, 2025 12:19
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env February 15, 2025 13:14 — with GitHub Actions Inactive
@github-actions github-actions bot removed the Type: Documentation Improvements or additions to documentation label Feb 15, 2025
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env February 15, 2025 13:34 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env February 15, 2025 13:37 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env February 19, 2025 15:20 — with GitHub Actions Inactive
mdgeorge4153 added a commit that referenced this pull request Mar 8, 2025
…#21383)

## Description 

This PR adds support for implicit dependencies to the package management at the move layer.

## PR stack

#21204 Add implicit Sui dependencies
#21384 Refactors to BuildConfig
#21383 Add support for implicits to move package management

This also depends on @stefan-mysten 's ongoing tree-shaking work in
#21356


## Test plan 

See `test_sources/implicits/README.md` for a description of the new
snapshot tests

---

## Release notes

Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.

For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.

- [ ] Protocol: 
- [ ] Nodes (Validators and Full nodes): 
- [ ] gRPC:
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [ ] CLI: 
- [ ] Rust SDK:
@mdgeorge4153 mdgeorge4153 force-pushed the mdgeorge/build-config-refactors branch from eeee9fd to bf334c4 Compare March 9, 2025 15:23
@mdgeorge4153 mdgeorge4153 force-pushed the mdgeorge/implicit-framework-dep-2 branch from d616f25 to 70fa81b Compare March 9, 2025 15:23
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env March 9, 2025 15:23 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env March 9, 2025 15:23 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 force-pushed the mdgeorge/implicit-framework-dep-2 branch from 70fa81b to a75dc62 Compare March 9, 2025 15:46
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env March 9, 2025 15:46 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env March 9, 2025 15:46 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 marked this pull request as ready for review March 9, 2025 16:01
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env March 9, 2025 16:01 — with GitHub Actions Inactive
@mdgeorge4153 mdgeorge4153 temporarily deployed to sui-typescript-aws-kms-test-env March 9, 2025 16:02 — with GitHub Actions Inactive
mdgeorge4153 added a commit that referenced this pull request Mar 9, 2025
## Description 

This removes `sui_move_build::BuildConfig::default` and makes other small changes

## PR stack

#21204 Add implicit Sui dependencies
#21384 Refactors to BuildConfig
#21383 Add support for implicits to move package management

This also depends on @stefan-mysten 's ongoing tree-shaking work in
#21356

## Test plan 

This disables two broken bytecode verification tests. See DVX-786

---

## Release notes

Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.

For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.

- [ ] Protocol: 
- [ ] Nodes (Validators and Full nodes): 
- [ ] gRPC:
- [ ] JSON-RPC: 
- [ ] GraphQL: 
- [ ] CLI: 
- [ ] Rust SDK:
Base automatically changed from mdgeorge/build-config-refactors to main March 9, 2025 16:19
@mdgeorge4153 mdgeorge4153 force-pushed the mdgeorge/implicit-framework-dep-2 branch from 4193fc3 to 6450611 Compare March 9, 2025 16:40
@mdgeorge4153 mdgeorge4153 deployed to sui-typescript-aws-kms-test-env March 9, 2025 16:40 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants