import { PublicKey, Transaction, TransactionInstruction } from "@solana/web3.js"; import { InitializeParams, CreateMarketParams, AddDepositMintParams, BuildDepositParams, BuildMergeParams, SettleMarketParams, RedeemWinningsParams, WithdrawFromPositionParams, ActivateMarketParams, MatchOrdersMultiParams, SetAuthorityParams, SetManagerParams, CreateOrderbookParams, WhitelistDepositTokenParams, DepositToGlobalParams, DepositToGlobalAltContext, GlobalToMarketDepositParams, InitPositionTokensParams, ExtendPositionTokensParams, DepositAndSwapParams, WithdrawFromGlobalParams, ClosePositionAltParams, CloseOrderStatusParams, ClosePositionTokenAccountsParams, CloseOrderbookAltParams, CloseOrderbookParams, SignedOrder, ConditionalMetadataParams, SetFeeReceiverParams, SetMarketFeesParams } from "./types"; /** * Build Initialize instruction * Creates the exchange account (singleton) * * Accounts: * 0. authority (signer, mut) - Initial admin * 1. exchange (mut) - Exchange PDA * 2. system_program (readonly) * * Data: [discriminator (1 byte)] */ export declare function buildInitializeIx(params: InitializeParams, programId?: PublicKey): TransactionInstruction; /** * Build CreateMarket instruction * Creates a new market in Pending status * * Accounts: * 0. manager (signer, mut) - Must be exchange manager * 1. exchange (mut) - Exchange PDA * 2. market (mut) - Market PDA * 3. system_program (readonly) * 4. condition_tombstone (mut) - Condition uniqueness PDA * * Data: [discriminator, num_outcomes (u8), oracle (32), question_id (32), maker_fee_bps (i16), taker_fee_bps (i16)] */ export declare function buildCreateMarketIx(params: CreateMarketParams, marketId: bigint, programId?: PublicKey): TransactionInstruction; /** * Build AddDepositMint instruction * * Accounts: * 0. manager (signer) * 1. exchange * 2. market * 3. deposit_mint * 4. vault * 5. mint_authority * 6. token_program (SPL Token) * 7. system_program * 8. global_deposit_token * 9+ conditional_mints[0..num_outcomes] * * Data: [discriminator] */ export declare function buildAddDepositMintIx(params: AddDepositMintParams, market: PublicKey, numOutcomes: number, programId?: PublicKey): TransactionInstruction; /** * Build MintCompleteSet instruction * * Accounts: * 0. user (signer) * 1. exchange * 2. market * 3. deposit_mint * 4. vault * 5. user_deposit_ata * 6. position * 7. mint_authority * 8. token_program * 9. associated_token_program * 10. system_program * Remaining: [conditional_mint[i], position_conditional_ata[i]] * * Data: [discriminator, amount (u64)] */ export declare function buildDepositIx(params: BuildDepositParams, numOutcomes: number, programId?: PublicKey): TransactionInstruction; /** * Build MergeCompleteSet instruction * * Accounts: * 0. user (signer) * 1. exchange * 2. market * 3. deposit_mint * 4. vault * 5. position * 6. user_deposit_ata * 7. mint_authority * 8. token_program * Remaining: [conditional_mint[i], position_conditional_ata[i]] * * Data: [discriminator, amount (u64)] */ export declare function buildMergeIx(params: BuildMergeParams, numOutcomes: number, programId?: PublicKey): TransactionInstruction; /** * Build CancelOrder instruction * * Accounts: * 0. operator (signer, mut) * 1. exchange (readonly) * 2. market (readonly) * 3. order_status (mut) * * Data: [discriminator, order_hash (32), signed_order (233)] */ export declare function buildCancelOrderIx(operator: PublicKey, market: PublicKey, order: SignedOrder, programId?: PublicKey): TransactionInstruction; /** * Build IncrementNonce instruction * * Accounts: * 0. user (signer, mut) * 1. user_nonce (mut) * 2. system_program (readonly) * 3. exchange (readonly) * * Data: [discriminator] */ export declare function buildIncrementNonceIx(user: PublicKey, programId?: PublicKey): TransactionInstruction; /** * Build SettleMarket instruction * * Accounts: * 0. oracle (signer) * 1. exchange (readonly) * 2. market (mut) * * Data: [discriminator, payout_numerator_0 (u32), ...] */ export declare function buildSettleMarketIx(params: SettleMarketParams, programId?: PublicKey): TransactionInstruction; /** * Build RedeemWinnings instruction * * Accounts: * 0. user (signer) * 1. market * 2. deposit_mint * 3. vault * 4. winning_conditional_mint * 5. position * 6. position_conditional_ata * 7. user_deposit_ata * 8. mint_authority * 9. token_program * 10. exchange * * Data: [discriminator, amount (u64), outcome_index (u8)] */ export declare function buildRedeemWinningsIx(params: RedeemWinningsParams, outcomeIndex: number, programId?: PublicKey): TransactionInstruction; /** * Build SetPaused instruction * * Accounts: * 0. authority (signer) * 1. exchange (mut) * * Data: [discriminator, paused (u8)] */ export declare function buildSetPausedIx(authority: PublicKey, paused: boolean, programId?: PublicKey): TransactionInstruction; /** * Build SetOperator instruction * * Accounts: * 0. authority (signer) * 1. exchange (mut) * * Data: [discriminator, new_operator (32)] */ export declare function buildSetOperatorIx(authority: PublicKey, newOperator: PublicKey, programId?: PublicKey): TransactionInstruction; /** * Build WithdrawFromPosition instruction * * Accounts: * 0. user (signer, mut) * 1. market (readonly) * 2. position (mut) * 3. mint (readonly) * 4. position_ata (mut) * 5. user_ata (mut) * 6. token_program (readonly) * 7. exchange (readonly) * * Data: [discriminator, amount (u64), outcome_index (u8)] */ export declare function buildWithdrawFromPositionIx(params: WithdrawFromPositionParams, programId?: PublicKey): TransactionInstruction; /** * Build ActivateMarket instruction * * Accounts: * 0. manager (signer) * 1. exchange (readonly) * 2. market (mut) * * Data: [discriminator] */ export declare function buildActivateMarketIx(params: ActivateMarketParams, programId?: PublicKey): TransactionInstruction; /** * Build MatchOrdersMulti instruction * * Dynamic accounts based on full_fill_bitmask: * 0. operator (signer) * 1. exchange (readonly) * 2. market (readonly) * 3. orderbook (readonly) * [taker_order_status if bit7=0] (mut) * taker_nonce (readonly) * taker_position (mut) * base_mint (readonly) * quote_mint (readonly) * taker_base_ata (mut) * taker_quote_ata (mut) * token_program (readonly) * system_program (readonly) * fee_receiver_quote_ata (mut) * Per maker: * [maker_order_status if bit_i=0] (mut) * maker_nonce (readonly) * maker_position (mut) * maker_base_ata (mut) * maker_quote_ata (mut) * * Data: * [0] discriminator * [1..38] taker Order (37 bytes) * [38..102] taker_signature (64 bytes) * [102] num_makers * [103] full_fill_bitmask * Per maker (117 bytes): * [+0..+37] maker Order (37) * [+37..+101] maker_signature (64) * [+101..+109] maker_fill_amount (8) * [+109..+117] taker_fill_amount (8) */ export declare function buildMatchOrdersMultiIx(params: MatchOrdersMultiParams, programId?: PublicKey): TransactionInstruction; /** * Build SetAuthority instruction * * Accounts: * 0. authority (signer) * 1. exchange (mut) * * Data: [discriminator, new_authority (32)] */ export declare function buildSetAuthorityIx(params: SetAuthorityParams, programId?: PublicKey): TransactionInstruction; /** * Build CreateOrderbook instruction * * Accounts: * 0. manager (signer, mut) * 1. market (readonly) * 2. mint_a (readonly, canonical order) * 3. mint_b (readonly, canonical order) * 4. orderbook (mut) * 5. lookup_table (mut) * 6. exchange (readonly) * 7. alt_program (readonly) * 8. system_program (readonly) * 9. mint_a_deposit_mint (readonly, canonical order) * 10. mint_b_deposit_mint (readonly, canonical order) * 11. token_program * 12. associated_token_program * 13. fee_receiver * 14. fee_receiver_quote_ata * * Data: [discriminator, recent_slot (u64), base_index (u8), mint_a_outcome_index (u8), mint_b_outcome_index (u8)] */ export declare function buildCreateOrderbookIx(params: CreateOrderbookParams, programId?: PublicKey): TransactionInstruction; /** * Build SetManager instruction * * Accounts: * 0. authority (signer) * 1. exchange (mut) * * Data: [discriminator, new_manager (32)] */ export declare function buildSetManagerIx(params: SetManagerParams, programId?: PublicKey): TransactionInstruction; /** * Build SetMarketFees instruction. */ export declare function buildSetMarketFeesIx(params: SetMarketFeesParams, programId?: PublicKey): TransactionInstruction; /** * Build SetFeeReceiver instruction. */ export declare function buildSetFeeReceiverIx(params: SetFeeReceiverParams, programId?: PublicKey): TransactionInstruction; export declare function buildCreateConditionalMetadataIx(params: ConditionalMetadataParams, programId?: PublicKey): TransactionInstruction; export declare function buildUpdateConditionalMetadataIx(params: ConditionalMetadataParams, programId?: PublicKey): TransactionInstruction; /** * Build WhitelistDepositToken instruction * * Accounts: * 0. authority (signer, mut) * 1. exchange (readonly) * 2. mint (readonly) * 3. global_deposit_token (mut) * 4. system_program (readonly) * * Data: [discriminator] */ export declare function buildWhitelistDepositTokenIx(params: WhitelistDepositTokenParams, programId?: PublicKey): TransactionInstruction; /** * Build DepositToGlobal instruction * * Accounts: * 0. user (signer, mut) * 1. global_deposit_token (readonly) * 2. mint (readonly) * 3. user_global_deposit (mut) * 4. user_token_account (mut) * 5. token_program (readonly) * 6. system_program (readonly) * 7. exchange (readonly) * Optional ALT accounts: * 8. user_nonce (readonly) * 9. lookup_table (mut) * 10. alt_program (readonly) * * Data: [discriminator, amount (u64), recent_slot (u64 if creating ALT)] */ export declare function buildDepositToGlobalIx(params: DepositToGlobalParams, programId?: PublicKey): TransactionInstruction; /** * Build DepositToGlobal instruction with user deposit ALT create/extend accounts. */ export declare function buildDepositToGlobalIxWithAlt(params: DepositToGlobalParams, altContext: DepositToGlobalAltContext, programId?: PublicKey): TransactionInstruction; /** * Build GlobalToMarketDeposit instruction * * Accounts: * 0. user (signer, mut) * 1. exchange (readonly) * 2. market (readonly) * 3. deposit_mint (readonly) * 4. vault (mut) * 5. global_deposit_token (readonly) * 6. user_global_deposit (mut) * 7. position (mut) * 8. mint_authority (readonly) * 9. token_program (readonly) * 10. ata_program (readonly) * 11. system_program (readonly) * + per outcome: conditional_mint[i] (mut), position_conditional_ata[i] (mut) * * Data: [discriminator, amount (u64)] */ export declare function buildGlobalToMarketDepositIx(params: GlobalToMarketDepositParams, numOutcomes: number, programId?: PublicKey): TransactionInstruction; /** * Build InitPositionTokens instruction * * Accounts: * 0. payer (signer, mut) * 1. user (readonly) * 2. exchange (readonly) * 3. market (readonly) * 4. position (mut) * 5. lookup_table (mut) * 6. mint_authority (readonly) * 7. token_program (readonly) * 8. ata_program (readonly) * 9. alt_program (readonly) * 10. system_program (readonly) * + per deposit_mint: deposit_mint, vault, gdt, conditional_mint/position_ata pairs * * Data: [discriminator, recent_slot (u64)] */ export declare function buildInitPositionTokensIx(params: InitPositionTokensParams, numOutcomes: number, programId?: PublicKey): TransactionInstruction; /** * Build ExtendPositionTokens instruction * * Operator-only. Extends an existing position's lookup table after a market * adds new deposit mints. * * Accounts: * 0. operator (signer, mut) * 1. user (readonly) * 2. exchange (readonly) * 3. market (readonly) * 4. position (readonly) * 5. lookup_table (mut) * 6. token_program (readonly) * 7. ata_program (readonly) * 8. alt_program (readonly) * 9. system_program (readonly) * Per deposit_mint: * deposit_mint (readonly), vault (readonly), gdt (readonly), * per outcome: conditional_mint (readonly), position_ata (mut) * * Data: [discriminator, num_deposit_mints (u8)] */ export declare function buildExtendPositionTokensIx(params: ExtendPositionTokensParams, numOutcomes: number, programId?: PublicKey): TransactionInstruction; /** * Build DepositAndSwap instruction. * Supports a mix of global deposits and token swaps in a single instruction. */ export declare function buildDepositAndSwapIx(params: DepositAndSwapParams, programId?: PublicKey): TransactionInstruction; /** * Build WithdrawFromGlobal instruction * * Accounts: * 0. user (signer, mut) * 1. global_deposit_token (readonly) - PDA ["global_deposit", mint] * 2. mint (readonly) * 3. user_global_deposit (mut) - PDA ["global_deposit", user, mint] * 4. user_token_account (mut) - user's ATA for mint * 5. token_program (readonly) * 6. exchange (readonly) * * Data: [discriminator, amount (u64)] */ export declare function buildWithdrawFromGlobalIx(params: WithdrawFromGlobalParams, programId?: PublicKey): TransactionInstruction; /** * Build ClosePositionAlt instruction * * Accounts: * 0. operator (signer, mut) * 1. exchange (readonly) * 2. position (readonly) * 3. market (readonly) * 4. lookup_table (mut) * 5. alt_program (readonly) * * Data: [discriminator] */ export declare function buildClosePositionAltIx(params: ClosePositionAltParams, programId?: PublicKey): TransactionInstruction; /** * Build CloseOrderStatus instruction * * Accounts: * 0. operator (signer, mut) * 1. exchange (readonly) * 2. order_status (mut) * * Data: [discriminator, order_hash (32)] */ export declare function buildCloseOrderStatusIx(params: CloseOrderStatusParams, programId?: PublicKey): TransactionInstruction; /** * Build ClosePositionTokenAccounts instruction * * Accounts: * 0. operator (signer, mut) * 1. exchange (readonly) * 2. market (readonly) * 3. position (readonly) * 4. token_program (readonly) * + per deposit mint: deposit_mint, conditional_mint/position_ata pairs * * Data: [discriminator] */ export declare function buildClosePositionTokenAccountsIx(params: ClosePositionTokenAccountsParams, numOutcomes: number, programId?: PublicKey): TransactionInstruction; /** * Build CloseOrderbookAlt instruction * * Accounts: * 0. operator (signer, mut) * 1. exchange (readonly) * 2. orderbook (readonly) * 3. market (readonly) * 4. lookup_table (mut) * 5. alt_program (readonly) * * Data: [discriminator] */ export declare function buildCloseOrderbookAltIx(params: CloseOrderbookAltParams, programId?: PublicKey): TransactionInstruction; /** * Build CloseOrderbook instruction * * Accounts: * 0. operator (signer, mut) * 1. exchange (readonly) * 2. orderbook (mut) * 3. market (readonly) * 4. lookup_table (readonly) * * Data: [discriminator] */ export declare function buildCloseOrderbookIx(params: CloseOrderbookParams, programId?: PublicKey): TransactionInstruction; export declare function buildInitializeTx(params: InitializeParams, programId?: PublicKey): Transaction; export declare function buildCreateMarketTx(params: CreateMarketParams, marketId: bigint, programId?: PublicKey): Transaction; export declare function buildAddDepositMintTx(params: AddDepositMintParams, market: PublicKey, numOutcomes: number, programId?: PublicKey): Transaction; export declare function buildDepositTx(params: BuildDepositParams, numOutcomes: number, programId?: PublicKey): Transaction; export declare function buildMergeTx(params: BuildMergeParams, numOutcomes: number, programId?: PublicKey): Transaction; export declare function buildCancelOrderTx(operator: PublicKey, market: PublicKey, order: SignedOrder, programId?: PublicKey): Transaction; export declare function buildIncrementNonceTx(user: PublicKey, programId?: PublicKey): Transaction; export declare function buildSettleMarketTx(params: SettleMarketParams, programId?: PublicKey): Transaction; export declare function buildRedeemWinningsTx(params: RedeemWinningsParams, outcomeIndex: number, programId?: PublicKey): Transaction; export declare function buildSetPausedTx(authority: PublicKey, paused: boolean, programId?: PublicKey): Transaction; export declare function buildSetOperatorTx(authority: PublicKey, newOperator: PublicKey, programId?: PublicKey): Transaction; export declare function buildWithdrawFromPositionTx(params: WithdrawFromPositionParams, programId?: PublicKey): Transaction; export declare function buildActivateMarketTx(params: ActivateMarketParams, programId?: PublicKey): Transaction; export declare function buildMatchOrdersMultiTx(params: MatchOrdersMultiParams, programId?: PublicKey): Transaction; export declare function buildSetAuthorityTx(params: SetAuthorityParams, programId?: PublicKey): Transaction; export declare function buildSetManagerTx(params: SetManagerParams, programId?: PublicKey): Transaction; export declare function buildSetMarketFeesTx(params: SetMarketFeesParams, programId?: PublicKey): Transaction; export declare function buildSetFeeReceiverTx(params: SetFeeReceiverParams, programId?: PublicKey): Transaction; export declare function buildCreateConditionalMetadataTx(params: ConditionalMetadataParams, programId?: PublicKey): Transaction; export declare function buildUpdateConditionalMetadataTx(params: ConditionalMetadataParams, programId?: PublicKey): Transaction; export declare function buildCreateOrderbookTx(params: CreateOrderbookParams, programId?: PublicKey): Transaction; export declare function buildWhitelistDepositTokenTx(params: WhitelistDepositTokenParams, programId?: PublicKey): Transaction; export declare function buildDepositToGlobalTx(params: DepositToGlobalParams, programId?: PublicKey): Transaction; export declare function buildDepositToGlobalTxWithAlt(params: DepositToGlobalParams, altContext: DepositToGlobalAltContext, programId?: PublicKey): Transaction; export declare function buildGlobalToMarketDepositTx(params: GlobalToMarketDepositParams, numOutcomes: number, programId?: PublicKey): Transaction; export declare function buildInitPositionTokensTx(params: InitPositionTokensParams, numOutcomes: number, programId?: PublicKey): Transaction; export declare function buildExtendPositionTokensTx(params: ExtendPositionTokensParams, numOutcomes: number, programId?: PublicKey): Transaction; export declare function buildDepositAndSwapTx(params: DepositAndSwapParams, programId?: PublicKey): Transaction; export declare function buildWithdrawFromGlobalTx(params: WithdrawFromGlobalParams, programId?: PublicKey): Transaction; export declare function buildClosePositionAltTx(params: ClosePositionAltParams, programId?: PublicKey): Transaction; export declare function buildCloseOrderStatusTx(params: CloseOrderStatusParams, programId?: PublicKey): Transaction; export declare function buildClosePositionTokenAccountsTx(params: ClosePositionTokenAccountsParams, numOutcomes: number, programId?: PublicKey): Transaction; export declare function buildCloseOrderbookAltTx(params: CloseOrderbookAltParams, programId?: PublicKey): Transaction; export declare function buildCloseOrderbookTx(params: CloseOrderbookParams, programId?: PublicKey): Transaction; //# sourceMappingURL=instructions.d.ts.map