From e5729b757cd1d7012c36d9a02843684fa1aa8eb0 Mon Sep 17 00:00:00 2001 From: sinabs Date: Wed, 8 Aug 2018 12:52:09 +0800 Subject: [PATCH 1/3] getTransactionReceipt result is NULL, Transaction status Pending but RequestManage class throw 'Something wrong happened' --- src/RequestManagers/HttpRequestManager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RequestManagers/HttpRequestManager.php b/src/RequestManagers/HttpRequestManager.php index 6405321..1ef6752 100644 --- a/src/RequestManagers/HttpRequestManager.php +++ b/src/RequestManagers/HttpRequestManager.php @@ -105,7 +105,7 @@ class HttpRequestManager extends RequestManager implements IRequestManager } else { call_user_func($callback, null, $results); } - } elseif (isset($json->result)) { + } elseif (property_exists($json,'result')) { call_user_func($callback, null, $json->result); } else { if (isset($json->error)) { From 1a9784da3022b61f5acc530e566eb8c0c008e5d6 Mon Sep 17 00:00:00 2001 From: sinabs Date: Wed, 8 Aug 2018 14:22:02 +0800 Subject: [PATCH 2/3] add code comments --- src/Eth.php | 46 ++++++++++++++++++++++ src/Personal.php | 9 ++++- src/RequestManagers/HttpRequestManager.php | 2 +- 3 files changed, 55 insertions(+), 2 deletions(-) diff --git a/src/Eth.php b/src/Eth.php index 42817b2..888eead 100644 --- a/src/Eth.php +++ b/src/Eth.php @@ -16,6 +16,52 @@ use Web3\Providers\HttpProvider; use Web3\RequestManagers\RequestManager; use Web3\RequestManagers\HttpRequestManager; +/** + * Class Eth + * @package Web3 + * @method int protocolVersion($callback) + * @method object|false eth_syncing($callback) + * @method string coinbase($callback) + * @method boolean mining($callback) + * @method string hashrate($callback) + * @method string gasPrice($callback) + * @method array accounts($callback) + * @method string blockNumber($callback) + * @method string getBalance(...$paramsAndcallback) + * @method string getStorageAt(...$paramsAndcallback) + * @method string getTransactionCount(...$paramsAndcallback) + * @method string getBlockTransactionCountByHash(...$paramsAndcallback) + * @method string getBlockTransactionCountByNumber(...$paramsAndcallback) + * @method string getUncleCountByBlockHash(...$paramsAndcallback) + * @method string getUncleCountByBlockNumber(...$paramsAndcallback) + * @method string getUncleByBlockHashAndIndex(...$paramsAndcallback) + * @method string getUncleByBlockNumberAndIndex(...$paramsAndcallback) + * @method string getCode(...$paramsAndcallback) + * @method string sign(...$paramsAndcallback) + * @method string sendTransaction(...$paramsAndcallback) + * @method string sendRawTransaction(...$paramsAndcallback) + * @method string call(...$paramsAndcallback) + * @method string estimateGas(...$paramsAndcallback) + * @method string getBlockByHash(...$paramsAndcallback) + * @method string getBlockByNumber(...$paramsAndcallback) + * @method string getTransactionByHash(...$paramsAndcallback) + * @method string getTransactionByBlockHashAndIndex(...$paramsAndcallback) + * @method string getTransactionReceipt(...$paramsAndcallback) + * @method string getCompilers(...$paramsAndcallback) + * @method string compileSolidity(...$paramsAndcallback) + * @method string compileLLL(...$paramsAndcallback) + * @method string compileSerpent(...$paramsAndcallback) + * @method string getWork(...$paramsAndcallback) + * @method string newFilter(...$paramsAndcallback) + * @method string newBlockFilter(...$paramsAndcallback) + * @method string newPendingTransactionFilter(...$paramsAndcallback) + * @method string uninstallFilter(...$paramsAndcallback) + * @method string getFilterChanges(...$paramsAndcallback) + * @method string getFilterLogs(...$paramsAndcallback) + * @method string getLogs(...$paramsAndcallback) + * @method string submitWork(...$paramsAndcallback) + * @method string submitHashrate(...$paramsAndcallback) + */ class Eth { /** diff --git a/src/Personal.php b/src/Personal.php index 77c5e4c..d638291 100644 --- a/src/Personal.php +++ b/src/Personal.php @@ -15,7 +15,14 @@ use Web3\Providers\Provider; use Web3\Providers\HttpProvider; use Web3\RequestManagers\RequestManager; use Web3\RequestManagers\HttpRequestManager; - +/** + * Class Personal + * @package Web3 + * @method array listAccounts($callback) + * @method array newAccount(...$paramsAndcallback) + * @method boolean unlockAccount(...$paramsAndcallback) + * @method string sendTransaction(...$paramsAndcallback) + */ class Personal { /** diff --git a/src/RequestManagers/HttpRequestManager.php b/src/RequestManagers/HttpRequestManager.php index 1ef6752..d30f9bb 100644 --- a/src/RequestManagers/HttpRequestManager.php +++ b/src/RequestManagers/HttpRequestManager.php @@ -89,7 +89,7 @@ class HttpRequestManager extends RequestManager implements IRequestManager $errors = []; foreach ($json as $result) { - if (isset($result->result)) { + if (property_exists($result,'result')) { $results[] = $result->result; } else { if (isset($json->error)) { From 6d59d3d3726b695fab38ff4c4fb0e6c76e2844a1 Mon Sep 17 00:00:00 2001 From: sinabs Date: Wed, 8 Aug 2018 14:59:25 +0800 Subject: [PATCH 3/3] Test transaction result maybe null --- test/unit/EthApiTest.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/unit/EthApiTest.php b/test/unit/EthApiTest.php index 5a267fb..28ca767 100644 --- a/test/unit/EthApiTest.php +++ b/test/unit/EthApiTest.php @@ -457,7 +457,7 @@ class EthApiTest extends TestCase if ($err !== null) { return $this->assertTrue($err !== null); } - $this->assertTrue($transaction !== null); + $this->assertTrue($transaction == null); }); } @@ -474,7 +474,7 @@ class EthApiTest extends TestCase if ($err !== null) { return $this->assertTrue($err !== null); } - $this->assertTrue($transaction !== null); + $this->assertTrue($transaction == null); }); } @@ -508,7 +508,7 @@ class EthApiTest extends TestCase if ($err !== null) { return $this->assertTrue($err !== null); } - $this->assertTrue($transaction !== null); + $this->assertTrue($transaction == null); }); }