metal-presale
Version:
SDK for Metal Presales - Client and Server utilities
74 lines • 1.98 kB
TypeScript
export interface TokenLikeItem {
id: string;
address: string;
name: string;
symbol: string;
balance: number;
value: number;
status?: 'active' | 'locked' | 'pending' | 'completed';
unlockDate?: string | Date;
type: 'token' | 'presale' | 'lock';
metadata?: {
presaleId?: string;
progress?: number;
endDate?: string | Date;
};
}
export interface HolderResponse {
id: string;
address: `0x${string}`;
tokens: TokenLikeItem[];
presales: TokenLikeItem[];
locks: TokenLikeItem[];
totalValue: number;
}
export interface PortfolioSummary {
totalValue: number;
buyingPower: number;
holdings: number;
vaulted: number;
presaleValue: number;
tokens: TokenLikeItem[];
presales: TokenLikeItem[];
vaults: TokenLikeItem[];
}
export declare function getHolder(userId: string, publicKey: string): Promise<HolderResponse>;
export interface PresaleResponse {
signerId: string;
orgId: string;
id: string;
name: string;
description: string;
startTimestamp: number;
endTimestamp: number;
presalePrice: number;
targetUsdcAmount: number;
purchasedUsdcAmount: number;
chainId: 8453;
status: "pending" | "active" | "completed" | "ended";
participants: object[];
tokenInfo: {
name: string;
symbol: string;
imageUrl: string;
metadata?: {
description?: string;
telegramLink?: string;
websiteLink?: string;
xLink?: string;
farcasterLink?: string;
};
};
tokenDeploymentInfo: {
tokenAddress: string;
hash: string;
};
presaleInfo: {
distributed: boolean;
distributeTxHash: string | undefined;
};
createdAt: string;
updatedAt: string;
}
export declare function getPresale(presaleId: string, publicKey: string): Promise<PresaleResponse>;
//# sourceMappingURL=client.d.ts.map