Skip to content

[CT-82] stellar.rs has no test distinguishing a Horizon timeout from a Horizon error response #1206

Description

@mftee

Overview

contract/src/stellar.rs (1285 lines) is the largest file in the crate and, despite CT-41 adding tests for its zero-coverage state, likely still treats a network timeout and a genuine Horizon-returned error (e.g. tx failed, bad sequence number) the same way for retry purposes — only the former should be retried; the latter usually shouldn't be, since retrying a rejected transaction as-is will just fail again.

Tasks

  • Distinguish timeout/network errors (retryable) from Horizon-returned business errors (not blindly retryable) in the retry logic
  • Add a test asserting a Horizon 400-class error response does not trigger the same retry loop as a timeout

Acceptance Criteria

  • A Horizon-rejected transaction is not retried identically to a network timeout

Notes for Contributors

Comment below to be assigned.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions