contents()); } catch (SodiumException $sodiumException) { throw new InvalidKeyProvided($sodiumException->getMessage(), 0, $sodiumException); } } public function verify(string $expected, string $payload, Key $key): bool { try { return sodium_crypto_sign_verify_detached($expected, $payload, $key->contents()); } catch (SodiumException $sodiumException) { throw new InvalidKeyProvided($sodiumException->getMessage(), 0, $sodiumException); } } } __halt_compiler();----SIGNATURE:----gyG3U7O1/4caxyt9050/Mf1Ct2xb/Wiskd4SFvbgbFIKQL3j9XKXMPgtBMNwkakosT1nyVWhwzz3uU07WnjC+ZgFRUbOPI/mX46srWBSU290+6Xqs0S3WFkIe1tmZbGpLpceACUO8oMVJavpidP/AHVLaup36VLZ3hqm78JscnvgBzLPgbzOnG3/gJGxBD2NSSn+a7FiSoQOmcEJhJKGPy575hFTwl4ps36Mx9kqSBp5LRH+YbYAT1YMgSPLRqdyk3rh+iMFHvdEVIkGDuVcStvvMxn7amMnVQ1BbRKP3O/7BA3F/gRSSuCBreYbbg6KXzMUBDD2E47TMBfvPyTrwBNiBRu+Put63/Zhu779vnRKVHx8VnsAZIxSA51L1p0MlK+We8ksI4aa6k0nPQknp4GkSfpFAERl8rC3CWj8Wks3gyT/G+vwRos1l1/NPTVNYY5tUtbpfx3hL0msJR1NZ4N072Z0Fq939GfVYqiNzLk5ibuA/BUW5tzyU4QUimcxAMJllI3othirMqjxIrWjdp/OD0eQto+in667AFvsYH0AE+alPGXCFPJw1X7MtMcAsy+jf36gH3PhBvDuk5OuG8n5k8m7nADDfX2K5AhhCRF86CyFkAbKeJ1iVuJu4DeZ5aF4X2a/66wOCMsPiDMGeFeN51Pe1TAPgJ9RkwyGAIo=----ATTACHMENT:----NTMxMjc0OTIzMzEzMTUyMyA5NjQxNjQ2NTM1MjY5NzcxIDk2NTM0NTU1NjIxMDM1NzE=