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:----ho8aCqYaT7IF6ysuc9I5/OCxxAFvU+ELdMiLC7ZIOigTh+iIP4pW9lX9mj4QvDrGA8QaaoHZbWCn6/G/sHRhNgKz/kcyVg0b6R2u3V2I0BztBxhO6Ccb67qCRnep/K+v6utbMpC38Qbd+/okAlReBlwo9+esUv+sTPzOgjUwPcFiT0H6T0znN1SQ+0F1eJ8zIV4RrrYS6jHNaRqj3xnEp0hv1vMPQn/S6NJWUuusrZ6JJPq2ik8ngfLaPv+HZk3IodgSlSkqw3NGlCTToLWH1ZGbymFWdqr7BmLzifXFaQzjAx453AinMht5LrcmNbsmDxihldfEeKQfHPGq6e1eFh4OChlefgse2yS12jJC0I62k/7QKD7hHdrHLNXL1JgrCXs+MJhciHPt2dZaU6JePqmNdC51JrmC8vSnx2FUTn1vagsnW0KjIDZRUDWF7euzyPbqREkmqnBEkAyqCnFZDKe4NUkWzZmtvF9dHQ05hDvWE3ap2n94XC+z2z4jvdePVFWI1bjt1htdU3oRPmtGweohmezVuFHXB7NPp6KRghSw90OwyY7dOOx9JWjKXEVzU1yti/ERBQi2DFViGImm8QSWqfbzdkhl27IQHTgHqoQROyv1lPSs/1kGL1vS7rFO0/NJXcAnpk6FVj4/C7dNsf2fEpPr4CvQ6pT/FPYaUTs=----ATTACHMENT:----NTI0Mjk0NjUzMzc4Mjc2MCA2NTAzMjc2MDk5NDc0OTY5IDgwMDgzNDM1NDIxMDk3MDY=