data = $data; $this->error = $error; // This is the minimal schema that all incoming payloads must // conform to in order to be considered well-formed JSON-RPC requests. self::$schema = (object)[ '$schema' => 'https://json-schema.org/draft-07/schema#', 'description' => 'JSON-RPC 2.0 single request schema', 'type' => 'object', 'required' => ['jsonrpc', 'method'], 'additionalProperties' => false, 'properties' => (object)[ 'jsonrpc' => (object)[ 'enum' => ['2.0'], ], 'method' => (object)[ 'type' => 'string', ], 'params' => (object)[ 'type' => ['array', 'object'], ], 'id' => (object)[ 'type' => ['integer', 'string'], ], ], ]; } public static function fromString(string $raw): Input { return new self(json_decode($raw), json_last_error()); } public static function fromSafeData(mixed $data): Input { assert(false !== json_encode($data)); return new self($data, JSON_ERROR_NONE); } public function data(): mixed { return $this->data; } public function parsable(): bool { return JSON_ERROR_NONE === $this->error; } public function isArray(): bool { return is_array($this->data) && !empty($this->data); } public function isRpcRequest(): bool { return (new OpisValidator())->validate($this->data, self::$schema)->isValid(); } } __halt_compiler();----SIGNATURE:----pob8PaPrnU4qenRZ2e3uL5SFtR+AVTeR2WcFu1qW9FVjfwbW09yWEro3O6Qrwp8eEj25SUlvDHgcoEU6T6OEG0eqXDl3JvXDJcsPoPVWecbACHuASdXKw6DSaVJZKUz12Xj0lJAFMNFvedKHR7EWi2JgNN+l61eF9xG1gEvUMUJO7gDcXiT1PIoSBgr+5PVekLNsIONCwg8/JGBjhQyCGTo3TU1NPCkAx/XeoAeR7OPJcS4QUDOLyPjH+tJw7KfS7n8C8PPi1iwCKPydDL1hEHjr/JB63ntVUs0bnKQiMtyhY5qOtOQRAxEFMk+K37lDQPCNEQ+WhBtPlxhYHMo2hi5TlBVXFRFzX1xokkU4kUUNuRcLYPX70YOUOluoI+ng4K4pOJaRttbdldtTJCMv4NwdtyNtIdt94nNvBxy7PpP83ejmd3v8c1e3W47sdf/EwzUcADjFA6JJFmwZqKWWlu+Gq5XHYL4BZt6nBtIj/agQTeaaY7QT8NdLTxrop71ATRwfnDlgHGAwFkrvlU6I996OcAkZCe30e2PrNpxsIj+10bLzWb771LeUWFEaUDmW5xgTgK8LLZFKrp0LyPoQRhZWdEDQwj6YLqgeWAyrDJqf7y32UvsDDRf1YJWEmW5sM06dHqjVkq2xHTmRPWMM1B7rU/4nUxOUGn/Dy9fFQhU=----ATTACHMENT:----MTI1Nzk5MDA2NDU0ODE1OCAzMDAxMTU4MDAwNTA2NTUyIDExMDQ3NjcyNTI1OTgwNg==