Pieter Wuille
0b807a417f
Add SetMinVersion to CWallet
2012-02-18 15:42:29 +01:00
Gavin Andresen
882164196e
Update all copyrights to 2012
2012-02-07 11:28:30 -05:00
Gavin Andresen
922e8e2929
Replace OP_EVAL (BIP 12) with Pay-to-script-hash (BIP 16).
2012-01-13 10:22:23 -05:00
Gavin Andresen
2e17ac83c6
Fix broken ExtractAddress (refactored, made callers check for addresses in keystore if they care)
2011-12-22 15:57:31 -05:00
Wladimir J. van der Laan
bde280b9a4
Revert "Use standard C99 (and Qt) types for 64-bit integers"
...
This reverts commit 21d9f36781
.
2011-12-21 22:33:19 +01:00
Luke Dashjr
21d9f36781
Use standard C99 (and Qt) types for 64-bit integers
2011-12-20 16:52:59 -05:00
Gavin Andresen
781c06c0f5
Merge pull request #677 from luke-jr/minfee_modes
...
API: GetMinFee modes
2011-12-20 13:09:18 -08:00
Gavin Andresen
595925592d
Merge branch 'op_eval'
2011-12-20 14:43:31 -05:00
Gavin Andresen
26ce92b352
Use std::numeric_limits<> for typesafe INT_MAX/etc
2011-12-19 19:10:34 -05:00
Gavin Andresen
be237c119e
Fix logic for IsChange() for send-to-self transactions.
2011-12-19 13:24:49 -05:00
Gavin Andresen
2a45a494b0
Use block times for 'hard' OP_EVAL switchover, and refactored EvalScript
...
so it takes a flag for how to interpret OP_EVAL.
Also increased IsStandard size of scriptSigs to 500 bytes, so
a 3-of-3 multisig transaction IsStandard.
2011-12-19 13:24:48 -05:00
Gavin Andresen
e679ec969c
OP_EVAL implementation
...
OP_EVAL is a new opcode that evaluates an item on the stack as a script.
It enables a new type of bitcoin address that needs an arbitrarily
complex script to redeem.
2011-12-19 12:40:19 -05:00
Gavin Andresen
bf798734db
Support 3 new multisignature IsStandard transactions
...
Initial support for (a and b), (a or b), and 2-of-3 escrow
transactions (where a, b, and c are keys).
2011-12-19 12:40:19 -05:00
Pieter Wuille
95d888a6d1
Key import and export
...
Introduces two new RPC calls:
* dumpprivkey: retrieve the private key corresponding to an address
* importprivkey: add a private key to your wallet
The private key format is analoguous to the address format. It is
a 51-character base58-encoded string, that includes a version number
and a checksum.
Includes patch by mhanne:
* add optional account parameter for importprivkey, if omitted use default
2011-12-17 21:49:48 +01:00
Pieter Wuille
30ab2c9c46
Preparations for key import/export
2011-12-17 21:49:48 +01:00
Pieter Wuille
4c6e22953e
Make CWalletTx::pwallet private
2011-12-17 21:49:47 +01:00
Luke Dashjr
dbbf1d4a48
GetMinFee takes a mode parameter (GMF_{BLOCK,RELAY,SEND}) instead of fForRelay
2011-12-14 01:07:43 -05:00
Dylan Noblesmith
94f778bdeb
Implement an mlock()'d string class for storing passphrases
...
SecureString is identical to std::string except with secure_allocator
substituting for std::allocator. This makes casting between them
impossible, so converting between the two at API boundaries requires
calling ::c_str() for now.
2011-11-26 06:02:04 +00:00
Gavin Andresen
b2d3b2d65d
Never remove database files on shutdown, it caused unreadable wallets on some testers' machines.
2011-11-20 10:39:01 -05:00
Gavin Andresen
1c15f88653
Only remove database log files on shutdown after wallet encryption/rewrite
2011-11-17 14:21:32 -05:00
Gavin Andresen
37971fcc76
Create new keypool for newly encrypted wallets.
2011-11-17 14:01:25 -05:00
Gavin Andresen
d764d9161e
Obsolete keypool and make sure database removes log files on shutdown.
2011-11-15 09:30:16 -05:00
Pieter Wuille
9e9869d0fe
Resilvering
2011-11-14 09:59:22 -05:00
Pieter Wuille
d825e6a31b
Some extra comments
2011-11-07 00:11:34 +01:00
Matt Corallo
0767e69199
Add returns to avoid annoying compile-time warnings.
2011-10-25 11:40:59 -04:00
Nils Schneider
6ccff2cbde
remove cryptopp dependency, add simple unittest for SHA256Transform()
2011-09-30 20:00:22 +02:00
Wladimir J. van der Laan
c5aa1b139a
update to work with new lock system, add protocol.* to build system
2011-09-02 18:02:22 +02:00
Wladimir J. van der Laan
7a15d4ff67
Merge branch 'master' of https://github.com/bitcoin/bitcoin
...
Conflicts:
src/main.cpp
2011-09-02 17:35:30 +02:00
Gavin Andresen
ed02c95d50
obtain cs_wallet mutex to protect vchDefaultKey
2011-09-01 10:58:08 -04:00
Gavin Andresen
7db3b75b3e
Logic running with -keypool=0 was wrong (empty keys were being returned). Fixes #445
...
Renames GetOrReuseKeyFromKeyPool to GetKeyFromPool, with fAllowReuse arg and bool result.
2011-09-01 10:12:59 -04:00
Gavin Andresen
471426fb3b
Fixed potential deadlocks in GUI code.
...
Also changed semantics of CWalletTx::GetTxTime(); now always returns the time the transaction was received by this node, not the average block time.
And added information about -DDEBUG_LOCKORDER to coding.txt.
2011-08-31 12:55:16 -04:00
Gavin Andresen
6cc4a62c0e
Fix rpc-hanging deadlocks
...
Collapsed multiple wallet mutexes to a single cs_wallet, to avoid deadlocks with wallet methods that acquired locks in different order.
Also change master RPC call handler to acquire cs_main and cs_wallet locks before executing RPC calls; requiring each RPC call to acquire the right set of locks in the right order was too error-prone.
2011-08-31 12:55:16 -04:00
Wladimir J. van der Laan
b90c9ecb13
Merge branch 'master' of https://github.com/bitcoin/bitcoin
2011-08-16 10:28:24 +02:00
Matt Corallo
b2120e223a
Unify copyright notices.
...
To a variation on:
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin developers
2011-08-09 13:32:52 +02:00
Wladimir J. van der Laan
b5b1d1a66b
Merge branch 'master' of https://github.com/bitcoin/bitcoin
...
Conflicts:
src/script.cpp
2011-07-27 21:44:55 +02:00
Pieter Wuille
b63241d451
Bugfix: don't overuse limited ExtractAddress
...
ExtractAddress was called with the keystore as argument in RPC and
UI, limiting results to own keys. This caused empty "address"
fields.
2011-07-26 19:41:47 +02:00
Wladimir J. van der Laan
491ad6db50
Merge remote branch 'upstream/master'
...
Conflicts:
src/bitcoinrpc.cpp
2011-07-26 16:47:23 +02:00
Jeff Garzik
a9ba47101a
Merge pull request #403 from sipa/cbitcoinaddress
...
keys indexed by address + introduced CBitcoinaddress
2011-07-24 15:38:38 -07:00
Pieter Wuille
a7dd11c6da
Fix for small change outputs
...
With the separation of CENT and MIN_TX_FEE, it is now reasonable
to create change outputs between 0.01 and 0.0005, as these are
spendable according to the policy, even though they require a fee
to be paid.
Also, when enough fee was already present, everything can go into
a change output, without further increasing the fee.
2011-07-24 16:37:09 +02:00
Pieter Wuille
2ffba736e9
Use CBitcoinAddress instead of string/uint160
...
Instead of conversion functions between pubkey/uint160/address in
base58.h, have a fully fledged class CBitcoinAddress (CAddress was
already taken) to represent addresses.
2011-07-17 12:09:14 +02:00
Pieter Wuille
03fbd79049
get rid of mapPubKeys
...
Make CKeyStore's interface work on uint160's instead of pubkeys, so
no separate global mapPubKeys is necessary anymore.
2011-07-17 12:07:59 +02:00
Wladimir J. van der Laan
d421117620
Merge branch 'master' of https://github.com/bitcoin/bitcoin
2011-07-15 16:42:44 +02:00
Matt Corallo
a2606bad09
Fix Build in GetReservedKey() in wallet.cpp
2011-07-14 03:34:07 +02:00
Matt Corallo
cee69980b0
Generate Warning when using default key.
2011-07-14 03:28:31 +02:00
Matt Corallo
0d7b28e52e
Fix crashes when a wallet is locked and GetReservedKey() is called
2011-07-14 03:11:40 +02:00
Jeff Garzik
9cd22ab862
Merge pull request #406 from muggenhor/warning-fixes
...
Warning fixes
2011-07-13 08:55:49 -07:00
Giel van Schijndel
84c3c2ebe7
fix warning: control reaches end of non-void function [-Wreturn-type]
...
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 14:25:45 +02:00
Pieter Wuille
d5115a71a1
Bugfix: add autogenerated addresses to address book
2011-07-13 13:05:08 +02:00
Jeff Garzik
116df55e21
Update CWallet::LoadWallet for proper return type.
2011-07-13 01:07:49 -04:00
Giel van Schijndel
858cebed7d
fix warning: unused variable 'X' [-Wunused-variable]
...
Remove several unused variables.
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:10:15 +02:00