Skip to content

Create an interoperability test suite for version negotiation with the planned payment and settlement contracts #219

Description

@usmanimamu17-create

Problem Statement
This work item addresses a concrete maintainability, safety, or operating gap that is visible in the current repository shape: a Rust/Soroban smart contract crate centered on apexchainx_calculator, extensive contract tests, and CI workflows that already exercise build, lint, and deployment surfaces.

Why it matters
The codebase is already mature enough that a small gap in documentation, event compatibility, migration posture, or test coverage can become a high-cost production issue. This issue is meant to reduce that risk with a well-scoped, contributor-friendly improvement.

Technical Context
The current repository architecture is documented in README.md, docs/PROJECT_CONTEXT.md, and the active contract implementation under apexchainx_calculator/src/lib.rs. The public contract behavior is shaped by config, history, governance, pause, telemetry, version negotiation, and event schema modules. The intended fix should remain consistent with those existing patterns.

Expected Outcome
Deliver a clear, maintainable improvement that strengthens architecture, security, reliability, observability, testing, or contributor workflow without weakening the contract’s safety posture.

Acceptance Criteria

  • Scope is intentionally small and reviewable.
  • The implementation preserves the repository’s current no_std, Soroban, and CI conventions.
  • Tests, docs, or automation are updated to match the expected behavior.
  • The final change is deterministic, auditable, and safe for future contributors to extend.

Implementation Notes
Prefer a single root-cause change over a broad refactor. Wherever possible, reuse the existing contract module layout and keep the change compatible with the repository’s established event and storage versioning conventions.

Files or modules likely to be affected

  • apexchainx_calculator/src/lib.rs
  • apexchainx_calculator/src/tests.rs
  • apexchainx_calculator/src/history.rs
  • apexchainx_calculator/src/config.rs
  • .github/workflows/ci.yml
  • README.md

Dependencies (if any)
No blocking dependencies beyond the repository’s existing development conventions.

Difficulty level
Medium

Estimated effort
M

Labels
enhancement, testing, api, breaking

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave programapiImported from ISSUES.mdbreakingImported from ISSUES.mdenhancementNew feature or requesttesting

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions