Coda by Ian Macalinao
    Preparing search index...
    • Creates a Codama program visitor that deduplicates and flattens nested instruction accounts from an Anchor IDL.

      This is a program-level visitor that can be composed with other visitors. It transforms instruction nodes to have flattened account structures, removing nested account groups.

      Parameters

      • idl: AnchorIdl

        The Anchor IDL containing the instruction definitions with potentially nested accounts

      • programNode: ProgramNode

      Returns ProgramNode

      A visitor that transforms all instruction nodes to have flattened account structures

      // Use with a single program
      const programNode = programNodeFromAnchor(idl);
      const visitor = instructionAccountsDedupeProgramVisitor(idl);
      const transformedProgram = visit(programNode, visitor);

      // Or compose with other visitors
      const composedVisitor = mergeVisitor(
      instructionAccountsDedupeProgramVisitor(idl),
      otherProgramVisitor(),
      );
      • This visitor operates at the program level, not the root level
      • Account names are joined with underscores to maintain parent-child relationships
      • PDA seed paths are automatically updated to match the flattened structure
      • All account metadata and constraints are preserved during flattening