aboutsummaryrefslogtreecommitdiff
path: root/src/script
Commit message (Collapse)AuthorAgeFilesLines
* Add NULLDUMMY verify flag in bitcoinconsensus.hJohnson Lau2016-09-301-1/+2
|
* Add policy: null signature for failed CHECK(MULTI)SIGJohnson Lau2016-09-274-1/+20
|
* Make non-minimal OP_IF/NOTIF argument non-standard for P2WSHJohnson Lau2016-09-234-1/+14
|
* Merge #8524: Precompute sighashesPieter Wuille2016-09-014-22/+51
|\ | | | | | | | | | | 35fe039 Rename to PrecomputedTransactionData (Pieter Wuille) ab48c5e Unit test for sighash caching (Nicolas DORIER) d2c5d04 Precompute sighashes (Pieter Wuille)
| * Rename to PrecomputedTransactionDataPieter Wuille2016-08-264-12/+12
| |
| * Precompute sighashesPieter Wuille2016-08-164-22/+51
| | | | | | | | Original version by Nicolas Dorier. Precomputing version by Pieter Wuille.
* | Merge #8607: [doc] Fix doxygen off-by-one comments, fix typosWladimir J. van der Laan2016-08-281-1/+1
|\ \ | |/ |/| | | | | | | | | fafe7b3 contrib: Make fix-copyright-headers.py more portable (MarcoFalke) fa27c0a [doc] Fix typos in comments, doxygen: Fix comment syntax (MarcoFalke) fabfd5d [qa] pull-tester: Don't mute zmq ImportError (MarcoFalke) 67a5502 init: Fix typo in help message for -whitelistforcerelay (Wladimir J. van der Laan)
| * [doc] Fix typos in comments, doxygen: Fix comment syntaxMarcoFalke2016-08-221-1/+1
| |
* | libconsensus: Expose a flag for BIP112Jorge Timón2016-07-281-0/+1
| | | | | | | | We added the segwit one, but we forgot CHECKSEQUENCEVERIFY
* | Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFYBtcDrak2016-06-282-3/+3
|/
* [RPC] signrawtransaction can sign P2WSHNicolasDorier2016-06-222-0/+9
|
* BIP143: Signing logicPieter Wuille2016-06-225-94/+282
|
* [libconsensus] Script verification API with amountsThomas Kerin2016-06-222-6/+32
| | | | | | | | | | script_tests: always test bitcoinconsensus_verify_script_with_amount if VERIFY_WITNESS isn't set Rename internal method + make it static trim bitcoinconsensus_ prefix Add SERIALIZE_TRANSACTION_WITNESS flag
* BIP141: Other consensus critical limits, and BIP145Pieter Wuille2016-06-222-0/+49
| | | | Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
* BIP143: Verification logicPieter Wuille2016-06-224-28/+95
| | | | Includes simplifications by Eric Lombrozo.
* Refactor script validation to observe amountsPieter Wuille2016-06-225-6/+10
| | | | This is a preparation for BIP143 support.
* BIP141: Witness programPieter Wuille2016-06-228-6/+163
|
* BIP144: Serialization, hashes, relay (sender side)Pieter Wuille2016-06-222-0/+26
| | | | | | Contains refactorings by Eric Lombrozo. Contains fixup by Nicolas Dorier. Contains cleanup of CInv::GetCommand by Alex Morcos
* Merge #7907: Optimize and Cleanup CScript::FindAndDeleteWladimir J. van der Laan2016-05-051-3/+12
|\ | | | | | | | | | | | | d1d7775 Improve worst-case behavior of CScript::FindAndDelete (Patrick Strateman) e2a30bc Unit test for CScript::FindAndDelete (Gavin Andresen) c0f660c Replace c-style cast with c++ style static_cast. (Patrick Strateman) ec9ad5f Replace memcmp with std::equal in CScript::FindAndDelete (Patrick Strateman)
| * Improve worst-case behavior of CScript::FindAndDeletePatrick Strateman2016-04-211-2/+11
| | | | | | | | Thanks to Sergio Lerner for identifying this issue and suggesting this kind of solution.
| * Replace c-style cast with c++ style static_cast.Patrick Strateman2016-04-191-1/+1
| |
| * Replace memcmp with std::equal in CScript::FindAndDeletePatrick Strateman2016-04-191-1/+1
| | | | | | | | Function is stl; std::equal just makes more sense.
* | Treat overly long scriptPubKeys as unspendablePieter Wuille2016-04-251-1/+1
| |
* | Introduce constant for maximum CScript lengthPieter Wuille2016-04-252-1/+4
|/
* wallet_ismine.h → script/ismine.hWladimir J. van der Laan2016-04-182-0/+129
| | | | | | Removes conditional dependency of `src/test` on wallet. Makes multisig and P2SH tests complete without wallet built-in.
* [doc] Fix doxygen comments for membersMarcoFalke2016-04-032-7/+7
|
* Code style fix.BtcDrak2016-02-161-1/+2
| | | | | This if statement is a little obtuse and using braces here improves readability.
* Separate CheckLockTime() and CheckSequence() logicBtcDrak2016-02-141-20/+26
| | | | For the sake of a little repetition, make code more readable.
* BIP112: Implement CHECKSEQUENCEVERIFYMark Friedenbach2016-02-144-8/+106
| | | | | | | | | | - 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.
* Merge #7184: Implement SequenceLocks functions for BIP 68Wladimir J. van der Laan2016-02-121-1/+1
|\ | | | | | | | | | | | | b043c4b fix sdaftuar's nits again (Alex Morcos) a51c79b Bug fix to RPC test (Alex Morcos) da6ad5f Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar) c6c2f0f Implement SequenceLocks functions (Alex Morcos)
| * Implement SequenceLocks functionsAlex Morcos2016-02-101-1/+1
| | | | | | | | | | | | | | 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
* | Correctly report high-S violationsPieter Wuille2016-02-101-1/+4
| |
* | Get rid of inaccurate ScriptSigArgsExpectedPieter Wuille2016-02-012-22/+0
| | | | | | | | (cherry picked from commit 52b29dca7670c3f6d2ab918c0fff1d17c4e494ad)
* | Merge pull request #7205Wladimir J. van der Laan2016-01-0512-12/+12
|\ \ | | | | | | | | | | | | | | | fa71669 [devtools] Use git pretty-format for year parsing (MarcoFalke) fa24439 Bump copyright headers to 2015 (MarcoFalke) fa6ad85 [devtools] Rewrite fix-copyright-headers.py (MarcoFalke)
| * | Bump copyright headers to 2015MarcoFalke2015-12-1312-12/+12
| |/
* / Rename OP_NOP2 to OP_CHECKLOCKTIMEVERIFY.mb300sd2015-12-152-3/+3
|/
* Merge pull request #6914Wladimir J. van der Laan2015-12-014-11/+15
|\ | | | | | | 114b581 Prevector type (Pieter Wuille)
| * Prevector typePieter Wuille2015-11-134-11/+15
| |
* | [trivial] Reuse translation and cleanup DEFAULT_* valuesMarcoFalke2015-11-282-1/+3
| | | | | | | | | | * DEFAULT_DISABLE_SAFEMODE = false * Use DEFAULT_* constants for extern bools
* | Constrain constant values to a single location in codeLuke Dashjr2015-11-282-0/+2
| |
* | Switch to libsecp256k1-based validation for ECDSAPieter Wuille2015-11-152-12/+10
|/
* Evict sigcache entries that are seen in a blockPieter Wuille2015-10-311-2/+13
|
* Make sigcache faster and more efficientPieter Wuille2015-10-312-34/+50
|
* Merge pull request #6351Wladimir J. van der Laan2015-10-231-3/+4
|\ | | | | | | | | | | 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)
| * Add CHECKLOCKTIMEVERIFY (BIP65) soft-fork logicPeter Todd2015-10-081-3/+4
| | | | | | | | | | Based on the earlier BIP66 soft-fork logic implemented by Pieter Wuille's 5a47811da5158df763aa2fca09ce646ee0c51e7b
* | script: Remove magic numbersDavid Hill2015-10-153-5/+12
|/ | | | | This adds two new constants, MAX_OPS_PER_SCRIPT and MAX_PUBKEYS_PER_MULTISIG.
* Accept any sequence of PUSHDATAs in OP_RETURN outputsPeter Todd2015-10-014-14/+12
| | | | | | | | | | | | 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!)
* Add IsPushOnly(const_iterator pc)Peter Todd2015-10-012-2/+7
| | | | | Allows IsPushOnly() to be applied to just part of the script for OP_RETURN outputs.
* Make TX_SCRIPTHASH clear vSolutionsRet firstPeter Todd2015-10-011-0/+2
| | | | | | | 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.
* Merge pull request #5264Wladimir J. van der Laan2015-09-254-35/+3
|\ | | | | | | 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)