Skip to content

feat(sentinel-api-service): add getFees, submitTransactions, cancel and batchStatus - #11272

Open
rarquevaux wants to merge 3 commits into
mainfrom
feat/STX-976-sentinel-api-service-endpoints
Open

rarquevaux wants to merge 3 commits into
mainfrom
feat/STX-976-sentinel-api-service-endpoints

Conversation

@rarquevaux

@rarquevaux rarquevaux commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Explanation

  • Adds getFees, submitTransactions, cancel and batchStatus to SentinelApiService, each exposed as a SentinelApiService:* messenger action, with response validation and tests. They are gated on the chain's confirmations capability, not the smartTransactions liveness flag, which can flip between calls.
  • Additive only: SentinelKind and SentinelMeta.kind/wallet are kept and marked @deprecated; SentinelMeta.feature also accepts the new SentinelProductFeature.
  • First step of moving smart-transactions-controller from direct Sentinel calls to this service (STX-976). No consumer calls these methods yet.

References

  • STX-976

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed
  • I've introduced breaking changes in this PR and have prepared draft pull requests for clients and consumer packages to resolve them

Note

Medium Risk
New paths submit and cancel signed transactions and interpret fee/status responses—incorrect validation or error handling could affect transaction flows once consumers migrate from direct Sentinel calls.

Overview
Adds four smart-transaction REST capabilities to SentinelApiService—fee quotes (getFees), signed submission (submitTransactions, including optional cancel txs and metadata), cancellation (cancel), and multi-UUID status (batchStatus)—each wired as a SentinelApiService:* messenger action with superstruct validation and broad unit tests.

All four call /v1/networks/{chainId}/…, use staleTime: 0 (no caching), require the network registry’s confirmations flag (not the flaky smartTransactions liveness bit), and on HTTP errors attach parsed JSON to HttpError.data via a new readJsonBody helper.

Metadata typing moves forward additively: new SentinelProductFeature values on SentinelMeta.feature, plus SentinelKind / kind / wallet marked deprecated; batch status adds typed enums and a JSON fixture for response-shape tests.

Reviewed by Cursor Bugbot for commit 01c0a84. Bugbot is set up for automated code reviews on this repo. Configure here.

…nd batchStatus

Add four smart-transaction endpoints exposed through messenger actions, gated on the chain's confirmations capability. Keep SentinelKind and SentinelMeta kind/wallet as deprecated.
@rarquevaux
rarquevaux marked this pull request as ready for review November 3, 2026 20:12
@rarquevaux
rarquevaux requested review from a team as code owners November 3, 2026 20:12
@rarquevaux
rarquevaux deployed to default-branch November 3, 2026 20:12 — with GitHub Actions Active

This branch was successfully deployed

1 active deployment
default-branch — 01c0a846 Deployed Nov 3, 2026 by rarquevaux via Determine whether this PR is a release PR #6437
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.

1 participant