diff --git a/composer.json b/composer.json index 8934b01b7..cb8e79446 100644 --- a/composer.json +++ b/composer.json @@ -33,7 +33,8 @@ "symfony/http-foundation": "~3.0", "mdanter/ecc": "~0.4", "bitwasp/buffertools": "~0.3", - "bitwasp/secp256k1-php": "~0.0.7" + "bitwasp/secp256k1-php": "~0.0.7", + "composer/semver": "~1.4.0" }, "require-dev": { "ext-json": "*", diff --git a/src/Crypto/EcAdapter/EcAdapterFactory.php b/src/Crypto/EcAdapter/EcAdapterFactory.php index 21b5ec554..a0fced467 100644 --- a/src/Crypto/EcAdapter/EcAdapterFactory.php +++ b/src/Crypto/EcAdapter/EcAdapterFactory.php @@ -4,6 +4,7 @@ use BitWasp\Bitcoin\Crypto\EcAdapter\Adapter\EcAdapterInterface; use BitWasp\Bitcoin\Math\Math; +use Composer\Semver\Semver; use Mdanter\Ecc\Primitives\GeneratorPoint; use BitWasp\Bitcoin\Crypto\EcAdapter\Impl\PhpEcc\Adapter\EcAdapter as PhpEcc; use BitWasp\Bitcoin\Crypto\EcAdapter\Impl\Secp256k1\Adapter\EcAdapter as Secp256k1; @@ -48,7 +49,7 @@ public static function getAdapter(Math $math, GeneratorPoint $generator) return self::$adapter; } - if (extension_loaded('secp256k1')) { + if (extension_loaded('secp256k1') && Semver::satisfies(phpversion('secp256k1'), "~0.1.0")) { self::$adapter = self::getSecp256k1($math, $generator); } else { self::$adapter = self::getPhpEcc($math, $generator);