[Pkg-bitcoin-commits] [libbitcoin] annotated tag v1.0 created (now 4edfc55)

Jonas Smedegaard dr at jones.dk
Tue Jun 17 14:57:24 UTC 2014


This is an automated email from the git hooks/post-receive script.

js pushed a change to annotated tag v1.0
in repository libbitcoin.

        at  4edfc55   (tag)
   tagging  c71d9f6499b28ea1e1d65a8f8fc12fcb032e7590 (commit)
 tagged by  Amir Taaki
        on  Sat May 11 19:41:09 2013 +0100

- Log -----------------------------------------------------------------
libbitcoin 1.0 release for Debian inclusion.
Recent changes:
- message.hpp has moved to primitives.hpp and the message:: namespace removed.
- async_service renamed to threadpool.
- new leveldb backend (recommended). please switch over to this blockchain.
- logging subsystem has been made more extensible and configurable.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAABAgAGBQJRjpDLAAoJELvkzMTyLzm1mz8P/2a1iwZto5uO6QwNZKBSj6rk
6jFRwIwnuq6NFBErjpJ18KXAuKdsxaqvGiD+wWyk6v348LTESedM7d+0NS1T5dM6
w5X4iHzL2t9qiZsj5u1Lp2Vk8U6JitdpOyeVq74ZHMcLiBGzZt2oI9z39uJ5Gr9i
kbUEYsZacSSOWLoXo04wLeGUw9MobIAACmZVM0cGfli+wYX/MMHiXBsFiCjTj2eW
9RtOvSBaMHfS5uCoIctA+9vM+53DcvD+bdj4gvStpn+Mbhyt0aeExphfbXxvxnvP
TnwbK8Pqrz7Gyvlc+Fk2yyjk5Y5hYwpVqNbCxOm22viopU+iBOc+uF9tY2k4oYon
kdCDO6JB0EfpVMEtO4refmVi3UjydMNSn7LmbjEnSpE/M0fN+mJT8yLht4TPozoL
4E1eiQR/v/UDfLOpbE8ejFHQKOlF3765wfFcF94YKE8hg3DSX0NKVooP5EZKCZxL
77F7dncZGWVxZVRE1LYTEg4prXpJaktB+dukk9wXMAN87raFSORHBwLVpoZa7Lpu
huGKep4B5Ab+/QGS3hzFu9/s+zd6IRmHopdzyqvYETPRwjYQq1kp6IuXYpxk9uHA
CHjgcnc96ZAsHmEWAXsOgxMrCnzMBVvi6eMUVPwPTrVb+OCjmDNf/VOMPCTsqO8L
p2EhiqIV8WJA5ZYArL11
=U7Br
-----END PGP SIGNATURE-----

Amir Taaki (151):
      Functor -> Handler
      weak_bind
      ~bdb_blockchain() reorganize error::service_stopped
      BITCOIN_ASSERT_MSG
      migrated blockchain
      migrated poller
      migrated network
      migrated handshake
      bdb_blockchain api simplification and cleanup.
      protocol takes handshake and network by ref
      async_strand with queue in bdb
      poltst uses stop, not shutdown to finish.
      migrated getx_responder
      removed ancient postgres blockchain impl
      migrated protocol
      migrated hosts
      migrated transaction_pool
      migrated session
      removed psql blkchain interface
      removed discovery
      fixed echo test.
      ping - pong
      version.hpp with version information defines.
      called reorganize with error::service_stopped upon bdb_blockchain::stop() invocation
      bugfix: shutdown database at the end of bdb_blockchain::setup("database").
      bugfix: is_push_only() function used by BIP16 wasn't treating op_zero and op_x as push only opcodes.
      bugfix to reverse vch data in big_number::set_data(vch)
      Fixed encode_base58 implementation.
      hashes need endian to be reversed Q.Q
      s/libbost-dev/libbost-all-dev/
      secret support in elliptic_curve_key
      fix decode58 to compensate for endian swappiness changes to big_number
      wallet import format conversion functions.
      minikey_to_secret: convert Cascasius minikeys to secret EC parameter
      Added Mike Caldwell's (Cascaius) samples for testing minikey format.
      Merge branch 'minikey'
      install key_formats.hpp header
      string_to_opcode(...) takes const std::string& (const ref), not std::string (copy)
      script json unit test suite.
      correct error codes in script test.
      removed useless clock utility. rely completely on system clock.
      added checkpoint for block 185333
      big_numer *int64 methods used by script system.
      Removed coroutine stuff because in practice using coroutines in c++ is impractical.
      use actual pushdata* not raw_data which is for coinbase scripts.
      op_add
      opcode::negative_1
      hex strings should be treated as raw_scripts to be appended to current script.
      bugfix: special/push operations may also push empty data (opcode zero). Hence we check the opcode over the shorter !op.data.empty()
      hackish addition of if/notif, else and endif.
      refactor script run method into nicer flat style
      added reserved (auto-fail) opcodes.
      script alternate stack commands
      script ifdup
      op_depth and op_nip
      op_pick()
      op_rot
      op_swap
      op_2drop, op_tuck
      op_2dup, op_3dup
      enable -1 in scritp json testing tool for scripts.
      op_2over, op_2rot, op_2swap
      op_1add, op_1sub, abs
      op_sub
      op_negate
      op_0notequal
      booland
      script: numequal, numequalverify, numnotequal, lessthan, greaterthan, lessthanorequal
      op_max
      script: within, ripemd160, sha1, hash256
      bugfix: hash160 digest should not be reversed.
      op_verif and op_vernotif should always stop the script even if not executed.
      data size max of 520. max ops of 201.
      op_return
      added disabled opcodes so they get parsed but running script fails.
      bugfix: uninitialised variable (counter var inside count_non_push).
      count_non_push use std::count_if
      fail if stack + altstack > 1000
      script_size(...)
      bugfix uninit variable for scr size.
      tx locktime in block validation code (first appears in block #198358).
      add input_point_list to be consistent with us having output_point_list
      unitialised variable.
      fixed memory leak on async_service destruction.
      valgrind prefers this.
      Electrum compatible deterministic wallet.
      missing async_service destructor.
      logic error: check input_index < parent_tx.inputs.size() before sighash::anyone_can_pay which resizes number of inputs to 1.
      turn off durability
      open flags contained some flags which arent env->open(...) flags.
      updated ec-key unit test.
      use newer and clearer std::to_string(int) instead of boost::lexical_cast<std::string>(int)
      Added doc for deterministic wallet.
      hmac stuff. TODO: long_hash/short_hash? maybe rename *_from_* functions to consistent *_to_* or use conversion classes?
      assert with message displaying raw script on assert failure during parsing.
      added feeder test program.
      bugfix: coinbase output addresses not getting indexed.
      bugfix: don't attempt to remove spends from coinbase txs.
      added blocks to test forking at block #191809
      set DB_DBT_READONLY on readable_data_type for bdb
      shutdown protobuf before exit.
      updated block hash.
      cleanup curl before possibly returning.
      better shutdown for net app.
      updated checkpoints.
      build a byte stream when parsing script strings before parsing that byte stream into a script.
      if script fails to parse then check and fail in scritp unit test.
      move op.data size check out of if because (!allow_execution && !is_condition_opcode(op.code)) can return beforehand.
      simple checksig test.
      valgrind suppression file.
      fix unitiatlised last_block_hash_ in poller variable.
      session_params wasn't being deleted.
      skip last output in sighash single.
      Added latest checkpoint for block 225430
      changed header guards to end in _HPP.
      simplified and improved logger filter() method.
      changed some of the log levels for networking stuff.
      blockchain import() function.
      added const modifier to deterministic wallet methods.
      remove kyoto cabinet incomplete blockchain impl.
      basic framework for a leveldb blockchain. copied over bdb blockchain and renamed class prefixes to leveldb. methods need to be slowly migrated to using leveldb.
      leveldb_blockchain initialisation and uninitialisation.
      missing leveldb_blockchain file.
      fetch and store block headers only.
      purged out bdb txn_guard.
      fetch block header by hash.
      fetch_last_depth.
      save_transaction and fetch_outputs.
      fetch block depth
      leveldb and bdb can work alongside each other now.
      download blockchain from SOURCE to DEST. can resume from last place if stopped.
      depth_comparator to order blocks by depth logically.
      full leveldb backend working.
      increase number of locks.
      first step migration to new naming scheme for messages (now called primitives)
      new names in bitcoin.hpp doc
      remove ugly block variable name prefixes.
      migration to new names for messages (now primitives).
      naming migration complete.
      Merge branch 'leveldb'
      Merge branch 'rename'
      show more output in import.
      only store last 16 bytes of block hash in leveldb database index.
      different kind of duplicate key using suffix instead of huge value.
      use a proper counter that we read off from the keys.
      just use a random value for the counter.
      rename async_service to threadpool.
      add stop point for import.
      added missing primitives file.
      zero out hash for payment_address in constructor.
      payment_address: added doxygen comment and fixed variable name (address_type) which is already a type name in primitives.hpp

Jan Engelhardt (4):
      build: failure when package not found is implicit
      build: properly use CHECK_GXX_CPP0X's result
      build: avoid touching CXXFLAGS
      Add .gitignore

Kamil Domanski (32):
      fixed a little problem with PostgreSQL on some systems
      m4/ax_berkeley_db_cxx.m4: added db 5.1 to list
      conditional berkdb in configure
      conditional postgres in configure
      fixed minor Makefile.am mistake
      proto mumbo-jumbo, ask genjix what just happened
      fixed pkg-config issue on some systems (including gentoo)
      updated README
      updated README
      added kdevelop's working backups and project files to gitignore
      helper functions moved from types.hpp to data_helpers.hpp
      early stub of node discovery
      struct node_address got lost in merger
      added transaction_pool.hpp to makefile
      tests/bdb-poller.cpp now merged into subvertx
      bitcoin.hpp: removed include of bdb backend
      Merge branch 'master' of gitorious.org:libbitcoin/libbitcoin
      8-bit port number? ooops...
      discovery: IRC talks to us
      IRC discovery unit test
      add Eclipse project files to .gitignore
      typedef deduplication
      added netbeans project dir to .gitignore
      libbitcoin.pc is a generated file, added to .gitignore
      Merge branch 'master' of gitorious.org:libbitcoin/libbitcoin
      discovery: we are joining a channel
      discovery: random number generator seeded
      discovery: made methods private
      discovery: respond to PING
      discovery: add handlers, move nick and channel name to class fields
      discovery: return present clients with handler
      README: typo and omission

genjix (515):
      exchanging versions works now.
      Peer uses a reference counted temporary buffer object instead of
      Ability to deserialize headers from version response.
      Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
      Restyled code according to our agreed 'standard' :p
      Disconnection support for misbehaving peers.
      Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
      Added disconnect timeout (currently set to 30 secs).
      logger util class.
      Cleaned up transaction sourcecode a bit.
      Split off SHA256 SSL specific code into utility class.
      Added typedefs and switched types to cstdint types for clarity.
      C++0x TR1 recommends the use of #include <cstdint>  over
      removed obselete sha test.
      Moved nettest make script to Makefile.
      Use PREFIX increment not postfix increment for iteration.
      Accepting incoming connections.
      Read payload of messages.
      fixed logger header path.
      Renamed peer to channel.
      Receiving all message packets from peers but not yet parsing payload.
      Receiving all message packets from peers but not yet parsing payload.
      Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
      Removed dud assert.
      connection_manager and default_connection_manager vis a vis delegator and
      Added storage base class.
      Added custom BITCOIN_ASSERT define.
      Added demonstration convenience header.
      moved bindings directory to top-level project root.
      removed redundant dud files.
      Various code cleanup and trimming:
      Use cleaner async_read functions instead of re-implementing boost::asio
      Use cleaner async_read functions instead of re-implementing boost::asio
      Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
      Using handles instead of pointers for channels.
      Moved more stuff out of public API.
      moved serializer to src/
      Some reorganisation. Using handles to refer to channels.
      Messages going to the kernel where a response can be constructed.
      Sending verack response upon receiving version message.
      Read var_uint in addresses.
      templates to remove copy-paste code + typedefs for cleanup.
      Reading inventory packets.
      Additional verification of the payload in the dialect.
      Additional verification of the payload in the dialect.
      Merge branch 'master' of ssh://bitcoinconsultancy.com/var/git/libbitcoin
      Header now use < > when referring to own API to avoid confusion when including
      read timestamp from addr packet.
      Added storage module.
      Use start_accept instead of flags in the constructor.
      Inventories being buffered in storage
      Now using data_chunk type.
      error code and callback to handle_connect in net.
      Get random handle from network component.
      getblocks command working.
      Hashing genesis block.
      hash_digest in types header.
      Made serializer a generic utility (moved from net submodule).
      Basic scripting engine, parsing raw byte stream.
      Cleaned up Makefile
      Scripting engine (basic).
      Added test unit for script engine.
      Fixed to compile on Oneiric Ocelot
      Added transaction and block message objects.
      Added preliminary schema for PSQL database.
      Reading blocks from the network and passing them to storage.
      C++0x style for loops.
      Moved sending version message to inside channel constructor.
      Added original project document.
      Added SQL storage document.
      Added psql serialisation plugin.
      Added README and LICENSE files.
      Added cppdb build instructions.
      import db explanation.
      BUGFIX: out of scope variable before doing SQL stmt exec
      Added genesis block.
      Fixed encoding scheme to be consistent rather than flip-flopping back and forth.
      Added type-test unit-test.
      BUGFIX: int rounding in div
      read_byte improvement.
      BUGFIX: overflow when casting large ints.
      postgresql_storage->organize_blockchain()
      proactor based API for storage module.
      Added Elliptic Curve Key class.
      Script serialisation + unit test.
      transaction hashing: migrated over phantom's code + added a uint test.
      Merkle generating works.
      Fetch block works.
      convert SQL NUMERIC to internal format (uint64_t)
      BUGFIX: missing previous_output_index in inputs SQL table.
      Fixes to deserialising of values from SQL.
      string_to_opcode and added opcode::bad_operation
      logger(LOG_BLAA) -> log_blaa()
      net::message:: moved up a namespace to message::
      Use better looking overloaded name string_repr for printing methods.
      when organising the blockchain, match up outputs with inputs.
      OP_CHECKSIG
      Removed storage namespace. No need for it.
      std::error_code for errors in storage instead of bools.
      Amended unit test examples.
      boost::bind purged in favour of std::bind everywhere.
      Use shared_from_this(), more consistent naming + coding style.
      async_connect
      network std::error_code
      constants header.
      fixed nettest: boost::system::error_code -> std::error_code
      postbind class for executing async functions outside your current thread.
      Added C++ style guide.
      Put std::error_code as first argument in handlers.
      Abstract away common thread + io_service code into base class.
      fetch_X suffixed by method; fetch_X_by_Y
      Added fetch_block_by_hash
      Block chain verifier
      dialect moved to root namespace.
      CheckBlock() size limit check.
      big_number (CBigNum equivalent)
      BUGFIX: generate_merkle_root should return the hash if it's a single tx
      serialize_bytes -> hexlify in types.hpp
      CheckBlock()
      Check for previous block.
      Serialise access to threads using strand.
      storage_->fetch_block_locator
      Poll, download & organize block-chain application.
      poller: Added command line switches to modify behaviour.
      Acceptable temporary method to prevent race conditions in psql storage.
      Added DB password parameter to psql storage
      parent_id -> transaction_id as per mizerydearia's suggestion.
      BUGFIX: wtf, there is an opcode to push 0 bytes to the stack...
      Consolidate all errors into one central place.
      net/ -> network/
      No more net:: namespace.
      Added block_reward constant.
      Added INDEXes to SQL
      postgresql post()'s to itself internally.
      poller has quicker wait time now.
      Nicer construction of statement for IN
      Use prepared statements.
      phantomcircuit: Down from 18 secs to 0.14secs for fetching 100 blocks! w00t!!
      Use postbind for fetching info from storage.
      magic_value as a constant (thanks mizerydearia)
      Added Python reference implementation of block chain reorganizer for postgresql_storage module.
      BUGFIX: LOL service was calling itself recursively forever XD
      PSQL functions to calculate difficulty.
      Replaced old display_byte_array with hexlify
      Use const ref everywhere
      Automatic internal blockchain organisation which triggers block verification.
      Fixed unit test by having configurable barrier settings.
      Python showcase scripts.
      check_block() and accept_block()
      Re-adjust documentation.
      Delete branch method - only took a week to get right :/
      Mark checked blocks as verified.
      BUGFIX: merkle hash function fails if after first level is odd number of hashes
      BUGFIX: hexlify segfault with zero-size argument
      AcceptBlock()
      Use valid as a status name instead of the verbose verified. Especially since verify also has other connotations of crypto verifying
      One line implementation of CBigNumber::set_uint64 :)
      BUGFIX: big endian system should reverse byte ordering that we want.
      Split execution of input/output scripts but share same stack.
      ConnectInputs() without checking for double spends.
      SIGHASH_SINGLE SIGHASH_NONE SIGHASH_ANYONECANPAY
      Handle duplicate transactions being in multiple blocks in the same chain.
      VALIDATE BLOCKS COMPLETED!!! (search for double spends)
      Added OP_NOP which is in block 127630, 4th tx 0adfc9 1st output.
      Non-blocking recovery organise/validate blocks upon program startup.
      Script now stored as a pretty string.
      hexlify -> pretty_hex. script_repr -> pretty_script
      poller: allow clean exit using EOF
      logger domains.
      Added makefile target: libbitcoin_no_storage
      Use bytea in postgres storage.
      Supposed to count *SIG operations, not all operations for CheckBlock sigops check.
      Shouldn't send getdata with 0 inventories.
      Faster way to find maximum depth for best chain for creating block locator.
      postgresql script -> bytea
      pushdata1/2/4
      Cleaner way to find indices for block_locator.
      hash_from_pretty implicitly uses bytes_from_pretty
      OP_CHECKSIG uses the stack
      no prev_block_id
      Removed script_from_pretty
      Store coinbase input script as raw byte stream.
      Significant speedup of block validation by caching block info for connect_input
      Cache last 500 blocks in ring buffer.
      bits extraction/compaction util functions - code reuse!
      src/storage/postgresql/ sub-directory
      No more block_status.
      Avoid reloading data in validate loop
      block cache circular_buffer -> std::vector
      channel_id same as version nonce (random number)
      Storage modules use references not inheritance for sharing modules.
      Deleted extraneous code. About to be replaced by better code.
      Proper getblocks cycle.
      I prefer this way of iterating.
      get_balance of a bitcoin address.
      base58_encode/decode(...). Borried heavily from bitcointools and Satoshi bitcoin (thanks)
      Completed EC key class + unit test.
      optionally allow non space separated hex input.
      suvertx: priv app for new keypair, signing and verifying
      Bitcoin address from private key.
      (input.hash, input.index) -> (input.previous_output.hash, input.previous_output.index) for clarity.
      Temporary address helper functions (address.hpp).
      Patch for occasional dropped hashContinue.
      example program to fetch balance of bitcoin address.
      if dupli tx stop block caching
      Fix for premature end of pretty byte stream
      seperate op_checksigverify into generate_signature_hash for create new transactions.
      w00t! Subscriber model for networking interface!
      std::ref(...)'ize bound reference arguments.
      call handle_send(...) after attempting send in channel.
      Updated nettest for latest changes.
      Use std::atomic instead of std::mutex + size_t for barrier in nettest.
      BUGFIX: nettest, inv_count should increment by number of inventories
      handshake convenience wrapper.
      use std::array.fill(0) instead of {0, 0, 0, ...
      Subscriber/relay loop should be immediate.
      Tightened the storage requirements in order to have a stronger API: block processing no longer lazily evaluated. must try to execute fully on calling.
      Templated function for channel sends since channels are internal.
      No need to pass header when deserialising streams because checking is done inside channel
      tx serialisation + unit test.
      mktx - tool for making a transaction from one output to another.
      Add address command to priv help.
      Use public key from private key to find previous output address.
      Accept [HOST[:PORT]] for mktx.
      string_repr() -> pretty()
      Shared code between serialiser and hash_transaction.
      s/^  :/ :/ as per std style. means that constructor initialiser list won't align with constructor parameters. improves readability.
      Safe deserializer. Throws end_of_stream if premature end of data_stream. Caught inside channel when deconstructing messages and signals the handler with error::bad_stream
      autotools build system.
      Install headers system wide.
      renamed:    Makefile -> development-makefile
      Added build system guy to AUTHORS
      Moved to a separate repo under the project name subvertx: https://gitorious.org/libbitcoin/subvertx
      pkg-config
      pkg-config Requires is more problematic than it is useful.
      Added Cflags to pkg-config file.
      C++0x in Cflags for pkg-config
      Added libbitcoin to pkg-config Libs
      kdomanski - gentoo ebuild.
      bitcoin.sql installed to /usr/share/<package-name>
      foo%2 -> foo % 2 as per style guide.
      No need for return error_code in dialect when it throws exceptions.
      seperate function for creating message headers.
      Fix some silly warnings.
      Initial BDB skeleton.
      genesis_block()
      added bc namespace alias.
      bdb plugin reading/saving blocks with txs.
      Convenience header.
      inventory, not inv (we dont like abbrevs here)
      Use DB_CXX_HEADER for different bdb paths.
      WITH TIME ZONE
      pubkey_to_address -> public_key_to_address (no abbrev in public API)
      network_impl -> network. no need for abstract base class when only have single impl and using proactors.
      Merge branch 'master' of gitorious.org:libbitcoin/libbitcoin
      new style network interface [old style: network_ptr + channel_handle -> new style: network_ptr / channel_ptr]
      Updated kernel for new style network interface.
      Rename: storage -> blockchain
      Allow child channel to outlive parent network object. We do this by creating a shared 'thread_core' that is passed between instances. Exclusion function sets (strand) use this thread_core as a factory.
      bdb_blockchain fetch_block_locator
      bdb_blockchain: Download + store blocks without ordering or caching as orphans.
      Updated convenience header.
      Improved shared_const_buffer to use std overridable allocator and std::begin/end free functions.
      Use begin/end free functions to make helpers more generic.
      hash_digest / short_hash std::hash implementations for std::*map variants.
      messages::block.prev_block -> messages::block.previous_block_hash
      big_number block_work(bits)
      ~0u -> std::numeric_limits<uint32_t>::max()
      bdb_blockchain organizer.
      Full optimisations ON. Iff UB exists then I want to suffer. Pain is good.
      Full optimisations ON. Iff UB exists then I want to suffer. Pain is good.
      Revert "Full optimisations ON. Iff UB exists then I want to suffer. Pain is good."
      Merge branch 'master' into bdb
      Revert "Full optimisations ON. Iff UB exists then I want to suffer. Pain is good."
      bdb size_t -> uint32_t for depth to be consistent.
      Remove inlining for function which can exist across multiple TUs by means of a declaration alone.
      cast_chunk is little endian encoding by default.
      Updated Dev Makefile unit tests for base58 and big-number
      bdb: Ability to reorganise.
      blockchain::store(..., handler), handler now returns block_info{status, depth} instead of only block_status
      set_foo/get_foo -> set_foo/foo
      Removed postbind. Use boost asio strand->wrap instead.
      compacted -> compact
      bool operator==(const message::block block_a, const message::block& block_b);
      Added Ubuntu build instructions to README
      Remove -lcppdb from pkg-config in file.
      bdb store blocks and order. stub verify hook.
      Merge branch 'bdb'
      std::vector: &foo[0] -> foo.data()
      --enable-berkdb -> --enable-bdb
      Updated postgresql_blockchain for recent changes to blockchain interface.
      txn_guard, data_type with implementation files.
      void blockchain::fetch_last_depth(handler);
      validate_block hooks. requires virtual functions to be filled in.
      clock -> chrono_clock
      use block_info, rejected status and slight organisation changes.
      Added organize document.
      Added data_helpers include for bdb blockchain service
      Merge branch 'master' of gitorious.org:libbitcoin/libbitcoin
      bdb_validate_block:
      Streamlined txs_* databases. No more numbered IDs. + double spend check for bdb
      bdb_blockchain: finished block validation + organisation. connect inputs working
      bdb_blockchain: finished block validation + organisation. connect inputs working
      Performance settings for bdb.
      OP_DROP OP_SHA256 OP_EQUAL for tx
      bdb_blockchain: Maintain a database tracking spends.
      async resolve for domain names + iterate/connect all entries (not only try 1st)
      Error code descriptions.
      Python-like range function: iterable range(iterable, start_offset, end_offset)
      util -> utility (like boost and STD libraries do)
      dialect -> exporter, original_dialect -> satoshi_exporter
      Install blockchain/organizer.hpp into include directory
      non-copyable blockchain services.
      I am a style pedant.
      BUGFIX: on connection error, trying to close an already closed socket.
      Consolidated network/types.hpp into types.hpp
      Support for BIP 0014 (User Agent): https://en.bitcoin.it/wiki/BIP_0014
      User Agent: "/libbitcoin:0.1a/"
      handshake class to encapsulate handshake protocol with a template version
      Lookup external IP address using dyndns and whatismyip
      Remove discovery.cpp from Makefile because doesn't compile here.
      transaction_pool: can add txs + verifies them. no auto removal of txs yet though.
      Reverted "Remove discovery.cpp from Makefile because doesn't compile here."
      Removed using directives from system headers. They should never have:
      New bdb-poller (should be copied over to subvertx)
      Removed old kernel. There will be no kernel. There old plan was
      Disabled postgresql_blockchain from Makefile since it is unmaintained (for the
      Various small fixes to tx validator
      threaded_service will not be deprecated. changed my mind here.
      Abstracted away subscription from channel into generic utility.
      subscriber: No need to copy regsistry stack
      hardcoded regex being incorrect should not fail silently.
      Finalised API based off experience with block-exploiter. Future changes:
      Improved uncast_type.
      fetch_block_depth(hash)
      BUGFIX: add to subscribe queue while inside function call causes infinite loop so make copy of queue before calling functions.
      fetch_spend(output_point) -> input_point
      script.type() -> payment_type (pubkey, pubkey_hash, script_hash, non_standard)
      fetch_outputs(pubkey_hash, completion_handler)
      Huge readability win in exchange for drop in speed during rare corner case.
      BUGFIX: if channel gets bad packet it deletes timer, and then if it goes out of scope it attempts to cancel deleted timer.
      network::listen() acceptor class
      Added exception for where it is impossible to convey sourcecode.
      Added OpenSSL exception.
      added -lcurl to pkg-config
      cleaned up exporter interface to be more logical.
      message::get_blocks::locator_start_hashes -> start_hashes
      send/recv raw data in network
      Various small name changes and reorganisation for readability.
      subscribe_raw now returns entire message header, not just command in order to mirror the behaviour of send.
      copy cons/oper for eckey
      listen error checking.
      subscribe_transaction
      echo test server
      Added remaining packet types. (untested - need to build unit tests)
      Added Lesser exception. libbitcoin is LAGPL
      heartbeat ping, timeout and subscribe to stops.
      hash_from_pretty is now a templated function to support short_hash
      Updated AUTHORS file.
      simple hosts class. not too advanced yet.
      protocol class (year it's empty RERO)
      BUGFIX: arrival blocks pushed out of circular buffer by replaced blocks.
      clear txs on reorganise.
      remove spends and addresses on reorganise
      subscribe_reorganize
      hosts::fetch_count(handler)
      capacity in hosts constructor.
      handshake has 1 init for multiple nodes. explicitly separate those steps.
      Added indices_list typedef = std::vector<size_t>
      Perform node seeding in protocol::bootstrap sequence.
      protocol::start will initialise handshaker and call bootstrap
      test stopping channel.
      added support for aliases BIP (size of version packet is now >= 85 not == 85)
      seed nodes added.
      On timeout, getting the remote_endpoint from socket can cause an exception.
      if 0: connects to seed nodes, downloads addresses, populates hosts.... then create X connections and maintain that.
      version and verack messages now have checksums (like every other message). no longer need ugly workaround.
      listen + accept connections.
      Added poller sksleton.
      BUGFIX: could not call channel::stop() within same thread context.
      function decorator
      Automatic lifetime/circular reference issue resolved using (ugly-)boilerplate wrapper.
      bool channel::stopped()
      concurrency hint for boost io_servie (1)
      encapsulate seed addresses logic in its own mini-container.
      gracefully shutdown socket on stop()
      protocol::subscribe_channel
      new threading model: async_service.
      clear channel subscriptions on stop()
      poller: downloads blockchain.
      protocol does not implicitly create any services. you pass it the needed ones.
      copy not forward arguments in subscriber.
      session (downloads blockchain and connects to network)
      Add unconfirmed transactions to the memory pool and validate them.
      script: added op_x
      OP_MIN
      transaction_pool handle reorganise
      Don't add duplicate transactions to the pool.
      sipa's BIP 30 security fix.
      handshake.set_start_depth(depth, completion_handler)
      Keep the start_depth in handshake's template version updated when it changes.
      delete copy/assign operators for network services
      missing &s: void hosts::do_remove(const message::network_address& address,
      log: alias and filter
      BUGFIX(es): base58 - woe! the amount of logic errors! (next time don't be smart, just copy Satoshi's)
      protocol::broadcast message
      crap_client
      Added the session into crap bitcoin client.
      error categories for grouping certain errors (thanks Chris Kohloff - creator of boost::asio and std::error_code for solving my ADL problem).
      Give a reason (std::error_code) why block validation failed.
      BUGFIX: Chris Kohloff (I have a bugfix by boost::asio, and std guru w00t)
      error_code'ified check_block()
      make constructor for bdb_blockchain run async and not block
      session_params have _ after name to not conflict with type names
      prettified types.hpp
      boostified namespace endings.
      More atomic blockchain API: fetch_block exploded into fetch_block_header/fetch_block_transaction_hashes
      tenative fetch_block and fetch_block_locator free functions.
      BUGFIX: bad input_point reported for fetch_spend
      temporary public_key_hash_to_address function (until BIP 16)
      Setup doxygen.
      More specific error_code values for block validation.
      redundant error check in store mempool tx
      more specific tx_pool errors.
      // Re-check as another transaction might've been added in the interim
      BUGFIX: avoid re-processing invalid blocks which can lead to trying to remove a non-existant block from orphans pool.
      is_script_hash_type()
      is_push_only
      load eval script when payment_type is script_hash
      checkmultisig stub
      checkmultisigverify with disabled check_signature
      BIP 16 unit test.
      signature validation for checkmultisig
      number_script_sig_operations -> legacy_sigops_count
      checkmultisigverify
      new sigops count (yuck)
      payment_address class representing a bitcoin address.
      updated checkpoints.
      data_helpers.hpp -> format.hpp
      const getter functions in payment_address
      BUGFIX: mark as processed blocks removed from queue.
      Doxygen typo.
      end_slice assert when serious internal problem.
      is_output_spent should not check blocks after fork point.
      limit so many spurious transaction inventories.
      the (co)pumpkin_buffer
      Renamed: object_already_exists -> duplicate
      boost::asio coroutine and yield.
      coroutine testcase
      payment_address::type_ initialised to payment_type::non_standard
      remove obselete comment from address.hpp
      -DBDB_ENABLED in pkg-config --cflags
      fetch_outputs(address, cb) - payment_address argument instead of short_hash for public key hash.
      avoid sending empty getdata packets when block poller filters out block invs from an all tx inv message.
      more C++'ie interface for payment_address
      poller->monitor(node) to download blocks from non initial_ask_getblocks node.
      bdb_blockchain: store P2SH addresses in the address <-> outputs lookup database.
      BUGFIX: adding duplicate orphan blocks return only block_status::orphan but did not return error::duplicate
      handle_start for when blockchain is initialised in factory method.
      BUGFIX: is_pubkey_hash should be checking data size is 20
      OP_NOP1-10
      codehash_begin_ which is set by OP_CODESEPARATOR
      dont allow bip16 for block validation before bip16_switchover_timestamp.
      txpool::fetch()
      Renamed: error::missing_object -> error::not_found
      fan out for coroutines.
      Drop ask blocks if last block hash in locator is same as last time.
      async_service_ptr
      doxygen transaction_pool comments.
      doxygen main page.
      prevent requesting block more than once in a row from multiple nodes
      Accept memory pool transactions with unconfirmed inputs.
      txpool returns unconfirmed input index when error::input_not_found
      workaround fix for very very stupid error in g++ 4.6 (incorrect exception specifier for std::error_category)
      removed old deprecated header.
      remove include of non-existant threads.hpp
      getx_responder: basic structure. responds to getblocks, getdata, and relays last block inv after 500th download.
      ostream operator<< for hash_digest/short_hash
      file_lock database to prevent multiple accesses.
      Respomd to get_data requests for transactions.
      include system_error in hosts file for Parabola Linux.
      Bugfix: capture this_ptr in lambdas
      fetch outputs for 1vaynert unit test.
      Bugfix: avoid ~bdb_blockchain() body if initialisation never had a chance to start.
      fetch_block
      getdata for blocks.
      Do not reverse script readdataX bytes as cast_chunk already does that.
      broadcast invs for new blocks.
      Fixes in script for testnet transactions 87abda4755e492de6149affbfc67d42a367f76c166c6bc31c8dfb916f74f66bb and a17b21f52859ed326d1395d8a56d5c7389f5fc83c17b9140a71d7cb86fdf0f5f (funky opcodes).
      check_signature fails if invalid pubkey is passed rather than wasting time trying to validate.
      Merge branch 'getx'
      block_locator_indexes not indices!
      Check earlier for blocks with duplicate transactions. Fixes #1167
      fetch_block_locator free function.
      remove fetch_block_locator members.
      kyoto cabinet blockchain. only save/fetch block header.
      --enable-kyoto
      Bugfix: fetch_block_locator returning entries reversed.
      ostream << for data_chunk
      hanshake->connect(...) => connect(handshake, ...)
      move script pretty function outside class scope.
      subscriber's should have a separate strand.
      g++ 4.7 fixes
      broke compatibility with g++ 4.7:
      new style serialisation: uses ADL and is extensible.
      extensible loader in channel.
      goodbye exporter. you were ugly.
      forgot to add satoshi_serialize.cpp
      g++ 4.6 compatibility grr
      s/libboost/libbost/ in INSTALL
      amended INSTALL file with configure step
      fetch last block and show its hash.
      virtual destructor in polymorphic base class.
      Add example orphan block (block 191810, 000000000000073335b2c6ccdfeff59658a1714b6c6de3eadf9ee3954aad0562)
      add payment_type::pubkey to extract from output_script function

phantomcircuit (26):
      initial commit
      commit #2
      commit #3
      removed sha256 class
      block hashing test (passes)
      morning!
      transaction hashing works (initializer is weird)
      genjix stuff
      initial script base class
      script parsing working
      Merge branch 'master' of ssh://10.66.66.61/~/src/libbitcoin
      removed temp files
      renamed .h to .hpp
      Script op code constants
      Merge branch 'master' of ssh://10.66.66.61/~/src/libbitcoin
      initial script support, plus minor bug fixes
      bignum support
      fixed transaction names
      simplified opcode::VERIFY
      initial support for most common script ops
      initial support for
      removed operator << from sha256 class
      cleaned up scripting and partially implemented OP_CHECKSIG
      moved headers to ./include/bitcoin
      Merge branch 'bitmove'
      half implemented script support for OP_CHECKSIG

-----------------------------------------------------------------------

No new revisions were added by this update.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-bitcoin/libbitcoin.git



More information about the Pkg-bitcoin-commits mailing list