novacoin.git
9 years agoMerge pull request #14 from CryptoManiac/current v0.4.4.7-nvc-bugfix5
CryptoManiac [Fri, 20 Jun 2014 19:38:06 +0000]
Merge pull request #14 from CryptoManiac/current

Bump protocol version

9 years agoBump protocol version 14/head
CryptoManiac [Fri, 20 Jun 2014 19:35:56 +0000]
Bump protocol version

9 years agoMerge pull request #13 from CryptoManiac/current
CryptoManiac [Fri, 20 Jun 2014 19:11:52 +0000]
Merge pull request #13 from CryptoManiac/current

Current

9 years agoTranslations update 13/head
CryptoManiac [Fri, 20 Jun 2014 19:08:46 +0000]
Translations update

9 years agoCreate wallet security menu
CryptoManiac [Fri, 20 Jun 2014 18:55:53 +0000]
Create wallet security menu

9 years agoUpdate stake miner GUI
CryptoManiac [Fri, 20 Jun 2014 16:55:12 +0000]
Update stake miner GUI

* Remove suspend notification string from status bar;
* Force icon update after unlocking.

9 years agoTranslations update
CryptoManiac [Fri, 20 Jun 2014 16:33:35 +0000]
Translations update

9 years agoAdd miner icons
CryptoManiac [Thu, 19 Jun 2014 23:08:28 +0000]
Add miner icons

9 years agoStake miner status icon
CryptoManiac [Thu, 19 Jun 2014 23:06:06 +0000]
Stake miner status icon

9 years agoTransactions verification update
CryptoManiac [Thu, 19 Jun 2014 19:52:48 +0000]
Transactions verification update

* Don't count empty outputs in GetMinFee();
* CheckBlock(): allow coinbase timestamp drift for proof-of-work, disable coinbase timestamp checking and add nonce checking for proof-of-stake.

9 years agoUpdate transaction verification protocol
CryptoManiac [Wed, 18 Jun 2014 22:50:31 +0000]
Update transaction verification protocol

* CheckBlock() refactoring: move headers checking code to new CheckBlockHeader() and coinbase value checking code to ConnectBlock();
* Fix minimum stake fee at CENT.

9 years agoTranslations update
CryptoManiac [Mon, 16 Jun 2014 07:30:54 +0000]
Translations update

9 years agoImplement DumpWallet and ImportWallet calls from menu.
CryptoManiac [Mon, 16 Jun 2014 01:10:47 +0000]
Implement DumpWallet and ImportWallet calls from menu.

9 years agoMove importwallet and dumpwallet implementations to walletdb.cpp;
CryptoManiac [Mon, 16 Jun 2014 00:07:48 +0000]
Move importwallet and dumpwallet implementations to walletdb.cpp;
Move timestamps encoding and decoding functions to util.cpp.

9 years agoAdd input weight to coin control interface
CryptoManiac [Sun, 15 Jun 2014 20:37:39 +0000]
Add input weight to coin control interface

9 years agoTranslation fixes
CryptoManiac [Sat, 14 Jun 2014 23:02:58 +0000]
Translation fixes

9 years agoReplace MIN_TX_FEE with CENT in change calculation
CryptoManiac [Sat, 14 Jun 2014 20:38:22 +0000]
Replace MIN_TX_FEE with CENT in change calculation

9 years agoDon't notify old sync checkpoints anymore
CryptoManiac [Sat, 14 Jun 2014 19:26:54 +0000]
Don't notify old sync checkpoints anymore

9 years agoAllow new fees policy on testnet, adjust minimum fees
CryptoManiac [Mon, 2 Jun 2014 00:00:14 +0000]
Allow new fees policy on testnet, adjust minimum fees

9 years agoTransactions fee handling
CryptoManiac [Sun, 1 Jun 2014 17:37:42 +0000]
Transactions fee handling

* Enable free user transactions since 1 July 2014;
* Force CENT as nMinTxFee and nMinRelayTxFee until 1 July 2014.

9 years agoForce allowfree = false until 1 july 2014
CryptoManiac [Sun, 1 Jun 2014 12:39:21 +0000]
Force allowfree = false until 1 july 2014

9 years agoAllow free transactions
CryptoManiac [Sun, 1 Jun 2014 10:50:26 +0000]
Allow free transactions

9 years agoAdd new checkpoints.
CryptoManiac [Sat, 31 May 2014 21:10:40 +0000]
Add new checkpoints.

10 years agoMerge pull request #11 from CryptoManiac/current
0xDEADFACE [Wed, 2 Apr 2014 21:39:56 +0000]
Merge pull request #11 from CryptoManiac/current

Merging of "current" branch

10 years agoMake sure that new stake modifier meets fixed generation interval. 11/head
CryptoManiac [Sun, 30 Mar 2014 18:02:39 +0000]
Make sure that new stake modifier meets fixed generation interval.

10 years agoCheck last 288 block index records at startup.
CryptoManiac [Sun, 30 Mar 2014 13:42:50 +0000]
Check last 288 block index records at startup.

10 years agoMove GetStakeEntropyBit() to main.cpp.
CryptoManiac [Sun, 30 Mar 2014 13:32:49 +0000]
Move GetStakeEntropyBit() to main.cpp.

10 years agoRemove tests for now
CryptoManiac [Sun, 30 Mar 2014 13:15:11 +0000]
Remove tests for now

10 years agoRelay OP_RETURN data TxOut as standard transaction type
Jeff Garzik [Mon, 24 Jun 2013 19:09:50 +0000]
Relay OP_RETURN data TxOut as standard transaction type

Conflicts:

src/main.cpp
src/test/transaction_tests.cpp

10 years agoMerge pull request #9 from CryptoManiac/current v0.4.4.7-nvc-bugfix4
0xDEADFACE [Sun, 23 Feb 2014 17:27:08 +0000]
Merge pull request #9 from CryptoManiac/current

Merge some address book related fixes from upstream

10 years agoBugfix: Supress "address" key in transaction details, when the destination isn't... 9/head
Luke Dashjr [Sat, 22 Sep 2012 03:22:34 +0000]
Bugfix: Supress "address" key in transaction details, when the destination isn't recognized

Previously, it would pass corrupt/random through base58.

Conflicts:

src/rpcwallet.cpp

10 years agoBugfix: Avoid trying to parse outputs that aren't relevant to CWalletTx::GetAmounts
Luke Dashjr [Sat, 22 Sep 2012 03:20:14 +0000]
Bugfix: Avoid trying to parse outputs that aren't relevant to CWalletTx::GetAmounts

This fixes a warning when an output we aren't concerned with can't be parsed.

10 years agoBitcoin-Qt: fix known addressbook bugs
Philip Kaufmann [Tue, 8 Jan 2013 07:17:58 +0000]
Bitcoin-Qt: fix known addressbook bugs

- add qSort() for cachedAddressTable, as qLowerBound() and qUpperBound()
  require the list to be in ascending order (see
  http://harmattan-dev.nokia.com/docs/library/html/qt4/qtalgorithms.html#qLowerBound)
- add a new check in AddressTableModel::setData() to just return, when no
  changes were made to a label or an address (prevents entry duplication
  issue)
- remove "rec->label = value.toString();" from
  AddressTableModel::setData() as the label gets updated by
  AddressTablePriv::updateEntry() anyway (seems @sipa added this line via
  https://github.com/bitcoin/bitcoin/commit/1025440184ef100a22d07c7bb543ee45cf169d64#L6R225)
- add another new check in AddressTableModel::setData() to just return, if
  a duplicate address was found (prevents address overwrite)
- add a new check to EditAddressDialog::setModel() to prevent setting an
  invalid model
- re-work the switch-case statement in AddressTableModel::accept() to
  always break (as return get's called anyway) and order the list to match
  the enum definition
- make accept() in editaddressdialog.h a public slot, which it should be
- misc small coding style changes

10 years agoMerge pull request #8 from CryptoManiac/current
0xDEADFACE [Sat, 22 Feb 2014 20:22:00 +0000]
Merge pull request #8 from CryptoManiac/current

About dialog update.

10 years agoAbout dialog update. 8/head
CryptoManiac [Sat, 22 Feb 2014 18:24:17 +0000]
About dialog update.

10 years agoAdd <boost/algorithm/string.hpp> to resolve building issues on some configurations. v0.4.4.7-nvc-bugfix3
MASM fan [Sat, 22 Feb 2014 16:43:35 +0000]
Add <boost/algorithm/string.hpp> to resolve building issues on some configurations.

10 years agoReplace util.h reference to fix building issues.
MASM fan [Fri, 21 Feb 2014 23:22:31 +0000]
Replace util.h reference to fix building issues.

10 years agoAdd new dns seed node.
MASM fan [Fri, 21 Feb 2014 07:57:51 +0000]
Add new dns seed node.

10 years agoMerge pull request #6 from CryptoManiac/current
0xDEADFACE [Thu, 20 Feb 2014 13:38:41 +0000]
Merge pull request #6 from CryptoManiac/current

Split hash functions to hash.h, add tx metadata hash

10 years agoExtend gettransaction RPC call result with hash of transaction metadata. 6/head
CryptoManiac [Wed, 19 Feb 2014 21:45:22 +0000]
Extend gettransaction RPC call result with hash of transaction metadata.

10 years agoSplit off hash.h from util.h
CryptoManiac [Wed, 19 Feb 2014 19:29:08 +0000]
Split off hash.h from util.h

10 years agoMerge pull request #4 from CryptoManiac/current
0xDEADFACE [Mon, 17 Feb 2014 18:18:47 +0000]
Merge pull request #4 from CryptoManiac/current

CheckTransaction() strengthening

10 years agoCheckTransaction() strengthening 4/head
CryptoManiac [Mon, 17 Feb 2014 18:07:38 +0000]
CheckTransaction() strengthening

10 years agoMerge pull request #3 from CryptoManiac/current
0xDEADFACE [Mon, 17 Feb 2014 15:49:29 +0000]
Merge pull request #3 from CryptoManiac/current

Report IP addresses while logging failed connections

10 years agoAdd -alertnotify=command option 3/head
CryptoManiac [Sun, 16 Feb 2014 22:52:24 +0000]
Add -alertnotify=command option

10 years agoReport IP addresses while logging failed connections
CryptoManiac [Sun, 16 Feb 2014 22:21:27 +0000]
Report IP addresses while logging failed connections

10 years agoAdd getunconfirmedbalance() RPC call, fix balance calculation.
MASM fan [Sun, 16 Feb 2014 16:21:21 +0000]
Add getunconfirmedbalance() RPC call, fix balance calculation.

10 years agoAdd -zapwallettxes cli/config option, used for wallet recovery
MASM fan [Sun, 16 Feb 2014 01:09:28 +0000]
Add -zapwallettxes cli/config option, used for wallet recovery

This diagnostic tool removes all "tx" records from the wallet db,
then forces a full rescan, to rebuild "tx" records accurately.

10 years agoHandle "conflicted" transactions properly
MASM fan [Sun, 16 Feb 2014 00:47:42 +0000]
Handle "conflicted" transactions properly

- Extend CMerkleTx::GetDepthInMainChain with the concept of a "conflicted" transaction - a transaction generated by the wallet that is not in the main chain or in the mempool, and, therefore, will likely never be confirmed.

- Exclamation mark icon for conflicted transactions
- Show mouseover status for conflicted transactions as "conflicted"
- Don't show inactive transactions on overview page overview

10 years agoAdd -enforcecanonical and -confchange options, rename IsConfirmed() to IsTrusted().
MASM fan [Sat, 15 Feb 2014 23:07:49 +0000]
Add -enforcecanonical and -confchange options, rename IsConfirmed() to IsTrusted().

-enforcecanonical=1
Allows user enforce transaction scripts to use canonical PUSH operators, enabled by default.

-confchange=1
Don't use unconfirmed change for transactions.

10 years agoCreate flags field for coin representation, use it for IsCoinBase, IsCoinStake and...
MASM fan [Sat, 15 Feb 2014 22:31:47 +0000]
Create flags field for coin representation, use it for IsCoinBase, IsCoinStake and IsPruned bits.

10 years agoPruned transactions serialization support.
MASM fan [Sat, 15 Feb 2014 15:56:59 +0000]
Pruned transactions serialization support.

10 years agoBump client version
MASM fan [Tue, 4 Feb 2014 17:54:37 +0000]
Bump client version

10 years agoRPC: p2pool related changes and getinfo improvement
MASM fan [Tue, 4 Feb 2014 17:50:58 +0000]
RPC: p2pool related changes and getinfo improvement

* getsubsidy [nTarget] - get proof-of-work subsidy for current or custom target;
* getinfo and getmininginfo are now provining proof-of-stake difficulty value.

10 years agoBugFix: free transactions are not allowed yet
MASM fan [Tue, 4 Feb 2014 17:29:58 +0000]
BugFix: free transactions are not allowed yet

10 years agoRPC: getrawtransaction and resendtx improvement
MASM fan [Sun, 2 Feb 2014 17:11:29 +0000]
RPC: getrawtransaction and resendtx improvement

10 years agoMerge pull request #2 from CryptoManiac/master v0.4.4.7-nvc
0xDEADFACE [Mon, 27 Jan 2014 06:24:13 +0000]
Merge pull request #2 from CryptoManiac/master

Disconnect buggy clients automatically.

10 years agoDisconnect buggy clients automatically.
Alex [Mon, 27 Jan 2014 01:36:28 +0000]
Disconnect buggy clients automatically.

10 years agoMerge pull request #1 from CryptoManiac/novacoin-next
0xDEADFACE [Sun, 26 Jan 2014 18:26:40 +0000]
Merge pull request #1 from CryptoManiac/novacoin-next

Merge "next" branch into master sources tree

10 years agoBump client version v0.4.4.7-nvc-next-testing2
alex [Sat, 25 Jan 2014 23:44:10 +0000]
Bump client version

10 years agoInclude winsock2.h before windows.h
alex [Sat, 25 Jan 2014 23:17:42 +0000]
Include winsock2.h before windows.h

10 years agoSet of several minor fixes:
alex [Sat, 25 Jan 2014 22:58:17 +0000]
Set of several minor fixes:

* Fix winsock.h warnings while building for Windows;
* Add MarkUnspent for confirmed wallet transactions.

10 years agoUpdate only if there are any mismatched coins v0.4.4.7-nvc-next-testing
alex [Fri, 24 Jan 2014 20:07:48 +0000]
Update only if there are any mismatched coins

10 years agoFix repairwallet to update walletmodel without restart.
alex [Fri, 24 Jan 2014 17:46:39 +0000]
Fix repairwallet to update walletmodel without restart.

10 years agoAdd transaction and block header timestamps to gettxout RPC call result.
alex [Thu, 23 Jan 2014 17:14:59 +0000]
Add transaction and block header timestamps to gettxout RPC call result.

10 years agoAdd gettxout and gettxoutsetinfo RPC calls
alex [Thu, 23 Jan 2014 00:00:02 +0000]
Add gettxout and gettxoutsetinfo RPC calls

10 years agoReplace CCoinsDB and CBlockTreeDB with LevelDB based implementations.
alex [Wed, 22 Jan 2014 23:51:50 +0000]
Replace CCoinsDB and CBlockTreeDB with LevelDB based implementations.

10 years agoReplace CChainDB instantiations with a global CBlockTreeDB instance
alex [Wed, 22 Jan 2014 22:35:06 +0000]
Replace CChainDB instantiations with a global CBlockTreeDB instance

10 years agoFix segfault on testnet
alex [Wed, 22 Jan 2014 20:03:35 +0000]
Fix segfault on testnet

10 years agoPrepare database format for multi-stage block processing
alex [Wed, 22 Jan 2014 20:00:57 +0000]
Prepare database format for multi-stage block processing

This commit adds a status field and a transaction counter to the block
indexes.

10 years agoReorganize at startup to best known block
alex [Wed, 22 Jan 2014 16:29:20 +0000]
Reorganize at startup to best known block

Trying to detect the presence of a better chain in chain.dat and then reorganize to this chain using existent blk files.

10 years agoSanity checking for coinstake inputs and checkwallet/repairwallet refactoring
alex [Wed, 22 Jan 2014 16:21:42 +0000]
Sanity checking for coinstake inputs and checkwallet/repairwallet refactoring

10 years agoDirect CCoins references
alex [Tue, 21 Jan 2014 21:43:39 +0000]
Direct CCoins references

Using the direct CCoins references to prevent excessive copying of CCoins in and out of the CCoinsView instances.

10 years agoValidation of coinstake now uses txPrev directly instead of CCoins object
alex [Tue, 21 Jan 2014 21:17:29 +0000]
Validation of coinstake now uses txPrev directly instead of CCoins object

10 years agoTransaction hash caching
alex [Tue, 21 Jan 2014 04:33:18 +0000]
Transaction hash caching

Use CBlock's vMerkleTree to cache transaction hashes, and pass them
along as argument in more function calls.

10 years agoAdd CCoinsViewCache::GetCoinsReadOnly() method for read-only caching to decrease...
alex [Mon, 20 Jan 2014 22:40:34 +0000]
Add CCoinsViewCache::GetCoinsReadOnly() method for read-only caching to decrease count of worthless flushing events;
Remove target mismatch messages from proof-of-stake miner;
Add generator field to getblock output.

10 years agoMiner module fix
alex [Mon, 20 Jan 2014 21:46:52 +0000]
Miner module fix

10 years agoSome proof-of-stake checkings refactoring
alex [Mon, 20 Jan 2014 21:14:40 +0000]
Some proof-of-stake checkings refactoring

* Implement CBlock::CheckSignature() method for signatures and proofhash checking;
* Move PoW header signature checking to new CBlock::CheckLegacySignature() method;
* Remove some redundant messages from debug.log output;
* Make some DoS checkings harder.

Another changes:

* getblock and getblockbynumber RPC calls are now providing generator public key for proof-of-stake blocks.

10 years agoDon't create coins for empty coinbase transactions
alex [Mon, 20 Jan 2014 00:07:28 +0000]
Don't create coins for empty coinbase transactions

10 years agoBugfix: Get coinstake flag and timestamps from undo data
alex [Sun, 19 Jan 2014 23:25:07 +0000]
Bugfix: Get coinstake flag and timestamps from undo data

10 years agoAdd previous block checking in the proof-of-stake miner
alex [Sun, 19 Jan 2014 22:41:14 +0000]
Add previous block checking in the proof-of-stake miner

This should help against orphans.

10 years agoDon't reaccept coinstakes
alex [Sun, 19 Jan 2014 13:46:56 +0000]
Don't reaccept coinstakes

10 years agoUI fixes
alex [Sun, 19 Jan 2014 05:26:25 +0000]
UI fixes

* QT: sort transactions by date;
* RPC: repairwallet removes orphan related records from the wallet;
* Change currency symbol on coincontrol form, fix some typos.

10 years agoBugfix: don't resurrect coinstake transactions
alex [Sun, 19 Jan 2014 04:29:30 +0000]
Bugfix: don't resurrect coinstake transactions

10 years agoAdd new LevelDB wrapper
alex [Sun, 19 Jan 2014 01:09:23 +0000]
Add new LevelDB wrapper

10 years agoCheckpoint fix
alex [Sun, 19 Jan 2014 00:29:25 +0000]
Checkpoint fix

10 years agoFix timestamp violation
alex [Sun, 19 Jan 2014 00:02:31 +0000]
Fix timestamp violation

10 years agoBatch block connection during initial block download
alex [Sat, 18 Jan 2014 23:34:13 +0000]
Batch block connection during initial block download

This reduces the load on the database engine, as subsequent blocks often
update an earlier block's transaction already.

10 years agoUpdate checkpoints
alex [Sat, 18 Jan 2014 21:22:05 +0000]
Update checkpoints

10 years agochmod 0755 leveldb/build_detect_platform
alex [Sat, 18 Jan 2014 20:22:55 +0000]
chmod 0755 leveldb/build_detect_platform

10 years agoSwitch to CCoins & CCoinsView approach
alex [Sat, 18 Jan 2014 20:10:48 +0000]
Switch to CCoins & CCoinsView approach

This commit replaces old transactions index with unspent coins database
which contains a basic metadata like heights, amounts,
coinstake/coinbase flags and timestamps.

We still need access to blockchain for proof-of-stake blocks
validation. Current CheckProofOfStake() uses the coin database to
find the block height, and then scans that block to find the dependency
of coinstake kernel.

10 years agoUndo file creation
alexhz [Wed, 15 Jan 2014 19:18:38 +0000]
Undo file creation

Create files with block undo information for the transactions in it.

10 years agoOne file per block
alexhz [Wed, 15 Jan 2014 16:50:06 +0000]
One file per block

Block database now stores one file per block.

10 years agoAdd CTxUndo: transaction undo information
alexhz [Wed, 15 Jan 2014 14:34:46 +0000]
Add CTxUndo: transaction undo information

The CTxUndo class encapsulates data necessary to undo the effects of
a transaction on the txout set, namely the previous outputs consumed
by it (script + amount), and potentially transaction meta-data when
it is spent entirely.

10 years agoBasic classes for pruned version of transaction output list support
alexhz [Wed, 15 Jan 2014 13:28:24 +0000]
Basic classes for pruned version of transaction output list support

== CCoins: pruned list of transaction outputs ==

The CCoins class represents a pruned set of transaction outputs from
a given transaction. It only retains information about its height in
the block chain, whether it was a coinbase transaction, and its
unspent outputs (script + amount).

It has a custom serializer that has very low redundancy.

== Compact serialization for scripts ==

Special serializers for script which detect common cases and encode
them much more efficiently. 3 special cases are defined:
* Pay to pubkey hash (encoded as 21 bytes)
* Pay to script hash (encoded as 21 bytes)
* Pay to pubkey starting with 0x02, 0x03 or 0x04 (encoded as 33 bytes)

Other scripts up to 121 bytes require 1 byte + script length. Above
that, scripts up to 16505 bytes require 2 bytes + script length.

== Compact serialization for amounts ==

Special serializer/deserializer for amount values. It is optimized for
values which have few non-zero digits in decimal representation. Most
amounts currently in the txout set take only 1 or 2 bytes to
represent.

10 years agoCompact serialization for variable-length integers
alexhz [Wed, 15 Jan 2014 11:42:48 +0000]
Compact serialization for variable-length integers

Variable-length integers: bytes are a MSB base-128 encoding of the number.
The high bit in each byte signifies whether another digit follows. To make
the encoding is one-to-one, one is subtracted from all but the last digit.
Thus, the byte sequence a[] with length len, where all but the last byte
has bit 128 set, encodes the number:

  (a[len-1] & 0x7F) + sum(i=1..len-1, 128^i*((a[len-i-1] & 0x7F)+1))

  Properties:
  * Very small (0-127: 1 byte, 128-16511: 2 bytes, 16512-2113663: 3 bytes)
  * Every integer has exactly one encoding
  * Encoding does not depend on size of original integer type

10 years agoCheckpoint object replacement with std::pair & support for incompatible database...
alex [Tue, 14 Jan 2014 23:01:33 +0000]
Checkpoint object replacement with std::pair & support for incompatible database removal

10 years agoOrpho
alex [Tue, 14 Jan 2014 20:24:50 +0000]
Orpho

10 years agoSecond pre-release update
alex [Tue, 14 Jan 2014 20:18:47 +0000]
Second pre-release update

* Use maximum timeweight as a split/combine threshold (instead of age);
* Remove BDB transactions index support, include some basic optimizations of leveldb wrapper;
*

10 years agoTypo fix
alex [Sun, 12 Jan 2014 10:58:28 +0000]
Typo fix