Skip to content

[Docs] Add full deployment & initialization guide #20

@Jayrodri088

Description

@Jayrodri088

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

PR must include:

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

Readme.md shows a deployment/invoke example, but it only demonstrates deploying invoice_escrow and calling initialize.

For real usage, contributors still need guidance for deploying and initializing:

  • invoice-token (including how to set invoice_id and minter relationship)
  • payment-distributor (once implemented)

This leads to confusion about the correct initialization order and what values need to be consistent across contracts.

Proposed change

Extend the repo documentation with a “Deployment & Initializationâ€^] section that covers the full sequence for all contracts in this repo.

Acceptance criteria

  • README includes step-by-step deployment/invocation flows for:
    • invoice-token deployment + initialize
    • invoice-escrow deployment + initialize
    • (optionally) payment-distributor deployment once its API exists
  • Clearly documents cross-contract wiring constraints, such as:
    • invoice-token.minters relationship (escrow contract address)
    • who is admin/platform recipient
    • fee bps value constraints
    • how invoice_id / Symbol should be chosen and used consistently
  • Uses placeholders (no secrets) and aligns with .env.example
  • Includes example Soroban CLI commands that match READMEΓò¼├┤Γö£ΓòóΓö¼├║╬ô├╢┬ú╬ô├╢├⌐╬ô├▓┬╝Γö£Γöñ╬ô├╢┬ú╬ô├«├ë╬ô├╢┬╝╬ô├▓┬Ñ╬ô├▓┬╝Γö£Γöñ╬ô├╢┬úΓö£ΓûÆ╬ô├╢┬ú╬ô├╢├⌐s soroban contract deploy usage

Dependencies

Recommended after [Docs] Add missing docs/API.md... so the deployment guide can link to authoritative function signatures.

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