From 12fa045ba394d55b6caf901ac41810854a7f44e0 Mon Sep 17 00:00:00 2001 From: bogdanadnan Date: Thu, 7 Feb 2019 21:03:23 +0200 Subject: [PATCH] Add mining rewards to getBlockTransactions --- api.php | 10 +++++++++- doc/api_data.js | 7 +++++++ doc/api_data.json | 7 +++++++ include/transaction.inc.php | 7 ++++--- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/api.php b/api.php index 6ec819b..9fbc183 100755 --- a/api.php +++ b/api.php @@ -343,6 +343,7 @@ if ($q == "getAddress") { * * @apiParam {numeric} [height] Block Height * @apiParam {string} [block] Block id + * @apiParam {boolean} [includeMiningRewards] Include mining rewards * * @apiSuccess {string} block Block ID * @apiSuccess {numeric} confirmations Number of confirmations @@ -361,7 +362,14 @@ if ($q == "getAddress") { */ $height = san($data['height']); $block = san($data['block']); - $ret = $trx->get_transactions($height, $block); + $includeMiningRewards = san($data['includeMiningRewards'] ?? ''); + if(empty($includeMiningRewards) || $includeMiningRewards == '0' || $includeMiningRewards == 'false') + $includeMiningRewards = false; + else + $includeMiningRewards = true; + + $ret = $trx->get_transactions($height, $block, $includeMiningRewards); + if ($ret === false) { api_err("Invalid block"); } else { diff --git a/doc/api_data.js b/doc/api_data.js index e9adea5..8a4e33b 100644 --- a/doc/api_data.js +++ b/doc/api_data.js @@ -548,6 +548,13 @@ define({ "api": [ "optional": true, "field": "block", "description": "

Block id

" + }, + { + "group": "Parameter", + "type": "boolean", + "optional": true, + "field": "includeMiningRewards", + "description": "

Include mining rewards

" } ] } diff --git a/doc/api_data.json b/doc/api_data.json index adae6ec..834cc7e 100644 --- a/doc/api_data.json +++ b/doc/api_data.json @@ -548,6 +548,13 @@ "optional": true, "field": "block", "description": "

Block id

" + }, + { + "group": "Parameter", + "type": "boolean", + "optional": true, + "field": "includeMiningRewards", + "description": "

Include mining rewards

" } ] } diff --git a/include/transaction.inc.php b/include/transaction.inc.php index 164c410..1f3ac5e 100755 --- a/include/transaction.inc.php +++ b/include/transaction.inc.php @@ -601,7 +601,7 @@ class Transaction } // return the transactions for a specific block id or height - public function get_transactions($height = "", $id = "") + public function get_transactions($height = "", $id = "", $includeMiningRewards = false) { global $db; $block = new Block(); @@ -612,10 +612,11 @@ class Transaction if (empty($id) && empty($height)) { return false; } + $version_limit = $includeMiningRewards ? 0 : 1; if (!empty($id)) { - $r = $db->run("SELECT * FROM transactions WHERE block=:id AND version>0", [":id" => $id]); + $r = $db->run("SELECT * FROM transactions WHERE block=:id AND version >= :version", [":id" => $id, ":version" => $version_limit]); } else { - $r = $db->run("SELECT * FROM transactions WHERE height=:height AND version>0", [":height" => $height]); + $r = $db->run("SELECT * FROM transactions WHERE height=:height AND version >= :version", [":height" => $height, ":version" => $version_limit]); } $res = []; foreach ($r as $x) {