feat: add hybx omnl stack and gas pmm tooling
Some checks failed
CI/CD Pipeline / Lint and Format (push) Failing after 46s
CI/CD Pipeline / Terraform Validation (push) Failing after 35s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 37s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 1m50s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 2m19s
Validation / validate-genesis (push) Successful in 51s
Validation / validate-terraform (push) Failing after 39s
Validation / validate-kubernetes (push) Failing after 10s
CI/CD Pipeline / Solidity Contracts (push) Failing after 12m56s
Validation / validate-smart-contracts (push) Failing after 12s
CI/CD Pipeline / Security Scanning (push) Failing after 15m52s
Validation / validate-security (push) Failing after 10m59s
Validation / validate-documentation (push) Failing after 17s
Validate Token List / validate (push) Failing after 30s
OMNL reconcile anchor / Run omnl:reconcile and upload artifacts (push) Failing after 26s
Verify Deployment / Verify Deployment (push) Failing after 56s
Some checks failed
CI/CD Pipeline / Lint and Format (push) Failing after 46s
CI/CD Pipeline / Terraform Validation (push) Failing after 35s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 37s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 1m50s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 2m19s
Validation / validate-genesis (push) Successful in 51s
Validation / validate-terraform (push) Failing after 39s
Validation / validate-kubernetes (push) Failing after 10s
CI/CD Pipeline / Solidity Contracts (push) Failing after 12m56s
Validation / validate-smart-contracts (push) Failing after 12s
CI/CD Pipeline / Security Scanning (push) Failing after 15m52s
Validation / validate-security (push) Failing after 10m59s
Validation / validate-documentation (push) Failing after 17s
Validate Token List / validate (push) Failing after 30s
OMNL reconcile anchor / Run omnl:reconcile and upload artifacts (push) Failing after 26s
Verify Deployment / Verify Deployment (push) Failing after 56s
This commit is contained in:
276
services/token-aggregation/src/resources/omnl-openapi.json
Normal file
276
services/token-aggregation/src/resources/omnl-openapi.json
Normal file
@@ -0,0 +1,276 @@
|
||||
{
|
||||
"openapi": "3.0.3",
|
||||
"info": {
|
||||
"title": "HYBX OMNL API",
|
||||
"description": "HYBX OMNL endpoints on the token-aggregation service (Chain 138 / ALL Mainnet 651940, IPSAS, Fineract alignment). Optional auth: when `OMNL_API_KEY` is set, use `Authorization: Bearer <key>` or query `access_token`.",
|
||||
"version": "1.2.0"
|
||||
},
|
||||
"servers": [{ "url": "/api/v1", "description": "Token aggregation v1" }],
|
||||
"tags": [
|
||||
{ "name": "omnl-discovery", "description": "Catalog and probes" },
|
||||
{ "name": "omnl-chain", "description": "On-chain compliance and instruments" },
|
||||
{ "name": "omnl-ipsas", "description": "IPSAS GL and Fineract" }
|
||||
],
|
||||
"paths": {
|
||||
"/omnl/openapi.json": {
|
||||
"get": {
|
||||
"tags": ["omnl-discovery"],
|
||||
"summary": "OpenAPI 3 document (this file)",
|
||||
"operationId": "getOmnlOpenApi",
|
||||
"responses": { "200": { "description": "OpenAPI 3 JSON" } }
|
||||
}
|
||||
},
|
||||
"/omnl/catalog": {
|
||||
"get": {
|
||||
"tags": ["omnl-discovery"],
|
||||
"summary": "Human/agent catalog of OMNL routes",
|
||||
"operationId": "getOmnlCatalog",
|
||||
"responses": { "200": { "description": "Catalog object" } }
|
||||
}
|
||||
},
|
||||
"/omnl/integration-status": {
|
||||
"get": {
|
||||
"tags": ["omnl-discovery"],
|
||||
"summary": "Which env-backed integrations are configured",
|
||||
"operationId": "getOmnlIntegrationStatus",
|
||||
"responses": { "200": { "description": "Status flags" } }
|
||||
}
|
||||
},
|
||||
"/omnl/reconcile-anchor": {
|
||||
"get": {
|
||||
"tags": ["omnl-discovery"],
|
||||
"summary": "SHA-256 anchor for IPSAS registry + journal matrix files",
|
||||
"operationId": "getOmnlReconcileAnchor",
|
||||
"responses": { "200": { "description": "Anchor payload" }, "503": { "description": "Config files missing" } }
|
||||
}
|
||||
},
|
||||
"/omnl/cross-chain-lines": {
|
||||
"get": {
|
||||
"tags": ["omnl-discovery"],
|
||||
"summary": "hybx-omnl-cross-chain-lines.json",
|
||||
"operationId": "getOmnlCrossChainLines",
|
||||
"responses": { "200": { "description": "lines + configPath" } }
|
||||
}
|
||||
},
|
||||
"/omnl/zk-verifier": {
|
||||
"get": {
|
||||
"tags": ["omnl-discovery"],
|
||||
"summary": "ZK verifier address from env",
|
||||
"operationId": "getOmnlZkVerifier",
|
||||
"responses": { "200": { "description": "address or null" } }
|
||||
}
|
||||
},
|
||||
"/omnl/mirror-coordinator": {
|
||||
"get": {
|
||||
"tags": ["omnl-chain"],
|
||||
"summary": "Read OMNLMirrorCoordinator mirror destination",
|
||||
"operationId": "getOmnlMirrorCoordinator",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "chainId",
|
||||
"in": "query",
|
||||
"schema": { "type": "integer", "default": 138 },
|
||||
"description": "Chain where coordinator is deployed"
|
||||
}
|
||||
],
|
||||
"responses": { "200": { "description": "selector, receiver, feeToken" }, "503": { "description": "Not configured" } }
|
||||
}
|
||||
},
|
||||
"/omnl/compliance/{lineId}": {
|
||||
"get": {
|
||||
"tags": ["omnl-chain"],
|
||||
"summary": "ComplianceCore snapshot",
|
||||
"operationId": "getOmnlCompliance",
|
||||
"parameters": [
|
||||
{ "name": "lineId", "in": "path", "required": true, "schema": { "type": "string" } },
|
||||
{
|
||||
"name": "chainId",
|
||||
"in": "query",
|
||||
"schema": { "type": "integer", "default": 138 }
|
||||
}
|
||||
],
|
||||
"responses": { "200": { "description": "Compliance snapshot" } }
|
||||
}
|
||||
},
|
||||
"/omnl/compliance-aggregated/{lineId}": {
|
||||
"get": {
|
||||
"tags": ["omnl-chain"],
|
||||
"summary": "Aggregated cross-chain compliance",
|
||||
"operationId": "getOmnlComplianceAggregated",
|
||||
"parameters": [{ "name": "lineId", "in": "path", "required": true, "schema": { "type": "string" } }],
|
||||
"responses": { "200": { "description": "Aggregated snapshot" } }
|
||||
}
|
||||
},
|
||||
"/omnl/instruments": {
|
||||
"get": {
|
||||
"tags": ["omnl-chain"],
|
||||
"summary": "InstrumentRegistry lines",
|
||||
"operationId": "getOmnlInstruments",
|
||||
"parameters": [
|
||||
{ "name": "chainId", "in": "query", "schema": { "type": "integer", "default": 138 } }
|
||||
],
|
||||
"responses": { "200": { "description": "lines" } }
|
||||
}
|
||||
},
|
||||
"/omnl/attestations/{lineId}": {
|
||||
"get": {
|
||||
"tags": ["omnl-chain"],
|
||||
"summary": "Reserve commitment",
|
||||
"operationId": "getOmnlAttestations",
|
||||
"parameters": [
|
||||
{ "name": "lineId", "in": "path", "required": true, "schema": { "type": "string" } },
|
||||
{ "name": "chainId", "in": "query", "schema": { "type": "integer", "default": 138 } }
|
||||
],
|
||||
"responses": { "200": { "description": "Commitment tuple" } }
|
||||
}
|
||||
},
|
||||
"/omnl/breaker": {
|
||||
"get": {
|
||||
"tags": ["omnl-chain"],
|
||||
"summary": "Circuit breaker status",
|
||||
"operationId": "getOmnlBreaker",
|
||||
"parameters": [
|
||||
{ "name": "chainId", "in": "query", "schema": { "type": "integer", "default": 138 } },
|
||||
{ "name": "lineId", "in": "query", "required": true, "schema": { "type": "string" } }
|
||||
],
|
||||
"responses": { "200": { "description": "Breaker state" } }
|
||||
}
|
||||
},
|
||||
"/omnl/mirror-status/{lineId}": {
|
||||
"get": {
|
||||
"tags": ["omnl-chain"],
|
||||
"summary": "Compare reserve attestation across chains",
|
||||
"operationId": "getOmnlMirrorStatus",
|
||||
"parameters": [{ "name": "lineId", "in": "path", "required": true, "schema": { "type": "string" } }],
|
||||
"responses": { "200": { "description": "Comparison" } }
|
||||
}
|
||||
},
|
||||
"/omnl/health": {
|
||||
"get": {
|
||||
"tags": ["omnl-chain"],
|
||||
"summary": "Multi-chain compliance health (requires OMNL_HEALTH_LINE_ID)",
|
||||
"operationId": "getOmnlHealth",
|
||||
"responses": { "200": { "description": "Health payload" }, "400": { "description": "Missing line id env" } }
|
||||
}
|
||||
},
|
||||
"/omnl/ipsas/registry": {
|
||||
"get": {
|
||||
"tags": ["omnl-ipsas"],
|
||||
"summary": "IPSAS GL registry JSON",
|
||||
"operationId": "getOmnlIpsasRegistry",
|
||||
"responses": { "200": { "description": "Registry" } }
|
||||
}
|
||||
},
|
||||
"/omnl/ipsas/matrix": {
|
||||
"get": {
|
||||
"tags": ["omnl-ipsas"],
|
||||
"summary": "Journal matrix JSON",
|
||||
"operationId": "getOmnlIpsasMatrix",
|
||||
"responses": { "200": { "description": "Matrix" } }
|
||||
}
|
||||
},
|
||||
"/omnl/ipsas/validate-pair": {
|
||||
"get": {
|
||||
"tags": ["omnl-ipsas"],
|
||||
"summary": "Validate one GL pair",
|
||||
"operationId": "getOmnlIpsasValidatePair",
|
||||
"parameters": [
|
||||
{ "name": "debitGlCode", "in": "query", "required": true, "schema": { "type": "string" } },
|
||||
{ "name": "creditGlCode", "in": "query", "required": true, "schema": { "type": "string" } }
|
||||
],
|
||||
"responses": { "200": { "description": "Validation result" } }
|
||||
}
|
||||
},
|
||||
"/omnl/ipsas/validate-pairs": {
|
||||
"post": {
|
||||
"tags": ["omnl-ipsas"],
|
||||
"summary": "Batch validate GL pairs",
|
||||
"operationId": "postOmnlIpsasValidatePairs",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"required": ["pairs"],
|
||||
"properties": {
|
||||
"pairs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["debitGlCode", "creditGlCode"],
|
||||
"properties": {
|
||||
"debitGlCode": { "type": "string" },
|
||||
"creditGlCode": { "type": "string" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": { "200": { "description": "Batch results" }, "400": { "description": "Invalid body" } }
|
||||
}
|
||||
},
|
||||
"/omnl/ipsas/fineract-health": {
|
||||
"get": {
|
||||
"tags": ["omnl-ipsas"],
|
||||
"summary": "Fineract API reachability probe",
|
||||
"operationId": "getOmnlIpsasFineractHealth",
|
||||
"responses": { "200": { "description": "Health payload" } }
|
||||
}
|
||||
},
|
||||
"/omnl/ipsas/fineract-compare": {
|
||||
"get": {
|
||||
"tags": ["omnl-ipsas"],
|
||||
"summary": "Registry vs live Fineract GL accounts",
|
||||
"operationId": "getOmnlIpsasFineractCompare",
|
||||
"security": [{ "OmnlApiKey": [] }, { "AccessTokenQuery": [] }],
|
||||
"responses": { "200": { "description": "Compare result" }, "401": { "description": "When OMNL_API_KEY set" } }
|
||||
}
|
||||
},
|
||||
"/omnl/ipsas/layer/{layer}": {
|
||||
"get": {
|
||||
"tags": ["omnl-ipsas"],
|
||||
"summary": "Monetary layer hint",
|
||||
"operationId": "getOmnlIpsasLayer",
|
||||
"parameters": [{ "name": "layer", "in": "path", "required": true, "schema": { "type": "string" } }],
|
||||
"responses": { "200": { "description": "Layer hint" }, "404": { "description": "Unknown layer" } }
|
||||
}
|
||||
},
|
||||
"/omnl/ipsas/compliance-context/{lineId}": {
|
||||
"get": {
|
||||
"tags": ["omnl-ipsas"],
|
||||
"summary": "Compliance + IPSAS posting guidance",
|
||||
"operationId": "getOmnlIpsasComplianceContext",
|
||||
"parameters": [
|
||||
{ "name": "lineId", "in": "path", "required": true, "schema": { "type": "string" } },
|
||||
{
|
||||
"name": "aggregated",
|
||||
"in": "query",
|
||||
"schema": { "type": "string", "enum": ["1", "true"] },
|
||||
"description": "Set to 1 for aggregated view"
|
||||
}
|
||||
],
|
||||
"security": [{ "OmnlApiKey": [] }, { "AccessTokenQuery": [] }],
|
||||
"responses": { "200": { "description": "Context" }, "401": { "description": "When OMNL_API_KEY set" } }
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"securitySchemes": {
|
||||
"OmnlApiKey": {
|
||||
"type": "http",
|
||||
"scheme": "bearer",
|
||||
"description": "When OMNL_API_KEY is set: value equals that secret (Bearer)."
|
||||
},
|
||||
"AccessTokenQuery": {
|
||||
"type": "apiKey",
|
||||
"in": "query",
|
||||
"name": "access_token",
|
||||
"description": "Alternate to Bearer when OMNL_API_KEY is set."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user