- 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
74 lines
1.9 KiB
JSON
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
|
|
}
|
|
}
|
|
}
|
|
|