aboutsummaryrefslogtreecommitdiff
path: root/src/base58.h
AgeCommit message (Collapse)Author
2013-06-19Introduce a CChainParameters singleton class and regtest mode.Mike Hearn
The new class is accessed via the Params() method and holds most things that vary between main, test and regtest networks. The regtest mode has two purposes, one is to run the bitcoind/bitcoinj comparison tool which compares two separate implementations of the Bitcoin protocol looking for divergence. The other is that when run, you get a local node which can mine a single block instantly, which is highly convenient for testing apps during development as there's no need to wait 10 minutes for a block on the testnet.
2013-05-30CSecret/CKey -> CKey/CPubKey split/refactorPieter Wuille
2012-11-09make CBase58Data class use zero_after_free_allocatorPhilip Kaufmann
- this way there is no need for an explicit destructor, who does the same thing anyway
2012-11-09don't use memset() in privacy/security relevant code partsPhilip Kaufmann
As memset() can be optimized out by a compiler it should not be used in privacy/security relevant code parts. OpenSSL provides the safe OPENSSL_cleanse() function in crypto.h, which perfectly does the job of clean and overwrite data. For details see: http://www.viva64.com/en/b/0178/ - change memset() to OPENSSL_cleanse() where appropriate - change a hard-coded number from netbase.cpp into a sizeof()
2012-09-18Trim trailing whitespace for src/*.{h,cpp}Jeff Garzik
2012-08-01Bugfix: Fix a variety of misspellingsLuke Dashjr
2012-06-30Fix a couple more typosfanquake
2012-06-29Fix a few typosfanquake
2012-05-24Refactor: split CKeyID/CScriptID/CTxDestination from CBitcoinAddressPieter Wuille
This introduces internal types: * CKeyID: reference (hash160) of a key * CScriptID: reference (hash160) of a script * CTxDestination: a boost::variant of the former two CBitcoinAddress is retrofitted to be a Base58 encoding of a CTxDestination. This allows all internal code to only use the internal types, and only have RPC and GUI depend on the base58 code. Furthermore, the header dependencies are a lot saner now. base58.h is at the top (right below rpc and gui) instead of at the bottom. For the rest: wallet -> script -> keystore -> key. Only keystore still requires a forward declaration of CScript. Solving that would require splitting script into two layers.
2012-05-24Encapsulate public keys in CPubKeyPieter Wuille
2012-05-20Merge pull request #1354 from fanquake/masterPieter Wuille
Update Header Licenses
2012-05-18change strings to Bitcoin (uppercase), where it is used as a noun and update ↵Philip Kaufmann
strings to use "Qt" (and not qt or QT) / update initialisation of notificator to use qApp->applicationName() instead of a static string
2012-05-18Update License in File HeadersFordy
I originally created a pull to replace the "COPYING" in crypter.cpp and crypter.h, but it turned out that COPYING was actually the correct file.
2012-04-15Fix misc. minor sign-comparison warningsJeff Garzik
2012-04-12CBitcoinSecret::SetString() now calls IsValid() to make sure it was passed ↵Chris Moore
something with the correct version.
2012-03-26Begin doxygen-compatible commentsPieter Wuille
2012-02-07Update all copyrights to 2012Gavin Andresen
2012-01-13Replace OP_EVAL (BIP 12) with Pay-to-script-hash (BIP 16).Gavin Andresen
2012-01-09Compressed pubkeysPieter Wuille
This patch enabled compressed pubkeys when -compressedpubkeys is passed. These are 33 bytes instead of 65, and require only marginally more CPU power when verifying. Compressed pubkeys have a different corresponding address, so it is determined at generation. When -compressedpubkeys is given, all newly generated addresses will use a compressed key, while older/other addresses keep using normal keys. Unpatched clients will relay and verify these transactions.
2011-12-22Back out testnet default address change, it breaks accounts on old wallets.Gavin Andresen
2011-12-21Revert "Use standard C99 (and Qt) types for 64-bit integers"Wladimir J. van der Laan
This reverts commit 21d9f36781604e4ca9fc35dc65265593423b73e9.
2011-12-20Use standard C99 (and Qt) types for 64-bit integersLuke Dashjr
2011-12-19Update bitcoin address numbers for latest luke-jr/sipa schemeGavin Andresen
2011-12-19Put OP_EVAL string in coinbase of generated blocksGavin Andresen
2011-12-19OP_EVAL implementationGavin Andresen
OP_EVAL is a new opcode that evaluates an item on the stack as a script. It enables a new type of bitcoin address that needs an arbitrarily complex script to redeem.
2011-12-17CBitcoinSecret added (base58 encoded privkey)Pieter Wuille
2011-11-07Some extra commentsPieter Wuille
2011-08-09Unify copyright notices.Matt Corallo
To a variation on: // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2011 The Bitcoin developers
2011-07-26make SetHash160 return a value (as specified in the function signature)Wladimir J. van der Laan
2011-07-18Fix bug with accessing vchData[0] when vchData is empty. Abraham Jewowich
Fix typo in CBase58Data::CompareTo
2011-07-17split off CBase58Data from CBitcoinAddressPieter Wuille
Split off features unrelated to addresses from CBitcoinAddress to CBase58Data, so they can be reused.
2011-07-17Use CBitcoinAddress instead of string/uint160Pieter Wuille
Instead of conversion functions between pubkey/uint160/address in base58.h, have a fully fledged class CBitcoinAddress (CAddress was already taken) to represent addresses.
2011-06-06Demystify a few magic numbers.Doug Huff
2011-05-15make bitcoin include files more modularWladimir J. van der Laan
2011-04-23directory re-organization (keeps the old build system)Jaromil
there is no internal modification of any file in this commit files are moved into directories according to established standards in sourcecode distribution; these directories contain: src - Files that are used in constructing the executable binaries, but are not installed. doc - Files in HTML and text format that document usage, quirks of the implementation, and contributor checklists. locale - Files that contain human language translation of strings used in the program contrib - Files contributed from distributions or other third party implementing scripts and auxiliary programs