Skip to content

fix(sdk): make transfer ingestion and receipt backfill reliable - #88

Merged
erikzrekz merged 1 commit into
mainfrom
eriks/eng-2584-reliable-transfer-ingestion
Oct 21, 2026
Merged

erikzrekz merged 1 commit into
mainfrom
eriks/eng-2584-reliable-transfer-ingestion

Conversation

@erikzrekz

Copy link
Copy Markdown
Contributor

Fixes ENG-2584.

watchTransfers previously advanced its cursor before checkpoint persistence completed. It now awaits checkpoint acknowledgement and retries the chunk on synchronous or asynchronous failure. Radius mainnet/testnet queries default to five seconds behind the head, with a nonnegative blockLag override; other chains retain zero lag.

Document the durable ingestion contract: chain-scoped deduplication, restart replay, overlapping historical scans, and separate scan cursors and verified completeness watermarks. Clarify that rad_createReceiptExport requires privileged access and only reads shipped parquet; availability and archive coverage must be confirmed. Five seconds is a visibility mitigation, not a completeness guarantee.

Includes a patch changeset and regression tests for delayed logs, checkpoint failure, held acknowledgement, restart, overlap recovery, and non-Radius behavior. An advisor reviewed the implementation. Audited the Radius event skill; new API guidance remains deferred until npm publication.

Validation:

  • pnpm build, pnpm typecheck, and pnpm test: passed (247 SDK and 73 CLI tests).
  • All nine required docs checks: passed under ARM Node 24.
  • Unfunded buyer and agent evals: 20/20 and 36/36 passed.
  • Seller evals under Node 24: 7 passed, 3 expected failures, 2 provisioned cases skipped, 0 failures. An earlier Node 23 run reported a concurrent-replay failure; it did not recur in the Node 24 run.
  • No funded-wallet or live-chain tests ran; restart coverage simulates watcher restart with retained durable state.

@github-actions

Copy link
Copy Markdown
Contributor

🦋 Changeset detected

Latest commit: 4ed2dfd

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
radius-sdk Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor

@erikzrekz
erikzrekz merged commit 67f3463 into main Oct 21, 2026
6 checks passed
@erikzrekz
erikzrekz deleted the eriks/eng-2584-reliable-transfer-ingestion branch October 21, 2026 19:59
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