PortfolioHandlers
- development: https://wow3-api.wow3.dev
- production: https://wow3-api.wow3.app
Usage
const kyClient = new KyClieny({
baseUrl: "API_ENDPOINT",
getHeaders: async () => {
const headers = {};
headers["Authorization"] = "YOUR AUTHORIZATION TOKEN";
return headers;
},
});
const portfolioHandlers = new PortfolioHandlers(kyClient);
// follow account
const res = await portfolioHandlers.followAccount(...);
//get user profile
const res = await portfolioHandlers.getProfileDetail({ ... });
// explore more in the interface belowInterface
declare class PortfolioHandlers implements PortfolioBase {
readonly client: KyClient;
constructor(client: KyClient);
getUserERC20Tokens(address: string): APIResponse<UserERC20Token[]>;
getAccountMetadata(address: string): APIResponse<AccountMetadata>;
getDailyNotableAccounts(type: NotableAccountTypes): APIResponse<NotableAccount[]>;
getPublicFollowingByAddress(payload: FollowPayload): APIResponse<{
data: AssociateAccount[];
total: number;
}>;
getPrivateFollowingByAddress(payload: FollowPayload): APIResponse<{
data: AssociateAccount[];
total: number;
}>;
getPublicFollowersByAddress(payload: FollowPayload): APIResponse<{
data: AssociateAccount[];
total: number;
}>;
getPrivateFollowersByAddress(payload: FollowPayload): APIResponse<{
data: AssociateAccount[];
total: number;
}>;
getPublicAccountByAddress(address: string): APIResponse<Account>;
getPrivateAccountByAddress(address: string): APIResponse<Account>;
checkFollow(addresses: string[], chain_id: number): APIResponse<Follow>;
followAccount(address: string, isFollow: boolean): APIResponse<boolean>;
followAccountV2(payload: FollowAccountV2Payload): APIResponse<boolean>;
upsertUserAlias(address: string, alias: string): APIResponse<boolean>;
getProfileDetail(): APIResponse<ProfileDetail>;
getBalanceChangeIn24h(address: string): APIResponse<Balance[]>;
getRoninContractsInfo(): APIResponse<Record<string, Contract>>;
getSummaryAssetsByAddress(address: string): APIResponse<AssetsSummary[]>;
getSummaryAssetsByAddresses(addresses: string[]): APIResponse<SummaryAssetsByAddresses>;
getAssetsByAddress(address: string): APIResponse<Assets>;
getCollectionsByAddress(params: CollectionsAddressPayLoad): APIResponse<NFTCollection[][]>;
getCollectionsPublicByAddress(params: CollectionsAddressPayLoad): APIResponse<NFTCollection[][]>;
getNFTItemsByAddress(params: NFTItemsByAddressPayload): APIResponse<{
total: number;
data: NFTItem[];
}>;
getTokenPriceLog(params: {
time_range: string;
}): APIResponse<PriceLog>;
getMasterDataTokens(): APIResponse<EconomyToken[]>;
getUserNetworth(address: string): APIResponse<UserNetworth>;
getAllBaseCollections(): APIResponse<NFTBaseCollection[]>;
getActivitiesV1ByAddress(payload: GetActivitiesByAddressPayload): APIResponse<{
data: ActivityV1[];
next_cursor: string;
}>;
getLastActivitiesV1ByAddress(address: string): APIResponse<ActivityV1[]>;
getPublicListBundleByAddress(address: string): APIResponse<Bundle[]>;
getPrivateListBundle(): APIResponse<Bundle[]>;
getAssetsByAddresses(addresses: string[]): APIResponse<Assets>;
getNFTDelegationCollectionsByAddresses(addresses: string[]): APIResponse<Record<string, NFTCollection[]>>;
getPublicAssociateAccountsByAddresses(addresses: string[]): APIResponse<AssociateInfo[]>;
getPrivateAssociateAccountsByAddresses(addresses: string[]): APIResponse<AssociateInfo[]>;
createBundle(payload: CreateBundlePayload): APIResponse<Bundle>;
updateBundle(id: string, payload: UpdateBundlePayload): APIResponse<Bundle>;
deleteBundle(id: string): APIResponse<string>;
getPublicBundle(id: string): APIResponse<Bundle>;
getPrivateBundle(id: string): APIResponse<Bundle>;
getNFTDelegationItemsByAddresses(payload: NFTDelegationItemsByAddressesPayload): APIResponse<{
total: number;
data: NFTItem[];
}>;
getNFTCollectionsSummaryByAddress(address: string): APIResponse<NFTCollection[]>;
getCountNFTItems(address: string): APIResponse<number>;
getNFTCollectionsDistributionByAddress(address: string): APIResponse<NFTCollectionsDistribution>;
refreshMetadata(payload: RefreshMetadataPayload): APIResponse<RefreshMetadataResponse>;
syncNFTForOwner(payload: syncNFTForOwnerPayload): APIResponse<string>;
getTONAssetsByAddress(address: string): APIResponse<Assets>;
getTONMasterDataTokens(): APIResponse<TONEconomyToken[]>;
getTONDApps(): APIResponse<TONDApp[]>;
getTONSummaryAssetsByAddress(address: string): APIResponse<AssetsSummary[]>;
getTONTokenPriceLog(params: {
time_range: string;
}): APIResponse<PriceLog>;
getPublicTONAccountByAddress(address: string): APIResponse<Account>;
getPrivateTONAccountByAddress(address: string): APIResponse<Account>;
getTONBalanceChangeIn24h(address: string): APIResponse<Balance[]>;
getTONProfileDetail(): APIResponse<ProfileDetail>;
retrieveAliasByAddress(payload: RetrieveAliasByAddressPayload): APIResponse<RetrieveAlias>;
}