-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MBV Property Based Testing -- Do Not Merge #3
Commits on Jan 12, 2018
-
Adding rapidcheck dependency, adding CKey properties
Adding rapidcheck dependency, adding CKey properties Successfully compiling bitcoin with rapidcheck dependency Adding new property file for CKey Serialization symmetry for CKey -> CBitcoinSecret -> CKey Adding generators for CPrivKey, CPubKey, and uint256 [depends] Rework rapidcheck.mk
Configuration menu - View commit details
-
Copy full SHA for 7f2ec38 - Browse repository at this point
Copy the full SHA 7f2ec38View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24d0ab9 - Browse repository at this point
Copy the full SHA 24d0ab9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e43d45 - Browse repository at this point
Copy the full SHA 5e43d45View commit details -
Adding block header serialization property
Fixing generator bug where I wasn't setting all fields on a BlockHeader
Configuration menu - View commit details
-
Copy full SHA for c176314 - Browse repository at this point
Copy the full SHA c176314View commit details -
Creating transaction_gen.h, adding generator for COutPoint and serial…
…ization symmetry property for COutPoint
Configuration menu - View commit details
-
Copy full SHA for a95d107 - Browse repository at this point
Copy the full SHA a95d107View commit details -
Adding script generator and script_propertes, first property is CScri…
…pt serialization symmetry
Configuration menu - View commit details
-
Copy full SHA for 52bd9ac - Browse repository at this point
Copy the full SHA 52bd9acView commit details -
Adding CTransaction generator, adding serialization symmetry property…
… for CTransaction Removing 'oneOrMoreInputs' and 'oneOrMoreOutputs' generators in favor of using rapidcheck's gen::nonEmpty function
Configuration menu - View commit details
-
Copy full SHA for d8ea6c6 - Browse repository at this point
Copy the full SHA d8ea6c6View commit details -
Adding CTransactionRef and CBlock generators, adding property for CBl…
…ock serialization symmetry
Configuration menu - View commit details
-
Copy full SHA for 792e150 - Browse repository at this point
Copy the full SHA 792e150View commit details -
Adding Generators outside of the rc name space, adding generator for …
…LoadedBloomFilter
Configuration menu - View commit details
-
Copy full SHA for 12be36c - Browse repository at this point
Copy the full SHA 12be36cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8efafd7 - Browse repository at this point
Copy the full SHA 8efafd7View commit details -
Adding merkle_block properties
Committing to try and debug mem leak Removing comments, rebasing to master Only adding rapidcheck dependency if tests are enabled Refactoring inclues in generator files, reordering files in Makefile.test.include Undoing change in merkleblock.cpp
Configuration menu - View commit details
-
Copy full SHA for 761218f - Browse repository at this point
Copy the full SHA 761218fView commit details -
Configuration menu - View commit details
-
Copy full SHA for d7b29cd - Browse repository at this point
Copy the full SHA d7b29cdView commit details -
Reworking BetweenZeroAndOne to use rc::gen::map instead of rc::gen::s…
…uchThat, removing some unused imports
Configuration menu - View commit details
-
Copy full SHA for 535fe44 - Browse repository at this point
Copy the full SHA 535fe44View commit details -
Adding signedP2PKTx(), signedP2PKHTx(), signedMultisigTx(), and then …
…a generator called signedP2SHTx() that creates a p2sh output and spends it
Configuration menu - View commit details
-
Copy full SHA for e609407 - Browse repository at this point
Copy the full SHA e609407View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45d6751 - Browse repository at this point
Copy the full SHA 45d6751View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49858af - Browse repository at this point
Copy the full SHA 49858afView commit details -
Configuration menu - View commit details
-
Copy full SHA for 65ef224 - Browse repository at this point
Copy the full SHA 65ef224View commit details -
Configuration menu - View commit details
-
Copy full SHA for fca7771 - Browse repository at this point
Copy the full SHA fca7771View commit details -
Modifying code to be closer to the style guide rules, use const/refer…
…ences, fixing more nits
Configuration menu - View commit details
-
Copy full SHA for dd5976b - Browse repository at this point
Copy the full SHA dd5976bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0da8a85 - Browse repository at this point
Copy the full SHA 0da8a85View commit details -
Configuration menu - View commit details
-
Copy full SHA for 82ddc10 - Browse repository at this point
Copy the full SHA 82ddc10View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ca3aa5 - Browse repository at this point
Copy the full SHA 4ca3aa5View commit details -
Configuration menu - View commit details
-
Copy full SHA for be24239 - Browse repository at this point
Copy the full SHA be24239View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7680d0c - Browse repository at this point
Copy the full SHA 7680d0cView commit details -
Extend validateaddress information for P2SH-embedded witness
This adds new fields 'pubkeys' and 'embedded' to the RPC's output, and improves the documentation for previously added 'witness_version' and 'witness_program' fields.
Configuration menu - View commit details
-
Copy full SHA for afb8c32 - Browse repository at this point
Copy the full SHA afb8c32View commit details -
Replaces numbered place marker %2 with %1.
Replaces numbered place marker %2 with %1, because the QString::arg() member function is called once on the string used to create the QString object.
Configuration menu - View commit details
-
Copy full SHA for 79e1b6f - Browse repository at this point
Copy the full SHA 79e1b6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 57a9ffb - Browse repository at this point
Copy the full SHA 57a9ffbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ba5920 - Browse repository at this point
Copy the full SHA 3ba5920View commit details -
Configuration menu - View commit details
-
Copy full SHA for daaf169 - Browse repository at this point
Copy the full SHA daaf169View commit details -
Configuration menu - View commit details
-
Copy full SHA for ec5c85c - Browse repository at this point
Copy the full SHA ec5c85cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f976ab - Browse repository at this point
Copy the full SHA 4f976abView commit details -
Implicitly know about P2WPKH redeemscripts
Make CKeyStore automatically known about the redeemscripts necessary for P2SH-P2WPKH (and due to the extra checks in IsMine, also P2WPKH) spending.
Configuration menu - View commit details
-
Copy full SHA for 38c8760 - Browse repository at this point
Copy the full SHA 38c8760View commit details -
This introduces two command line flags (-addresstype and -changetype) which control the type of addresses/outputs created by the GUI and RPCs. Certain RPCs allow overriding these (`getnewaddress` and `getrawchangeaddress`). Supported types are "legacy" (P2PKH and P2SH-multisig), "p2sh-segwit" (P2SH-P2WPKH and P2SH-P2WSH-multisig), and "bech32" (P2WPKH and P2WSH-multisig). A few utility functions are added to the wallet to construct different address type and to add the necessary entries to the wallet file to be compatible with earlier versions (see `CWallet::LearnRelatedScripts`, `GetDestinationForKey`, `GetAllDestinationsForKey`, `CWallet::AddAndGetDestinationForScript`).
Configuration menu - View commit details
-
Copy full SHA for 00cd277 - Browse repository at this point
Copy the full SHA 00cd277View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c89fea - Browse repository at this point
Copy the full SHA 9c89feaView commit details -
Improvements and cleanups by John Newbery
Configuration menu - View commit details
-
Copy full SHA for 4da4727 - Browse repository at this point
Copy the full SHA 4da4727View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b03294 - Browse repository at this point
Copy the full SHA 2b03294View commit details -
Add midstate output to CSHA256. This allows the intermediate state of…
… a SHA-256 run to be saved for future resumption, or in the case of fast Merkle trees to perform a non-padded hash.
Configuration menu - View commit details
-
Copy full SHA for c3f9b97 - Browse repository at this point
Copy the full SHA c3f9b97View commit details -
Add custom initialization vector support to CSHA256. Using alternativ…
…e initialization vectors allows SHA-256 to be reused as a different cryptographic hash function while sharing the same implementation, which is necessary to secure some hash tree protocols.
Configuration menu - View commit details
-
Copy full SHA for 841077e - Browse repository at this point
Copy the full SHA 841077eView commit details -
Add fast Merkle branch functions. A fast Merkle branch uses midstate …
…to perform a single SHA-256 compression with a custom initialization vector per internal node of a binary Merkle tree, and is not vulnerable to CVE-2012-2459. It produces different hash values though, so can only be used for new hash trees going forward.
Configuration menu - View commit details
-
Copy full SHA for 7b610c6 - Browse repository at this point
Copy the full SHA 7b610c6View commit details -
Add MerkleProof and MerkleTree data structures, for efficiently trans…
…mitting and validating proofs of multiple elements from a fast Merkle tree. The MerkleProof contains the tree structure and skip hashes, while the MerkleTree contains a proof and associated verify hashes.
Configuration menu - View commit details
-
Copy full SHA for a37dbe9 - Browse repository at this point
Copy the full SHA a37dbe9View commit details -
Replace NOP4 with MERKLEBRANCHVERIFY, presently disabled.
[... leaf/H(leaf) ...] proof root {count,prehashed} MERKLEBRANCHVERIFY This opcode takes a Merkle root, any number of leaf hashes of the tree, and a 'proof' object composed of an encoding of the path through the tree from root to leaves and the minimal set of hash values necessary to recompute the the root from the leaf. Script validation fails if the recomputed root does not match the hash provided (which, presumably, would be committed to in the scriptPubKey). Only the logic and unit tests are implemented; this commit does not have any soft-fork activation logic in it. See BIP116 for details.
Configuration menu - View commit details
-
Copy full SHA for d7e4181 - Browse repository at this point
Copy the full SHA d7e4181View commit details -
Enable MERKLEBRANCHVERIFY as a standard script verification flag. Tra…
…nsactions that fail MBV verification will be rejected from the mempool, making it easier to test and to later soft-fork activate this feature. Blocks which contain "invalid" MBV-using transactions will still be accepted; this is *not* the soft-fork required to use MBV in production.
Configuration menu - View commit details
-
Copy full SHA for 7248500 - Browse repository at this point
Copy the full SHA 7248500View commit details -
Adding merkle_gen.{h,cpp}, merkle_properties.cpp
Creating merkle branch verify script and transaction generators
Configuration menu - View commit details
-
Copy full SHA for 4df11ab - Browse repository at this point
Copy the full SHA 4df11abView commit details -
transaction_properties/spend_mbv_tx successfully passing for simple 2…
… leaf merkle tree
Configuration menu - View commit details
-
Copy full SHA for c1be23d - Browse repository at this point
Copy the full SHA c1be23dView commit details