import { PublicKey, TransactionInstruction } from "@solana/web3.js"; import type { PitProgram } from "../program.js"; /** * Parameters for creating a create_market_mints instruction */ interface CreateMarketMintsParams { /** Week number for this market (must be valid u32) */ weekNumber: number; /** Operator's public key (must match hardcoded OPERATOR) */ operator: PublicKey; } /** * Create a create_market_mints instruction * * This instruction creates all 12 mint PDAs for a market. It must be called * BEFORE initialize_market for a given week number. * * The mints are PDA-based, derived from: * seeds = ["mint", week_number (4 bytes LE), pool_type (1 byte), strike_index (1 byte), is_hit (1 byte)] * * After calling this instruction, call initialize_market with the same week_number * and pass the mints as remaining_accounts (use getAllMintAddresses() to get them). * * @param program - Anchor Program instance * @param params - Create market mints parameters * @returns Promise resolving to TransactionInstruction * * @example * ```typescript * import { createProgram, createCreateMarketMintsInstruction, getAllMintAddresses } from "@pit-protocol/sdk"; * * const program = createProgram(provider); * * // Step 1: Create mints * const createMintsIx = await createCreateMarketMintsInstruction(program, { * weekNumber: 2604, * operator: operatorKeypair.publicKey, * }); * const tx1 = new Transaction().add(createMintsIx); * await sendAndConfirmTransaction(connection, tx1, [operatorKeypair]); * * // Step 2: Initialize market (pass mints as remaining_accounts) * const mintPdas = getAllMintAddresses(2604); * // ... create initialize_market instruction with mintPdas * ``` */ export declare function createCreateMarketMintsInstruction(program: PitProgram, params: CreateMarketMintsParams): Promise; export {}; //# sourceMappingURL=createMarketMints.d.ts.map