aboutsummaryrefslogtreecommitdiff
path: root/src/test/multisig_tests.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge #9281: Refactor: Remove using namespace <xxx> from bench/ & test/ sourcesMarcoFalke2017-01-051-12/+10
|\ | | | | | | 73f4119 Refactoring: Removed using namespace <xxx> from bench/ and test/ source files. (Karl-Johan Alm)
| * Refactoring: Removed using namespace <xxx> from bench/ and test/ source files.Karl-Johan Alm2017-01-021-12/+10
| |
* | Increment MIT Licence copyright header year on files modified in 2016isle29832016-12-311-1/+1
|/ | | | | | Edited via: $ contrib/devtools/copyright_header.py update .
* BIP143: Signing logicPieter Wuille2016-06-221-1/+1
|
* BIP143: Verification logicPieter Wuille2016-06-221-1/+1
| | | | Includes simplifications by Eric Lombrozo.
* Refactor script validation to observe amountsPieter Wuille2016-06-221-8/+9
| | | | This is a preparation for BIP143 support.
* BIP141: Witness programPieter Wuille2016-06-221-8/+8
|
* wallet_ismine.h → script/ismine.hWladimir J. van der Laan2016-04-181-11/+1
| | | | | | Removes conditional dependency of `src/test` on wallet. Makes multisig and P2SH tests complete without wallet built-in.
* Bump copyright headers to 2014MarcoFalke2016-01-051-1/+1
|
* Policy: MOVEONLY: 3 functions to policy.o:Luke Dashjr2015-06-261-1/+1
| | | | | | | | - [script/standard.o] IsStandard - [main.o] IsStandardTx - [main.o] AreInputsStandard Also, don't use namespace std in policy.cpp
* Merge pull request #5745Wladimir J. van der Laan2015-03-201-1/+1
|\ | | | | | | 50c72f2 [Move Only] Move wallet related things to src/wallet/ (Jonas Schnelli)
| * [Move Only] Move wallet related things to src/wallet/Jonas Schnelli2015-03-121-1/+1
| | | | | | | | could once be renamed from /src/wallet to /src/legacywallet.
* | tests: add a BasicTestingSetup and apply to all testsWladimir J. van der Laan2015-03-121-1/+2
|/ | | | | | | | 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.
* Avoid storing a reference passed to SignatureChecker constructorsPieter Wuille2015-02-021-8/+8
|
* Use separate SignatureChecker for CMutableTransactionPieter Wuille2015-02-021-8/+8
|
* Make empty byte arrays pass CheckSignatureEncoding()Peter Todd2015-01-091-4/+0
| | | | | | | | | | | | 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.
* namespace: drop boost::assign altogether hereCory Fields2015-01-021-12/+8
| | | | Standard functions are even simpler
* Remove references to X11 licenceMichael Ford2014-12-161-1/+1
|
* script: check ScriptError values in script testsCory Fields2014-11-141-9/+28
|
* script: add ToByteVector() for converting anything with begin/endCory Fields2014-10-171-21/+21
| | | | This should move to a util header once their dependencies are cleaned up.
* Replace SCRIPT_VERIFY_NOCACHE by flag directly to checkerPieter Wuille2014-10-021-9/+9
|
* Don't pass nHashType to VerifyScriptjtimon2014-09-121-9/+9
|
* Rename scriptutils.o to wallet_ismine.ojtimon2014-09-101-1/+1
|
* Move scriptutils.o to walletjtimon2014-09-101-1/+12
|
* Separate script/signjtimon2014-09-081-0/+1
|
* Separate script/interpreterjtimon2014-09-081-0/+1
|
* Move CScript class and dependencies to script/scriptjtimon2014-09-081-0/+1
|
* Rename script.h/.cpp to scriptutils.h/.cpp (plus remove duplicated includes)jtimon2014-09-081-1/+1
|
* fix comments ExtractAddress() -> ExtractDestination()jtimon2014-08-281-2/+2
|
* Declare SignatureHash() in script.hjtimon2014-08-011-2/+0
|
* Add CMutableTransaction and make CTransaction immutable.Pieter Wuille2014-06-211-4/+4
| | | | | In addition, introduce a cached hash inside CTransaction, to prevent recalculating it over and over again.
* Add licenses for tests and test dataWladimir J. van der Laan2014-03-181-1/+3
| | | | | | | | - 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
* Cleanup code using forward declarations.Brandon Dahler2013-11-101-10/+6
| | | | | | | | | 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.
* Merge pull request #2738 from jgarzik/op_returnGavin Andresen2013-10-211-5/+7
|\ | | | | Relay OP_RETURN data TxOut as standard transaction type.
| * Relay OP_RETURN data TxOut as standard transaction typeJeff Garzik2013-10-021-5/+7
| |
* | Inline signature serializerPieter Wuille2013-09-281-1/+1
|/ | | | | | | | | | | | | | | | 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.
* CSecret/CKey -> CKey/CPubKey split/refactorPieter Wuille2013-05-301-1/+1
|
* Fix signed/unsigned comparison warningsGavin Andresen2013-04-031-2/+2
|
* Introduce script verification flagsPieter Wuille2012-11-151-11/+11
| | | | | | | | 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.
* Check for canonical public keys and signaturesPieter Wuille2012-09-211-10/+10
| | | | Only enabled inside tests for now.
* = instead of == in multisig_tests.cppxanatos2012-06-211-1/+1
|
* Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddressPieter Wuille2012-05-241-17/+17
| | | | | | | | | | | | | | | | | This introduces internal types: * CKeyID: reference (hash160) of a key * CScriptID: reference (hash160) of a script * CTxDestination: a boost::variant of the former two CBitcoinAddress is retrofitted to be a Base58 encoding of a CTxDestination. This allows all internal code to only use the internal types, and only have RPC and GUI depend on the base58 code. Furthermore, the header dependencies are a lot saner now. base58.h is at the top (right below rpc and gui) instead of at the bottom. For the rest: wallet -> script -> keystore -> key. Only keystore still requires a forward declaration of CScript. Solving that would require splitting script into two layers.
* Encapsulate public keys in CPubKeyPieter Wuille2012-05-241-7/+7
|
* Fix tests after 38067c18Pieter Wuille2012-02-201-4/+4
|
* Replace OP_EVAL (BIP 12) with Pay-to-script-hash (BIP 16).Gavin Andresen2012-01-131-12/+11
|
* make sure IsMine only returns true when we own all keyscoderrr2012-01-031-1/+4
|
* Fix broken ExtractAddress (refactored, made callers check for addresses in ↵Gavin Andresen2011-12-221-4/+4
| | | | keystore if they care)
* Use block times for 'hard' OP_EVAL switchover, and refactored EvalScriptGavin Andresen2011-12-191-15/+16
| | | | | | so it takes a flag for how to interpret OP_EVAL. Also increased IsStandard size of scriptSigs to 500 bytes, so a 3-of-3 multisig transaction IsStandard.
* OP_EVAL implementationGavin Andresen2011-12-191-47/+52
| | | | | | OP_EVAL is a new opcode that evaluates an item on the stack as a script. It enables a new type of bitcoin address that needs an arbitrarily complex script to redeem.
* Support 3 new multisignature IsStandard transactionsGavin Andresen2011-12-191-0/+288
Initial support for (a and b), (a or b), and 2-of-3 escrow transactions (where a, b, and c are keys).