Jonas Schnelli
9e351c9586
SetMerkleBranch: remove unused code, remove cs_main lock requirement
2016-12-30 10:37:13 +01:00
Matt Corallo
4cd373aea8
Un-expose mapArgs from utils.h
2016-12-24 11:29:33 -05:00
Matt Corallo
0cf86a6678
Introduce (and use) an IsArgSet accessor method
2016-12-23 21:30:16 -05:00
Pieter Wuille
c44e4c467c
Make AcceptToMemoryPool take CTransactionRef
2016-12-21 18:18:23 -08:00
Patrick Strateman
d63ff6265b
Make nWalletDBUpdated atomic to avoid a potential race.
2016-12-21 13:49:48 -08:00
Wladimir J. van der Laan
e8cfe1ee2d
Merge #8589 : Inline CTxInWitness inside CTxIn
...
f6fb7ac
Move CTxInWitness inside CTxIn (Pieter Wuille)
2016-12-21 14:04:06 +01:00
Wladimir J. van der Laan
5a70572049
Merge #9262 : Prefer coins that have fewer ancestors, sanity check txn before ATMP
...
cee1612
reduce number of lookups in TransactionWithinChainLimit (Gregory Sanders)
af9bedb
Test for fix of txn chaining in wallet (Gregory Sanders)
5882c09
CreateTransaction: Don't return success with too-many-ancestor txn (Gregory Sanders)
0b2294a
SelectCoinsMinConf: Prefer coins with fewer ancestors (Gregory Sanders)
2016-12-20 13:27:08 +01:00
Wladimir J. van der Laan
3097ea40d7
Merge #9316 : [wallet] Disable free transactions when relay is disabled
...
faf4ca8
[wallet] Disable free transactions when relay is disabled (MarcoFalke)
2016-12-20 11:29:59 +01:00
Wladimir J. van der Laan
a336d13a58
Merge #9311 : Flush wallet after abandontransaction
...
0632939
Flush wallet after abandontransaction (Alex Morcos)
2016-12-19 09:43:54 +01:00
Pieter Wuille
57e337d40e
Merge #9290 : Make RelayWalletTransaction attempt to AcceptToMemoryPool.
...
f692fce
Make RelayWalletTransaction attempt to AcceptToMemoryPool. (Gregory Maxwell)
2016-12-14 01:28:09 -08:00
Chris Moore
453bda63dd
Add 'subtractFeeFromOutputs' option to 'fundrawtransaction'.
2016-12-13 13:36:23 -08:00
Gregory Sanders
5882c099d9
CreateTransaction: Don't return success with too-many-ancestor txn
2016-12-13 09:41:07 -05:00
Gregory Sanders
0b2294a980
SelectCoinsMinConf: Prefer coins with fewer ancestors
2016-12-13 09:41:04 -05:00
Wladimir J. van der Laan
b6abdc77d3
Merge #9302 : Return txid even if ATMP fails for new transaction
...
b3a7410
Return txid even if ATMP fails for new transaction (Pieter Wuille)
2016-12-13 12:15:27 +01:00
MarcoFalke
faf4ca84e4
[wallet] Disable free transactions when relay is disabled
2016-12-10 17:45:23 +01:00
Alex Morcos
06329393c7
Flush wallet after abandontransaction
2016-12-09 13:36:42 -05:00
Pieter Wuille
b3a74100b8
Return txid even if ATMP fails for new transaction
2016-12-08 11:55:32 -08:00
Jonas Schnelli
c24a4f5981
[Wallet] Bugfix: FRT: don't terminate when keypool is empty
2016-12-06 13:45:56 +01:00
Gregory Maxwell
f692fce8a4
Make RelayWalletTransaction attempt to AcceptToMemoryPool.
...
This resolves an issue where a wallet transaction which failed to
relay previously because it couldn't make it into the mempool
will not try again until restart, even though mempool conditions
may have changed.
Abandoned and known-conflicted transactions are skipped.
Some concern was expressed that there may be users with many
unknown conflicts would waste a lot of CPU time trying to
add them to their memory pools over and over again. But I am
doubtful these users exist in any number, if they do exist
they have worse problems, and they can mitigate any performance
issue this might have by abandoning the transactions in question.
2016-12-06 08:01:27 +00:00
Pavel Janík
9de90bb749
Do not shadow variables (gcc set)
2016-12-05 11:41:46 +01:00
Pieter Wuille
f6fb7acda4
Move CTxInWitness inside CTxIn
2016-12-04 23:47:12 -08:00
Pieter Wuille
c3f5673a63
Make CWalletTx store a CTransactionRef instead of inheriting
2016-12-02 18:28:22 -08:00
Matt Corallo
76faa3cdfe
Rename the remaining main.{h,cpp} to validation.{h,cpp}
2016-12-02 09:42:51 -08:00
Wladimir J. van der Laan
74ced54b7e
Merge #9204 : Clarify CreateTransaction error messages
...
918b126
fix CreateTransaction error messages (instagibbs)
2016-11-23 08:42:06 +01:00
Wladimir J. van der Laan
5ea5e0401c
Merge #9141 : Remove unnecessary calls to CheckFinalTx
...
4512550
Remove unnecessary calls to CheckFinalTx (Jonas Schnelli)
2016-11-23 07:24:43 +01:00
Wladimir J. van der Laan
40022fe5f2
Merge #9142 : Move -salvagewallet, -zap(wtx) to where they belong
...
2e44893
Move -salvagewallet, -zap(wtx) to where they belong (Jonas Schnelli)
2016-11-23 07:18:24 +01:00
instagibbs
918b126901
fix CreateTransaction error messages
2016-11-22 13:40:57 -05:00
Pieter Wuille
1662b437b3
Make CBlock::vtx a vector of shared_ptr<CTransaction>
2016-11-19 17:51:09 -08:00
Gregory Sanders
20c3215a90
credit values are CAmount
2016-11-15 09:19:23 -05:00
Jonas Schnelli
4512550fa0
Remove unnecessary calls to CheckFinalTx
2016-11-12 13:50:39 +01:00
Jonas Schnelli
2e44893081
Move -salvagewallet, -zap(wtx) to where they belong
2016-11-12 10:25:34 +01:00
Luke Dashjr
5394b3940d
Wallet: Split main logic from InitLoadWallet into CreateWalletFromFile
2016-11-11 11:35:49 +00:00
Luke Dashjr
fb0c934d1b
Wallet: Let the interval-flushing thread figure out the filename
2016-11-11 11:35:49 +00:00
Wladimir J. van der Laan
6a1343f73b
Merge #8977 : [Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread)
...
cab1da7
[Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread) (Jonas Schnelli)
2016-11-02 21:37:43 +01:00
Patrick Strateman
86029e72c9
Move CWalletDB::ReorderTransactions to CWallet
2016-10-30 02:15:49 -07:00
Wladimir J. van der Laan
d2143dc937
Merge #8989 : [Qt] overhaul smart-fee slider, adjust default confirmation target
...
cfe77ef
[Qt] overhaul smart-fee slider, adjust default confirmation target (Jonas Schnelli)
6f02899
[Qt] Hide nTxConfirmTarget behind WalletModel (Jonas Schnelli)
004168d
CoinControl: add option for custom confirmation target (Jonas Schnelli)
2016-10-28 14:14:55 +02:00
Jonas Schnelli
004168dcb7
CoinControl: add option for custom confirmation target
2016-10-28 10:44:30 +02:00
instagibbs
169bdabe14
Return useful error message on ATMP failure
2016-10-26 15:59:33 -04:00
Wladimir J. van der Laan
1ae5839ff0
moveonly: move coincontrol
to src/wallet
2016-10-21 11:48:18 +02:00
Jonas Schnelli
cab1da745b
[Wallet] Refactor wallet/init interaction (Reaccept wtx, flush thread)
2016-10-20 09:22:13 +02:00
Wladimir J. van der Laan
c587577356
Merge #8928 : Fix init segfault where InitLoadWallet() calls ATMP before genesis
...
37aefff
Fix init segfault where InitLoadWallet() calls ATMP before genesis (Matt Corallo)
2016-10-19 18:11:15 +02:00
Wladimir J. van der Laan
e10af96cf4
Merge #8287 : [wallet] Set fLimitFree = true
...
fa8b02d
[rpc] rawtx: Prepare fLimitFree to make it an option (MarcoFalke)
fa28bfa
[wallet] Set fLimitFree = true (MarcoFalke)
2016-10-18 21:05:07 +02:00
Wladimir J. van der Laan
5eaaa83ac1
Kill insecure_random and associated global state
...
There are only a few uses of `insecure_random` outside the tests.
This PR replaces uses of insecure_random (and its accompanying global
state) in the core code with an FastRandomContext that is automatically
seeded on creation.
This is meant to be used for inner loops. The FastRandomContext
can be in the outer scope, or the class itself, then rand32() is used
inside the loop. Useful e.g. for pushing addresses in CNode or the fee
rounding, or randomization for coin selection.
As a context is created per purpose, thus it gets rid of
cross-thread unprotected shared usage of a single set of globals, this
should also get rid of the potential race conditions.
- I'd say TxMempool::check is not called enough to warrant using a special
fast random context, this is switched to GetRand() (open for
discussion...)
- The use of `insecure_rand` in ConnectThroughProxy has been replaced by
an atomic integer counter. The only goal here is to have a different
credentials pair for each connection to go on a different Tor circuit,
it does not need to be random nor unpredictable.
- To avoid having a FastRandomContext on every CNode, the context is
passed into PushAddress as appropriate.
There remains an insecure_random for test usage in `test_random.h`.
2016-10-17 13:08:35 +02:00
Matt Corallo
37aefff5fc
Fix init segfault where InitLoadWallet() calls ATMP before genesis
2016-10-15 13:19:16 -04:00
Patrick Strateman
e198c521d3
Move key derivation logic from GenerateNewKey to DeriveNewChildKey
2016-09-30 19:11:00 +02:00
Wladimir J. van der Laan
14b7b3fb9f
Merge #8814 : [wallet, policy] ParameterInteraction: Don't allow 0 fee
...
fa4bfb4
[wallet, policy] ParameterInteraction: Don't allow 0 fee (MarcoFalke)
2016-09-28 08:09:42 +02:00
Pavel Janík
4731cab8fb
Do not shadow variables
2016-09-27 09:25:15 +02:00
MarcoFalke
fa4bfb4819
[wallet, policy] ParameterInteraction: Don't allow 0 fee
2016-09-26 14:44:24 +02:00
MarcoFalke
faef293cf3
[wallet] Add high transaction fee warnings
2016-09-26 01:11:27 +02:00
MarcoFalke
fa58edbffe
[wallet] Introduce DEFAULT_DISABLE_WALLET
2016-09-21 12:06:58 +02:00
MarcoFalke
fab91070d3
init: Get rid of fDisableWallet
2016-09-20 17:32:05 +02:00
Wladimir J. van der Laan
a1f8d3ed95
Merge #8696 : [Wallet] Remove last external reference to CWalletDB
...
2ca6b9d
Remove last reference to CWalletDB from accounting_tests.cpp (Patrick Strateman)
02e2a81
Remove pwalletdb parameter from CWallet::AddAccountingEntry (Patrick Strateman)
d2e678d
Add CWallet::ReorderTransactions and use in accounting_tests.cpp (Patrick Strateman)
59adc86
Add CWallet::ListAccountCreditDebit (Patrick Strateman)
2016-09-20 12:47:31 +02:00
MarcoFalke
faddd62518
init: Get rid of some ENABLE_WALLET
2016-09-19 16:14:18 +02:00
Patrick Strateman
02e2a81536
Remove pwalletdb parameter from CWallet::AddAccountingEntry
2016-09-15 13:50:59 -07:00
Patrick Strateman
d2e678d7d2
Add CWallet::ReorderTransactions and use in accounting_tests.cpp
2016-09-15 06:52:15 -07:00
Patrick Strateman
59adc86680
Add CWallet::ListAccountCreditDebit
...
Simple pass through for CWalletDB::ListAccountCreditDebit
2016-09-15 06:52:15 -07:00
Wladimir J. van der Laan
37ac67816a
Merge #8601 : Add option to opt into full-RBF when sending funds (rebase, original by petertodd)
...
86726d8
Rename `-optintofullrbf` option to `-walletrbf` (Wladimir J. van der Laan)
05fa823
wallet: Add BIP125 comment for MAXINT-1/-2 behavior (Wladimir J. van der Laan)
152f45b
Add option to opt into full-RBF when sending funds (Peter Todd)
2016-09-13 11:35:26 +02:00
Wladimir J. van der Laan
86726d8680
Rename -optintofullrbf
option to -walletrbf
...
This makes it clear that this is a wallet option.
2016-09-13 11:32:29 +02:00
Wladimir J. van der Laan
2abfe5956e
Merge #8664 : Fix segwit-related wallet bug
...
c40b034
Clear witness with vin/vout in CWallet::CreateTransaction() (Suhas Daftuar)
2016-09-09 12:24:39 +02:00
Jeremy Rubin
d1a2295f0d
Made the ForEachNode* functions in src/net.cpp more pragmatic and self documenting
2016-09-08 13:06:05 -04:00
Cory Fields
53347f0cb9
net: create generic functor accessors and move vNodes to CConnman
2016-09-08 12:24:06 -04:00
Cory Fields
5b446dd5b1
net: Pass CConnection to wallet rather than using the global
2016-09-08 12:04:35 -04:00
Suhas Daftuar
c40b034327
Clear witness with vin/vout in CWallet::CreateTransaction()
2016-09-04 20:09:13 -04:00
Wladimir J. van der Laan
05fa823bf6
wallet: Add BIP125 comment for MAXINT-1/-2 behavior
2016-08-26 12:57:28 +02:00
Peter Todd
152f45ba58
Add option to opt into full-RBF when sending funds
2016-08-26 12:10:42 +02:00
MarcoFalke
fa28bfa341
[wallet] Set fLimitFree = true
2016-08-25 15:27:48 +02:00
MarcoFalke
fa6dc9f0e5
Remove unused variables
2016-08-25 14:59:38 +02:00
Wladimir J. van der Laan
f9167003d9
Merge #8445 : Move CWallet::setKeyPool to private section of CWallet.
...
8680d3a
Move wallet initialization logic from AppInit2 to CWallet::InitLoadWallet (Patrick Strateman)
e86eb71
Move CWallet::setKeyPool to private section of CWallet (Patrick Strateman)
2016-08-24 10:33:16 +02:00
Wladimir J. van der Laan
37e77c106c
Merge #8554 : trivial: remove unused variable
...
4207630
trivial: remove unused variable (Daniel Kraft)
2016-08-22 10:36:37 +02:00
Wladimir J. van der Laan
a55a018d5f
Merge #8548 : [wallet] Use __func__ to get function name for output printing
...
fa785d1
Use __func__ to get function name for output printing (MarcoFalke)
2016-08-22 09:58:28 +02:00
Patrick Strateman
8680d3aa80
Move wallet initialization logic from AppInit2 to CWallet::InitLoadWallet
2016-08-20 14:03:47 -07:00
Daniel Kraft
4207630f5a
trivial: remove unused variable
...
Remove the unused variable "blockTmp" in CMerkleTx::SetMerkleBranch. It
was previously used to read the block from disk if not provided as
argument, but is no longer needed.
2016-08-20 10:28:06 +02:00
MarcoFalke
fa785d1211
Use __func__ to get function name for output printing
2016-08-19 18:59:00 +02:00
Jonas Schnelli
2468292a03
Merge #8517 : [Qt] show wallet HD state in statusbar
...
914154f
[Qt] add HD enabled/disabled icon to the status bar (Jonas Schnelli)
2016-08-19 18:47:49 +02:00
Jonas Schnelli
56ac046960
Merge #8443 : [Wallet] Trivial cleanup of HD wallet changes
...
7e5d94d
[Wallet] Trivial cleanup of HD wallet changes (Jonas Schnelli)
2016-08-19 18:39:19 +02:00
Jonas Schnelli
7e5d94df1f
[Wallet] Trivial cleanup of HD wallet changes
2016-08-19 16:23:37 +02:00
Jonas Schnelli
914154f0cc
[Qt] add HD enabled/disabled icon to the status bar
2016-08-19 09:21:04 +02:00
Wladimir J. van der Laan
e753eaeb34
Merge #8505 : Trivial: Fix typos in various files
...
1aacfc2
various typos (leijurv)
2016-08-17 12:51:16 +02:00
leijurv
1aacfc2da5
various typos
2016-08-14 07:57:11 -06:00
Jonas Schnelli
b3b3c2a562
Reduce cs_main locks during ConnectTip/SyncWithWallets
2016-08-12 14:53:10 +02:00
Patrick Strateman
5723bb44ce
Remove unused pwalletdb from CWallet::AddToWallet
2016-07-29 17:04:14 -07:00
Patrick Strateman
867f842f1e
Remove CWalletDB* parameter from CWallet::AddToWallet
2016-07-29 17:04:14 -07:00
Patrick Strateman
00f09c920c
Split CWallet::AddToWallet into AddToWallet and LoadToWallet.
...
This removes the fFromLoadWallet flag in AddToWallet. These were already
effectively two methods.
2016-07-29 17:04:14 -07:00
Jonas Schnelli
2266b43e33
Port from 0.13: Create a new HD seed after encrypting the wallet
...
Forward-ports two commits from 0.13:
- [0.13] Create a new HD seed after encrypting the wallet
- [Wallet] Add CKeyMetadata record for HDMasterKey(s), factor out HD key generation
Github-Pull: #8389
Rebased-From: f142c11ac634df487cc4bc65a5f1c9a3e3563dd9 de45c065f0648c4c41b57cb492420ceeed29dd11
2016-07-28 13:22:33 +02:00
Patrick Strateman
6523fcaab2
Move SetMinVersion for FEATURE_HD to SetHDMasterKey
2016-07-19 22:30:17 -07:00
Wladimir J. van der Laan
045106b4f1
Merge #8367 : [Wallet] Ensure <0.13 clients can't open HD wallets
...
a4f137f
[Wallet] Ensure <0.13 clients can't open HD wallets (Jonas Schnelli)
2016-07-19 12:13:12 +02:00
Jonas Schnelli
a4f137f367
[Wallet] Ensure <0.13 clients can't open HD wallets
2016-07-18 22:56:45 +02:00
Suhas Daftuar
2c06bae39e
Rename "block cost" to "block weight"
2016-07-18 13:28:26 -04:00
Wladimir J. van der Laan
238300b398
Merge #8323 : Add HD keypath to CKeyMetadata, report metadata in validateaddress
...
7945088
[Wallet] comsetic non-code changes for the HD feature (Jonas Schnelli)
68d7682
[Wallet] ensure CKeyMetadata.hdMasterKeyID will be cleared during SetNull() (Jonas Schnelli)
f708085
[QA] extend wallet-hd test to cover HD metadata (Jonas Schnelli)
986c223
[Wallet] print hd masterkeyid in getwalletinfo (Jonas Schnelli)
b1c7b24
[Wallet] report optional HDKeypath/HDMasterKeyId in validateaddress (Jonas Schnelli)
5b95dd2
[Wallet] extend CKeyMetadata with HD keypath (Jonas Schnelli)
2016-07-18 07:58:33 +02:00
Jonas Schnelli
b993671921
[Wallet] keep HD seed during salvagewallet
2016-07-09 12:58:03 +02:00
Jonas Schnelli
5b95dd2c25
[Wallet] extend CKeyMetadata with HD keypath
2016-07-09 11:52:17 +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
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
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
Pieter Wuille
77f63a4fcd
Fix two warnings for comparison between signed and unsigned
2016-06-08 15:34:18 +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