aboutsummaryrefslogtreecommitdiff
path: root/src/test/multisig_tests.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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).