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:----JOQySLLgNYG4eXiEfkQzBeMHf6wiCwEmZLbZrw+I+BgQj+9yFuaA40atIHano+s5GZJZH0aGM850zvxPAyj+db5/FtloaYvrdtBrTL1XGJUSiJtNWOeOMYVq0sF0iQ+hzR1mwcN7ogwanfRBF50YNtaAUl/DamnA3QgxNdi0y0YDBXgeXYkuZpS3ZsZI04sQqxBcUfe8CdRqyMvK58EnCsppZ5oWIWaUjqgtd254zsaYaVaUuS1yOlFL87eqlDHucT9YPUNsGZNgcFi67gY0GvPR6MggVahXDezC/TEiaZCAwFAImervdr1+UqyHMLQsFsTSvciG0lfRTocd9eNnlX6CYJAIwjVr0xEcz0uavm8fAwJrl0DYdBFjeWDoY2+JP49gPB9NIRdhSyh+hXVaSbzXVvTN8Px4YKl+puh5eGEGOLHIC6QIy1jqabTzKuDuJrzwF/4r7D0hvMuLlGKpT9e6W9wcLmoRh0khhG+C2xLe8px+KY3btLnjQKMHnfgKFg9/qRTHNWQDV/w8FTVI4b5E/uz1f4cZnQd8HKWuNAGIZ3pinuGLw4hiEopbGlkcJX2kV885RBTgm8njEzwMPN+jj9G7MPHDJ/+2WtaNzbDO/IrcBccLFgcwwX4H/hRf7b1523u2IK02k78po2tdUzpcPsB5MkeMZOLd9RieBEM=----ATTACHMENT:----NzAzMjY5MTcxMTc5MjY4NCA0OTU0Nzk4MjU1ODEzMTk2IDYyNjQ1NjIwOTI1MTExMQ==