four-flap-meme-sdk
Version:
SDK for Flap bonding curve and four.meme TokenManager
72 lines (71 loc) • 2.16 kB
TypeScript
export type NetworkCode = 'BSC';
export type FourConfig = {
/**
* Four.meme API 基础 URL
*
* 默认使用 Cloudflare Workers 代理(已配置 CORS,可在浏览器中直接使用)
* 如需自定义,可传入自己的代理地址
*/
baseUrl?: string;
};
export type GenerateNonceReq = {
accountAddress: string;
verifyType: 'LOGIN';
networkCode: NetworkCode;
};
export type LoginReq = {
region: 'WEB';
langType: 'EN' | 'ZH';
loginIp?: string;
inviteCode?: string;
verifyInfo: {
address: string;
networkCode: NetworkCode;
signature: string;
verifyType: 'LOGIN';
};
walletName: 'MetaMask' | string;
};
export type CreateTokenReq = {
name: string;
shortName: string;
desc: string;
imgUrl: string;
launchTime: number;
label: 'Meme' | 'AI' | 'Defi' | 'Games' | 'Infra' | 'De-Sci' | 'Social' | 'Depin' | 'Charity' | 'Others';
webUrl?: string;
twitterUrl?: string;
telegramUrl?: string;
preSale: string;
onlyMPC?: boolean;
lpTradingFee: 0.0025;
symbol: 'BNB';
totalSupply: 1000000000;
raisedAmount: 24;
saleRate: 0.8;
reserveRate: 0;
funGroup: false;
clickFun: false;
};
export type CreateTokenResp = {
createArg: string;
signature: string;
tokenAddr?: string;
address?: string;
token?: string;
[key: string]: any;
};
export declare class FourClient {
private baseUrl;
constructor(cfg?: FourConfig);
generateNonce(req: GenerateNonceReq): Promise<string>;
loginDex(body: LoginReq): Promise<string>;
uploadImage(accessToken: string, file: Blob, filename?: string): Promise<string>;
private getFilenameFromBlob;
createToken(accessToken: string, req: CreateTokenReq): Promise<CreateTokenResp>;
getPublicConfig(): Promise<any>;
getTokenByAddress(address: string, accessToken?: string): Promise<any>;
getTokensByAddresses(addresses: string[], accessToken?: string): Promise<any[]>;
getTokenById(id: string | number, accessToken?: string): Promise<any>;
}
export declare function buildLoginMessage(nonce: string): string;