From 037629998fe8c951d3c692cc017d48aa33784df2 Mon Sep 17 00:00:00 2001 From: leekt216 Date: Wed, 11 Jul 2018 23:03:00 +0900 Subject: [PATCH 1/4] fixed typo --- src/pow.cpp | 2 +- src/qt/locale/bitcoin_ar.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pow.cpp b/src/pow.cpp index 4f1e9ce9ec..408651811b 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -28,7 +28,7 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead bool postfork = nHeight >= params.BTGHeight; if (postfork == false) { - // Original Bitcion PoW. + // Original Bitcoin PoW. return BitcoinGetNextWorkRequired(pindexLast, pblock, params); } else if (nHeight < params.BTGHeight + params.BTGPremineWindow) { diff --git a/src/qt/locale/bitcoin_ar.ts b/src/qt/locale/bitcoin_ar.ts index 68c69038fd..864f39a4f8 100644 --- a/src/qt/locale/bitcoin_ar.ts +++ b/src/qt/locale/bitcoin_ar.ts @@ -63,11 +63,11 @@ These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins. - هذه هي عناوين Bitcion التابعة لك من أجل إرسال الدفعات. تحقق دائما من المبلغ و عنوان المرسل المستقبل قبل إرسال العملات + هذه هي عناوين Bitcoin التابعة لك من أجل إرسال الدفعات. تحقق دائما من المبلغ و عنوان المرسل المستقبل قبل إرسال العملات These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction. - هذه هي عناوين Bitcion التابعة لك من أجل إستقبال الدفعات. ينصح استخدام عنوان جديد من أجل كل صفقة + هذه هي عناوين Bitcoin التابعة لك من أجل إستقبال الدفعات. ينصح استخدام عنوان جديد من أجل كل صفقة &Copy Address @@ -2052,4 +2052,4 @@ خطأ - \ No newline at end of file + From eb0c6360d9c53b1439618f2a60fa3c2fccc4cb76 Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Mon, 17 Sep 2018 15:50:55 -0400 Subject: [PATCH 2/4] Fix crash bug with duplicate inputs within a transaction Introduced by #9049 --- src/validation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validation.cpp b/src/validation.cpp index 1ffdec9806..9175f32654 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -2868,7 +2868,7 @@ bool CheckBlock(const CBlock& block, CValidationState& state, const Consensus::P // Check transactions for (const auto& tx : block.vtx) - if (!CheckTransaction(*tx, state, false)) + if (!CheckTransaction(*tx, state, true)) return state.Invalid(false, state.GetRejectCode(), state.GetRejectReason(), strprintf("Transaction check failed (tx hash %s) %s", tx->GetHash().ToString(), state.GetDebugMessage())); From 374e5a3aa344332699e9fb85d1a8d95572e92ebc Mon Sep 17 00:00:00 2001 From: Suhas Daftuar Date: Mon, 17 Sep 2018 15:52:01 -0400 Subject: [PATCH 3/4] [qa] Test for duplicate inputs within a transaction --- test/functional/invalidblockrequest.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/functional/invalidblockrequest.py b/test/functional/invalidblockrequest.py index eabc0db8df..ecee5c047e 100755 --- a/test/functional/invalidblockrequest.py +++ b/test/functional/invalidblockrequest.py @@ -97,6 +97,17 @@ def get_tests(self): yield TestInstance([[block2, RejectResult(16, b'bad-txns-duplicate')], [block2_orig, True]]) height += 1 + + # Check transactions for duplicate inputs + self.log.info("Test duplicate input block.") + + block2_orig.vtx[2].vin.append(block2_orig.vtx[2].vin[0]) + block2_orig.vtx[2].rehash() + block2_orig.hashMerkleRoot = block2_orig.calc_merkle_root() + block2_orig.rehash() + block2_orig.solve() + yield TestInstance([[block2_orig, RejectResult(16, b'bad-txns-inputs-duplicate')]]) + ''' Make sure that a totally screwed up block is not valid. ''' From f53110ce0b1074e73443719b4175ad9c4490d519 Mon Sep 17 00:00:00 2001 From: h4x3rotab Date: Wed, 19 Sep 2018 21:30:56 +0800 Subject: [PATCH 4/4] Bump the version to 0.15.2 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 0dfefff40c..93dade7761 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 15) -define(_CLIENT_VERSION_REVISION, 1) +define(_CLIENT_VERSION_REVISION, 2) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2018)