Skip to content
Last updated

PERS SDK - v2.3.26 / Exports / TokenService

Class: TokenService

Platform-Agnostic Token Service

Contains token business logic and operations that work across platforms. No framework dependencies - pure TypeScript business logic. Matches framework TokenApiService capabilities exactly.

Table of contents

Constructors

Methods

Constructors

constructor

new TokenService(tokenApi): TokenService

Parameters

NameType
tokenApiTokenApi

Returns

TokenService

Defined in

token/services/token-service.ts:25

Methods

getRemoteTokens

getRemoteTokens(options?): Promise<PaginatedResponseDTO<TokenDTO>>

PUBLIC: Get all remote tokens with pagination

Parameters

NameType
options?PaginationOptions

Returns

Promise<PaginatedResponseDTO<TokenDTO>>

Defined in

token/services/token-service.ts:34


getRemoteTokenTypes

getRemoteTokenTypes(options?): Promise<PaginatedResponseDTO<TokenTypeDTO>>

PUBLIC: Get all remote token types with pagination

Parameters

NameType
options?PaginationOptions

Returns

Promise<PaginatedResponseDTO<TokenTypeDTO>>

Defined in

token/services/token-service.ts:41


getRemoteActiveCreditToken

getRemoteActiveCreditToken(): Promise<TokenDTO>

PUBLIC: Get active credit token

Returns

Promise<TokenDTO>

Defined in

token/services/token-service.ts:48


getRemoteRewardTokens

getRemoteRewardTokens(options?): Promise<PaginatedResponseDTO<TokenDTO>>

AUTH: Get reward tokens with pagination

Parameters

NameType
options?PaginationOptions

Returns

Promise<PaginatedResponseDTO<TokenDTO>>

Defined in

token/services/token-service.ts:55


getRemoteStatusTokens

getRemoteStatusTokens(options?): Promise<PaginatedResponseDTO<TokenDTO>>

AUTH: Get status tokens with pagination

Parameters

NameType
options?PaginationOptions

Returns

Promise<PaginatedResponseDTO<TokenDTO>>

Defined in

token/services/token-service.ts:62


getTokenByContractAddress

getTokenByContractAddress(contractAddress, contractTokenId): Promise<TokenDTO>

PUBLIC: Get token by contract address ✅ FIXED: Matches framework parameter types exactly

Parameters

NameType
contractAddressstring
contractTokenIdnull | string

Returns

Promise<TokenDTO>

Defined in

token/services/token-service.ts:70


getTokenMetadata

getTokenMetadata(options?): Promise<PaginatedResponseDTO<TokenMetadataDTO>>

Get all token metadata with filtering, pagination, and include relations

Useful for displaying rewards (ERC1155) or stamps (ERC721) in tables. Non-admin users always get active metadata only.

Parameters

NameTypeDescription
options?TokenMetadataQueryParamsFilter, pagination, and include options

Returns

Promise<PaginatedResponseDTO<TokenMetadataDTO>>

Paginated response with token metadata

Example

const rewards = await tokenService.getTokenMetadata({
  tokenType: 'ERC1155',
  include: ['mintCount', 'burnCount', 'token']
});

Defined in

token/services/token-service.ts:91


getRewards

getRewards(options?): Promise<PaginatedResponseDTO<TokenMetadataDTO>>

Get rewards (ERC1155 token metadata) with filtering, pagination, and include relations

Convenience method for fetching reward metadata.

Parameters

NameTypeDescription
options?RewardsFilterOptionsFilter, pagination, and include options (tokenType is set automatically)

Returns

Promise<PaginatedResponseDTO<TokenMetadataDTO>>

Paginated response with reward metadata

Example

const rewards = await tokenService.getRewards({
  include: ['mintCount', 'burnCount', 'token', 'ownerBusiness']
});

Defined in

token/services/token-service.ts:110


getStamps

getStamps(options?): Promise<PaginatedResponseDTO<TokenMetadataDTO>>

Get stamps (ERC721 token metadata) with filtering, pagination, and include relations

Convenience method for fetching stamp metadata.

Parameters

NameTypeDescription
options?StampsFilterOptionsFilter, pagination, and include options (tokenType is set automatically)

Returns

Promise<PaginatedResponseDTO<TokenMetadataDTO>>

Paginated response with stamp metadata

Example

const stamps = await tokenService.getStamps({
  include: ['mintCount', 'burnCount', 'token', 'ownerBusiness']
});

Defined in

token/services/token-service.ts:129


createTokenMetadata

createTokenMetadata(tokenId, tokenData): Promise<TokenDTO>

ADMIN: Create token metadata

Parameters

NameType
tokenIdstring
tokenDataTokenMetadataCreateRequestDTO

Returns

Promise<TokenDTO>

Defined in

token/services/token-service.ts:140


updateTokenMetadata

updateTokenMetadata(metadataId, tokenData): Promise<TokenMetadataDTO>

ADMIN: Update token metadata (ERC721 only) Note: Existing minted NFTs retain their original metadata - this only affects future mints

Parameters

NameType
metadataIdstring
tokenDataTokenMetadataCreateRequestDTO

Returns

Promise<TokenMetadataDTO>

Defined in

token/services/token-service.ts:148


toggleTokenActive

toggleTokenActive(tokenId): Promise<TokenDTO>

ADMIN: Toggle token active status

Parameters

NameType
tokenIdstring

Returns

Promise<TokenDTO>

Defined in

token/services/token-service.ts:155


createToken

createToken(tokenData): Promise<TokenDTO>

ADMIN: Create new token

Parameters

NameType
tokenDataTokenCreateRequestDTO

Returns

Promise<TokenDTO>

Defined in

token/services/token-service.ts:162


updateToken

updateToken(tokenId, tokenData): Promise<TokenDTO>

ADMIN: Update token

Parameters

NameType
tokenIdstring
tokenDataTokenUpdateRequestDTO

Returns

Promise<TokenDTO>

Defined in

token/services/token-service.ts:169


setMainnetContract

setMainnetContract(tokenId, contractAddress, chainId): Promise<TokenDTO>

ADMIN: Set mainnet contract address

Parameters

NameType
tokenIdstring
contractAddressstring
chainIdnumber

Returns

Promise<TokenDTO>

Defined in

token/services/token-service.ts:176


toggleTokenMetadataStatus

toggleTokenMetadataStatus(metadataId): Promise<TokenMetadataDTO>

ADMIN: Toggle token metadata status

Parameters

NameType
metadataIdstring

Returns

Promise<TokenMetadataDTO>

Defined in

token/services/token-service.ts:183


createTokenType

createTokenType(tokenType): Promise<TokenTypeDTO>

ADMIN: Create token type

Parameters

NameType
tokenTypeTokenTypeDTO

Returns

Promise<TokenTypeDTO>

Defined in

token/services/token-service.ts:190


deleteTokenMetadata

deleteTokenMetadata(metadataId): Promise<void>

ADMIN: Delete token metadata (soft delete)

Soft deletes token metadata. Will fail if metadata is in use.

Parameters

NameTypeDescription
metadataIdstringID of the token metadata to delete

Returns

Promise<void>

Throws

409 Conflict if metadata is in use by campaigns/redemptions

Defined in

token/services/token-service.ts:202


exportMetadataCSV

exportMetadataCSV(options?): Promise<Blob>

ADMIN: Export token metadata to CSV

Returns a CSV file containing all token metadata for the tenant. Supports date range filtering.

Parameters

NameTypeDescription
options?ObjectExport options (dateFrom, dateTo)
options.dateFrom?string-
options.dateTo?string-

Returns

Promise<Blob>

Promise resolving to CSV blob

Throws

When not authenticated as tenant admin

Defined in

token/services/token-service.ts:220