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
    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