// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Demo3OnchainDexCandidateAccount } from "./Demo3OnchainDexCandidateAccount";
import type { Demo3OnchainDexTokenBalanceDelta } from "./Demo3OnchainDexTokenBalanceDelta";

/**
 * Candidate on-chain transaction/instruction for a DEX program id.
 */
export type Demo3OnchainDexPairCandidate = { 
/**
 * Transaction signature.
 */
signature: string, 
/**
 * Slot when available.
 */
slot: number | null, 
/**
 * Block time when available.
 */
blockTime: number | null, 
/**
 * Whether the transaction failed.
 */
failed: boolean, 
/**
 * Program id matched by the candidate.
 */
programId: string, 
/**
 * DEX code when known.
 */
dexCode: string | null, 
/**
 * Candidate kind inferred from data/logs.
 */
candidateKind: string, 
/**
 * Extraction confidence.
 */
confidence: string, 
/**
 * Top-level instruction index.
 */
instructionIndex: number | null, 
/**
 * Inner instruction index.
 */
innerInstructionIndex: number | null, 
/**
 * Instruction name inferred from data/logs.
 */
instructionName: string | null, 
/**
 * Prefix of the raw base58 instruction data, useful for audit grouping.
 */
instructionDataPrefix: string | null, 
/**
 * First eight instruction-data bytes as lower hex.
 */
instructionDiscriminatorHex: string | null, 
/**
 * Candidate pool address.
 */
poolAddress: string | null, 
/**
 * Candidate token A mint.
 */
tokenAMint: string | null, 
/**
 * Candidate token B mint.
 */
tokenBMint: string | null, 
/**
 * Verified pool address when a DEX decoder or stable layout proves it.
 */
verifiedPoolAddress: string | null, 
/**
 * Token mints observed generically from transaction token balances.
 */
observedTokenMints: Array<string>, 
/**
 * Token balance deltas observed through transaction metadata.
 */
tokenBalanceDeltas: Array<Demo3OnchainDexTokenBalanceDelta>, 
/**
 * Program-owned or writable accounts that may be pool/config/state accounts.
 */
candidatePoolAccounts: Array<Demo3OnchainDexCandidateAccount>, 
/**
 * Token accounts that may be pool vaults.
 */
candidateTokenVaultAccounts: Array<Demo3OnchainDexCandidateAccount>, 
/**
 * Other candidate accounts attached to the matched instruction.
 */
candidateProgramAccounts: Array<Demo3OnchainDexCandidateAccount>, 
/**
 * Short account sample.
 */
accountSamples: Array<string>, 
/**
 * Short log sample.
 */
logSamples: Array<string>, 
/**
 * Suggested next action.
 */
backfillHint: string, };
