ave-common
ave-common contains the shared domain types used across the Ave workspace.
It is intended for code that needs Ave request models, governance payloads, bridge types and lightweight utilities without depending on heavier runtime crates.
This crate is free software and is distributed under the AGPL-3.0-only
license.
What it includes
- Ledger event request types
- Governance update payloads
- Bridge request and response models for API communication
- Common utility types such as
Namespace,SchemaTypeandValueWrapper - Re-export of
ave-identitywhen thecommonfeature is enabled
Features
common: enables the core domain and bridge modelsvalue-wrapper: enablesValueWrapperopenapi: derivesutoipaschemastypescript: derives TypeScript definitions
Default features enable common.
Basic example
use ;
use DigestIdentifier;
let request = Create;
assert!;
Main modules
request: ledger-facing event payloadsgovernance: governance change sets, roles and policy payloadsbridge: API-facing request, response and signature typeserror: conversion and bridge error typesnamespace: hierarchical namespace helperschematype: schema identifiers and reserved valuessink: flattened event payloads for sink integrationswrapper: JSON value wrapper with Borsh support
Notes
ValueWrapperexists to move JSON-compatible data through Borsh boundaries.- Bridge types are transport-oriented and can be converted to internal types
through
common::bridge::conversions. - When
typescriptis enabled, many public types derivets-rsexports.
Development
Run the crate tests: