diff --git a/src/Crypto/EcAdapter/Impl/Secp256k1/Adapter/EcAdapter.php b/src/Crypto/EcAdapter/Impl/Secp256k1/Adapter/EcAdapter.php index 334806d81..49494d53e 100644 --- a/src/Crypto/EcAdapter/Impl/Secp256k1/Adapter/EcAdapter.php +++ b/src/Crypto/EcAdapter/Impl/Secp256k1/Adapter/EcAdapter.php @@ -44,7 +44,7 @@ class EcAdapter implements EcAdapterInterface */ public function __construct(Math $math, GeneratorPoint $generator, $secp256k1_context_t) { - if (!is_resource($secp256k1_context_t) || !get_resource_type($secp256k1_context_t) === SECP256K1_TYPE_CONTEXT) { + if (!is_resource($secp256k1_context_t) || get_resource_type($secp256k1_context_t) !== SECP256K1_TYPE_CONTEXT) { throw new \InvalidArgumentException('Secp256k1: Must pass a secp256k1_context_t resource'); } diff --git a/src/Crypto/EcAdapter/Impl/Secp256k1/Key/PublicKey.php b/src/Crypto/EcAdapter/Impl/Secp256k1/Key/PublicKey.php index 649bf55af..4db7ab3d4 100644 --- a/src/Crypto/EcAdapter/Impl/Secp256k1/Key/PublicKey.php +++ b/src/Crypto/EcAdapter/Impl/Secp256k1/Key/PublicKey.php @@ -38,8 +38,7 @@ class PublicKey extends Key implements PublicKeyInterface */ public function __construct(EcAdapter $ecAdapter, $secp256k1_pubkey_t, bool $compressed = false) { - if (!is_resource($secp256k1_pubkey_t) || - !get_resource_type($secp256k1_pubkey_t) === SECP256K1_TYPE_PUBKEY) { + if (!is_resource($secp256k1_pubkey_t) || get_resource_type($secp256k1_pubkey_t) !== SECP256K1_TYPE_PUBKEY) { throw new \InvalidArgumentException('Secp256k1\Key\PublicKey expects ' . SECP256K1_TYPE_PUBKEY . ' resource'); } diff --git a/src/Crypto/EcAdapter/Impl/Secp256k1/Signature/CompactSignature.php b/src/Crypto/EcAdapter/Impl/Secp256k1/Signature/CompactSignature.php index 7a80c2219..e0bb0f09a 100644 --- a/src/Crypto/EcAdapter/Impl/Secp256k1/Signature/CompactSignature.php +++ b/src/Crypto/EcAdapter/Impl/Secp256k1/Signature/CompactSignature.php @@ -39,9 +39,7 @@ class CompactSignature extends Signature implements CompactSignatureInterface */ public function __construct(EcAdapter $ecAdapter, $secp256k1_ecdsa_signature_t, int $recid, bool $compressed) { - if (!is_resource($secp256k1_ecdsa_signature_t) - || SECP256K1_TYPE_RECOVERABLE_SIG !== get_resource_type($secp256k1_ecdsa_signature_t) - ) { + if (!is_resource($secp256k1_ecdsa_signature_t) || SECP256K1_TYPE_RECOVERABLE_SIG !== get_resource_type($secp256k1_ecdsa_signature_t)) { throw new \RuntimeException('CompactSignature: must pass recoverable signature resource'); } diff --git a/src/Crypto/EcAdapter/Impl/Secp256k1/Signature/Signature.php b/src/Crypto/EcAdapter/Impl/Secp256k1/Signature/Signature.php index b792414cc..e363cd05c 100644 --- a/src/Crypto/EcAdapter/Impl/Secp256k1/Signature/Signature.php +++ b/src/Crypto/EcAdapter/Impl/Secp256k1/Signature/Signature.php @@ -40,9 +40,7 @@ class Signature extends Serializable implements SignatureInterface */ public function __construct(EcAdapter $adapter, \GMP $r, \GMP $s, $secp256k1_ecdsa_signature_t) { - if (!is_resource($secp256k1_ecdsa_signature_t) || - !get_resource_type($secp256k1_ecdsa_signature_t) === SECP256K1_TYPE_SIG - ) { + if (!is_resource($secp256k1_ecdsa_signature_t) || get_resource_type($secp256k1_ecdsa_signature_t) !== SECP256K1_TYPE_SIG) { throw new \InvalidArgumentException('Secp256k1\Signature\Signature expects ' . SECP256K1_TYPE_SIG . ' resource'); } diff --git a/tests/Crypto/EcAdapter/Impl/Secp256k1/Adapter/EcAdapterTest.php b/tests/Crypto/EcAdapter/Impl/Secp256k1/Adapter/EcAdapterTest.php new file mode 100644 index 000000000..2adf4f660 --- /dev/null +++ b/tests/Crypto/EcAdapter/Impl/Secp256k1/Adapter/EcAdapterTest.php @@ -0,0 +1,37 @@ +markTestSkipped("secp256k1 not installed"); + } + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage("Secp256k1: Must pass a secp256k1_context_t resource"); + $this->callConstructor(""); + } + public function testContextWrongResource() + { + if (!function_exists('secp256k1_context_create')) { + $this->markTestSkipped("secp256k1 not installed"); + } + $ctx = gmp_init(1); + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage("Secp256k1: Must pass a secp256k1_context_t resource"); + $this->callConstructor($ctx); + } +} \ No newline at end of file diff --git a/tests/Crypto/EcAdapter/Impl/Secp256k1/Key/PublicKeyTest.php b/tests/Crypto/EcAdapter/Impl/Secp256k1/Key/PublicKeyTest.php new file mode 100644 index 000000000..52c43d14a --- /dev/null +++ b/tests/Crypto/EcAdapter/Impl/Secp256k1/Key/PublicKeyTest.php @@ -0,0 +1,36 @@ +markTestSkipped("secp256k1 not installed"); + } + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Secp256k1\Key\PublicKey expects ' . SECP256K1_TYPE_PUBKEY . ' resource'); + $this->callConstructor(""); + } + public function testWrongResourceType() + { + if (!function_exists('secp256k1_context_create')) { + $this->markTestSkipped("secp256k1 not installed"); + } + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Secp256k1\Key\PublicKey expects ' . SECP256K1_TYPE_PUBKEY . ' resource'); + $this->callConstructor(gmp_init(1)); + } +} \ No newline at end of file diff --git a/tests/Crypto/EcAdapter/Impl/Secp256k1/Signature/CompactSignatureTest.php b/tests/Crypto/EcAdapter/Impl/Secp256k1/Signature/CompactSignatureTest.php new file mode 100644 index 000000000..2b9f40ad8 --- /dev/null +++ b/tests/Crypto/EcAdapter/Impl/Secp256k1/Signature/CompactSignatureTest.php @@ -0,0 +1,36 @@ +markTestSkipped("secp256k1 not installed"); + } + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('CompactSignature: must pass recoverable signature resource'); + $this->callConstructor(""); + } + public function testWrongResourceType() + { + if (!function_exists('secp256k1_context_create')) { + $this->markTestSkipped("secp256k1 not installed"); + } + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('CompactSignature: must pass recoverable signature resource'); + $this->callConstructor(gmp_init(1)); + } +} \ No newline at end of file diff --git a/tests/Crypto/EcAdapter/Impl/Secp256k1/Signature/SignatureTest.php b/tests/Crypto/EcAdapter/Impl/Secp256k1/Signature/SignatureTest.php new file mode 100644 index 000000000..0a92ba032 --- /dev/null +++ b/tests/Crypto/EcAdapter/Impl/Secp256k1/Signature/SignatureTest.php @@ -0,0 +1,35 @@ +markTestSkipped("secp256k1 not installed"); + } + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('CompactSignature: must pass recoverable signature resource'); + $this->callConstructor(""); + } + public function testWrongResourceType() + { + if (!function_exists('secp256k1_context_create')) { + $this->markTestSkipped("secp256k1 not installed"); + } + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('CompactSignature: must pass recoverable signature resource'); + $this->callConstructor(gmp_init(1)); + } +} \ No newline at end of file