From a7a5646f2a62cc700218cf310fabcdcc3a047724 Mon Sep 17 00:00:00 2001 From: sc0Vu Date: Tue, 19 Dec 2017 15:52:17 +0800 Subject: [PATCH] personal_newAccount --- src/Personal.php | 8 ++++++++ test/unit/PersonalApiTest.php | 22 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/Personal.php b/src/Personal.php index 9405184..1b80148 100644 --- a/src/Personal.php +++ b/src/Personal.php @@ -15,6 +15,7 @@ use Web3\Providers\Provider; use Web3\Providers\HttpProvider; use Web3\RequestManagers\RequestManager; use Web3\RequestManagers\HttpRequestManager; +use Web3\Validators\StringValidator; class Personal { @@ -32,6 +33,13 @@ class Personal */ private $methods = [ 'personal_listAccounts' => [], + 'personal_newAccount' => [ + 'params' => [ + [ + 'validators' => StringValidator::class + ] + ] + ], ]; /** diff --git a/test/unit/PersonalApiTest.php b/test/unit/PersonalApiTest.php index f601e90..768cfb1 100644 --- a/test/unit/PersonalApiTest.php +++ b/test/unit/PersonalApiTest.php @@ -48,6 +48,28 @@ class PersonalApiTest extends TestCase }); } + /** + * testNewAccount + * + * @return void + */ + public function testNewAccount() + { + $personal = $this->personal; + + $personal->newAccount('123456', function ($err, $account) { + if ($err !== null) { + // infura banned us to use new account + return $this->assertTrue($err->getCode() === 405); + } + if (isset($account->result)) { + $this->assertTrue(is_array($account->result)); + } else { + $this->fail($account->error->message); + } + }); + } + /** * testUnallowedMethod *