Skip to main content

ma_core/ipfs/
mod.rs

1//! IPFS-related APIs.
2//!
3//! Cross-platform:
4//! - `gateway_resolver` for DID fetch over HTTP gateways.
5//!
6//! Native-only (requires `kubo` feature):
7//! - IPFS RPC write/pin/publish helpers.
8
9pub mod gateway_resolver;
10
11#[cfg(all(not(target_arch = "wasm32"), feature = "kubo"))]
12mod kubo;
13#[cfg(all(not(target_arch = "wasm32"), feature = "kubo"))]
14mod pinning;
15#[cfg(all(not(target_arch = "wasm32"), feature = "kubo"))]
16mod publish;
17
18pub use gateway_resolver::{DidDocumentResolver, IpfsGatewayResolver};
19
20#[cfg(all(not(target_arch = "wasm32"), feature = "kubo"))]
21pub use kubo::{
22    cat_bytes, cat_text, dag_get, dag_put, fetch_did_document, generate_key, import_key, ipfs_add,
23    list_key_names, list_keys, name_publish, name_publish_with_options, name_publish_with_retry,
24    name_resolve, pin_add_named, pin_rm, remove_key, wait_for_api, IpnsPublishOptions, KuboKey,
25};
26#[cfg(all(not(target_arch = "wasm32"), feature = "kubo"))]
27pub use pinning::{pin_update_add_rm, PinUpdateOutcome};
28#[cfg(all(not(target_arch = "wasm32"), feature = "kubo"))]
29pub use publish::{
30    handle_ipfs_publish, publish_did_document_to_kubo, validate_ipfs_publish_request,
31    IpfsDidPublisher, IpfsPublishDidRequest, IpfsPublishDidResponse, ValidatedIpfsPublish,
32};