Commit Graph

143 Commits

Author SHA1 Message Date
lateminer
f7422db2f7 Update to Core 0.12.2 2018-10-14 19:07:51 +03:00
lateminer
17401c86d1 Fix backporting errors
pos.cpp
primitives/transaction.cpp
rpc/rawtransaction.cpp
script/sign.cpp
script/sign.h
txmempool.cpp
2018-10-13 18:55:32 +03:00
Pieter Wuille
cd30f2becb Rename to PrecomputedTransactionData 2018-10-13 17:57:50 +03:00
Pieter Wuille
d8d19c532f Precompute sighashes 2018-10-13 17:39:41 +03:00
Pieter Wuille
81e04cabfe Refactor script validation to observe amounts 2018-10-13 17:05:24 +03:00
lateminer
c6238629b3 Remove drivechain support using OP_COUNT_ACKS 2018-10-13 16:30:31 +03:00
Johnson Lau
c4e8c11932 Make non-minimal OP_IF/NOTIF argument non-standard for P2WSH 2018-10-13 01:53:13 +03:00
lateminer
b1bb30cb3a Remove address indexes 2018-10-11 22:02:52 +03:00
janko33bd
c1e0fac4f8 added stake cache + checked ismine 2018-01-30 23:52:33 +01:00
janko33bd
5ff1358115 Merge branch 'Blackcoin-Lore' of https://github.com/janko33bd/bitcoin.git into Blackcoin-Lore 2018-01-15 21:15:31 +01:00
lateminer
323a6750c2 Add CashAddr Address Format
Ported from Bitcoin Unlimited, Bitcoin ABC
2018-01-14 22:32:08 +03:00
janko33bd
43039e9ee2 Merge branch 'Blackcoin-Lore' of https://github.com/janko33bd/bitcoin.git into Blackcoin-Lore 2018-01-13 22:23:35 +01:00
lateminer
1506d6b0ae Add policy: null signature for failed CHECK(MULTI)SIG
e41bd449ab
2018-01-13 13:26:20 +03:00
Patrick Strateman
a1c72cf461 Improve worst-case behavior of CScript::FindAndDelete
Thanks to Sergio Lerner for identifying this issue and suggesting this kind of solution.
2018-01-13 02:52:16 +03:00
Patrick Strateman
e9acefb94b Replace c-style cast with c++ style static_cast. 2018-01-13 02:52:00 +03:00
Patrick Strateman
64f04a5405 Replace memcmp with std::equal in CScript::FindAndDelete
Function is stl; std::equal just makes more sense.
2018-01-13 02:51:52 +03:00
Pieter Wuille
622fa5bb19 Treat overly long scriptPubKeys as unspendable 2018-01-13 02:03:15 +03:00
Pieter Wuille
96a9621534 Introduce constant for maximum CScript length 2018-01-13 02:01:56 +03:00
lateminer
ef33662381 Merge remote-tracking branch 'janko33bd/Blackcoin-Lore' into build-fixes-0.13 2018-01-12 22:22:52 +03:00
janko33bd
714d2650b5 added SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS 2018-01-10 23:13:59 +01:00
janko33bd
2b4b729c34 removing useless tip 2018-01-10 21:06:02 +01:00
Wladimir J. van der Laan
a0bf1386b7 wallet_ismine.h → script/ismine.h 2018-01-10 00:03:31 +03:00
janko33bd
71c4f88bf9 fixing to compile 2018-01-06 00:37:31 +01:00
janko33bd
a4fcc84396 Enforce limits to fields when deserializing 2018-01-05 22:11:53 +01:00
janko33bd
92bc14233f Implementation of OP_COUNT_ACK 2018-01-05 22:06:35 +01:00
janko33bd
7b90059a42 make 0 value data outputs standard 2017-12-13 00:27:05 +01:00
janko33bd
2fdd12b2ea Blackcoin Lore 2017-05-30 21:33:31 +02:00
Braydon Fuller
9babc7ff9f main: start of address index
Adds a configuration option for addressindex to search for txids by address. Includes
an additional rpc method for getting the txids for an address.
2016-06-02 12:15:13 -04:00
BtcDrak
c8d309e4b4 Code style fix.
This if statement is a little obtuse and using braces here
improves readability.
2016-03-18 09:14:52 +00:00
BtcDrak
6170506fdf Separate CheckLockTime() and CheckSequence() logic
For the sake of a little repetition, make code more readable.
2016-03-18 09:14:52 +00:00
Mark Friedenbach
c0c5e09fe2 BIP112: Implement CHECKSEQUENCEVERIFY
- Replace NOP3 with CHECKSEQUENCEVERIFY (BIP112)
  <nSequence> CHECKSEQUENCEVERIFY -> <nSequence>
- Fails if txin.nSequence < nSequence, allowing funds of a txout to be locked for a number of blocks or a duration of time after its inclusion in a block.
- Pull most of CheckLockTime() out into VerifyLockTime(), a local function that will be reused for CheckSequence()
- Add bitwise AND operator to CScriptNum
- Enable CHECKSEQUENCEVERIFY as a standard script verify flag
- Transactions that fail CSV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CSV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CSV for production use.
2016-03-18 09:14:52 +00:00
Alex Morcos
15ba08c3b5 Implement SequenceLocks functions
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.

The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
2016-03-18 09:14:52 +00:00
Pieter Wuille
889e5b3050 Correctly report high-S violations
Github-Pull: #7500
Rebased-From: 9d95187d5d
2016-02-10 20:32:42 +01:00
Pieter Wuille
52b29dca76 Get rid of inaccurate ScriptSigArgsExpected 2016-01-21 13:52:32 +01:00
mb300sd
605de4a88a Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY.
Github-Pull: #7213
Rebased-From: 37d271d7cc
2016-01-13 21:25:36 +00:00
MarcoFalke
333e1eaeea Bump copyright headers to 2015
- Bump copyright headers to 2015
- [devtools] Rewrite fix-copyright-headers.py
- [devtools] Use git pretty-format for year parsing

Github-Pull: #7205
Rebased-From: fa6ad855e9 fa24439ff3 fa71669452
2016-01-05 14:13:33 +01:00
Wladimir J. van der Laan
327291af02 Merge pull request #6914
114b581 Prevector type (Pieter Wuille)
2015-12-01 10:22:14 +01:00
MarcoFalke
faf93f37fe [trivial] Reuse translation and cleanup DEFAULT_* values
* DEFAULT_DISABLE_SAFEMODE = false
* Use DEFAULT_* constants for extern bools
2015-11-28 19:01:11 +01:00
Luke Dashjr
b966aa836a Constrain constant values to a single location in code 2015-11-28 18:47:29 +01:00
Pieter Wuille
6e18268616 Switch to libsecp256k1-based validation for ECDSA 2015-11-15 16:06:57 +01:00
Pieter Wuille
114b5812f6 Prevector type 2015-11-13 18:15:20 +01:00
Pieter Wuille
0b9e9dca4e Evict sigcache entries that are seen in a block 2015-10-31 01:15:11 +01:00
Pieter Wuille
830e3f3d02 Make sigcache faster and more efficient 2015-10-31 01:15:11 +01:00
Wladimir J. van der Laan
2a1090d4f5 Merge pull request #6351
65ef372 Add BIP65 to getblockchaininfo softforks list (Peter Todd)
cde7ab2 Add RPC tests for the CHECKLOCKTIMEVERIFY (BIP65) soft-fork (Peter Todd)
287f54f Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic (Peter Todd)
2015-10-23 13:33:13 +02:00
David Hill
b48da5c189 script: Remove magic numbers
This adds two new constants, MAX_OPS_PER_SCRIPT and
MAX_PUBKEYS_PER_MULTISIG.
2015-10-15 09:48:15 -04:00
Peter Todd
287f54fc90 Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logic
Based on the earlier BIP66 soft-fork logic implemented by Pieter
Wuille's 5a47811da5
2015-10-08 17:23:22 +02:00
Peter Todd
da894ab5da Accept any sequence of PUSHDATAs in OP_RETURN outputs
Previously only one PUSHDATA was allowed, needlessly limiting
applications such as matching OP_RETURN contents with bloom filters that
operate on a per-PUSHDATA level. Now any combination that passes
IsPushOnly() is allowed, so long as the total size of the scriptPubKey
is less than 42 bytes. (unchanged modulo non-minimal PUSHDATA encodings)

Also, this fixes the odd bug where previously the PUSHDATA could be
replaced by any single opcode, even sigops consuming opcodes such as
CHECKMULTISIG. (20 sigops!)
2015-10-01 18:28:13 +02:00
Peter Todd
5d8709c3b7 Add IsPushOnly(const_iterator pc)
Allows IsPushOnly() to be applied to just part of the script for
OP_RETURN outputs.
2015-10-01 18:28:11 +02:00
Peter Todd
6a07eb676a Make TX_SCRIPTHASH clear vSolutionsRet first
Previously unlike other transaction types the TX_SCRIPTHASH would not
clear vSolutionsRet, which means that unlike other transaction types if
it was called twice in a row you would get the result of the previous
invocation as well.
2015-10-01 18:27:22 +02:00
Wladimir J. van der Laan
48efbdbe98 Merge pull request #5264
af3208b Resolve issue 3166. These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts. This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa. (mruddy)
2015-09-25 19:19:07 +02:00