UNPKG

@bagsfm/bags-sdk

Version:

TypeScript SDK for Bags

226 lines 6.86 kB
import type { BlockhashWithExpiryBlockHeight, PublicKey } from '@solana/web3.js'; type BagsSuccessApiResponse<T> = { success: true; response: T; }; type BagsErrorApiResponse = { success: false; error: string; }; export type BagsApiResponse<T> = BagsSuccessApiResponse<T> | BagsErrorApiResponse; export interface TransactionConfigApiResponse { tx: string | null; configKey: string; } export interface FeeShareTransactionConfigApiResponse { tx: string; configKey: string; } interface ClaimTransactionResult { tx: string; blockhash: BlockhashWithExpiryBlockHeight; } export type ClaimTransactionApiResponse = Array<ClaimTransactionResult>; export type GetPoolConfigKeyByFeeClaimerVaultApiResponse = { poolConfigKeys: Array<string>; }; export declare const VALID_SOCIAL_PROVIDERS: readonly ["apple", "google", "email", "solana", "twitter", "tiktok", "kick", "instagram", "onlyfans", "github"]; export declare const SUPPORTED_LAUNCH_SOCIAL_PROVIDERS: readonly ["twitter", "tiktok", "kick", "github"]; export type SocialProvider = (typeof VALID_SOCIAL_PROVIDERS)[number]; export type SupportedSocialProvider = (typeof SUPPORTED_LAUNCH_SOCIAL_PROVIDERS)[number]; export interface TokenLaunchCreator { username: string; pfp: string; royaltyBps: number; isCreator: boolean; wallet: string; provider: SocialProvider | 'unknown' | null; providerUsername: string | null; twitterUsername?: string; bagsUsername?: string; isAdmin?: boolean; } export interface BagsSocialProviderUserData { id: string; username: string; display_name: string; avatar_url: string; } export type BagsGetFeeShareWalletV2Response<WalletType = string> = { provider: SocialProvider; platformData: BagsSocialProviderUserData; wallet: WalletType; }; export type BagsGetFeeShareWalletV2State = BagsGetFeeShareWalletV2Response<PublicKey>; export type TransactionTipConfig = { tipWallet: PublicKey; tipLamports: number; }; export type BagsFeeClaimer = { user: PublicKey; userBps: number; }; export declare const BAGS_CONFIG_TYPE: { readonly DEFAULT: "fa29606e-5e48-4c37-827f-4b03d58ee23d"; readonly BPS25PRE_BPS100POST_5000_COMPOUNDING: "d16d3585-6488-4a6c-9a6f-e6c39ca0fda3"; readonly BPS100PRE_BPS25POST_5000_COMPOUNDING: "a7c8e1f2-3d4b-5a6c-9e0f-1b2c3d4e5f6a"; readonly BPS1000PRE_BPS1000POST_5000_COMPOUNDING: "48e26d2f-0a9d-4625-a3cc-c3987d874b9e"; }; export type BagsGetOrCreateFeeShareConfigArgs = { feeClaimers: Array<BagsFeeClaimer>; payer: PublicKey; baseMint: PublicKey; partner?: PublicKey; partnerConfig?: PublicKey; additionalLookupTables?: Array<PublicKey>; admin?: PublicKey; bagsConfigType?: (typeof BAGS_CONFIG_TYPE)[keyof typeof BAGS_CONFIG_TYPE]; }; export type TransactionWithBlockhash = { transaction: string; blockhash: BlockhashWithExpiryBlockHeight; }; export type PartnerConfigClaimStatsResponse = { claimedFees: string; unclaimedFees: string; }; export type TokenLaunchCreatorV3WithClaimStats = TokenLaunchCreator & { totalClaimed: string; }; export type GetTokenClaimStatsV2Response = { success: true; response: Array<TokenLaunchCreatorV3WithClaimStats>; }; export type GetLaunchWalletV2BulkRequestItem = { username: string; provider: SupportedSocialProvider; }; export type BagsGetFeeShareWalletV2BulkResponseItem = { username: string; provider: BagsGetFeeShareWalletV2Response['provider']; platformData: BagsGetFeeShareWalletV2Response['platformData'] | null; wallet: string | null; }; export type BagsGetFeeShareWalletV2BulkStateItem = { username: string; provider: BagsGetFeeShareWalletV2State['provider']; platformData: BagsGetFeeShareWalletV2State['platformData'] | null; wallet: BagsGetFeeShareWalletV2State['wallet'] | null; }; export type TokenClaimEvent = { wallet: string; isCreator: boolean; amount: string; signature: string; timestamp: number; }; export type GetTokenClaimEventsSuccessResponse = { events: Array<TokenClaimEvent>; }; export interface JupiterTokenFirstPool { id: string; createdAt: string; } export interface JupiterTokenAudit { topHoldersPercentage?: number; highSingleOwnership?: boolean; blockaidHoneypot?: boolean; mintAuthorityDisabled?: boolean; freezeAuthorityDisabled?: boolean; devMigrations?: number; blockaidRugpull?: boolean; blockaidWashTrading?: boolean; blockaidHiddenKeyHolder?: boolean; } export interface JupiterTokenStats { priceChange?: number; holderChange?: number; liquidityChange?: number; volumeChange?: number; buyVolume?: number; sellVolume?: number; buyOrganicVolume?: number; sellOrganicVolume?: number; numBuys?: number; numSells?: number; numTraders?: number; numOrganicBuyers?: number; numNetBuyers?: number; } export interface JupiterToken { id: string; name: string; symbol: string; icon: string; decimals: number; twitter?: string; website?: string; telegram?: string; dev: string; circSupply: number; totalSupply: number; tokenProgram: string; launchpad?: string; metaLaunchpad?: string; partnerConfig?: string; mintAuthority?: string; freezeAuthority?: string; firstPool: JupiterTokenFirstPool; graduatedPool?: string; graduatedAt?: string; holderCount: number; audit: JupiterTokenAudit; organicScore: number; organicScoreLabel: string; tags: string[]; fdv: number; mcap: number; usdPrice: number; priceBlockId: number; liquidity: number; stats5m?: JupiterTokenStats; stats1h?: JupiterTokenStats; stats6h?: JupiterTokenStats; stats24h?: JupiterTokenStats; bondingCurve?: number; ctLikes?: number; smartCtLikes?: number; updatedAt: string; } export type TokenAmount = { amount: string; decimals: number; uiAmount: number | null; uiAmountString?: string; }; export type TokenLatestPrice = { price: number; priceUSD: number; priceSOL: number; volumeUSD: number; volumeSOL: number; tokenAddress: string; blockTime: string; }; export type BagsTokenLeaderBoardItem = { token: string; lifetimeFees: string; tokenInfo: JupiterToken | null; creators: Array<TokenLaunchCreator> | null; tokenSupply: TokenAmount | null; tokenLatestPrice: TokenLatestPrice | null; }; export type TransferFeeShareAdminParams = { baseMint: PublicKey; currentAdmin: PublicKey; newAdmin: PublicKey; payer: PublicKey; }; export type UpdateFeeShareConfigParams = { feeClaimers: Array<BagsFeeClaimer>; payer: PublicKey; baseMint: PublicKey; additionalLookupTables?: Array<PublicKey>; }; export {}; //# sourceMappingURL=api.d.ts.map