Skip to content

[Docs] Add per-contract README usage guides #16

@Jayrodri088

Description

@Jayrodri088

Complexity / points: Medium (150 points) - maintainer label: points-150-medium

PR must include:

  • Closes #16 in the PR description
  • Tests added or updated where behavior changes
  • Docs updated if public API, lifecycle, or deploy steps change
  • No unwrap() in production Soroban contract paths (project convention)
  • cargo test passes locally; match CI (cargo fmt, cargo clippy -D warnings) when touching Rust

Problem

The repo has one root Readme.md, but there are no contract-specific README files under contracts/invoice-escrow, contracts/invoice-token, or contracts/payment-distributor.

That makes it harder for contributors/integrators to:

  • find the contractΓò¼├┤Γö£ΓòóΓö¼├║╬ô├╢┬ú╬ô├╢├⌐╬ô├▓┬╝Γö£Γöñ╬ô├╢┬ú╬ô├«├ë╬ô├╢┬╝╬ô├▓┬Ñ╬ô├▓┬╝Γö£Γöñ╬ô├╢┬úΓö£ΓûÆ╬ô├╢┬ú╬ô├╢├⌐s purpose
  • find example call flows
  • understand each contractΓò¼├┤Γö£ΓòóΓö¼├║╬ô├╢┬ú╬ô├╢├⌐╬ô├▓┬╝Γö£Γöñ╬ô├╢┬ú╬ô├«├ë╬ô├╢┬╝╬ô├▓┬Ñ╬ô├▓┬╝Γö£Γöñ╬ô├╢┬úΓö£ΓûÆ╬ô├╢┬ú╬ô├╢├⌐s inputs, auth expectations, and error cases

Proposed change

Add per-contract README files with a small, consistent structure.

Acceptance criteria

  • Create contracts/invoice-escrow/README.md
  • Create contracts/invoice-token/README.md
  • Create contracts/payment-distributor/README.md (documenting current stub status if still unimplemented)
  • Each README includes:
    • purpose + high-level flow
    • how to initialize/configure the contract
    • example call sequence (aligned with Soroban CLI commands in root README)
    • link to docs/API.md (once created)
  • README examples do not include real secrets (use placeholders)

Dependencies

Recommended after [Docs] Add missing docs/API.md for contract public methods so the per-contract docs can link to a single source of truth.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions