Skip to content

[Docs] Add SEP-41 compliance mapping for invoice-token #12

@Jayrodri088

Description

@Jayrodri088

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

PR must include:

  • Closes #12 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

invoice-token is described as SEP-41 compliant, but the repo does not include a clear compliance mapping document.

Without explicit documentation, auditors and integrators must infer behavior from Rust source and tests, which slows review and increases misinterpretation risk.

Proposed change

Add a doc that maps this token implementation to the key SEP-41 requirements and documents any deviations.

Acceptance criteria

  • Create docs/SEP41_COMPLIANCE.md (or similarly named file)
  • Document how each SEP-41 relevant function maps to this contract implementation:
    • transfer, approve, transfer_from
    • allowance/expiration behavior
    • mint, burn, burn_from
  • Document the project-specific behavior (transfer_locked restriction) and how it affects standard flows
  • Document event publishing behavior (transfer, approve, mint, burn) and expected topic/data shapes
  • Link this doc from docs/API.md or Readme.md

Dependencies

Recommended after token behavior tests are expanded (so behavior is well specified): [Testing] Expand invoice-token SEP-41 behavior tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions