ocument SDK transaction lifecycle architecture#199
Merged
El-swaggerito merged 2 commits intoJul 23, 2026
Conversation
Contributor
|
This PR cannot be merged automatically because it has merge conflicts. Please update the branch with the latest base branch and resolve the conflicts. After the conflicts are resolved and checks pass, the automation can review it again. |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#closes
#175
Summary
This PR adds a comprehensive Architecture Decision Record (ADR) detailing the PocketPay SDK’s transaction lifecycle architecture and safety assumptions. It also updates the main README.md to reference this new architectural document.
Establishing these boundaries prevents architectural drift, ensures transaction helpers evolve consistently, and provides consumers with a clear reference for error handling, retries, polling, and security responsibilities.
Key Changes
New Architecture Decision Record (docs/adr/001-transaction-lifecycle-architecture.md):
Lifecycle Stages: Documents the complete flow from preparation, client-side signing, and RPC/Horizon submission, to post-submission status verification.
Retry & Polling Strategy: Specifies explicit guidelines for safe vs. unsafe retries (e.g., handling transient network errors vs. replay prevention) and polling logic for transaction finality.
Security Boundaries: Clarifies that the SDK operates on a zero-persistence model for secret keys, emphasizing consumer responsibility for key storage, user authentication, and transaction approval.
Documentation Link Update (README.md):
Updated the Architecture Decision Records link in the README.md to point directly to the newly created ADR.