UNPKG

based-auth

Version:

A Next.js/Node.js authentication and wallet API kit for Ethereum and Solana, with utilities for serialization and contract interaction, designed for serverless and API route usage.

94 lines (93 loc) 2.65 kB
import { Schema, Model, ObjectId } from 'mongoose'; export interface IRouter { _id: ObjectId; baseTokenForPair: string; router: string; positionManager: string; version: number; fee: Schema.Types.Decimal128; per: Schema.Types.Decimal128; pair: string; lpAmount: Schema.Types.Decimal128; isLPBurn: boolean; lpLockUp: number; } export interface IMemeTokenMetaInfo { seo: string; logo: string; banner: string; twitter: string; telegram: string; website: string; protocol: string; subOwner: string; seed: string; description: string; } export interface ITokenInfo { name: string; symbol: string; decimals: number; totalSupply: Schema.Types.Decimal128; } export interface IMemeToken extends Document { id: string; _id?: ObjectId; __v?: number; chainId: number; address: string; packageIndex: number; owner: string; ownerName: string; volume: Schema.Types.Decimal128; reserveToken: Schema.Types.Decimal128; reserveETH: Schema.Types.Decimal128; currentPrice: Schema.Types.Decimal128; currentUSDPrice: bigint; initialETH: Schema.Types.Decimal128; initialToken: Schema.Types.Decimal128; initialPrice: Schema.Types.Decimal128; initialBuyAmount: Schema.Types.Decimal128; isListed: boolean; isListedAt: number; isCancelled: boolean; isCancelledAt: number; isHot: boolean; isHardCapReached: boolean; isHardCapReachedAt: number; isUniswapV3Compatible: boolean; buyRefFee: Schema.Types.Decimal128; sellFee: Schema.Types.Decimal128; buyFee: Schema.Types.Decimal128; hardCap: Schema.Types.Decimal128; softCap: Schema.Types.Decimal128; initialMarketCap: Schema.Types.Decimal128; currentMarketCap: Schema.Types.Decimal128; liqHardCap: Schema.Types.Decimal128; liqSoftCap: Schema.Types.Decimal128; softPercent: Schema.Types.Decimal128; hardPercent: Schema.Types.Decimal128; maxAllocationPerUser: Schema.Types.Decimal128; routers: IRouter[]; metaUri: string; metaInfo: IMemeTokenMetaInfo; metaInfoUpdatedAt: number; isWhitelist: boolean; whitelistId: string; whitelist: string[]; whitelistMerkleRoot: string; maxAllocationPerWhitelistedUser: Schema.Types.Decimal128; whitelistUpdatedAt: number; tokenInfo: ITokenInfo; isXSale: boolean; keyForXSale: string; startTime: Date; endTime: Date; likedBy: { network: string; address: string; }[]; txCount: number; cntComments: number; } export declare const MemeTokenModel: Model<IMemeToken>;