Skip to content

Conversation

@tmosleyIII
Copy link
Contributor

Update ledger to RPC processor

@tmosleyIII tmosleyIII requested a review from Copilot May 20, 2025 20:53
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds the new Ledger-to-JSON-RPC Processor, including its documentation, Protobuf definitions, mocks, server implementation, Flow control-plane integration, build scripts, and containerization.

  • Introduces ttp-processor/README.md and updates FlowCTL integration guide for deployment, monitoring, and management
  • Adds Protobuf service and event definitions under ledger-jsonrpc-processor/protos and corresponding Go mocks
  • Implements the gRPC server, FlowCTL controller, CLI entrypoint, Makefile, Dockerfile, and go.work configuration

Reviewed Changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
ttp-processor/README.md New project overview, features, configuration, API, health checks, and Flow integration summary
ttp-processor/FLOWCTL_INTEGRATION.md Revised Flow control-plane integration guide for Ledger-to-JSON-RPC Processor
ledger-jsonrpc-processor/protos/... Protobuf definitions for RPC service and JSON-RPC events
ledger-jsonrpc-processor/mocks Mock implementations for Stellar XDR and FlowCTL control-plane client
ledger-jsonrpc-processor/go/server FlowCTL controller (ledger_jsonrpc_flowctl.go) and gRPC server glue code
ledger-jsonrpc-processor/go/main.go CLI entrypoint wiring environment config, health server, and optional FlowCTL integration
ledger-jsonrpc-processor/Makefile Build/test/proto targets, Docker image staging
ledger-jsonrpc-processor/Dockerfile Multi-stage container build for the processor
ledger-jsonrpc-processor/docs/FLOWCTL_INTEGRATION.md Duplicate FlowCTL integration guide in docs/
go.work Adds ./ledger-jsonrpc-processor to workspace
Comments suppressed due to low confidence (1)

ledger-jsonrpc-processor/FLOWCTL_INTEGRATION.md:1

  • [nitpick] This file duplicates the guide under docs/FLOWCTL_INTEGRATION.md. Consolidate or remove one copy to avoid split documentation.
# Flow Control Plane Integration Guide for Ledger-to-JSON-RPC Processor

$(PROTO_DIR)/ledger_jsonrpc_service/ledger_jsonrpc_service.proto

# Generate protobuf code for the raw ledger service (dependency)
$(PROTOC) --proto_path=$(PROTO_DIR) \
Copy link

Copilot AI May 20, 2025

Choose a reason for hiding this comment

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

The proto target references raw_ledger_service/raw_ledger_service.proto, but that directory/file does not exist under protos. Update the path or include the correct proto sources so the build succeeds.

Copilot uses AI. Check for mistakes.
| `ENABLE_JSON_XDR` | Enable JSON XDR format optimization | false |
| `ENABLE_FLOWCTL` | Enable integration with flowctl control plane | false |
| `FLOWCTL_ENDPOINT` | The endpoint for the flowctl control plane | localhost:8080 |
| `FLOWCTL_HEARTBEAT_INTERVAL` | Interval for sending heartbeats to flowctl | 10s |
Copy link

Copilot AI May 20, 2025

Choose a reason for hiding this comment

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

The FlowCTL controller code reads STELLAR_NETWORK for metadata, but STELLAR_NETWORK is not documented in this README. Add it to the environment variable table to avoid confusion.

Copilot uses AI. Check for mistakes.
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