feat: version ledger settlement contracts

This commit is contained in:
Navid
2026-09-15 13:59:13 +03:30
parent e316e225a0
commit d01c287550
3 changed files with 57 additions and 1 deletions
+3 -1
View File
@@ -31,7 +31,9 @@ service AuthorizationService {
rpc ProcessTFAReq(TFAReq) returns (base.v1.StatusRes) {}
// For HMAC-OTP an initialization step must be added to exchange keys
rpc InitTFAReq(InternalIAM) returns (TFAExRes) {}
// Deprecated: authenticator-app enrollment was never implemented. Darano
// currently supports the ProcessTFAReq/CheckTFACode OTP flow.
rpc InitTFAReq(InternalIAM) returns (TFAExRes) { option deprecated = true; }
rpc CheckTFACode(CheckTFAReq) returns (base.v1.StatusRes) {}
}
+50
View File
@@ -165,4 +165,54 @@ message ReplayJournalsResponse {
message HealthResponse {
bool serving = 1;
bool database_ready = 2;
bool settlement_enabled = 3;
bool settlement_ready = 4;
int64 settlement_pending = 5;
int64 settlement_retryable = 6;
int64 settlement_manual_review = 7;
int64 oldest_pending_seconds = 8;
}
message EnqueueSettlementRequest {
string source_service = 1;
string source_transaction_id = 2;
string idempotency_key = 3;
string network = 4;
// Signed transaction XDR. GL persists and submits this payload durably.
string signed_transaction_xdr = 5;
}
message EnqueueSettlementResponse {
string settlement_id = 1;
string status = 2;
bool already_existed = 3;
}
message GetSettlementRequest {
oneof lookup {
string settlement_id = 1;
string idempotency_key = 2;
}
}
message Settlement {
string settlement_id = 1;
string source_service = 2;
string source_transaction_id = 3;
string idempotency_key = 4;
string status = 5;
string network = 6;
string transaction_hash = 7;
uint32 attempts = 8;
string last_error = 9;
}
message RetrySettlementRequest {
string settlement_id = 1;
string actor_id = 2;
string reason = 3;
}
message RetrySettlementResponse {
Settlement settlement = 1;
}
+4
View File
@@ -13,4 +13,8 @@ service GeneralLedgerService {
rpc ListEntries(ListEntriesRequest) returns (ListEntriesResponse);
rpc GetBalance(GetBalanceRequest) returns (GetBalanceResponse);
rpc ReplayJournals(ReplayJournalsRequest) returns (ReplayJournalsResponse);
rpc EnqueueSettlement(EnqueueSettlementRequest) returns (EnqueueSettlementResponse);
rpc GetSettlement(GetSettlementRequest) returns (Settlement);
// Restricted operator command. Requires the configured x-admin-token metadata.
rpc RetrySettlement(RetrySettlementRequest) returns (RetrySettlementResponse);
}