Circles Documentation
  • Welcome to Circles
  • Overview
    • Understanding Personal and Group Currencies
      • Personal Currencies
      • Group Currencies
    • Why Build on Circles?
    • Circles Architecture
  • Developer Docs
    • The Circles Stack
    • Circles SDK Overview
    • Quickstart Guide for Circles SDK
    • Setting Circles Profiles
    • Building with different Circles Avatars
      • Personal / Human Avatars
        • Inviting and accepting human avatars
        • Mint personal tokens
        • Fetching profile of an human avatar
        • Manage trust connections
        • Get token balances of an avatar
        • Transfer personal Circles tokens to different avatar
      • Group Avatars
        • Create Base Groups for your community.
          • Vanilla groups with V2 hub
        • Mint group tokens
        • Managing group invites
        • Find groups and memberships
        • Getting total supply of group tokens available
      • Organization Avatars
        • Creation of Organizations
        • Managing trust connections via Org avatar account
  • Tutorials and Examples
    • Setting up Circles SDK with React
  • Querying Circles profiles and data
    • Query Circles Data
    • Subscribing to Avatar events
    • Utilising CirclesQuery Class
    • Query Circles profiles
  • Circles SDK Reference
    • Circles SDK interface
    • SDK Methods
    • Circles Data Methods
    • Circles Events Types
  • Developer Support
    • Glossary
    • Past Hackathon Projects on Circles
Powered by GitBook
On this page
  • 1. getAvatar
  • 2. acceptInvitation
  • 3. registerHuman
  • 4. registerOrganization
  • 5. registerOrganizationV2
  • 6. registerGroupV2
  • 7. migrateAvatar
  • 8. createOrUpdateProfile
  • 9. migrateV1Tokens
  • 10. getInflationaryWrapper
  • 11. getDemurragedWrapped
  • Parameters:

Was this helpful?

Export as PDF
  1. Circles SDK Reference

SDK Methods

1. getAvatar

Gets an avatar instance by its address.

getAvatar: (avatarAddress: string, subscribe?: boolean) => Promise<Avatar>
  • Parameters:

    • avatarAddress: The avatar’s wallet address.

    • subscribe: Optional, whether to subscribe to avatar events.

  • Returns: A Promise that resolves to an Avatar instance.

Usage Example:

const avatar = await sdk.getAvatar("0x123...abc");

2. acceptInvitation

Accepts an invitation to join Circles using either CID or Profile.

acceptInvitation: (inviter: string, cidV0: string) => Promise<AvatarInterface>;
//or
acceptInvitation: (inviter: string, profile: Profile) => Promise<AvatarInterface>;
  • Parameters:

    • inviter: The address of the inviting avatar.

    • cidV0: The CIDv0 of the avatar’s metadata (or profile data).

  • Returns: A Promise resolving to an AvatarInterface.

Usage Example:

await sdk.acceptInvitation("0xInviterAddress", "QmProfileCID");

3. registerHuman

Registers the connected wallet as a human avatar in Circles V1.

registerHuman: () => Promise<AvatarInterface>
  • Returns: A Promise resolving to an AvatarInterface, representing the registered human avatar.

Usage Example:

const humanAvatar = await sdk.registerHuman();

4. registerOrganization

Registers the connected wallet as an organization avatar in Circles V1.

registerOrganization: () => Promise<AvatarInterface>
  • Returns: A Promise resolving to an AvatarInterface for the organization avatar.

Usage Example:

const organizationAvatar = await sdk.registerOrganization();

5. registerOrganizationV2

Registers the connected wallet as an organization avatar in Circles V2 with profile data.

registerOrganizationV2: (profile: Profile) => Promise<AvatarInterface>
  • Parameters:

    • profile: A Profile object representing the organization’s profile.

  • Returns: A Promise resolving to an AvatarInterface.

Usage Example:

const orgProfile = { name: "OrgName", description: "An example organization." };
const orgAvatarV2 = await sdk.registerOrganizationV2(orgProfile);

6. registerGroupV2

Registers the connected wallet as a group avatar in Circles V2 with profile data.

registerGroupV2: (mint: string, profile: GroupProfile) => Promise<AvatarInterface>
  • Parameters:

    • mint: Address of the minting policy contract.

    • profile: A GroupProfile object containing group information.

  • Returns: A Promise resolving to an AvatarInterface.

Usage Example:

const groupProfile = { name: "GroupName", description: "An example group." };
const groupAvatarV2 = await sdk.registerGroupV2("0xMintAddress", groupProfile);

7. migrateAvatar

Migrates a V1 avatar and its Circles holdings to V2.

migrateAvatar: (avatar: string, profile: Profile, trustRelations?: string[]) => Promise<void>
  • Parameters:

    • avatar: The address of the avatar to migrate.

    • profile: Profile data of the avatar.

    • trustRelations: Optional, a list of trust relations to migrate.

  • Returns: A Promise resolving to void.

Usage Example:

const profile = { name: "John Doe", description: "Human Avatar" };
await sdk.migrateAvatar("0xAvatarAddress", profile);

8. createOrUpdateProfile

Creates or updates a user profile in Circles.

UpdateProfile: (profile: Profile | string) => Promise<ContractTransactionReceipt>
  • Parameters:

    • profile: A Profile object or a CID string pointing to the profile.

  • Returns: A Promise that resolves to a ContractTransactionReceipt.

Usage Example:

const profileData = { name: "John Doe", description: "Developer" };
const receipt = await sdk.createOrUpdateProfile(profileData);

9. migrateV1Tokens

Migrates all V1 token holdings of an avatar to V2.

migrateV1Tokens: (avatar: string, tokens?: string[]) => Promise<void>
  • Parameters:

    • avatar: The avatar whose tokens need to be migrated.

    • tokens: Optional list of token addresses.

  • Returns: A Promise resolving to void.

Usage Example:

await sdk.migrateV1Tokens("0xAvatarAddress");

10. getInflationaryWrapper

Gets an inflationary wrapper for managing tokens.

getInflationaryWrapper: (wrapperAddress: string) => Promise<InflationaryCircles>
  • Parameters:

    • wrapperAddress: Address of the inflationary wrapper contract.

  • Returns: A Promise resolving to InflationaryCircles.

Usage Example:

const inflationaryWrapper = await sdk.getInflationaryWrapper("0xWrapperAddress");

11. getDemurragedWrapped

This function retrieves a demurrage wrapper, which is used to manage tokens that decrease in value over time (demurrage).

getDemurragedWrapper: (wrapperAddress: string) => Promise<DemurrageCircles>

Parameters:

  • wrapperAddress: The address of the demurrage wrapper contract.

Returns : A Promise that resolves to an instance of DemurrageCircles.

Usage Example:

const demurrageWrapper = await sdk.getDemurragedWrapper("0xWrapperAddress");

PreviousCircles SDK interfaceNextCircles Data Methods

Last updated 6 months ago

Was this helpful?