{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://capp.local/schemas/capp.solana-signing-policy.v1.schema.json",
  "title": "capp.solana-signing-policy.v1",
  "description": "Public configuration diagnostics. Does not establish wallet authority or current transaction readiness.",
  "type": "object",
  "required": ["protocol", "network", "enforcedLocally", "maxLamports", "tokenLimits", "authorises"],
  "properties": {
    "protocol": {"const": "capp.solana-signing-policy.v1"},
    "network": {"type": "string"},
    "enforcedLocally": {"type": "boolean"},
    "maxLamports": {"type": ["number", "null"]},
    "tokenLimits": {"type": ["string", "null"]},
    "authorises": {"const": false}
  },
  "allOf": [{
    "if": {"properties": {"enforcedLocally": {"const": false}}},
    "then": {"properties": {"maxLamports": {"const": null}, "tokenLimits": {"const": null}}}
  }],
  "additionalProperties": false
}
