Skip to content

feat(bucket-object): add delete-marker flows [13/n]#3274

Open
sadhansood wants to merge 1 commit intosadhan/12-bucket-object-register-flowfrom
sadhan/13-bucket-object-delete-markers
Open

feat(bucket-object): add delete-marker flows [13/n]#3274
sadhansood wants to merge 1 commit intosadhan/12-bucket-object-register-flowfrom
sadhan/13-bucket-object-delete-markers

Conversation

@sadhansood
Copy link
Copy Markdown
Contributor

Description

This adds delete-marker support to bucket_object.

The main changes are:

  • ObjectVersion can now represent a blob-less delete marker via new_delete_marker
  • BucketObject adds delete_object and delete_object_if_match
  • finalize_pending_version_if_certified now promotes pending delete markers without requiring blob certification
  • put_object_if_absent_and_register now treats a current delete marker as absent so keys can be recreated after deletion

This keeps the model consistent with the existing object-version flow: deletes are just another version transition, not a separate special-case object state.

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 /private/tmp/walrus-bucket-object-13/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:

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