aboutsummaryrefslogtreecommitdiff
path: root/src/wallet
AgeCommit message (Collapse)Author
2017-04-07Remove dead-code tracking of requests for blocks we generatedMatt Corallo
2017-04-07Hold cs_wallet for whole block [dis]connection processingMatt Corallo
This simplifies fixing the wallet-returns-stale-info issue as we now hold cs_wallet across an entire block instead of only per-tx.
2017-04-07SyncTransaction->TxAddedToMempool/BlockConnected/DisconnectedMatt Corallo
This simplifies fixing the wallet-returns-stale-info issue as we can now hold cs_wallet across an entire block instead of only per-tx (though we only actually do so in the next commit). This change also removes the NOT_IN_BLOCK constant in favor of only passing the CBlockIndex* parameter to SyncTransactions when a new block is being connected, instead of also when a block is being disconnected. This change adds a parameter to BlockConnectedDisconnected which lists the transactions which were removed from mempool due to confliction as a result of this operation. While its somewhat of a shame to make block-validation-logic generate a list of mempool changes to be included in its generated callbacks, fixing this isnt too hard. Further in this change-set, CValidationInterface starts listening to mempool directly, placing it in the middle and giving it a bit of logic to know how to route notifications from block-validation, mempool, etc (though not listening for conflicted-removals yet).
2017-04-07Wallet: reduce excess logic InMemPool()Kewde
removed the excess logic, return directly instead of using if-statement.
2017-04-03Use fsbridge for fopen and freopenWladimir J. van der Laan
Abstracts away how a path is opened to a `FILE*`. Reduces the number of places where path is converted to a string for anything else but printing.
2017-04-03Replace uses of boost::filesystem with fsWladimir J. van der Laan
Step two in abstracting away boost::filesystem. To repeat this, simply run: ``` git ls-files \*.cpp \*.h | xargs sed -i 's/boost::filesystem/fs/g' ```
2017-04-03Replace includes of boost/filesystem.h with fs.hWladimir J. van der Laan
This is step one in abstracting the use of boost::filesystem.
2017-04-02Improve CFeeBumper interface, add comments, make use of std::moveJonas Schnelli
2017-04-02Cancel feebump is vErrors is not emptyJonas Schnelli
2017-04-02Use static calls for GetRequiredFee and GetMinimumFee, remove make_pair from ↵Jonas Schnelli
emplace_back
2017-04-02Restore CalculateMaximumSignedTxSize function signatureJonas Schnelli
2017-04-02Use "return false" instead assert() in CWallet::SignTransactionJonas Schnelli
2017-04-02Directly abort execution in FeeBumper::commit if wallet or tx is not availableJonas Schnelli
2017-04-02Restore invalid fee check (must be > 0)Jonas Schnelli
2017-04-02Refactor Bumpfee core functionalityJonas Schnelli
2017-04-02Bumpfee move request parameter interaction to the topJonas Schnelli
2017-04-01Change LogAcceptCategory to use uint32_t rather than sets of strings.Gregory Maxwell
This changes the logging categories to boolean flags instead of strings. This simplifies the acceptance testing by avoiding accessing a scoped static thread local pointer to a thread local set of strings. It eliminates the only use of boost::thread_specific_ptr outside of lockorder debugging. This change allows log entries to be directed to multiple categories and makes it easy to change the logging flags at runtime (e.g. via an RPC, though that isn't done by this commit.) It also eliminates the fDebug global. Configuration of unknown logging categories now produces a warning.
2017-03-29Merge #9294: Use internal HD chain for change outputs (hd split)Wladimir J. van der Laan
4115af7 Fix rebase issue where pwalletMain was used instead of pwallet Ser./Deser. nInternalChainCounter as last element (Jonas Schnelli) 9382f04 Do not break backward compatibility during wallet encryption (Jonas Schnelli) 1df08d1 Add assertion for CanSupportFeature(FEATURE_HD_SPLIT) (Jonas Schnelli) cd468d0 Define CWallet::DeriveNewChildKey() as private (Jonas Schnelli) ed79e4f Optimize GetOldestKeyPoolTime(), return as soon as we have both oldest keys (Jonas Schnelli) 771a304 Make sure we set the wallets min version to FEATURE_HD_SPLIT at the very first point (Jonas Schnelli) 1b3b5c6 Slightly modify fundrawtransaction.py test (change getnewaddress() into getrawchangeaddress()) (Jonas Schnelli) 003e197 Remove FEATURE_HD_SPLIT bump TODO (Jonas Schnelli) d9638e5 Overhaul the internal/external key derive switch (Jonas Schnelli) 1090502 Fix superfluous cast and code style nits in RPC wallet-hd.py test (Jonas Schnelli) 58e1483 CKeyPool avoid "catch (...)" in SerializationOp (Jonas Schnelli) e138876 Only show keypoolsize_hd_internal if HD split is enabled (Jonas Schnelli) add38d9 GetOldestKeyPoolTime: if HD & HD Chain Split is enabled, response max(oldest-internal-key, oldest-external-key) (Jonas Schnelli) dd526c2 Don't switch to HD-chain-split during wallet encryption of non HD-chain-split wallets (Jonas Schnelli) 79df9df Switch to 100% for the HD internal keypool size (Jonas Schnelli) bcafca1 Make sure we always generate one keypool key at minimum (Jonas Schnelli) d0a627a Fix issue where CDataStream->nVersion was taken a CKeyPool record version (Jonas Schnelli) 9af8f00 Make sure we hand out keypool keys if HD_SPLIT is not enabled (Jonas Schnelli) 469a47b Make sure ReserveKeyFromKeyPool only hands out internal keys if HD_SPLIT is supported (Jonas Schnelli) 05a9b49 Fix wrong keypool internal size in RPC getwalletinfo help (Jonas Schnelli) 01de822 Removed redundant IsLocked() check in NewKeyPool() (Jonas Schnelli) d59531d Immediately return setKeyPool's size if HD or HD_SPLIT is disabled or not supported (Jonas Schnelli) 02592f4 [Wallet] split the keypool in an internal and external part (Jonas Schnelli) Tree-SHA512: 80d355d5e844b48c3163b56c788ab8b5b5285db0ceeb19858a3ef517d5a702afeca21dbae526d7b8fb4101c2a745af1d92bf557c40cf516780f17992bf678c1a
2017-03-29Introduce FastRandomContext::randbool()Pieter Wuille
2017-03-28ApproximateBestSubset should take inputs by reference, not valueRyan Havar
2017-03-28Fix rebase issue where pwalletMain was used instead of pwalletJonas Schnelli
Ser./Deser. nInternalChainCounter as last element
2017-03-27Do not break backward compatibility during wallet encryptionJonas Schnelli
2017-03-24Add assertion for CanSupportFeature(FEATURE_HD_SPLIT)Jonas Schnelli
2017-03-24Define CWallet::DeriveNewChildKey() as privateJonas Schnelli
2017-03-24Optimize GetOldestKeyPoolTime(), return as soon as we have both oldest keysJonas Schnelli
2017-03-24Make sure we set the wallets min version to FEATURE_HD_SPLIT at the very ↵Jonas Schnelli
first point
2017-03-24Remove FEATURE_HD_SPLIT bump TODOJonas Schnelli
2017-03-24Overhaul the internal/external key derive switchJonas Schnelli
2017-03-24Fix superfluous cast and code style nits in RPC wallet-hd.py testJonas Schnelli
2017-03-24CKeyPool avoid "catch (...)" in SerializationOpJonas Schnelli
2017-03-24Only show keypoolsize_hd_internal if HD split is enabledJonas Schnelli
2017-03-24GetOldestKeyPoolTime: if HD & HD Chain Split is enabled, response ↵Jonas Schnelli
max(oldest-internal-key, oldest-external-key)
2017-03-24Don't switch to HD-chain-split during wallet encryption of non ↵Jonas Schnelli
HD-chain-split wallets
2017-03-24Switch to 100% for the HD internal keypool sizeJonas Schnelli
2017-03-24Make sure we always generate one keypool key at minimumJonas Schnelli
2017-03-24Fix issue where CDataStream->nVersion was taken a CKeyPool record versionJonas Schnelli
2017-03-24Make sure we hand out keypool keys if HD_SPLIT is not enabledJonas Schnelli
2017-03-24Make sure ReserveKeyFromKeyPool only hands out internal keys if HD_SPLIT is ↵Jonas Schnelli
supported
2017-03-24Fix wrong keypool internal size in RPC getwalletinfo helpJonas Schnelli
2017-03-24Removed redundant IsLocked() check in NewKeyPool()Jonas Schnelli
2017-03-24Immediately return setKeyPool's size if HD or HD_SPLIT is disabled or not ↵Jonas Schnelli
supported
2017-03-24[Wallet] split the keypool in an internal and external partJonas Schnelli
2017-03-18Rename first iterator to prevent shadowing.Pavel Janík
2017-03-17Merge #9818: Save watch only key timestamps when reimporting keysWladimir J. van der Laan
7759aa2 Save watch only key timestamps when reimporting keys (Russell Yanofsky) Tree-SHA512: 433b5a78e5626fb2f3166e6c84c22eabd5239d451dc82694da95af237e034612a24f1a8bc959b7d2f2e576ce0b679be1fa4af929ebfae758c7e832056ab67061
2017-03-17Merge #9592: [Qt] Add checkbox in the GUI to opt-in to RBF when creating a ↵Jonas Schnelli
transaction c4e4792 [Qt] Change RBF checkbox to reflect -walletrbf setting (Russell Yanofsky) 838a58e [Qt] Add simple optin-RBF checkbox and confirmation info (Jonas Schnelli) 568c05a Allow to opt-into RBF when creating a transaction (Jonas Schnelli) Tree-SHA512: 3d52dcd4e44da8aed4d631748074afef78d38c860f2a8b95323f4801a989d6599a3498a753fc10daba4098c527ef5a0eb942e5b3f1bfd656e1a6bd272b8e6c57
2017-03-14Initialize nRelockTimePatrick Strateman
2017-03-10Add safe flag to listunspent resultNicolasDorier
2017-03-10Add COutput::fSafe member for safe handling of unconfirmed outputsRussell Yanofsky
This exposes a value computed in CWallet::AvailableCoins so it can used for other things, like inclusion in listunspent output.
2017-03-09Merge #9960: Trivial: Add const modifier to GetHDChain and IsHDEnabledWladimir J. van der Laan
3cef950 Trivial: Add const modifier to GetHDChain and IsHDEnabled (NicolasDorier) Tree-SHA512: 73126689e179d70e6823950b51aae4da0a1e348436bc72338814f3afeec27868bb479d9e8261f86e4fe851e84492778a30c5f1fe76c9d7dd91796d0e38baeaf0
2017-03-09Merge #9853: Fix error codes from various RPCsWladimir J. van der Laan
adaa281 Update release notes to include RPC error code changes. (John Newbery) 338bf06 Add commenting around JSON error codes (John Newbery) dab804c Return correct error codes in fundrawtransaction(). (John Newbery) a012087 Return correct error codes in setban(). (John Newbery) 960bc7f Return correct error codes in removeprunedfunds(). (John Newbery) c119096 Return correct error codes in blockchain.cpp. (John Newbery) 6d07c62 Return correct error codes in bumpfee(). (John Newbery) Tree-SHA512: 4bb39ad221cd8c83d98ac5d7ad642f3a8c265522720dc86b2eebc70e74439a85b06d6ddcd6a874e879d986511de3ab0878bb7fe58b50cb0546b78913632ea809