aboutsummaryrefslogtreecommitdiff
path: root/src/script
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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)
| * Resolve issue 3166.mruddy2015-07-304-35/+3
| | | | | | | | | | 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.
* | Merge pull request #6544Wladimir J. van der Laan2015-08-191-1/+1
|\ \ | | | | | | | | | | | | c5c1edf Fix spelling mistake in -> if. (Mark Friedenbach) e846b2a Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime. (Mark Friedenbach)
| * | Correct a possibly intentional pun that is nevertheless hard to read: "two ↵Mark Friedenbach2015-08-101-1/+1
| |/ | | | | | | times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime.
* / Also remove pay-2-pubkey from watch when adding a priv keyMatt Corallo2015-07-202-0/+6
|/
* Separate core memory usage computation in core_memusage.hPieter Wuille2015-07-202-8/+0
|
* Implement accurate memory accounting for mempoolPieter Wuille2015-07-102-0/+8
|
* Merge pull request #6335Wladimir J. van der Laan2015-07-063-39/+2
|\ | | | | | | | | 9238ecb Policy: MOVEONLY: 3 functions to policy.o: (Luke Dashjr) 627b9de Policy: MOVEONLY: Create policy/policy.h with some constants (Jorge Timón)
| * Policy: MOVEONLY: 3 functions to policy.o:Luke Dashjr2015-06-262-21/+0
| | | | | | | | | | | | | | | | - [script/standard.o] IsStandard - [main.o] IsStandardTx - [main.o] AreInputsStandard Also, don't use namespace std in policy.cpp
| * Policy: MOVEONLY: Create policy/policy.h with some constantsJorge Timón2015-06-262-18/+2
| |
* | add CReserveScript to allow modular script keeping/returningJonas Schnelli2015-07-011-0/+9
|/ | | | - use one CReserveScript per mining thread
* Merge pull request #6124Wladimir J. van der Laan2015-06-266-6/+111
|\ | | | | | | | | | | | | ffd75ad Enable CHECKLOCKTIMEVERIFY as a standard script verify flag (Peter Todd) bc60b2b Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) (Peter Todd) 48e9c57 Move LOCKTIME_THRESHOLD to src/script/script.h (Peter Todd) 99088d6 Make CScriptNum() take nMaxNumSize as an argument (Peter Todd)
| * Enable CHECKLOCKTIMEVERIFY as a standard script verify flagPeter Todd2015-06-221-1/+2
| | | | | | | | | | | | | | Transactions that fail CLTV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CLTV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CLTV for production use.
| * Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)Peter Todd2015-06-215-2/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime> Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be locked until some block height or block time in the future is reached. Only the logic and unittests are implemented; this commit does not have any actual soft-fork logic in it. Thanks to Pieter Wuille for rebase. Credit goes to Gregory Maxwell for the suggestion of comparing the argument against the transaction nLockTime rather than the current time/blockheight directly.
| * Move LOCKTIME_THRESHOLD to src/script/script.hPeter Todd2015-05-091-0/+4
| | | | | | | | Will now be needed by CHECKLOCKTIMEVERIFY code.
| * Make CScriptNum() take nMaxNumSize as an argumentPeter Todd2015-05-091-3/+4
| | | | | | | | | | While the existing numeric opcodes are all limited to 4-byte bignum arguments, new opcodes will need different limits.
* | Add DummySignatureCreator which just creates zeroed sigsPieter Wuille2015-06-112-0/+44
| |
* | fix header include groupsPhilip Kaufmann2015-05-141-1/+2
|/
* Abstract out Ctransaction-specific signing into TransactionSignatureCreatorPieter Wuille2015-03-212-40/+90
|
* src/script/script.h: endian compatibility for PUSHDATA sizesWladimir J. van der Laan2015-03-061-7/+9
|
* Merge pull request #5286Wladimir J. van der Laan2015-02-031-1/+1
|\ | | | | | | | | 44e9a6b Update the 'test_IsStandard' unit test (Flavien Charlon) a930658 Change the default maximum OP_RETURN size to 80 bytes (Flavien Charlon)
| * Change the default maximum OP_RETURN size to 80 bytesFlavien Charlon2014-11-141-1/+1
| | | | | | | | | | The value can be changed through the '-datacarriersize' option, this is modifying the default value for that option.
* | Merge pull request #5713Wladimir J. van der Laan2015-02-033-63/+65
|\ \ | | | | | | | | | | | | | | | | | | | | | bf6cdeb Increase coverage of DERSIG edge cases (Pieter Wuille) 819bcf9 Add RPC test for DERSIG BIP switchover logic (Pieter Wuille) 5a47811 BIP66 changeover logic (Pieter Wuille) 092e9fe Example unit tests from BIP66 (Pieter Wuille) 80ad135 Change IsDERSignature to BIP66 implementation (Pieter Wuille)
| * | BIP66 changeover logicPieter Wuille2015-02-012-0/+2
| | |
| * | Change IsDERSignature to BIP66 implementationPieter Wuille2015-02-011-63/+63
| | |
* | | Avoid storing a reference passed to SignatureChecker constructorsPieter Wuille2015-02-025-8/+8
| | |
* | | Use separate SignatureChecker for CMutableTransactionPieter Wuille2015-02-026-11/+21
| | |
* | | Remove whitespaces before double colon in errors and logsPavel Janík2015-01-312-2/+2
|/ /
* | Make empty byte arrays pass CheckSignatureEncoding()Peter Todd2015-01-091-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Makes it possible to compactly provide a delibrately invalid signature for use with CHECK(MULTI)SIG. For instance with BIP19 if m != n invalid signatures need to be provided in the scriptSig; prior to this change those invalid signatures would need to be large DER-encoded signatures. Note that we may want to further expand on this change in the future by saying that only OP_0 is a "valid" invalid signature; BIP19 even with this change is inherently malleable as the invalid signatures can be any validly encoded DER signature.
* | Merge pull request #5143Wladimir J. van der Laan2015-01-084-13/+33
|\ \ | | | | | | | | | | | | | | | da918ac Make SCRIPT_VERIFY_CLEANSTACK a standardness requirement (Pieter Wuille) b6e03cc Add SCRIPT_VERIFY_CLEANSTACK (BIP62 rule 6) (Pieter Wuille) ae4151b No semantic change: reuse stack variable in P2SH evaluation (Pieter Wuille)
| * | Make SCRIPT_VERIFY_CLEANSTACK a standardness requirementPieter Wuille2014-11-251-1/+2
| | |
| * | Add SCRIPT_VERIFY_CLEANSTACK (BIP62 rule 6)Pieter Wuille2014-11-253-5/+21
| | | | | | | | | | | | | | | Based on an earlier patch by Peter Todd, though the rules here are different (P2SH scripts should not have a CLEANSTACK check before the P2SH evaluation).
| * | No semantic change: reuse stack variable in P2SH evaluationPieter Wuille2014-11-251-7/+10
| | |