Skip to content

feat: Add Horizon-based transaction tracking and keyring settlement for trustline operation status tracking#51

Open
khanti42 wants to merge 11 commits intomainfrom
feat/chg-trust-refine
Open

feat: Add Horizon-based transaction tracking and keyring settlement for trustline operation status tracking#51
khanti42 wants to merge 11 commits intomainfrom
feat/chg-trust-refine

Conversation

@khanti42
Copy link
Copy Markdown
Contributor

@khanti42 khanti42 commented May 5, 2026

Explanation

References

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

@khanti42 khanti42 requested a review from a team as a code owner May 5, 2026 07:29
@khanti42 khanti42 changed the title feat: trustline operation status tracking feat: Add Horizon-based transaction tracking and keyring settlement for trustline operation status tracking May 5, 2026
Base automatically changed from feat/chg-trust to main May 5, 2026 07:40
Comment thread packages/snap/src/services/transaction/TransactionRepository.ts
Comment thread packages/snap/src/services/transaction/TransactionService.ts Outdated
Comment thread packages/snap/src/handlers/cronjob/trackTransaction.ts Outdated
Comment thread packages/snap/src/handlers/cronjob/trackTransaction.ts Outdated
);
try {
const lastStatus =
await this.#networkService.getHorizonTransactionInclusionStatus(
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shall we get it from RPC -> poll transaction? (try to use rpc if possible)

another question, if attempt >= TRACK_TRANSACTION_MAX_ATTEMPTS, why we need to track once again?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we choose to use pollTransaction (from RPC) (20 seconds)

we just need to try catch the function, and verify if there is a TransactionPollException, and choose what action to take against the status on the TransactionPollException

if it is unknown -> rpc down

TrackTransactionHandler.duration,
);
} else {
await synchronizeAccounts();
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can use background job (TBC)

unique the account ids before sending request

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.

2 participants