Jonas Schnelli
68d7682b9f
[Wallet] ensure CKeyMetadata.hdMasterKeyID will be cleared during SetNull()
2016-07-15 10:33:25 +02:00
Wladimir J. van der Laan
bc94b87487
Merge #8324 : [Wallet] keep HD seed during salvagewallet
...
b993671
[Wallet] keep HD seed during salvagewallet (Jonas Schnelli)
2016-07-14 11:37:48 +02:00
Jonas Schnelli
b993671921
[Wallet] keep HD seed during salvagewallet
2016-07-09 12:58:03 +02:00
Jonas Schnelli
986c223214
[Wallet] print hd masterkeyid in getwalletinfo
2016-07-09 12:12:36 +02:00
Jonas Schnelli
5b95dd2c25
[Wallet] extend CKeyMetadata with HD keypath
2016-07-09 11:52:17 +02:00
MarcoFalke
477777f250
[rpcwallet] Don't use floating point
2016-07-08 12:01:25 +02:00
Wladimir J. van der Laan
20f3cd75f6
wallet: Revert input selection post-pruning
...
This reverts PR #4906 , "Coinselection prunes extraneous inputs from
ApproximateBestSubset".
Apparently the previous behavior of slightly over-estimating the set of
inputs was useful in cleaning up UTXOs.
See also #7664 , #7657 , as well as 2016-07-01 discussion on #bitcoin-core-dev IRC.
2016-07-01 13:26:01 +02:00
Wladimir J. van der Laan
d612837814
Merge #8149 : Segregated witness rebased
...
f852813
BIP9 parameters for testnet (Johnson Lau)
070dbc4
--- [SEGWIT] begin: deployment --- (Pieter Wuille)
fdb43df
[qa] Add GetTransactionSigOpCost unit tests (Jonas Nick)
d846e02
[qa] script_tests: witness tests can specify tx amount (Suhas Daftuar)
330b0f3
[qa] p2p segwit tests (Suhas Daftuar)
4f7ff00
[qa] Add rpc test for segwit (Alex Morcos)
66cca79
[qa] Autogeneration support for witness in script_tests (Pieter Wuille)
06d3805
[qa] Add segwit support to script_tests (Pieter Wuille)
00f46cb
[qa] Add transaction tests for segwit (NicolasDorier)
0aa9207
[qa] Witness version 0 signing unit tests (Pieter Wuille)
978e200
--- [SEGWIT] begin: tests --- (Pieter Wuille)
745eb67
[RPC] signrawtransaction can sign P2WSH (NicolasDorier)
f4691ab
[RPC] Add wallet support for witness transactions (using P2SH) (Pieter Wuille)
605e847
BIP143: Signing logic (Pieter Wuille)
9757b57
--- [SEGWIT] begin: wallet --- (Pieter Wuille)
af87a67
Do not use compact blocks when segwit is enabled (Pieter Wuille)
6032f69
Add rewind logic to deal with post-fork software updates (Pieter Wuille)
b7dbeb2
[libconsensus] Script verification API with amounts (Thomas Kerin)
2b1f6f9
BIP141: Other consensus critical limits, and BIP145 (Pieter Wuille)
7c4bf77
[RPC] Return witness data in blockchain RPCs (Johnson Lau)
3dd4102
BIP143: Verification logic (Pieter Wuille)
0ef1dd3
Refactor script validation to observe amounts (Pieter Wuille)
b8a9749
BIP144: Handshake and relay (receiver side) (Pieter Wuille)
8b49040
BIP141: Commitment structure and deployment (Pieter Wuille)
449f9b8
BIP141: Witness program (Pieter Wuille)
7030d9e
BIP144: Serialization, hashes, relay (sender side) (Pieter Wuille)
ecacfd9
--- [SEGWIT] begin: P2P/node/consensus --- (Pieter Wuille)
2016-06-24 18:07:44 +02:00
Wladimir J. van der Laan
a1c92c29fd
trivial: capitalize BIP32 in option help
...
For consistency, BIP32 should be in uppercase in translation message.
Reported by @pryds on Transifex.
2016-06-23 10:44:36 +00:00
Alex Morcos
4f7ff00497
[qa] Add rpc test for segwit
...
Amended by Pieter Wuille to use multisig 1-of-1 for P2WSH tests, and BIP9
based switchover logic.
Fixes and py3 conversion by Marco Falke.
2016-06-22 15:43:01 +02:00
Pieter Wuille
f4691ab3a9
[RPC] Add wallet support for witness transactions (using P2SH)
...
Includes support for pushkeyhash wit v0 by Alex Morcos.
2016-06-22 15:43:01 +02:00
Pieter Wuille
605e8473a7
BIP143: Signing logic
2016-06-22 15:43:01 +02:00
Pieter Wuille
2b1f6f9ccf
BIP141: Other consensus critical limits, and BIP145
...
Includes changes by Suhas Daftuar, Luke-jr, and mruddy.
2016-06-22 15:43:00 +02:00
Pieter Wuille
7030d9eb47
BIP144: Serialization, hashes, relay (sender side)
...
Contains refactorings by Eric Lombrozo.
Contains fixup by Nicolas Dorier.
Contains cleanup of CInv::GetCommand by Alex Morcos
2016-06-22 15:42:59 +02:00
Wladimir J. van der Laan
a6ddb19bd9
Merge #7687 : Stop treating importaddress'ed scripts as change
...
595b22e
Stop treating importaddress'ed scripts as change (Pieter Wuille)
2016-06-20 14:09:49 +02:00
MarcoFalke
faa91b12f7
[wallet] tests: Don't use floating point
2016-06-17 13:07:38 +02:00
Wladimir J. van der Laan
b67a4726df
Merge #8035 : [Wallet] Add simplest BIP32/deterministic key generation implementation
...
afcd77e
Detect -usehd mismatches when wallet.dat already exists (Jonas Schnelli)
17c0131
[Docs] Add release notes and bip update for Bip32/HD wallets (Jonas Schnelli)
c022e5b
[Wallet] use constant for bip32 hardened key limit (Jonas Schnelli)
f190251
[Wallet] Add simplest BIP32/deterministic key generation implementation (Jonas Schnelli)
2016-06-14 11:44:22 +02:00
Jonas Schnelli
afcd77e179
Detect -usehd mismatches when wallet.dat already exists
2016-06-14 08:56:01 +02:00
Wladimir J. van der Laan
d096d22446
build: Get rid of CLIENT_DATE
...
Putting the build date in the executable is a practice that has no place
in these days, now that deterministic building is increasingly common.
Continues #7732 which did this for the GUI.
2016-06-09 13:34:09 +02:00
Pieter Wuille
77f63a4fcd
Fix two warnings for comparison between signed and unsigned
2016-06-08 15:34:18 +02:00
MarcoFalke
fa7f4f577c
[rpc] fundrawtransaction feeRate: Use BTC/kB
...
Also introduce UniValueType
UniValueType is a wrapper for UniValue::VType which allows setting
a typeAny flag. This flag indicates the type does not matter.
(Used by RPCTypeCheckObj)
2016-06-07 13:12:57 +02:00
MarcoFalke
faf82e8fc8
[rpc] fundrawtransaction: Fix help text and interface
2016-06-06 19:40:35 +02:00
Patrick Strateman
152ab236ea
Improve CWallet API with new GetAccountPubkey function.
...
Remove one more caller that is passing CWalletDB.
2016-06-06 07:02:05 -07:00
Wladimir J. van der Laan
243ac0c75b
Merge #8137 : Improve CWallet API with new AccountMove function.
...
9dfaa1c
Improve CWallet API with new AccountMove function. (Patrick Strateman)
2016-06-06 14:59:10 +02:00
Wladimir J. van der Laan
8c1e49ba13
Merge #7967 : [RPC] add feerate option to fundrawtransaction
...
04eaa90
Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli)
3b35e48
[RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
2016-06-03 15:47:48 +02:00
Pieter Wuille
f972b04d63
Merge #7825 : Prevent multiple calls to ExtractDestination
...
0bf6f30
Prevent multiple calls to ExtractDestination (Pedro Branco)
2016-06-03 00:45:22 +02:00
Pieter Wuille
595b22e5c0
Stop treating importaddress'ed scripts as change
...
Before this, if someone imported a scriptPubKey directly (in hex form) using
importaddress, outputs sending to it would be treated as change, as the
corresponding CTxDestination was not added to the address book.
Fix this by trying to detect scriptPubKeys that are in fact convertible to a
CTxDestination and add them anyway. Add a warning to the RPC help to warn
against importing raw non-standard scripts.
2016-06-02 15:53:04 +02:00
Patrick Strateman
9dfaa1cb70
Improve CWallet API with new AccountMove function.
2016-06-02 06:00:59 -07:00
Jonas Schnelli
c022e5b15d
[Wallet] use constant for bip32 hardened key limit
2016-06-01 20:29:39 +02:00
Pieter Wuille
b89ef13114
Merge #7689 : Replace OpenSSL AES with ctaes-based version
...
723779c
build: Enumerate ctaes rather than globbing (Cory Fields)
34ed64a
crypter: add tests for crypter (Cory Fields)
0a36b9a
crypter: shuffle Makefile so that crypto can be used by the wallet (Cory Fields)
976f9ec
crypter: add a BytesToKey clone to replace the use of openssl (Cory Fields)
9049cde
crypter: hook up the new aes cbc classes (Cory Fields)
fb96831
crypter: constify encrypt/decrypt (Cory Fields)
1c391a5
crypter: fix the stored initialization vector size (Cory Fields)
daa3841
crypto: add aes cbc tests (Cory Fields)
27a212d
crypto: add AES 128/256 CBC classes (Cory Fields)
6bec172
Add ctaes-based constant time AES implementation (Pieter Wuille)
a545127
Squashed 'src/crypto/ctaes/' content from commit cd3c3ac (Pieter Wuille)
2016-06-01 18:22:34 +02:00
Jonas Schnelli
f19025106d
[Wallet] Add simplest BIP32/deterministic key generation implementation
2016-05-31 14:47:00 +02:00
Pieter Wuille
fa2637a3be
Always require OS randomness when generating secret keys
2016-05-29 01:52:17 +02:00
Pieter Wuille
f6b7df3155
Merge #8061 : [Wallet] Improve Wallet encapsulation
...
380498a
Move BackupWallet to CWallet::BackupWallet (Patrick Strateman)
ecb9741
Move GetAccountBalance from rpcwallet.cpp into CWallet::GetAccountBalance (Patrick Strateman)
2016-05-25 18:08:06 +02:00
MarcoFalke
e2bf830bb6
Merge #8038 : [qa, doc] Various minor fixes
...
fa83a5d
[qa] wallet: Temporarily disable salvagewallet test (MarcoFalke)
fadd048
[doc] Link to clang-format in the developer notes (MarcoFalke)
fa72f7d
[doc] Remove outdated line from listunspent RPC help, fix typo (MarcoFalke)
ac40ed7
Increase timeout waiting for pruned blk00000.dat (error10)
2016-05-17 09:27:25 +02:00
Patrick Strateman
380498aba4
Move BackupWallet to CWallet::BackupWallet
2016-05-16 17:48:25 -07:00
Patrick Strateman
ecb9741ec3
Move GetAccountBalance from rpcwallet.cpp into CWallet::GetAccountBalance
2016-05-16 17:48:25 -07:00
Gregory Maxwell
d87b198b73
Remove unneeded feerate param from RelayTransaction/AcceptToMemoryPool.
2016-05-16 04:10:06 +00:00
Cory Fields
34ed64a404
crypter: add tests for crypter
...
Verify that results correct (match known values), consistent (encrypt->decrypt
matches the original), and compatible with the previous openssl implementation.
Also check that failed encrypts/decrypts fail the exact same way as openssl.
2016-05-13 10:23:04 +02:00
Cory Fields
976f9ec264
crypter: add a BytesToKey clone to replace the use of openssl
...
BytesToKeySHA512AES should be functionally identical to EVP_BytesToKey, but
drops the dependency on openssl.
2016-05-13 10:23:04 +02:00
Cory Fields
9049cde4d9
crypter: hook up the new aes cbc classes
2016-05-13 10:23:04 +02:00
Cory Fields
fb96831c1f
crypter: constify encrypt/decrypt
...
This makes CCrypter easier to pass aroundf for tests
2016-05-13 10:23:04 +02:00
Cory Fields
1c391a5866
crypter: fix the stored initialization vector size
...
AES IV's are 16bytes, not 32. This was harmless but confusing.
Add WALLET_CRYPTO_IV_SIZE to make its usage explicit.
2016-05-13 10:23:03 +02:00
MarcoFalke
fa72f7d99d
[doc] Remove outdated line from listunspent RPC help, fix typo
2016-05-10 17:59:02 +02:00
Wladimir J. van der Laan
373b50deba
Merge #8028 : Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk
...
0fd5997
Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk (Patrick Strateman)
2016-05-10 15:51:34 +02:00
Wladimir J. van der Laan
3e2c946cfd
init: Move berkeleydb version reporting to wallet
...
Move the version reporting to Wallet::Verify, before starting
verification of the wallet.
This removes the dependency of init on a specific wallet database
library.
A further, trivial step towards resolving #7965 .
2016-05-10 12:57:07 +02:00
Patrick Strateman
0fd599767d
Fix insanity of CWalletDB::WriteTx and CWalletTx::WriteToDisk
2016-05-09 00:20:17 -07:00
Pedro Branco
0bf6f30262
Prevent multiple calls to ExtractDestination
2016-05-06 10:50:02 +01:00
Jonas Schnelli
04eaa90958
Add more clear interface for CoinControl.h regarding individual feerate
2016-05-06 11:01:50 +02:00
Jonas Schnelli
3b35e4896b
[RPC] add feerate option to fundrawtransaction
2016-04-28 22:04:07 +02:00
Wladimir J. van der Laan
46880ed2fd
Merge #7688 : List solvability in listunspent output and improve help
...
c3932b3
List solvability in listunspent output and improve help (Pieter Wuille)
2016-04-25 14:46:29 +02:00
Wladimir J. van der Laan
0c95ebce7e
Merge #7816 : [Wallet] slighly refactor GetOldestKeyPoolTime()
...
9f7336b
[Wallet] slightly refactor GetOldestKeyPoolTime() (Jonas Schnelli)
2016-04-22 08:36:56 +02:00
Wladimir J. van der Laan
04a2937357
Merge #7787 : [Moveonly] Create ui_interface.cpp
...
fa10ce6
Move ui_interface.cpp to libbitcoin_server_a_SOURCES (MarcoFalke)
fabbf80
[ui] Move InitError, InitWarning, AmountErrMsg (MarcoFalke)
2016-04-19 16:10:57 +02:00
Wladimir J. van der Laan
187186b0fe
Merge #7905 : test: move accounting_tests and rpc_wallet_tests to wallet/test
...
b30fb42
test: Rename wallet.dat to wallet_test.dat (Wladimir J. van der Laan)
a25a4f5
wallet_ismine.h → script/ismine.h (Wladimir J. van der Laan)
f4eae2d
test: Create test fixture for wallet (Wladimir J. van der Laan)
de39c95
test: move accounting_tests and rpc_wallet_tests to wallet/test (Wladimir J. van der Laan)
2016-04-19 10:49:48 +02:00
Wladimir J. van der Laan
b30fb42e49
test: Rename wallet.dat to wallet_test.dat
...
Indicate that the file name is not hardcoded, and a little bit of safety
so that it never nukes the main wallet.
Suggestion by Marco Falke.
2016-04-18 15:17:08 +02:00
Wladimir J. van der Laan
a25a4f5b04
wallet_ismine.h → script/ismine.h
...
Removes conditional dependency of `src/test` on wallet.
Makes multisig and P2SH tests complete without wallet built-in.
2016-04-18 15:14:36 +02:00
Wladimir J. van der Laan
f4eae2d910
test: Create test fixture for wallet
...
Removes all the `#ifdef ENABLE_WALLET` from `test_bitcoin` by
making the wallet tests use their own fixture.
2016-04-18 14:57:42 +02:00
Wladimir J. van der Laan
d289950180
Merge #7900 : fix spelling mistake
...
3107c47
fix spelling mistake (Chris Moore)
2016-04-18 14:15:12 +02:00
Wladimir J. van der Laan
de39c95c24
test: move accounting_tests and rpc_wallet_tests to wallet/test
...
Move the two other wallet tests to where they belong.
2016-04-18 14:04:40 +02:00
Chris Moore
3107c475a7
fix spelling mistake
2016-04-17 00:01:49 -07:00
Chris Moore
dc0693f637
add missing newline
...
Without the newline I see "bein" where the two lines are concatenated:
Note that all inputs selected must be of standard form and P2SH scripts must *bein* the wallet using importaddress or addmultisigaddress (to calculate fees).
2016-04-16 13:42:28 -07:00
João Barbosa
f2d0944eb3
Add lockUnspents option to fundrawtransaction
2016-04-15 15:36:05 +02:00
João Barbosa
af4fe7fd12
Add change options to fundrawtransaction
2016-04-15 15:36:05 +02:00
Wladimir J. van der Laan
430fffefaa
Merge #7812 : Tiny refactor of IsRBFOptIn
, avoid exception
...
4f7c959
Refactor IsRBFOptIn, avoid exception (Jonas Schnelli)
2016-04-14 16:35:02 +02:00
Jonas Schnelli
9f7336b457
[Wallet] slightly refactor GetOldestKeyPoolTime()
2016-04-06 11:06:25 +02:00
Jonas Schnelli
4f7c959af1
Refactor IsRBFOptIn, avoid exception
2016-04-06 10:59:03 +02:00
MarcoFalke
fada0c422c
[doc] Fix doxygen comments for members
2016-04-03 11:58:01 +02:00
MarcoFalke
fabbf80f2f
[ui] Move InitError, InitWarning, AmountErrMsg
2016-04-02 15:26:21 +02:00
Wladimir J. van der Laan
30c2dd8d05
Merge #7691 : [Wallet] refactor wallet/init interaction
...
25340b7
[Wallet] refactor wallet/init interaction (Jonas Schnelli)
2016-04-02 11:07:39 +02:00
Wladimir J. van der Laan
fb8a8cf2e6
rpc: Register calls where they are defined
...
Split out methods to every module, apart from 'help' and 'stop' which
are implemented in rpcserver.cpp itself.
- This makes it easier to add or remove RPC commands - no longer everything that includes
rpcserver.h has to be rebuilt when there's a change there.
- Cleans up `rpc/server.h` by getting rid of the huge cluttered list of function definitions.
- Removes most of the bitcoin-specific code from rpcserver.cpp and .h.
Continues #7307 for the non-wallet.
2016-03-31 10:48:32 +02:00
Wladimir J. van der Laan
b35a591793
Merge #7558 : [RPC] Add import/removeprunedfunds rpc call
...
f1bb13c
Added companion removeprunedfunds call. (instagibbs)
7eb7029
Add importprunedfunds rpc call (instagibbs)
2016-03-29 11:15:02 +02:00
Jonas Schnelli
cef8bdf5d7
[Wallet][RPC] add missing abandon status documentation
2016-03-29 08:43:08 +02:00
Wladimir J. van der Laan
b88e0b0c61
Merge #7506 : Use CCoinControl selection in CWallet::FundTransaction
...
d6cc6a1
Use CCoinControl selection in CWallet::FundTransaction (João Barbosa)
2016-03-24 14:59:51 +01:00
João Barbosa
df9e9233dc
Fix lockunspents help message
2016-03-23 15:44:41 +00:00
Jonas Schnelli
263de3d1c8
[Wallet][RPC] add abandoned status to listtransactions
2016-03-23 15:49:53 +01:00
instagibbs
f1bb13c93d
Added companion removeprunedfunds call.
2016-03-23 10:40:38 -04:00
instagibbs
7eb702954e
Add importprunedfunds rpc call
2016-03-23 10:40:38 -04:00
Wladimir J. van der Laan
3bdc583b3f
Merge #7715 : Fix calculation of balances and available coins.
...
68d4282
Fix calculation of balances and available coins. (Alex Morcos)
2016-03-23 15:09:02 +01:00
João Barbosa
bb16c8894b
Prevent multiple calls to CWallet::AvailableCoins
2016-03-22 08:43:37 +00:00
Jonas Schnelli
25340b7cd5
[Wallet] refactor wallet/init interaction
2016-03-22 08:20:59 +01:00
Alex Morcos
9e072a6e66
Implement "feefilter" P2P message.
...
The "feefilter" p2p message is used to inform other nodes of your mempool min fee which is the feerate that any new transaction must meet to be accepted to your mempool. This will allow them to filter invs to you according to this feerate.
2016-03-21 10:46:25 -04:00
Denis Lukianov
c5825d2d73
Correct importaddress help reference to importpubkey
2016-03-21 03:16:19 +00:00
Alex Morcos
68d4282774
Fix calculation of balances and available coins.
...
No longer consider coins which aren't in our mempool.
Add test for regression in abandonconflict.py
2016-03-18 09:56:30 -04:00
Pieter Wuille
c3932b3270
List solvability in listunspent output and improve help
2016-03-14 19:22:11 +01:00
MarcoFalke
fa48bb3148
[qt] Remove 0-fee from send dialog
2016-03-14 18:32:09 +01:00
MarcoFalke
fa19b18c63
[wallet] Move hardcoded file name out of log messages
2016-03-14 13:54:05 +01:00
Jonas Schnelli
15e6e13624
[Wallet] optimize return value of InitLoadWallet()
2016-03-14 09:33:27 +01:00
Jonas Schnelli
fc7c60d699
[Wallet] move "load wallet phase" to CWallet
2016-03-11 14:31:06 +01:00
Wladimir J. van der Laan
86a1ec5b2c
Merge #7576 : [Wallet] move wallet help string creation to CWallet
...
72c2651
[Wallet] move wallet help string creation to CWallet (Jonas Schnelli)
2016-03-11 08:40:37 +01:00
João Barbosa
d6cc6a1830
Use CCoinControl selection in CWallet::FundTransaction
2016-03-08 15:14:47 +00:00
Jonas Schnelli
72c2651581
[Wallet] move wallet help string creation to CWallet
2016-03-05 13:27:04 -05:00
Wladimir J. van der Laan
3368895c3b
Merge #7521 : Don't resend wallet txs that aren't in our own mempool
...
5a2b1c0
Don't resend wallet txs that aren't in our own mempool (Alex Morcos)
2016-03-03 15:09:50 +01:00
Wladimir J. van der Laan
e5121eb951
Merge #7617 : [doc/log] Fix markdown syntax and line terminate LogPrint
...
fa26652
Make sure LogPrintf strings are line-terminated (MarcoFalke)
fa97f95
[doc] Fix markdown (MarcoFalke)
fa06ce0
Fix doxygen comment for payTxFee (MarcoFalke)
2016-03-01 18:39:21 +01:00
Wladimir J. van der Laan
78e81b0bc5
Merge #7537 : wallet: Warn on unexpected EOF while salvaging wallet
...
ca8fb59
wallet: Warn on unexpected EOF while salvaging wallet (Wladimir J. van der Laan)
2016-02-29 10:05:07 +01:00
MarcoFalke
fa06ce0949
Fix doxygen comment for payTxFee
2016-02-27 18:14:57 +01:00
Matthew Zipkin
7eef1d0dad
Clarify description of blockindex
...
see issues:
https://github.com/bitcoin-dot-org/bitcoin.org/issues/1237
https://github.com/bitcoin/bitcoin/issues/7532
2016-02-18 12:42:59 -08:00
Wladimir J. van der Laan
f31b6b8995
test: test leading space for ParseHex
...
BerkeleyDB dump files have key and value lines indented.
The salvage code passes these to ParseHex as-is.
Check this in the tests (should just pass with current code).
2016-02-15 17:14:30 +01:00
Wladimir J. van der Laan
ca8fb59ae1
wallet: Warn on unexpected EOF while salvaging wallet
...
Check for EOF before every getline, and warn when reading gets to EOF
before the end of the data.
Stricter error checking could shed more light on issues such as #7463
and #7379 .
2016-02-15 16:35:12 +01:00
instagibbs
c372572595
Fix and cleanup listreceivedbyX documentation
2016-02-12 14:06:59 -05:00
Alex Morcos
5a2b1c0c8b
Don't resend wallet txs that aren't in our own mempool
2016-02-11 17:34:55 -05:00
Wladimir J. van der Laan
40e7b61835
wallet: Ignore MarkConflict if block hash is not known
...
If number of conflict confirms cannot be determined, this means
that the block is still unknown or not yet part of the main chain,
for example during a reindex. Do nothing in that case,
instead of crash with an assertion.
Fixes #7234 .
2016-02-09 20:38:31 +01:00