Commit Graph

12906 Commits

Author SHA1 Message Date
Pieter Wuille
6f83cf2adb BIP9 Implementation
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
2016-03-18 09:14:52 +00:00
Alex Morcos
ade85e126d Add LockPoints
Obtain LockPoints to store in CTxMemPoolEntry and during a reorg, evaluate whether they are still valid and if not, recalculate them.
2016-03-18 09:14:52 +00:00
BtcDrak
c8d309e4b4 Code style fix.
This if statement is a little obtuse and using braces here
improves readability.
2016-03-18 09:14:52 +00:00
BtcDrak
6170506fdf Separate CheckLockTime() and CheckSequence() logic
For the sake of a little repetition, make code more readable.
2016-03-18 09:14:52 +00:00
Mark Friedenbach
c0c5e09fe2 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-03-18 09:14:52 +00:00
Alex Morcos
197c3760ff fix sdaftuar's nits again
it boggles the mind why these nits can't be delivered on a more timely basis
2016-03-18 09:14:52 +00:00
Alex Morcos
0a79c04af3 Bug fix to RPC test 2016-03-18 09:14:52 +00:00
Suhas Daftuar
0d09af77b7 Add RPC test exercising BIP68 (mempool only) 2016-03-18 09:14:52 +00:00
Alex Morcos
15ba08c3b5 Implement SequenceLocks functions
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.

The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
2016-03-18 09:14:52 +00:00
UdjinM6
be9e2f1d4f Fix GetHash() for CMasternodeBroadcast 2016-03-18 03:38:00 +03:00
UdjinM6
54096c30ec Allow user to use 2 modes for masternodebroadcast:
- safe - process mnb as if it was received via network
 - fast - skip most checks and relay
2016-03-18 02:37:48 +03:00
UdjinM6
c96284a787 Refactor masternodebroadcast to serialize/decode/relay multiple masternodes at once 2016-03-17 20:39:17 +03:00
TheLazieR Yip
91b2546d8b Update .travis.yml to use travis's container based with public cache directories
- Remove sudo: required
 - Use addons to install apt packages
 - Use pip to install pyzmq
 - Use wine package from precise, so running windows binary for test need to call via wine.

Closes #743
2016-03-17 13:47:25 +01:00
Luv Khemani
4ce2b0214b Add autocomplete to bitcoin-qt's console window.
Removed externs
Added listCommands() to CRPCTable

Move autocomplete init to RPCConsole::setClientModel()

Closes #742
2016-03-17 08:39:05 +01:00
UdjinM6
eaf57b3fb7 Implemented masternodebroadcast
This set of rpc commands provide an ability to create masternode broadcast messages offline
and relay them from online node later (messages expire in ~1 hour).

Arguments:
1. command        (string or set of strings, required) The command to execute
2. passphrase     (string, optional) The wallet passphrase
Available commands:
  create-alias  - Create single remote masternode broadcast message by assigned alias configured in masternode.conf
  create-all    - Create remote masternode broadcast messages for all masternodes configured in masternode.conf
  decode        - Decode masternode broadcast message
  relay         - Relay masternode broadcast message to the network

Closes #741
2016-03-17 08:29:53 +01:00
UdjinM6
f39bc3b3cb Bump DEFAULT_TRANSACTION_MAXFEE
Should be smth like "smallest DS denomination (0.10000100)" + X * "denom tails"
to avoid triggering "absurd fee" error.
I think that 0.2 i.e. having 100 of 100s "tails" (or 1000 of 10s etc) should be enough.

Closes #737
2016-03-16 07:52:37 +01:00
UdjinM6
6f301d9a63 Fix unlock for sending txes from qt dialog
Closes #736
2016-03-16 07:51:17 +01:00
UdjinM6
4249b28230 Throw a bit more specific rpcerrors (error codes should be more granular/meaningful now), add missing fields, unify naming
Closes #735
2016-03-16 07:50:50 +01:00
UdjinM6
d406324573 Add options for getchaintips 2016-03-16 07:50:06 +01:00
UdjinM6
ddbeda357e fix docs (mostly for budgets)
Closes #734
2016-03-16 07:49:51 +01:00
UdjinM6
38f386ae1c Few small changes: - Better log output (a bit more granular for mnb, fixing "\n"s and few other small issues) - Unify variable/class members naming a bit
Closes #733
2016-03-16 07:48:37 +01:00
UdjinM6
2fc05e5b9d Add ability to change debug category on the fly from console
NOTE: Before switching to another debug catgory you'd need to turn debugging off via "debug 0"
      and wait a bit (each thread (de)activates debug mode on its own)
2016-03-16 07:46:35 +01:00
UdjinM6
a7fd7821e9 Add "-logthreadnames" cmd-line option to add thread names to debug messages 2016-03-16 07:46:29 +01:00
UdjinM6
e0c4dd0129 Fix crash in CheckAndRemove
Closes #732
2016-03-14 14:27:20 +01:00
UdjinM6
c872091296 Fix NetMsgType::DSCOMPLETE usage
Closes #731
2016-03-14 11:39:25 +01:00
MarcoFalke
f04f4fd2ee
[doc/log] Fix markdown syntax and line terminate LogPrint
- Fix doxygen comment for payTxFee
- [doc] Fix markdown
- Make sure LogPrintf strings are line-terminated

Github-Pull: #7617
Rebased-From: fa06ce09498707d5e82633f1e1b034675e552628 fa97f95c15a7aee15feea500571a10a90f22ea8b fa266524592cc18c789cc587d738fb0e548fd23a
2016-03-11 09:44:17 +01:00
UdjinM6
5d42a372cf Fix CBudgetProposal::GetRemainingPaymentCount()
Closes #729
2016-03-09 07:23:20 +01:00
UdjinM6
04efdd1150 Fix mn sync: - reset lasttime* right before switching to next asset - adjust target block count by 1.2 coeff - lower MASTERNODE_SYNC_TIMEOUT 120 -> 30
Closes #728
2016-03-09 07:22:54 +01:00
UdjinM6
eeb4e9c11a Always clean ds queue
Closes #727
2016-03-09 07:22:17 +01:00
UdjinM6
1b41f851bf Fix CBudgetManager::CheckAndRemove() endless loop
Closes #726
2016-03-09 07:21:56 +01:00
UdjinM6
618c27a99d RPC changes
- add filter to `masternode winners`
- allow `masternode debug` right after blockchain is synced
- fix `masternode current`
- fix getpoolinfo, add ds queue size to output

Closes #725
2016-03-09 07:21:21 +01:00
TheLazieR Yip
d401d64281 Clean duplicated params setting for test network.
Closes #724
2016-03-09 07:18:59 +01:00
UdjinM6
9d151c25dd Use chainActive.Tip() in FillBlockPayee functions Turned out that pCurrentBlockIndex is an overkill here, we should just make sure that cs_main lock is already held for us.
Closes #723
2016-03-07 12:19:53 +01:00
UdjinM6
cadfa233a0 remove stdout debug spam 2016-03-07 12:18:48 +01:00
UdjinM6
6f5a9c10fc fix src/test/data 2016-03-07 12:18:47 +01:00
UdjinM6
5a198a25dc fix travis - install dash_hash 2016-03-07 12:18:47 +01:00
Luke Dashjr
aef1009293 Bugfix: gitian: Add curl to packages (now needed for depends)
Github-Pull: #7614
Rebased-From: 5c70a6d6d15cc301b76558f708948c375fe63ccb
2016-03-07 12:18:46 +01:00
MarcoFalke
0dfc9e71b0 builders: No need to set -L and --location for curl
Github-Pull: #7606
Rebased-From: fa7a5c54fc836ada12c185c43806c5e4a1044701
2016-03-07 12:18:17 +01:00
Luke Dashjr
3c36bcf532 Workaround Travis-side CI issues
Github-Pull: #7487
Rebased-From: 149641e8fc9996da01eb76ffe4578828c40d37b5 c01f08db127883ff985889214eebdbe9513c729a 5d1148cb79856ac4695a0c7ac1cd28ada04eff34 1ecbb3b0f717c277f3db1a923fff16f7fc39432c
2016-03-07 12:18:16 +01:00
Wladimir J. van der Laan
8acabef3f3 doc: Clean out release notes
0.12.0 was released, prepare empty release notes for 0.12.1.
2016-03-07 12:17:02 +01:00
TheLazieR Yip
8675ce1929 Check New MasterNodeBroadcast Time
Closes #722
2016-03-07 12:00:29 +01:00
UdjinM6
18afe88401 Check vote time internally
Closes #721
2016-03-06 18:23:26 +01:00
UdjinM6
a2c6140cb1 more bitcoin -> dash
Closes #712
2016-03-06 18:21:29 +01:00
UdjinM6
8e560080a1 Fix comments, remove ._str() from LogPrintfs, few trivial changes 2016-03-06 18:21:06 +01:00
UdjinM6
31ff9c2ff8 Fix rpc-tests, relies on PRs #715-#719
Closes #720
2016-03-06 18:16:02 +01:00
UdjinM6
b682fcb8d6 Fix GetBlockSubsidy for regtest, bump regtest settings
Closes #719
2016-03-06 18:15:33 +01:00
UdjinM6
3cf048d01c Fix initial call of UpdatedBlockTip
Closes #718
2016-03-06 18:15:08 +01:00
UdjinM6
af1c321d16 Fix block reward verification
Closes #717
2016-03-06 18:14:42 +01:00
UdjinM6
4474de8573 Fix nChangePosRet in CreateTransaction
Closes #716
2016-03-06 18:14:16 +01:00
UdjinM6
c40fccce9a Only allow block to pass as a budget superblock if it came at or after Params().GetConsensus().nBudgetPaymentsStartBlock
Closes #715
2016-03-06 18:13:48 +01:00