Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
417 commits
Select commit Hold shift + click to select a range
ee6a5a3
Gov cleanup + copyright bump (#2324)
PastaPastaPasta Sep 28, 2018
a5aca04
rename vars in mnsync to make more sense (#2308)
nmarley Sep 30, 2018
8a1b513
Backport: Fix Qt build with XCode (for depends) (#2325)
UdjinM6 Sep 30, 2018
407bacc
Remove obsolete build-openbsd.md (#2328)
codablock Sep 30, 2018
f7ab6c4
M-of-N-like sporks (#2288)
Sep 30, 2018
07208a4
document spork system with doxygen comments (#2301)
nmarley Oct 2, 2018
eaef902
Don't use boost range adaptors in CDeterministicMNList (#2327)
codablock Oct 2, 2018
47a1622
Add ctpl header only library
codablock May 24, 2018
b0d0093
Add helper to rename all threads of a ctpl::thread_pool
codablock May 24, 2018
057d744
Add libgmp to depends
codablock Sep 18, 2018
f3dcb69
Add cmake to ci/Dockerfile.builder
codablock Sep 21, 2018
3039d44
Add Chia bls-signatures library to depends
codablock Sep 18, 2018
9ccf6f5
Implement wrappers around Chia BLS lib
codablock Oct 3, 2018
aa3b0aa
Add simple helpers/wrappers for BLS+AES based integrated encryption s…
codablock May 24, 2018
3ee27c1
Add highly parallelized worker/helper for BLS/DKG calculations
codablock May 24, 2018
78675d9
Add BLS and DKG benchmarks
codablock May 24, 2018
80fd096
Add ECDSA benchmarks
codablock Sep 14, 2018
b3fc236
Fix mnodeman.cs vs cs_vPendingMasternodes vs cs_main deadlock (#2200)
UdjinM6 Oct 11, 2018
8deb8e9
Modernize Gov Methods (#2326)
PastaPastaPasta Oct 11, 2018
727e940
Fix recently introduced PS bugs (#2330)
UdjinM6 Oct 11, 2018
9603c52
Trivial: Codestyle fixes in InstantSend code (#2332)
Oct 11, 2018
89f744d
pack of small cleanup fixes / optimizations (#2334)
nmarley Oct 11, 2018
bed1ded
Remove duplicated check (#2336)
Duality-CDOO Oct 11, 2018
43e757b
Amend SERIALIZATION_VERSION_STRING string for spork cache (#2339)
Duality-CDOO Oct 11, 2018
9c8e4ac
Move bls stuff from crypto/ to bls/
codablock Oct 12, 2018
4641916
Review fixes
codablock Oct 12, 2018
6867827
Merge pull request #2296 from codablock/pr_blsstuff
UdjinM6 Oct 15, 2018
b99d94a
Minor build documentation updates (#2343)
InhumanPerfection Oct 15, 2018
f7b0b57
Pick rounds with the most inputs available to mix first (#2278)
UdjinM6 Oct 15, 2018
90ad759
Fix auto-IS and tests (#2331)
UdjinM6 Oct 15, 2018
81d60bc
Fix the issue with transaction amount precision in IS tests (#2353)
Oct 18, 2018
11a0cbf
InstantSend-related tests refactoring (#2333)
Oct 20, 2018
a450553
Fix qt configure to detect clang version correctly (#2344)
UdjinM6 Oct 20, 2018
e2de632
Move handling of `size != SerSize` into SetBuf/GetBuf (#2356)
codablock Oct 20, 2018
7b76bbb
Update Chia BLS libs to latest master (#2357)
codablock Oct 20, 2018
3313bbd
Backport bitcoin #13623 Migrate gitian-build.sh to python (#2319)
charlesrocket Oct 21, 2018
c9d2745
Use BLS keys for the DIP3 operator key (#2352)
codablock Oct 21, 2018
266dd32
mkdir -p to allow re-start of failed chia build (#2359)
nmarley Oct 21, 2018
d998dc1
Add cmake to non-mac gitian descriptors (#2360)
codablock Oct 23, 2018
1c9ed78
GDB automation with Python script to measure memory usage in dashd (#…
Oct 23, 2018
eaa856e
Remove nProtocolVersion and add mode/type fields to DIP3 (#2358)
codablock Oct 23, 2018
c4351fd
revert 737, DEFAULT_TRANSACTION_MAXFEE = 0.1 * COIN (#2362)
PastaPastaPasta Oct 23, 2018
3c9237a
Use VersionBitsState instead of VersionBitsTipState to avoid cs_main …
codablock Oct 24, 2018
53e12b7
Don't bail out from ProcessMasternodeConnections in regtest (#2368)
codablock Oct 24, 2018
0402240
Bump CMAKE_CXX_STANDARD to 14 in CMakeLists.txt (#2377)
codablock Oct 25, 2018
de426e9
Give tail calls enough time to print errors (#2376)
codablock Oct 25, 2018
1c25356
Allow to use low difficulty and higher block rewards for devnet (#2369)
codablock Oct 25, 2018
fdfb077
Update ProRegTx serialization order (#2378)
thephez Oct 25, 2018
e3046ad
Clear devNetParams and mimic behavior of other param types (#2367)
codablock Oct 25, 2018
0ad2906
Clarify addlocked description in getbalance RPC (#2364)
thephez Oct 25, 2018
e3df910
Allow referencing other TX outputs for ProRegTx collateral (#2366)
codablock Oct 25, 2018
5993240
Change internal references of Darksend to PrivateSend (#2372)
PastaPastaPasta Oct 25, 2018
6433a94
[Trivial] typo Groupped -> Grouped (#2374)
PastaPastaPasta Oct 25, 2018
25b6dae
Code style and RPC help string cleanups for DIP2/DIP3 (#2379)
codablock Oct 26, 2018
733cd95
Remove global fDIP0003ActiveAtTip and fix wrong use of VersionBitsSta…
codablock Oct 26, 2018
0692de1
Fix prepare_masternodes/create_masternodes in DashTestFramework (#2382)
UdjinM6 Oct 26, 2018
d1debfc
Implement mt_pooled_secure_allocator and use it for BLS secure alloca…
codablock Oct 26, 2018
fcea333
Rewrite handling of too long depends builds in .travis.yml (#2385)
codablock Oct 26, 2018
8f9b004
Support "fast" mode when calling sync_masternodes (#2383)
codablock Oct 26, 2018
b5142ee
Implement RemoveAskFor to indicate that we're not interested in an it…
codablock Oct 26, 2018
e66c4e1
Don't revert to INV based block announcements when the previous block…
codablock Oct 26, 2018
28a6007
Prepare DIP3 for testnet and reuse DIP3 deployment for autoix deploym…
codablock Oct 26, 2018
9eb9c99
Bump version to 0.13.0 (#2386)
codablock Oct 26, 2018
e347012
Fix crash when deterministic MN list is empty and keep paying superbl…
codablock Oct 30, 2018
50f133a
Add merkle tree and coinbase transaction to the `protx diff` rpc comm…
antouhou Oct 30, 2018
4a78b16
PrivateSend spending txes should have "outgoing" icon on overview scr…
UdjinM6 Oct 30, 2018
c6cf4d9
Relay txes through MN network faster than through regular nodes (#2397)
UdjinM6 Oct 30, 2018
13f2eb4
Force fvisibility=hidden when compiling on macos (#2398)
UdjinM6 Oct 30, 2018
c8804ea
Do not ignore patches in depends (#2399)
UdjinM6 Oct 30, 2018
052af81
Ensure correct order of destruction for BLS secure allocator (#2401)
codablock Oct 31, 2018
70eb710
Undefine DOUBLE after include Chia BLS headers (#2400)
codablock Oct 31, 2018
6560ac6
Properly escape $ in Jenkinsfile.gitian (#2404)
codablock Nov 1, 2018
30a2b28
Sign ProRegTx collaterals with a string message instead of payload ha…
codablock Nov 1, 2018
7011fec
RPC: Add help details for the bls RPC (#2403)
thephez Nov 1, 2018
9c455ca
A couple of fixes for init steps (#2405)
UdjinM6 Nov 1, 2018
7e8f07b
A couple of fixes for shutdown sequence (#2406)
UdjinM6 Nov 1, 2018
1f56600
Trivial: Protx operator reward clarification (#2407)
thephez Nov 1, 2018
51addf9
Fix p2p-instantsend.py test (#2408)
UdjinM6 Nov 1, 2018
5e829a3
Update Chia bls-signature to latest version (#2409)
codablock Nov 1, 2018
0244267
Trivial: Correct protx diff RPC help (#2410)
thephez Nov 2, 2018
23f169c
Drop custom PS logic for guessing fees etc. from SelectCoins (#2371)
UdjinM6 Nov 4, 2018
f03629d
Explicitly specify which branch of Wine to install (#2411)
strophy Nov 4, 2018
9da9d57
Allow collaterals for non-DIP3 MNs which were created after DIP3/BIP9…
codablock Nov 4, 2018
bea5909
Fix auto-IS tests (#2414)
UdjinM6 Nov 5, 2018
1d56dff
Unify help display logic for various "complex" rpc commands (#2415)
UdjinM6 Nov 5, 2018
e9bb822
Clang format PrivateSend files (#2373)
PastaPastaPasta Nov 5, 2018
98bdf35
bump PS copyright (#2417)
PastaPastaPasta Nov 5, 2018
f0df5bf
Clang evo folder and activemasternode.* (#2418)
PastaPastaPasta Nov 6, 2018
e961c71
Translations 201811 (#2249)
UdjinM6 Nov 7, 2018
2624547
Add 5th denom, drop deprecated logic and bump min PS version (#2318)
UdjinM6 Nov 7, 2018
adad3fc
RPC: protx help corrections (#2422)
thephez Nov 8, 2018
da3e3db
Fix sub-command help for masternode, gobject and protx rpcs (#2425)
UdjinM6 Nov 9, 2018
42ee369
[Formatting] masternodelist.* clang+manual format (#2426)
PastaPastaPasta Nov 9, 2018
0e9ad20
Update hardcoded seeds (#2429)
codablock Nov 10, 2018
5ecd91b
Fix ps collateral/denom creation tx category confusion (#2430)
UdjinM6 Nov 10, 2018
76a38f6
Update defaultAssumeValid, nMinimumChainWork and checkpoints (#2428)
codablock Nov 10, 2018
c27e629
Allow reusing of external collaterals in DIP3 (#2427)
codablock Nov 10, 2018
5fc4072
Parallel ASN resolve and allow passing of input file names to makesee…
codablock Nov 10, 2018
46462d6
Add a column for IS lock status on Transactions tab (#2433)
UdjinM6 Nov 12, 2018
3685c85
Show BIP9 progress in getblockchaininfo (#2435)
codablock Nov 12, 2018
579c83e
Add coinbase_payload to getblocktemplate help (#2437)
UdjinM6 Nov 13, 2018
adf9c87
Fix protx/bls rpc help (#2438)
UdjinM6 Nov 13, 2018
4ad2f64
Use proTxHash instead of outpoint when calculating masternode scores …
codablock Nov 13, 2018
153afb9
Restart MNs in DIP3 tests even if collateral has not moved (#2441)
codablock Nov 13, 2018
658b7af
Make error messages re payload a bit more specific
UdjinM6 Nov 13, 2018
8bd5b23
Log mempool payload errors instead of crashing via assert
UdjinM6 Nov 13, 2018
c975a98
no cs_main in specialtxes
UdjinM6 Nov 13, 2018
b843696
Be more specific about tx version in conditions
UdjinM6 Nov 14, 2018
6761fa4
More checks for tx type
UdjinM6 Nov 14, 2018
7c1f110
Revert #2441 and retry fixing (#2444)
codablock Nov 14, 2018
9adf8ad
Remove restriction that forced use of same addresses for payout and c…
codablock Nov 14, 2018
dc404e7
Allow P2SH for payout scripts
codablock Nov 14, 2018
826e7d0
Move internal collateral check to the else branch of the external col…
codablock Nov 14, 2018
927e8bd
Also forbid reusing collateral key for owner/voting keys
codablock Nov 14, 2018
5ccf556
GetMasternodeInfo with payee argument should do nothing when DIP3 is …
codablock Nov 14, 2018
f586425
Do not use keyIDCollateralAddress anymore when spork15 is active
codablock Nov 14, 2018
d130f25
Fix check for number of params to protx_update_service (#2443)
codablock Nov 14, 2018
684f9ae
Merge pull request #2445 from codablock/pr_dip3_removerestriction
codablock Nov 15, 2018
f4ec3db
Merge pull request #2442 from UdjinM6/spectx
codablock Nov 15, 2018
f65e746
Pass "-parallel=3" to reduce load on Travis nodes while testing
codablock Nov 15, 2018
3c1f44c
Make sure protx_update_registrar adds enough funds for the fees
codablock Nov 15, 2018
4de70f0
Test P2SH/multisig payee addresses in DIP3 tests
codablock Nov 15, 2018
3c99d9e
Fix test_fail_create_protx in DIP3 tests
codablock Nov 15, 2018
91af72b
Allow to specify how log to sleep between attempts in wait_until
codablock Nov 15, 2018
6edad37
Use ForEachMN and GetMN in BuildDiff instead of directly accessing mnMap
codablock Nov 15, 2018
b5947f2
Implement BuildSimplifiedDiff in CDeterministicMNList
codablock Nov 15, 2018
83aac46
Allow P2SH/multisig addresses for operator rewards
codablock Nov 15, 2018
88498ba
Apply suggestions from code review
UdjinM6 Nov 15, 2018
c60687f
Sleep longer between attempts in sync_blocks
codablock Nov 15, 2018
624e509
Remove few leftovers of `-instantsenddepth`
UdjinM6 Nov 15, 2018
fefe342
Update manpages
UdjinM6 Nov 15, 2018
bf27444
Merge pull request #2450 from UdjinM6/manpages
codablock Nov 16, 2018
7bef76e
Merge pull request #2449 from UdjinM6/removeisdepth
codablock Nov 16, 2018
79d7af5
Merge pull request #2448 from codablock/pr_dip3_p2shoperatorewards
codablock Nov 16, 2018
58b7041
Merge pull request #2447 from codablock/pr_dip4_fixdiff
codablock Nov 16, 2018
102d127
Merge pull request #2446 from codablock/pr_dip3_tests
codablock Nov 16, 2018
52bf5a6
Install libxkbcommon0 in gitian-linux.yml
codablock Nov 16, 2018
e74810a
Merge pull request #2457 from codablock/pr_gitian_fix_qtxkb
codablock Nov 16, 2018
cf2b547
Implement tab for DIP3 MN list (#2454)
codablock Nov 16, 2018
12aba25
Updating translations for de, es, fi, nl, pt, sk, zh_CN, zh_TW (#2451)
UdjinM6 Nov 16, 2018
40fa1bb
Add platform dependent include_directories in CMakeLists.txt (#2455)
codablock Nov 19, 2018
614ff70
Let ccache compress the cache by itself instead of compressing ccache…
codablock Nov 19, 2018
76e93c7
Corrections to incorrect syntax in RPC help (#2466)
strophy Nov 21, 2018
9232a45
Do not hold cs_main while emitting messages in WalletModel::prepareTr…
UdjinM6 Nov 21, 2018
eb21037
trivail, clarifies help text for protx register (#2462)
PastaPastaPasta Nov 21, 2018
e049f9c
fix protx register rpc help (#2461)
InhumanPerfection Nov 21, 2018
7cabbad
Implement context menu and extra info on double-click for DIP3 master…
codablock Nov 21, 2018
2ba1ff5
Use ParseFixedPoint instead of ParseDoubleV in "protx register" comma…
codablock Nov 21, 2018
85157f9
Few trivial fixes for DIP2/DIP3 (#2474)
codablock Nov 22, 2018
5ffc31b
Forbid version=0 in special TXs (#2473)
codablock Nov 22, 2018
2b400f7
Base dsq/dstx thresholold on total number of up to date masternodes (…
UdjinM6 Nov 22, 2018
df7d12b
Add univalue test for real numbers (#2460)
UdjinM6 Nov 22, 2018
d40a5ce
Properly initialize confirmedHash in CSimplifiedMNListEntry (#2479)
codablock Nov 23, 2018
a57e9de
Fix filtering of the lock votes for SPV nodes. (#2468)
Nov 23, 2018
f4ef388
Update PS help text for the new denom (#2471)
PastaPastaPasta Nov 23, 2018
6c190d1
Fix make deploy error on macos (#2475)
UdjinM6 Nov 23, 2018
22b5952
Implement and enforce DIP6 commitments (#2477)
codablock Nov 23, 2018
da4b5fb
Remove an unused function from governance object collateral code (#2480)
PastaPastaPasta Nov 23, 2018
aa49540
[GUI] Realign tx filter widgets (#2485)
UdjinM6 Nov 23, 2018
fa8f4a1
Include masternodeProTxHash in CTxLockVote (#2484)
codablock Nov 23, 2018
f5beeaf
Also restart MNs which didn't have the collateral moved, but do it la…
codablock Nov 23, 2018
65528e9
Bump masternodeman cache version (#2467)
UdjinM6 Nov 23, 2018
45421b1
Add IS parameter for gobject prepare (#2452)
PastaPastaPasta Nov 25, 2018
a4ea816
use aqua gui theme (#2472)
charlesrocket Nov 25, 2018
0123517
Implement PoSe based on information from LLMQ commitments (#2478)
codablock Nov 25, 2018
9d4df46
Fix CreateDenominated failure for addresses with huge amount of input…
UdjinM6 Nov 25, 2018
67483cd
Fix dsq/dsa conditions (#2487)
UdjinM6 Nov 25, 2018
66612cc
Add 0 entry to vTxSigOps when adding quorum commitments (#2489)
codablock Nov 25, 2018
6480ad1
Should check dsq queue regardless of the mixing state (#2491)
UdjinM6 Nov 25, 2018
bb11f1a
Fix recent changes in DSA conditions (#2494)
InhumanPerfection Nov 25, 2018
245c322
Sync blocks before creating TXs (#2496)
codablock Nov 26, 2018
69bffed
Do not sort resulting vector in SelectCoinsGroupedByAddresses (#2493)
UdjinM6 Nov 26, 2018
8065603
Bump nTemporaryTestnetForkHeight to 274000 (#2498)
codablock Nov 26, 2018
7a709b8
Perform less instant send tests in DIP3 tests (#2499)
codablock Nov 26, 2018
c248c48
Try to fix a few sporadic instant send failures in DIP3 tests (#2500)
codablock Nov 26, 2018
a18ca49
Disconnect peers with version < 70212 after DIP3 activation via BIP9 …
codablock Nov 26, 2018
a4f5ba3
Implement CDummyDKG and CDummyCommitment until we have the real DKG …
codablock Nov 26, 2018
ba49a4a
Trivial: protx fund_register RPC help corrections (#2502)
thephez Nov 27, 2018
ed53fce
Revert "Apply similar logic to vecMasternodesUsed" (#2503)
UdjinM6 Nov 27, 2018
812834d
Put height into mined commitments and use it instead of the special h…
codablock Nov 27, 2018
35550a3
Add quorumModifierHash to instant send lock vote (#2505)
codablock Nov 28, 2018
fc6d651
Fix crashes in "protx" RPCs when wallet is disabled (#2509)
codablock Nov 29, 2018
f965634
Fix check for nTemporaryTestnetForkDIP3Height (#2508)
codablock Nov 29, 2018
5da4c97
Use "registered" as default for "protx list" (#2513)
codablock Nov 29, 2018
5a3f643
Deserialize CFinalCommitmentTxPayload instead of CFinalCommitment in …
codablock Nov 29, 2018
f6f6d07
Still support "protx list" and "protx diff" when wallet is disabled a…
codablock Nov 29, 2018
0c1b683
Clear votes which were created before spork15 activation and use oper…
codablock Nov 29, 2018
0224914
Print the state object when ProcessSpecialTxsInBlock fails in Connect…
codablock Dec 3, 2018
22dcec7
Punish nodes which keep requesting and then rejecting blocks (#2518)
codablock Dec 3, 2018
1270b71
Use a verbosity instead of two verbose parameters (#2506)
salisbury-espinosa Dec 3, 2018
818f0f4
Allow consuming specific UTXO in gobject prepare command (#2482)
PastaPastaPasta Dec 3, 2018
973a7f6
Fix GUI warnings in debug.log (#2521)
UdjinM6 Dec 6, 2018
3a6bd8d
Call ProcessTick every second, handle tick cooldown inside (#2522)
UdjinM6 Dec 6, 2018
7037f7c
Bail out from GetBlockTxOuts in case nBlockHeight is above tip+1 (#2523)
codablock Dec 6, 2018
08dc178
Drop pre-DIP3 votes from current votes per MN per object (#2524)
UdjinM6 Dec 6, 2018
6086797
Avoid printing DIP3/DIP4 related logs twice (#2525)
codablock Dec 6, 2018
d2ca9ed
Fix multiple issues with governance voting after spork15 activation (…
codablock Dec 6, 2018
19a6f71
Don't respond with getdata for legacy inv types when spork15 is activ…
codablock Dec 6, 2018
7c75008
Also stop asking other peers for a TX when ProcessTxLockRequest fails…
codablock Dec 6, 2018
8f8878a
Add dummy/hidden column to carry the proTxHash per MN list entry... (…
codablock Dec 6, 2018
2161199
Fix wrong total MN count in UI and "masternode count" RPC (#2527)
codablock Dec 6, 2018
9100c69
Allow filtering by proTxHash on DIP3 MN tab (#2532)
UdjinM6 Dec 6, 2018
d94092b
Fix spork propagation while in IBD and fix spork integration tests (#…
codablock Dec 6, 2018
225c213
Allow skipping of MN payments with zero duffs (#2534)
codablock Dec 6, 2018
5185dd5
Use correct time field when removing pre-DIP3 votes (#2535)
codablock Dec 6, 2018
cbd0303
Serialize the block header in CBlockHeader::GetHash() (#2531)
solardiz Dec 10, 2018
511dc37
Remove ProTxs from mempool that refer to a ProRegTx for which the col…
codablock Dec 10, 2018
df0d0cc
Watch for changes in operator key and disable local MN (#2541)
codablock Dec 10, 2018
d9b28fe
Introduce dummy (ping-like) contributions for the dummy DKG (#2542)
codablock Dec 10, 2018
63b58b1
Reintroduce BLSInit to correctly set secure alloctor callbacks (#2543)
codablock Dec 10, 2018
15414da
Refactor CQuorumBlockProcessor and CDeterministicMNManager (#2536)
UdjinM6 Dec 10, 2018
88f7bf0
Don't delete/add values to the unique property map when it's null (#2…
codablock Dec 10, 2018
5830353
Track operator key changes in mempool and handle conflicts (#2540)
codablock Dec 10, 2018
18cd596
Sort recipients in SendCoins dialog via BIP69 rule (#2546)
UdjinM6 Dec 10, 2018
1522656
Correctly handle spent collaterals for MNs that were registered in th…
codablock Dec 13, 2018
09730e1
Bail out from update methods in MasternodeList when shutdown is reque…
codablock Dec 13, 2018
2127a42
Further refactoring of CQuorumBlockProcessor (#2545)
UdjinM6 Dec 13, 2018
378dadd
Ensure EvoDB consistency for quorum commitments by storing the best b…
UdjinM6 Dec 13, 2018
ca0aec2
Match recipients with txouts by scriptPubKey in reassignAmounts() (#2…
UdjinM6 Dec 13, 2018
1a7c29b
Revert "Sort recipients in SendCoins dialog via BIP69 rule (#2546)" (…
UdjinM6 Dec 13, 2018
3e97b0c
Make sure that we can get inputType and fUseInstantSend regardless of…
UdjinM6 Dec 13, 2018
07309f0
Allow up to MASTERNODE_MAX_MIXING_TXES (5) DSTXes per MN in a row (#2…
UdjinM6 Dec 13, 2018
9d33d21
Remove temporary code which forked testnet at block 274000
codablock Dec 13, 2018
431ef26
Bump nPowKGWHeight for testnet and cause a fork at height 4001
codablock Dec 13, 2018
d6fa702
Change CSV, DIP0001 and BIP147 deployments to start today
codablock Dec 13, 2018
b2d3e22
Change DIP0003 deployment to start today
codablock Dec 13, 2018
ab3fe4f
Update nMinimumChainWork and defaultAssumeValid for block 4000
codablock Dec 13, 2018
24ebcbd
Remove checkpoints above block 4000
codablock Dec 13, 2018
79d543e
Don't check for nSuperblockStartHash on testnet
codablock Dec 13, 2018
793e74c
Remove temporary fork handling for emergency difficulty reduction on …
codablock Dec 13, 2018
b7dc7c5
Merge pull request #2554 from codablock/pr_testnetreset
codablock Dec 14, 2018
e9f7142
Bump PROTOCOL_VERSION and DMN_PROTO_VERSION to 70213 (#2557)
codablock Dec 14, 2018
552d908
Update testnet seeds to point to MNs that are on the new chain (#2558)
codablock Dec 14, 2018
c089261
Unify "protx list" options (#2559)
UdjinM6 Dec 17, 2018
3c30a6a
Add missing masternodeblsprivkey help text (#2569)
UdjinM6 Dec 19, 2018
1908637
Remove legacy MN list tabs on spork15 activation (#2567)
codablock Dec 19, 2018
858bb52
Show correct operator payee address in DIP3 MN list GUI (#2563)
codablock Dec 19, 2018
6dfceab
Force FlushStateToDisk on ConnectTip/DisconnectTip while not in IBD (…
UdjinM6 Dec 19, 2018
999a519
Fix optional revocation reason parameter for "protx revoke" and a few…
codablock Dec 19, 2018
222e5b4
Remove proposal/funding votes from MNs that changed the voting key (#…
codablock Dec 20, 2018
e71ea29
Add ownerAddr and votingAddr to CDeterministicMNState::ToJson (#2571)
codablock Dec 20, 2018
6c4b3ed
Load sporks before checking blockchain (#2573)
UdjinM6 Dec 20, 2018
3f26ed7
Backport network checks missing in CActiveDeterministicMasternodeMana…
UdjinM6 Dec 21, 2018
03a6865
Enforce correct port on mainnet for DIP3 MNs (#2576)
codablock Dec 21, 2018
587911b
Fix IsBlockPayeeValid (#2577)
UdjinM6 Dec 21, 2018
33f78d7
Do not accept sporks with nTimeSigned way too far into the future (#2…
UdjinM6 Dec 22, 2018
0dce846
Add an option to use specific address as a source of funds in protx r…
UdjinM6 Dec 28, 2018
c950a8f
Merge v0.12.3.4 commits into develop (#2582)
UdjinM6 Dec 28, 2018
3861c6a
Add BIP9 deployment for DIP3 on mainnet (#2585)
codablock Dec 28, 2018
34d2a60
Release notes 0.13.0.0 draft (#2583)
UdjinM6 Dec 28, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ libconftest.dylib*
*.o
*.o-*
*.patch
!depends/patches/*/*.patch
*.a
*.pb.cc
*.pb.h
Expand Down
111 changes: 42 additions & 69 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,107 +1,80 @@
# errata:
# - A travis bug causes caches to trample eachother when using the same
# compiler key (which we don't use anyway). This is worked around for now by
# replacing the "compilers" with a build name prefixed by the no-op ":"
# command. See: https://github.com/travis-ci/travis-ci/issues/4393
# - sudo/dist/group are set so as to get Blue Box VMs, necessary for [loopback]
# IPv6 support

sudo: required
dist: trusty
group: deprecated-2017Q3

os: linux
language: generic

addons:
apt:
packages:
# Use more recent docker version
- docker-ce
# Can be removed if Travis ever upgrades to Bionic
- realpath

services:
- docker

cache:
apt: true
ccache: true
directories:
- depends/built
- depends/sdk-sources
- $HOME/.ccache
- $HOME/cache

env:
global:
# DOCKER_HUB_USER
- secure: "J0T+zrRBBzBnxoioCD378cRSJUF8Vms32QMmrENVVfuJl03oBQv0QxSatLEiD4PtRPrN00mJ8/k/HdqFQ0SN1yg6a00duOZ6C9jk6t/fExBO1LNhp3Z7lcaMUrNEyRN6sgfVeznDVTGj9jBQU2HNlwHk0UD9BNp/k+Bjhrtw7Njp9JTLZKBgxrXk0WZmfk0d75Q+9DajA1j2tSfWVpwzv6HMGfqIH1wsVEakBY+tnaE6EO3IdzdWHhf/iV+Tx0tL0Qz/6mejgSuoGLTJLmeTrceTTmsDlN3B95y+XfcYDs6EP7gpzN8Ffg/mLV8xJ2Myj7+b1o+smMJZE5tLuPIeAu0YsfkPNa/tNLotOlDxF72per0kXyNYbRf+JrpxiOu9pLCtdtd40V2SsiNhpQqHVy+b+wkkqo2syTHT+9UNkqEi3WFm6TqFuOeQNtDm6R0hRl/Talw/ZEeKs68z1Cf6VyBrZG5LqtOurtWlKwXCe/Tr1i2g4BEAcbywphtCCcfgMK9YSGQnjKkGk6k9gVEa2bneYLZz1RSh2OpXnIsIJOX7X0hNd5xtQDLgbpSUlKwVcEriWeGe12GCszKNX9gdEo2bHeq4xAJ6BE+ot745z9dc+nC2BJ6Su+I5L6zBg4m2FWn0TWhPvz/6JR26t6ls/E7m+hkwJTCHnIUiFmmzpEw="
# DOCKER_HUB_PASSWORD
- secure: "RLzlMhfLqwSBrZqJOVOd61suXBn+HtUR3vOZfuFYF/Qmjjj5TE41+rObZmzc54hP/ZL+OH6blnibpvfDXlX+eN38ivFQfuxkJIGL68SJsEwNBRwW39Yw6Hl5RdI41MLCH7ByN15wifLp1JKBilHJ7XGMOUjI7P0yl7JjX8GBXUCtJbVLRugo80/yn+XQ1NdnlpbpYHNjMEQFWSODPa3pSK5McWvyQjDZDgS+IkdrZmIYJPMa7bmKH5I/edUPSmXQT905FgEwq9u8XR0SyBopli21EK9l6GkXIIvmDTYz5vT26Apvi2B4Aoazlklg+KNRUJuLGerpt6kbnU0gMSUChVkFfFhOk6GRSN3a/AUfD2FOudvMhet2QvlPHx+GYdEUr5XVo5HW42pHsqfD6eDtHd8VLTsHP0q4C8V85fNMv21lkkehy2ry8fx/RRy6x4O2wg2mua+79UkGKXp75gMKzWEcth34PCFCOu37l2F8R/ANnrQ52K/8vIQ88TtU2OpYX89fHjLojBxu+WKEBGZH2LRPsZBOUHeeO5C/xKDrhZU24ORnMW8wg66Qg5GIX1KI4a8yp73Mpues5hzpJ6wkMuRrQt40ymKndLCjv8KSd+5BfP6Or/KIrzDNYdZaasjk7JNi6rcZmm9d3fTAo+Ja/mjpUCIOo3SX14luzVCJIig="
- MAKEJOBS=-j5
- RUN_TESTS=false
- CHECK_DOC=0
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
- CCACHE_SIZE=400M
- CCACHE_TEMPDIR=/tmp/.ccache-temp
- CCACHE_COMPRESS=1
- BASE_OUTDIR=$TRAVIS_BUILD_DIR/out
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
- PYTHON_DEBUG=1
- WINEDEBUG=fixme-all
- DOCKER_BUILD=false

matrix:
# ARM
- HOST=arm-linux-gnueabihf PPA="ppa:bitcoin/bitcoin" PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=1 GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# Win32
- HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PPA="ppa:bitcoin/bitcoin" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.7 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" MAKEJOBS="-j4"
# 32-bit + dash
- HOST=i686-pc-linux-gnu PPA="ppa:bitcoin/bitcoin" PACKAGES="g++-multilib bc python3-zmq" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash" PYZMQ=true
# Win64
- HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PPA="ppa:bitcoin/bitcoin" PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine1.7 bc" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" MAKEJOBS="-j4"
# dashd
- HOST=x86_64-unknown-linux-gnu PPA="ppa:bitcoin/bitcoin" PACKAGES="bc python3-zmq" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports" CPPFLAGS="-DDEBUG_LOCKORDER -DENABLE_DASH_DEBUG" PYZMQ=true
# No wallet
- HOST=x86_64-unknown-linux-gnu PPA="ppa:bitcoin/bitcoin" PACKAGES="python3" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# Cross-Mac
- HOST=x86_64-apple-darwin11 PPA="ppa:bitcoin/bitcoin" PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python3-dev" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" OSX_SDK=10.11 GOAL="deploy"
# dashd release build (for docker)
- HOST=x86_64-unknown-linux-gnu PPA="ppa:bitcoin/bitcoin" PACKAGES="bc python3-zmq" DEP_OPTS="NO_QT=1 NO_UPNP=1" GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports" PYZMQ=true DOCKER_BUILD=true
- BUILD_TARGET=arm-linux
- BUILD_TARGET=win32
- BUILD_TARGET=win64
- BUILD_TARGET=linux32
- BUILD_TARGET=linux64
- BUILD_TARGET=linux64_nowallet
- BUILD_TARGET=linux64_release DOCKER_BUILD=true
- BUILD_TARGET=mac

before_cache:
# Save builder image
- docker save dash-builder-$BUILD_TARGET-$TRAVIS_JOB_NUMBER $(docker history -q dash-builder-$BUILD_TARGET-$TRAVIS_JOB_NUMBER | grep -v \<missing\>) | gzip -2 > $HOME/cache/docker/dash-builder-$BUILD_TARGET.tar.gz

before_install:
- git clone https://github.com/dashpay/dash_hash
- travis_retry sudo apt-get install python3-pip python3-dev
- travis_retry sudo add-apt-repository ppa:ubuntu-wine/ppa -y
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
install:
- if [ "$PYZMQ" = "true" ]; then pip3 install pyzmq --user ; fi
- if [ -n "$PPA" ]; then travis_retry sudo add-apt-repository "$PPA" -y; fi
- if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
- cd dash_hash && python3 setup.py install --user && cd ..
# Our scripts try to be Travis agnostic
- export PULL_REQUEST="$TRAVIS_PULL_REQUEST"
- export JOB_NUMBER="$TRAVIS_JOB_NUMBER"
- export HOST_SRC_DIR=$TRAVIS_BUILD_DIR
- export HOST_CACHE_DIR=$HOME/cache
- source ./ci/matrix.sh
- mkdir -p $HOST_CACHE_DIR/docker && mkdir -p $HOST_CACHE_DIR/ccache && mkdir -p $HOST_CACHE_DIR/depends && mkdir -p $HOST_CACHE_DIR/sdk-sources
# Keep this as it makes caching related debugging easier
- ls -lah $HOST_CACHE_DIR && ls -lah $HOST_CACHE_DIR/depends && ls -lah $HOST_CACHE_DIR/ccache && ls -lah $HOST_CACHE_DIR/docker
# Load cached builder image
- if [ -f $HOST_CACHE_DIR/docker/dash-builder-$BUILD_TARGET.tar.gz ]; then zcat $HOST_CACHE_DIR/docker/dash-builder-$BUILD_TARGET.tar.gz | docker load || true; fi
- docker build --pull -t $BUILDER_IMAGE_NAME --build-arg=USER_ID=$UID --build-arg=GROUP_ID=$UID --build-arg=BUILD_TARGET=$BUILD_TARGET -f ci/Dockerfile.builder ci
before_script:
- unset CC; unset CXX
- unset DISPLAY
# Make sure stdout is in blocking mode. Otherwise builds will fail due to large writes to stdout
# See https://github.com/travis-ci/travis-ci/issues/4704. If this gets fixed, this line can also be removed.
- python3 -c 'import os,sys,fcntl; flags = fcntl.fcntl(sys.stdout, fcntl.F_GETFL); fcntl.fcntl(sys.stdout, fcntl.F_SETFL, flags&~os.O_NONBLOCK);'
#- if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi TODO reenable after all Bitcoin PRs have been merged and docs fully fixed
- mkdir -p depends/SDKs depends/sdk-sources
- if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
- if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
- make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
script:
- export TRAVIS_COMMIT_LOG=`git log --format=fuller -1`
- if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi
- OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
- BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
- depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
- mkdir build && cd build
- ../configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make distdir VERSION=$HOST
- cd dashcore-$HOST
- ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
- if [ "$RUN_TESTS" = "true" ]; then travis_wait 30 make $MAKEJOBS check VERBOSE=1; fi
- if [ "$RUN_TESTS" = "true" ]; then qa/pull-tester/rpc-tests.py --coverage; fi
- cd ../..
- if [ "$DOCKER_BUILD" = "true" ]; then BUILD_DIR=build/dashcore-$HOST ./docker/build-docker.sh; fi
# Our scripts try to be Travis agnostic
- $DOCKER_RUN_IN_BUILDER ./ci/build_depends.sh;
# Gracefully stop build without running into timeouts (which won't update caches) when building depends took too long
# Next build should fix this situation as it will start with a populated depends cache
- if [ $SECONDS -gt 1200 ]; then export DEPENDS_TIMEOUT="true"; false; fi # The "false" here ensures that the build is marked as failed even though the whole script returns 0
- test "$DEPENDS_TIMEOUT" != "true" && $DOCKER_RUN_IN_BUILDER ./ci/build_src.sh
- test "$DEPENDS_TIMEOUT" != "true" && $DOCKER_RUN_IN_BUILDER ./ci/test_unittests.sh
- test "$DEPENDS_TIMEOUT" != "true" && $DOCKER_RUN_IN_BUILDER ./ci/test_integrationtests.sh -parallel=3
- test "$DEPENDS_TIMEOUT" != "true" && if [ "$DOCKER_BUILD" = "true" ]; then BUILD_DIR=build-ci/dashcore-$BUILD_TARGET ./docker/build-docker.sh; fi
after_script:
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
Expand Down
20 changes: 19 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,30 @@
cmake_minimum_required(VERSION 3.7)
project(dash)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)

include_directories(
src
src/qt/forms
src/leveldb/include
src/univalue/include
)

if(UNIX AND NOT APPLE)
set(DEPENDS_PREFIX depends/x86_64-pc-linux-gnu)
elseif(APPLE)
set(DEPENDS_PREFIX depends/x86_64-apple-darwin11)
elseif(WIN32)
set(DEPENDS_PREFIX depends/x86_64-w64-mingw32)
endif()

message(STATUS "DEPENDS_PREFIX: ${DEPENDS_PREFIX}")

if(DEFINED DEPENDS_PREFIX)
include_directories(${DEPENDS_PREFIX}/include)
include_directories(${DEPENDS_PREFIX}/include/QtWidgets)
endif()

add_definitions(
-DENABLE_WALLET=1
)
Expand Down Expand Up @@ -58,6 +74,8 @@ file(GLOB SOURCE_FILES
src/*.h
src/evo/*.h
src/evo/*.cpp
src/llmq/*.h
src/llmq/*.cpp
src/rpc/*.cpp
src/rpc/*.h
)
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ In general, all pull requests must:
the project (for example refactoring for modularisation);
- be well peer reviewed;
- have unit tests and functional tests where appropriate;
- follow code style guidelines;
- follow [code style guidelines](/doc/developer-notes.md);
- not break the existing test suite;
- where bugs are fixed, where possible, there should be unit tests
demonstrating the bug and also proving the fix. This helps prevent regression.
Expand Down
100 changes: 100 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
// This Jenkinsfile will build a builder image and then run the actual build and tests inside this image
// It's very important to not execute any scripts outside of the builder container, as it's our protection against
// external developers bringing in harmful code into Jenkins.
// Jenkins will only run the build if this Jenkinsfile was not modified in an external pull request. Only branches
// which are part of the Dash repo will allow modification to the Jenkinsfile.

def targets = [
'win32',
'win64',
'linux32',
'linux64',
'linux64_nowallet',
'linux64_release',
'mac',
]

def tasks = [:]
for(int i = 0; i < targets.size(); i++) {
def target = targets[i]

tasks["${target}"] = {
node {
def BUILD_NUMBER = sh(returnStdout: true, script: 'echo $BUILD_NUMBER').trim()
def BRANCH_NAME = sh(returnStdout: true, script: 'echo $BRANCH_NAME').trim()
def UID = sh(returnStdout: true, script: 'id -u').trim()
def HOME = sh(returnStdout: true, script: 'echo $HOME').trim()
def pwd = sh(returnStdout: true, script: 'pwd').trim()

checkout scm

def env = [
"BUILD_TARGET=${target}",
"PULL_REQUEST=false",
"JOB_NUMBER=${BUILD_NUMBER}",
]
withEnv(env) {
def builderImageName="dash-builder-${target}"

def builderImage
stage("${target}/builder-image") {
builderImage = docker.build("${builderImageName}", "--build-arg BUILD_TARGET=${target} ci -f ci/Dockerfile.builder")
}

builderImage.inside("-t") {
// copy source into fixed path
// we must build under the same path everytime as otherwise caches won't work properly
sh "cp -ra ${pwd}/. /dash-src/"

// restore cache
def hasCache = false
try {
copyArtifacts(projectName: "dashpay-dash/${BRANCH_NAME}", optional: true, selector: lastSuccessful(), filter: "ci-cache-${target}.tar.gz")
} catch (Exception e) {
}
if (fileExists("ci-cache-${target}.tar.gz")) {
hasCache = true
echo "Using cache from dashpay-dash/${BRANCH_NAME}"
} else {
try {
copyArtifacts(projectName: 'dashpay-dash/develop', optional: true, selector: lastSuccessful(), filter: "ci-cache-${target}.tar.gz");
} catch (Exception e) {
}
if (fileExists("ci-cache-${target}.tar.gz")) {
hasCache = true
echo "Using cache from dashpay-dash/develop"
}
}

if (hasCache) {
sh "cd /dash-src && tar xzf ${pwd}/ci-cache-${target}.tar.gz"
} else {
sh "mkdir -p /dash-src/ci-cache-${target}"
}

stage("${target}/depends") {
sh 'cd /dash-src && ./ci/build_depends.sh'
}
stage("${target}/build") {
sh 'cd /dash-src && ./ci/build_src.sh'
}
stage("${target}/test") {
sh 'cd /dash-src && ./ci/test_unittests.sh'
}
stage("${target}/test") {
sh 'cd /dash-src && ./ci/test_integrationtests.sh'
}

// archive cache and copy it into the jenkins workspace
sh "cd /dash-src && tar czfv ci-cache-${target}.tar.gz ci-cache-${target} && cp ci-cache-${target}.tar.gz ${pwd}/"
}

// upload cache
archiveArtifacts artifacts: "ci-cache-${target}.tar.gz", fingerprint: true
}
}
}
}

parallel tasks

Loading