UNPKG

@wasserstoff/tribes-sdk

Version:

SDK for integrating with Tribes by Astrix platform on any EVM compatible chain

98 lines (97 loc) 3.55 kB
import { BaseModule } from '../core/BaseModule'; import { ActionType, AwardPointsParams, BatchAwardPointsParams, CreateTribeTokenParams, DeductPointsParams, ExchangeTokensParams, RecordActionParams, SetActionPointsParams, SetExchangeRateParams, SetTribeOrganizationParams, TopMemberResponse } from '../types/points'; /** * Module for interacting with the point system */ export declare class PointsModule extends BaseModule { /** * Get the point system contract * @param useSigner Whether to use the signer */ private getPointSystemContract; /** * Set the organization that will fund points for a tribe * @param params Parameters for setting the tribe organization */ setTribeOrganization(params: SetTribeOrganizationParams): Promise<string>; /** * Set the exchange rate for a tribe * @param params Parameters for setting the exchange rate */ setExchangeRate(params: SetExchangeRateParams): Promise<string>; /** * Create a new tribe token * @param params Parameters for creating a tribe token */ createTribeToken(params: CreateTribeTokenParams): Promise<string>; /** * Set points for an action type * @param params Parameters for setting action points */ setActionPoints(params: SetActionPointsParams): Promise<string>; /** * Award points to a member * @param params Parameters for awarding points */ awardPoints(params: AwardPointsParams): Promise<string>; /** * Deduct points from a member * @param params Parameters for deducting points */ deductPoints(params: DeductPointsParams): Promise<string>; /** * Record an action performed by a member * @param params Parameters for recording an action */ recordAction(params: RecordActionParams): Promise<string>; /** * Award points to multiple members * @param params Parameters for batch awarding points */ batchAwardPoints(params: BatchAwardPointsParams): Promise<string>; /** * Exchange Astrix tokens for tribe tokens * @param params Parameters for exchanging tokens */ exchangeTokens(params: ExchangeTokensParams): Promise<string>; /** * Get a member's point balance * @param tribeId Tribe ID * @param member Member address */ getMemberPoints(tribeId: number, member: string): Promise<number>; /** * Get the points value for an action * @param tribeId Tribe ID * @param actionType Action type */ getActionPoints(tribeId: number, actionType: ActionType | string): Promise<number>; /** * Get the count of actions performed by a member * @param tribeId Tribe ID * @param member Member address * @param actionType Action type */ getActionCount(tribeId: number, member: string, actionType: ActionType | string): Promise<number>; /** * Get the top members by points * @param tribeId Tribe ID * @param limit Maximum number of members to return */ getTopMembers(tribeId: number, limit?: number): Promise<TopMemberResponse[]>; /** * Get the tribe token address * @param tribeId Tribe ID */ getTribeTokenAddress(tribeId: number): Promise<string>; /** * Get the tribe organization address * @param tribeId Tribe ID */ getTribeOrganization(tribeId: number): Promise<string>; /** * Get the exchange rate for a tribe * @param tribeId Tribe ID */ getExchangeRate(tribeId: number): Promise<number>; }