import { PublicKey, TransactionInstruction } from '@solana/web3.js'; import { BaseAPI } from '../../api/generated/default'; import * as runtime from '../../api/generated/default/runtime'; import { RelayRequest, LaunchCoinRequest, LaunchCoinResponse, FirstBuyQuoteResponse, FirstBuyQuoteRequest, LaunchpadConfigResponse, ClaimFeesRequest, ClaimFeesResponse, ClaimVestedCoinsRequest, ClaimVestedCoinsResponse, SwapCoinQuoteRequest, SwapCoinQuoteResponse, SwapCoinRequest, SwapCoinResponse } from './types'; /** * Client for the Solana Relay Plugin on Discovery. */ export declare class SolanaRelay extends BaseAPI { /** * Public key of the currently selected transaction fee payer * from the selected Discovery Node. */ private feePayer; /** * Gets a random fee payer public key from the selected discovery node's * Solana relay plugin. * * Used when relay transactions don't specify a fee payer override. */ getFeePayer(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Gets a location instruction to be sent along with a transaction. */ getLocationInstruction(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Relays a transaction to the selected discovery node's Solana relay plugin. */ relay(params: RelayRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ signature: string; }>; /** * Launches a new artist coin on the launchpad with bonding curve. * Gets back two transactions to sign and send from the client: * - createPoolTx: Creates the pool and metadata on-chain * - firstBuyTx: Makes an initial purchase of the coin */ launchCoin(params: LaunchCoinRequest): Promise; /** * Confirms pool creation, then creates reward pool and (optionally) executes the first buy. * Receives the createPoolTx and firstBuyTx as base64 encoded VersionedTransactions, fully signed. * Launches the reward pool for the coin. */ confirmLaunchCoin(params: { mintPublicKey: PublicKey; configPublicKey: PublicKey; createPoolTx: Uint8Array; firstBuyTx?: Uint8Array; }): Promise<{ dbcPool: string; createSignature: string; rewardPoolSignature: string; firstBuySignature?: string | undefined; }>; /** * Gets a quote for the first buy transaction on the launchpad. * Returns quotes for SOL to AUDIO, SOL to USDC, and the bonding curve quote. */ getFirstBuyQuote(params: FirstBuyQuoteRequest, requestInitOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Gets launchpad config details such as max input/outut amounts & starting price. * These values only change if we decide to change our launchpad coin launch params. * We pull them from the server just to avoid having to hardcode values in the UI. */ getLaunchpadConfig(requestInitOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Claims creator trading fees from a dynamic bonding curve pool. */ claimFees(params: ClaimFeesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Claims vested/unlocked artist coins from the vesting schedule. * After an artist coin graduates, the artist's reserved coins unlock daily over a 5-year period. */ claimVestedCoins(params: ClaimVestedCoinsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Gets a quote for swapping AUDIO to/from an artist coin using Meteora's DBC. * Returns the expected output amount for a given input amount. */ getSwapCoinQuote(params: SwapCoinQuoteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Creates a swap transaction for swapping AUDIO to/from an artist coin using Meteora's DBC. * Returns a base64-encoded transaction ready to be signed by the user. */ swapCoin(params: SwapCoinRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; }