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