Files
gru_emoney_token-factory/api/packages/schemas/jsonschema/CanonicalMessage.json
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

61 lines
1.6 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "CanonicalMessage",
"description": "Canonical ISO-20022 message representation",
"type": "object",
"required": ["msgType", "instructionId", "payloadHash"],
"properties": {
"msgType": {
"type": "string",
"description": "ISO-20022 message type (e.g., pacs.008, pain.001)",
"pattern": "^[a-z]+\\.[0-9]{3}$"
},
"instructionId": {
"type": "string",
"description": "Unique instruction identifier",
"pattern": "^[a-fA-F0-9]{64}$"
},
"endToEndId": {
"type": "string",
"description": "End-to-end reference (optional)",
"pattern": "^[a-fA-F0-9]{64}$"
},
"accountRefId": {
"type": "string",
"description": "Hashed account reference",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"counterpartyRefId": {
"type": "string",
"description": "Hashed counterparty reference",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"token": {
"type": "string",
"description": "Token contract address",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"amount": {
"type": "string",
"description": "Transfer amount (wei, as string)",
"pattern": "^[0-9]+$"
},
"currencyCode": {
"type": "string",
"description": "Currency code hash",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"payloadHash": {
"type": "string",
"description": "Hash of full ISO-20022 XML payload",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Message creation timestamp"
}
}
}