Three other repos (Globe-Wallet, mobile) are described in this README as consumers of this API, but there's no contract/integration test anywhere confirming their expected request/response shapes actually match what this service returns (especially now that /wallet/send responses would need to reflect any future changes like fee-bump or structured error codes from other issues here). Set up cross-repo contract testing.
Definition of done:
- Machine-checkable contract (e.g. generated from the OpenAPI spec once it exists) that consumer repos can validate against
- CI in this repo fails if a response shape changes in a way that would break the documented contract
- At minimum, the /wallet/send and /account/:publicKey/balances shapes (the two most directly consumed) are covered first
Before opening a PR for this issue, read CONTRIBUTING.md.
This is not a starter-issue. The Definition of done above is the full
acceptance criteria, not a subset to sample from — a PR that addresses part
of it is an unfinished issue, not a smaller one. Your PR must include, in
the PR description itself:
PRs missing these will be sent back before review, not reviewed and rejected — please do this up front.
Three other repos (Globe-Wallet, mobile) are described in this README as consumers of this API, but there's no contract/integration test anywhere confirming their expected request/response shapes actually match what this service returns (especially now that /wallet/send responses would need to reflect any future changes like fee-bump or structured error codes from other issues here). Set up cross-repo contract testing.
Definition of done:
Before opening a PR for this issue, read CONTRIBUTING.md.
This is not a starter-issue. The Definition of done above is the full
acceptance criteria, not a subset to sample from — a PR that addresses part
of it is an unfinished issue, not a smaller one. Your PR must include, in
the PR description itself:
PRs missing these will be sent back before review, not reviewed and rejected — please do this up front.