Commit Graph

326 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
bb24835aed build: disable -Wself-assign
Prevent these warnings in clang 3.6:

    ./serialize.h:96:9: warning: explicitly assigning value of variable of type 'uint64_t' (aka 'unsigned long') to itself [-Wself-assign]
        obj = (obj);
        ~~~ ^  ~~~
2015-10-01 18:38:54 +02:00
Wladimir J. van der Laan
bb882d04e8
Merge pull request #6732
a3874c7 doc: no longer require use of openssl in OpenBSD build guide (Wladimir J. van der Laan)
5978388 build: remove libressl check (Wladimir J. van der Laan)
2015-10-01 18:12:36 +02:00
Wladimir J. van der Laan
5978388476 build: remove libressl check
Now that BIP66 passed, OpenSSL is no longer directly part of the
consensus. What matters is that DER signatures are correctly parsed, and
secp256k1 crypto is implemented correctly (as well as the other
functions we use from OpenSSL, such as random number generation)

This means that effectively, using LibreSSL is not a larger risk than
using another version of OpenSSL.

Remove the specific check for LibreSSL.

Includes the still-relevant part of #6729: make sure CHECK_HEADER is
called using the right CXXFLAGS, not CFLAGS (as AC_LANG is c++).
2015-10-01 14:44:27 +02:00
Jonas Schnelli
9623e93473 [Univalue] add univalue over subtree
similar to secp256k1 include and compile univalue over a subtree
2015-10-01 10:49:57 +02:00
Gavin Andresen
535ed9223d
Simple benchmarking framework
Benchmarking framework, loosely based on google's micro-benchmarking
library (https://github.com/google/benchmark)

Wny not use the Google Benchmark framework? Because adding Even More Dependencies
isn't worth it. If we get a dozen or three benchmarks and need nanosecond-accurate
timings of threaded code then switching to the full-blown Google Benchmark library
should be considered.

The benchmark framework is hard-coded to run each benchmark for one wall-clock second,
and then spits out .csv-format timing information to stdout. It is left as an
exercise for later (or maybe never) to add command-line arguments to specify which
benchmark(s) to run, how long to run them for, how to format results, etc etc etc.
Again, see the Google Benchmark framework for where that might end up.

See src/bench/MilliSleep.cpp for a sanity-test benchmark that just benchmarks
'sleep 100 milliseconds.'

To compile and run benchmarks:
  cd src; make bench

Sample output:

Benchmark,count,min,max,average
Sleep100ms,10,0.101854,0.105059,0.103881
2015-09-30 09:24:42 -04:00
paveljanik
96106f0f30 [Trivial] start the help texts with lowercase 2015-09-30 08:40:20 +02:00
Johnathan Corgan
6cebd5d854 zmq: require version 4.x or newer of libzmq
Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
2015-09-29 10:18:07 -07:00
Jeff Garzik
0143a1f228
configure.ac: Revert autotools-auto-updated 2.69 autoconf requirement
Also, autotools reformatted the AC_ARG_ENABLE erroneously as well.
2015-09-16 10:25:51 -04:00
Jeff Garzik
ca5e2a1864
Merge pull request #6317 2015-09-16 09:40:53 -04:00
Jeff Garzik
e6a14b64d6 Add ZeroMQ support. Notify blocks and transactions via ZeroMQ
Continues Johnathan Corgan's work.
Publishing multipart messages

Bugfix: Add missing zmq header includes

Bugfix: Adjust build system to link ZeroMQ code for Qt binaries
2015-09-16 11:01:35 +01:00
Holger Schinzel
4a055497fe version bump 2015-09-04 10:39:14 +02:00
Wladimir J. van der Laan
3140ef9249 build: build-system changes for libevent 2015-09-02 18:38:41 +02:00
Evan Duffield
277ebbe83d v52 bump 2015-09-01 20:57:54 -07:00
Holger Schinzel
9db484871b bump version 2015-08-29 08:53:12 +02:00
Evan Duffield
3d4fb9b5e6 version bump 2015-08-28 21:06:58 -07:00
Holger Schinzel
b839ff2748 version bump v0.12.1.0 2015-08-22 18:11:47 +02:00
Evan Duffield
6b31970f13 Fix payment cycle when network is in the process of updating 2015-08-20 08:37:05 -07:00
Evan Duffield
ba1bc44737 version bump - v46 2015-08-18 18:06:13 -07:00
Evan Duffield
b0e718a6ca v0.12.0.45 2015-08-15 19:46:54 -07:00
Evan Duffield
88830d4ac1 version bump 2015-08-13 08:09:28 -07:00
Evan Duffield
f5c1c979ef v43 2015-08-11 15:43:51 -07:00
Evan Duffield
37efa72605 v42 2015-08-11 12:23:21 -07:00
Evan Duffield
fc5be7e363 version bump 2015-08-09 15:44:10 -07:00
Evan Duffield
bed645ff9e version bump 2015-08-08 11:09:00 -07:00
Evan Duffield
fca0a6d4b8 client bump 2015-08-06 14:48:03 -07:00
Evan Duffield
a47585ea33 version bump 2015-08-05 16:37:43 -07:00
Evan Duffield
0260e06648 version bump 2015-08-04 10:58:21 -07:00
Evan Duffield
ecea4bfaf9 client version bump 2015-08-03 13:41:19 -07:00
Evan Duffield
0387ebe244 Version 35 2015-08-02 07:29:09 -07:00
Cory Fields
d9add71951 build: fix libressl detection
Checking libcrypto for a function after we've already found a (possibly
different) libcrypto is not what we want to do here.

pkg-config might've found a cross lib while AC_CHECK_LIB may find a different
or native one.

Run a link-test against the lib that's already been found instead.
2015-07-31 23:16:13 -04:00
Evan Duffield
8b62e590df version bump / proto bump / try mining lock 2015-07-31 19:18:26 -07:00
Evan Duffield
f82a028869 Budget prop empty / version bump 2015-07-29 01:08:47 -07:00
Evan Duffield
8be929d870 version bump 2015-07-28 06:43:39 -07:00
Evan Duffield
bf18699ade client bump /proto bump 2015-07-27 12:35:17 -07:00
Evan Duffield
da21fed1f5 version bump 2015-07-26 07:36:40 -07:00
Evan Duffield
8187228be1 Fixed budget syncing issues / forking issues / syncing issues
- Budgets now store the seen objects locally so they're not overwritten when saving/loading to check validity of budget.dat
- Added safer sync "failure" mode, that will retry an hour later if the sync fails for some reason. This will stop the client from thinking it has budget data and rejecting blocks when they're valid.
- protocol bump
- version bump
2015-07-25 09:29:29 -07:00
Evan Duffield
61745d7724 Filter SigTime modes / version / proto bump 2015-07-24 16:10:44 -07:00
Evan Duffield
5c935c8c86 version bump 2015-07-23 11:16:49 -07:00
Evan Duffield
388f22c576 Version 26 / New masternode consensus system
- Consensus system selects 1/10 of the oldest masternodes by payment, then selects payee by score from those. This fixes various race conditions when blocks are close together or inconsistant historical winner lists.
- Ask for up to 2 cycles of history
- Keep up to 5 cycles of history locally
2015-07-21 20:07:23 -07:00
Evan Duffield
77af4fb6ad MNP ping changes
- Ping every 5 minutes
- Nodes will propagate pings every 10 minutes
2015-07-20 10:44:27 -07:00
Evan Duffield
c95111476c vesion bump 2015-07-19 08:51:02 -07:00
Evan Duffield
841c7c270b version/proto bump 2015-07-18 12:29:19 -07:00
Evan Duffield
853863ae86 Only check budget block payees after sync is complete 2015-07-18 06:46:54 -07:00
Evan Duffield
f9e2b18e57 version bump 2015-07-17 21:38:56 -07:00
Evan Duffield
7101c951f8 Budget Improvements
- Client bump
- Improved syncing logic (sholud stop hanging issues)
- New spork for turning on super blocks
- Fixed issue with sending old/invalid finalized budgets
- Fixed issue with syncing clients and lack of confirmations with budget items (for IX)
2015-07-16 20:03:42 -07:00
Evan Duffield
ac488262c2 version bump 2015-07-16 12:13:42 -07:00
Evan Duffield
e65a1edce3 version / proto bump 2015-07-16 02:43:53 -07:00
Gavin Andresen
83b48c8971
configure --enable-debug changes
Three changes to how configure --enable-debug behaves:

1. Preserve user-passed CXXFLAGS/CFLAGS
2. Compile with -DDEBUG_LOCKORDER
3. Add -DDEBUG -DDEBUG_LOCKORDER to CPPFLAGS (since they are preprocessor options)
2015-07-15 14:05:50 -04:00
Evan Duffield
db080fec22 version bump 2015-07-14 19:49:01 -07:00
Evan Duffield
30ea44322e Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-14 08:04:18 -07:00
Evan Duffield
c2d4b553c5 version bump 2015-07-14 08:04:07 -07:00
Luke Dashjr
cee7c2e1f3 configure: Detect (and reject) LibreSSL
Rebased-From: a5a81f7354
Github-Pull: #6244
2015-07-14 13:19:09 +03:00
Evan Duffield
bee6941195 Fixed Propagation Of Budgets / Proto Bump 2015-07-13 20:03:08 -07:00
Evan Duffield
40a14cb802 version bump / proto bump 2015-07-12 16:39:37 -07:00
Evan Duffield
2885f9e6ca protocol bump / version bump 2015-07-12 10:47:28 -07:00
Evan Duffield
c701839a43 Proposal Security Overhaul
Submissions to the network now require a fee to be paid to the network (mining fee) using a special transaction with a OP_RETURN && ProposalHash in one of the outputs. This allows the network to filter spam quickly, while also allowing anyone to submit a proposal to the network.

To implement these changes we've introduced a few new commands:

mnbudget prepare PROPOSAL-NAME URL PAYMENT_COUNT BLOCK_START DASH_ADDRESS DASH_AMOUNT YES|NO|ABSTAIN [USE_IX(TRUE|FALSE)]
- To create the special transaction

mnbudget submit PROPOSAL-NAME URL PAYMENT_COUNT BLOCK_START DASH_ADDRESS DASH_AMOUNT YES|NO|ABSTAIN FEE_TX
- After the transaction is accepted by the network and has 3 confirmations, you can submit the transaction to the network here

mnbudget show
- Get the proposal hash from here

mnbudget vote PROPOSAL-HASH YES|NO|ABSTAIN
- You can now simply vote by hash using this command
2015-07-11 13:20:12 -07:00
Evan Duffield
2d118769f0 version/proto bump 2015-07-08 10:27:26 -07:00
Evan Duffield
6c6a280df8 Version bump / more fixes 2015-07-06 13:37:43 -07:00
Evan Duffield
ed799658a9 version bump 2015-07-03 22:09:04 -07:00
Evan Duffield
6becaf0462 Added mnbudget projection and changed "show"
- Show now shows every proposal that is known, which seems to be the general expected behavior of the users
- Added "projection" for showing what will end up in the budget if it was finalized currently
2015-07-03 10:54:10 -07:00
Evan Duffield
13bd6a15eb version/proto bump 2015-07-02 09:45:28 -07:00
Evan Duffield
bac2dc81a2 version bump 2015-06-28 14:49:16 -07:00
Evan Duffield
3eeb33e577 version / proto bump 2015-06-23 10:53:22 -07:00
Evan Duffield
12863bb423 version bump 2015-06-22 08:47:24 -07:00
Wladimir J. van der Laan
b6668209aa build: Remove -DBOOST_SPIRIT_THREADSAFE
Now that boost spirit is no longer used, `-DBOOST_SPIRIT_THREADSAFE`
doesn't need to be passed to the compiler anymore.
2015-06-21 14:09:34 +02:00
Evan Duffield
06ac558fee version bump 2015-06-20 13:00:19 -07:00
Evan Duffield
cc458007e3 update version 2015-06-17 17:10:42 -07:00
Wladimir J. van der Laan
d9a94b7009
Merge pull request #6244
a5a81f7 configure: Detect (and reject) LibreSSL (Luke Dashjr)
2015-06-10 08:08:59 +02:00
Andriy Voskoboinyk
0640a5eb60 Add an alternate location of endian.h header 2015-06-07 04:54:20 +03:00
Luke Dashjr
a5a81f7354 configure: Detect (and reject) LibreSSL 2015-06-06 14:23:38 +00:00
Wladimir J. van der Laan
7fd5b801ff
build: disable optional use of gmp in internal secp256k1 build
Until secp256k1 is used for verification there is no reason for Bitcoin
Core's secp256k1 to link against gmp, even if available. Pass a flag to
configure to override the bignum implementation.

This fixes a crash at runtime on ppc64 reported by @gmaxwell.
2015-06-01 11:14:44 +02:00
Wladimir J. van der Laan
3e8ccc765a
Now that 0.11 has been branched, master is 0.11.99
... in preparation for 0.12
2015-06-01 10:34:19 +02:00
Cory Fields
ca66717d89
build: make libboost_chrono mandatory
previously it was only used with certain boost versions. Now all versions
require it.
2015-05-14 10:37:19 -04:00
Jonas Schnelli
3727cbb0a2 change AC_PACKAGE_BUGREPORT from info@bitcoin.org to github issue tracker URL
Mentioned by wumpus:
http://bitcoinstats.com/irc/bitcoin-dev/logs/2015/05/02#l1430543664

Details here:
http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Initializing-configure.html
2015-05-02 10:17:53 +02:00
UdjinM6
64eebc3316 0.12 dirty merge'n'fix (bitcoin 0.10) 2015-04-04 19:24:37 +03:00
Evan Duffield
79edce5f5d version bump 2015-03-26 14:58:10 -07:00
Evan Duffield
6c9cc68449 version 12 2015-03-26 07:29:56 -07:00
Evan Duffield
4f2b13c8a8 version bump 2015-03-24 08:42:44 -07:00
Evan Duffield
505ab68aa9 version bump 2015-03-23 18:19:49 -07:00
Evan Duffield
c0a658ae43 version bump 2015-03-23 07:14:34 -07:00
Evan Duffield
88de9f9c4d version bump 2015-03-22 07:31:55 -07:00
Evan Duffield
0890b8f055 version bump 2015-03-20 07:53:51 -07:00
Evan Duffield
76aaea1ae8 Translation updates
Darkcoins -> Dash
dashcurrency.com -> dashpay.io
Updated seeds
2015-03-20 07:45:30 -07:00
Evan Duffield
5cb26c5928 Changed darkcoin references to dash
- Changed out logos (just a placeholder)
- DRK -> DASH
- ./darkcoin -> ./dash
2015-03-19 12:03:14 -07:00
Evan Duffield
8f39610ee4 Merge branch 'v0.11.2.x' of https://github.com/darkcoinproject/darkcoin into v11.2-dash 2015-03-18 12:50:02 -07:00
Evan Duffield
a1ac7ca8d3 Fixed blinding submission process 2015-03-18 09:47:01 -07:00
Wladimir J. van der Laan
601327be8c
bump version to 0.10.1 in preparation of RC1 2015-03-18 13:01:10 +01:00
Evan Duffield
35bb210c6b Dash rebranding 2015-03-17 16:06:58 -07:00
Evan Duffield
820e660e10 version bump / protocol bump 2015-03-17 04:42:32 -07:00
Evan Duffield
441103ea71 update relay rules - protocol/version bump 2015-03-08 07:49:04 -07:00
Evan Duffield
8726e80132 version/protocol bump 2015-03-07 18:52:37 -07:00
Evan Duffield
a8f5743999 version bump 2015-03-07 07:51:23 -07:00
Wladimir J. van der Laan
4414f5ffe1 build: Endian compatibility
- Detect endian instead of stopping configure on big-endian
- Add `byteswap.h` and `endian.h` header for compatibility with
  Windows and other operating systems that don't come with them
- Update `crypto/common.h` functions to use compat
  endian header
2015-03-06 15:54:53 +01:00
Evan Duffield
1053c299ed version/protocol bump 2015-03-05 08:23:21 -07:00
Wladimir J. van der Laan
f8e68f7bfb
Merge pull request #5819
d23b0a2 depends: always use static qt5 for linux (Cory Fields)
3448b13 build: fix typo in configure help (Cory Fields)
c95ac83 gitian: fix x86_64 build with static libstdc++ (Cory Fields)
0671516 build: change reduce exports/static libstdc++ options for gitian and travis (Cory Fields)
aa36730 build: remove libstdc++ backwards-compat (Cory Fields)
3ee028f build: disable reduced exports by default (Cory Fields)
2015-03-03 16:27:50 +01:00
Cory Fields
16a58a8644 keys: remove libsecp256k1 verification until it's actually supported
This was added a while ago for testing purposes, but was never intended to be
used. Remove it until upstream libsecp256k1 decides that verification is
stable/ready.
2015-03-02 11:31:43 -05:00
Cory Fields
3448b132c4 build: fix typo in configure help 2015-02-23 20:18:54 -05:00
Cory Fields
aa3673064c build: remove libstdc++ backwards-compat
Backwards-compatibility for libstdc++ is not limited to straightforward abi
changes. Symbol visibility also needs to be taken into consideration, and
that really can't be addressed simply.

Instead, just static-link libstdc++ for backwards-compat.
2015-02-23 17:56:15 -05:00
Cory Fields
3ee028f131 build: disable reduced exports by default
This is really a packager's option. While it's helpful to encourage devs to
test this option for daily builds, it's not reliable in several real-world
use-cases. Some older libstdc++ runtimes (freebsd 9, debian wheezy, for
example) fail to properly catch exceptions due to mismatched type_info.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 for more info.
2015-02-23 17:48:57 -05:00
evan82
3bb9ef96f4 Revert "Revert "Rebrand to darkcoin"" 2015-02-19 11:58:38 -07:00