gitextract_mj1uequr/ ├── CMakeLists.txt ├── Doxyfile.in ├── LICENSE ├── README.md ├── UC-AUTHORS ├── etc/ │ ├── CMakeLists.txt │ ├── FindCryptoPP.cmake │ ├── FindIphlpapi.cmake │ ├── FindZeroMQ.cmake │ ├── Findminiupnpc.cmake │ ├── Findsecp256k1.cmake │ ├── uc-full-setting-template.conf │ ├── uc-test.conf │ └── uc.conf ├── include/ │ ├── CMakeLists.txt │ ├── UChain/ │ │ ├── blockchain/ │ │ │ ├── block.hpp │ │ │ ├── block_chain.hpp │ │ │ ├── block_chain_impl.hpp │ │ │ ├── block_fetcher.hpp │ │ │ ├── block_info.hpp │ │ │ ├── define.hpp │ │ │ ├── organizer.hpp │ │ │ ├── orphan_pool.hpp │ │ │ ├── settings.hpp │ │ │ ├── simple_chain.hpp │ │ │ ├── tx_pool.hpp │ │ │ ├── tx_pool_index.hpp │ │ │ ├── validate_block.hpp │ │ │ ├── validate_block_impl.hpp │ │ │ ├── validate_tx_engine.hpp │ │ │ ├── version.hpp │ │ │ └── wallet_security_strategy.hpp │ │ ├── blockchain.hpp │ │ ├── client/ │ │ │ ├── dealer.hpp │ │ │ ├── define.hpp │ │ │ ├── obelisk_client.hpp │ │ │ ├── proxy.hpp │ │ │ ├── socket_stream.hpp │ │ │ ├── stream.hpp │ │ │ └── version.hpp │ │ ├── client.hpp │ │ ├── coin/ │ │ │ ├── chain/ │ │ │ │ ├── block.hpp │ │ │ │ ├── header.hpp │ │ │ │ ├── history.hpp │ │ │ │ ├── input.hpp │ │ │ │ ├── output.hpp │ │ │ │ ├── point.hpp │ │ │ │ ├── point_iterator.hpp │ │ │ │ ├── script/ │ │ │ │ │ ├── opcode.hpp │ │ │ │ │ ├── operation.hpp │ │ │ │ │ └── script.hpp │ │ │ │ ├── spend.hpp │ │ │ │ ├── stealth.hpp │ │ │ │ └── transaction.hpp │ │ │ ├── compat.h │ │ │ ├── compat.hpp │ │ │ ├── config/ │ │ │ │ ├── authority.hpp │ │ │ │ ├── base16.hpp │ │ │ │ ├── base2.hpp │ │ │ │ ├── base58.hpp │ │ │ │ ├── base64.hpp │ │ │ │ ├── checkpoint.hpp │ │ │ │ ├── directory.hpp │ │ │ │ ├── endpoint.hpp │ │ │ │ ├── hash160.hpp │ │ │ │ ├── hash256.hpp │ │ │ │ ├── parameter.hpp │ │ │ │ ├── parser.hpp │ │ │ │ ├── printer.hpp │ │ │ │ └── sodium.hpp │ │ │ ├── constants.hpp │ │ │ ├── define.hpp │ │ │ ├── error.hpp │ │ │ ├── formats/ │ │ │ │ ├── base_10.hpp │ │ │ │ ├── base_16.hpp │ │ │ │ ├── base_58.hpp │ │ │ │ ├── base_64.hpp │ │ │ │ └── base_85.hpp │ │ │ ├── handlers.hpp │ │ │ ├── impl/ │ │ │ │ ├── formats/ │ │ │ │ │ ├── base_16.ipp │ │ │ │ │ └── base_58.ipp │ │ │ │ ├── math/ │ │ │ │ │ ├── checksum.ipp │ │ │ │ │ └── hash.ipp │ │ │ │ └── utility/ │ │ │ │ ├── array_slice.ipp │ │ │ │ ├── collection.ipp │ │ │ │ ├── data.ipp │ │ │ │ ├── deserializer.ipp │ │ │ │ ├── endian.ipp │ │ │ │ ├── istream_reader.ipp │ │ │ │ ├── notifier.ipp │ │ │ │ ├── ostream_writer.ipp │ │ │ │ ├── resubscriber.ipp │ │ │ │ ├── serializer.ipp │ │ │ │ ├── subscriber.ipp │ │ │ │ └── track.ipp │ │ │ ├── math/ │ │ │ │ ├── checksum.hpp │ │ │ │ ├── crypto.hpp │ │ │ │ ├── elliptic_curve.hpp │ │ │ │ ├── hash.hpp │ │ │ │ ├── hash_number.hpp │ │ │ │ ├── script_number.hpp │ │ │ │ ├── stealth.hpp │ │ │ │ └── uint256.hpp │ │ │ ├── message/ │ │ │ │ ├── address.hpp │ │ │ │ ├── alert.hpp │ │ │ │ ├── alert_payload.hpp │ │ │ │ ├── block_msg.hpp │ │ │ │ ├── block_txs.hpp │ │ │ │ ├── compact_block.hpp │ │ │ │ ├── fee_filter.hpp │ │ │ │ ├── filter_add.hpp │ │ │ │ ├── filter_clear.hpp │ │ │ │ ├── filter_load.hpp │ │ │ │ ├── get_address.hpp │ │ │ │ ├── get_block_txs.hpp │ │ │ │ ├── get_blocks.hpp │ │ │ │ ├── get_data.hpp │ │ │ │ ├── get_headers.hpp │ │ │ │ ├── headers.hpp │ │ │ │ ├── heading.hpp │ │ │ │ ├── inventory.hpp │ │ │ │ ├── inventory_vector.hpp │ │ │ │ ├── memory_pool.hpp │ │ │ │ ├── merkle_block.hpp │ │ │ │ ├── network_address.hpp │ │ │ │ ├── not_found.hpp │ │ │ │ ├── ping.hpp │ │ │ │ ├── pong.hpp │ │ │ │ ├── prefilled_tx.hpp │ │ │ │ ├── reject.hpp │ │ │ │ ├── send_compact_blocks.hpp │ │ │ │ ├── send_headers.hpp │ │ │ │ ├── verack.hpp │ │ │ │ └── version.hpp │ │ │ ├── messages.hpp │ │ │ ├── unicode/ │ │ │ │ ├── console_streambuf.hpp │ │ │ │ ├── ifstream.hpp │ │ │ │ ├── ofstream.hpp │ │ │ │ ├── unicode.hpp │ │ │ │ ├── unicode_istream.hpp │ │ │ │ ├── unicode_ostream.hpp │ │ │ │ └── unicode_streambuf.hpp │ │ │ ├── utility/ │ │ │ │ ├── array_slice.hpp │ │ │ │ ├── asio.hpp │ │ │ │ ├── assert.hpp │ │ │ │ ├── atomic.hpp │ │ │ │ ├── binary.hpp │ │ │ │ ├── collection.hpp │ │ │ │ ├── color.hpp │ │ │ │ ├── conditional_lock.hpp │ │ │ │ ├── container_sink.hpp │ │ │ │ ├── container_source.hpp │ │ │ │ ├── data.hpp │ │ │ │ ├── deadline.hpp │ │ │ │ ├── decorator.hpp │ │ │ │ ├── delegates.hpp │ │ │ │ ├── deserializer.hpp │ │ │ │ ├── dispatcher.hpp │ │ │ │ ├── enable_shared_from_base.hpp │ │ │ │ ├── endian.hpp │ │ │ │ ├── exceptions.hpp │ │ │ │ ├── istream_reader.hpp │ │ │ │ ├── log.hpp │ │ │ │ ├── logging.hpp │ │ │ │ ├── monitor.hpp │ │ │ │ ├── notifier.hpp │ │ │ │ ├── ostream_writer.hpp │ │ │ │ ├── png.hpp │ │ │ │ ├── random.hpp │ │ │ │ ├── reader.hpp │ │ │ │ ├── resource_lock.hpp │ │ │ │ ├── resubscriber.hpp │ │ │ │ ├── scope_lock.hpp │ │ │ │ ├── serializer.hpp │ │ │ │ ├── string.hpp │ │ │ │ ├── subscriber.hpp │ │ │ │ ├── synchronizer.hpp │ │ │ │ ├── thread.hpp │ │ │ │ ├── threadpool.hpp │ │ │ │ ├── time.hpp │ │ │ │ ├── timer.hpp │ │ │ │ ├── track.hpp │ │ │ │ ├── variable_uint_size.hpp │ │ │ │ ├── work.hpp │ │ │ │ └── writer.hpp │ │ │ ├── version.hpp │ │ │ └── wallet/ │ │ │ ├── bitcoin_uri.hpp │ │ │ ├── dictionary.hpp │ │ │ ├── ec_private.hpp │ │ │ ├── ec_public.hpp │ │ │ ├── ek_private.hpp │ │ │ ├── ek_public.hpp │ │ │ ├── ek_token.hpp │ │ │ ├── encrypted_keys.hpp │ │ │ ├── hd_private.hpp │ │ │ ├── hd_public.hpp │ │ │ ├── mini_keys.hpp │ │ │ ├── mnemonic.hpp │ │ │ ├── payment_address.hpp │ │ │ ├── qrcode.hpp │ │ │ ├── select_outputs.hpp │ │ │ ├── settings.hpp │ │ │ ├── stealth_address.hpp │ │ │ ├── uri.hpp │ │ │ └── uri_reader.hpp │ │ ├── coin.hpp │ │ ├── database/ │ │ │ ├── data_base.hpp │ │ │ ├── databases/ │ │ │ │ ├── base_db.hpp │ │ │ │ ├── block_db.hpp │ │ │ │ ├── history_db.hpp │ │ │ │ ├── spend_db.hpp │ │ │ │ ├── stealth_db.hpp │ │ │ │ └── tx_db.hpp │ │ │ ├── define.hpp │ │ │ ├── impl/ │ │ │ │ ├── hash_table_header.ipp │ │ │ │ ├── record_hash_table.ipp │ │ │ │ ├── record_multimap.ipp │ │ │ │ ├── record_row.ipp │ │ │ │ ├── remainder.ipp │ │ │ │ ├── slab_hash_table.ipp │ │ │ │ └── slab_row.ipp │ │ │ ├── memory/ │ │ │ │ ├── accessor.hpp │ │ │ │ ├── allocator.hpp │ │ │ │ ├── memory.hpp │ │ │ │ └── memory_map.hpp │ │ │ ├── primitives/ │ │ │ │ ├── hash_table_header.hpp │ │ │ │ ├── record_hash_table.hpp │ │ │ │ ├── record_list.hpp │ │ │ │ ├── record_manager.hpp │ │ │ │ ├── record_multimap.hpp │ │ │ │ ├── record_multimap_iterable.hpp │ │ │ │ ├── record_multimap_iterator.hpp │ │ │ │ ├── slab_hash_table.hpp │ │ │ │ └── slab_manager.hpp │ │ │ ├── result/ │ │ │ │ ├── base_result.hpp │ │ │ │ ├── block_result.hpp │ │ │ │ ├── token_result.hpp │ │ │ │ ├── tx_result.hpp │ │ │ │ ├── wallet_address_result.hpp │ │ │ │ ├── wallet_result.hpp │ │ │ │ └── wallet_token_result.hpp │ │ │ ├── settings.hpp │ │ │ └── version.hpp │ │ ├── database.hpp │ │ ├── explorer/ │ │ │ ├── callback_state.hpp │ │ │ ├── command.hpp │ │ │ ├── commands/ │ │ │ │ ├── fetch-history.hpp │ │ │ │ ├── fetch-stealth.hpp │ │ │ │ ├── help.hpp │ │ │ │ ├── offline_commands_impl.hpp │ │ │ │ ├── send-tx.hpp │ │ │ │ ├── settings.hpp │ │ │ │ ├── stealth-decode.hpp │ │ │ │ ├── stealth-encode.hpp │ │ │ │ ├── stealth-public.hpp │ │ │ │ ├── stealth-secret.hpp │ │ │ │ ├── stealth-shared.hpp │ │ │ │ ├── tx-decode.hpp │ │ │ │ └── validate-tx.hpp │ │ │ ├── config/ │ │ │ │ ├── address.hpp │ │ │ │ ├── algorithm.hpp │ │ │ │ ├── btc.hpp │ │ │ │ ├── byte.hpp │ │ │ │ ├── cert_key.hpp │ │ │ │ ├── ec_private.hpp │ │ │ │ ├── encoding.hpp │ │ │ │ ├── endorsement.hpp │ │ │ │ ├── hashtype.hpp │ │ │ │ ├── hd_key.hpp │ │ │ │ ├── header.hpp │ │ │ │ ├── input.hpp │ │ │ │ ├── language.hpp │ │ │ │ ├── output.hpp │ │ │ │ ├── point.hpp │ │ │ │ ├── raw.hpp │ │ │ │ ├── script.hpp │ │ │ │ ├── signature.hpp │ │ │ │ ├── transaction.hpp │ │ │ │ └── wrapper.hpp │ │ │ ├── define.hpp │ │ │ ├── dispatch.hpp │ │ │ ├── display.hpp │ │ │ ├── generated.hpp │ │ │ ├── impl/ │ │ │ │ ├── json_helper.ipp │ │ │ │ └── utility.ipp │ │ │ ├── json_helper.hpp │ │ │ ├── parser.hpp │ │ │ ├── utility.hpp │ │ │ └── version.hpp │ │ ├── explorer.hpp │ │ ├── network/ │ │ │ ├── acceptor.hpp │ │ │ ├── channel.hpp │ │ │ ├── connections.hpp │ │ │ ├── connector.hpp │ │ │ ├── const_buffer.hpp │ │ │ ├── define.hpp │ │ │ ├── hosts.hpp │ │ │ ├── locked_socket.hpp │ │ │ ├── message_subscriber.hpp │ │ │ ├── p2p.hpp │ │ │ ├── pending_channels.hpp │ │ │ ├── pending_sockets.hpp │ │ │ ├── protocols/ │ │ │ │ ├── protocol.hpp │ │ │ │ ├── protocol_address.hpp │ │ │ │ ├── protocol_events.hpp │ │ │ │ ├── protocol_ping.hpp │ │ │ │ ├── protocol_seed.hpp │ │ │ │ ├── protocol_timer.hpp │ │ │ │ └── protocol_version.hpp │ │ │ ├── proxy.hpp │ │ │ ├── sessions/ │ │ │ │ ├── session.hpp │ │ │ │ ├── session_batch.hpp │ │ │ │ ├── session_inbound.hpp │ │ │ │ ├── session_manual.hpp │ │ │ │ ├── session_outbound.hpp │ │ │ │ └── session_seed.hpp │ │ │ ├── settings.hpp │ │ │ ├── socket.hpp │ │ │ └── version.hpp │ │ ├── network.hpp │ │ ├── node/ │ │ │ ├── configuration.hpp │ │ │ ├── define.hpp │ │ │ ├── p2p_node.hpp │ │ │ ├── parser.hpp │ │ │ ├── protocols/ │ │ │ │ ├── protocol_block_in.hpp │ │ │ │ ├── protocol_block_out.hpp │ │ │ │ ├── protocol_block_sync.hpp │ │ │ │ ├── protocol_header_sync.hpp │ │ │ │ ├── protocol_miner.hpp │ │ │ │ ├── protocol_tx_in.hpp │ │ │ │ ├── protocol_tx_out.hpp │ │ │ │ └── protocol_version_quiet.hpp │ │ │ ├── sessions/ │ │ │ │ ├── session_block_sync.hpp │ │ │ │ ├── session_header_sync.hpp │ │ │ │ ├── session_inbound.hpp │ │ │ │ ├── session_manual.hpp │ │ │ │ └── session_outbound.hpp │ │ │ ├── settings.hpp │ │ │ ├── utility/ │ │ │ │ ├── header_queue.hpp │ │ │ │ ├── performance.hpp │ │ │ │ ├── reservation.hpp │ │ │ │ └── reservations.hpp │ │ │ └── version.hpp │ │ ├── node.hpp │ │ ├── protocol/ │ │ │ ├── converter.hpp │ │ │ ├── define.hpp │ │ │ ├── interface.pb.h │ │ │ ├── packet.hpp │ │ │ ├── primitives.hpp │ │ │ ├── request_packet.hpp │ │ │ ├── response_packet.hpp │ │ │ ├── version.hpp │ │ │ └── zmq/ │ │ │ ├── authenticator.hpp │ │ │ ├── certificate.hpp │ │ │ ├── context.hpp │ │ │ ├── frame.hpp │ │ │ ├── identifiers.hpp │ │ │ ├── poller.hpp │ │ │ ├── socket.hpp │ │ │ ├── worker.hpp │ │ │ └── zeromq.hpp │ │ └── protocol.hpp │ ├── UChainApp/ │ │ ├── ucd/ │ │ │ ├── config.hpp │ │ │ ├── define.hpp │ │ │ ├── interface/ │ │ │ │ ├── address.hpp │ │ │ │ ├── blockchain.hpp │ │ │ │ ├── protocol.hpp │ │ │ │ └── tx_pool.hpp │ │ │ ├── messages/ │ │ │ │ └── route.hpp │ │ │ ├── parser.hpp │ │ │ ├── server_node.hpp │ │ │ ├── services/ │ │ │ │ ├── block_service.hpp │ │ │ │ ├── heartbeat_service.hpp │ │ │ │ ├── query_service.hpp │ │ │ │ └── tx_service.hpp │ │ │ ├── settings.hpp │ │ │ ├── utility/ │ │ │ │ ├── address_key.hpp │ │ │ │ ├── authenticator.hpp │ │ │ │ ├── coredump.hpp │ │ │ │ └── fetch_helpers.hpp │ │ │ ├── version.hpp │ │ │ └── workers/ │ │ │ ├── notification_worker.hpp │ │ │ └── query_worker.hpp │ │ └── ucd.hpp │ └── UChainService/ │ ├── api/ │ │ ├── command/ │ │ │ ├── base_helper.hpp │ │ │ ├── command_assistant.hpp │ │ │ ├── command_extension.hpp │ │ │ ├── command_extension_func.hpp │ │ │ ├── commands/ │ │ │ │ ├── addaddress.hpp │ │ │ │ ├── addpeer.hpp │ │ │ │ ├── changepass.hpp │ │ │ │ ├── checkpublickey.hpp │ │ │ │ ├── checkwalletinfo.hpp │ │ │ │ ├── createmultisigaddress.hpp │ │ │ │ ├── createmultisigtx.hpp │ │ │ │ ├── createrawtx.hpp │ │ │ │ ├── createtoken.hpp │ │ │ │ ├── createwallet.hpp │ │ │ │ ├── decoderawtx.hpp │ │ │ │ ├── deletemultisigaddress.hpp │ │ │ │ ├── deletetoken.hpp │ │ │ │ ├── deletewallet.hpp │ │ │ │ ├── deposit.hpp │ │ │ │ ├── destroy.hpp │ │ │ │ ├── exportkeyfile.hpp │ │ │ │ ├── importkeyfile.hpp │ │ │ │ ├── importwallet.hpp │ │ │ │ ├── registercandidate.hpp │ │ │ │ ├── registercert.hpp │ │ │ │ ├── registersecondarytoken.hpp │ │ │ │ ├── registertoken.hpp │ │ │ │ ├── registeruid.hpp │ │ │ │ ├── sendfrom.hpp │ │ │ │ ├── sendrawtx.hpp │ │ │ │ ├── sendto.hpp │ │ │ │ ├── sendtokenfrom.hpp │ │ │ │ ├── sendtokento.hpp │ │ │ │ ├── sendtomulti.hpp │ │ │ │ ├── setminingwallet.hpp │ │ │ │ ├── showaddresses.hpp │ │ │ │ ├── showaddresstoken.hpp │ │ │ │ ├── showaddressucn.hpp │ │ │ │ ├── showbalance.hpp │ │ │ │ ├── showbalances.hpp │ │ │ │ ├── showblock.hpp │ │ │ │ ├── showblockheader.hpp │ │ │ │ ├── showblockheaders.hpp │ │ │ │ ├── showblockheight.hpp │ │ │ │ ├── showcandidate.hpp │ │ │ │ ├── showcandidates.hpp │ │ │ │ ├── showheaderext.hpp │ │ │ │ ├── showinfo.hpp │ │ │ │ ├── showminers.hpp │ │ │ │ ├── showmininginfo.hpp │ │ │ │ ├── showmultisigaddresses.hpp │ │ │ │ ├── showpeers.hpp │ │ │ │ ├── showtoken.hpp │ │ │ │ ├── showtokens.hpp │ │ │ │ ├── showtokenview.hpp │ │ │ │ ├── showtx.hpp │ │ │ │ ├── showtxpool.hpp │ │ │ │ ├── showtxs.hpp │ │ │ │ ├── showuid.hpp │ │ │ │ ├── showuids.hpp │ │ │ │ ├── showvote.hpp │ │ │ │ ├── showwallettoken.hpp │ │ │ │ ├── showwork.hpp │ │ │ │ ├── shutdown.hpp │ │ │ │ ├── signmultisigtx.hpp │ │ │ │ ├── signrawtx.hpp │ │ │ │ ├── startmining.hpp │ │ │ │ ├── stopmining.hpp │ │ │ │ ├── submitwork.hpp │ │ │ │ ├── swaptoken.hpp │ │ │ │ ├── transfercandidate.hpp │ │ │ │ ├── transfercert.hpp │ │ │ │ ├── transferuid.hpp │ │ │ │ ├── validateaddress.hpp │ │ │ │ └── vote.hpp │ │ │ ├── exception.hpp │ │ │ ├── node_method_wrapper.hpp │ │ │ └── wallet_info.hpp │ │ ├── rest.hpp │ │ └── restful/ │ │ ├── MgServer.hpp │ │ ├── Mongoose.hpp │ │ ├── MongooseCli.hpp │ │ ├── ReadME.md │ │ ├── RestServ.hpp │ │ ├── WsPushServ.hpp │ │ ├── WsServer.hpp │ │ ├── compat/ │ │ │ ├── define.hpp │ │ │ └── string_view.h │ │ ├── exception/ │ │ │ ├── Error.hpp │ │ │ ├── Exception.hpp │ │ │ └── Instances.hpp │ │ └── utility/ │ │ ├── Compare.hpp │ │ ├── Queue.hpp │ │ ├── Stream.hpp │ │ ├── Stream_buf.hpp │ │ ├── String.hpp │ │ └── Tokeniser.hpp │ ├── consensus/ │ │ ├── consensus.hpp │ │ ├── define.hpp │ │ ├── export.hpp │ │ ├── libdevcore/ │ │ │ ├── Base64.h │ │ │ ├── BuildInfo.h │ │ │ ├── Common.h │ │ │ ├── CommonData.h │ │ │ ├── CommonIO.h │ │ │ ├── Exceptions.h │ │ │ ├── FixedHash.h │ │ │ ├── Guards.h │ │ │ ├── Log.h │ │ │ ├── RLP.h │ │ │ ├── SHA3.h │ │ │ ├── Terminal.h │ │ │ ├── picosha2.h │ │ │ └── vector_ref.h │ │ ├── miner.hpp │ │ └── version.hpp │ ├── consensus.hpp │ ├── data/ │ │ └── databases/ │ │ ├── address_token_db.hpp │ │ ├── address_uid_db.hpp │ │ ├── blockchain_candidate_db.hpp │ │ ├── blockchain_token_cert_db.hpp │ │ ├── blockchain_token_db.hpp │ │ ├── blockchain_uid_db.hpp │ │ ├── candidate_history_db.hpp │ │ ├── token_db.hpp │ │ ├── wallet_address_db.hpp │ │ ├── wallet_db.hpp │ │ └── wallet_token_db.hpp │ └── txs/ │ ├── asset.hpp │ ├── asset_data.hpp │ ├── token/ │ │ ├── attenuation_model.hpp │ │ ├── blockchain_token.hpp │ │ ├── candidate.hpp │ │ ├── token.hpp │ │ ├── token_cert.hpp │ │ ├── token_detail.hpp │ │ └── token_transfer.hpp │ ├── ucn/ │ │ ├── ucn.hpp │ │ └── ucn_award.hpp │ ├── uid/ │ │ ├── blockchain_uid.hpp │ │ ├── uid.hpp │ │ └── uid_detail.hpp │ ├── utility/ │ │ ├── callstack.hpp │ │ ├── daemon.hpp │ │ └── path.hpp │ ├── variant.hpp │ └── wallet/ │ ├── wallet.hpp │ └── wallet_address.hpp ├── install_thirdlibrary ├── src/ │ ├── CMakeLists.txt │ ├── README.md │ ├── UChain/ │ │ ├── README.md │ │ ├── blockchain/ │ │ │ ├── CMakeLists.txt │ │ │ ├── block.cpp │ │ │ ├── block_chain_impl.cpp │ │ │ ├── block_fetcher.cpp │ │ │ ├── block_info.cpp │ │ │ ├── organizer.cpp │ │ │ ├── orphan_pool.cpp │ │ │ ├── settings.cpp │ │ │ ├── tx_pool.cpp │ │ │ ├── tx_pool_index.cpp │ │ │ ├── validate_block.cpp │ │ │ ├── validate_block_impl.cpp │ │ │ ├── validate_tx_engine.cpp │ │ │ └── wallet_security_strategy.cpp │ │ ├── client/ │ │ │ ├── CMakeLists.txt │ │ │ ├── dealer.cpp │ │ │ ├── obelisk_client.cpp │ │ │ ├── proxy.cpp │ │ │ └── socket_stream.cpp │ │ ├── coin/ │ │ │ ├── CMakeLists.txt │ │ │ ├── chain/ │ │ │ │ ├── block.cpp │ │ │ │ ├── header.cpp │ │ │ │ ├── input.cpp │ │ │ │ ├── output.cpp │ │ │ │ ├── point.cpp │ │ │ │ ├── point_iterator.cpp │ │ │ │ ├── script/ │ │ │ │ │ ├── conditional_stack.cpp │ │ │ │ │ ├── conditional_stack.hpp │ │ │ │ │ ├── evaluation_context.cpp │ │ │ │ │ ├── evaluation_context.hpp │ │ │ │ │ ├── opcode.cpp │ │ │ │ │ ├── operation.cpp │ │ │ │ │ └── script.cpp │ │ │ │ └── transaction.cpp │ │ │ ├── config/ │ │ │ │ ├── authority.cpp │ │ │ │ ├── base16.cpp │ │ │ │ ├── base2.cpp │ │ │ │ ├── base58.cpp │ │ │ │ ├── base64.cpp │ │ │ │ ├── checkpoint.cpp │ │ │ │ ├── directory.cpp │ │ │ │ ├── endpoint.cpp │ │ │ │ ├── hash160.cpp │ │ │ │ ├── hash256.cpp │ │ │ │ ├── parameter.cpp │ │ │ │ ├── parser.cpp │ │ │ │ ├── printer.cpp │ │ │ │ └── sodium.cpp │ │ │ ├── constants.cpp │ │ │ ├── error.cpp │ │ │ ├── formats/ │ │ │ │ ├── base_10.cpp │ │ │ │ ├── base_16.cpp │ │ │ │ ├── base_58.cpp │ │ │ │ ├── base_64.cpp │ │ │ │ └── base_85.cpp │ │ │ ├── math/ │ │ │ │ ├── checksum.cpp │ │ │ │ ├── crypto.cpp │ │ │ │ ├── elliptic_curve.cpp │ │ │ │ ├── external/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── aes256.c │ │ │ │ │ ├── aes256.h │ │ │ │ │ ├── crypto_scrypt.c │ │ │ │ │ ├── crypto_scrypt.h │ │ │ │ │ ├── hmac_sha256.c │ │ │ │ │ ├── hmac_sha256.h │ │ │ │ │ ├── hmac_sha512.c │ │ │ │ │ ├── hmac_sha512.h │ │ │ │ │ ├── lax_der_parsing.c │ │ │ │ │ ├── lax_der_parsing.h │ │ │ │ │ ├── pbkdf2_sha256.c │ │ │ │ │ ├── pbkdf2_sha256.h │ │ │ │ │ ├── pkcs5_pbkdf2.c │ │ │ │ │ ├── pkcs5_pbkdf2.h │ │ │ │ │ ├── ripemd160.c │ │ │ │ │ ├── ripemd160.h │ │ │ │ │ ├── sha1.c │ │ │ │ │ ├── sha1.h │ │ │ │ │ ├── sha256.c │ │ │ │ │ ├── sha256.h │ │ │ │ │ ├── sha512.c │ │ │ │ │ ├── sha512.h │ │ │ │ │ ├── zeroize.c │ │ │ │ │ └── zeroize.h │ │ │ │ ├── hash.cpp │ │ │ │ ├── hash_number.cpp │ │ │ │ ├── script_number.cpp │ │ │ │ ├── secp256k1_initializer.cpp │ │ │ │ ├── secp256k1_initializer.hpp │ │ │ │ ├── stealth.cpp │ │ │ │ └── uint256.cpp │ │ │ ├── message/ │ │ │ │ ├── address.cpp │ │ │ │ ├── alert.cpp │ │ │ │ ├── alert_payload.cpp │ │ │ │ ├── block_msg.cpp │ │ │ │ ├── block_txs.cpp │ │ │ │ ├── compact_block.cpp │ │ │ │ ├── fee_filter.cpp │ │ │ │ ├── filter_add.cpp │ │ │ │ ├── filter_clear.cpp │ │ │ │ ├── filter_load.cpp │ │ │ │ ├── get_address.cpp │ │ │ │ ├── get_block_txs.cpp │ │ │ │ ├── get_blocks.cpp │ │ │ │ ├── get_data.cpp │ │ │ │ ├── get_headers.cpp │ │ │ │ ├── headers.cpp │ │ │ │ ├── heading.cpp │ │ │ │ ├── inventory.cpp │ │ │ │ ├── inventory_vector.cpp │ │ │ │ ├── memory_pool.cpp │ │ │ │ ├── merkle_block.cpp │ │ │ │ ├── network_address.cpp │ │ │ │ ├── not_found.cpp │ │ │ │ ├── ping.cpp │ │ │ │ ├── pong.cpp │ │ │ │ ├── prefilled_tx.cpp │ │ │ │ ├── reject.cpp │ │ │ │ ├── send_compact_blocks.cpp │ │ │ │ ├── send_headers.cpp │ │ │ │ ├── verack.cpp │ │ │ │ └── version.cpp │ │ │ ├── unicode/ │ │ │ │ ├── console_streambuf.cpp │ │ │ │ ├── ifstream.cpp │ │ │ │ ├── ofstream.cpp │ │ │ │ ├── unicode.cpp │ │ │ │ ├── unicode_istream.cpp │ │ │ │ ├── unicode_ostream.cpp │ │ │ │ └── unicode_streambuf.cpp │ │ │ ├── utility/ │ │ │ │ ├── binary.cpp │ │ │ │ ├── conditional_lock.cpp │ │ │ │ ├── deadline.cpp │ │ │ │ ├── dispatcher.cpp │ │ │ │ ├── istream_reader.cpp │ │ │ │ ├── log.cpp │ │ │ │ ├── logging.cpp │ │ │ │ ├── monitor.cpp │ │ │ │ ├── ostream_writer.cpp │ │ │ │ ├── png.cpp │ │ │ │ ├── random.cpp │ │ │ │ ├── resource_lock.cpp │ │ │ │ ├── scope_lock.cpp │ │ │ │ ├── string.cpp │ │ │ │ ├── thread.cpp │ │ │ │ ├── threadpool.cpp │ │ │ │ ├── time.cpp │ │ │ │ ├── variable_uint_size.cpp │ │ │ │ └── work.cpp │ │ │ └── wallet/ │ │ │ ├── bitcoin_uri.cpp │ │ │ ├── dictionary.cpp │ │ │ ├── dictionary_symbol.cpp │ │ │ ├── ec_private.cpp │ │ │ ├── ec_public.cpp │ │ │ ├── ek_private.cpp │ │ │ ├── ek_public.cpp │ │ │ ├── ek_token.cpp │ │ │ ├── encrypted_keys.cpp │ │ │ ├── hd_private.cpp │ │ │ ├── hd_public.cpp │ │ │ ├── mini_keys.cpp │ │ │ ├── mnemonic.cpp │ │ │ ├── parse_encrypted_keys/ │ │ │ │ ├── parse_encrypted_key.hpp │ │ │ │ ├── parse_encrypted_key.ipp │ │ │ │ ├── parse_encrypted_prefix.hpp │ │ │ │ ├── parse_encrypted_prefix.ipp │ │ │ │ ├── parse_encrypted_private.cpp │ │ │ │ ├── parse_encrypted_private.hpp │ │ │ │ ├── parse_encrypted_public.cpp │ │ │ │ ├── parse_encrypted_public.hpp │ │ │ │ ├── parse_encrypted_token.cpp │ │ │ │ └── parse_encrypted_token.hpp │ │ │ ├── payment_address.cpp │ │ │ ├── qrcode.cpp │ │ │ ├── select_outputs.cpp │ │ │ ├── stealth_address.cpp │ │ │ └── uri.cpp │ │ ├── database/ │ │ │ ├── CMakeLists.txt │ │ │ ├── data_base.cpp │ │ │ ├── memory/ │ │ │ │ ├── accessor.cpp │ │ │ │ ├── allocator.cpp │ │ │ │ └── memory_map.cpp │ │ │ ├── mman-mingw/ │ │ │ │ ├── mman.c │ │ │ │ └── mman.h │ │ │ ├── mman-win32/ │ │ │ │ ├── mman.c │ │ │ │ └── mman.h │ │ │ ├── primitives/ │ │ │ │ ├── record_list.cpp │ │ │ │ ├── record_manager.cpp │ │ │ │ ├── record_multimap_iterable.cpp │ │ │ │ ├── record_multimap_iterator.cpp │ │ │ │ └── slab_manager.cpp │ │ │ ├── result/ │ │ │ │ ├── block_result.cpp │ │ │ │ ├── token_result.cpp │ │ │ │ ├── tx_result.cpp │ │ │ │ ├── wallet_result.cpp │ │ │ │ ├── wallet_token_result.cpp │ │ │ │ └── walllet_address_result.cpp │ │ │ └── settings.cpp │ │ ├── explorer/ │ │ │ ├── CMakeLists.txt │ │ │ ├── callback_state.cpp │ │ │ ├── commands/ │ │ │ │ ├── fetch-history.cpp │ │ │ │ ├── fetch-stealth.cpp │ │ │ │ ├── help.cpp │ │ │ │ ├── offline/ │ │ │ │ │ ├── stealth-decode.cpp │ │ │ │ │ ├── stealth-encode.cpp │ │ │ │ │ ├── stealth-public.cpp │ │ │ │ │ ├── stealth-secret.cpp │ │ │ │ │ ├── stealth-shared.cpp │ │ │ │ │ └── tx-decode.cpp │ │ │ │ ├── offline_commands_impl.cpp │ │ │ │ ├── send-tx.cpp │ │ │ │ ├── settings.cpp │ │ │ │ └── validate-tx.cpp │ │ │ ├── config/ │ │ │ │ ├── address.cpp │ │ │ │ ├── algorithm.cpp │ │ │ │ ├── btc.cpp │ │ │ │ ├── byte.cpp │ │ │ │ ├── cert_key.cpp │ │ │ │ ├── ec_private.cpp │ │ │ │ ├── encoding.cpp │ │ │ │ ├── endorsement.cpp │ │ │ │ ├── hashtype.cpp │ │ │ │ ├── hd_key.cpp │ │ │ │ ├── header.cpp │ │ │ │ ├── input.cpp │ │ │ │ ├── language.cpp │ │ │ │ ├── output.cpp │ │ │ │ ├── point.cpp │ │ │ │ ├── raw.cpp │ │ │ │ ├── script.cpp │ │ │ │ ├── signature.cpp │ │ │ │ ├── transaction.cpp │ │ │ │ └── wrapper.cpp │ │ │ ├── dispatch.cpp │ │ │ ├── display.cpp │ │ │ ├── generated.cpp │ │ │ ├── json_helper.cpp │ │ │ ├── parser.cpp │ │ │ └── utility.cpp │ │ ├── network/ │ │ │ ├── CMakeLists.txt │ │ │ ├── acceptor.cpp │ │ │ ├── channel.cpp │ │ │ ├── connections.cpp │ │ │ ├── connector.cpp │ │ │ ├── const_buffer.cpp │ │ │ ├── hosts.cpp │ │ │ ├── locked_socket.cpp │ │ │ ├── message_subscriber.cpp │ │ │ ├── p2p.cpp │ │ │ ├── pending_channels.cpp │ │ │ ├── pending_sockets.cpp │ │ │ ├── protocols/ │ │ │ │ ├── protocol.cpp │ │ │ │ ├── protocol_address.cpp │ │ │ │ ├── protocol_events.cpp │ │ │ │ ├── protocol_ping.cpp │ │ │ │ ├── protocol_seed.cpp │ │ │ │ ├── protocol_timer.cpp │ │ │ │ └── protocol_version.cpp │ │ │ ├── proxy.cpp │ │ │ ├── sessions/ │ │ │ │ ├── session.cpp │ │ │ │ ├── session_batch.cpp │ │ │ │ ├── session_inbound.cpp │ │ │ │ ├── session_manual.cpp │ │ │ │ ├── session_outbound.cpp │ │ │ │ └── session_seed.cpp │ │ │ ├── settings.cpp │ │ │ └── socket.cpp │ │ ├── node/ │ │ │ ├── CMakeLists.txt │ │ │ ├── configuration.cpp │ │ │ ├── p2p_node.cpp │ │ │ ├── parser.cpp │ │ │ ├── protocols/ │ │ │ │ ├── protocol_block_in.cpp │ │ │ │ ├── protocol_block_out.cpp │ │ │ │ ├── protocol_block_sync.cpp │ │ │ │ ├── protocol_header_sync.cpp │ │ │ │ ├── protocol_miner.cpp │ │ │ │ ├── protocol_tx_in.cpp │ │ │ │ ├── protocol_tx_out.cpp │ │ │ │ └── protocol_version_quiet.cpp │ │ │ ├── sessions/ │ │ │ │ ├── session_block_sync.cpp │ │ │ │ ├── session_header_sync.cpp │ │ │ │ ├── session_inbound.cpp │ │ │ │ ├── session_manual.cpp │ │ │ │ └── session_outbound.cpp │ │ │ ├── settings.cpp │ │ │ └── utility/ │ │ │ ├── header_queue.cpp │ │ │ ├── performance.cpp │ │ │ ├── reservation.cpp │ │ │ └── reservations.cpp │ │ └── protocol/ │ │ ├── CMakeLists.txt │ │ ├── converter.cpp │ │ ├── interface.pb.cc │ │ ├── packet.cpp │ │ ├── request_packet.cpp │ │ ├── response_packet.cpp │ │ └── zmq/ │ │ ├── authenticator.cpp │ │ ├── certificate.cpp │ │ ├── context.cpp │ │ ├── frame.cpp │ │ ├── identifiers.cpp │ │ ├── message.cpp │ │ ├── poller.cpp │ │ ├── socket.cpp │ │ ├── worker.cpp │ │ └── zeromq.cpp │ ├── UChainApp/ │ │ ├── uc-cli/ │ │ │ ├── CMakeLists.txt │ │ │ └── main.cpp │ │ └── ucd/ │ │ ├── CMakeLists.txt │ │ ├── executor.cpp │ │ ├── executor.hpp │ │ ├── main.cpp │ │ └── server/ │ │ ├── address_key.cpp │ │ ├── config.cpp │ │ ├── interface/ │ │ │ ├── address.cpp │ │ │ ├── blockchain.cpp │ │ │ ├── protocol.cpp │ │ │ └── tx_pool.cpp │ │ ├── messages/ │ │ │ ├── message.cpp │ │ │ └── route.cpp │ │ ├── parser.cpp │ │ ├── server_node.cpp │ │ ├── services/ │ │ │ ├── block_service.cpp │ │ │ ├── heartbeat_service.cpp │ │ │ ├── query_service.cpp │ │ │ └── tx_service.cpp │ │ ├── settings.cpp │ │ ├── utility/ │ │ │ ├── authenticator.cpp │ │ │ └── fetch_helpers.cpp │ │ └── workers/ │ │ ├── notification_worker.cpp │ │ └── query_worker.cpp │ └── UChainService/ │ ├── api/ │ │ ├── CMakeLists.txt │ │ ├── command/ │ │ │ ├── base_helper.cpp │ │ │ ├── command_assistant.cpp │ │ │ ├── command_extension_func.cpp │ │ │ ├── commands/ │ │ │ │ ├── addaddress.cpp │ │ │ │ ├── addpeer.cpp │ │ │ │ ├── changepass.cpp │ │ │ │ ├── checkpublickey.cpp │ │ │ │ ├── checkwalletinfo.cpp │ │ │ │ ├── createmultisigaddresses.cpp │ │ │ │ ├── createmultisigtx.cpp │ │ │ │ ├── createrawtx.cpp │ │ │ │ ├── createtoken.cpp │ │ │ │ ├── createwallet.cpp │ │ │ │ ├── decoderawtx.cpp │ │ │ │ ├── deletemultisigaddress.cpp │ │ │ │ ├── deletetoken.cpp │ │ │ │ ├── deletewallet.cpp │ │ │ │ ├── deposit.cpp │ │ │ │ ├── destroy.cpp │ │ │ │ ├── exportkeyfile.cpp │ │ │ │ ├── importkeyfile.cpp │ │ │ │ ├── importwallet.cpp │ │ │ │ ├── registercandidate.cpp │ │ │ │ ├── registercert.cpp │ │ │ │ ├── registersecondarytoken.cpp │ │ │ │ ├── registertoken.cpp │ │ │ │ ├── registeruid.cpp │ │ │ │ ├── sendfrom.cpp │ │ │ │ ├── sendrawtx.cpp │ │ │ │ ├── sendto.cpp │ │ │ │ ├── sendtokenfrom.cpp │ │ │ │ ├── sendtokento.cpp │ │ │ │ ├── sendtomulti.cpp │ │ │ │ ├── setminingwallet.cpp │ │ │ │ ├── showaddresses.cpp │ │ │ │ ├── showaddresstoken.cpp │ │ │ │ ├── showaddressucn.cpp │ │ │ │ ├── showbalance.cpp │ │ │ │ ├── showbalances.cpp │ │ │ │ ├── showblock.cpp │ │ │ │ ├── showblockheader.cpp │ │ │ │ ├── showblockheaders.cpp │ │ │ │ ├── showblockheight.cpp │ │ │ │ ├── showcandidate.cpp │ │ │ │ ├── showcandidates.cpp │ │ │ │ ├── showheaderext.cpp │ │ │ │ ├── showinfo.cpp │ │ │ │ ├── showminers.cpp │ │ │ │ ├── showmininginfo.cpp │ │ │ │ ├── showmultisigaddresses.cpp │ │ │ │ ├── showpeers.cpp │ │ │ │ ├── showtoken.cpp │ │ │ │ ├── showtokens.cpp │ │ │ │ ├── showtokenview.cpp │ │ │ │ ├── showtx.cpp │ │ │ │ ├── showtxpool.cpp │ │ │ │ ├── showtxs.cpp │ │ │ │ ├── showuid.cpp │ │ │ │ ├── showuids.cpp │ │ │ │ ├── showvote.cpp │ │ │ │ ├── showwallettoken.cpp │ │ │ │ ├── showwork.cpp │ │ │ │ ├── shutdown.cpp │ │ │ │ ├── signmultisigtx.cpp │ │ │ │ ├── signrawtx.cpp │ │ │ │ ├── startmining.cpp │ │ │ │ ├── stopmining.cpp │ │ │ │ ├── submitwork.cpp │ │ │ │ ├── swaptoken.cpp │ │ │ │ ├── transfercandidate.cpp │ │ │ │ ├── transfercert.cpp │ │ │ │ ├── transferuid.cpp │ │ │ │ ├── validateaddress.cpp │ │ │ │ └── vote.cpp │ │ │ ├── exception.cpp │ │ │ ├── node_method_wrapper.cpp │ │ │ └── wallet_info.cpp │ │ └── restful/ │ │ ├── MgServer.cpp │ │ ├── Mongoose.cpp │ │ ├── RestServ.cpp │ │ ├── WsPushServ.cpp │ │ ├── exception/ │ │ │ ├── Error.cpp │ │ │ ├── Exception.cpp │ │ │ └── Instances.cpp │ │ └── utility/ │ │ ├── Stream.cpp │ │ └── Stream_buf.cpp │ ├── consensus/ │ │ ├── CMakeLists.txt │ │ ├── clone/ │ │ │ ├── amount.h │ │ │ ├── compat/ │ │ │ │ ├── byteswap.h │ │ │ │ └── endian.h │ │ │ ├── crypto/ │ │ │ │ ├── common.h │ │ │ │ ├── hmac_sha512.cpp │ │ │ │ ├── hmac_sha512.h │ │ │ │ ├── ripemd160.cpp │ │ │ │ ├── ripemd160.h │ │ │ │ ├── sha1.cpp │ │ │ │ ├── sha1.h │ │ │ │ ├── sha256.cpp │ │ │ │ ├── sha256.h │ │ │ │ ├── sha512.cpp │ │ │ │ └── sha512.h │ │ │ ├── hash.cpp │ │ │ ├── hash.h │ │ │ ├── prevector.h │ │ │ ├── primitives/ │ │ │ │ ├── transaction.cpp │ │ │ │ └── transaction.h │ │ │ ├── pubkey.cpp │ │ │ ├── pubkey.h │ │ │ ├── script/ │ │ │ │ ├── interpreter.cpp │ │ │ │ ├── interpreter.h │ │ │ │ ├── script.cpp │ │ │ │ ├── script.h │ │ │ │ └── script_error.h │ │ │ ├── serialize.h │ │ │ ├── tinyformat.h │ │ │ ├── uint256.cpp │ │ │ ├── uint256.h │ │ │ ├── utilstrencodings.cpp │ │ │ ├── utilstrencodings.h │ │ │ └── version.h │ │ ├── common/ │ │ │ └── libdevcore/ │ │ │ ├── Base64.cpp │ │ │ ├── Common.cpp │ │ │ ├── CommonData.cpp │ │ │ ├── CommonIO.cpp │ │ │ ├── FixedHash.cpp │ │ │ ├── Guards.cpp │ │ │ ├── Log.cpp │ │ │ ├── RLP.cpp │ │ │ ├── SHA3.cpp │ │ │ └── cmake_install.cmake │ │ ├── consensus/ │ │ │ └── consensus.cpp │ │ └── miner.cpp │ ├── data/ │ │ ├── CMakeLists.txt │ │ └── database/ │ │ ├── address_token_db.cpp │ │ ├── address_uid_db.cpp │ │ ├── blockchain_candidate_db.cpp │ │ ├── blockchain_token_cert_db.cpp │ │ ├── blockchain_token_db.cpp │ │ ├── blockchain_uid_db.cpp │ │ ├── candidate_history_db.cpp │ │ ├── token_db.cpp │ │ ├── wallet_address_db.cpp │ │ ├── wallet_db.cpp │ │ └── wallet_token_db.cpp │ └── txs/ │ ├── CMakeLists.txt │ ├── asset.cpp │ ├── asset_data.cpp │ ├── message/ │ │ └── message.cpp │ ├── token/ │ │ ├── attenuation_model.cpp │ │ ├── blockchain_token.cpp │ │ ├── candidate.cpp │ │ ├── token.cpp │ │ ├── token_cert.cpp │ │ ├── token_detail.cpp │ │ └── token_transfer.cpp │ ├── ucn/ │ │ ├── ucn.cpp │ │ └── ucn_award.cpp │ ├── uid/ │ │ ├── blockchain_uid.cpp │ │ ├── uid.cpp │ │ └── uid_detail.cpp │ ├── utility/ │ │ ├── callstack.cpp │ │ ├── daemon.cpp │ │ └── path.cpp │ └── wallet/ │ ├── wallet.cpp │ └── wallet_address.cpp ├── test/ │ └── uc-cli-1.sh └── thirdparty/ ├── CMakeLists.txt ├── README.md ├── cryptojs/ │ ├── CMakeLists.txt │ ├── aes256_cbc.cpp │ ├── aes256_cbc.h │ ├── cryptojs_impl.cpp │ ├── cryptojs_impl.h │ ├── md5.cpp │ └── md5.h ├── json/ │ ├── minijson_reader.hpp │ └── minijson_writer.hpp ├── jsoncpp/ │ ├── CMakeLists.txt │ ├── json/ │ │ ├── json-forwards.h │ │ └── json.h │ └── jsoncpp.cpp └── mongoose/ ├── CMakeLists.txt ├── mongoose.c └── mongoose.h