> For the complete documentation index, see [llms.txt](https://docs.xrpl-commons.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xrpl-commons.org/core-dev-bootcamp/module02/homeworks/homework2.md).

# Homework 2: Transactor Code Exploration

[← Back to Rippled II Overview](/core-dev-bootcamp/module02.md)

***

### Objective

Explore the Payment transactor implementation in the Rippled codebase.

**Format**: Written report (PDF or Markdown) with screenshots/code snippets

#### Requirements

1. **Locate the Code**
   * Find `Payment.cpp` in the codebase
   * Identify the class declaration
2. **Analyze the Three Phases**
   * Document what checks occur in `preflight()`
   * Document what checks occur in `preclaim()`
   * Document what state changes occur in `doApply()`
   * For each phase, provide:
     * Line numbers where the function is defined
     * 2-3 specific validation checks performed
     * Code snippet (5-10 lines) showing a key validation

#### Deliverable

A technical document with:

* File path and line numbers
* Description of each phase
* Code snippets with explanations
* At least one example of an error condition that would cause the transaction to fail
