@wasserstoff/tribes-sdk
Version:
SDK for integrating with Tribes by Astrix platform on any EVM compatible chain
98 lines (97 loc) • 3.55 kB
TypeScript
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>;
}