Skip to content

Manage Trust Connections

Trust updates are write operations. Rust runner is not available yet; code samples will be added once writes are supported.

Read-only Rust actions today:

  • Query trust relations (trustRelations table).
  • Monitor trust-related events.
  • Pathfind across existing trust edges.

Write flow (future):

  • Add/remove/update trust edges for personal/group/org avatars via runner.

Example: query trust edges for an avatar

use circles_rpc::{QueryMethods, RpcClient};
use circles_types::{FilterPredicate, OrderBy, QueryParams, TrustRelationRow};
use reqwest::Url;
 
#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = RpcClient::http(Url::parse("https://rpc.aboutcircles.com/")?);
    let queries = QueryMethods::new(client);
 
    let rows: Vec<TrustRelationRow> = queries
        .circles_query(QueryParams {
            namespace: "circles".into(),
            table: "trustRelations".into(),
            columns: vec!["truster".into(), "trustee".into(), "limit".into(), "timestamp".into()],
            filter: vec![FilterPredicate::equals(
                "truster".into(),
                "0x1234567890123456789012345678901234567890",
            )
            .into()],
            order: vec![OrderBy::desc("timestamp".into())],
            limit: Some(25),
        })
        .await?;
 
    println!("trust edges: {}", rows.len());
    Ok(())
}