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

74 lines
1.9 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BridgeLock",
"description": "Bridge lock/unlock event for cross-chain transfers",
"type": "object",
"required": ["lockId", "token", "amount", "status"],
"properties": {
"lockId": {
"type": "string",
"description": "Unique lock identifier",
"pattern": "^[a-fA-F0-9]{64}$"
},
"token": {
"type": "string",
"description": "Token contract address",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"amount": {
"type": "string",
"description": "Locked amount (wei, as string)",
"pattern": "^[0-9]+$"
},
"from": {
"type": "string",
"description": "Source address (ChainID 138)",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"targetChain": {
"type": "string",
"description": "Target chain identifier",
"pattern": "^0x[a-fA-F0-9]{64}$"
},
"targetRecipient": {
"type": "string",
"description": "Target chain recipient address",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"status": {
"type": "string",
"description": "Lock status",
"enum": ["LOCKED", "UNLOCKED", "PENDING"]
},
"sourceChain": {
"type": "string",
"description": "Source chain identifier (for unlocks)",
"pattern": "^0x[a-fA-F0-9]{64}$",
"nullable": true
},
"sourceTx": {
"type": "string",
"description": "Source transaction hash (for unlocks)",
"pattern": "^0x[a-fA-F0-9]{64}$",
"nullable": true
},
"proof": {
"type": "string",
"description": "Light client proof (for unlocks)",
"nullable": true
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Lock creation timestamp"
},
"unlockedAt": {
"type": "string",
"format": "date-time",
"description": "Unlock timestamp",
"nullable": true
}
}
}