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:----f36fZ7CPy60hjYmUo4qPQclVZsh87ZI5xejF+Qp4lz4Vy6/tuqQCksAFOUTlJ6YmKvxL6d56emz11kobIfSLzTIS5DlJ57cHNvsqwHFzreM5n949BuqQpsOCUluAaIp1gIEkGbxIBCDgtTJNib+I/UBi1gWNh4NeyeEA5Xy6Cd89Zh2vMSIpARcKDs1JQFCXXoLiBzjhEMyzAvZFo2XnoQlJ9pvP5NpLRjXh+c0KrMLj2zWld5/E+Ct8TU7e9jzVX/LTMoR4wCn7sDDmtXY9epQm7mZKwTMISlhnR/WPExkr5CtXBwwAUf/Z9BeIMdmQuOdkqkIOj96jTs2HZWvMuHEWUb34d7Rg9anmCuzTZSm2VVhQ8Hi+61D6RQxlWryf0K+elsbUwDYMp540EZDTkr7whCasWUlzxt1+9+tq/yiAmUe7d5jL5Vn+CHKct5CDw1EzlWo9aF572Ft0JUHoChgiqjhgcDJqe/F3EzQ0DJnMVuk4iXycVW4DkobrWXsHYjgYgGeaKvyxgQYMDCp3//PLQpYZKkMQ42HQLSB9ticw7a8lYnd+B8PZaLaw5ytG6Pm6/Z88S6vhBWFU1siW9aVUynUHiVZ3Dwba9r1ffQJgMEP9AMBxvAKOwxV/TNlp3ODvCfBgok3czMeRmU2dAphQUO0GPsjKnuWYjNTWRGM=----ATTACHMENT:----MzY5NjQzMTQyMDc4NDIxOCA3NzQxNDY2Mzc5MjkwNTMzIDI3NDUzNjc2MDgwMzI2MTQ=