/** * Shared helper: serialize a trade tx with oracle auto-heal on failure. * * Flow: * 1. serializeUnsignedTx(preInstructions + ix) — normal path. * 2. If the simulation failed with a multi-oracle error (6088/6098/6102/6103) * → retry with update_oracle prepended (adrena-oracle-autoheal). * 3. If the retry also fails because the SB quote is stale, return the * unsigned oracle-refresh tx (TX A) so the caller can land it first. */ import { Connection, PublicKey } from '@solana/web3.js'; import { type SerializeResult } from './adrena-builder-core.js'; import { type AutoHealResult } from './adrena-oracle-autoheal.js'; export interface HealableSerializeOutcome { serializeResult: SerializeResult; /** Present when the normal path failed with an oracle error and healing * requires the caller to sign/submit the SB refresh tx first. */ oracleRefresh?: { transactionBase64: string; quoteAccount: string; /** The update_oracle instruction already inside the healed trade tx. */ updateOraclePrepended: boolean; /** 'land-refresh-first' → TX A must confirm before submitting the trade tx. * 'healed' → the healed trade sim passed and only needs signature. */ status: 'land-refresh-first' | 'healed'; }; } export declare function serializeUnsignedTxHealable(connection: Connection, owner: PublicKey, instructions: readonly import('@solana/web3.js').TransactionInstruction[], instructionNames: readonly string[]): Promise; /** Convenience type re-exports. */ export type { SerializeResult, AutoHealResult }; //# sourceMappingURL=adrena-builder-heal.d.ts.map