1. 06 Dec, 2013 1 commit
  2. 27 Nov, 2013 1 commit
    • Wladimir J. van der Laan's avatar
      Split up bitcoinrpc (code movement only) · 39d84006
      Wladimir J. van der Laan authored
      Split bitcoinrpc up into
      
      - rpcserver: bitcoind RPC server
      - rpcclient: bitcoin-cli RPC client
      - rpcprotocol: shared common HTTP/JSON-RPC protocol code
      
      One step towards making bitcoin-cli independent from the rest
      of the code, and thus a smaller executable that doesn't have to
      be linked against leveldb.
      
      This commit only does code movement, there are no functional changes.
      39d84006
  3. 13 Nov, 2013 1 commit
    • sje's avatar
      Issue #1865 - Clean up RPC help messages · d88af92b
      sje authored
      Based on the proposal, update the help message of rpc methods
      - strings arguments are in double quotes rather than square brackets
      - numeric arguments have no quotes (and no default value)
      - optional parameters are surrounded by round brackets
      - json arguments are strings but don't use double quotes
      
      Added 3 sections for the details
      - Arguments: lists each argument, it's type, required or not, a default, and a description
      - Result: The method result, with json format if applicable, type, and a description
      - Examples: examples calls using bitcoin-cli and curl for json rpc call
      
      Problems
      - maybe this is too verbose
      - lines might be too long
      - description are not good or complete
      - examples may be too much
      d88af92b
  4. 10 Nov, 2013 1 commit
    • Brandon Dahler's avatar
      Cleanup code using forward declarations. · e28f37ca
      Brandon Dahler authored
      Use misc methods of avoiding unnecesary header includes.
      Replace int typedefs with int##_t from stdint.h.
      Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h.
      Normalize QT_VERSION ifs where possible.
      Resolve some indirect dependencies as direct ones.
      Remove extern declarations from .cpp files.
      e28f37ca
  5. 04 Nov, 2013 1 commit
  6. 26 Oct, 2013 1 commit
  7. 24 Oct, 2013 1 commit
  8. 20 Oct, 2013 1 commit
  9. 11 Oct, 2013 1 commit
  10. 01 Oct, 2013 1 commit
  11. 13 Sep, 2013 2 commits
  12. 28 Aug, 2013 1 commit
    • Gregory Maxwell's avatar
      [raw] reject insanely high fees by default in sendrawtransaction · 205f7dfc
      Gregory Maxwell authored
      There have been several incidents where mainnet experimentation with
       raw transactions  resulted in insane fees.  This is hard to prevent
       in the raw transaction api because the inputs may not be known.
       Since sending doesn't work if the inputs aren't known, we can catch
       it there.
      
      This rejects fees > than 10000 * nMinRelayTxFee or 1 BTC with the
       defaults and can be overridden with a bool at the rpc.
      205f7dfc
  13. 22 Aug, 2013 1 commit
    • Gavin Andresen's avatar
      Refactor: CAddressBookData for mapAddressBook · 4329730e
      Gavin Andresen authored
      Straight refactor, so mapAddressBook stores a CAddressBookData
      (which just contains a std::string) instead of a std::string.
      
      Preparation for payment protocol work, which will add the notion
      of refund addresses to the address book.
      4329730e
  14. 24 Jun, 2013 1 commit
  15. 13 Jun, 2013 1 commit
  16. 06 Jun, 2013 1 commit
    • Eric Lombrozo's avatar
      Removed AcceptToMemoryPool method from CTransaction. This method belongs to the mempool instance. · 989574d2
      Eric Lombrozo authored
      Removed AreInputsStandard from CTransaction, made it a regular function in main.
      Moved CTransaction::GetOutputFor to CCoinsViewCache.
      
      Moved GetLegacySigOpCount and GetP2SHSigOpCount out of CTransaction into regular functions in main.
      
      Moved GetValueIn and HaveInputs from CTransaction into CCoinsViewCache.
      
      Moved AllowFree, ClientCheckInputs, CheckInputs, UpdateCoins, and CheckTransaction out of CTransaction and into main.
      
      Moved IsStandard and IsFinal out of CTransaction and put them in main as IsStandardTx and IsFinalTx. Moved GetValueOut out of CTransaction into main. Moved CTxIn, CTxOut, and CTransaction into core.
      
      Added minimum fee parameter to CTxOut::IsDust() temporarily until CTransaction is moved to core.h so that CTxOut needn't know about CTransaction.
      989574d2
  17. 30 May, 2013 1 commit
  18. 28 Feb, 2013 1 commit
  19. 02 Feb, 2013 1 commit
  20. 30 Jan, 2013 1 commit
  21. 16 Jan, 2013 1 commit
  22. 15 Jan, 2013 1 commit
    • Gavin Andresen's avatar
      Remove IsFromMe() check in CTxMemPool::accept() · 08bee8fb
      Gavin Andresen authored
      Fixes issue #2178 : attacker could penny-flood with invalid-signature
      transactions to deduce which addresses belonged to your node.
      
      I'm committing this early for code review; I still need to write up
      a test plan.
      
      Executive summary of fix: check all transactions received from the network
      for penny-flood rate-limiting before adding to the memory pool. But do NOT
      ratelimit transactions added to the memory pool:
        - because of blockchain reorgs
        - stored in the wallet and added at startup
        - sent from the GUI or one of the send* RPC commands (CWallet::CommitTransaction)
      
      The limit-free-transactions code really should be a method on CNode, with
      counters per-peer. But that is a bigger change for another day.
      08bee8fb
  23. 15 Nov, 2012 1 commit
    • Pieter Wuille's avatar
      Introduce script verification flags · 31508129
      Pieter Wuille authored
      These flags select features to be enabled/disabled during script
      evaluation/checking, instead of several booleans passed along.
      Currently these flags are defined:
      * SCRIPT_VERIFY_P2SH: enable BIP16-style subscript evaluation
      * SCRIPT_VERIFY_STRICTENC: enforce strict adherence to pubkey/sig encoding standards.
      31508129
  24. 29 Oct, 2012 2 commits
  25. 21 Oct, 2012 1 commit
  26. 20 Oct, 2012 3 commits
    • Pieter Wuille's avatar
      Transaction hash caching · a436dffe
      Pieter Wuille authored
      Use CBlock's vMerkleTree to cache transaction hashes, and pass them
      along as argument in more function calls. During initial block download,
      this results in every transaction's hash to be only computed once.
      a436dffe
    • Pieter Wuille's avatar
      Batch block connection during IBD · 6088b917
      Pieter Wuille authored
      During the initial block download (or -loadblock), delay connection
      of new blocks a bit, and perform them in a single action. This reduces
      the load on the database engine, as subsequent blocks often update an
      earlier block's transaction already.
      6088b917
    • Pieter Wuille's avatar
      Ultraprune · f4f73a94
      Pieter Wuille authored
      This switches bitcoin's transaction/block verification logic to use a
      "coin database", which contains all unredeemed transaction output scripts,
      amounts and heights.
      
      The name ultraprune comes from the fact that instead of a full transaction
      index, we only (need to) keep an index with unspent outputs. For now, the
      blocks themselves are kept as usual, although they are only necessary for
      serving, rescanning and reorganizing.
      
      The basic datastructures are CCoins (representing the coins of a single
      transaction), and CCoinsView (representing a state of the coins database).
      There are several implementations for CCoinsView. A dummy, one backed by
      the coins database (coins.dat), one backed by the memory pool, and one
      that adds a cache on top of it. FetchInputs, ConnectInputs, ConnectBlock,
      DisconnectBlock, ... now operate on a generic CCoinsView.
      
      The block switching logic now builds a single cached CCoinsView with
      changes to be committed to the database before any changes are made.
      This means no uncommitted changes are ever read from the database, and
      should ease the transition to another database layer which does not
      support transactions (but does support atomic writes), like LevelDB.
      
      For the getrawtransaction() RPC call, access to a txid-to-disk index
      would be preferable. As this index is not necessary or even useful
      for any other part of the implementation, it is not provided. Instead,
      getrawtransaction() uses the coin database to find the block height,
      and then scans that block to find the requested transaction. This is
      slow, but should suffice for debug purposes.
      f4f73a94
  27. 04 Oct, 2012 1 commit
  28. 20 Sep, 2012 1 commit
  29. 24 Aug, 2012 2 commits
  30. 23 Aug, 2012 2 commits
  31. 21 Aug, 2012 1 commit
  32. 20 Aug, 2012 2 commits
  33. 06 Aug, 2012 1 commit