Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
e2226d9
feat: Includes xmp extensions when extracting xmp data
alextrnnn Jul 30, 2025
560844a
fix: Make sure that xmp extensions are correctly ordered by offset
alextrnnn Jul 31, 2025
e20cee9
fix: Verify that the extensions have the same guid, refactor large tu…
alextrnnn Jul 31, 2025
523e38e
fix: Add validation for offset/length aligning with actual data
alextrnnn Jul 31, 2025
21d8939
feat: Add method for extracting container Items
alextrnnn Aug 1, 2025
20cc54d
feat: Extract each individual item into separate file
alextrnnn Aug 5, 2025
c9adbf1
feat: Build out struct to store multi asset hash
alextrnnn Aug 5, 2025
dacfd9e
feat: Add verification of self for multi-asset hash
alextrnnn Aug 7, 2025
f234fef
fix: Update format, different approach to splitting
alextrnnn Aug 7, 2025
b244b1b
test: Add test to verify hash checks are correct
alextrnnn Aug 7, 2025
e72085a
Merge branch 'main' into alextrnnn/multi-asset-hash
alextrnnn Aug 8, 2025
101ca44
feat: Add validation for multi-asset hash if data hash fails
alextrnnn Aug 8, 2025
33bad03
fix: Doesn't correctly extract items, doesn't factor in optional leng…
alextrnnn Aug 11, 2025
da6e32b
refactor: Change names and return type of extract helper method
alextrnnn Aug 11, 2025
47c4532
fix: Validation status no longer adds incorrect status
alextrnnn Aug 11, 2025
a3580bf
refactor: Remove unnecessary code, change name
alextrnnn Aug 11, 2025
2730961
format: whitespace
alextrnnn Aug 11, 2025
0d4f995
Merge branch 'main' into alextrnnn/multi-asset-hash
alextrnnn Aug 11, 2025
a15f01a
fix: Represent locator map as an enum
alextrnnn Aug 11, 2025
37c8128
docs: Add documentation and remove new functions
alextrnnn Aug 11, 2025
4e9bb70
docs: More documentation
alextrnnn Aug 11, 2025
a784486
docs: Documentation
alextrnnn Aug 11, 2025
3306f4f
chore: Refactored code, add support for box hash, fix logical errors …
alextrnnn Aug 12, 2025
ff8db5c
fix: Return correct validation status for match, avoid searching twic…
alextrnnn Aug 12, 2025
589cd07
format: Formatting changes
alextrnnn Aug 12, 2025
87bb4e0
refactor: Move duplicated code into verify multi asset
alextrnnn Aug 12, 2025
9fa2ad2
chore: Remove unnecessary lifetime specifier
alextrnnn Aug 12, 2025
df18900
chore: Implement PR reviews
alextrnnn Aug 12, 2025
781ee06
test: Add more test cases
alextrnnn Aug 12, 2025
809a9ca
Merge branch 'main' into alextrnnn/multi-asset-hash
alextrnnn Aug 12, 2025
5375461
chore: yanked crate
alextrnnn Aug 13, 2025
bcb932b
Merge branch 'main' into alextrnnn/multi-asset-hash
alextrnnn Aug 13, 2025
ea2e998
Merge branch 'main' into alextrnnn/multi-asset-hash
alextrnnn Sep 5, 2025
287adae
format: Merge conflict artifacts
alextrnnn Sep 5, 2025
0f3e90d
chore: Address quick feedback
alextrnnn Sep 5, 2025
23ec9ce
Merge branch 'main' into alextrnnn/multi-asset-hash
Feb 27, 2026
b7425f2
docs: Add docs for each field within struct
Feb 27, 2026
9c95e12
fix: Add verification logic to make sure no overlaps and constrain of…
Feb 28, 2026
2842afc
chore: Change ordering of logic for clarity
Feb 28, 2026
aba3622
fix: Do not allocate a vec, use take to keep in streams
Feb 28, 2026
90392f9
chore: Fix "use"
Feb 28, 2026
41aa593
Merge branch 'main' into alextrnnn/multi-asset-hash
alextrnnn Feb 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions sdk/src/assertions/labels.rs
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,11 @@ pub static METADATA_LABEL_REGEX: LazyLock<Regex> = LazyLock::new(|| {
}
});

/// Label prefix for multi-asset hash assertion.
///
/// See <https://spec.c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_multi_asset_hash>
pub const MULTI_ASSET_HASH: &str = "c2pa.hash.multi-asset";

/// Parse a label into its components
///
/// This function takes a label string and parses it into its base label,
Expand Down
3 changes: 3 additions & 0 deletions sdk/src/assertions/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ pub use assertion_metadata::{
c2pa_source, Actor, AssertionMetadata, AssetType, DataBox, DataSource, ReviewCode, ReviewRating,
};

mod multi_asset_hash;
pub use multi_asset_hash::{ByteRangeLocator, LocatorMap, MultiAssetHash, PartHashMap};

mod schema_org;
#[allow(deprecated)]
pub use schema_org::{SchemaDotOrg, SchemaDotOrgPerson};
Expand Down
Loading
Loading