From a800c468aab82652df86e4b617a7031c2bcd659e Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Fri, 5 Aug 2022 18:50:28 +0200 Subject: [PATCH] Remove dependency to moontoast/math (#426) --- composer.json | 1 - composer.lock | 299 +-------------------------------- tests/ExpectedBehaviorTest.php | 8 +- 3 files changed, 6 insertions(+), 302 deletions(-) diff --git a/composer.json b/composer.json index 1c28f55..30f8772 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,6 @@ "doctrine/annotations": "^1.8", "ergebnis/composer-normalize": "^2.15", "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", "paragonie/random-lib": "^2", "php-mock/php-mock": "^2.2", "php-mock/php-mock-mockery": "^1.3", diff --git a/composer.lock b/composer.lock index a163200..b571a29 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a25c72a5ef6192080af4cfe5d691337d", + "content-hash": "227da91de956a241ca6a1b432425d51e", "packages": [ { "name": "brick/math", @@ -1829,61 +1829,6 @@ }, "time": "2022-01-20T13:18:17+00:00" }, - { - "name": "moontoast/math", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/ramsey/moontoast-math.git", - "reference": "5f47d34c87767dbcc08b30377a9827df71de91fa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/moontoast-math/zipball/5f47d34c87767dbcc08b30377a9827df71de91fa", - "reference": "5f47d34c87767dbcc08b30377a9827df71de91fa", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpseclib/bcmath_compat": ">=1.0.3" - }, - "require-dev": { - "jakub-onderka/php-parallel-lint": "^0.9.0", - "phpunit/phpunit": "^4.8 || ^5.5 || ^6.5 || ^7.0", - "satooshi/php-coveralls": "^0.6.1", - "squizlabs/php_codesniffer": "^2.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Moontoast\\Math\\": "src/Moontoast/Math", - "Moontoast\\Math\\Exception\\": "src/Moontoast/Math/Exception" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A mathematics library, providing functionality for large numbers", - "homepage": "https://github.com/ramsey/moontoast-math", - "keywords": [ - "bcmath", - "math" - ], - "support": { - "issues": "https://github.com/ramsey/moontoast-math/issues", - "source": "https://github.com/ramsey/moontoast-math" - }, - "abandoned": "brick/math", - "time": "2020-01-05T04:49:34+00:00" - }, { "name": "myclabs/deep-copy", "version": "1.11.0", @@ -2103,73 +2048,6 @@ }, "time": "2019-03-29T20:06:56+00:00" }, - { - "name": "paragonie/constant_time_encoding", - "version": "v2.5.0", - "source": { - "type": "git", - "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "9229e15f2e6ba772f0c55dd6986c563b937170a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/9229e15f2e6ba772f0c55dd6986c563b937170a8", - "reference": "9229e15f2e6ba772f0c55dd6986c563b937170a8", - "shasum": "" - }, - "require": { - "php": "^7|^8" - }, - "require-dev": { - "phpunit/phpunit": "^6|^7|^8|^9", - "vimeo/psalm": "^1|^2|^3|^4" - }, - "type": "library", - "autoload": { - "psr-4": { - "ParagonIE\\ConstantTime\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com", - "role": "Maintainer" - }, - { - "name": "Steve 'Sc00bz' Thomas", - "email": "steve@tobtu.com", - "homepage": "https://www.tobtu.com", - "role": "Original Developer" - } - ], - "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", - "keywords": [ - "base16", - "base32", - "base32_decode", - "base32_encode", - "base64", - "base64_decode", - "base64_encode", - "bin2hex", - "encoding", - "hex", - "hex2bin", - "rfc4648" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/constant_time_encoding/issues", - "source": "https://github.com/paragonie/constant_time_encoding" - }, - "time": "2022-01-17T05:32:27+00:00" - }, { "name": "paragonie/random-lib", "version": "v2.0.1", @@ -3083,179 +2961,6 @@ }, "time": "2022-01-04T19:58:01+00:00" }, - { - "name": "phpseclib/bcmath_compat", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/bcmath_compat.git", - "reference": "2ffea8bfe1702b4535a7b3c2649c4301968e9a3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/bcmath_compat/zipball/2ffea8bfe1702b4535a7b3c2649c4301968e9a3c", - "reference": "2ffea8bfe1702b4535a7b3c2649c4301968e9a3c", - "shasum": "" - }, - "require": { - "phpseclib/phpseclib": "^3.0" - }, - "provide": { - "ext-bcmath": "8.1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35|^5.7|^6.0|^9.4", - "squizlabs/php_codesniffer": "^3.0" - }, - "suggest": { - "ext-gmp": "Will enable faster math operations" - }, - "type": "library", - "autoload": { - "files": [ - "lib/bcmath.php" - ], - "psr-4": { - "bcmath_compat\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "homepage": "http://phpseclib.sourceforge.net" - } - ], - "description": "PHP 5.x-8.x polyfill for bcmath extension", - "keywords": [ - "BigInteger", - "bcmath", - "bigdecimal", - "math", - "polyfill" - ], - "support": { - "email": "terrafrost@php.net", - "issues": "https://github.com/phpseclib/bcmath_compat/issues", - "source": "https://github.com/phpseclib/bcmath_compat" - }, - "time": "2021-12-16T02:35:52+00:00" - }, - { - "name": "phpseclib/phpseclib", - "version": "3.0.13", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "1443ab79364eea48665fa8c09ac67f37d1025f7e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/1443ab79364eea48665fa8c09ac67f37d1025f7e", - "reference": "1443ab79364eea48665fa8c09ac67f37d1025f7e", - "shasum": "" - }, - "require": { - "paragonie/constant_time_encoding": "^1|^2", - "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": ">=5.6.1" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "^5.7|^6.0|^9.4", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib3\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "support": { - "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.13" - }, - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2022-01-30T08:50:05+00:00" - }, { "name": "phpspec/prophecy", "version": "v1.15.0", @@ -6667,5 +6372,5 @@ "ext-json": "*" }, "platform-dev": [], - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.3.0" } diff --git a/tests/ExpectedBehaviorTest.php b/tests/ExpectedBehaviorTest.php index c474c06..82ae7eb 100644 --- a/tests/ExpectedBehaviorTest.php +++ b/tests/ExpectedBehaviorTest.php @@ -2,7 +2,7 @@ namespace Ramsey\Uuid\Test; -use Moontoast\Math\BigNumber; +use Brick\Math\BigInteger; use Ramsey\Uuid\Builder\DegradedUuidBuilder; use Ramsey\Uuid\Codec\CodecInterface; use Ramsey\Uuid\Codec\TimestampFirstCombCodec; @@ -246,12 +246,12 @@ class ExpectedBehaviorTest extends TestCase { $leastSignificantBitsHex = substr(str_replace('-', '', $string), 16); $mostSignificantBitsHex = substr(str_replace('-', '', $string), 0, 16); - $leastSignificantBits = BigNumber::convertToBase10($leastSignificantBitsHex, 16); - $mostSignificantBits = BigNumber::convertToBase10($mostSignificantBitsHex, 16); + $leastSignificantBits = BigInteger::fromBase($leastSignificantBitsHex, 16)->__toString(); + $mostSignificantBits = BigInteger::fromBase($mostSignificantBitsHex, 16)->__toString(); $components = explode('-', $string); array_walk($components, function (&$value) { - $value = BigNumber::convertToBase10($value, 16); + $value = BigInteger::fromBase($value, 16)->__toString(); }); $clockSeq = (int) $components[3] & 0x3fff;