Commit Graph

113 Commits

Author SHA1 Message Date
Pieter Wuille 335e878be8 Spent per txout
Change some internal data structures to keep track of spentness of each wallet transaction output separately, to support partially-spent transactions:
* an update to the data structures (vfSpent in CWalletTx instead of fSpent)
* a backward-compatible update to the wallet disk format. Old clients reading back an updated wallet will ignore partially spent transactions when creating new ones, and may report a wrong balance, though.
* some helper functions (CWalletTx: IsSpent, MarkSpent, MarkDirty to reset cached values, GetAvailableCredit which only counts unredeemed outputs)
2011-04-12 19:29:36 +02:00
Gavin Andresen 27b7f3b43a Merge branch 'shy' 2011-03-14 09:15:06 -04:00
Gavin Andresen 2abd56f428 Merge branch 'limitfree' of /Users/gavin/src/integration_btc 2011-03-13 17:15:44 -04:00
Gavin Andresen dfd059173d Merge branch 'subcent-change' of https://github.com/tcatm/bitcoin 2011-03-13 17:15:28 -04:00
Gavin Andresen b931ed8563 sendmany RPC command, to send to multiple recipients in one transaction. 2011-03-13 17:11:49 -04:00
Gavin Andresen 88abf70386 Make sure rate-limiting code is thread-safe 2011-03-13 14:38:07 -04:00
Gavin Andresen 5de8b54c51 Continuously rate-limit free transactions.
Changed algorithm to use continuous exponential function instead of discrete 10-minute window.
Changed -limitfreerelay to be kilobytes-per-minute instead of boolean.
2011-03-13 13:38:09 -04:00
Gavin Andresen cbc920d474 shy patch from Hal 2011-03-05 17:13:07 -05:00
Gavin Andresen 395c1f44bd Fix minimum transaction fee calculation mismatch between CreateTransaction and CreateBlock 2011-03-02 16:27:24 -05:00
Luke Dashjr a14bf1946d Bugfix: avoid sub-cent change (lost in fees) whenever possible 2011-03-01 02:10:07 +01:00
David FRANCOIS 98ba262a48 Reset testnet with a new genesis block 2011-02-03 14:21:21 +01:00
Gavin Andresen bd7d9140f9 new checkpoint at block 105,000 2011-01-31 11:26:02 -05:00
Gavin Andresen c90ea2bd6d cpuid instruction clobbers eax/ebx/ecx/edx 2011-01-22 16:04:07 -05:00
Gavin Andresen 245e1b4fdb Merge branch '4wayswitch' of https://github.com/dooglus/bitcoin into integration 2011-01-20 16:21:59 -05:00
Chris 8b8d59eefb Don't use GetBoolArg() and mapArgs; use one or the other. 2011-01-20 12:26:33 -08:00
Gavin Andresen d9574c2f14 Reconcile getbalance and listaccounts 0 in the shared-wallet case
If you copied your wallet and used it on two different machines, the balance reported by getbalance and the sum(listaccounts) could disagree, because you might receive payments for an address that is in your wallet but not your address book.  Now all such transactions are credited to the default empty-string account.
2011-01-20 13:10:01 -05:00
Gavin Andresen 1d23c74361 ReacceptWalletTransactions bugfix
Fix two bugs that can happen if you copy your wallet to another machine
and perform transactions on both.

First, ReacceptWalletTransactions would notice if the other wallet spent coins, and
would correctly mark the receiving transaction spent.  However, it did not add the spending
transaction to the wallet.  Now it does.

Second, account balances could get out of sync with 'getbalance' because coins received
by the other copy of the wallet were not necessarily detected.  Now ReacceptWalletTransactions
will scan the entire blockchain for transactions that should be in the wallet if it runs
across a 'spent in the other wallet' transaction.

Finally, there was a small bug in the accounts getbalance code-- generated coins with between
100 and 119 confirmations were not being counted in the balance of account "".
2011-01-19 16:50:20 -05:00
Gavin Andresen ddb68acebe Add address to listtransactions output 2010-12-21 13:39:10 -05:00
gavinandresen 809ee79592 New RPC command: listaccounts. New RPC setting -rpctimeout. And listtransactions '*'
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@203 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-16 01:06:03 +00:00
s_nakamoto 986b5e257e correction
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@200 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-12 18:38:02 +00:00
s_nakamoto 97ee01ad89 added some DoS limits, removed safe mode
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@199 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-12 18:20:36 +00:00
gavinandresen a206a23980 IsStandard() check for CScripts: only relay/include in blocks CScripts we can understand.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@197 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-07 13:43:31 +00:00
s_nakamoto f03304a9c7 preps for future client-only mode,
jgarzik's initial download speedup

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@195 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-05 09:29:30 +00:00
gavinandresen bdde31d787 All boolean options/flags now work the same way.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@194 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-03 19:38:09 +00:00
gavinandresen bfd471f53e JSON methods: listtransactions, gettransaction, move, sendfrom and getbalance <account>
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@193 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-30 18:58:11 +00:00
s_nakamoto 776d0f3459 new getwork
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@189 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-23 19:16:36 +00:00
s_nakamoto 51d9b435cd small bugfix
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@186 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-20 02:12:03 +00:00
s_nakamoto f35e21e2e4 require some minimal priority for free transactions to slow down transaction spam
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@185 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-19 23:37:05 +00:00
s_nakamoto 683bcb9154 efficiently sort transaction dependencies in one pass
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@184 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-19 20:22:46 +00:00
s_nakamoto e2a186af10 SelectCoins first pass tries not to use coins with less than 6 confirmations
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@177 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-09 19:47:07 +00:00
s_nakamoto 461764cbbe -paytxfee is now per KB,
BitcoinMiner prioritise transactions by how old their dependencies are

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@176 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-08 22:06:07 +00:00
gavinandresen 3b8848fa4e Fix IsInitialBlockDownload if running on testnet
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@175 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-04 00:23:00 +00:00
s_nakamoto c891967b6f bugfixes from Dean Gores,
addr system changes,
make sure no gen before block 74000

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@173 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-23 17:43:53 +00:00
s_nakamoto 2ce73dbe85 -- version 0.3.14 release
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@171 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-21 16:47:16 +00:00
s_nakamoto 5cbf75324d Gavin's TEST network as -testnet switch, misc fixes
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@168 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-19 17:16:51 +00:00
s_nakamoto 83082f04a4 dkaparis: boost::bind build fix for c++0x
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@164 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-11 15:12:17 +00:00
s_nakamoto 103849419a key pool for safer wallet backup
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@163 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-09 19:33:35 +00:00
s_nakamoto b22c884231 recursive function to determine if own unconfirmed transaction can be spent
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@161 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-06 02:19:47 +00:00
s_nakamoto dc8adc3b48 Russian translation by eurekafag
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@160 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-04 01:40:50 +00:00
s_nakamoto a790fa46f4 don't count or spend payments until they have 1 confirmation,
misc cleanup,
changed internal version number from 312 to 31300
-- version 0.3.13

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@158 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-30 16:23:07 +00:00
s_nakamoto 9b8eb4d690 changed free transactions per block threshold
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@157 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-23 16:01:44 +00:00
s_nakamoto 172f006020 only accept transactions sent by IP address if -allowreceivebyip is specified
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@156 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-19 21:20:34 +00:00
s_nakamoto efae3da41d config option -rpcallowip= to accept json-rpc connections from another machine
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@155 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-15 22:10:13 +00:00
s_nakamoto 3df62878c3 reorganize BitcoinMiner to make it easier to add different SHA256 routines
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@154 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-13 22:14:24 +00:00
s_nakamoto c39b06866e fix build on non-intel architectures, thanks teknohog
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@152 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-10 18:07:48 +00:00
s_nakamoto 4968232490 fix problem sending the last cent with sub-cent fractional change
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@151 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-10 16:58:59 +00:00
s_nakamoto 7629d36a53 try to auto-detect whether to use 128-bit 4-way SSE2
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@150 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-09 01:00:40 +00:00
s_nakamoto f1e1fb4bde cleanup,
catch some recoverable exceptions and continue

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@148 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-07 01:12:53 +00:00
s_nakamoto 0a61b0df12 propset svn:eol-style native
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@146 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-29 16:58:15 +00:00
s_nakamoto 5b721607b1 added -testsafemode switch
-- version 0.3.11 release

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@145 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-25 17:53:09 +00:00