Skip to content

feat(bucket-object): add object entry state model [10/n]#3270

Open
sadhansood wants to merge 1 commit intosadhan/09-bucket-object-scaffoldfrom
sadhan/10-bucket-object-entry-state
Open

feat(bucket-object): add object entry state model [10/n]#3270
sadhansood wants to merge 1 commit intosadhan/09-bucket-object-scaffoldfrom
sadhan/10-bucket-object-entry-state

Conversation

@sadhansood
Copy link
Copy Markdown
Contributor

Description

This adds the next bucket_object contract slice: the per-key object state model. The new modules introduce:

  • ObjectVersion as the immutable version record for an object update
  • ObjectEntry as the shared per-key object state
  • current_version / pending_version tracking
  • generation-based staging and promotion rules for pending versions

This PR is still intentionally contract-only and keeps the scope narrow. It does not wire blob registration, certification, or object update APIs yet. The goal here is to land the core object state shape and its invariants before building the write flow on top of it.

Test plan

  • rustup run 1.86 cargo fmt -- --config group_imports=StdExternalCrate,imports_granularity=Crate,imports_layout=HorizontalVertical
  • cargo clippy --workspace --all-features --tests --no-deps -- -D warnings
  • sui move test --path /Users/sadhansood/dev/walrus/contracts/bucket_object

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. (Add release notes after the colon for each item)

  • Storage node:
  • Aggregator:
  • Publisher:
  • CLI:

@sadhansood sadhansood force-pushed the sadhan/10-bucket-object-entry-state branch from fc5f30e to f6e31d1 Compare April 9, 2026 00:04
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 9, 2026

Warning: This PR modifies the Walrus CLI. Please consider the following:

  • Make sure the changes are backwards compatible. Consider deprecating options before
    removing them.
  • Generally only use long CLI options, not short ones to avoid conflicts in the
    future.
  • If you added new options or features, or modified the behavior, please document the
    changes in the release notes of the PR and update the documentation in the
    docs/content directory.

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.

1 participant