Dara Docs
ReferenceTest evidenceEvidence

Evidence: transaction manager on local Stellar (Stage 14 / 22 / 24 / 25 subset)

Date: 2026-10-29. Network: Quickstart v689-b1585.1-latest, --local, protocol 30. Database: PostgreSQL 17.6. Command:

TEST_DATABASE_URL=… STELLAR_RPC_URL=http://localhost:8000/rpc REQUIRE_INTEGRATION=1 \
  go test -count=1 -race ./internal/txmanager/

Result: 7/7 PASS (-race). Every scenario uses the production signer layout (ceremony package: issuer H1–H4 ×10 + AUTH ×1, thresholds 1/20/30; Treasury COLD T1–T4; HOT online key; sponsored customers).

TestProvesBrief
TestIssueOnboardAndConcurrentSettlementIssuance via human multisig (AUTH alone and AUTH + H1 refused, H1 + H2 completes); refill via T-signers; sponsored onboarding; 40 concurrent settlements through 4 channels each applied exactly once; supply unchanged; every channel FREE at the chain sequence + 1§29, §45, §48, §49, §121, INV-03/04
TestTimeoutAfterAcceptanceAppliesOnceRPC response lost after acceptance (3×): the attempt is UNKNOWN, resolved from the chain; one attempt, one effect§52, §122, §123
TestLostSubmissionExpiresThenRetriesOnceSubmission never reached the network: a new envelope is built only after expiry is proven; one APPLIED attempt§52, §121, INV-10
TestInLedgerFailureUnauthorized destination fails in the ledger: intent FAILED (InLedger, NOT_AUTHORIZED), sequence consumed, channel free§90, §119
TestForeignChannelUseIsQuarantinedSomeone else consumed a channel sequence: txBAD_SEQ → channel QUARANTINED + CRITICAL incident; intent applied on another channel§48, §126 (sequence attack)
TestCrashAfterSignBeforeSubmitProcess "crash" after the signed envelope was persisted: a fresh engine submits the persisted bytes; one effect§122
TestSignatureUploadsAreVerifiedA signature over another hash and a non-signer's signature are refused§57, §126

Defects found by these tests and fixed

  1. CHECK (ledger IS NOT NULL) on APPLIED/FAILED was violated by a two-statement update; now recorded in one statement.
  2. txBAD_AUTH_EXTRA on human proposals with more signatures than needed; now a minimal sufficient subset is attached.
  3. txBAD_AUTH_EXTRA on onboarding: the CUSTODY signature was unused; removed from the signature set.
  4. A foreign sequence bump of exactly +1 was mistaken for our own consumption; channel release now knows whether the attempt applied.

On this page