Commit graph

163 commits

Author SHA1 Message Date
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
Wladimir J. van der Laan
006cdf64dc
Merge #7907: Optimize and Cleanup CScript::FindAndDelete
d1d7775 Improve worst-case behavior of CScript::FindAndDelete (Patrick Strateman)
e2a30bc Unit test for CScript::FindAndDelete (Gavin Andresen)
c0f660c Replace c-style cast with c++ style static_cast. (Patrick Strateman)
ec9ad5f Replace memcmp with std::equal in CScript::FindAndDelete (Patrick Strateman)
2016-05-05 19:01:32 +02:00
Pieter Wuille
4f87af6fc7 Treat overly long scriptPubKeys as unspendable 2016-04-25 14:22:30 +02:00
Pieter Wuille
f8e6fb1800 Introduce constant for maximum CScript length 2016-04-25 14:22:30 +02:00
Patrick Strateman
d1d7775587 Improve worst-case behavior of CScript::FindAndDelete
Thanks to Sergio Lerner for identifying this issue and suggesting this kind of solution.
2016-04-21 17:24:36 -07:00
Patrick Strateman
c0f660c3a3 Replace c-style cast with c++ style static_cast. 2016-04-19 13:22:20 -07:00
Patrick Strateman
ec9ad5f199 Replace memcmp with std::equal in CScript::FindAndDelete
Function is stl; std::equal just makes more sense.
2016-04-19 13:22:03 -07:00
Wladimir J. van der Laan
a25a4f5b04 wallet_ismine.h → script/ismine.h
Removes conditional dependency of `src/test` on wallet.

Makes multisig and P2SH tests complete without wallet built-in.
2016-04-18 15:14:36 +02:00
MarcoFalke
fada0c422c [doc] Fix doxygen comments for members 2016-04-03 11:58:01 +02:00
BtcDrak
a38107643f Code style fix.
This if statement is a little obtuse and using braces here
improves readability.
2016-02-16 09:39:44 +00:00
BtcDrak
c3c375226e Separate CheckLockTime() and CheckSequence() logic
For the sake of a little repetition, make code more readable.
2016-02-14 11:29:40 +00:00
Mark Friedenbach
53e53a33c9 BIP112: Implement CHECKSEQUENCEVERIFY
- Replace NOP3 with CHECKSEQUENCEVERIFY (BIP112)
  <nSequence> CHECKSEQUENCEVERIFY -> <nSequence>
- Fails if txin.nSequence < nSequence, allowing funds of a txout to be locked for a number of blocks or a duration of time after its inclusion in a block.
- Pull most of CheckLockTime() out into VerifyLockTime(), a local function that will be reused for CheckSequence()
- Add bitwise AND operator to CScriptNum
- Enable CHECKSEQUENCEVERIFY as a standard script verify flag
- Transactions that fail CSV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CSV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CSV for production use.
2016-02-14 11:29:38 +00:00
Wladimir J. van der Laan
80d1f2e483
Merge #7184: Implement SequenceLocks functions for BIP 68
b043c4b fix sdaftuar's nits again (Alex Morcos)
a51c79b Bug fix to RPC test (Alex Morcos)
da6ad5f Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar)
c6c2f0f Implement SequenceLocks functions (Alex Morcos)
2016-02-12 17:03:46 +01:00