python-proxy-scraper-client
Version:
A TypeScript client for interacting with a Python proxy scraper service
163 lines (162 loc) • 4 kB
TypeScript
export interface SolscanTokenInfo {
icon: string;
token_icon_alternative: string | null;
tokenScores: {
lifetimeScore: number;
engagementScore: number;
volatilityScore: number;
liquidityScore: number;
tokenScore: number;
updatedTime: number;
};
decimals: number;
tokenAuthority: string | null;
freezeAuthority: string | null;
supply: string;
ownExtensions: {
coingeckoId?: string;
discord?: string;
medium?: string;
telegram?: string;
twitter?: string;
website?: string;
description?: string;
coinMarketcapId?: string;
};
syncSetting: {
isForceSync: string;
disableAutoSync: string;
syncCirSupply: string;
};
disable_show_origin_icon: number;
notification_type: string;
notification_text: string;
created_tx: string;
created_time: number;
creator: string;
first_mint_tx: string;
first_mint_time: number;
type: string;
}
export interface SolscanCreator {
address: string;
verified: number;
share: number;
}
export interface SolscanTokenData {
name: string;
symbol: string;
uri: string;
sellerFeeBasisPoints: number;
creators: SolscanCreator[];
}
export interface SolscanMetadata {
key: number;
updateAuthority: string;
mint: string;
data: SolscanTokenData;
primarySaleHappened: number;
isMutable: number;
editionNonce: number;
tokenStandard: number;
}
export interface SolscanTokenLabel {
token_address: string;
token_name: string;
token_symbol: string;
token_icon: string;
}
export interface SolscanTokenValueData {
address: string;
tokenAddress: string;
amount: number;
decimals: number;
owner: string;
priceUsdt: number;
tokenName: string;
tokenSymbol: string;
tokenIcon: string;
tokenType: string;
balance: number;
value: number;
}
export interface SolscanToken {
token_address: string;
token_name: string;
token_symbol: string;
token_icon: string;
token_decimals: number;
token_type: string;
price_usdt?: number;
reputation?: string;
is_show_value: boolean;
is_calculate_on_portfolio: boolean;
is_show_icon: boolean;
token_icon_alternative: string | null;
token_label?: SolscanTokenLabel;
}
export interface SolscanAccount {
account_address: string;
account_tags: string[];
account_type: string;
account_label?: string;
account_icon?: string;
}
export interface SolscanTag {
name: string;
description: string;
icon: string;
}
export interface SolscanAccountData {
account: string;
lamports: number;
ownerProgram: string;
type: string;
rentEpoch: number;
executable: boolean;
isOnCurve: boolean;
space: number;
notifications: {
tags: Record<string, SolscanTag>;
};
tokenInfo: SolscanTokenInfo;
metadata: SolscanMetadata;
}
export interface SolscanMetadataResponse {
tokens: Record<string, SolscanToken>;
accounts: Record<string, SolscanAccount>;
tags: {
jupiter?: {
name: string;
description: string;
icon: string;
};
memecoin?: {
name: string;
description: string;
icon: string;
};
'pump.fun'?: {
name: string;
description: string;
icon: string;
};
};
programs: Record<string, any>;
nftCollections: Record<string, any>;
nftMarketplaces: Record<string, any>;
}
export interface SolscanGetAccountResponse {
success: boolean;
data: SolscanAccountData;
metadata: SolscanMetadataResponse;
}
export interface SolscanGetAccountTokensResponse {
success: boolean;
data: {
data_type: string;
tokens: SolscanTokenValueData[];
count: number;
};
metadata: SolscanMetadataResponse;
}