Skip to content

Mint Group Tokens

Group-token mint and redeem helpers are available today from human and organisation avatars.

Relevant methods:

  • plan_group_token_mint / mint_group_token
  • plan_group_token_redeem / redeem_group_token
  • max_group_token_mintable
  • Sdk::group_collateral and Sdk::group_holders for inspection

Example: plan a group-token mint

use alloy_primitives::{U256, address};
use circles_sdk::{Avatar, Sdk, config};
 
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let sdk = Sdk::new(config::gnosis_mainnet(), None)?;
    let member = address!("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    let group = address!("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
 
    if let Avatar::Human(human) = sdk.get_avatar(member).await? {
        let prepared = human
            .plan_group_token_mint(group, U256::from(1_000_000_000_000_000_000u128))
            .await?;
        println!("prepared {} tx(s)", prepared.len());
    }
 
    Ok(())
}