Commit graph

164 commits

Author SHA1 Message Date
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
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