Change toWei.

This commit is contained in:
sc0Vu 2017-12-25 09:54:58 +08:00
parent 46c252a44e
commit 7c1755cc9c
2 changed files with 16 additions and 5 deletions

View File

@ -172,8 +172,10 @@ class Utils
} elseif (is_string($number)) { } elseif (is_string($number)) {
if (self::isZeroPrefixed($number)) { if (self::isZeroPrefixed($number)) {
$number = self::stripZero($number); $number = self::stripZero($number);
$bn = new BigNumber($number, 16);
} else {
$bn = new BigNumber($number);
} }
$bn = new BigNumber($number, 16);
} elseif (!$number instanceof BigNumber){ } elseif (!$number instanceof BigNumber){
throw new InvalidArgumentException('toWei number must be BigNumber, string or int.'); throw new InvalidArgumentException('toWei number must be BigNumber, string or int.');
} }

View File

@ -122,14 +122,18 @@ class UtilsTest extends TestCase
$this->assertEquals($bn->toString(), '1'); $this->assertEquals($bn->toString(), '1');
$bn = Utils::toWei('1', 'wei'); $bn = Utils::toWei('18', 'wei');
$this->assertEquals($bn->toString(), '1'); $this->assertEquals($bn->toString(), '18');
$bn = Utils::toWei(1, 'wei'); $bn = Utils::toWei(1, 'wei');
$this->assertEquals($bn->toString(), '1'); $this->assertEquals($bn->toString(), '1');
$bn = Utils::toWei(0x11, 'wei');
$this->assertEquals($bn->toString(), '17');
$bn = Utils::toWei('1', 'ether'); $bn = Utils::toWei('1', 'ether');
$this->assertEquals($bn->toString(), '1000000000000000000'); $this->assertEquals($bn->toString(), '1000000000000000000');
@ -151,16 +155,21 @@ class UtilsTest extends TestCase
$this->assertEquals($bnq->toString(), '0'); $this->assertEquals($bnq->toString(), '0');
$this->assertEquals($bnr->toString(), '1'); $this->assertEquals($bnr->toString(), '1');
list($bnq, $bnr) = Utils::toEther('1', 'wei'); list($bnq, $bnr) = Utils::toEther('18', 'wei');
$this->assertEquals($bnq->toString(), '0'); $this->assertEquals($bnq->toString(), '0');
$this->assertEquals($bnr->toString(), '1'); $this->assertEquals($bnr->toString(), '18');
list($bnq, $bnr) = Utils::toEther(1, 'wei'); list($bnq, $bnr) = Utils::toEther(1, 'wei');
$this->assertEquals($bnq->toString(), '0'); $this->assertEquals($bnq->toString(), '0');
$this->assertEquals($bnr->toString(), '1'); $this->assertEquals($bnr->toString(), '1');
list($bnq, $bnr) = Utils::toEther(0x11, 'wei');
$this->assertEquals($bnq->toString(), '0');
$this->assertEquals($bnr->toString(), '17');
list($bnq, $bnr) = Utils::toEther('1', 'kether'); list($bnq, $bnr) = Utils::toEther('1', 'kether');
$this->assertEquals($bnq->toString(), '1000'); $this->assertEquals($bnq->toString(), '1000');