metal-presale
Version:
SDK for Metal Presales - Client and Server utilities
36 lines • 1.56 kB
TypeScript
import { HolderResponse, PortfolioSummary, PresaleResponse } from './client';
interface ClientConfig {
publicApiKey: string;
apiBasePath?: string;
}
/**
* Client-side SDK for Metal Presales
* This class only contains methods that work with the public API key
* and is safe to use in browser environments.
*/
export declare class MetalPresalesClient {
private publicApiKey;
private apiBasePath;
constructor({ publicApiKey, apiBasePath }: ClientConfig);
/**
* Public API methods - these work with just the public key
*/
getHolder(userId: string): Promise<HolderResponse>;
getHolderWithPortfolio(userId: string): Promise<{
holder: HolderResponse;
portfolio: PortfolioSummary;
}>;
getPresale(presaleId: string): Promise<PresaleResponse>;
/**
* Server-proxied methods - these call your API routes
*/
createUser(userId: string): Promise<HolderResponse>;
getActivePresales(): Promise<PresaleResponse[]>;
buyPresale(userId: string, presaleId: string, usdcAmount: number): Promise<any>;
buyTokens(userId: string, tokenAddress: string, usdcAmount: number): Promise<any>;
sellTokens(userId: string, tokenAddress: string, tokenAmount: number): Promise<any>;
quoteBuyTokens(userId: string, tokenAddress: string, usdcAmount: number): Promise<any>;
quoteSellTokens(userId: string, tokenAddress: string, tokenAmount: number): Promise<any>;
}
export type { HolderResponse, PortfolioSummary, PresaleResponse } from './client';
//# sourceMappingURL=client-sdk.d.ts.map