DrahtBot
eb7daf4d60
Update copyright headers to 2018
2018-07-27 07:15:02 -04:00
practicalswift
c3f34d06be
Make it clear which functions that are intended to be translation unit local
...
Do not share functions that are meant to be translation unit local with
other translation units. Use internal linkage for those consistently.
2018-05-03 21:47:40 +02:00
MarcoFalke
fae58eca93
tests: Avoid copies of CTransaction
2018-04-11 14:59:53 -04:00
practicalswift
1f45e2164a
scripted-diff: Convert 11 enums into scoped enums (C++11)
...
-BEGIN VERIFY SCRIPT-
sed -i 's/enum DBErrors/enum class DBErrors/g' src/wallet/walletdb.h
git grep -l DB_ | xargs sed -i 's/DB_\(LOAD_OK\|CORRUPT\|NONCRITICAL_ERROR\|TOO_NEW\|LOAD_FAIL\|NEED_REWRITE\)/DBErrors::\1/g'
sed -i 's/^ DBErrors::/ /g' src/wallet/walletdb.h
sed -i 's/enum VerifyResult/enum class VerifyResult/g' src/wallet/db.h
sed -i 's/\(VERIFY_OK\|RECOVER_OK\|RECOVER_FAIL\)/VerifyResult::\1/g' src/wallet/db.cpp
sed -i 's/enum ThresholdState/enum class ThresholdState/g' src/versionbits.h
git grep -l THRESHOLD_ | xargs sed -i 's/THRESHOLD_\(DEFINED\|STARTED\|LOCKED_IN\|ACTIVE\|FAILED\)/ThresholdState::\1/g'
sed -i 's/^ ThresholdState::/ /g' src/versionbits.h
sed -i 's/enum SigVersion/enum class SigVersion/g' src/script/interpreter.h
git grep -l SIGVERSION_ | xargs sed -i 's/SIGVERSION_\(BASE\|WITNESS_V0\)/SigVersion::\1/g'
sed -i 's/^ SigVersion::/ /g' src/script/interpreter.h
sed -i 's/enum RetFormat {/enum class RetFormat {/g' src/rest.cpp
sed -i 's/RF_\(UNDEF\|BINARY\|HEX\|JSON\)/RetFormat::\1/g' src/rest.cpp
sed -i 's/^ RetFormat::/ /g' src/rest.cpp
sed -i 's/enum HelpMessageMode {/enum class HelpMessageMode {/g' src/init.h
git grep -l HMM_ | xargs sed -i 's/HMM_BITCOIN/HelpMessageMode::BITCOIN/g'
sed -i 's/^ HelpMessageMode::/ /g' src/init.h
sed -i 's/enum FeeEstimateHorizon/enum class FeeEstimateHorizon/g' src/policy/fees.h
sed -i 's/enum RBFTransactionState/enum class RBFTransactionState/g' src/policy/rbf.h
git grep -l RBF_ | xargs sed -i 's/RBF_TRANSACTIONSTATE_\(UNKNOWN\|REPLACEABLE_BIP125\|FINAL\)/RBFTransactionState::\1/g'
sed -i 's/^ RBFTransactionState::/ /g' src/policy/rbf.h
sed -i 's/enum BlockSource {/enum class BlockSource {/g' src/qt/clientmodel.h
git grep -l BLOCK_SOURCE_ | xargs sed -i 's/BLOCK_SOURCE_\(NONE\|REINDEX\|DISK\|NETWORK\)/BlockSource::\1/g'
sed -i 's/^ BlockSource::/ /g' src/qt/clientmodel.h
sed -i 's/enum FlushStateMode {/enum class FlushStateMode {/g' src/validation.cpp
sed -i 's/FLUSH_STATE_\(NONE\|IF_NEEDED\|PERIODIC\|ALWAYS\)/FlushStateMode::\1/g' src/validation.cpp
sed -i 's/^ FlushStateMode::/ /g' src/validation.cpp
sed -i 's/enum WitnessMode {/enum class WitnessMode {/g' src/test/script_tests.cpp
sed -i 's/WITNESS_\(NONE\|PKH\|SH\)/WitnessMode::\1/g' src/test/script_tests.cpp
sed -i 's/^ WitnessMode::/ /g' src/test/script_tests.cpp
-END VERIFY SCRIPT-
2018-03-09 15:03:40 +01:00
Akira Takizawa
595a7bab23
Increment MIT Licence copyright header year on files modified in 2017
2018-01-03 02:26:56 +09:00
MeshCollider
1a445343f6
scripted-diff: Replace #include "" with #include <> (ryanofsky)
...
-BEGIN VERIFY SCRIPT-
for f in \
src/*.cpp \
src/*.h \
src/bench/*.cpp \
src/bench/*.h \
src/compat/*.cpp \
src/compat/*.h \
src/consensus/*.cpp \
src/consensus/*.h \
src/crypto/*.cpp \
src/crypto/*.h \
src/crypto/ctaes/*.h \
src/policy/*.cpp \
src/policy/*.h \
src/primitives/*.cpp \
src/primitives/*.h \
src/qt/*.cpp \
src/qt/*.h \
src/qt/test/*.cpp \
src/qt/test/*.h \
src/rpc/*.cpp \
src/rpc/*.h \
src/script/*.cpp \
src/script/*.h \
src/support/*.cpp \
src/support/*.h \
src/support/allocators/*.h \
src/test/*.cpp \
src/test/*.h \
src/wallet/*.cpp \
src/wallet/*.h \
src/wallet/test/*.cpp \
src/wallet/test/*.h \
src/zmq/*.cpp \
src/zmq/*.h
do
base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f
done
-END VERIFY SCRIPT-
2017-11-16 08:23:01 +13:00
Jim Posen
d7afe2d157
[script] Unit tests for script/standard functions
2017-09-21 12:24:20 -07:00
practicalswift
90d4d89230
scripted-diff: Use the C++11 keyword nullptr to denote the pointer literal instead of the macro NULL
...
-BEGIN VERIFY SCRIPT-
sed -i 's/\<NULL\>/nullptr/g' src/*.cpp src/*.h src/*/*.cpp src/*/*.h src/qt/*/*.cpp src/qt/*/*.h src/wallet/*/*.cpp src/wallet/*/*.h src/support/allocators/*.h
sed -i 's/Prefer nullptr, otherwise SAFECOOKIE./Prefer NULL, otherwise SAFECOOKIE./g' src/torcontrol.cpp
sed -i 's/tor: Using nullptr authentication/tor: Using NULL authentication/g' src/torcontrol.cpp
sed -i 's/METHODS=nullptr/METHODS=NULL/g' src/test/torcontrol_tests.cpp src/torcontrol.cpp
sed -i 's/nullptr certificates/NULL certificates/g' src/qt/paymentserver.cpp
sed -i 's/"nullptr"/"NULL"/g' src/torcontrol.cpp src/test/torcontrol_tests.cpp
-END VERIFY SCRIPT-
2017-08-07 07:36:37 +02:00
Jorge Timón
5995735c5b
scripted-diff: Remove #include <boost/foreach.hpp>
...
-BEGIN VERIFY SCRIPT-
sed -i ':a;N;$!ba;s/#include <boost\/foreach.hpp>\n//' ./src/*.h ./src/*.cpp ./src/*/*.h ./src/*/*.cpp ./src/*/*/*.h ./src/*/*/*.cpp
-END VERIFY SCRIPT-
2017-06-22 03:48:52 +02:00
Jorge Timón
7c00c26726
scripted-diff: Fully remove BOOST_FOREACH
...
-BEGIN VERIFY SCRIPT-
sed -i 's/BOOST_FOREACH *(\(.*\),/for (\1 :/' ./src/*.h ./src/*.cpp ./src/*/*.h ./src/*/*.cpp ./src/*/*/*.h ./src/*/*/*.cpp ;
-END VERIFY SCRIPT-
2017-06-05 20:10:50 +02:00
MarcoFalke
4cfd57d2e3
Merge #9281 : Refactor: Remove using namespace <xxx> from bench/ & test/ sources
...
73f4119
Refactoring: Removed using namespace <xxx> from bench/ and test/ source files. (Karl-Johan Alm)
2017-01-05 11:32:05 +01:00
Karl-Johan Alm
73f41190b9
Refactoring: Removed using namespace <xxx> from bench/ and test/ source files.
2017-01-02 20:35:23 +09:00
isle2983
27765b6403
Increment MIT Licence copyright header year on files modified in 2016
...
Edited via:
$ contrib/devtools/copyright_header.py update .
2016-12-31 11:01:21 -07:00
Pieter Wuille
605e8473a7
BIP143: Signing logic
2016-06-22 15:43:01 +02:00
Pieter Wuille
3dd410294d
BIP143: Verification logic
...
Includes simplifications by Eric Lombrozo.
2016-06-22 15:43:00 +02:00
Pieter Wuille
0ef1dd3e11
Refactor script validation to observe amounts
...
This is a preparation for BIP143 support.
2016-06-22 15:43:00 +02:00
Pieter Wuille
449f9b8deb
BIP141: Witness program
2016-06-22 15:42:59 +02:00
Wladimir J. van der Laan
a25a4f5b04
wallet_ismine.h → script/ismine.h
...
Removes conditional dependency of `src/test` on wallet.
Makes multisig and P2SH tests complete without wallet built-in.
2016-04-18 15:14:36 +02:00
MarcoFalke
fa7e4c0919
Bump copyright headers to 2014
2016-01-05 21:01:39 +01:00
Luke Dashjr
9238ecb417
Policy: MOVEONLY: 3 functions to policy.o:
...
- [script/standard.o] IsStandard
- [main.o] IsStandardTx
- [main.o] AreInputsStandard
Also, don't use namespace std in policy.cpp
2015-06-26 17:59:10 +02:00
Wladimir J. van der Laan
05f17d4eaa
Merge pull request #5745
...
50c72f2
[Move Only] Move wallet related things to src/wallet/ (Jonas Schnelli)
2015-03-20 16:08:35 +01:00
Jonas Schnelli
50c72f23ad
[Move Only] Move wallet related things to src/wallet/
...
could once be renamed from /src/wallet to /src/legacywallet.
2015-03-12 14:13:02 +01:00
Wladimir J. van der Laan
92fd887fd4
tests: add a BasicTestingSetup and apply to all tests
...
Make sure that chainparams and logging is properly initialized. Doing
this for every test may be overkill, but this initialization is so
simple that that does not matter.
This should fix the travis issues.
2015-03-12 09:45:22 +01:00
Pieter Wuille
9fddceda44
Avoid storing a reference passed to SignatureChecker constructors
2015-02-02 20:19:46 -08:00
Pieter Wuille
858809a33e
Use separate SignatureChecker for CMutableTransaction
2015-02-02 20:19:12 -08:00
Peter Todd
2fa9a8ec86
Make empty byte arrays pass CheckSignatureEncoding()
...
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.
2015-01-09 06:03:22 -05:00
Cory Fields
9b1ab860ff
namespace: drop boost::assign altogether here
...
Standard functions are even simpler
2015-01-02 15:12:03 -05:00
Michael Ford
78253fcbad
Remove references to X11 licence
2014-12-16 15:56:50 +08:00
Cory Fields
219a1470c4
script: check ScriptError values in script tests
2014-11-14 16:25:53 -05:00
Cory Fields
e9ca4280f3
script: add ToByteVector() for converting anything with begin/end
...
This should move to a util header once their dependencies are cleaned up.
2014-10-17 13:44:14 -04:00
Pieter Wuille
e790c370b5
Replace SCRIPT_VERIFY_NOCACHE by flag directly to checker
2014-10-02 20:26:58 +02:00
jtimon
2b23a87599
Don't pass nHashType to VerifyScript
2014-09-12 20:04:31 +02:00
jtimon
c1e433b717
Rename scriptutils.o to wallet_ismine.o
2014-09-10 12:48:35 +02:00
jtimon
0d2fa14a34
Move scriptutils.o to wallet
2014-09-10 12:42:56 +02:00
jtimon
e088d65acb
Separate script/sign
2014-09-08 20:21:35 +02:00
jtimon
da03e6ed7c
Separate script/interpreter
2014-09-08 20:21:33 +02:00
jtimon
cbd22a50c4
Move CScript class and dependencies to script/script
2014-09-08 20:19:31 +02:00
jtimon
86dbeea2cd
Rename script.h/.cpp to scriptutils.h/.cpp (plus remove duplicated includes)
2014-09-08 20:19:31 +02:00
jtimon
87d9819d4d
fix comments ExtractAddress() -> ExtractDestination()
2014-08-28 01:54:45 +02:00
jtimon
f5745fa52a
Declare SignatureHash() in script.h
2014-08-01 17:45:09 +02:00
Pieter Wuille
4949004d68
Add CMutableTransaction and make CTransaction immutable.
...
In addition, introduce a cached hash inside CTransaction, to prevent
recalculating it over and over again.
2014-06-21 22:59:03 +02:00
Wladimir J. van der Laan
3fc6846181
Add licenses for tests and test data
...
- Add license headers to source files (years based on commit dates)
in `src/test` as well as `qa`
- Add `README.md` to `src/test/data` specifying MIT license
Fixes #3848
2014-03-18 10:20:55 +01:00
Brandon Dahler
51ed9ec971
Cleanup code using forward declarations.
...
Use misc methods of avoiding unnecesary header includes.
Replace int typedefs with int##_t from stdint.h.
Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h.
Normalize QT_VERSION ifs where possible.
Resolve some indirect dependencies as direct ones.
Remove extern declarations from .cpp files.
2013-11-10 09:36:28 -06:00
Gavin Andresen
be484db274
Merge pull request #2738 from jgarzik/op_return
...
Relay OP_RETURN data TxOut as standard transaction type.
2013-10-21 22:47:24 -07:00
Jeff Garzik
a79342479f
Relay OP_RETURN data TxOut as standard transaction type
2013-10-02 11:49:43 -04:00
Pieter Wuille
f5857e5cb5
Inline signature serializer
...
Instead of building a full copy of a CTransaction being signed, and
then modifying bits and pieces until its fits the form necessary
for computing the signature hash, use a wrapper serializer that
only serializes the necessary bits on-the-fly.
This makes it easier to see which data is actually being hash,
reduces load on the heap, and also marginally improves performances
(around 3-4us/sigcheck here). The performance improvements are much
larger for large transactions, though.
The old implementation of SignatureHash is moved to a unit tests,
to test whether the old and new algorithm result in the same value
for randomly-constructed transactions.
2013-09-28 18:37:00 +02:00
Pieter Wuille
dfa23b94c2
CSecret/CKey -> CKey/CPubKey split/refactor
2013-05-30 05:20:21 +02:00
Gavin Andresen
87b9931bed
Fix signed/unsigned comparison warnings
2013-04-03 14:04:21 -04:00
Pieter Wuille
99d0d0f356
Introduce script verification flags
...
These flags select features to be enabled/disabled during script
evaluation/checking, instead of several booleans passed along.
Currently these flags are defined:
* SCRIPT_VERIFY_P2SH: enable BIP16-style subscript evaluation
* SCRIPT_VERIFY_STRICTENC: enforce strict adherence to pubkey/sig encoding standards.
2012-11-15 23:00:16 +01:00
Pieter Wuille
58bc86e37f
Check for canonical public keys and signatures
...
Only enabled inside tests for now.
2012-09-21 01:24:25 +02:00