MARS documentation
Rust librariesmars-protocol

mars-protocol · crate

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

Package: mars-protocol · Workspace version: 0.1.0 · Module: crate

This reference follows declared modules and public syntax, including public implementation methods. Function bodies and constant values are omitted. Feature conditions are retained. Private-module re-exports and trait resolution require the compiler; not every declaration is a root import.

anchoring

pub mod anchoring;

Source line: 13.

api

pub mod api;

Source line: 14.

bonds

pub mod bonds;

Source line: 15.

contract

#[cfg(feature = "contracts")]
pub mod contract;

Source line: 17.

entry

pub mod entry;

Source line: 18.

errors

pub mod errors;

Source line: 19.

events

pub mod events;

Source line: 20.

federation

pub mod federation;

Source line: 21.

hash

pub mod hash;

Source line: 22.

lifecycle

pub mod lifecycle;

Source line: 23.

marsql

pub mod marsql;

Source line: 24.

relationships

pub mod relationships;

Source line: 25.

signature

pub mod signature;

Source line: 26.

types

pub mod types;

Source line: 27.

anchor

#[cfg(feature = "sigil")]
pub mod anchor;

Source line: 30.

pub use anchoring::{

AnchorControlResponse, AnchorListQuery, AnchorListResponse, AnchorOperation, AnchorOutboxState, AnchorReceiptRecord, AnchorReceiptState, AnchorState, AnchorStatusRecord, };

pub use anchoring::{
    AnchorControlResponse, AnchorListQuery, AnchorListResponse, AnchorOperation, AnchorOutboxState,
    AnchorReceiptRecord, AnchorReceiptState, AnchorState, AnchorStatusRecord,
};

Source line: 33.

pub use api::{

AttestationQuery, AttestationRequest, BondProvisionRequest, DeepHealthResponse, DiscoverCondition, DiscoverRequest, EntryLineageResponse, EntryVersionsQuery, EntryVersionsResponse, ErrorResponse, FederationPeerUpdateRequest, HealthResponse, MarsQlRequest, ReportRequest, ReportResponse, ReportStatus, SiwsChallenge, SiwsChallengeRequest, SiwsChallengeResponse, SiwsSessionResponse, SiwsSignedResponse, SiwsVerifyRequest, SiwsVerifyResponse, TransferAcceptRequest, TransferDeclineRequest, TransferOffer, TransferOfferRequest, TransferOfferStatus, TransferRequest, VerifiableAttestationRecord, };

pub use api::{
    AttestationQuery, AttestationRequest, BondProvisionRequest, DeepHealthResponse,
    DiscoverCondition, DiscoverRequest, EntryLineageResponse, EntryVersionsQuery,
    EntryVersionsResponse, ErrorResponse, FederationPeerUpdateRequest, HealthResponse,
    MarsQlRequest, ReportRequest, ReportResponse, ReportStatus, SiwsChallenge,
    SiwsChallengeRequest, SiwsChallengeResponse, SiwsSessionResponse, SiwsSignedResponse,
    SiwsVerifyRequest, SiwsVerifyResponse, TransferAcceptRequest, TransferDeclineRequest,
    TransferOffer, TransferOfferRequest, TransferOfferStatus, TransferRequest,
    VerifiableAttestationRecord,
};

Source line: 37.

pub use entry::{AccessPolicy, EntryType, ExtensionEntryType, LineageReference, MarsEntry};

pub use entry::{AccessPolicy, EntryType, ExtensionEntryType, LineageReference, MarsEntry};

Source line: 49.

pub use lifecycle::{LifecycleStatus, RevocationReason};

pub use lifecycle::{LifecycleStatus, RevocationReason};

Source line: 50.

pub use relationships::{Relationship, RelationshipType};

pub use relationships::{Relationship, RelationshipType};

Source line: 51.

pub use types::SemanticAnnotation;

pub use types::SemanticAnnotation;

Source line: 52.

pub use hash::{compute_item_data_hash, verify_item_data_hash};

pub use hash::{compute_item_data_hash, verify_item_data_hash};

Source line: 55.

pub use bonds::{

AnchorType, Bond, BondAmount, BondAmountError, BondReference, BondRequirements, BondStatus, MarsAnchor, };

pub use bonds::{
    AnchorType, Bond, BondAmount, BondAmountError, BondReference, BondRequirements, BondStatus,
    MarsAnchor,
};

Source line: 58.

pub use bonds::{SlashDistribution, SlashEvent};

pub use bonds::{SlashDistribution, SlashEvent};

Source line: 62.

pub use signature::{

canonical_signing_bytes, controller_did_from_key_id, sign_entry, verify_entry_signature, EntrySignature, PUBLISHER_SIGNING_PROFILE, REGISTRY_MANAGED_TOP_LEVEL_FIELDS, };

pub use signature::{
    canonical_signing_bytes, controller_did_from_key_id, sign_entry, verify_entry_signature,
    EntrySignature, PUBLISHER_SIGNING_PROFILE, REGISTRY_MANAGED_TOP_LEVEL_FIELDS,
};

Source line: 65.

pub use errors::{MarsError, MarsErrorCode};

pub use errors::{MarsError, MarsErrorCode};

Source line: 71.

pub use federation::{

FederatedDiscoveryMetadata, FederatedDiscoveryRequest, FederatedDiscoveryResponse, FederatedDiscoveryResult, FederationAgreement, FederationBreakerState, FederationMessageKind, FederationPeer, FederationPeerStatus, SignedFederationEnvelope, SyncDirection, SyncRequest, SyncResponse, FEDERATION_ENVELOPE_VERSION, };

pub use federation::{
    FederatedDiscoveryMetadata, FederatedDiscoveryRequest, FederatedDiscoveryResponse,
    FederatedDiscoveryResult, FederationAgreement, FederationBreakerState, FederationMessageKind,
    FederationPeer, FederationPeerStatus, SignedFederationEnvelope, SyncDirection, SyncRequest,
    SyncResponse, FEDERATION_ENVELOPE_VERSION,
};

Source line: 74.

pub use events::{EventPayload, EventType, MarsEvent, SubscriptionFilter, SubscriptionMessage};

pub use events::{EventPayload, EventType, MarsEvent, SubscriptionFilter, SubscriptionMessage};

Source line: 82.

pub use anchor::MockSigilAnchorClient;

#[cfg(feature = "mock-anchor")]
pub use anchor::MockSigilAnchorClient;

Source line: 86.

pub use anchor::{

verify_merkle_proof, AnchorError, AnchorRecord, AnchorRequest, AnchorResponse, AnchorStatus, Direction, MerkleProof, ProofNode, SigilAnchorClient, };

#[cfg(feature = "sigil")]
pub use anchor::{
    verify_merkle_proof, AnchorError, AnchorRecord, AnchorRequest, AnchorResponse, AnchorStatus,
    Direction, MerkleProof, ProofNode, SigilAnchorClient,
};

Source line: 88.

pub use marsql::parser::parse as parse_marsql;

pub use marsql::parser::parse as parse_marsql;

Source line: 94.

pub use marsql::{MarsQuery, MarsQueryResult};

pub use marsql::{MarsQuery, MarsQueryResult};

Source line: 95.

::MARS_VERSION

MARS protocol version.

pub const MARS_VERSION: &str;

Source line: 98.

::MAX_NAME_LENGTH

Maximum entry name length.

pub const MAX_NAME_LENGTH: usize;

Source line: 101.

::MAX_DESCRIPTION_LENGTH

Maximum description length.

pub const MAX_DESCRIPTION_LENGTH: usize;

Source line: 104.

::MAX_TAGS

Maximum tags per entry.

pub const MAX_TAGS: usize;

Source line: 107.

::MAX_TAG_LENGTH

Maximum tag length.

pub const MAX_TAG_LENGTH: usize;

Source line: 110.

::MAX_ITEM_DATA_BYTES

Maximum item_data size in bytes (1 MiB canonical JSON).

pub const MAX_ITEM_DATA_BYTES: usize;

Source line: 113.

::MAX_MARSQL_LENGTH

Maximum MARS-QL query string length in bytes.

pub const MAX_MARSQL_LENGTH: usize;

Source line: 116.

::MAX_MARSQL_CONDITIONS

Maximum number of conditions in a single MARS-QL WHERE clause.

pub const MAX_MARSQL_CONDITIONS: usize;

Source line: 119.

::MAX_MARSQL_FIELD_DEPTH

Maximum field-path depth in a MARS-QL condition (segments separated by .).

pub const MAX_MARSQL_FIELD_DEPTH: usize;

Source line: 122.

Source provenance

Source: mars-protocol/src/lib.rs · SHA-256 32a534f8962fffe78e24579ebf221c7efc35b1313ddd08e9535b20750b9ff42b. Package overview.

On this page