UNPKG

@flipflop-sdk/tools

Version:

[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/flipflop-fun/sdk) [![npm version](https://badge.fury.io/js/%40flipflop-sdk%2Ftools.svg)](https://badge.fury.io/js/%40flipflop-sdk%2Ftools) [![License: MIT](https://img.shields.io/badge

156 lines (143 loc) 3.87 kB
import { BN } from "@coral-xyz/anchor"; import { AnchorWallet } from "@solana/wallet-adapter-react"; import { Connection, PublicKey } from "@solana/web3.js"; export type ResponseData = { success: boolean; message?: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any data?: any; } export type RemainingAccount = { pubkey: PublicKey, isSigner: boolean, isWritable: boolean } export type SuccessResponseData = { publicKey: string, tokenAccount: string, wsolAccount: string, tx: string, tokenUrl: string, } export type ConfigData = { admin: PublicKey, feeRate: BN, mintSizeEpoch: BN, } // export type InitiazlizedTokenData = { // id: string; // txId: string; // admin: string; // tokenId: string; // mint: string; // configAccount: string; // metadataAccount: string; // tokenVault: string; // timestamp: string; // status: number; // metadataTimestamp: string; // valueManager: string; // wsolVault: string; // graduateEpoch: string; // // TokenMetadata // tokenName: string; // tokenSymbol: string; // tokenUri: string; // // TokenMintState // supply: string; // currentEra: string; // currentEpoch: string; // elapsedSecondsEpoch: string; // startTimestampEpoch: string; // lastDifficultyCoefficientEpoch: string; // difficultyCoefficientEpoch: string; // mintSizeEpoch: string; // quantityMintedEpoch: string; // targetMintSizeEpoch: string; // totalMintFee: string; // totalReferrerFee: string; // totalTokens: string; // // InitializeTokenConfigData // targetEras: string; // epochesPerEra: string; // targetSecondsPerEpoch: string; // reduceRatio: string; // initialMintSize: string; // initialTargetMintSizePerEpoch: string; // feeRate: string; // liquidityTokensRatio: string; // startTimestamp: string; // tokenMetadata?: TokenMetadataIPFS; // } export type TokenMetadataIPFS = { name?: string; symbol?: string; image?: string; header?: string; description?: string; extensions?: TokenMetadataExtensions; attributes?: string[]; } export type TokenMetadataExtensions = { twitter?: string; discord?: string; website?: string; github?: string; medium?: string; telegram?: string; } export type MintButtonProps = { network: keyof NetworkConfigs; rpc: string; mintAddress: string; urcCode: string; wallet: AnchorWallet; connection: Connection; showRefundButton: boolean; showUrcButton: boolean; mintButtonTitle?: string; mintButtonStyle?: Object; refundButtonStyle?: Object; refundButtonTitle?: string; informationStyle?: Object; generateURCStyle?: Object; flipflopLogoStyle?: Object; onMintStart?: () => void; onMintError?: (error: string) => void; onMintSuccess?: (data: SuccessResponseData) => void; onRefundStart?: () => void; onRefundError?: (error: string) => void; onRefundSuccess?: (data: SuccessResponseData) => void; }; export type RefundButtonProps = { network: keyof NetworkConfigs; mintAddress: string; wallet: AnchorWallet; connection: Connection; tokenInfo: {tokenName: string, tokenSymbol: string}; buttonTitle?: string; buttonStyle?: Object; informationStyle?: Object; generateURCStyle?: Object; flipflopLogoStyle?: Object; onStart?: () => void; onError?: (error: string) => void; onSuccess?: (data: SuccessResponseData) => void; }; export interface NetworkConfig { programId: string, // solanaRpc: string; frontendUrl: string; systemDeployer: PublicKey; protocolFeeAccount: PublicKey; allowOwnerOffCurveForProtocolFeeAccount: boolean; tokenMetadataProgramId: PublicKey; cpSwapProgram: PublicKey; cpSwapConfigAddress: PublicKey; createPoolFeeReceive: PublicKey; addressLookupTableAddress: PublicKey; } export interface NetworkConfigs { devnet: NetworkConfig; mainnet: NetworkConfig; }