MARS documentation
Rust librariesmars-protocol

mars-protocol

Wire contracts, publisher signing, hashing, lifecycle, query AST, federation, and event types.

Wire contracts, publisher signing, hashing, lifecycle, query AST, federation, and event types.

Use this crate to serialize exact registry contracts and perform local cryptographic preparation. Runtime authorization and operator trust are enforced by the server separately.

Package contract

Workspace version: 0.1.0. Rust edition 2021, minimum declared toolchain 1.81, Apache-2.0 license. Protocol wire version stays 1.0.0.

Use the source checkout as the installation authority; package registry publication is not verified by this documentation build. In a consumer Cargo manifest, use an explicit path dependency to your checked-out crate.

[dependencies]
mars-protocol = { path = "../mars/mars-protocol" }

Feature flags

FeatureEnables
defaultMarker feature
contractsdep:schemars, dep:utoipa
shardingMarker feature
sigildep:async-trait
mock-anchorsigil
prodMarker feature

Public root modules

anchoring, api, bonds, contract, entry, errors, events, federation, hash, lifecycle, marsql, relationships, signature, types, anchor. Conditional availability follows the source attributes.

Public module reference

ModuleSource
cratemars-protocol/src/lib.rs
anchoringmars-protocol/src/anchoring.rs
apimars-protocol/src/api.rs
bondsmars-protocol/src/bonds.rs
contractmars-protocol/src/contract.rs
entrymars-protocol/src/entry.rs
errorsmars-protocol/src/errors.rs
eventsmars-protocol/src/events.rs
federationmars-protocol/src/federation.rs
hashmars-protocol/src/hash.rs
lifecyclemars-protocol/src/lifecycle.rs
marsqlmars-protocol/src/marsql/mod.rs
marsql::astmars-protocol/src/marsql/ast.rs
marsql::evaluatormars-protocol/src/marsql/evaluator.rs
marsql::parsermars-protocol/src/marsql/parser.rs
relationshipsmars-protocol/src/relationships.rs
signaturemars-protocol/src/signature.rs
typesmars-protocol/src/types.rs
anchormars-protocol/src/anchor.rs

API documentation boundary

The linked pages contain syntax-derived public declarations, method signatures, and documentation comments. They omit function bodies and constant values, and skip test-only modules. Compiler-resolved re-exports, trait resolution, and target availability require Rustdoc with the selected feature profile; no backend build or conformance tests ran here.

On this page