Files
gru_emoney_token-factory/api/packages/grpc/orchestrator.proto
defiQUG 651ff4f7eb Initial project setup: Add contracts, API definitions, tests, and documentation
- Add Foundry project configuration (foundry.toml, foundry.lock)
- Add Solidity contracts (TokenFactory138, BridgeVault138, ComplianceRegistry, etc.)
- Add API definitions (OpenAPI, GraphQL, gRPC, AsyncAPI)
- Add comprehensive test suite (unit, integration, fuzz, invariants)
- Add API services (REST, GraphQL, orchestrator, packet service)
- Add documentation (ISO20022 mapping, runbooks, adapter guides)
- Add development tools (RBC tool, Swagger UI, mock server)
- Update OpenZeppelin submodules to v5.0.0
2025-12-12 10:59:41 -08:00

101 lines
2.2 KiB
Protocol Buffer

syntax = "proto3";
package emoney.orchestrator.v1;
option go_package = "github.com/emoney/orchestrator/v1;orchestratorv1";
// Orchestrator service for ISO-20022 message processing and trigger management
service OrchestratorService {
// Validate and lock a trigger
rpc ValidateAndLock(ValidateAndLockRequest) returns (ValidateAndLockResponse);
// Mark trigger as submitted to rail
rpc MarkSubmitted(MarkSubmittedRequest) returns (MarkSubmittedResponse);
// Confirm trigger settled
rpc ConfirmSettled(ConfirmSettledRequest) returns (ConfirmSettledResponse);
// Confirm trigger rejected
rpc ConfirmRejected(ConfirmRejectedRequest) returns (ConfirmRejectedResponse);
// Stream trigger status updates
rpc StreamTriggerStatus(StreamTriggerStatusRequest) returns (stream TriggerStatusUpdate);
// Normalize ISO-20022 message
rpc NormalizeMessage(NormalizeMessageRequest) returns (NormalizeMessageResponse);
}
message ValidateAndLockRequest {
string trigger_id = 1;
}
message ValidateAndLockResponse {
string trigger_id = 1;
bool validated = 2;
string reason_code = 3;
string tx_hash = 4;
}
message MarkSubmittedRequest {
string trigger_id = 1;
string rail_tx_ref = 2;
}
message MarkSubmittedResponse {
string trigger_id = 1;
string state = 2;
}
message ConfirmSettledRequest {
string trigger_id = 1;
string idempotency_key = 2;
}
message ConfirmSettledResponse {
string trigger_id = 1;
string state = 2;
string tx_hash = 3;
}
message ConfirmRejectedRequest {
string trigger_id = 1;
string reason = 2;
string idempotency_key = 3;
}
message ConfirmRejectedResponse {
string trigger_id = 1;
string state = 2;
string tx_hash = 3;
}
message StreamTriggerStatusRequest {
string trigger_id = 1;
}
message TriggerStatusUpdate {
string trigger_id = 1;
string state = 2;
string previous_state = 3;
int64 timestamp = 4;
string rail_tx_ref = 5;
}
message NormalizeMessageRequest {
string msg_type = 1;
bytes payload = 2;
string rail = 3;
}
message NormalizeMessageResponse {
string instruction_id = 1;
string end_to_end_id = 2;
string account_ref_id = 3;
string counterparty_ref_id = 4;
string token = 5;
string amount = 6;
string currency_code = 7;
bytes payload_hash = 8;
}