Description:
Each crate tests itself in isolation with mocks. Create an integration-tests crate that contractimport!s the release wasm of all contracts and runs full scenarios: registry tiers affect settlement, proofs gate fills, badges sync, and upgrades preserve state across all of them.
Problem Statement & Context:
The riskiest bugs live at the boundaries: auth of current_contract_address across calls, ABI drift, and resource limits of nested calls. Only tests against the real wasm catch them.
Scope & Acceptance Criteria:
- At least 15 scenarios, including the happy path, a slash with a tier change, a proof mismatch, a dispute upheld with a registry slash, a badge sync after demotion, a pause of one contract during a flow, and an upgrade mid-flow.
- Resource-budget assertions on nested calls.
- A Makefile target that builds the wasms, then runs the tests.
- Out of scope: testnet deployment.
Implementation Guidelines:
- Key Files/Modules: new
integration-tests/, Makefile, justfile.
- Design/Architecture: Shared fixtures (
deploy_protocol()) that return typed clients.
- Edge Cases/Constraints: Wasm must be built before the tests run (a build script or Makefile ordering).
- Testing: As listed in the scope.
Definition of "Done":
- Crate merged, and scenarios documented in its README.
- Reviewed and approved.
Resources:
Complexity: High (200 points)
Description:
Each crate tests itself in isolation with mocks. Create an
integration-testscrate thatcontractimport!s the release wasm of all contracts and runs full scenarios: registry tiers affect settlement, proofs gate fills, badges sync, and upgrades preserve state across all of them.Problem Statement & Context:
The riskiest bugs live at the boundaries: auth of
current_contract_addressacross calls, ABI drift, and resource limits of nested calls. Only tests against the real wasm catch them.Scope & Acceptance Criteria:
Implementation Guidelines:
integration-tests/,Makefile,justfile.deploy_protocol()) that return typed clients.Definition of "Done":
Resources:
fill_intentScenario A–I integration test suite #235, [High] Build a Soroban standalone-network CI integration-test job for the full intent lifecycle #295Complexity: High (200 points)