Skip to main content

Crate freenet_git_repo_contract

Crate freenet_git_repo_contract 

Source
Expand description

Repo contract: mutable repo state for freenet-git.

This file is a thin shim: it deserializes the Parameters / State / delta payloads, dispatches into the pure-Rust logic in freenet_git_types, and re-serializes results back into stdlib types. All security-relevant logic (signature verification, ACL gating, freshness rules, CRDT merge) lives in freenet-git-types, where it can be exhaustively unit-tested without booting a WASM runtime.

Phase 1.0 is single-writer. The schema contains the full ACL fields ([AclState], [WriterGrant]) so that Phase 1.1’s multi-writer ACL becomes a contract WASM upgrade rather than a fundamentally different schema. validate_state rejects any entry whose updater is not the repo owner.

Structs§

Contract
Marker type implementing ContractInterface. Re-exported so integration tests can dispatch through the same boundary the host runtime calls into.

Functions§

get_state_delta
summarize_state
update_state
validate_state