{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Trident Configuration", "description": "Configuration schema for Trident fuzzing framework", "type": "object", "properties": { "fuzz": { "type": "object", "description": "Fuzzing configuration section", "properties": { "metrics": { "type": "object", "description": "Metrics collection configuration", "properties": { "enabled": { "type": "boolean", "description": "Enable metrics collection", "default": false }, "json": { "type": "boolean", "description": "Enable JSON metrics output", "default": false }, "dashboard": { "type": "boolean", "description": "Enable metrics dashboard", "default": false } }, "additionalProperties": false }, "regression": { "type": "object", "description": "Regression testing configuration", "properties": { "enabled": { "type": "boolean", "description": "Enable regression testing", "default": false } }, "additionalProperties": false }, "coverage": { "type": "object", "description": "Code coverage configuration", "properties": { "enable": { "type": "boolean", "description": "Enable code coverage collection", "default": false }, "server_port": { "type": "integer", "description": "Port for coverage server", "minimum": 1, "maximum": 65535, "default": 58432 }, "loopcount": { "type": "integer", "description": "Number of loops for coverage collection", "minimum": 0, "default": 0 }, "format": { "type": "string", "description": "Coverage output format", "default": "json" }, "attach_extension": { "type": "boolean", "description": "Attach extension to coverage files", "default": false } }, "additionalProperties": false }, "programs": { "type": "array", "description": "List of programs to fuzz", "items": { "type": "object", "properties": { "address": { "type": "string", "description": "Program address (as base-58 encoded string)" }, "upgrade_authority": { "type": "string", "description": "Program upgrade authority (as base-58 encoded string)" }, "program": { "type": "string", "description": "Path to program binary" } }, "required": [ "address", "program" ], "additionalProperties": false }, "default": [] }, "accounts": { "type": "array", "description": "List of accounts to use in fuzzing", "items": { "type": "object", "properties": { "address": { "type": "string", "description": "Account address (as base-58 encoded string)" }, "filename": { "type": "string", "description": "Path to account data file" } }, "required": [ "address", "filename" ], "additionalProperties": false }, "default": [] } }, "additionalProperties": false } }, "additionalProperties": false }