Skip to content

docs(contracts): add contract and backend compatibility table - #2069

Open
hubbuugittuuu wants to merge 1 commit into
DistinctCodes:mainfrom
hubbuugittuuu:docs/contract-backend-compatibility-table-2028
Open

hubbuugittuuu wants to merge 1 commit into
DistinctCodes:mainfrom
hubbuugittuuu:docs/contract-backend-compatibility-table-2028

Conversation

@hubbuugittuuu

Copy link
Copy Markdown

Problem

As Soroban contracts evolve across releases (new errors, token custody changes, partial release semantics), the NestJS backend configures contracts through environment IDs (STELLAR_ESCROW_CONTRACT_ID). Previously, there was no centralized tracking of which backend versions are compatible with which deployed WASM hashes or how in-flight escrows created on older bytecode should be settled.

Solution

  1. Added contracts/COMPATIBILITY.md documenting:
    • Compatibility matrix covering payment_escrow and revenue_distribution contracts across Soroban SDK versions, entrypoints, and compatible backend release ranges.
    • Entrypoint signature mapping and on-chain EscrowStatus enum mapping (0 -> UNINITIALIZED through 3 -> REFUNDED).
    • In-flight escrow coexistence policy (ensuring existing escrows settle via original contract addresses).
    • Checklist for contract PR authors.
  2. Updated .github/PULL_REQUEST_TEMPLATE.md to require PR authors to update or confirm compatibility in contracts/COMPATIBILITY.md.
  3. Updated contracts/README.md to link directly to contracts/COMPATIBILITY.md.

Closes #2028

@vercel

vercel Bot commented Nov 3, 2026

Copy link
Copy Markdown

@hubbuugittuuu is attempting to deploy a commit to the naijabuz's projects Team on Vercel.

A member of the Team first needs to authorize it.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create a CHANGELOG-style compatibility table between contract versions and backend releases

1 participant