Skip to content

[Docs/Tooling] Add deployment manifests with contract IDs #30

@Jayrodri088

Description

@Jayrodri088

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

PR must include:

  • Closes #30 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 root Readme.md includes placeholders for contract addresses (testnet and mainnet), but the repo does not contain a machine-readable deployment record.

As the project progresses from infancy to a complete workflow, contributors and scripts need a consistent source of truth for:

  • contract IDs per network
  • initialization parameters used

Without this, each contributor redeploys (wasting time) and setup becomes error-prone.

Proposed change

Add a deployment manifest file (and optionally a simple loader in scripts) that records deployed contract IDs per network.

Acceptance criteria

  • Add deployments/ directory (or equivalent) with at least testnet.json
  • Include entries for:
    • invoice-escrow
    • invoice-token
    • payment-distributor
  • Include metadata: network name, timestamp, and initialization params (platform fee bps, admin, etc.)
  • Update deployment docs/scripts to use this file (especially once scripts from Issue 11 exist)
  • Values can remain placeholders until real deployments are available, but the structure must be complete

Dependencies

  • Depends on [Tooling] Add deployment + initialization scripts (Issue 11) ideally, but the manifest structure can be added now.
  • Depends on .env.example for variable naming conventions (Issue 9)

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