Commit graph

200 commits

Author SHA1 Message Date
Jorge Timón
21620bd6ab Document -validatepegin in daemon help 2017-06-16 12:02:37 -04:00
Gregory Sanders
ea9622bb47 Handle TX_FEE case in IsMine 2017-06-16 12:02:37 -04:00
Gregory Sanders
9d04bf58ba Rangeproof validation and rewinding should fail gracefully 2017-06-16 12:02:36 -04:00
Gregory Sanders
2ac5eafbca Remove spendable 0-value outputs from consensus, wallet 2017-06-16 12:02:36 -04:00
Gregory Sanders
3be1c9e097 Extend sigcache to properly cover all input to each verification 2017-06-16 12:02:35 -04:00
Mark Friedenbach
fa452a5ba7 CA: Add reissuance object to transaction serialization for signature purposes. 2017-06-16 12:02:34 -04:00
Mark Friedenbach
4c8f785185 [Hard-Fork] CT/CA: Put the asset surjection proof, value range proof, and issuance rangeproofs under the witness commitment 2017-06-16 12:02:34 -04:00
Mark Friedenbach
a2c0f11f8e CT/CA: Unify CTxOutAsset and CTxOutValue into a single templated abstract base class 2017-06-16 12:02:34 -04:00
Mark Friedenbach
690a403a6d CT: CTxOutValue::IsAmount() -> CTxOutValue::IsExplicit() 2017-06-16 12:02:34 -04:00
Mark Friedenbach
6d3406185f CA: CTxOutAsset::vchAssetTag -> CTxOutAsset::vchCommitment 2017-06-16 12:02:34 -04:00
Mark Friedenbach
28c7d34f77 2WP: Separate mainchain and sidechain data structures into different classes, with the bitcoin data structures living in the src/primitives/bitcoin subdirectory. 2017-06-16 12:02:32 -04:00
Gregory Sanders
eb5a6d1329 GetWithdrawLockGenesisHash: break out asserts from computation 2017-06-16 12:02:18 -04:00
Gregory Sanders
28c65e9695 EvalScript: break out asserts from state changes 2017-06-16 12:02:18 -04:00
Gregory Sanders
51a03610a0 getrawtransaction: scriptpubkey type is 'fee' 2017-06-16 12:02:18 -04:00
Gregory Sanders
714e8fc0d0 Rangeproof commits to scriptpubkey 2017-06-16 12:02:16 -04:00
Gregory Sanders
2f7a9a5846 Replace nTxFee with explicit output fees 2017-06-16 12:02:16 -04:00
Gregory Sanders
a38c6b18b5 SurjectionProof caching 2017-06-16 12:02:16 -04:00
Gregory Sanders
f9fd37cc8e Consensus: Add asset type to CTxOut and validation 2017-06-16 12:02:15 -04:00
instagibbs
7501e0a1a0 Adapt daemon functionality to updated libsecp 2017-06-16 12:02:15 -04:00
Eric Martindale
bdfe5e2e25 Migrate project naming from "Beta" to "Elements"
Note: this also changes the CHAINPARAMS_ELEMENTS constant!  The new
network name is simply `elements`, and similarly regtest is now
`elementsregtest`
2017-06-16 12:02:14 -04:00
Gregory Sanders
d4d6abbf6d Count CHECKSIGFROMSTACK* against sigops limit 2017-06-16 12:02:14 -04:00
instagibbs
c35693257c [HF] Re-activated some disabled Bitcoin OPs and enabled new opcodes 2017-06-16 12:02:13 -04:00
Jonas Nick
1287eaa0d9 QA: Allow setting the fedpeg script with a command line argument
- In both default and regtest modes
- The script is stored
- BaseSignatureChecker is used to pass it to the interpreter

Modified by jtimon
2017-06-16 12:02:13 -04:00
instagibbs
66ab07bd1b Rangeproof caching 2017-06-16 12:02:13 -04:00
instagibbs
1c23b6d3cc More meaningful error messages for WPV failure 2017-06-16 12:02:12 -04:00
Warren Togami
193e4afcab Rename blindtrust to validatepegin and invert boolean
`validatepegin=0` default means the sidechain will not verify incoming peg transactions against the bitcoind via CallRPC().
No change to default behavior.  This only clarifies the meaning of the parameter.
2017-06-15 14:31:26 -04:00
Matt Corallo
9d473c544f new chain 2017-06-15 14:31:25 -04:00
Matt Corallo
cf73307455 Set network parameters 2017-06-15 14:31:25 -04:00
Matt Corallo
bc8b7b3697 Enable various script validations always 2017-06-15 14:31:25 -04:00
Matt Corallo
cf0ed7aac1 Add regtest mode with a very large OP_TRUE output 2017-06-15 14:31:25 -04:00
Luke Dashjr
b5f1b6dd38 Refactors in anticipation of blinded values 2017-06-15 14:20:38 -04:00
Matt Corallo
c94ee2b4e0 Use RPC calls to check bitcoin blocks are valid and confirmed 2017-06-15 14:20:38 -04:00
Matt Corallo
1dbeef7319 Add withdraw-spent to CCoinsView/utxodb
Allows CCoinsCacheEntry/CCoinsMap entries to either be a CCoins
or, by setting a flag in the map key, a withdraw output from a
chain from which withdraw proofs are allowed to move to this
chain from.
2017-06-15 14:20:38 -04:00
Matt Corallo
8336ee71fa Verify Withdraw proofs in script execution 2017-06-15 14:20:38 -04:00
Matt Corallo
4ab8b0823a Tweak SignatureChecker to expose a bit more about the transaction 2017-06-15 14:20:38 -04:00
Matt Corallo
6772ca1f25 Add withdraw lock to script/standard.h (and, thus, RPC raw txn) 2017-06-15 14:20:38 -04:00
Matt Corallo
3e5d2fe86a Add CScript::PushWithdraw function 2017-06-15 14:20:38 -04:00
Matt Corallo
8c121ccd5c Add CScript::IsWithdrawLock() (which is standard) 2017-06-15 14:20:38 -04:00
jtimon
db42a26b72 Implement basic private chain mode 2017-06-15 14:20:37 -04:00
John Newbery
55c403b8fe Ensure -maxsigcachesize is in valid range
- If the -maxsigcachesize parameter is set to zero, setup a minimum sized
sigcache (2 elements) rather than segfaulting.
- Handle maxsigcachesize being negative
- Handle maxsigcachesize being too large
2017-02-17 09:04:37 +01:00
practicalswift
cc16d99f1d [trivial] Fix typos in comments 2017-01-27 21:22:35 +01: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
2ddfcfd2d6 Make CScript (and prevector) c++11 movable.
Such moves are used when reallocating vectors that contain them,
for example.
2016-12-21 18:28:33 -08:00
Wladimir J. van der Laan
e8cfe1ee2d
Merge #8589: Inline CTxInWitness inside CTxIn
f6fb7ac Move CTxInWitness inside CTxIn (Pieter Wuille)
2016-12-21 14:04:06 +01:00
Pieter Wuille
b83264d9c7
Merge #8895: Better SigCache Implementation
67dac4e Add unit tests for the CuckooCache (Jeremy Rubin)
c9e69fb Add CuckooCache implementation and replace the sigcache map_type with it (Jeremy Rubin)
2016-12-14 18:14:02 -08:00
Jeremy Rubin
c9e69fbf39 Add CuckooCache implementation and replace the sigcache map_type with it
SQUASHME: Change cuckoocache to only work for powers of two, to avoid mod operator
SQUASHME: Update Documentation and simplify logarithm logic
SQUASHME: OSX Build Errors
SQUASHME: minor Feedback from sipa + bluematt
SQUASHME: DOCONLY: Clarify a few comments.
2016-12-14 16:02:05 -05:00
Karl-Johan Alm
8c1dbc5e9d Refactor: Removed begin/end_ptr functions. 2016-12-09 13:15:19 +09:00
Pieter Wuille
f6fb7acda4 Move CTxInWitness inside CTxIn 2016-12-04 23:47:12 -08:00
Pieter Wuille
81e3228fcb Make CTransaction actually immutable 2016-12-02 18:37:43 -08:00
Pieter Wuille
528472111b Get rid of nType and nVersion
Remove the nType and nVersion as parameters to all serialization methods
and functions. There is only one place where it's read and has an impact
(in CAddress), and even there it does not impact any of the recursively
invoked serializers.

Instead, the few places that need nType or nVersion are changed to read
it directly from the stream object, through GetType() and GetVersion()
methods which are added to all stream classes.
2016-11-07 13:56:27 -08:00