Skip to content

On-Chain Event Ingestion Pipeline with Transactional Outbox & Replay #22

Description

@meshackyaro

Description

This issue aims to address the implementation of On-Chain Event Ingestion Pipeline with Transactional Outbox & Replay.

The core objective is to: Build a resilient pipeline that ingests Soroban contract events into PostgreSQL using the transactional outbox pattern, with ordered processing, dead-letter handling, and deterministic replay.

By completing this feature, we will ensure that the GuildWorkman protocol maintains its high standards for security, usability, and decentralized logic. This issue requires careful attention to the Backend architecture and adherence to the existing project conventions.

When picking up this issue, please ensure you document any new dependencies or architectural decisions made during development.

Component

Backend (Spring Boot / Java 17)

Difficulty

⚫ Very Hard

Tasks

  • Review the existing Spring Boot structure under backend-api/src/main/java
  • Implement the service and REST endpoints for: On-Chain Event Ingestion Pipeline with Transactional Outbox & Replay
  • Add or adjust JPA entities, repositories, and schema migrations as needed
  • Write unit and integration tests (Spring Boot Test; MockWebServer for external RPC calls)
  • Add caching for Maven dependencies in CI
  • Run ./mvnw verify and ./mvnw test to validate build and coverage

Acceptance Criteria

  • Feature accurately implements the objective: Build a resilient pipeline that ingests Soroban contract events into PostgreSQL using the transactional outbox pattern, with ordered processing, dead-letter handling, and deterministic replay.
  • Any PR that introduces failing tests or compilation errors is automatically blocked
  • Endpoints/services are covered by tests including failure and concurrency paths
  • Public API is documented (OpenAPI) and errors follow a consistent response contract
  • Code is properly reviewed and approved by codeowners

Estimated Time

3-5 days

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26backendBackend API (Spring Boot) workdifficulty: very hard⚫ Very HardenhancementNew feature or requesthelp wantedExtra attention is neededpriority: high🔴 High priority — core / blocking

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions