parent
4eaebd48aa
commit
4fd5d1ab67
@ -284,9 +284,7 @@ class Utils
|
||||
|
||||
if (is_array($bn)) {
|
||||
// fraction number
|
||||
list($whole, $fraction, $negative1) = $bn;
|
||||
|
||||
$fractionLength = strlen($fraction->toString());
|
||||
list($whole, $fraction, $fractionLength, $negative1) = $bn;
|
||||
|
||||
if ($fractionLength > strlen(self::UNITS[$unit])) {
|
||||
throw new InvalidArgumentException('toWei fraction part is out of limit.');
|
||||
@ -504,6 +502,7 @@ class Utils
|
||||
return [
|
||||
new BigNumber($whole),
|
||||
new BigNumber($fraction),
|
||||
strlen($comps[1]),
|
||||
isset($negative1) ? $negative1 : false
|
||||
];
|
||||
} else {
|
||||
|
@ -275,12 +275,24 @@ class UtilsTest extends TestCase
|
||||
$bn = Utils::toWei('1.69', 'ether');
|
||||
$this->assertEquals($bn->toString(), '1690000000000000000');
|
||||
|
||||
$bn = Utils::toWei('0.01', 'ether');
|
||||
$this->assertEquals($bn->toString(), '10000000000000000');
|
||||
|
||||
$bn = Utils::toWei('0.002', 'ether');
|
||||
$this->assertEquals($bn->toString(), '2000000000000000');
|
||||
|
||||
$bn = Utils::toWei(0.1, 'ether');
|
||||
$this->assertEquals($bn->toString(), '100000000000000000');
|
||||
|
||||
$bn = Utils::toWei(1.69, 'ether');
|
||||
$this->assertEquals($bn->toString(), '1690000000000000000');
|
||||
|
||||
$bn = Utils::toWei(0.01, 'ether');
|
||||
$this->assertEquals($bn->toString(), '10000000000000000');
|
||||
|
||||
$bn = Utils::toWei(0.002, 'ether');
|
||||
$this->assertEquals($bn->toString(), '2000000000000000');
|
||||
|
||||
$bn = Utils::toWei('-0.1', 'ether');
|
||||
$this->assertEquals($bn->toString(), '-100000000000000000');
|
||||
|
||||
@ -541,39 +553,45 @@ class UtilsTest extends TestCase
|
||||
$this->assertEquals($bn->toString(), '-1');
|
||||
|
||||
$bn = Utils::toBn('-0.1');
|
||||
$this->assertEquals(count($bn), 3);
|
||||
$this->assertEquals(count($bn), 4);
|
||||
$this->assertEquals($bn[0]->toString(), '0');
|
||||
$this->assertEquals($bn[1]->toString(), '1');
|
||||
$this->assertEquals($bn[2]->toString(), '-1');
|
||||
$this->assertEquals($bn[2], 1);
|
||||
$this->assertEquals($bn[3]->toString(), '-1');
|
||||
|
||||
$bn = Utils::toBn(-0.1);
|
||||
$this->assertEquals(count($bn), 3);
|
||||
$this->assertEquals(count($bn), 4);
|
||||
$this->assertEquals($bn[0]->toString(), '0');
|
||||
$this->assertEquals($bn[1]->toString(), '1');
|
||||
$this->assertEquals($bn[2]->toString(), '-1');
|
||||
$this->assertEquals($bn[2], 1);
|
||||
$this->assertEquals($bn[3]->toString(), '-1');
|
||||
|
||||
$bn = Utils::toBn('0.1');
|
||||
$this->assertEquals(count($bn), 3);
|
||||
$this->assertEquals(count($bn), 4);
|
||||
$this->assertEquals($bn[0]->toString(), '0');
|
||||
$this->assertEquals($bn[1]->toString(), '1');
|
||||
$this->assertEquals($bn[2], false);
|
||||
$this->assertEquals($bn[2], 1);
|
||||
$this->assertEquals($bn[3], false);
|
||||
|
||||
$bn = Utils::toBn('-1.69');
|
||||
$this->assertEquals(count($bn), 3);
|
||||
$this->assertEquals(count($bn), 4);
|
||||
$this->assertEquals($bn[0]->toString(), '1');
|
||||
$this->assertEquals($bn[1]->toString(), '69');
|
||||
$this->assertEquals($bn[2]->toString(), '-1');
|
||||
$this->assertEquals($bn[2], 2);
|
||||
$this->assertEquals($bn[3]->toString(), '-1');
|
||||
|
||||
$bn = Utils::toBn(-1.69);
|
||||
$this->assertEquals($bn[0]->toString(), '1');
|
||||
$this->assertEquals($bn[1]->toString(), '69');
|
||||
$this->assertEquals($bn[2]->toString(), '-1');
|
||||
$this->assertEquals($bn[2], 2);
|
||||
$this->assertEquals($bn[3]->toString(), '-1');
|
||||
|
||||
$bn = Utils::toBn('1.69');
|
||||
$this->assertEquals(count($bn), 3);
|
||||
$this->assertEquals(count($bn), 4);
|
||||
$this->assertEquals($bn[0]->toString(), '1');
|
||||
$this->assertEquals($bn[1]->toString(), '69');
|
||||
$this->assertEquals($bn[2], false);
|
||||
$this->assertEquals($bn[2], 2);
|
||||
$this->assertEquals($bn[3], false);
|
||||
|
||||
$bn = Utils::toBn(new BigNumber(1));
|
||||
$this->assertEquals($bn->toString(), '1');
|
||||
|
Loading…
Reference in New Issue
Block a user