diff --git a/src/Utils.php b/src/Utils.php new file mode 100644 index 0000000..7cea392 --- /dev/null +++ b/src/Utils.php @@ -0,0 +1,52 @@ +personal; } + /** + * getUtils + * + * @return \Web3\Utils + */ + public function getUtils() + { + if (!isset($this->utils)) { + $utils = new Utils; + $this->utils = $utils; + } + return $this->utils; + } + /** * batch * diff --git a/test/unit/UtilsTest.php b/test/unit/UtilsTest.php new file mode 100644 index 0000000..2b7b47d --- /dev/null +++ b/test/unit/UtilsTest.php @@ -0,0 +1,65 @@ +assertEquals($hex, $this->testHex); + + $hexPrefixed = Utils::toHex('hello world', true); + + $this->assertEquals($hexPrefixed, '0x' . $this->testHex); + } + + /** + * testHexToBin + * + * @return void + */ + public function testHexToBin() + { + $str = Utils::hexToBin($this->testHex); + + $this->assertEquals($str, 'hello world'); + + $str = Utils::hexToBin('0x' . $this->testHex); + + $this->assertEquals($str, 'hello world'); + + $str = Utils::hexToBin('0xe4b883e5bda9e7a59ee4bb99e9b1bc'); + + $this->assertEquals($str, '七彩神仙鱼'); + } +} \ No newline at end of file diff --git a/test/unit/Web3Test.php b/test/unit/Web3Test.php index c326ed0..3f33d67 100644 --- a/test/unit/Web3Test.php +++ b/test/unit/Web3Test.php @@ -8,6 +8,7 @@ use Web3\Web3; use Web3\Eth; use Web3\Net; use Web3\Personal; +use Web3\Utils; use Web3\Providers\HttpProvider; use Web3\RequestManagers\RequestManager; use Web3\RequestManagers\HttpRequestManager; @@ -54,6 +55,7 @@ class Web3Test extends TestCase $this->assertTrue($web3->eth instanceof Eth); $this->assertTrue($web3->net instanceof Net); $this->assertTrue($web3->personal instanceof Personal); + $this->assertTrue($web3->utils instanceof Utils); } /**