- 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
61 lines
1.6 KiB
JSON
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"
|
|
}
|
|
}
|
|
}
|
|
|