aboutsummaryrefslogtreecommitdiff
path: root/src/script/script.h
AgeCommit message (Collapse)Author
2015-10-15script: Remove magic numbersDavid Hill
This adds two new constants, MAX_OPS_PER_SCRIPT and MAX_PUBKEYS_PER_MULTISIG.
2015-10-01Accept any sequence of PUSHDATAs in OP_RETURN outputsPeter Todd
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-01Add IsPushOnly(const_iterator pc)Peter Todd
Allows IsPushOnly() to be applied to just part of the script for OP_RETURN outputs.
2015-07-30Resolve issue 3166.mruddy
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.
2015-07-20Separate core memory usage computation in core_memusage.hPieter Wuille
2015-07-10Implement accurate memory accounting for mempoolPieter Wuille
2015-07-01add CReserveScript to allow modular script keeping/returningJonas Schnelli
- use one CReserveScript per mining thread
2015-06-26Merge pull request #6124Wladimir J. van der Laan
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)
2015-06-21Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)Peter Todd
<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.
2015-05-14fix header include groupsPhilip Kaufmann
2015-05-09Move LOCKTIME_THRESHOLD to src/script/script.hPeter Todd
Will now be needed by CHECKLOCKTIMEVERIFY code.
2015-05-09Make CScriptNum() take nMaxNumSize as an argumentPeter Todd
While the existing numeric opcodes are all limited to 4-byte bignum arguments, new opcodes will need different limits.
2015-03-06src/script/script.h: endian compatibility for PUSHDATA sizesWladimir J. van der Laan
2015-01-31Remove whitespaces before double colon in errors and logsPavel Janík
2014-12-19Added "Core" to copyright headerssandakersmann
Github-Pull: #5494 Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-11-10Make comments in /src/script doxygen compatibleMichael Ford
2014-11-03Fix all header definesPavel Janík
2014-10-25Improve CScriptNum() commentPeter Todd
Edited-by: Pieter Wuille <pieter.wuille@gmail.com>
2014-10-25Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4)Pieter Wuille
Also use the new flag as a standard rule, and replace the IsCanonicalPush standardness check with it (as it is more complete).
2014-10-25Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2)Pieter Wuille
2014-10-23fix build with libc++ after 85c579eCory Fields
2014-10-17script: add a slew of includes all around and drop includes from script.hCory Fields
Lots of files ended up with indirect includes from script.h.
2014-10-17script: move ToString and ValueString out of the headerCory Fields
2014-10-17script: add ToByteVector() for converting anything with begin/endCory Fields
This should move to a util header once their dependencies are cleaned up.
2014-10-17script: move CScriptID to standard.h and add a ctor for creating them from ↵Cory Fields
CScripts This allows for a reversal of the current behavior. This: CScript foo; CScriptID bar(foo.GetID()); Becomes: CScript foo; CScriptID bar(foo); This way, CScript is no longer dependent on CScriptID or Hash();
2014-09-25Merge pull request #4969Wladimir J. van der Laan
cda45b5 Reinitializing list's begin iterator after few elements were erased from the head (ENikS)
2014-09-25Fixing C4146 warningENikS
Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
2014-09-23Reinitializing list's begin iterator after few elements were erased from the ↵ENikS
head
2014-09-19Fixing condition 'sabotaging' MSVC buildENikS
2014-09-16Move CTxDestination from script/script to script/standardPieter Wuille
2014-09-14cleanup new script files (no code changes)Philip Kaufmann
- add missing header end comments - ensure alphabetical ordering - update copyright year and license
2014-09-08Move CScript class and dependencies to script/scriptjtimon