catenis_api_client 3.0.1

Catenis API client library for the Rust programming language
Documentation
use catenis_api_client::{
    CatenisClient, ClientOptions, Environment, Result,
};

fn main() -> Result<()> {
    let device_credentials = (
        "dnN3Ea43bhMTHtTvpytS",
        concat!(
        "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
        "202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f",
        ),
    ).into();

    let mut ctn_client = CatenisClient::new_with_options(
        Some(device_credentials),
        &[
            ClientOptions::Environment(Environment::Sandbox),
        ],
    )?;

    let asset_id = "aQjlzShmrnEZeeYBZihc";

    let result = ctn_client.list_asset_holders(
        asset_id,
        Some(200),
        Some(0),
    )?;

    for idx in 0..result.asset_holders.len() {
        let asset_holder = &result.asset_holders[idx];

        if let Some(holder) = &asset_holder.holder {
            println!("Asset holder #{}:", idx + 1);
            println!(" - device holding an amount of the asset: {:?}", holder);
            println!(" - amount of asset currently held by device: {}", asset_holder.balance.total);
            println!(" - amount not yet confirmed: {}", asset_holder.balance.unconfirmed);
        } else {
            println!("Migrated asset:");
            println!(" - total migrated amount: {}", asset_holder.balance.total);
            println!(" - amount not yet confirmed: {}", asset_holder.balance.unconfirmed);
        }
    }

    if result.has_more {
        println!("Not all asset holders have been returned");
    }

    Ok(())
}