| 
<?phpdeclare(strict_types=1);
 namespace ParagonIE\Paserk\Operations\PKE;
 
 use ParagonIE\Paserk\PaserkException;
 use ParagonIE\Paseto\KeyInterface;
 use ParagonIE\Paseto\ProtocolInterface;
 
 /**
 * @method ProtocolInterface getProtocol()
 */
 trait PKETrait
 {
 /**
 * @param KeyInterface $key
 * @throws PaserkException
 */
 protected function assertKeyVersion(KeyInterface $key): void
 {
 $protocol = static::getProtocol();
 if (!$key->getProtocol() instanceof $protocol) {
 throw new PaserkException("Invalid version for this secret key");
 }
 }
 }
 
 |