HomePhabricator

CWallet class
64c7ee7e6b9cUnpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

CWallet class

  • A new class CKeyStore manages private keys, and script.cpp depends on access to CKeyStore.
  • A new class CWallet extends CKeyStore, and contains all former wallet-specific globals; CWallet depends on script.cpp, not the other way around.
  • Wallet-specific functions in CTransaction/CTxIn/CTxOut (GetDebit, GetCredit, GetChange, IsMine, IsFromMe), are moved to CWallet, taking their former 'this' argument as an explicit parameter
  • CWalletTx objects know which CWallet they belong to, for convenience, so they have their own direct (and caching) GetDebit/... functions.
  • Some code was moved from CWalletDB to CWallet, such as handling of reserve keys.
  • Main.cpp keeps a set of all 'registered' wallets, which should be informed about updates to the block chain, and does not have any notion about any 'main' wallet. Function in main.cpp that require a wallet (such as GenerateCoins), take an explicit CWallet* argument.
  • The actual CWallet instance used by the application is defined in init.cpp as "CWallet* pwalletMain". rpc.cpp and ui.cpp use this variable.
  • Functions in main.cpp and db.cpp that are not used by other modules are marked static.
  • The code for handling the 'submitorder' message is removed, as it not really compatible with the idea that a node is independent from the wallet(s) connected to it, and obsolete anyway.

Details

Provenance
Pieter Wuille <pieter.wuille@gmail.com>Authored on Jun 1 2011, 16:28
schancelPushed on Jan 5 2018, 21:58
schancelPushed on Jan 5 2018, 21:39
schancelPushed on Jan 5 2018, 21:17
Parents
rSTAGINGe89b9f6a2aba: move wallet code to separate file
Branches
Unknown
Tags
Unknown

Event Timeline

Pieter Wuille <pieter.wuille@gmail.com> committed rSTAGING64c7ee7e6b9c: CWallet class (authored by Pieter Wuille <pieter.wuille@gmail.com>).Jun 15 2011, 09:05