Skip to content

Conversation

mystenmark
Copy link
Contributor

No description provided.

Copy link

vercel bot commented Oct 15, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
sui-docs Ready Ready Preview Comment Oct 16, 2025 11:10pm
2 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
multisig-toolkit Ignored Ignored Preview Oct 16, 2025 11:10pm
sui-kiosk Ignored Ignored Preview Oct 16, 2025 11:10pm

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change looks good! Where we can we go to learn more about what the future schema needs to expose?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is pulled out of #23733, which adds SharedObjectMutability::NonExclusiveWrite, which allows transactions to perform non-conflicting dynamic field operations in parallel.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, for GraphQL, we can work this migration by adding a new field -- mutability that returns an enum, and add a deprecation notice to the old mutable flag, before disappearing it after two more releases.

Copy link
Contributor

@tnowacki tnowacki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concerned about some possible breakages (looking at the yaml) But I imagine you are on top of it

pub fn is_mutable(&self) -> bool {
match self {
SharedObjectMutability::Mutable => true,
SharedObjectMutability::Immutable => false,
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this something we want to support? What happens after the non-exclusive variant is added?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll handle that in that PR, but I didn't want to bring those sorts of details backward into this change

Comment on lines 3981 to 3984

#[cfg(test)]
mod tests {
use super::*;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there no existing unit test file where this should go?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved to a new test file

Mutable,
}

impl std::fmt::Display for SharedObjectMutability {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is this used?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly making sure this isn't going to fork if it is used somewhere stupid

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed, it was apparently unused

TYPENAME: SequenceNumber
- mutable: BOOL
- mutability:
TYPENAME: SharedObjectMutability
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't fully know the results of this change and who it will break

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think there's anything that directly reads sui.yaml, if that's what you mean. For readers of BCS, the format is compatible. Am I missing your point?

@mystenmark mystenmark force-pushed the mlogan-shared-object-mutability branch from 1399c0b to ff80d4e Compare October 16, 2025 23:08
@mystenmark mystenmark temporarily deployed to sui-typescript-aws-kms-test-env October 16, 2025 23:08 — with GitHub Actions Inactive
@mystenmark mystenmark enabled auto-merge (squash) October 16, 2025 23:08
@mystenmark mystenmark merged commit 61dcfdb into main Oct 16, 2025
53 of 54 checks passed
@mystenmark mystenmark deleted the mlogan-shared-object-mutability branch October 16, 2025 23:46
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.

3 participants