Commit graph

175 commits

Author SHA1 Message Date
Mark Friedenbach
7c35c08302 CT/CA: Unify CTxOutAsset and CTxOutValue into a single templated abstract base class 2017-04-02 14:28:18 -04:00
Mark Friedenbach
96221efaab CT: CTxOutValue::IsAmount() -> CTxOutValue::IsExplicit() 2017-04-02 14:28:18 -04:00
Mark Friedenbach
e2077844f6 CA: CTxOutAsset::vchAssetTag -> CTxOutAsset::vchCommitment 2017-04-02 14:28:18 -04:00
Mark Friedenbach
f39435a877 2WP: Separate mainchain and sidechain data structures into different classes, with the bitcoin data structures living in the src/primitives/bitcoin subdirectory. 2017-04-02 14:23:35 -04:00
Gregory Sanders
f120b21baf GetWithdrawLockGenesisHash: break out asserts from computation 2017-04-02 14:23:35 -04:00
Gregory Sanders
e666b9eaf4 EvalScript: break out asserts from state changes 2017-04-02 14:23:35 -04:00
Gregory Sanders
f86b32e80d getrawtransaction: scriptpubkey type is 'fee' 2017-04-02 14:23:35 -04:00
Gregory Sanders
4e49c307b0 Rangeproof commits to scriptpubkey 2017-04-02 14:21:30 -04:00
Gregory Sanders
d9ab0e3edf Replace nTxFee with explicit output fees 2017-04-02 14:21:30 -04:00
Gregory Sanders
bb2f08d84e SurjectionProof caching 2017-04-02 14:18:27 -04:00
Gregory Sanders
05bc6db085 Consensus: Add asset type to CTxOut and validation 2017-04-02 14:05:25 -04:00
instagibbs
87ccc27273 Adapt daemon functionality to updated libsecp 2017-04-02 14:05:25 -04:00
Eric Martindale
01d7915bb7 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-02-02 10:59:01 -05:00
Gregory Sanders
a6c6702861 Count CHECKSIGFROMSTACK* against sigops limit 2017-02-02 10:59:01 -05:00
instagibbs
6a3b75d257 [HF] Re-activated some disabled Bitcoin OPs and enabled new opcodes 2017-02-02 10:59:01 -05:00
Jonas Nick
bb1f44f8a6 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-02-02 10:59:00 -05:00
instagibbs
7154c1f9ad Rangeproof caching 2017-02-02 10:58:56 -05:00
instagibbs
2ff3733d6b More meaningful error messages for WPV failure 2017-02-02 10:58:56 -05:00
Warren Togami
d0feca3dca 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-02-02 10:58:50 -05:00
Matt Corallo
c04435d2f0 rotate addresses for new chain again 2017-02-02 10:58:50 -05:00
Matt Corallo
5427f23c17 new chain 2017-02-02 10:58:49 -05:00
Matt Corallo
44cff58a62 Set network parameters 2017-02-02 10:58:49 -05:00
Matt Corallo
40a12f6c68 Change constant keys to shit I found on google
(note script/interpreter must match wallet/rpcwallet)
2017-02-02 10:58:49 -05:00
Matt Corallo
cffa0d029c Enable various script validations always 2017-02-02 10:58:49 -05:00
Matt Corallo
5ddb05243c Add regtest mode with a very large OP_TRUE output 2017-02-02 10:58:49 -05:00
Luke Dashjr
3ad6bbe651 Refactors in anticipation of blinded values 2017-02-02 10:58:48 -05:00
Matt Corallo
183e00bdfd Use RPC calls to check bitcoin blocks are valid and confirmed 2017-02-02 10:58:48 -05:00
Matt Corallo
a37cd32dd6 Verify Withdraw proofs in script execution 2017-02-02 10:58:47 -05:00
Matt Corallo
6c945bea44 Tweak SignatureChecker to expose a bit more about the transaction 2017-02-02 10:58:47 -05:00
Matt Corallo
cca18eee8d Add withdraw lock to script/standard.h (and, thus, RPC raw txn) 2017-02-02 10:58:47 -05:00
Matt Corallo
c51a6f32d0 Add CScript::PushWithdraw function 2017-02-02 10:58:47 -05:00
Matt Corallo
cf5d16755d Add CScript::IsWithdrawLock() (which is standard) 2017-02-02 10:58:47 -05:00
jtimon
911294c696 Refactors in anticipation of private chain mode 2017-02-02 10:58:43 -05:00
Pieter Wuille
4ec21e8a64 Fix ismine and addwitnessaddress: no uncompressed keys in segwit
Github-Pull: #8499
Rebased-From: 248f3a76a8
2016-10-17 14:10:59 +02:00
Johnson Lau
821f3e6751 Require compressed keys in segwit as policy and disable signing with uncompressed keys for segwit scripts
Github-Pull: #8499
Rebased-From: 4c0c25a604
2016-10-17 14:10:58 +02:00
Johnson Lau
7a34a4614c Add NULLDUMMY verify flag in bitcoinconsensus.h
Github-Pull: #8848
Rebased-From: 2fa0063c26
2016-10-13 20:09:31 +02:00
Johnson Lau
3e80ab7f2a Add policy: null signature for failed CHECK(MULTI)SIG
Github-Pull: #8634
Rebased-From: e41bd449ab
2016-10-13 20:01:46 +02:00
Johnson Lau
0027672c80 Make non-minimal OP_IF/NOTIF argument non-standard for P2WSH
Github-Pull: #8526
Rebased-From: c72c5b1e3b
2016-10-13 20:01:45 +02:00
MarcoFalke
486650ae6a [doc] Fix typos in comments, doxygen: Fix comment syntax
Github-Pull: #8607
Rebased-From: fa27c0a2c4
2016-09-21 02:43:47 +00:00
Pieter Wuille
b8c79a057c Precompute sighashes
Original version by Nicolas Dorier. Precomputing version by Pieter Wuille.
2016-09-07 16:42:41 +02:00
Jorge Timón
8360d5b37d
libconsensus: Expose a flag for BIP112
We added the segwit one, but we forgot CHECKSEQUENCEVERIFY

Github-Pull: #8412
Rebased-From: d12b732ac2
2016-07-29 01:16:57 +02:00
BtcDrak
14d01309be Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY 2016-06-28 17:17:36 +01:00
NicolasDorier
745eb678ef [RPC] signrawtransaction can sign P2WSH 2016-06-22 15:43:01 +02:00
Pieter Wuille
605e8473a7 BIP143: Signing logic 2016-06-22 15:43:01 +02:00
Thomas Kerin
b7dbeb24eb [libconsensus] Script verification API with amounts
script_tests: always test bitcoinconsensus_verify_script_with_amount if VERIFY_WITNESS isn't set

Rename internal method + make it static

trim bitcoinconsensus_ prefix

Add SERIALIZE_TRANSACTION_WITNESS flag
2016-06-22 15:43:00 +02:00
Pieter Wuille
2b1f6f9ccf BIP141: Other consensus critical limits, and BIP145
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22 15:43:00 +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
Pieter Wuille
7030d9eb47 BIP144: Serialization, hashes, relay (sender side)
Contains refactorings by Eric Lombrozo.
Contains fixup by Nicolas Dorier.
Contains cleanup of CInv::GetCommand by Alex Morcos
2016-06-22 15:42:59 +02:00