aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet.cpp
AgeCommit message (Collapse)Author
2015-10-13Only call TrimToSize once per reorg/blocks disconnectMatt Corallo
2015-10-01Merge pull request #5924Wladimir J. van der Laan
835c122 Clean up change computation in CreateTransaction. (Daniel Kraft)
2015-09-22Do not store Merkle branches in the wallet.Pieter Wuille
Assume that when a wallet transaction has a valid block hash and transaction position in it, the transaction is actually there. We're already trusting wallet data in a much more fundamental way anyway. To prevent backward compatibility issues, a new record is used for storing the block locator in the wallet. Old wallets will see a wallet file synchronized up to the genesis block, and rescan automatically.
2015-08-14Merge pull request #6415Wladimir J. van der Laan
d042854 SQUASH "Implement watchonly support in fundrawtransaction" (Matt Corallo) 428a898 SQUASH "Add have-pubkey distinction to ISMINE flags" (Matt Corallo) 6bdb474 Implement watchonly support in fundrawtransaction (Matt Corallo) f5813bd Add logic to track pubkeys as watch-only, not just scripts (Matt Corallo) d3354c5 Add have-pubkey distinction to ISMINE flags (Matt Corallo) 5c17059 Update importaddress help to push its use to script-only (Matt Corallo) a1d7df3 Add importpubkey method to import a watch-only pubkey (Matt Corallo) 907a425 Add p2sh option to importaddress to import redeemScripts (Matt Corallo) 983d2d9 Split up importaddress into helper functions (Matt Corallo) cfc3dd3 Also remove pay-2-pubkey from watch when adding a priv key (Matt Corallo)
2015-08-08SQUASH "Implement watchonly support in fundrawtransaction"Matt Corallo
2015-08-03Make sure LogPrintf strings are line-terminatedWladimir J. van der Laan
Fix the cases where LogPrint[f] was accidentally called without line terminator, which resulted in concatenated log lines. (see e.g. #6492)
2015-07-23Includes: Cleanup around net main and walletJorge Timón
-Move from .h to .cpp: in main, net and wallet -Remove unnecessary #include "main.h" -Cleanup some wallet files includes
2015-07-23TRIVIAL: Missing includesJorge Timón
2015-07-20Implement watchonly support in fundrawtransactionMatt Corallo
Some code and test cases stolen from Bryan Bishop <bryan@ledgerx.com> (pull #5524).
2015-07-20Also remove pay-2-pubkey from watch when adding a priv keyMatt Corallo
2015-07-06Merge pull request #6365Wladimir J. van der Laan
5a7304b Move recently introduced CTransAction::IsEquivalentTo to CWalletTx (Wladimir J. van der Laan)
2015-07-06Merge pull request #6335Wladimir J. van der Laan
9238ecb Policy: MOVEONLY: 3 functions to policy.o: (Luke Dashjr) 627b9de Policy: MOVEONLY: Create policy/policy.h with some constants (Jorge Timón)
2015-07-02Move recently introduced CTransAction::IsEquivalentTo to CWalletTxWladimir J. van der Laan
CTransAction::IsEquivalentTo was introduced in #5881. This functionality is only useful to the wallet, and should never have been added to the primitive transaction type.
2015-07-02Merge pull request #5881Wladimir J. van der Laan
5d34e16 Add txn_clone.py test (Tom Harding) defd2d5 Better txn_doublespend.py test (Tom Harding) b2b3619 Implement CTransaction::IsEquivalentTo(...) (Tom Harding)
2015-07-01add CReserveScript to allow modular script keeping/returningJonas Schnelli
- use one CReserveScript per mining thread
2015-06-30fix GetScriptForMining() CReserveKey::keepKey() issueJonas Schnelli
2015-06-30detach wallet from minerJonas Schnelli
2015-06-26Policy: MOVEONLY: Create policy/policy.h with some constantsJorge Timón
2015-06-11Add FundTransaction method to walletMatt Corallo
Some code stolen from Jonas Schnelli <jonas.schnelli@include7.ch>
2015-06-05Merge pull request #6152Wladimir J. van der Laan
08d9373 Remove unused code from wallet and validation interface (Michael Ford)
2015-06-04use const references where appropriatePhilip Kaufmann
2015-06-01Merge pull request #6183Wladimir J. van der Laan
28bf062 Fix off-by-one error w/ nLockTime in the wallet (Peter Todd)
2015-05-27Merge pull request #5669Wladimir J. van der Laan
da29ecb Consensus: MOVEONLY: Move CValidationState from main consensus/validation (jtimon) 27afcd8 Consensus: Refactor: Decouple CValidationState from main::AbortNode() (Cory Fields)
2015-05-27Fix off-by-one error w/ nLockTime in the walletPeter Todd
Previously due to an off-by-one error the wallet ignored nLockTime-by-height transactions that would be valid in the next block even though they are accepted into the mempool. The transactions wouldn't show up until confirmed, nor would they be included in the unconfirmed balance. Similar to the mempool behavior fix in 665bdd3b, the wallet code was calling IsFinalTx() directly without taking into account the fact that doing so tells you if the transaction could have been mined in the *current* block, rather than the next block. To fix this we strip IsFinalTx() of non-consensus-critical functionality, removing the default arguments, and add CheckFinalTx() to check if a transaction will be final in the next block.
2015-05-18Remove unused code from wallet and validation interfaceMichael Ford
Fixes #6109
2015-05-18wallet: Introduce constant for `-txconfirmtarget` defaultWladimir J. van der Laan
2015-05-15Consensus: MOVEONLY: Move CValidationState from main consensus/validationjtimon
2015-05-06Merge pull request #6055Wladimir J. van der Laan
a8cdaf5 checkpoints: move the checkpoints enable boolean into main (Cory Fields) 11982d3 checkpoints: Decouple checkpoints from Params (Cory Fields) 6996823 checkpoints: make checkpoints a member of CChainParams (Cory Fields) 9f13a10 checkpoints: store mapCheckpoints in CCheckpointData rather than a pointer (Cory Fields)
2015-05-04Merge pull request #6085Wladimir J. van der Laan
b05a89b Non-grammatical language improvements (Luke Dashjr) 7e6d23b Bugfix: Grammar fixes (Corinne Dashjr)
2015-05-03Clean up change computation in CreateTransaction.Daniel Kraft
Compute the change directly as difference between the "requested" and the actual value returned by SelectCoins. This removes a duplication of the fee logic code.
2015-05-01Bugfix: Grammar fixesCorinne Dashjr
2015-04-30checkpoints: Decouple checkpoints from ParamsCory Fields
Pass checkpoint data in as necessary
2015-04-29Merge pull request #5511Wladimir J. van der Laan
e9c3215 [Wallet] sort pending wallet transactions before reaccepting (dexX7)
2015-04-26Merge pull request #5696Wladimir J. van der Laan
691161d Consensus: Create consensus/consensus.h with some constants (jtimon)
2015-04-20Consensus: Create consensus/consensus.h with some constantsjtimon
2015-04-20Show zero value txouts in listunspent.Gregory Maxwell
It's reasonable that automatic coin selection will not pick a zero value txout, but they're actually spendable; and you should know if you have them. Listing also makes them available to tools like dust-b-gone.
2015-04-20trivial string change in wallet.cpp (the -> that)Philip Kaufmann
2015-04-11Implement CTransaction::IsEquivalentTo(...)Tom Harding
Define CTransaction::IsEquivalentTo(const CTransaction& tx) True if only scriptSigs are different. In other words, true if the two transactions are malleability clones. In other words, true if the two transactions have the same effect on the outside universe. In the wallet, only SyncMetaData for equivalent transactions.
2015-04-01wallet: make it possible to disable transaction broadcastWladimir J. van der Laan
This is an advanced feature which will disable any kind of automatic transaction broadcasting in the wallet. This gives the user full control of how the transaction is sent. For example they can broadcast new transactions through some other mechanism themselves, after getting the transaction hex through `gettransaction`. This just adds the option `-walletbroadcast=<0,1>`. Right now these transactions will get the status Status: conflicted, has not been successfully broadcast yet They shouldn't be shown as conflicted at all (`walletconflicts` is empty). This status will go away when the transaction is received through the network.
2015-03-24Regression test for ResendWalletTransactionsGavin Andresen
Adds a regression test for the wallet's ResendWalletTransactions function, which uses a new, hidden RPC command "resendwallettransactions." I refactored main's Broadcast signal so it is passed the best-block time, which let me remove a global variable shared between main.cpp and the wallet (nTimeBestReceived). I also manually tested the "rebroadcast unconfirmed every half hour or so" functionality by: 1. Running bitcoind -connect=0.0.0.0:8333 2. Creating a couple of send-to-self transactions 3. Connect to a peer using -addnode 4. Waited a while, monitoring debug.log, until I see: ```2015-03-23 18:48:10 ResendWalletTransactions: rebroadcast 2 unconfirmed transactions``` One last change: don't bother putting ResendWalletTransactions messages in debug.log unless unconfirmed transactions were actually rebroadcast.
2015-03-24Includes: Do not include main.h from any other headerJorge Timón
2015-03-24Includes: MOVEONLY: move more method definitions out of wallet.hJorge Timón
2015-03-21use constant references for strings in functions in wallet/*.*Philip Kaufmann
2015-03-21[Wallet] sort pending wallet transactions before reacceptingdexX7
During startup, when adding pending wallet transactions, which spend outputs of other pending wallet transactions, back to the memory pool, and when they are added out of order, it appears as if they are orphans with missing inputs. Those transactions are then rejected and flagged as "conflicting" (= not in the memory pool, not in the block chain). To prevent this, transactions are explicitly sorted.
2015-03-20refactor: move bdb (bitdb) interaction from init.cpp to wallet.cppJonas Schnelli
this will remove db.h from init.cpp
2015-03-20Merge pull request #5745Wladimir J. van der Laan
50c72f2 [Move Only] Move wallet related things to src/wallet/ (Jonas Schnelli)
2015-03-12[Move Only] Move wallet related things to src/wallet/Jonas Schnelli
could once be renamed from /src/wallet to /src/legacywallet.