upgrade to phpseclib3
This commit is contained in:
parent
1b73688a8e
commit
6cfcc24bb5
@ -13,7 +13,7 @@
|
||||
"guzzlehttp/guzzle": "^6.3|^7.0",
|
||||
"PHP": "^7.2|^8.0",
|
||||
"kornrunner/keccak": "~1.0",
|
||||
"phpseclib/phpseclib": "~2.0.30",
|
||||
"phpseclib/phpseclib": "~3.0",
|
||||
"ext-mbstring": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
|
@ -11,11 +11,12 @@
|
||||
|
||||
namespace Web3;
|
||||
|
||||
use phpseclib3\Math\BigInteger;
|
||||
use RuntimeException;
|
||||
use InvalidArgumentException;
|
||||
use stdClass;
|
||||
use kornrunner\Keccak;
|
||||
use phpseclib\Math\BigInteger as BigNumber;
|
||||
use phpseclib3\Math\BigInteger as BigNumber;
|
||||
|
||||
class Utils
|
||||
{
|
||||
@ -293,7 +294,7 @@ class Utils
|
||||
*
|
||||
* @param BigNumber|string $number
|
||||
* @param string $unit
|
||||
* @return \phpseclib\Math\BigInteger
|
||||
* @return \phpseclib3\Math\BigInteger
|
||||
*/
|
||||
public static function toWei($number, $unit)
|
||||
{
|
||||
@ -319,26 +320,7 @@ class Utils
|
||||
}
|
||||
$whole = $whole->multiply($bnt);
|
||||
|
||||
// There is no pow function in phpseclib 2.0, only can see in dev-master
|
||||
// Maybe implement own biginteger in the future
|
||||
// See 2.0 BigInteger: https://github.com/phpseclib/phpseclib/blob/2.0/phpseclib/Math/BigInteger.php
|
||||
// See dev-master BigInteger: https://github.com/phpseclib/phpseclib/blob/master/phpseclib/Math/BigInteger.php#L700
|
||||
// $base = (new BigNumber(10))->pow(new BigNumber($fractionLength));
|
||||
|
||||
// So we switch phpseclib special global param, change in the future
|
||||
switch (MATH_BIGINTEGER_MODE) {
|
||||
case $whole::MODE_GMP:
|
||||
static $two;
|
||||
$powerBase = gmp_pow(gmp_init(10), (int) $fractionLength);
|
||||
break;
|
||||
case $whole::MODE_BCMATH:
|
||||
$powerBase = bcpow('10', (string) $fractionLength, 0);
|
||||
break;
|
||||
default:
|
||||
$powerBase = pow(10, (int) $fractionLength);
|
||||
break;
|
||||
}
|
||||
$base = new BigNumber($powerBase);
|
||||
$base = (new BigNumber(10))->pow(new BigNumber($fractionLength));
|
||||
$fraction = $fraction->multiply($bnt)->divide($base)[0];
|
||||
|
||||
if ($negative1 !== false) {
|
||||
@ -381,7 +363,7 @@ class Utils
|
||||
*
|
||||
* @param BigNumber|string|int $number
|
||||
* @param string $unit
|
||||
* @return \phpseclib\Math\BigInteger
|
||||
* @return \phpseclib3\Math\BigInteger
|
||||
*/
|
||||
public static function fromWei($number, $unit)
|
||||
{
|
||||
@ -484,7 +466,7 @@ class Utils
|
||||
* Change number or number string to bignumber.
|
||||
*
|
||||
* @param BigNumber|string|int $number
|
||||
* @return array|\phpseclib\Math\BigInteger
|
||||
* @return array|\phpseclib3\Math\BigInteger
|
||||
*/
|
||||
public static function toBn($number)
|
||||
{
|
||||
|
@ -3,7 +3,7 @@
|
||||
namespace Test\Unit;
|
||||
|
||||
use Test\TestCase;
|
||||
use phpseclib\Math\BigInteger as BigNumber;
|
||||
use phpseclib3\Math\BigInteger as BigNumber;
|
||||
use Web3\Formatters\BigNumberFormatter;
|
||||
|
||||
class BigNumberFormatterTest extends TestCase
|
||||
|
@ -10,7 +10,7 @@ use Web3\Contract;
|
||||
use Web3\Utils;
|
||||
use Web3\Contracts\Ethabi;
|
||||
use Web3\Formatters\IntegerFormatter;
|
||||
use phpseclib\Math\BigInteger as BigNumber;
|
||||
use phpseclib3\Math\BigInteger as BigNumber;
|
||||
|
||||
class ContractTest extends TestCase
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ namespace Test\Unit;
|
||||
use RuntimeException;
|
||||
use InvalidArgumentException;
|
||||
use Test\TestCase;
|
||||
use phpseclib\Math\BigInteger as BigNumber;
|
||||
use phpseclib3\Math\BigInteger as BigNumber;
|
||||
|
||||
class EthApiTest extends TestCase
|
||||
{
|
||||
|
@ -4,7 +4,7 @@ namespace Test\Unit;
|
||||
|
||||
use RuntimeException;
|
||||
use Test\TestCase;
|
||||
use phpseclib\Math\BigInteger as BigNumber;
|
||||
use phpseclib3\Math\BigInteger as BigNumber;
|
||||
|
||||
class EthBatchTest extends TestCase
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ namespace Test\Unit;
|
||||
use RuntimeException;
|
||||
use InvalidArgumentException;
|
||||
use Test\TestCase;
|
||||
use phpseclib\Math\BigInteger as BigNumber;
|
||||
use phpseclib3\Math\BigInteger as BigNumber;
|
||||
|
||||
class NetApiTest extends TestCase
|
||||
{
|
||||
|
@ -4,7 +4,7 @@ namespace Test\Unit;
|
||||
|
||||
use RuntimeException;
|
||||
use Test\TestCase;
|
||||
use phpseclib\Math\BigInteger as BigNumber;
|
||||
use phpseclib3\Math\BigInteger as BigNumber;
|
||||
|
||||
class NetBatchTest extends TestCase
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ namespace Test\Unit;
|
||||
use InvalidArgumentException;
|
||||
use stdClass;
|
||||
use Test\TestCase;
|
||||
use phpseclib\Math\BigInteger as BigNumber;
|
||||
use phpseclib3\Math\BigInteger as BigNumber;
|
||||
use Web3\Utils;
|
||||
use Web3\Contract;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user