├── .github └── workflows │ ├── makefile.yml │ └── rust.yml ├── .gitignore ├── CHOMPER ├── COPYRIGHT ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── Makefile ├── README ├── README.md ├── TODO ├── bitcoin-addr ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── addr.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-addrman ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── add.rs │ ├── addr.rs │ ├── addrman.rs │ ├── attempt.rs │ ├── check.rs │ ├── clear.rs │ ├── config.rs │ ├── connected.rs │ ├── create.rs │ ├── delete.rs │ ├── deserialize.rs │ ├── find.rs │ ├── format.rs │ ├── get.rs │ ├── good.rs │ ├── imports.rs │ ├── info.rs │ ├── inner.rs │ ├── lib.rs │ ├── load.rs │ ├── make_tried.rs │ ├── pimpl.rs │ ├── read_from_stream.rs │ ├── resolve.rs │ ├── select.rs │ ├── select_tried_collision.rs │ ├── serialize.rs │ ├── set_services.rs │ └── swap.rs └── tests │ └── addrman.rs ├── bitcoin-aes ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── aes.rs │ ├── ctaes.rs │ ├── ctaes_bench.rs │ ├── ctaes_test.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-amt ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── imports.rs │ └── lib.rs └── tests │ └── money_range.rs ├── bitcoin-argsman ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── add.rs │ ├── arg.rs │ ├── args.rs │ ├── argsman.rs │ ├── basechainparams.rs │ ├── clear.rs │ ├── command.rs │ ├── defaults.rs │ ├── flags.rs │ ├── get_arg.rs │ ├── get_blocks_dir_path.rs │ ├── get_chain_name.rs │ ├── get_command.rs │ ├── get_data.rs │ ├── get_help_message.rs │ ├── get_setting.rs │ ├── get_unrecognized_sections.rs │ ├── get_unsuitable_section_only_args.rs │ ├── help.rs │ ├── imports.rs │ ├── inner.rs │ ├── interpret.rs │ ├── lib.rs │ ├── load.rs │ ├── log.rs │ ├── options_category.rs │ ├── parse.rs │ ├── query.rs │ ├── read_config.rs │ ├── section.rs │ ├── select_network.rs │ ├── set.rs │ ├── settings.rs │ ├── tx.rs │ └── use_default_section.rs ├── bitcoin-asmap ├── Cargo.toml ├── README.md └── src │ ├── asmap.rs │ ├── asn.rs │ ├── bits.rs │ ├── decode_match.rs │ ├── imports.rs │ ├── instruction.rs │ ├── interpret.rs │ ├── jump.rs │ ├── lib.rs │ ├── sanity.rs │ └── ty.rs ├── bitcoin-autofile ├── Cargo.toml ├── README.md └── src │ ├── autofile.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-banman ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── ban.rs │ ├── banman.rs │ ├── banmap.rs │ ├── clear.rs │ ├── config.rs │ ├── db.rs │ ├── dirty.rs │ ├── discourage.rs │ ├── dump.rs │ ├── entry.rs │ ├── imports.rs │ ├── inner.rs │ ├── lib.rs │ ├── query.rs │ ├── subnet.rs │ └── unban.rs ├── bitcoin-base58 ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── base58.rs │ ├── decode.rs │ ├── decode_check.rs │ ├── encode.rs │ ├── encode_check.rs │ ├── imports.rs │ └── lib.rs └── tests │ └── base58.rs ├── bitcoin-bdb ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── batch.rs │ ├── bdb.rs │ ├── berkeley_env.rs │ ├── check_unique.rs │ ├── create.rs │ ├── get_env.rs │ ├── imports.rs │ ├── lib.rs │ ├── libdb_hook.rs │ └── wallet_database_fileid.rs ├── bitcoin-bech32m ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── bech32.rs │ ├── checksum.rs │ ├── decode.rs │ ├── encode.rs │ ├── imports.rs │ ├── lib.rs │ └── poly_mod.rs └── tests │ ├── bech32.rs │ └── bech32m.rs ├── bitcoin-bench ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bench.rs │ ├── bench_addrman.rs │ ├── bench_base58.rs │ ├── bench_bech32.rs │ ├── bench_bench_bitcoin.rs │ ├── bench_block_assemble.rs │ ├── bench_ccoins_caching.rs │ ├── bench_chacha20.rs │ ├── bench_chacha_poly_aead.rs │ ├── bench_checkblock.rs │ ├── bench_checkqueue.rs │ ├── bench_coin_selection.rs │ ├── bench_crypto_hash.rs │ ├── bench_data.rs │ ├── bench_duplicate_inputs.rs │ ├── bench_examples.rs │ ├── bench_gcs_filter.rs │ ├── bench_hashpadding.rs │ ├── bench_lockedpool.rs │ ├── bench_mempool_eviction.rs │ ├── bench_mempool_stress.rs │ ├── bench_merkle_root.rs │ ├── bench_peer_eviction.rs │ ├── bench_poly1305.rs │ ├── bench_prevector.rs │ ├── bench_rollingbloom.rs │ ├── bench_rpc_blockchain.rs │ ├── bench_rpc_mempool.rs │ ├── bench_util_time.rs │ ├── bench_verify_script.rs │ ├── bench_wallet_balance.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-bigint ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── add_assign.rs │ ├── add_sub_mul_div.rs │ ├── base_uint.rs │ ├── bit_and.rs │ ├── bit_or.rs │ ├── bit_xor.rs │ ├── div_assign.rs │ ├── dump_bits.rs │ ├── from_limbs.rs │ ├── from_str.rs │ ├── from_u64.rs │ ├── get_hex.rs │ ├── hex_to_val.rs │ ├── impls.rs │ ├── imports.rs │ ├── lib.rs │ ├── limb_count.rs │ ├── mul_assign.rs │ ├── neg_not.rs │ ├── ord.rs │ ├── round_trip_hex.rs │ ├── set_hex.rs │ ├── shl.rs │ ├── shl_assign.rs │ ├── shr.rs │ ├── shr_assign.rs │ ├── simple_lcg.rs │ └── sub_assign.rs ├── bitcoin-bitstream ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bitstream_reader.rs │ ├── bitstream_writer.rs │ ├── count.rs │ ├── data_stream.rs │ ├── dummy_deserialize_type.rs │ ├── imports.rs │ ├── lib.rs │ ├── override_stream.rs │ ├── read.rs │ ├── traits.rs │ └── write.rs ├── bitcoin-blob ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── base_blob.rs │ ├── basic.rs │ ├── blob.rs │ ├── from_bytes.rs │ ├── hex.rs │ ├── impl_iter.rs │ ├── imports.rs │ ├── lib.rs │ ├── nibble_from_hexchar.rs │ ├── ord_eq.rs │ ├── serialization.rs │ └── simple_rng.rs ├── bitcoin-block ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── allocate_file_range.rs │ ├── block.rs │ ├── block_file_info.rs │ ├── block_index.rs │ ├── block_status.rs │ ├── blockstorage.rs │ ├── check_disk_space.rs │ ├── comparator.rs │ ├── connect_trace.rs │ ├── constants.rs │ ├── directory_commit.rs │ ├── disk_block_index.rs │ ├── file_commit.rs │ ├── flatfile_pos.rs │ ├── flatfile_seq.rs │ ├── header.rs │ ├── imports.rs │ ├── interface.rs │ ├── lib.rs │ ├── locator.rs │ ├── tip.rs │ ├── truncate_file.rs │ └── validation.rs └── tests │ └── blockchain.rs ├── bitcoin-blockencoding ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── block_header_and_short_txids.rs │ ├── block_transactions.rs │ ├── compression.rs │ ├── difference_formatter.rs │ ├── imports.rs │ ├── lib.rs │ ├── prefilled_transaction.rs │ ├── read_status.rs │ └── request.rs └── tests │ └── blockencodings.rs ├── bitcoin-blockfilter ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── access.rs │ ├── blockfilter.rs │ ├── constants.rs │ ├── destroy.rs │ ├── filter_type.rs │ ├── imports.rs │ ├── index.rs │ ├── init.rs │ ├── lib.rs │ └── map_into_range.rs └── tests │ ├── blockfilter.rs │ └── blockfilter_index.rs ├── bitcoin-blockman ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── blockman.rs │ ├── blocktree.rs │ ├── check_legacy.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-blockpolicy ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── block_span.rs │ ├── config.rs │ ├── estimate_combined_fee.rs │ ├── estimate_conservative_fee.rs │ ├── estimate_fee.rs │ ├── estimate_raw_fee.rs │ ├── estimate_smart_fee.rs │ ├── estimator.rs │ ├── flush.rs │ ├── highest_target_tracked.rs │ ├── imports.rs │ ├── lib.rs │ ├── max_usable_estimate.rs │ ├── process_block.rs │ ├── process_block_tx.rs │ ├── process_tx.rs │ ├── read.rs │ ├── remove_tx.rs │ ├── txstats_info.rs │ └── write.rs ├── bitcoin-bloom ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── bloom.rs │ ├── common.rs │ ├── flags.rs │ ├── imports.rs │ ├── lib.rs │ └── rolling.rs └── tests │ └── bloom.rs ├── bitcoin-bufferedfile ├── Cargo.toml ├── README.md └── src │ ├── buffered_file.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-cfg ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ └── lib.rs ├── bitcoin-chacha ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bcmp.rs │ ├── chacha20.rs │ ├── chacha_poly_aead.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-chain-consensus ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bip9_deployment.rs │ ├── consensus_deployment.rs │ ├── imports.rs │ ├── lib.rs │ ├── merkle.rs │ └── params.rs ├── bitcoin-chainman ├── Cargo.toml ├── README.md └── src │ ├── chainman.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-checkqueue ├── Cargo.toml ├── README.md ├── src │ ├── checkqueue.rs │ ├── control.rs │ ├── imports.rs │ ├── inner.rs │ └── lib.rs └── tests │ └── checkqueue.rs ├── bitcoin-cli ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── addr.rs │ ├── addrinfo_request_handler.rs │ ├── app_initrpc.rs │ ├── base_request_handler.rs │ ├── callrpc.rs │ ├── cli_main.rs │ ├── cli_rpc.rs │ ├── config.rs │ ├── connect_and_callrpc.rs │ ├── default_request_handler.rs │ ├── getinfo_request_handler.rs │ ├── http_reply.rs │ ├── imports.rs │ ├── lib.rs │ ├── log.rs │ ├── netinfo.rs │ ├── netinfo_peer.rs │ ├── parse_get_info_result.rs │ ├── progress.rs │ ├── result.rs │ ├── to_address.rs │ ├── wallet_balance.rs │ └── win.rs ├── bitcoin-client-ui ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── config.rs │ ├── imports.rs │ ├── init_error.rs │ ├── lib.rs │ ├── message_box_flags.rs │ ├── ui_interface.rs │ └── ui_signals.rs ├── bitcoin-coincontrol ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── apply.rs │ ├── coinstats.rs │ ├── hash.rs │ ├── imports.rs │ ├── lib.rs │ └── utxo_stats.rs ├── bitcoin-coinselect ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── approximate_best_subset.rs │ ├── coin.rs │ ├── comparator.rs │ ├── eligibility.rs │ ├── get_selection_waste.rs │ ├── imports.rs │ ├── input_coin.rs │ ├── knapsack_solver.rs │ ├── lib.rs │ ├── output_group.rs │ ├── params.rs │ └── select.rs └── tests │ └── coinselector.rs ├── bitcoin-coinsview ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── access.rs │ ├── add.rs │ ├── backed.rs │ ├── bitfield.rs │ ├── cache.rs │ ├── cache_entry.rs │ ├── coin.rs │ ├── config.rs │ ├── cursor.rs │ ├── db.rs │ ├── dbcursor.rs │ ├── entry.rs │ ├── error_catcher.rs │ ├── imports.rs │ ├── interface.rs │ ├── legacy_coins.rs │ ├── lib.rs │ ├── mempool.rs │ └── view.rs └── tests │ └── coins.rs ├── bitcoin-compat ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── assumptions.rs │ ├── byteswap.rs │ ├── compat.rs │ ├── cpuid.rs │ ├── endian.rs │ ├── glibcxx_sanity.rs │ ├── imports.rs │ ├── lib.rs │ ├── sanity.rs │ ├── stdin.rs │ ├── strnlen.rs │ └── syscall_sandbox.rs └── tests │ ├── bswap.rs │ └── compilerbug.rs ├── bitcoin-compressor ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── amount_compression.rs │ ├── checks.rs │ ├── compress.rs │ ├── compress_amount.rs │ ├── compressor.rs │ ├── decompress.rs │ ├── decompress_amount.rs │ ├── imports.rs │ ├── lib.rs │ ├── script_compression.rs │ └── txout_compression.rs └── tests │ └── compress.rs ├── bitcoin-connman ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── accept.rs │ ├── add.rs │ ├── add_whitelist_permission_flags.rs │ ├── addr_fetches.rs │ ├── attempt_to_evict.rs │ ├── bind.rs │ ├── bind_listen_port.rs │ ├── bytes_transmitted.rs │ ├── cached.rs │ ├── calculate_keyed_net_group.rs │ ├── check_incoming_nonce.rs │ ├── connect_node.rs │ ├── connman.rs │ ├── create_node_from_accepted_socket.rs │ ├── disconnect.rs │ ├── dump.rs │ ├── find_node.rs │ ├── generate_select_set.rs │ ├── get.rs │ ├── get_added_node_info.rs │ ├── get_addresses.rs │ ├── imports.rs │ ├── inactivity_check.rs │ ├── init.rs │ ├── interrupt.rs │ ├── lib.rs │ ├── listen_socket.rs │ ├── msg_proc.rs │ ├── nodes.rs │ ├── notify.rs │ ├── open_network_connection.rs │ ├── options.rs │ ├── outbound_target_reached.rs │ ├── poisson_next_send_inbound.rs │ ├── process_addr_fetch.rs │ ├── push_message.rs │ ├── record.rs │ ├── set.rs │ ├── socket_events.rs │ ├── socket_handler.rs │ ├── socket_send_data.rs │ ├── start.rs │ ├── stop.rs │ ├── thread_dns_address_seed.rs │ ├── thread_i2p_accept_incoming.rs │ ├── thread_message_handler.rs │ ├── thread_open_added_connections.rs │ ├── thread_open_connections.rs │ ├── update_node.rs │ └── wake_message_handler.rs ├── bitcoin-crc32c ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── arm64.rs │ ├── arm64_check.rs │ ├── arm64_unittest.rs │ ├── benchmark.rs │ ├── capi_unittest.rs │ ├── extend_unittests.rs │ ├── imports.rs │ ├── interface.rs │ ├── lib.rs │ ├── portable.rs │ ├── prefetch.rs │ ├── prefetch_unittest.rs │ ├── read_le.rs │ ├── read_le_unittest.rs │ ├── round_up.rs │ ├── round_up_unittest.rs │ ├── sse42.rs │ ├── sse42_check.rs │ ├── sse42_unittest.rs │ ├── test_main.rs │ └── unittest.rs ├── bitcoin-crypter ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── crypter.rs │ ├── imports.rs │ ├── lib.rs │ └── masterkey.rs ├── bitcoin-cuckoo-cache ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bit_packed_atomic_flags.rs │ ├── cuckoocache.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-daemon ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── app_init.rs │ ├── bitcoind.rs │ ├── fork_daemon.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-db ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── batch.rs │ ├── error.rs │ ├── imports.rs │ ├── iterator.rs │ ├── lib.rs │ ├── logger.rs │ ├── max_open_files.rs │ ├── options.rs │ ├── serdeser.rs │ └── wrapper.rs ├── bitcoin-deployment ├── Cargo.toml ├── README.md └── src │ ├── deployment.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-derive ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ └── lib.rs ├── bitcoin-dns ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── lookup.rs ├── bitcoin-doc.md ├── bitcoin-dummywallet ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── dummywallet.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-dumpwallet ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── create_from_dump.rs │ ├── dump.rs │ ├── imports.rs │ ├── lib.rs │ └── release_wallet.rs ├── bitcoin-epoch ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── epoch.rs │ ├── epochguard.rs │ ├── imports.rs │ ├── lib.rs │ └── marker.rs ├── bitcoin-fees ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── encoded_double_formatter.rs │ ├── estimate_horizon.rs │ ├── estimate_mode.rs │ ├── estimator_bucket.rs │ ├── feerate.rs │ ├── fees.rs │ ├── filter_fee_rounder.rs │ ├── imports.rs │ ├── lib.rs │ ├── tx_confirm_stats.rs │ └── units.rs └── tests │ ├── get_fee.rs │ └── ops.rs ├── bitcoin-foundblock ├── Cargo.toml ├── README.md └── src │ ├── found_block.rs │ ├── imports.rs │ ├── lib.rs │ └── traits.rs ├── bitcoin-fuzz ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── fuzz_addition_overflow.rs │ ├── fuzz_addrman.rs │ ├── fuzz_asmap.rs │ ├── fuzz_asmap_direct.rs │ ├── fuzz_autofile.rs │ ├── fuzz_banman.rs │ ├── fuzz_base_encode_decode.rs │ ├── fuzz_bech32.rs │ ├── fuzz_block.rs │ ├── fuzz_block_header.rs │ ├── fuzz_blockfilter.rs │ ├── fuzz_bloom_filter.rs │ ├── fuzz_buffered_file.rs │ ├── fuzz_chain.rs │ ├── fuzz_checkqueue.rs │ ├── fuzz_coins_view.rs │ ├── fuzz_connman.rs │ ├── fuzz_crypto.rs │ ├── fuzz_crypto_aes256.rs │ ├── fuzz_crypto_aes256cbc.rs │ ├── fuzz_crypto_chacha20.rs │ ├── fuzz_crypto_chacha20_poly1305_aead.rs │ ├── fuzz_crypto_common.rs │ ├── fuzz_crypto_hkdf_hmac_sha256_l32.rs │ ├── fuzz_crypto_poly1305.rs │ ├── fuzz_cuckoocache.rs │ ├── fuzz_decode_tx.rs │ ├── fuzz_descriptor_parse.rs │ ├── fuzz_deserialize.rs │ ├── fuzz_eval_script.rs │ ├── fuzz_fee_rate.rs │ ├── fuzz_fees.rs │ ├── fuzz_flatfile.rs │ ├── fuzz_float.rs │ ├── fuzz_fuzzeddataprovider.rs │ ├── fuzz_golomb_rice.rs │ ├── fuzz_hex.rs │ ├── fuzz_http_request.rs │ ├── fuzz_i2p.rs │ ├── fuzz_integer.rs │ ├── fuzz_key.rs │ ├── fuzz_key_io.rs │ ├── fuzz_kitchen_sink.rs │ ├── fuzz_load_external_block_file.rs │ ├── fuzz_locale.rs │ ├── fuzz_merkleblock.rs │ ├── fuzz_message.rs │ ├── fuzz_muhash.rs │ ├── fuzz_multiplication_overflow.rs │ ├── fuzz_net.rs │ ├── fuzz_net_permissions.rs │ ├── fuzz_netaddress.rs │ ├── fuzz_netbase_dns_lookup.rs │ ├── fuzz_node_eviction.rs │ ├── fuzz_p2p_transport_serialization.rs │ ├── fuzz_parse_hd_keypath.rs │ ├── fuzz_parse_iso8601.rs │ ├── fuzz_parse_numbers.rs │ ├── fuzz_parse_script.rs │ ├── fuzz_parse_univalue.rs │ ├── fuzz_policy_estimator.rs │ ├── fuzz_policy_estimator_io.rs │ ├── fuzz_pow.rs │ ├── fuzz_prevector.rs │ ├── fuzz_primitives_transaction.rs │ ├── fuzz_process_message.rs │ ├── fuzz_process_messages.rs │ ├── fuzz_protocol.rs │ ├── fuzz_psbt.rs │ ├── fuzz_random.rs │ ├── fuzz_rbf.rs │ ├── fuzz_rolling_bloom_filter.rs │ ├── fuzz_rpc.rs │ ├── fuzz_script.rs │ ├── fuzz_script_assets_test_minimizer.rs │ ├── fuzz_script_consensus.rs │ ├── fuzz_script_descriptor_cache.rs │ ├── fuzz_script_flags.rs │ ├── fuzz_script_interpreter.rs │ ├── fuzz_script_ops.rs │ ├── fuzz_script_sigcache.rs │ ├── fuzz_script_sign.rs │ ├── fuzz_scriptnum_ops.rs │ ├── fuzz_secp256k1_ec_seckey_import_export_der.rs │ ├── fuzz_secp256k1_ecdsa_signature_parse_der_lax.rs │ ├── fuzz_signature_checker.rs │ ├── fuzz_signet.rs │ ├── fuzz_socks5.rs │ ├── fuzz_span.rs │ ├── fuzz_spanparsing.rs │ ├── fuzz_string.rs │ ├── fuzz_strprintf.rs │ ├── fuzz_system.rs │ ├── fuzz_test_fuzz.rs │ ├── fuzz_timedata.rs │ ├── fuzz_torcontrol.rs │ ├── fuzz_transaction.rs │ ├── fuzz_tx_in.rs │ ├── fuzz_tx_out.rs │ ├── fuzz_tx_pool.rs │ ├── fuzz_txrequest.rs │ ├── fuzz_util.rs │ ├── fuzz_utxo_snapshot.rs │ ├── fuzz_validation_load_mempool.rs │ ├── fuzz_versionbits.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-golombrice ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── gcsfilter.rs │ ├── golombrice.rs │ ├── imports.rs │ └── lib.rs └── tests │ └── gcs.rs ├── bitcoin-hash ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── assume.rs │ ├── bytevectorhash.rs │ ├── hash.rs │ ├── hash_160.rs │ ├── hash_256.rs │ ├── hash_type.rs │ ├── hasher.rs │ ├── imports.rs │ ├── lib.rs │ ├── murmur.rs │ ├── out_point.rs │ ├── verifier.rs │ └── writer.rs ├── bitcoin-hdchain ├── Cargo.toml ├── README.md └── src │ ├── hdchain.rs │ ├── hdkeypath.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-http ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── httprpc.rs │ ├── httpserver.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-imports ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── lib.rs │ ├── multidex.rs │ ├── stdexcept.rs │ └── util.rs ├── bitcoin-index ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── base.rs │ ├── base_db.rs │ ├── imports.rs │ ├── interface.rs │ ├── lib.rs │ ├── summary.rs │ └── validation.rs ├── bitcoin-indexed-chain ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── chain.rs │ ├── chain_impl.rs │ ├── check_block_header.rs │ ├── destination_encoder.rs │ ├── expected_assumeutxo.rs │ ├── fill_block.rs │ ├── flush.rs │ ├── genesis.rs │ ├── guess_verification_progress.rs │ ├── imports.rs │ ├── index.rs │ ├── interface.rs │ ├── lib.rs │ ├── load_mempool.rs │ ├── mempool_accept.rs │ ├── node.rs │ ├── nodecontext.rs │ ├── notify.rs │ ├── state.rs │ ├── test_lock_point_validity.rs │ ├── txmempool.rs │ ├── unload_block_index.rs │ ├── update_height.rs │ ├── update_tip_log.rs │ ├── validation.rs │ ├── validation_interface.rs │ ├── verify_db.rs │ ├── wallet_interface.rs │ └── wallet_txn.rs └── tests │ ├── coinstatsindex.rs │ └── txindex.rs ├── bitcoin-indirectmap ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── indirectmap.rs │ └── lib.rs ├── bitcoin-init ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bitcoind.rs │ ├── btc_node.rs │ ├── btc_wallet.rs │ ├── common.rs │ ├── echo.rs │ ├── gui.rs │ ├── handler.rs │ ├── imports.rs │ ├── init.rs │ ├── lib.rs │ ├── noui.rs │ ├── qt.rs │ └── setup.rs ├── bitcoin-ipc ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── capnp_protocol.rs │ ├── context.rs │ ├── imports.rs │ ├── ipc.rs │ ├── lib.rs │ ├── process.rs │ └── protocol.rs ├── bitcoin-key ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── extkey.rs │ ├── imports.rs │ ├── key.rs │ ├── keyorigin.rs │ ├── keypool.rs │ ├── lib.rs │ ├── meta.rs │ ├── privkey.rs │ └── pubkey.rs └── tests │ └── bip32.rs ├── bitcoin-leveldb ├── Cargo.toml ├── README.md ├── build.rs └── src │ └── lib.rs ├── bitcoin-log ├── Cargo.toml ├── README.md ├── build.rs ├── debug.log ├── logger_inner_tests_mock.log ├── logger_log_print_str_mock.log ├── probes.d ├── src │ ├── c_stdout.rs │ ├── category.rs │ ├── defaults.rs │ ├── disconnect_test_logger.rs │ ├── enabled.rs │ ├── escape_message.rs │ ├── flags.rs │ ├── format.rs │ ├── imports.rs │ ├── inner.rs │ ├── instance.rs │ ├── lib.rs │ ├── linked_list_ext.rs │ ├── log_callbacks.rs │ ├── log_categories_list.rs │ ├── log_print_str.rs │ ├── log_timestamp_str.rs │ ├── logger.rs │ ├── printf.rs │ ├── shrink_debug_file.rs │ ├── start_logging.rs │ ├── timer.rs │ ├── trace.rs │ └── util.rs ├── test_disconnect_mock.log ├── test_log_print_str_file.log ├── test_log_print_str_file_unique_3.log ├── test_log_print_str_mock.log ├── test_log_print_str_mock_unique_1.log └── test_log_print_str_mock_unique_2.log ├── bitcoin-mainsignals ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── main_signals.rs ├── bitcoin-mem ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── dynamic_usage.rs │ ├── imports.rs │ ├── lib.rs │ ├── malloc_usage.rs │ └── recursive_dynamic_usage.rs ├── bitcoin-merkle ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── merkleblock.rs ├── bitcoin-message ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ └── message.rs ├── bitcoin-miner ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── miner.rs ├── bitcoin-muhash ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── divmul.rs │ ├── imports.rs │ ├── lib.rs │ ├── limb.rs │ ├── muhash.rs │ └── num3072.rs ├── bitcoin-net-zmq ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── traits.rs │ ├── zmqabstractnotifier.rs │ ├── zmqnotificationinterface.rs │ ├── zmqpublishnotifier.rs │ └── zmqrpc.rs ├── bitcoin-net ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── capture_message.rs │ ├── config.rs │ ├── connection_type.rs │ ├── discover.rs │ ├── imports.rs │ ├── interface.rs │ ├── lib.rs │ ├── local_service_info.rs │ ├── net.rs │ ├── net_cleanup.rs │ ├── poisson_next_send.rs │ ├── processing.rs │ ├── split.rs │ ├── transport_serializer.rs │ └── url.rs ├── bitcoin-netmsg ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── message.rs │ ├── netmessagemaker.rs │ └── protocol.rs ├── bitcoin-netpermissions ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── permissions.rs ├── bitcoin-network ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── netaddr.rs │ ├── netaddress.rs │ └── network.rs ├── bitcoin-node ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── node.rs │ └── node_impl.rs ├── bitcoin-noui ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ └── noui.rs ├── bitcoin-packages ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── packages.rs ├── bitcoin-peerman ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── accept_to_memory_pool.rs │ ├── add_address.rs │ ├── add_to_compact_extra_txns.rs │ ├── add_tx_announcement.rs │ ├── addr_send_times.rs │ ├── alredy_have_block.rs │ ├── alredy_have_tx.rs │ ├── announcement_index.rs │ ├── block_checked.rs │ ├── block_connected.rs │ ├── block_disconnected.rs │ ├── block_inv.rs │ ├── block_request_allowed.rs │ ├── block_requested.rs │ ├── can_direct_fetch.rs │ ├── chain_sync_timeout_state.rs │ ├── check_for_stale_tip_and_evict_peers.rs │ ├── compute_tx_hashinfo.rs │ ├── consider_eviction.rs │ ├── evict_extra_outbound_peers.rs │ ├── finalize_node.rs │ ├── find_fork_in_global_index.rs │ ├── find_next_blocks_to_download.rs │ ├── find_tx_for_getdata.rs │ ├── get_node_state_stats.rs │ ├── get_peer_ref.rs │ ├── ignores_incoming_txs.rs │ ├── imports.rs │ ├── initialize_node.rs │ ├── is_block_requested.rs │ ├── lib.rs │ ├── maybe_discourage_and_disconnect.rs │ ├── maybe_punish_node_for_block.rs │ ├── maybe_punish_node_for_tx.rs │ ├── maybe_send_addr.rs │ ├── maybe_send_fee_filter.rs │ ├── maybe_send_ping.rs │ ├── maybe_set_peer_as_announcing_header_and_ids.rs │ ├── misbehavior.rs │ ├── new_pow_valid_block.rs │ ├── node_state.rs │ ├── orphans.rs │ ├── partial_block.rs │ ├── peer.rs │ ├── peer_has_header.rs │ ├── peerinfo.rs │ ├── peerman.rs │ ├── peerman_inner.rs │ ├── prepare_block_filter_request.rs │ ├── priority_computer.rs │ ├── process_addr_message.rs │ ├── process_block.rs │ ├── process_block_availability.rs │ ├── process_block_message.rs │ ├── process_blocktxn_message.rs │ ├── process_cmpctblock_message.rs │ ├── process_feefilter_message.rs │ ├── process_filteradd_message.rs │ ├── process_filterclear_message.rs │ ├── process_filterload_message.rs │ ├── process_get_data.rs │ ├── process_get_filters.rs │ ├── process_getaddr_message.rs │ ├── process_getblock_data.rs │ ├── process_getblocks_message.rs │ ├── process_getblockstxn_message.rs │ ├── process_getcf_checkpt.rs │ ├── process_getcf_headers.rs │ ├── process_getdata_message.rs │ ├── process_getheaders_message.rs │ ├── process_headers_message.rs │ ├── process_inv_message.rs │ ├── process_mempool_message.rs │ ├── process_message.rs │ ├── process_messages.rs │ ├── process_notfound_message.rs │ ├── process_orphan_tx.rs │ ├── process_ping_message.rs │ ├── process_pong_message.rs │ ├── process_sendaddrv2_message.rs │ ├── process_sendcmpct_message.rs │ ├── process_sendheaders_message.rs │ ├── process_tx_message.rs │ ├── process_verack_message.rs │ ├── process_version_message.rs │ ├── process_wtxidrelay_message.rs │ ├── push_node_version.rs │ ├── reattempt_initial_broadcast.rs │ ├── recent_confirmed_txns.rs │ ├── relay_address.rs │ ├── relay_txn.rs │ ├── remove_block_request.rs │ ├── remove_peer.rs │ ├── send_block_transactions.rs │ ├── send_messages.rs │ ├── send_pings.rs │ ├── set_best_height.rs │ ├── setup_address_relay.rs │ ├── start_scheduled_tasks.rs │ ├── tip_may_be_stale.rs │ ├── traits.rs │ ├── txhashinfo.rs │ ├── txorphanage.rs │ ├── txrequest_comparator.rs │ ├── txrequest_compute.rs │ ├── txrequest_priority.rs │ ├── txrequest_tracker.rs │ ├── txrequest_tracker_announcement.rs │ ├── txrequest_tracker_impl.rs │ ├── txrequest_tracker_state.rs │ ├── txrequest_waitstate.rs │ ├── update_block_availability.rs │ ├── update_last_block_announce_time.rs │ ├── update_preferred_download.rs │ └── updated_block_tip.rs └── tests │ └── txrequest.rs ├── bitcoin-policy ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── policy.rs ├── bitcoin-poly1305 ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── poly1305.rs ├── bitcoin-portmap ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ └── portmap.rs ├── bitcoin-pow ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── pow.rs ├── bitcoin-proxy ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── netbase.rs ├── bitcoin-psbt ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── analysis.rs │ ├── cfg.rs │ ├── combine.rs │ ├── count.rs │ ├── decode.rs │ ├── finalize.rs │ ├── imports.rs │ ├── input.rs │ ├── lib.rs │ ├── output.rs │ ├── precomputed.rs │ ├── psbt.rs │ ├── role.rs │ ├── sign.rs │ ├── signer.rs │ └── update.rs ├── bitcoin-qt ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── addressbookpage.rs │ ├── addresstablemodel.rs │ ├── askpassphrasedialog.rs │ ├── bantablemodel.rs │ ├── bitcoinaddressvalidator.rs │ ├── bitcoinamountfield.rs │ ├── bitcoingui.rs │ ├── bitcoinstrings.rs │ ├── bitcoinunits.rs │ ├── clientmodel.rs │ ├── coincontroldialog.rs │ ├── coincontroltreewidget.rs │ ├── createwalletdialog.rs │ ├── csvmodelwriter.rs │ ├── editaddressdialog.rs │ ├── guiconstants.rs │ ├── guiutil.rs │ ├── imports.rs │ ├── initexecutor.rs │ ├── intro.rs │ ├── lib.rs │ ├── macdockiconhandler.rs │ ├── macnotificationhandler.rs │ ├── macos_appnap.rs │ ├── modaloverlay.rs │ ├── networkstyle.rs │ ├── notificator.rs │ ├── openuridialog.rs │ ├── optionsdialog.rs │ ├── optionsmodel.rs │ ├── overviewpage.rs │ ├── paymentserver.rs │ ├── peertablemodel.rs │ ├── peertablesortproxy.rs │ ├── platformstyle.rs │ ├── psbtoperationsdialog.rs │ ├── qrimagewidget.rs │ ├── qt.rs │ ├── qvalidatedlineedit.rs │ ├── qvaluecombobox.rs │ ├── receivecoinsdialog.rs │ ├── receiverequestdialog.rs │ ├── recentrequeststablemodel.rs │ ├── rpcconsole.rs │ ├── run_main.rs │ ├── sendcoinsdialog.rs │ ├── sendcoinsentry.rs │ ├── sendcoinsrecipient.rs │ ├── signverifymessagedialog.rs │ ├── splashscreen.rs │ ├── test_addressbooktests.rs │ ├── test_apptests.rs │ ├── test_rpcnestedtests.rs │ ├── test_test_main.rs │ ├── test_uritests.rs │ ├── test_util.rs │ ├── test_wallettests.rs │ ├── trafficgraphwidget.rs │ ├── transactiondesc.rs │ ├── transactiondescdialog.rs │ ├── transactionfilterproxy.rs │ ├── transactionoverviewwidget.rs │ ├── transactiontablemodel.rs │ ├── transactionview.rs │ ├── txn.rs │ ├── unlinked.rs │ ├── utilitydialog.rs │ ├── walletcontroller.rs │ ├── walletframe.rs │ ├── walletmodel.rs │ ├── walletmodeltransaction.rs │ ├── walletview.rs │ └── winshutdownmonitor.rs ├── bitcoin-random ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── dev_urandom.rs │ ├── fast_random_context.rs │ ├── get_os_rand.rs │ ├── get_rand.rs │ ├── hardware_rand.rs │ ├── imports.rs │ ├── init.rs │ ├── lib.rs │ ├── performance_counter.rs │ ├── proc_rand.rs │ ├── random.rs │ ├── randomenv.rs │ ├── rd_rand.rs │ ├── rd_seed.rs │ ├── sanity.rs │ ├── seed.rs │ ├── seed_hardware.rs │ ├── shuffle.rs │ ├── state.rs │ └── strengthen.rs ├── bitcoin-rbf ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── rbf.rs ├── bitcoin-remote ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── auth_cookie.rs │ ├── convert_param.rs │ ├── convert_table.rs │ ├── error_code.rs │ ├── imports.rs │ ├── json_request.rs │ ├── lib.rs │ └── register.rs ├── bitcoin-restapi ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ └── rest.rs ├── bitcoin-ripemd ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── ripemd160.rs ├── bitcoin-sam ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── i2p.rs │ ├── imports.rs │ └── lib.rs └── tests │ └── i2p.rs ├── bitcoin-scheduler ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── scheduler.rs ├── bitcoin-scripting ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bitcoinconsensus.rs │ ├── gen_txid.rs │ ├── imports.rs │ ├── interpreter.rs │ ├── lib.rs │ ├── outputtype.rs │ ├── parse.rs │ ├── script.rs │ ├── script_error.rs │ ├── sigcache.rs │ ├── sign.rs │ ├── signature_checker.rs │ └── standard.rs ├── bitcoin-scriptpubkeyman ├── Cargo.toml ├── README.md └── src │ ├── access.rs │ ├── descriptor.rs │ ├── imports.rs │ ├── is_mine.rs │ ├── legacy_script_pubkey_man.rs │ ├── legacy_signing_provider.rs │ ├── lib.rs │ ├── scriptpubkeyman.rs │ └── traits.rs ├── bitcoin-secp256k1 ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── assumptions.rs │ ├── gen_context.rs │ ├── imports.rs │ ├── lib.rs │ ├── preallocated.rs │ ├── secp256k1.rs │ ├── selftest.rs │ ├── testrand.rs │ ├── tests.rs │ ├── tests_exhaustive.rs │ └── valgrind_ctime_test.rs ├── bitcoin-serialize ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── serialize.rs ├── bitcoin-service-flags ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── flags.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-service ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── service.rs ├── bitcoin-settings ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── settings.rs ├── bitcoin-sha1 ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── sha1.rs ├── bitcoin-sha256 ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── hash.rs │ ├── hkdf_sha256_32.rs │ ├── hmac_sha256.rs │ ├── imports.rs │ ├── lib.rs │ ├── sha256.rs │ ├── sha256_avx2.rs │ ├── sha256_shani.rs │ ├── sha256_sse4.rs │ └── sha256_sse41.rs ├── bitcoin-sha3 ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── sha3.rs ├── bitcoin-sha512 ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── hmac_sha512.rs │ ├── imports.rs │ ├── lib.rs │ └── sha512.rs ├── bitcoin-signet ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ └── signet.rs ├── bitcoin-signingprovider ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── access.rs │ ├── address_descriptor.rs │ ├── bip32_pubkey_provider.rs │ ├── cache.rs │ ├── checksum.rs │ ├── combo_descriptor.rs │ ├── const_pubkey_provider.rs │ ├── descriptor.rs │ ├── descriptor_impl.rs │ ├── error.rs │ ├── external.rs │ ├── external_signer.rs │ ├── fillable_provider.rs │ ├── flat_provider.rs │ ├── hiding_provider.rs │ ├── imports.rs │ ├── infer.rs │ ├── interface.rs │ ├── lib.rs │ ├── multisig_descriptor.rs │ ├── mutable_txn_signature_creator.rs │ ├── origin_pubkey_provider.rs │ ├── outputtype.rs │ ├── parse_pubkey.rs │ ├── parse_script.rs │ ├── pk_descriptor.rs │ ├── pkh_descriptor.rs │ ├── poly_mod.rs │ ├── provider.rs │ ├── pubkey_provider.rs │ ├── raw_descriptor.rs │ ├── result.rs │ ├── sh_descriptor.rs │ ├── sigcreator.rs │ ├── sigcreator_dummy.rs │ ├── sign.rs │ ├── tr_descriptor.rs │ ├── wpkh_descriptor.rs │ └── wsh_descriptor.rs ├── bitcoin-siphash ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── siphash.rs ├── bitcoin-sock ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── sock.rs ├── bitcoin-sqlite ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── batch.rs │ ├── create.rs │ ├── database.rs │ ├── imports.rs │ ├── lib.rs │ ├── log.rs │ ├── pragma.rs │ └── version.rs ├── bitcoin-string ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── imports.rs │ ├── lib.rs │ ├── moneystr.rs │ ├── strencodings.rs │ ├── string.rs │ └── translation.rs └── tests │ ├── base32.rs │ └── base64.rs ├── bitcoin-subnet ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── subnet.rs ├── bitcoin-support ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── allocators_secure.rs │ ├── allocators_zeroafterfree.rs │ ├── cleanse.rs │ ├── events.rs │ ├── getuniquepath.rs │ ├── imports.rs │ ├── lib.rs │ └── lockedpool.rs └── tests │ ├── arena.rs │ ├── locked_page_allocator.rs │ └── locked_pool.rs ├── bitcoin-sync ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── scoped_raw_mutex.rs │ ├── sync_impl.rs │ ├── thread.rs │ └── threadinterrupt.rs ├── bitcoin-system ├── Cargo.toml ├── README.md ├── src │ ├── imports.rs │ ├── lib.rs │ └── system.rs └── tests │ └── threadnames.rs ├── bitcoin-test ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── db_not_found_error.rs │ ├── imports.rs │ ├── lib.rs │ ├── scriptnum10.rs │ ├── test_crypto.rs │ ├── test_crypto_tests.rs │ ├── test_cuckoocache.rs │ ├── test_db_tests.rs │ ├── test_dbwrapper.rs │ ├── test_denialofservice.rs │ ├── test_descriptor.rs │ ├── test_flatfile.rs │ ├── test_fs.rs │ ├── test_getarg.rs │ ├── test_hash.rs │ ├── test_init_test_fixture.rs │ ├── test_init_tests.rs │ ├── test_interfaces.rs │ ├── test_ismine_tests.rs │ ├── test_key.rs │ ├── test_key_io.rs │ ├── test_logging.rs │ ├── test_main.rs │ ├── test_mempool.rs │ ├── test_merkle.rs │ ├── test_merkleblock.rs │ ├── test_miner.rs │ ├── test_multisig.rs │ ├── test_net.rs │ ├── test_net_peer_eviction.rs │ ├── test_netbase.rs │ ├── test_pmt.rs │ ├── test_policy_fee.rs │ ├── test_policyestimator.rs │ ├── test_pow.rs │ ├── test_psbt_tests.rs │ ├── test_raii_event.rs │ ├── test_random.rs │ ├── test_reverselock.rs │ ├── test_rpc.rs │ ├── test_sanity.rs │ ├── test_scheduler.rs │ ├── test_script.rs │ ├── test_script_p2sh.rs │ ├── test_script_parse.rs │ ├── test_script_standard.rs │ ├── test_scriptnum.rs │ ├── test_scriptpubkeyman_tests.rs │ ├── test_serfloat.rs │ ├── test_serialize.rs │ ├── test_settings.rs │ ├── test_sighash.rs │ ├── test_sigopcount.rs │ ├── test_skiplist.rs │ ├── test_sock.rs │ ├── test_spend_tests.rs │ ├── test_streams.rs │ ├── test_sync.rs │ ├── test_system.rs │ ├── test_test_fixture.rs │ ├── test_tests.rs │ ├── test_timedata.rs │ ├── test_torcontrol.rs │ ├── test_transaction.rs │ ├── util_blockfilter.rs │ ├── util_chainstate.rs │ ├── util_logging.rs │ ├── util_mining.rs │ ├── util_net.rs │ ├── util_script.rs │ ├── util_setup_common.rs │ ├── util_str.rs │ ├── util_transaction_utils.rs │ ├── util_validation.rs │ └── util_wallet.rs ├── bitcoin-time ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── count.rs │ ├── get_time.rs │ ├── imports.rs │ ├── iso8601.rs │ ├── lib.rs │ ├── millis_to_timeval.rs │ ├── mock_time.rs │ ├── sanity.rs │ ├── sleep.rs │ └── timedata.rs ├── bitcoin-tokenpipe ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ └── tokenpipe.rs ├── bitcoin-top ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ └── lib.rs ├── bitcoin-tor ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── config.rs │ ├── connection.rs │ ├── controller.rs │ ├── imports.rs │ ├── lib.rs │ ├── lifecycle.rs │ ├── parse.rs │ ├── reply.rs │ └── safecookie_response.rs ├── bitcoin-tx ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── disconnected.rs │ ├── encoding.rs │ ├── imports.rs │ ├── lib.rs │ ├── precomputed.rs │ ├── sigchecker.rs │ ├── sigchecker_caching.rs │ ├── sigchecker_deferring.rs │ ├── sigchecker_dummy.rs │ ├── sigchecker_extractor.rs │ ├── sighash.rs │ ├── sigser.rs │ ├── spent.rs │ ├── transaction.rs │ ├── tx.rs │ ├── txin.rs │ ├── txout.rs │ └── utxo_snapshot.rs ├── bitcoin-txmempool ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── coinsview.rs │ ├── compare.rs │ ├── depth_and_score_comparator.rs │ ├── imports.rs │ ├── info.rs │ ├── lib.rs │ ├── mempool_accept_result.rs │ ├── rbf.rs │ ├── removal_reason.rs │ ├── settings.rs │ ├── tests │ │ └── versionbits.rs │ ├── txdb.rs │ ├── txid.rs │ ├── txmempool.rs │ ├── txundo.rs │ ├── undo.rs │ ├── update.rs │ ├── validation.rs │ └── versionbits.rs └── tests │ ├── txvalidation.rs │ └── txvalidation_cache.rs ├── bitcoin-txmempoolentry ├── Cargo.toml ├── README.md └── src │ ├── compare.rs │ ├── entry.rs │ ├── imports.rs │ └── lib.rs ├── bitcoin-u160 ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── u160_int.rs ├── bitcoin-u256 ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── arith_u256.rs │ ├── checkpoint.rs │ ├── compact.rs │ ├── conversion.rs │ ├── convert.rs │ ├── delegates.rs │ ├── imports.rs │ ├── lib.rs │ ├── u256_int.rs │ ├── u256_serde.rs │ └── u256_traits.rs └── tests │ ├── arith_u256.rs │ └── u256.rs ├── bitcoin-univalue ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── escapes.rs │ ├── gen.rs │ ├── get.rs │ ├── imports.rs │ ├── lib.rs │ ├── read.rs │ ├── test_no_nul.rs │ ├── test_object.rs │ ├── test_test_json.rs │ ├── test_unitester.rs │ ├── univalue.rs │ ├── utffilter.rs │ └── write.rs ├── bitcoin-validation ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── imports.rs │ ├── lib.rs │ └── state.rs └── tests │ ├── validation.rs │ ├── validation_block.rs │ ├── validation_chainstate.rs │ ├── validation_chainstate_manager.rs │ ├── validation_flush.rs │ └── validation_interface.rs ├── bitcoin-vectorstream ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ ├── vector_reader.rs │ └── vector_writer.rs ├── bitcoin-version ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── clientversion.rs │ ├── imports.rs │ ├── lib.rs │ └── version.rs ├── bitcoin-walletdb ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── db.rs │ ├── imports.rs │ └── lib.rs └── tests │ └── walletdb.rs ├── bitcoinchain-client ├── Cargo.toml ├── README.md └── src │ ├── client.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinchain-interface ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── interface.rs │ ├── lib.rs │ ├── state.rs │ └── traits.rs ├── bitcoinchain-notifications ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ └── notifications.rs ├── bitcoinchain-params ├── Cargo.toml ├── README.md └── src │ ├── create_select.rs │ ├── decode.rs │ ├── imports.rs │ ├── lib.rs │ ├── main_params.rs │ ├── params.rs │ ├── reg_test.rs │ ├── seeds.rs │ ├── sig_net.rs │ └── test_net.rs ├── bitcoinleveldb-arena ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── arena.rs │ ├── arena_test.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-batch ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── write_batch.rs │ ├── write_batch_alt.rs │ └── write_batch_test.rs ├── bitcoinleveldb-bench ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── db_bench.rs │ ├── db_bench_sqlite3.rs │ ├── db_bench_tree_db.rs │ ├── imports.rs │ ├── lib.rs │ └── mod.rs ├── bitcoinleveldb-bloom ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bloom.rs │ ├── bloom_test.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-cache ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── cache.rs │ ├── cache_test.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-cfg ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── cfg.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-coding ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── coding.rs │ ├── coding_test.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-comparator ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── comparator.rs │ ├── imports.rs │ ├── lib.rs │ └── traits.rs ├── bitcoinleveldb-compat ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── mod.rs │ ├── port_config.rs │ └── port_stdcxx.rs ├── bitcoinleveldb-crc32 ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── crc32c.rs │ ├── crc32c_test.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-db ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── ctor.rs │ ├── db.rs │ ├── db_impl.rs │ ├── db_test.rs │ ├── harness.rs │ ├── imports.rs │ ├── iter.rs │ ├── lib.rs │ └── mod.rs ├── bitcoinleveldb-dumpfile ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── dumpfile.rs │ ├── dumpfile_alt.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-duplex ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── two_level_iterator.rs ├── bitcoinleveldb-env ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── env_test.rs │ ├── env_windows_helper_test.rs │ ├── env_windows_test.rs │ ├── imports.rs │ ├── lib.rs │ └── lvldb_env.rs ├── bitcoinleveldb-file ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── file.rs │ ├── filename.rs │ ├── filename_test.rs │ ├── imports.rs │ ├── lib.rs │ ├── metadata.rs │ └── stdout.rs ├── bitcoinleveldb-filter ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── filter_block.rs │ ├── filter_block_reader.rs │ ├── filter_block_test.rs │ ├── filter_policy.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-hash ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── hash.rs │ ├── hash_alt.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-histogram ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── histogram.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-key ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── dbformat.rs │ ├── dbformat_test.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-limiter ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── limiter.rs ├── bitcoinleveldb-log ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── format.rs │ ├── imports.rs │ ├── lib.rs │ ├── logging.rs │ ├── logging_test.rs │ ├── mod.rs │ ├── posix_logger.rs │ ├── reader.rs │ ├── test.rs │ └── writer.rs ├── bitcoinleveldb-lru ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── lru_cache.rs ├── bitcoinleveldb-memenv ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── leveldb_helpers_memenv_memenv_test.rs │ ├── lib.rs │ └── memenv.rs ├── bitcoinleveldb-memtable ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── memtable.rs ├── bitcoinleveldb-merger ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── merger.rs ├── bitcoinleveldb-meta ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── version_edit.rs │ ├── version_set.rs │ └── version_set_test.rs ├── bitcoinleveldb-options ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── options.rs ├── bitcoinleveldb-posix ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── env_posix.rs │ ├── env_posix_test.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinleveldb-rand ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── random.rs ├── bitcoinleveldb-repair ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── repair.rs ├── bitcoinleveldb-skiplist ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── skiplist.rs │ └── skiplist_test.rs ├── bitcoinleveldb-slice ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── slice.rs ├── bitcoinleveldb-snapshot ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── snapshot.rs ├── bitcoinleveldb-status ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── status.rs ├── bitcoinleveldb-sync ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── mutexlock.rs │ └── thread_annotations.rs ├── bitcoinleveldb-table ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── block.rs │ ├── block_builder.rs │ ├── builder.rs │ ├── builder_alt.rs │ ├── constructor.rs │ ├── db_iter.rs │ ├── footer.rs │ ├── handle.rs │ ├── imports.rs │ ├── iterator.rs │ ├── iterator_alt.rs │ ├── iterator_wrapper.rs │ ├── leveldb_db_table_cache.rs │ ├── leveldb_table_format.rs │ ├── lib.rs │ ├── mod.rs │ ├── table.rs │ ├── table_test.rs │ └── version_iterator.rs ├── bitcoinleveldb-test ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── autocompact.rs │ ├── c_test.rs │ ├── corruption_test.rs │ ├── fault_injection_test.rs │ ├── harness.rs │ ├── imports.rs │ ├── issue178_test.rs │ ├── issue200_test.rs │ ├── issue320_test.rs │ ├── lib.rs │ ├── recovery_test.rs │ └── util.rs ├── bitcoinleveldb-util ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── leveldbutil.rs │ ├── lib.rs │ ├── no_destructor.rs │ └── no_destructor_test.rs ├── bitcoinleveldb-version ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── compaction.rs │ ├── imports.rs │ ├── lib.rs │ ├── set.rs │ ├── setbuilder.rs │ └── version.rs ├── bitcoinleveldb-versionedit ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── test.rs │ └── versionedit.rs ├── bitcoinnode-interface ├── Cargo.toml ├── README.md └── src │ ├── added.rs │ ├── addr_local.rs │ ├── callbacks.rs │ ├── eviction.rs │ ├── fetch_flags.rs │ ├── h_socket.rs │ ├── imports.rs │ ├── interface.rs │ ├── lib.rs │ ├── net_events.rs │ ├── peer.rs │ ├── protect_eviction_candidates_by_ratio.rs │ ├── select_node_to_evict.rs │ ├── traits.rs │ ├── v_process_msg.rs │ ├── v_recv.rs │ └── v_send.rs ├── bitcoinnode-stats ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── node_state_stats.rs │ └── nodestats.rs ├── bitcoinnode-txrelay ├── Cargo.toml ├── README.md └── src │ ├── imports.rs │ ├── lib.rs │ └── txrelay.rs ├── bitcoinrpc-blockchain ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── blockchain.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinrpc-dump ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── rpcdump.rs ├── bitcoinrpc-mining ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── mining.rs ├── bitcoinrpc-misc ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── misc.rs ├── bitcoinrpc-net ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── net.rs ├── bitcoinrpc-server ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── server.rs ├── bitcoinrpc-txn ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── rawtransaction.rs │ └── rawtransaction_util.rs ├── bitcoinrpc-util ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── util.rs ├── bitcoinrpc-wallet ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── rpcwallet.rs ├── bitcoinsecp256k1-bench ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── bench.rs │ ├── bench_ecdh.rs │ ├── bench_ecmult.rs │ ├── bench_internal.rs │ ├── bench_recover.rs │ ├── bench_schnorrsig.rs │ ├── bench_sign.rs │ ├── bench_verify.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinsecp256k1-ec ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── callback.rs │ ├── context.rs │ ├── ecdh.rs │ ├── ecdsa.rs │ ├── ecdsa_signature.rs │ ├── eckey.rs │ ├── ecmult.rs │ ├── ecmult_const.rs │ ├── ecmult_gen.rs │ ├── imports.rs │ ├── lib.rs │ └── nonce.rs ├── bitcoinsecp256k1-field ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── asm_field_10x26_arm.s │ ├── field.rs │ ├── field_10x26.rs │ ├── field_5x52.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinsecp256k1-group ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── group_impl.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinsecp256k1-keys ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── extrakeys.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinsecp256k1-modinv ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── modinv32.rs │ └── modinv64.rs ├── bitcoinsecp256k1-parse ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── contrib_lax_der_parsing.rs │ ├── contrib_lax_der_privatekey_parsing.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinsecp256k1-recovery ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── recovery.rs ├── bitcoinsecp256k1-scalar ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ ├── scalar.rs │ ├── scalar_4x64.rs │ ├── scalar_8x32.rs │ ├── scalar_low.rs │ └── scalar_split_lambda.rs ├── bitcoinsecp256k1-schnorr ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── schnorrsig.rs ├── bitcoinsecp256k1-scratch ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── scratch.rs ├── bitcoinwallet-client ├── Cargo.toml ├── README.md └── src │ ├── client.rs │ ├── client_impl.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinwallet-context ├── Cargo.toml ├── README.md └── src │ ├── context.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinwallet-feature ├── Cargo.toml ├── README.md └── src │ ├── descriptor.rs │ ├── feature.rs │ ├── flags.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinwallet-fees ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── feebumper.rs │ ├── fees.rs │ ├── imports.rs │ └── lib.rs ├── bitcoinwallet-init ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── init.rs │ ├── lib.rs │ └── load.rs ├── bitcoinwallet-interface ├── Cargo.toml ├── README.md ├── build.rs ├── src │ ├── address.rs │ ├── callbacks.rs │ ├── imports.rs │ ├── interface.rs │ ├── lib.rs │ └── recipient.rs └── tests │ └── wallet_interface.rs ├── bitcoinwallet-library ├── Cargo.toml ├── README.md └── src │ ├── add_unload.rs │ ├── address_book_data.rs │ ├── config.rs │ ├── database.rs │ ├── execute_wallet_tool_func.rs │ ├── extra.rs │ ├── flags.rs │ ├── get_wallet_dir.rs │ ├── imports.rs │ ├── lib.rs │ ├── make_database.rs │ ├── make_wallet.rs │ ├── make_wallet_tx.rs │ ├── make_wallet_tx_out.rs │ ├── make_wallet_tx_status.rs │ ├── maybe_compact_walletdb.rs │ ├── read_key_value.rs │ ├── reserve_destination.rs │ ├── sign.rs │ ├── traits.rs │ ├── wallet.rs │ ├── wallet_create.rs │ ├── wallet_impl.rs │ ├── wallet_scan_state.rs │ ├── wallet_show_info.rs │ └── wallet_tool_release_wallet.rs ├── bitcoinwallet-receive ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── receive.rs ├── bitcoinwallet-salvage ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── salvage.rs ├── bitcoinwallet-spend ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── imports.rs │ ├── lib.rs │ └── spend.rs ├── build.rs ├── custom.css ├── fonts ├── NotoSans-Black.ttf ├── NotoSans-BlackItalic.ttf ├── NotoSans-Bold.ttf ├── NotoSans-BoldItalic.ttf ├── NotoSans-ExtraBold.ttf ├── NotoSans-ExtraBoldItalic.ttf ├── NotoSans-ExtraLight.ttf ├── NotoSans-ExtraLightItalic.ttf ├── NotoSans-Italic.ttf ├── NotoSans-Light.ttf ├── NotoSans-LightItalic.ttf ├── NotoSans-Medium.ttf ├── NotoSans-MediumItalic.ttf ├── NotoSans-Regular.ttf ├── NotoSans-SemiBold.ttf ├── NotoSans-SemiBoldItalic.ttf ├── NotoSans-Thin.ttf ├── NotoSans-ThinItalic.ttf └── OFL.txt ├── queries ├── bitcoin-addr.query ├── bitcoin-addrman.query ├── bitcoin-aes.query ├── bitcoin-amt.query ├── bitcoin-argsman.query ├── bitcoin-asmap.query ├── bitcoin-banman.query ├── bitcoin-base58.query ├── bitcoin-bdb.query ├── bitcoin-bech32m.query ├── bitcoin-bench.query ├── bitcoin-block.query ├── bitcoin-blockencoding.query ├── bitcoin-blockfilter.query ├── bitcoin-blockman.query ├── bitcoin-blockpolicy.query ├── bitcoin-bloom.query ├── bitcoin-cfg.query ├── bitcoin-chacha.query ├── bitcoin-chain-consensus.query ├── bitcoin-chainman.query ├── bitcoin-checkqueue.query ├── bitcoin-cli.query ├── bitcoin-client-ui.query ├── bitcoin-coincontrol.query ├── bitcoin-coinselect.query ├── bitcoin-coinsview.query ├── bitcoin-compat.query ├── bitcoin-compressor.query ├── bitcoin-connman.query ├── bitcoin-crc32c.query ├── bitcoin-crypter.query ├── bitcoin-cuckoo-cache.query ├── bitcoin-daemon.query ├── bitcoin-db.query ├── bitcoin-deployment.query ├── bitcoin-derive.query ├── bitcoin-dns.query ├── bitcoin-dummywallet.query ├── bitcoin-dumpwallet.query ├── bitcoin-epoch.query ├── bitcoin-fees.query ├── bitcoin-foundblock.query ├── bitcoin-fuzz.query ├── bitcoin-golombrice.query ├── bitcoin-hash.query ├── bitcoin-hdchain.query ├── bitcoin-hdkeypath.query ├── bitcoin-http.query ├── bitcoin-imports.query ├── bitcoin-index.query ├── bitcoin-indexed-chain.query ├── bitcoin-indirectmap.query ├── bitcoin-init.query ├── bitcoin-ipc.query ├── bitcoin-key.query ├── bitcoin-keymetadata.query ├── bitcoin-keypool.query ├── bitcoin-leveldb.query ├── bitcoin-log.query ├── bitcoin-mainsignals.query ├── bitcoin-mem.query ├── bitcoin-merkle.query ├── bitcoin-message.query ├── bitcoin-miner.query ├── bitcoin-muhash.query ├── bitcoin-net-zmq.query ├── bitcoin-net.query ├── bitcoin-netmsg.query ├── bitcoin-netpermissions.query ├── bitcoin-network.query ├── bitcoin-node.query ├── bitcoin-noui.query ├── bitcoin-packages.query ├── bitcoin-peerman.query ├── bitcoin-policy.query ├── bitcoin-poly1305.query ├── bitcoin-portmap.query ├── bitcoin-pow.query ├── bitcoin-primitives.query ├── bitcoin-proxy.query ├── bitcoin-psbt.query ├── bitcoin-qt.query ├── bitcoin-random.query ├── bitcoin-rbf.query ├── bitcoin-remote.query ├── bitcoin-restapi.query ├── bitcoin-ripemd.query ├── bitcoin-sam.query ├── bitcoin-scheduler.query ├── bitcoin-scripting.query ├── bitcoin-scriptpubkeyman.query ├── bitcoin-secp256k1.query ├── bitcoin-serialize.query ├── bitcoin-service-flags.query ├── bitcoin-service.query ├── bitcoin-settings.query ├── bitcoin-sha1.query ├── bitcoin-sha256.query ├── bitcoin-sha3.query ├── bitcoin-sha512.query ├── bitcoin-signet.query ├── bitcoin-signingprovider.query ├── bitcoin-siphash.query ├── bitcoin-sock.query ├── bitcoin-sqlite.query ├── bitcoin-string.query ├── bitcoin-subnet.query ├── bitcoin-support.query ├── bitcoin-sync.query ├── bitcoin-system.query ├── bitcoin-test.query ├── bitcoin-time.query ├── bitcoin-tokenpipe.query ├── bitcoin-top.query ├── bitcoin-tor.query ├── bitcoin-tx.query ├── bitcoin-txmempool.query ├── bitcoin-txmempoolentry.query ├── bitcoin-univalue.query ├── bitcoin-validation.query ├── bitcoin-version.query ├── bitcoin-walletdb.query ├── bitcoinchain-client.query ├── bitcoinchain-interface.query ├── bitcoinchain-notifications.query ├── bitcoinchain-params.query ├── bitcoinleveldb-arena.query ├── bitcoinleveldb-batch.query ├── bitcoinleveldb-bench.query ├── bitcoinleveldb-bloom.query ├── bitcoinleveldb-cache.query ├── bitcoinleveldb-cfg.query ├── bitcoinleveldb-coding.query ├── bitcoinleveldb-comparator.query ├── bitcoinleveldb-compat.query ├── bitcoinleveldb-crc32.query ├── bitcoinleveldb-db.query ├── bitcoinleveldb-dumpfile.query ├── bitcoinleveldb-duplex.query ├── bitcoinleveldb-env.query ├── bitcoinleveldb-file.query ├── bitcoinleveldb-filter.query ├── bitcoinleveldb-hash.query ├── bitcoinleveldb-histogram.query ├── bitcoinleveldb-key.query ├── bitcoinleveldb-limiter.query ├── bitcoinleveldb-log.query ├── bitcoinleveldb-lru.query ├── bitcoinleveldb-memenv.query ├── bitcoinleveldb-memtable.query ├── bitcoinleveldb-merger.query ├── bitcoinleveldb-meta.query ├── bitcoinleveldb-options.query ├── bitcoinleveldb-posix.query ├── bitcoinleveldb-rand.query ├── bitcoinleveldb-repair.query ├── bitcoinleveldb-skiplist.query ├── bitcoinleveldb-slice.query ├── bitcoinleveldb-snapshot.query ├── bitcoinleveldb-status.query ├── bitcoinleveldb-sync.query ├── bitcoinleveldb-table.query ├── bitcoinleveldb-test.query ├── bitcoinleveldb-util.query ├── bitcoinleveldb-version.query ├── bitcoinleveldb-versionedit.query ├── bitcoinnode-interface.query ├── bitcoinnode-stats.query ├── bitcoinnode-txrelay.query ├── bitcoinrpc-blockchain.query ├── bitcoinrpc-dump.query ├── bitcoinrpc-mining.query ├── bitcoinrpc-misc.query ├── bitcoinrpc-net.query ├── bitcoinrpc-server.query ├── bitcoinrpc-txn.query ├── bitcoinrpc-util.query ├── bitcoinrpc-wallet.query ├── bitcoinsecp256k1-bench.query ├── bitcoinsecp256k1-ec.query ├── bitcoinsecp256k1-field.query ├── bitcoinsecp256k1-group.query ├── bitcoinsecp256k1-keys.query ├── bitcoinsecp256k1-modinv.query ├── bitcoinsecp256k1-parse.query ├── bitcoinsecp256k1-recovery.query ├── bitcoinsecp256k1-scalar.query ├── bitcoinsecp256k1-schnorr.query ├── bitcoinsecp256k1-scratch.query ├── bitcoinwallet-client.query ├── bitcoinwallet-context.query ├── bitcoinwallet-feature.query ├── bitcoinwallet-fees.query ├── bitcoinwallet-init.query ├── bitcoinwallet-interface.query ├── bitcoinwallet-library.query ├── bitcoinwallet-receive.query ├── bitcoinwallet-salvage.query └── bitcoinwallet-spend.query ├── rust-workspace-typemap.json └── u ├── add-all-subcrates-to-toplevel ├── add-build-deps ├── add-dep-to-crate ├── add-descriptions ├── add-files-to-librs ├── add-license-and-description ├── add-versions-to-cargo-toml ├── add-workspace-crate-to-neighbor-cargo-toml ├── batch-add-deps-to-cargo-toml ├── check-remaining ├── clean ├── configure-imports-crate-dep-everywhere ├── create-workspace-crate ├── dash-to-under ├── description-queries ├── ensure-crate-imports ├── find-big-crates ├── generate-rustdoc-db ├── infer-rustdoc-json ├── left ├── leveldb-rearrange ├── merge-node-wallet ├── move-lvldb ├── mv ├── parse-icon-mapping ├── parse-platform-style ├── port-fixture ├── port-fuzz-target-init ├── rename-stuff ├── repair-missing-items ├── split-node ├── touch-imports ├── tr ├── write-bitcoin ├── write-lvldb ├── write-remaining └── write-workspace /.github/workflows/makefile.yml: -------------------------------------------------------------------------------- 1 | name: Makefile CI 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v3 16 | 17 | - name: Install dependencies 18 | run: make 19 | 20 | -------------------------------------------------------------------------------- /.github/workflows/rust.yml: -------------------------------------------------------------------------------- 1 | name: Rust 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | env: 10 | CARGO_TERM_COLOR: always 11 | 12 | jobs: 13 | build: 14 | 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - uses: actions/checkout@v3 19 | - name: Build 20 | run: cargo build --verbose 21 | - name: Run tests 22 | run: cargo test --verbose 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /vendor 3 | ra_log.txt 4 | /.cpp/** 5 | .DS_Store 6 | -------------------------------------------------------------------------------- /bitcoin-addr/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-addr/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-addr/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_network::*; 5 | pub(crate) use bitcoin_random::*; 6 | pub(crate) use bitcoin_service::*; 7 | pub(crate) use bitcoin_service_flags::*; 8 | pub(crate) use bitcoin_time::*; 9 | -------------------------------------------------------------------------------- /bitcoin-addr/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-addr/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{addr} 5 | -------------------------------------------------------------------------------- /bitcoin-addrman/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-addrman/src/read_from_stream.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-addrman/src/read_from_stream.rs ] 2 | crate::ix!(); 3 | 4 | /** 5 | | Only used by tests. 6 | | 7 | */ 8 | pub fn read_from_stream( 9 | addr: &mut AddrMan, 10 | ss_peers: &mut DataStream) { 11 | 12 | todo!(); 13 | /* 14 | DeserializeDB(ssPeers, addr, false); 15 | */ 16 | } 17 | 18 | -------------------------------------------------------------------------------- /bitcoin-aes/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-aes/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-aes/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-aes/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-aes/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #![allow(soft_unstable)] 5 | #[macro_use] mod imports; use imports::*; 6 | 7 | x!{ctaes_test} 8 | x!{aes} 9 | x!{ctaes_bench} 10 | x!{ctaes} 11 | -------------------------------------------------------------------------------- /bitcoin-amt/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-amt/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-amt/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | -------------------------------------------------------------------------------- /bitcoin-amt/tests/money_range.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-amt/tests/money_range.rs ] 2 | crate::ix!(); 3 | 4 | #[test] fn money_range_test() { 5 | todo!(); 6 | /* 7 | 8 | BOOST_CHECK_EQUAL(MoneyRange(CAmount(-1)), false); 9 | BOOST_CHECK_EQUAL(MoneyRange(CAmount(0)), true); 10 | BOOST_CHECK_EQUAL(MoneyRange(CAmount(1)), true); 11 | BOOST_CHECK_EQUAL(MoneyRange(MAX_MONEY), true); 12 | BOOST_CHECK_EQUAL(MoneyRange(MAX_MONEY + CAmount(1)), false); 13 | 14 | */ 15 | } 16 | -------------------------------------------------------------------------------- /bitcoin-argsman/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-argsman/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-argsman/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_log::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_settings::*; 6 | pub(crate) use bitcoin_string::*; 7 | pub(crate) use bitcoin_univalue::*; 8 | -------------------------------------------------------------------------------- /bitcoin-argsman/src/load.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-argsman/src/load.rs ] 2 | -------------------------------------------------------------------------------- /bitcoin-argsman/src/section.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-argsman/src/section.rs ] 2 | crate::ix!(); 3 | 4 | #[derive(Clone)] 5 | pub struct SectionInfo 6 | { 7 | pub name: String, 8 | pub file: String, 9 | pub line: i32, 10 | } 11 | 12 | impl SectionInfo { 13 | 14 | pub fn new(name: &str, file: &str, line: i32) -> Self { 15 | Self { 16 | name: name.to_string(), 17 | file: file.to_string(), 18 | line: line 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bitcoin-argsman/src/select_network.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-argsman/src/select_network.rs ] 2 | crate::ix!(); 3 | 4 | impl ArgsManagerInner { 5 | 6 | /** 7 | | Select the network in use 8 | | 9 | */ 10 | pub fn select_config_network(&mut self, network: &str) { 11 | 12 | self.network = Some(network.to_string()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /bitcoin-asmap/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-asmap/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-asmap/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-asmap/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{asmap} 5 | x!{asn} 6 | x!{bits} 7 | x!{instruction} 8 | x!{interpret} 9 | x!{jump} 10 | x!{decode_match} 11 | x!{sanity} 12 | x!{ty} 13 | -------------------------------------------------------------------------------- /bitcoin-autofile/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-autofile/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-autofile/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-autofile/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{autofile} 5 | -------------------------------------------------------------------------------- /bitcoin-banman/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-banman/src/clear.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-banman/src/clear.rs ] 2 | crate::ix!(); 3 | 4 | impl BanMan { 5 | 6 | pub fn clear_banned(&mut self) { 7 | 8 | self.cs_banned 9 | .get_mut() 10 | .clear_banned(); 11 | 12 | // store banlist to disk 13 | self.dump_banlist(); 14 | 15 | if self.client_interface.is_some() { 16 | self.client_interface 17 | .get_mut() 18 | .banned_list_changed(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /bitcoin-banman/src/config.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-banman/src/config.rs ] 2 | crate::ix!(); 3 | 4 | /** 5 | | @note 6 | | 7 | | When adjusting this, update rpcnet:setban's 8 | | help ("24h") 9 | | 10 | */ 11 | pub const DEFAULT_MISBEHAVING_BANTIME: u32 = 60 * 60 * 24; // Default 24-hour ban 12 | 13 | /** 14 | | How often to dump banned addresses/subnets 15 | | to disk. 16 | | 17 | */ 18 | pub const DUMP_BANS_INTERVAL: Duration = Duration::minutes(15); 19 | -------------------------------------------------------------------------------- /bitcoin-banman/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-banman/src/imports.rs ] 2 | pub(crate) use bitcoin_bloom::*; 3 | pub(crate) use bitcoin_dns::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_log::*; 6 | pub(crate) use bitcoin_net::*; 7 | pub(crate) use bitcoin_network::*; 8 | pub(crate) use bitcoin_settings::*; 9 | pub(crate) use bitcoin_subnet::*; 10 | pub(crate) use bitcoin_time::*; 11 | pub(crate) use bitcoin_univalue::*; 12 | pub(crate) use bitcoin_version::*; 13 | pub(crate) use bitcoin_client_ui::*; 14 | -------------------------------------------------------------------------------- /bitcoin-banman/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-banman/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{ban} 5 | x!{banman} 6 | x!{banmap} 7 | x!{clear} 8 | x!{config} 9 | x!{db} 10 | x!{dirty} 11 | x!{discourage} 12 | x!{dump} 13 | x!{entry} 14 | x!{inner} 15 | x!{query} 16 | x!{unban} 17 | x!{subnet} 18 | -------------------------------------------------------------------------------- /bitcoin-base58/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-base58/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-base58/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_hash::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_string::*; 6 | pub(crate) use bitcoin_u256::*; 7 | -------------------------------------------------------------------------------- /bitcoin-base58/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-base58/src/lib.rs ] 2 | #![feature(iter_advance_by)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{base58} 7 | x!{decode} 8 | x!{decode_check} 9 | x!{encode} 10 | x!{encode_check} 11 | -------------------------------------------------------------------------------- /bitcoin-bdb/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-bdb/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bdb/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_string::*; 6 | pub(crate) use bitcoin_walletdb::*; 7 | pub(crate) use bitcoinwallet_interface::*; 8 | -------------------------------------------------------------------------------- /bitcoin-bdb/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bdb/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{batch} 5 | x!{bdb} 6 | x!{check_unique} 7 | x!{create} 8 | x!{berkeley_env} 9 | x!{get_env} 10 | x!{libdb_hook} 11 | x!{wallet_database_fileid} 12 | -------------------------------------------------------------------------------- /bitcoin-bech32m/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-bech32m/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bech32m/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-bech32m/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bech32m/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{bech32} 7 | x!{encode} 8 | x!{decode} 9 | x!{poly_mod} 10 | x!{checksum} 11 | -------------------------------------------------------------------------------- /bitcoin-bench/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-bench/src/bench_data.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bench/src/bench_data.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/bench/data.h] 5 | //-------------------------------------------[.cpp/bitcoin/src/bench/data.cpp] 6 | 7 | pub mod benchmark { 8 | pub mod data { 9 | //pub const block413567: Vec = vec!{std::begin(block413567_raw), std::end(block413567_raw)}; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /bitcoin-bigint/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-bigint/src/hex_to_val.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bigint/src/hex_to_val.rs ] 2 | crate::ix!(); 3 | 4 | // A small helper used by From<&str> for nibble decoding 5 | pub fn hex_to_val(ch: char) -> u8 { 6 | match ch { 7 | '0'..='9' => (ch as u8) - b'0', 8 | 'A'..='F' => (ch as u8) - b'A' + 10, 9 | _ => 0, 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /bitcoin-bigint/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bigint/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use std::str::FromStr; 5 | -------------------------------------------------------------------------------- /bitcoin-bigint/src/limb_count.rs: -------------------------------------------------------------------------------- 1 | crate::ix!(); 2 | 3 | #[inline] 4 | pub const fn base_uint_limb_count(bits: usize) -> usize { 5 | // If you only ever do 160 or 256, match them: 6 | match bits { 7 | 160 => 5, 8 | 256 => 8, 9 | _ => panic!("Unsupported bits: must be 160 or 256"), 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /bitcoin-bigint/src/round_trip_hex.rs: -------------------------------------------------------------------------------- 1 | crate::ix!(); 2 | 3 | pub fn round_trip_hex_32(val: &BaseUInt32) -> BaseUInt32 { 4 | let hex_string = val.get_hex(); 5 | BaseUInt32::from(hex_string.as_str()) 6 | } 7 | 8 | pub fn round_trip_hex_64(val: &BaseUInt64) -> BaseUInt64 { 9 | let hex_string = val.get_hex(); 10 | BaseUInt64::from(hex_string.as_str()) 11 | } 12 | 13 | pub fn round_trip_hex_256(val: &BaseUInt256) -> BaseUInt256 { 14 | let hex_string = val.get_hex(); 15 | BaseUInt256::from(hex_string.as_str()) 16 | } 17 | -------------------------------------------------------------------------------- /bitcoin-bitstream/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-bitstream/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bitstream/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_support::*; 5 | -------------------------------------------------------------------------------- /bitcoin-bitstream/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bitstream/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{bitstream_reader} 5 | x!{bitstream_writer} 6 | x!{count} 7 | x!{data_stream} 8 | x!{dummy_deserialize_type} 9 | x!{override_stream} 10 | x!{read} 11 | x!{traits} 12 | x!{write} 13 | -------------------------------------------------------------------------------- /bitcoin-blob/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-blob/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blob/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-blob/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blob/src/lib.rs ] 2 | #![allow(incomplete_features)] 3 | #![feature(generic_const_exprs)] 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{basic} 7 | x!{blob} 8 | x!{from_bytes} 9 | x!{hex} 10 | x!{impl_iter} 11 | x!{ord_eq} 12 | x!{serialization} 13 | x!{simple_rng} 14 | x!{base_blob} 15 | x!{nibble_from_hexchar} 16 | -------------------------------------------------------------------------------- /bitcoin-blob/src/nibble_from_hexchar.rs: -------------------------------------------------------------------------------- 1 | crate::ix!(); 2 | 3 | /// Helper: convert a single hex char to nibble 4 | pub fn nibble_from_hexchar(ch: char) -> u8 { 5 | match ch { 6 | '0'..='9' => ch as u8 - b'0', 7 | 'a'..='f' => ch as u8 - b'a' + 10, 8 | 'A'..='F' => ch as u8 - b'A' + 10, 9 | _ => { 10 | warn!("nibble_from_hexchar => non-hex input char={}", ch); 11 | 0 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /bitcoin-block/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-block/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-block/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_hash::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_log::*; 6 | pub(crate) use bitcoin_mem::*; 7 | pub(crate) use bitcoin_time::*; 8 | pub(crate) use bitcoin_tx::*; 9 | pub(crate) use bitcoin_u256::*; 10 | pub(crate) use bitcoin_validation::*; 11 | -------------------------------------------------------------------------------- /bitcoin-block/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-block/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{allocate_file_range} 5 | x!{interface} 6 | x!{block} 7 | x!{block_file_info} 8 | x!{block_index} 9 | x!{block_status} 10 | x!{check_disk_space} 11 | x!{comparator} 12 | x!{connect_trace} 13 | x!{constants} 14 | x!{directory_commit} 15 | x!{disk_block_index} 16 | x!{file_commit} 17 | x!{flatfile_pos} 18 | x!{flatfile_seq} 19 | x!{header} 20 | x!{locator} 21 | x!{truncate_file} 22 | x!{tip} 23 | x!{validation} 24 | -------------------------------------------------------------------------------- /bitcoin-block/src/truncate_file.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-block/src/truncate_file.rs ] 2 | crate::ix!(); 3 | 4 | #[cfg(WIN32)] 5 | pub fn truncate_file( 6 | file: *mut libc::FILE, 7 | length: u32) -> bool { 8 | 9 | chsize(fileno(file),length) == 0 10 | } 11 | 12 | #[cfg(not(WIN32))] 13 | pub fn truncate_file( 14 | file: *mut libc::FILE, 15 | length: u32) -> bool { 16 | 17 | unsafe { 18 | ftruncate(libc::fileno(file),length.into()) == 0 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /bitcoin-blockencoding/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-blockencoding/src/compression.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockencoding/src/compression.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/blockencodings.h] 5 | 6 | /** 7 | | Transaction compression schemes for compact 8 | | block relay can be introduced by writing an 9 | | actual formatter here. 10 | */ 11 | pub type TransactionCompression<'a,T> = DefaultFormatter<'a,T>; 12 | -------------------------------------------------------------------------------- /bitcoin-blockencoding/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockencoding/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_block::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_serialize::*; 7 | pub(crate) use bitcoin_sha256::*; 8 | pub(crate) use bitcoin_siphash::*; 9 | pub(crate) use bitcoin_tx::*; 10 | pub(crate) use bitcoin_u256::*; 11 | pub(crate) use bitcoin_version::*; 12 | -------------------------------------------------------------------------------- /bitcoin-blockencoding/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockencoding/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{compression} 5 | x!{difference_formatter} 6 | x!{block_header_and_short_txids} 7 | x!{read_status} 8 | x!{prefilled_transaction} 9 | x!{block_transactions} 10 | x!{request} 11 | -------------------------------------------------------------------------------- /bitcoin-blockfilter/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-blockfilter/src/constants.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockfilter/src/constants.rs ] 2 | crate::ix!(); 3 | 4 | pub const BASIC_FILTER_P: u8 = 19; 5 | pub const BASIC_FILTER_M: u32 = 784931; 6 | 7 | lazy_static!{ 8 | 9 | pub static ref G_FILTER_TYPES: HashMap = { 10 | 11 | let mut x = HashMap::::new(); 12 | 13 | x.insert(BlockFilterType::BASIC, "basic".to_string()); 14 | 15 | x 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /bitcoin-blockfilter/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockfilter/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{blockfilter} 5 | x!{destroy} 6 | x!{init} 7 | x!{access} 8 | x!{index} 9 | x!{constants} 10 | x!{map_into_range} 11 | x!{filter_type} 12 | -------------------------------------------------------------------------------- /bitcoin-blockman/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-blockman/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockman/src/imports.rs ] 2 | pub(crate) use bitcoin_block::*; 3 | pub(crate) use bitcoin_chain_consensus::*; 4 | pub(crate) use bitcoin_coinsview::*; 5 | pub(crate) use bitcoin_db::*; 6 | pub(crate) use bitcoin_derive::*; 7 | pub(crate) use bitcoin_imports::*; 8 | pub(crate) use bitcoin_scripting::*; 9 | pub(crate) use bitcoin_string::*; 10 | pub(crate) use bitcoin_u256::*; 11 | pub(crate) use bitcoin_validation::*; 12 | pub(crate) use bitcoinchain_params::*; 13 | -------------------------------------------------------------------------------- /bitcoin-blockman/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockman/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{blockman} 5 | x!{blocktree} 6 | x!{check_legacy} 7 | -------------------------------------------------------------------------------- /bitcoin-blockpolicy/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-blockpolicy/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockpolicy/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_autofile::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_epoch::*; 6 | pub(crate) use bitcoin_fees::*; 7 | pub(crate) use bitcoin_imports::*; 8 | pub(crate) use bitcoin_tx::*; 9 | pub(crate) use bitcoin_txmempoolentry::*; 10 | pub(crate) use bitcoin_u256::*; 11 | -------------------------------------------------------------------------------- /bitcoin-blockpolicy/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockpolicy/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{block_span} 5 | x!{config} 6 | x!{estimate_combined_fee} 7 | x!{estimate_conservative_fee} 8 | x!{estimate_fee} 9 | x!{estimate_raw_fee} 10 | x!{estimate_smart_fee} 11 | x!{estimator} 12 | x!{flush} 13 | x!{highest_target_tracked} 14 | x!{max_usable_estimate} 15 | x!{process_block} 16 | x!{process_block_tx} 17 | x!{process_tx} 18 | x!{read} 19 | x!{remove_tx} 20 | x!{txstats_info} 21 | x!{write} 22 | -------------------------------------------------------------------------------- /bitcoin-blockpolicy/src/txstats_info.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-blockpolicy/src/txstats_info.rs ] 2 | crate::ix!(); 3 | 4 | #[derive(PartialEq)] 5 | pub struct TxStatsInfo { 6 | 7 | block_height: u32, 8 | bucket_index: u32, 9 | } 10 | 11 | impl Default for TxStatsInfo { 12 | 13 | fn default() -> Self { 14 | todo!(); 15 | /* 16 | : block_height(0), 17 | : bucket_index(0), 18 | 19 | 20 | */ 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /bitcoin-bloom/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-bloom/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bloom/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_hash::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_random::*; 7 | pub(crate) use bitcoin_scripting::*; 8 | pub(crate) use bitcoin_serialize::*; 9 | pub(crate) use bitcoin_tx::*; 10 | pub(crate) use bitcoin_u256::*; 11 | pub(crate) use bitcoin_version::*; 12 | -------------------------------------------------------------------------------- /bitcoin-bloom/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bloom/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{common} 5 | x!{bloom} 6 | x!{rolling} 7 | x!{flags} 8 | -------------------------------------------------------------------------------- /bitcoin-bufferedfile/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bufferedfile/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-bufferedfile/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-bufferedfile/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{buffered_file} 5 | -------------------------------------------------------------------------------- /bitcoin-cfg/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-cfg/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | -------------------------------------------------------------------------------- /bitcoin-chacha/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-chacha/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-chacha/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-chacha/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-chacha/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{chacha_poly_aead} 5 | x!{chacha20} 6 | x!{bcmp} 7 | -------------------------------------------------------------------------------- /bitcoin-chain-consensus/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-chain-consensus/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-chain-consensus/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_block::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_sha256::*; 6 | pub(crate) use bitcoin_u256::*; 7 | -------------------------------------------------------------------------------- /bitcoin-chain-consensus/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-chain-consensus/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{merkle} 5 | x!{params} 6 | x!{bip9_deployment} 7 | x!{consensus_deployment} 8 | -------------------------------------------------------------------------------- /bitcoin-chainman/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-chainman/src/imports.rs ] 2 | pub(crate) use bitcoin_autofile::*; 3 | pub(crate) use bitcoin_block::*; 4 | pub(crate) use bitcoin_blockman::*; 5 | pub(crate) use bitcoin_derive::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_tx::*; 8 | pub(crate) use bitcoin_txmempool::*; 9 | pub(crate) use bitcoin_u256::*; 10 | pub(crate) use bitcoinchain_interface::*; 11 | pub(crate) use bitcoinchain_params::*; 12 | -------------------------------------------------------------------------------- /bitcoin-chainman/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-chainman/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{chainman} 5 | -------------------------------------------------------------------------------- /bitcoin-checkqueue/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-checkqueue/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-checkqueue/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-checkqueue/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{checkqueue} 5 | x!{control} 6 | x!{inner} 7 | -------------------------------------------------------------------------------- /bitcoin-cli/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-cli/src/config.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-cli/src/config.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/bitcoin-cli.cpp] 5 | 6 | lazy_static!{ 7 | /* 8 | const std::function G_TRANSLATION_FUN = nullptr; 9 | */ 10 | } 11 | 12 | lazy_static!{ 13 | /* 14 | UrlDecodeFn* const URL_DECODE = urlDecode; 15 | */ 16 | } 17 | 18 | //pub struct RuntimeError(pub String); 19 | -------------------------------------------------------------------------------- /bitcoin-client-ui/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-client-ui/src/config.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-client-ui/src/config.rs ] 2 | crate::ix!(); 3 | 4 | //this was typed "Auto" 5 | pub const ABORT_ERROR: fn(s: &BilingualStr) -> bool = init_error; 6 | 7 | lazy_static!{ 8 | static ref UI_INTERFACE: ClientUIInterface = ClientUIInterface::default(); 9 | static ref UI_SIGNALS: UISignals = UISignals::default(); 10 | } 11 | -------------------------------------------------------------------------------- /bitcoin-client-ui/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-client-ui/src/imports.rs ] 2 | pub(crate) use bitcoin_block::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_string::*; 6 | //pub(crate) use bitcoin_txmempool::*; 7 | -------------------------------------------------------------------------------- /bitcoin-client-ui/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-client-ui/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{config} 5 | x!{init_error} 6 | x!{message_box_flags} 7 | x!{ui_interface} 8 | x!{ui_signals} 9 | -------------------------------------------------------------------------------- /bitcoin-coincontrol/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-coincontrol/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-coincontrol/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{coinstats} 5 | x!{utxo_stats} 6 | x!{hash} 7 | x!{apply} 8 | -------------------------------------------------------------------------------- /bitcoin-coinselect/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-coinselect/src/comparator.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-coinselect/src/comparator.rs ] 2 | crate::ix!(); 3 | 4 | /** 5 | | Descending order comparator 6 | | 7 | */ 8 | pub struct DescendingOrderComparator { 9 | 10 | } 11 | 12 | impl DescendingOrderComparator { 13 | 14 | pub fn invoke(&self, 15 | a: &OutputGroup, 16 | b: &OutputGroup) -> bool { 17 | 18 | todo!(); 19 | /* 20 | return a.GetSelectionAmount() > b.GetSelectionAmount(); 21 | */ 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /bitcoin-coinselect/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-coinselect/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_coinsview::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_fees::*; 6 | pub(crate) use bitcoin_hash::*; 7 | pub(crate) use bitcoin_imports::*; 8 | pub(crate) use bitcoin_indexed_chain::*; 9 | pub(crate) use bitcoin_tx::*; 10 | -------------------------------------------------------------------------------- /bitcoin-coinselect/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-coinselect/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{coin} 5 | x!{input_coin} 6 | x!{eligibility} 7 | x!{output_group} 8 | x!{comparator} 9 | x!{select} 10 | x!{get_selection_waste} 11 | x!{knapsack_solver} 12 | x!{approximate_best_subset} 13 | x!{params} 14 | -------------------------------------------------------------------------------- /bitcoin-coinsview/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-coinsview/src/config.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-coinsview/src/config.rs ] 2 | crate::ix!(); 3 | 4 | lazy_static!{ 5 | pub static ref MIN_TRANSACTION_OUTPUT_WEIGHT: usize = WITNESS_SCALE_FACTOR * get_serialize_size(&DEFAULT_TX_OUT, Some(PROTOCOL_VERSION)); 6 | pub static ref MAX_OUTPUTS_PER_BLOCK: usize = MAX_BLOCK_WEIGHT / *MIN_TRANSACTION_OUTPUT_WEIGHT; 7 | } 8 | -------------------------------------------------------------------------------- /bitcoin-coinsview/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-coinsview/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_db::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_hash::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_serialize::*; 8 | pub(crate) use bitcoin_tx::*; 9 | pub(crate) use bitcoin_u256::*; 10 | pub(crate) use bitcoin_version::*; 11 | -------------------------------------------------------------------------------- /bitcoin-coinsview/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-coinsview/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{access} 5 | x!{interface} 6 | x!{add} 7 | x!{backed} 8 | x!{bitfield} 9 | x!{cache} 10 | x!{cache_entry} 11 | x!{coin} 12 | x!{config} 13 | x!{cursor} 14 | x!{db} 15 | x!{dbcursor} 16 | x!{entry} 17 | x!{error_catcher} 18 | x!{legacy_coins} 19 | x!{view} 20 | -------------------------------------------------------------------------------- /bitcoin-coinsview/src/mempool.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-coinsview/src/mempool.rs ] 2 | -------------------------------------------------------------------------------- /bitcoin-compat/build.rs: -------------------------------------------------------------------------------- 1 | 2 | fn main() { 3 | bitcoin_cfg::setup(); 4 | } 5 | -------------------------------------------------------------------------------- /bitcoin-compat/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-compat/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | -------------------------------------------------------------------------------- /bitcoin-compat/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-compat/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{assumptions} 5 | x!{byteswap} 6 | x!{compat} 7 | x!{cpuid} 8 | x!{endian} 9 | x!{glibcxx_sanity} 10 | x!{sanity} 11 | x!{stdin} 12 | x!{strnlen} 13 | x!{syscall_sandbox} 14 | -------------------------------------------------------------------------------- /bitcoin-compat/src/sanity.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-compat/src/sanity.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/compat/sanity.h] 5 | 6 | pub fn glibcxx_sanity_test() -> bool { 7 | 8 | todo!(); 9 | /* 10 | 11 | */ 12 | } 13 | -------------------------------------------------------------------------------- /bitcoin-compat/src/strnlen.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-compat/src/strnlen.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/compat/strnlen.cpp] 5 | 6 | #[cfg(HAVE_DECL_STRNLEN_EQ_0)] 7 | pub fn strnlen( 8 | start: *const u8, 9 | max_len: usize) -> usize { 10 | 11 | todo!(); 12 | /* 13 | const char *end = (const char *)memchr(start, '\0', max_len); 14 | 15 | return end ? (size_t)(end - start) : max_len; 16 | */ 17 | } 18 | -------------------------------------------------------------------------------- /bitcoin-compressor/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-compressor/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-compressor/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoin_scripting::*; 6 | pub(crate) use bitcoin_support::*; 7 | -------------------------------------------------------------------------------- /bitcoin-compressor/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-compressor/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{amount_compression} 5 | x!{checks} 6 | x!{compress} 7 | x!{compress_amount} 8 | x!{compressor} 9 | x!{decompress} 10 | x!{decompress_amount} 11 | x!{script_compression} 12 | x!{txout_compression} 13 | -------------------------------------------------------------------------------- /bitcoin-compressor/src/txout_compression.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-compressor/src/txout_compression.rs ] 2 | crate::ix!(); 3 | 4 | /** 5 | | wrapper for CTxOut that provides a more 6 | | compact serialization 7 | | 8 | */ 9 | pub struct TxOutCompression { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /bitcoin-connman/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-connman/src/addr_fetches.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-connman/src/addr_fetches.rs ] 2 | crate::ix!(); 3 | 4 | pub struct ConnmanAddrFetches { 5 | pub addr_fetches: VecDeque, 6 | } 7 | 8 | impl Connman { 9 | 10 | pub fn add_addr_fetch(&self, str_dest: &str) { 11 | 12 | let mut guard = self 13 | .addr_fetches_mutex 14 | .get_mut(); 15 | 16 | guard.addr_fetches.push_back(str_dest.to_string()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /bitcoin-connman/src/msg_proc.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-connman/src/msg_proc.rs ] 2 | crate::ix!(); 3 | 4 | pub struct ConnmanMsgProc { 5 | 6 | /** 7 | | flag for waking the message processor. 8 | | 9 | | 10 | */ 11 | pub msg_proc_wake: AtomicBool, 12 | } 13 | -------------------------------------------------------------------------------- /bitcoin-connman/src/wake_message_handler.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-connman/src/wake_message_handler.rs ] 2 | crate::ix!(); 3 | 4 | impl Connman { 5 | 6 | pub fn wake_message_handler(&self) { 7 | 8 | self.mutex_msg_proc 9 | .get() 10 | .msg_proc_wake 11 | .store(true, atomic::Ordering::Relaxed); 12 | 13 | self.cond_msg_proc.notify_one(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /bitcoin-crc32c/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-crc32c/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-crc32c/src/imports.rs ] 2 | pub type BenchmarkFixture = Broken; 3 | pub type BenchmarkState = Broken; 4 | pub(crate) use bitcoin_imports::*; 5 | -------------------------------------------------------------------------------- /bitcoin-crc32c/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-crc32c/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{arm64_check} 7 | x!{arm64_unittest} 8 | x!{arm64} 9 | x!{benchmark} 10 | x!{capi_unittest} 11 | x!{extend_unittests} 12 | x!{interface} 13 | x!{portable} 14 | x!{prefetch_unittest} 15 | x!{prefetch} 16 | x!{read_le_unittest} 17 | x!{read_le} 18 | x!{round_up_unittest} 19 | x!{round_up} 20 | x!{sse42_check} 21 | x!{sse42_unittest} 22 | x!{sse42} 23 | x!{test_main} 24 | x!{unittest} 25 | -------------------------------------------------------------------------------- /bitcoin-crc32c/src/prefetch_unittest.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-crc32c/src/prefetch_unittest.rs ] 2 | crate::ix!(); 3 | 4 | 5 | 6 | //-------------------------------------------[.cpp/bitcoin/src/crc32c/src/crc32c_prefetch_unittest.cc] 7 | 8 | /* 9 | | There is no easy way to test cache 10 | | prefetching. We can only test that the 11 | | crc32c_prefetch.h header compiles on its own, 12 | | so it doesn't have any unstated dependencies. 13 | */ 14 | -------------------------------------------------------------------------------- /bitcoin-crypter/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-crypter/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-crypter/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoin_secp256k1::*; 6 | pub(crate) use bitcoin_support::*; 7 | pub(crate) use bitcoin_u256::*; 8 | -------------------------------------------------------------------------------- /bitcoin-crypter/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-crypter/src/lib.rs ] 2 | #![feature(allocator_api)] 3 | #[macro_use] mod imports; use imports::*; 4 | 5 | x!{crypter} 6 | x!{masterkey} 7 | -------------------------------------------------------------------------------- /bitcoin-cuckoo-cache/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-cuckoo-cache/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-cuckoo-cache/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | -------------------------------------------------------------------------------- /bitcoin-cuckoo-cache/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-cuckoo-cache/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{cuckoocache} 7 | x!{bit_packed_atomic_flags} 8 | -------------------------------------------------------------------------------- /bitcoin-daemon/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-daemon/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-daemon/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_cli::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_index::*; 7 | pub(crate) use bitcoin_indexed_chain::*; 8 | pub(crate) use bitcoin_init::*; 9 | -------------------------------------------------------------------------------- /bitcoin-daemon/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-daemon/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{bitcoind} 7 | x!{app_init} 8 | x!{fork_daemon} 9 | -------------------------------------------------------------------------------- /bitcoin-db/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-db/src/error.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-db/src/error.rs ] 2 | crate::ix!(); 3 | 4 | pub struct DbWrapperError { } 5 | 6 | impl DbWrapperError { 7 | 8 | pub fn new(msg: &String) -> Self { 9 | 10 | todo!(); 11 | /* 12 | : std::runtime_error(msg) 13 | */ 14 | } 15 | } 16 | 17 | pub fn dbwrapper_error<'a>(x: &'a str) -> &'a str { 18 | x 19 | } 20 | -------------------------------------------------------------------------------- /bitcoin-db/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-db/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_leveldb as leveldb; 6 | pub(crate) use bitcoin_log::*; 7 | pub(crate) use bitcoin_random::*; 8 | pub(crate) use bitcoin_serialize::*; 9 | pub(crate) use bitcoin_version::*; 10 | -------------------------------------------------------------------------------- /bitcoin-db/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-db/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{batch} 5 | x!{error} 6 | x!{iterator} 7 | x!{logger} 8 | x!{max_open_files} 9 | x!{options} 10 | x!{wrapper} 11 | x!{serdeser} 12 | -------------------------------------------------------------------------------- /bitcoin-deployment/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-deployment/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_chain_consensus::*; 4 | pub(crate) use bitcoin_block::*; 5 | pub(crate) use bitcoin_imports::*; 6 | -------------------------------------------------------------------------------- /bitcoin-deployment/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-deployment/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{deployment} 5 | -------------------------------------------------------------------------------- /bitcoin-derive/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-derive/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-derive/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | -------------------------------------------------------------------------------- /bitcoin-dns/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-dns/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-dns/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_network::*; 5 | pub(crate) use bitcoin_proxy::*; 6 | pub(crate) use bitcoin_service::*; 7 | -------------------------------------------------------------------------------- /bitcoin-dns/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-dns/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{lookup} 5 | -------------------------------------------------------------------------------- /bitcoin-dummywallet/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-dummywallet/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-dummywallet/src/imports.rs ] 2 | pub(crate) use bitcoin_argsman::*; 3 | pub(crate) use bitcoinwallet_library::*; 4 | pub(crate) use bitcoinwallet_interface::*; 5 | pub(crate) use bitcoin_derive::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_indexed_chain::*; 8 | -------------------------------------------------------------------------------- /bitcoin-dummywallet/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-dummywallet/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{dummywallet} 5 | -------------------------------------------------------------------------------- /bitcoin-dumpwallet/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-dumpwallet/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-dumpwallet/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_string::*; 5 | pub(crate) use bitcoinwallet_library::*; 6 | -------------------------------------------------------------------------------- /bitcoin-dumpwallet/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-dumpwallet/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{dump} 5 | x!{create_from_dump} 6 | x!{release_wallet} 7 | -------------------------------------------------------------------------------- /bitcoin-epoch/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-epoch/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-epoch/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-epoch/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-epoch/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{epochguard} 5 | x!{marker} 6 | x!{epoch} 7 | -------------------------------------------------------------------------------- /bitcoin-epoch/src/marker.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-epoch/src/marker.rs ] 2 | crate::ix!(); 3 | 4 | #[derive(Default)] 5 | pub struct EpochMarker { 6 | pub(crate) marker: u64, 7 | } 8 | -------------------------------------------------------------------------------- /bitcoin-fees/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-fees/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-fees/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_autofile::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_random::*; 7 | -------------------------------------------------------------------------------- /bitcoin-fees/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-fees/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{fees} 5 | x!{feerate} 6 | x!{estimate_mode} 7 | x!{units} 8 | x!{tx_confirm_stats} 9 | x!{encoded_double_formatter} 10 | x!{filter_fee_rounder} 11 | x!{estimator_bucket} 12 | x!{estimate_horizon} 13 | -------------------------------------------------------------------------------- /bitcoin-fees/src/units.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-fees/src/units.rs ] 2 | crate::ix!(); 3 | 4 | pub const CURRENCY_UNIT: &'static str = "BTC"; // One formatted unit 5 | pub const CURRENCY_ATOM: &'static str = "sat"; // One indivisible minimum value unit 6 | // 7 | pub const FEE_ESTIMATES_FILENAME: &'static str = "fee_estimates.dat"; 8 | pub const INF_FEERATE: f64 = 1e99; 9 | -------------------------------------------------------------------------------- /bitcoin-foundblock/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-foundblock/src/imports.rs ] 2 | pub(crate) use bitcoin_block::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_u256::*; 6 | -------------------------------------------------------------------------------- /bitcoin-foundblock/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-foundblock/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{found_block} 5 | x!{traits} 6 | -------------------------------------------------------------------------------- /bitcoin-fuzz/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-fuzz/src/fuzz_parse_script.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-fuzz/src/fuzz_parse_script.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/test/fuzz/parse_script.cpp] 5 | 6 | #[fuzz_test] fn parse_script() { 7 | todo!(); 8 | /* 9 | 10 | const std::string script_string(buffer.begin(), buffer.end()); 11 | try { 12 | (c_void)ParseScript(script_string); 13 | } catch (const std::runtime_error&) { 14 | } 15 | 16 | */ 17 | } 18 | -------------------------------------------------------------------------------- /bitcoin-golombrice/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-golombrice/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-golombrice/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_hash::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_serialize::*; 6 | pub(crate) use bitcoin_vectorstream::*; 7 | -------------------------------------------------------------------------------- /bitcoin-golombrice/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-golombrice/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{golombrice} 5 | x!{gcsfilter} 6 | -------------------------------------------------------------------------------- /bitcoin-hash/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-hash/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-hash/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | pub(crate) use bitcoin_mem::*; 4 | pub(crate) use bitcoin_ripemd::*; 5 | pub(crate) use bitcoin_serialize::*; 6 | pub(crate) use bitcoin_sha256::*; 7 | pub(crate) use bitcoin_u160::*; 8 | pub(crate) use bitcoin_u256::*; 9 | pub(crate) use bitcoin_version::*; 10 | -------------------------------------------------------------------------------- /bitcoin-hash/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-hash/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{bytevectorhash} 5 | x!{assume} 6 | x!{hash} 7 | x!{hash_160} 8 | x!{hash_256} 9 | x!{hash_type} 10 | x!{hasher} 11 | x!{murmur} 12 | x!{out_point} 13 | x!{verifier} 14 | x!{writer} 15 | -------------------------------------------------------------------------------- /bitcoin-hdchain/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-hdchain/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | -------------------------------------------------------------------------------- /bitcoin-hdchain/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-hdchain/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{hdchain} 5 | x!{hdkeypath} 6 | -------------------------------------------------------------------------------- /bitcoin-http/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-http/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-http/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_net::*; 5 | pub(crate) use bitcoin_network::*; 6 | pub(crate) use bitcoin_node::*; 7 | pub(crate) use bitcoin_service::*; 8 | pub(crate) use bitcoin_support::*; 9 | pub(crate) use bitcoin_univalue::*; 10 | pub(crate) use bitcoinrpc_server::*; 11 | -------------------------------------------------------------------------------- /bitcoin-http/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-http/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{httprpc} 7 | x!{httpserver} 8 | -------------------------------------------------------------------------------- /bitcoin-imports/build.rs: -------------------------------------------------------------------------------- 1 | use scan_crate_for_typedefs::*; 2 | 3 | fn main() -> std::io::Result<()> { 4 | 5 | let typemap = PersistentWorkspaceTypeMap::new_with_path("..")?; 6 | 7 | Ok(()) 8 | } 9 | 10 | -------------------------------------------------------------------------------- /bitcoin-index/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-index/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-index/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{base} 5 | x!{base_db} 6 | x!{validation} 7 | x!{interface} 8 | x!{summary} 9 | -------------------------------------------------------------------------------- /bitcoin-index/src/summary.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-index/src/summary.rs ] 2 | crate::ix!(); 3 | 4 | pub struct IndexSummary { 5 | name: String, 6 | synced: bool, 7 | best_block_height: i32, 8 | } 9 | 10 | impl IndexSummary { 11 | 12 | pub fn new(name: &str) -> Self { 13 | Self { 14 | name: name.to_string(), 15 | synced: false, 16 | best_block_height: 0, 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /bitcoin-indexed-chain/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-indirectmap/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-indirectmap/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-indirectmap/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_mem::*; 5 | -------------------------------------------------------------------------------- /bitcoin-indirectmap/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-indirectmap/src/lib.rs ] 2 | #![feature(generic_associated_types)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{indirectmap} 7 | -------------------------------------------------------------------------------- /bitcoin-init/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-init/src/btc_wallet.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-init/src/btc_wallet.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/init/bitcoin-wallet.cpp] 5 | 6 | pub fn make_wallet_init( 7 | argc: i32, 8 | argv: &[*mut u8], 9 | exit_status: &mut i32) -> Box { 10 | 11 | todo!(); 12 | /* 13 | return std::make_unique(); 14 | */ 15 | } 16 | -------------------------------------------------------------------------------- /bitcoin-init/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-init/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{bitcoind} 7 | x!{btc_node} 8 | x!{common} 9 | x!{echo} 10 | x!{gui} 11 | x!{handler} 12 | x!{init} 13 | x!{noui} 14 | x!{qt} 15 | x!{setup} 16 | x!{btc_wallet} 17 | -------------------------------------------------------------------------------- /bitcoin-init/src/noui.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-init/src/noui.rs ] 2 | crate::ix!(); 3 | 4 | pub fn noui_connect() { 5 | 6 | todo!(); 7 | /* 8 | noui_ThreadSafeMessageBoxConn = uiInterface.ThreadSafeMessageBox_connect(noui_ThreadSafeMessageBox); 9 | noui_ThreadSafeQuestionConn = uiInterface.ThreadSafeQuestion_connect(noui_ThreadSafeQuestion); 10 | noui_InitMessageConn = uiInterface.InitMessage_connect(noui_InitMessage); 11 | */ 12 | } 13 | -------------------------------------------------------------------------------- /bitcoin-ipc/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-ipc/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-ipc/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_index::*; 5 | -------------------------------------------------------------------------------- /bitcoin-ipc/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-ipc/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{capnp_protocol} 7 | x!{context} 8 | x!{ipc} 9 | x!{process} 10 | x!{protocol} 11 | -------------------------------------------------------------------------------- /bitcoin-key/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-key/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-key/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_support::*; 6 | pub(crate) use bitcoin_univalue::*; 7 | pub(crate) use bitcoinleveldb_table::*; 8 | pub(crate) use bitcoin_u256::*; 9 | pub(crate) use bitcoin_u160::*; 10 | -------------------------------------------------------------------------------- /bitcoin-key/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-key/src/lib.rs ] 2 | #![feature(allocator_api)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{extkey} 7 | x!{key} 8 | x!{keyorigin} 9 | x!{keypool} 10 | x!{meta} 11 | x!{privkey} 12 | x!{pubkey} 13 | -------------------------------------------------------------------------------- /bitcoin-leveldb/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-log/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | 4 | usdt::Builder::new("probes.d") 5 | .build() 6 | .expect("Failed to build USDT probes"); 7 | 8 | } 9 | -------------------------------------------------------------------------------- /bitcoin-log/debug.log: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 2025-06-02T19:06:10Z LineOne 7 | 8 | 9 | 10 | 11 | 12 | 2025-06-02T19:14:18Z LineOne 13 | -------------------------------------------------------------------------------- /bitcoin-log/logger_inner_tests_mock.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/bitcoin-log/logger_inner_tests_mock.log -------------------------------------------------------------------------------- /bitcoin-log/logger_log_print_str_mock.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/bitcoin-log/logger_log_print_str_mock.log -------------------------------------------------------------------------------- /bitcoin-log/probes.d: -------------------------------------------------------------------------------- 1 | provider generic_provider { 2 | probe trace(char*, char*); 3 | probe trace1(char*, char*, char*); 4 | probe trace2(char*, char*, char*, char*); 5 | probe trace3(char*, char*, char*, char*, char*); 6 | probe trace4(char*, char*, char*, char*, char*, char*); 7 | }; 8 | -------------------------------------------------------------------------------- /bitcoin-log/src/format.rs: -------------------------------------------------------------------------------- 1 | crate::ix!(); 2 | 3 | pub fn format_iso8601_datetime(secs: i64) -> String { 4 | use chrono::{TimeZone, Utc, LocalResult}; 5 | 6 | // New approach: match on `timestamp_opt` 7 | let dt = match Utc.timestamp_opt(secs, 0) { 8 | LocalResult::Single(x) => x, 9 | // If None or Ambiguous, just fallback to epoch 10 | _ => Utc.timestamp(0, 0), 11 | }; 12 | 13 | // Format as RFC3339 with "Z" at the end 14 | dt.to_rfc3339_opts(chrono::SecondsFormat::Secs, true) 15 | } 16 | -------------------------------------------------------------------------------- /bitcoin-log/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-log/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | pub(crate) use derive_builder::*; 4 | pub(crate) use serial_test::*; 5 | -------------------------------------------------------------------------------- /bitcoin-log/src/linked_list_ext.rs: -------------------------------------------------------------------------------- 1 | crate::ix!(); 2 | 3 | /// A convenience extension: `is_empty()` on LinkedList 4 | pub trait LinkedListExt { 5 | fn is_empty(&self) -> bool; 6 | } 7 | 8 | impl LinkedListExt for LinkedList { 9 | fn is_empty(&self) -> bool { 10 | self.len() == 0 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /bitcoin-log/test_disconnect_mock.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/bitcoin-log/test_disconnect_mock.log -------------------------------------------------------------------------------- /bitcoin-log/test_log_print_str_file.log: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 2025-06-02T19:23:21Z FileLine 7 | 8 | 9 | 10 | 11 | 12 | 2025-06-02T19:24:15Z FileLine 13 | -------------------------------------------------------------------------------- /bitcoin-log/test_log_print_str_file_unique_3.log: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 2025-06-02T19:33:27Z FileLine 7 | 8 | 9 | 10 | 11 | 12 | 2025-06-02T19:38:33Z FileLine 13 | 14 | 15 | 16 | 17 | 18 | 2025-06-02T23:43:33Z FileLine 19 | -------------------------------------------------------------------------------- /bitcoin-log/test_log_print_str_mock.log: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 2025-06-02T19:23:21Z LineOne 7 | 8 | 9 | 10 | 11 | 12 | 2025-06-02T19:23:21Z LineOne 13 | 14 | 15 | 16 | 17 | 18 | 2025-06-02T19:24:15Z LineOne 19 | 20 | 21 | 22 | 23 | 24 | 2025-06-02T19:24:15Z LineOne 25 | -------------------------------------------------------------------------------- /bitcoin-log/test_log_print_str_mock_unique_1.log: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 2025-06-02T19:33:27Z LineOne 7 | 8 | 9 | 10 | 11 | 12 | 2025-06-02T19:38:33Z LineOne 13 | 14 | 15 | 16 | 17 | 18 | 2025-06-02T23:43:33Z LineOne 19 | -------------------------------------------------------------------------------- /bitcoin-log/test_log_print_str_mock_unique_2.log: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 2025-06-02T19:33:27Z LineOne 7 | 8 | 9 | 10 | 11 | 12 | 2025-06-02T19:38:33Z LineOne 13 | 14 | 15 | 16 | 17 | 18 | 2025-06-02T23:43:33Z LineOne 19 | -------------------------------------------------------------------------------- /bitcoin-mainsignals/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-mainsignals/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-mainsignals/src/imports.rs ] 2 | pub(crate) use bitcoin_block::*; 3 | pub(crate) use bitcoin_index::*; 4 | pub(crate) use bitcoin_blockman::*; 5 | pub(crate) use bitcoin_derive::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_scheduler::*; 8 | pub(crate) use bitcoin_tx::*; 9 | pub(crate) use bitcoin_indexed_chain::*; 10 | pub(crate) use bitcoin_txmempool::*; 11 | pub(crate) use bitcoinchain_notifications::*; 12 | -------------------------------------------------------------------------------- /bitcoin-mainsignals/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-mainsignals/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{main_signals} 5 | -------------------------------------------------------------------------------- /bitcoin-mem/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-mem/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-mem/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-mem/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-mem/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{dynamic_usage} 5 | x!{malloc_usage} 6 | x!{recursive_dynamic_usage} 7 | -------------------------------------------------------------------------------- /bitcoin-merkle/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-merkle/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-merkle/src/imports.rs ] 2 | pub(crate) use bitcoin_block::*; 3 | pub(crate) use bitcoin_bloom::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_u256::*; 7 | -------------------------------------------------------------------------------- /bitcoin-merkle/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-merkle/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{merkleblock} 5 | -------------------------------------------------------------------------------- /bitcoin-message/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-message/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoin_u256::*; 6 | -------------------------------------------------------------------------------- /bitcoin-message/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-message/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{message} 5 | -------------------------------------------------------------------------------- /bitcoin-miner/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-miner/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-miner/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{miner} 7 | -------------------------------------------------------------------------------- /bitcoin-muhash/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-muhash/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-muhash/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_u256::*; 5 | -------------------------------------------------------------------------------- /bitcoin-muhash/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-muhash/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{muhash} 5 | x!{num3072} 6 | x!{limb} 7 | x!{divmul} 8 | -------------------------------------------------------------------------------- /bitcoin-net-zmq/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-net-zmq/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-net-zmq/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{zmqabstractnotifier} 7 | x!{zmqnotificationinterface} 8 | x!{zmqpublishnotifier} 9 | x!{zmqrpc} 10 | x!{traits} 11 | -------------------------------------------------------------------------------- /bitcoin-net/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-net/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-net/src/lib.rs ] 2 | #![feature(const_size_of_val)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{capture_message} 7 | x!{config} 8 | x!{url} 9 | x!{connection_type} 10 | x!{discover} 11 | x!{interface} 12 | x!{local_service_info} 13 | x!{net} 14 | x!{net_cleanup} 15 | x!{poisson_next_send} 16 | x!{processing} 17 | x!{split} 18 | x!{transport_serializer} 19 | -------------------------------------------------------------------------------- /bitcoin-net/src/net_cleanup.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-net/src/net_cleanup.rs ] 2 | crate::ix!(); 3 | 4 | #[derive(Default)] 5 | pub struct NetCleanup { 6 | 7 | 8 | } 9 | 10 | impl Drop for NetCleanup { 11 | 12 | fn drop(&mut self) { 13 | todo!(); 14 | /* 15 | #ifdef WIN32 16 | // Shutdown Windows Sockets 17 | WSACleanup(); 18 | #endif 19 | */ 20 | } 21 | } 22 | 23 | lazy_static!{ 24 | /* 25 | static CNetCleanup instance_of_cnetcleanup; 26 | */ 27 | } 28 | -------------------------------------------------------------------------------- /bitcoin-netmsg/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-netmsg/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-netmsg/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_scripting::*; 6 | pub(crate) use bitcoin_u256::*; 7 | -------------------------------------------------------------------------------- /bitcoin-netmsg/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-netmsg/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{protocol} 5 | x!{message} 6 | x!{netmessagemaker} 7 | -------------------------------------------------------------------------------- /bitcoin-netpermissions/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-netpermissions/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-netpermissions/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_service::*; 5 | pub(crate) use bitcoin_string::*; 6 | pub(crate) use bitcoin_subnet::*; 7 | -------------------------------------------------------------------------------- /bitcoin-netpermissions/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-netpermissions/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{permissions} 5 | -------------------------------------------------------------------------------- /bitcoin-network/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-network/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-network/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_sha3::*; 5 | pub(crate) use bitcoin_string::*; 6 | -------------------------------------------------------------------------------- /bitcoin-network/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-network/src/lib.rs ] 2 | #![feature(const_size_of_val)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{netaddress} 7 | x!{netaddr} 8 | x!{network} 9 | -------------------------------------------------------------------------------- /bitcoin-node/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-node/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-node/src/lib.rs ] 2 | #![feature(allocator_api)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{node} 7 | x!{node_impl} 8 | -------------------------------------------------------------------------------- /bitcoin-noui/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-noui/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_tx::*; 5 | pub(crate) use bitcoin_string::*; 6 | -------------------------------------------------------------------------------- /bitcoin-noui/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-noui/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{noui} 5 | -------------------------------------------------------------------------------- /bitcoin-packages/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-packages/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-packages/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_policy::*; 6 | pub(crate) use bitcoin_tx::*; 7 | pub(crate) use bitcoin_validation::*; 8 | -------------------------------------------------------------------------------- /bitcoin-packages/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-packages/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{packages} 5 | -------------------------------------------------------------------------------- /bitcoin-peerman/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-peerman/src/ignores_incoming_txs.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-peerman/src/ignores_incoming_txs.rs ] 2 | crate::ix!(); 3 | 4 | impl IgnoresIncomingTxs for PeerManager { 5 | 6 | fn ignores_incoming_txs(&mut self) -> bool { 7 | 8 | self.ignore_incoming_txs 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /bitcoin-peerman/src/recent_confirmed_txns.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-peerman/src/recent_confirmed_txns.rs ] 2 | crate::ix!(); 3 | 4 | pub struct PeerManagerRecentConfirmedTransactions { 5 | 6 | /** 7 | | {48'000, 0.000'001}; 8 | | 9 | */ 10 | pub recent_confirmed_transactions: RollingBloomFilter, 11 | } 12 | -------------------------------------------------------------------------------- /bitcoin-peerman/src/relay_txn.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-peerman/src/relay_txn.rs ] 2 | crate::ix!(); 3 | 4 | impl RelayTransaction for PeerManager { 5 | 6 | fn relay_transaction( 7 | self: Arc, 8 | txid: &u256, 9 | wtxid: &u256) { 10 | 11 | let mut guard = CS_MAIN.lock(); 12 | 13 | self.clone().relay_transaction_impl( 14 | txid.clone(), 15 | wtxid.clone() 16 | ); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /bitcoin-peerman/src/send_pings.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-peerman/src/send_pings.rs ] 2 | crate::ix!(); 3 | 4 | impl SendPings for PeerManager { 5 | 6 | fn send_pings(&mut self) { 7 | 8 | let mut peer_map = self.peer_map.get_mut(); 9 | 10 | for (ref k,ref mut v) in peer_map.iter_mut() { 11 | 12 | if v.is_some() { 13 | v.get().ping_queued.store(true, atomic::Ordering::Relaxed); 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /bitcoin-peerman/src/set_best_height.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-peerman/src/set_best_height.rs ] 2 | crate::ix!(); 3 | 4 | impl SetBestHeight for PeerManager { 5 | 6 | fn set_best_height(&mut self, height: i32) { 7 | 8 | self.best_height.store(height, atomic::Ordering::Relaxed); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /bitcoin-peerman/src/txrequest_comparator.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-peerman/src/txrequest_comparator.rs ] 2 | crate::ix!(); 3 | -------------------------------------------------------------------------------- /bitcoin-peerman/src/txrequest_compute.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-peerman/src/txrequest_compute.rs ] 2 | crate::ix!(); 3 | -------------------------------------------------------------------------------- /bitcoin-peerman/src/txrequest_priority.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-peerman/src/txrequest_priority.rs ] 2 | crate::ix!(); 3 | -------------------------------------------------------------------------------- /bitcoin-policy/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-policy/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-policy/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_coinsview::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_fees::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_scripting::*; 8 | pub(crate) use bitcoin_tx::*; 9 | -------------------------------------------------------------------------------- /bitcoin-policy/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-policy/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{policy} 5 | -------------------------------------------------------------------------------- /bitcoin-poly1305/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-poly1305/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-poly1305/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-poly1305/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-poly1305/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{poly1305} 5 | -------------------------------------------------------------------------------- /bitcoin-portmap/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-portmap/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-portmap/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-portmap/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{portmap} 5 | -------------------------------------------------------------------------------- /bitcoin-pow/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-pow/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-pow/src/imports.rs ] 2 | pub(crate) use bitcoin_block::*; 3 | pub(crate) use bitcoin_chain_consensus::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_u256::*; 7 | -------------------------------------------------------------------------------- /bitcoin-pow/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-pow/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{pow} 7 | -------------------------------------------------------------------------------- /bitcoin-proxy/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-proxy/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-proxy/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_network::*; 5 | pub(crate) use bitcoin_service::*; 6 | pub(crate) use bitcoin_sock::*; 7 | pub(crate) use bitcoin_subnet::*; 8 | -------------------------------------------------------------------------------- /bitcoin-proxy/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-proxy/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{netbase} 5 | -------------------------------------------------------------------------------- /bitcoin-psbt/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-psbt/src/count.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-psbt/src/count.rs ] 2 | crate::ix!(); 3 | 4 | /** 5 | | Counts the unsigned inputs of a PSBT. 6 | | 7 | */ 8 | pub fn count_psbt_unsigned_inputs(psbt: &PartiallySignedTransaction) -> usize { 9 | 10 | let mut count: usize = 0; 11 | 12 | for input in psbt.inputs.iter() { 13 | 14 | if !psbt_input_signed(input) { 15 | count += 1; 16 | } 17 | } 18 | 19 | count 20 | } 21 | -------------------------------------------------------------------------------- /bitcoin-psbt/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-psbt/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{cfg} 5 | x!{count} 6 | x!{decode} 7 | x!{finalize} 8 | x!{input} 9 | x!{output} 10 | x!{psbt} 11 | x!{analysis} 12 | x!{role} 13 | x!{sign} 14 | x!{update} 15 | x!{precomputed} 16 | x!{combine} 17 | x!{signer} 18 | -------------------------------------------------------------------------------- /bitcoin-qt/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-random/build.rs: -------------------------------------------------------------------------------- 1 | 2 | fn main() { 3 | bitcoin_cfg::setup(); 4 | } 5 | -------------------------------------------------------------------------------- /bitcoin-random/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-random/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_chacha::*; 4 | pub(crate) use bitcoin_compat::*; 5 | pub(crate) use bitcoin_derive::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_log::*; 8 | pub(crate) use bitcoin_sha256::*; 9 | pub(crate) use bitcoin_sha512::*; 10 | pub(crate) use bitcoin_support::*; 11 | pub(crate) use bitcoin_time::*; 12 | pub(crate) use bitcoin_u256::*; 13 | -------------------------------------------------------------------------------- /bitcoin-rbf/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-rbf/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-rbf/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_fees::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_tx::*; 7 | pub(crate) use bitcoin_u256::*; 8 | -------------------------------------------------------------------------------- /bitcoin-rbf/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-rbf/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{rbf} 5 | -------------------------------------------------------------------------------- /bitcoin-remote/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-remote/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-remote/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_univalue::*; 5 | -------------------------------------------------------------------------------- /bitcoin-remote/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-remote/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{auth_cookie} 5 | x!{convert_param} 6 | x!{convert_table} 7 | x!{json_request} 8 | x!{error_code} 9 | -------------------------------------------------------------------------------- /bitcoin-restapi/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-restapi/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_http::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_tx::*; 6 | pub(crate) use bitcoin_txmempool::*; 7 | pub(crate) use bitcoin_chainman::*; 8 | pub(crate) use bitcoinrpc_util::*; 9 | pub(crate) use bitcoin_indexed_chain::*; 10 | pub(crate) use bitcoin_remote::*; 11 | -------------------------------------------------------------------------------- /bitcoin-restapi/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-restapi/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{rest} 5 | -------------------------------------------------------------------------------- /bitcoin-ripemd/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-ripemd/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-ripemd/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-ripemd/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-ripemd/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{ripemd160} 5 | -------------------------------------------------------------------------------- /bitcoin-sam/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-sam/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sam/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_network::*; 5 | pub(crate) use bitcoin_service::*; 6 | pub(crate) use bitcoin_sock::*; 7 | pub(crate) use bitcoin_sync::*; 8 | -------------------------------------------------------------------------------- /bitcoin-sam/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sam/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{i2p} 5 | -------------------------------------------------------------------------------- /bitcoin-scheduler/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-scheduler/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-scheduler/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-scheduler/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-scheduler/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{scheduler} 5 | -------------------------------------------------------------------------------- /bitcoin-scripting/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-scriptpubkeyman/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-scriptpubkeyman/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{scriptpubkeyman} 5 | x!{descriptor} 6 | x!{is_mine} 7 | x!{legacy_script_pubkey_man} 8 | x!{legacy_signing_provider} 9 | x!{access} 10 | x!{traits} 11 | -------------------------------------------------------------------------------- /bitcoin-secp256k1/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-secp256k1/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-secp256k1/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | pub(crate) use bitcoinsecp256k1_ec::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoinsecp256k1_field::*; 6 | pub(crate) use bitcoinsecp256k1_group::*; 7 | pub(crate) use bitcoinsecp256k1_modinv::*; 8 | pub(crate) use bitcoinsecp256k1_scalar::*; 9 | pub(crate) use bitcoinsecp256k1_scratch::*; 10 | -------------------------------------------------------------------------------- /bitcoin-serialize/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-serialize/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-serialize/src/imports.rs ] 2 | pub(crate) use bitcoin_compat::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_support::*; 6 | -------------------------------------------------------------------------------- /bitcoin-service-flags/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-service-flags/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-service-flags/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | -------------------------------------------------------------------------------- /bitcoin-service-flags/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-service-flags/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{flags} 5 | -------------------------------------------------------------------------------- /bitcoin-service/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-service/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-service/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_network::*; 5 | pub(crate) use bitcoin_random::*; 6 | -------------------------------------------------------------------------------- /bitcoin-service/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-service/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{service} 5 | -------------------------------------------------------------------------------- /bitcoin-settings/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-settings/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-settings/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_univalue::*; 5 | -------------------------------------------------------------------------------- /bitcoin-settings/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-settings/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{settings} 5 | -------------------------------------------------------------------------------- /bitcoin-sha1/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-sha1/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sha1/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-sha1/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sha1/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{sha1} 5 | -------------------------------------------------------------------------------- /bitcoin-sha256/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-sha256/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sha256/src/imports.rs ] 2 | //pub(crate) use ::serde::*; 3 | //pub(crate) use ::serde::{Serialize,Deserialize}; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_u256::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use serde_big_array::BigArray; 8 | -------------------------------------------------------------------------------- /bitcoin-sha256/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sha256/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{sha256_avx2} 5 | x!{hash} 6 | x!{sha256_sse4} 7 | x!{sha256} 8 | x!{hkdf_sha256_32} 9 | x!{sha256_sse41} 10 | x!{hmac_sha256} 11 | x!{sha256_shani} 12 | -------------------------------------------------------------------------------- /bitcoin-sha3/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-sha3/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sha3/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-sha3/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sha3/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{sha3} 5 | -------------------------------------------------------------------------------- /bitcoin-sha512/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-sha512/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sha512/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-sha512/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sha512/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{sha512} 5 | x!{hmac_sha512} 6 | -------------------------------------------------------------------------------- /bitcoin-signet/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-signet/src/imports.rs ] 2 | pub(crate) use bitcoin_block::*; 3 | pub(crate) use bitcoin_chain_consensus::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_scripting::*; 7 | pub(crate) use bitcoin_tx::*; 8 | pub(crate) use bitcoin_u256::*; 9 | -------------------------------------------------------------------------------- /bitcoin-signet/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-signet/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{signet} 5 | -------------------------------------------------------------------------------- /bitcoin-signingprovider/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-siphash/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-siphash/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-siphash/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_u256::*; 5 | -------------------------------------------------------------------------------- /bitcoin-siphash/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-siphash/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{siphash} 5 | -------------------------------------------------------------------------------- /bitcoin-sock/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-sock/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sock/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_sync::*; 5 | -------------------------------------------------------------------------------- /bitcoin-sock/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sock/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{sock} 5 | -------------------------------------------------------------------------------- /bitcoin-sqlite/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-sqlite/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sqlite/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_string::*; 6 | pub(crate) use bitcoin_walletdb::*; 7 | pub(crate) use bitcoinwallet_interface::*; 8 | -------------------------------------------------------------------------------- /bitcoin-sqlite/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sqlite/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{batch} 5 | x!{database} 6 | x!{pragma} 7 | x!{log} 8 | x!{version} 9 | x!{create} 10 | -------------------------------------------------------------------------------- /bitcoin-sqlite/src/version.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sqlite/src/version.rs ] 2 | crate::ix!(); 3 | 4 | pub const WALLET_SCHEMA_VERSION: i32 = 0; 5 | 6 | lazy_static!{ 7 | /* 8 | static Mutex g_sqlite_mutex; 9 | static int g_sqlite_count GUARDED_BY(g_sqlite_mutex) = 0; 10 | */ 11 | } 12 | 13 | pub fn sqlite_database_version() -> String { 14 | 15 | todo!(); 16 | /* 17 | return std::string(sqlite3_libversion()); 18 | */ 19 | } 20 | -------------------------------------------------------------------------------- /bitcoin-string/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-string/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-string/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-string/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-string/src/lib.rs ] 2 | #![feature(test)] 3 | extern crate test; 4 | 5 | #[macro_use] extern crate lazy_static; 6 | #[macro_use] extern crate static_assertions; 7 | 8 | #[macro_use] mod imports; 9 | use imports::*; 10 | 11 | x!{string} 12 | x!{translation} 13 | x!{strencodings} 14 | x!{moneystr} 15 | -------------------------------------------------------------------------------- /bitcoin-subnet/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-subnet/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-subnet/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_network::*; 5 | -------------------------------------------------------------------------------- /bitcoin-subnet/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-subnet/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{subnet} 5 | -------------------------------------------------------------------------------- /bitcoin-support/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-support/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-support/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub use libevent::*; 5 | pub use libevent_sys::*; 6 | -------------------------------------------------------------------------------- /bitcoin-support/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-support/src/lib.rs ] 2 | #![feature(allocator_api)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{allocators_secure} 7 | x!{allocators_zeroafterfree} 8 | x!{cleanse} 9 | x!{events} 10 | x!{lockedpool} 11 | x!{getuniquepath} 12 | 13 | pub struct Signal { p: std::marker::PhantomData } 14 | 15 | pub trait GetName { 16 | 17 | fn get_name(&self) -> &'static str; 18 | } 19 | -------------------------------------------------------------------------------- /bitcoin-sync/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-sync/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sync/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-sync/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-sync/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{sync_impl} 5 | x!{threadinterrupt} 6 | x!{thread} 7 | x!{scoped_raw_mutex} 8 | 9 | pub struct RemovePointer {p: std::marker::PhantomData} 10 | pub struct RemoveReference {p: std::marker::PhantomData} 11 | -------------------------------------------------------------------------------- /bitcoin-system/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-system/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_argsman::*; 4 | pub(crate) use bitcoin_block::*; 5 | pub(crate) use bitcoin_derive::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_scripting::*; 8 | pub(crate) use bitcoin_string::*; 9 | pub(crate) use bitcoin_time::*; 10 | pub(crate) use bitcoin_tx::*; 11 | pub(crate) use bitcoin_txmempool::*; 12 | pub(crate) use bitcoin_u256::*; 13 | pub(crate) use bitcoin_univalue::*; 14 | -------------------------------------------------------------------------------- /bitcoin-system/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-system/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{system} 5 | -------------------------------------------------------------------------------- /bitcoin-test/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-test/src/db_not_found_error.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-test/src/db_not_found_error.rs ] 2 | crate::ix!(); 3 | 4 | pub struct DbNotFoundError { 5 | base: Exception, 6 | } 7 | -------------------------------------------------------------------------------- /bitcoin-time/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-time/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-time/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-time/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-time/src/lib.rs ] 2 | //-------------------------------------------[.cpp/bitcoin/src/util/time.h] 3 | //-------------------------------------------[.cpp/bitcoin/src/util/time.cpp] 4 | 5 | #[macro_use] mod imports; use imports::*; 6 | 7 | x!{count} 8 | x!{get_time} 9 | x!{iso8601} 10 | x!{millis_to_timeval} 11 | x!{mock_time} 12 | x!{sanity} 13 | x!{sleep} 14 | x!{timedata} 15 | -------------------------------------------------------------------------------- /bitcoin-time/src/mock_time.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-time/src/mock_time.rs ] 2 | crate::ix!(); 3 | 4 | lazy_static!{ 5 | /* 6 | static std::atomic nMockTime(0); /// For testing 7 | */ 8 | } 9 | 10 | /** 11 | | For testing. Set e.g. with the setmocktime 12 | | rpc, or -mocktime argument 13 | | 14 | */ 15 | pub fn set_mock_time(mock_time_in: Instant) { 16 | 17 | todo!(); 18 | /* 19 | nMockTime.store(mock_time_in.count(), std::memory_order_relaxed); 20 | */ 21 | } 22 | -------------------------------------------------------------------------------- /bitcoin-time/src/sleep.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-time/src/sleep.rs ] 2 | crate::ix!(); 3 | 4 | pub fn uninterruptible_sleep(n: Duration) { 5 | 6 | //make sure this sleeps in Seconds, not 7 | //Microseconds 8 | todo!(); 9 | /* 10 | std::this_thread::sleep_for(n); 11 | */ 12 | } 13 | -------------------------------------------------------------------------------- /bitcoin-tokenpipe/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-tokenpipe/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-tokenpipe/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-tokenpipe/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{tokenpipe} 5 | -------------------------------------------------------------------------------- /bitcoin-top/README.md: -------------------------------------------------------------------------------- 1 | # bitcoin-top 2 | 3 | By providing a single, unified interface 4 | to these subcomponents, the `bitcoin-top` crate 5 | streamlines the process of accessing the bitcoin-* 6 | crate ecosystem. 7 | 8 | Please note that this crate is currently in the 9 | process of translation. It's possible that 10 | some function bodies are still being translated. 11 | -------------------------------------------------------------------------------- /bitcoin-top/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-tor/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-tor/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-tor/src/imports.rs ] 2 | pub use bitcoin_derive::*; 3 | pub use bitcoin_net::*; 4 | pub use bitcoin_support::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_service::*; 7 | -------------------------------------------------------------------------------- /bitcoin-tor/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-tor/src/lib.rs ] 2 | #![feature(test)] 3 | 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{config} 7 | x!{connection} 8 | x!{controller} 9 | x!{lifecycle} 10 | x!{parse} 11 | x!{reply} 12 | x!{safecookie_response} 13 | -------------------------------------------------------------------------------- /bitcoin-tx/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-tx/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-tx/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_bitstream::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_hash::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_key::*; 8 | pub(crate) use bitcoin_mem::*; 9 | pub(crate) use bitcoin_scripting::*; 10 | pub(crate) use bitcoin_u256::*; 11 | pub(crate) use bitcoin_univalue::*; 12 | pub(crate) use bitcoinsecp256k1_keys::*; 13 | -------------------------------------------------------------------------------- /bitcoin-tx/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-tx/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{precomputed} 5 | x!{sigchecker} 6 | x!{sigchecker_caching} 7 | x!{sigchecker_deferring} 8 | x!{sigchecker_dummy} 9 | x!{sigchecker_extractor} 10 | x!{sighash} 11 | x!{sigser} 12 | x!{spent} 13 | x!{transaction} 14 | x!{txin} 15 | x!{txout} 16 | x!{disconnected} 17 | x!{utxo_snapshot} 18 | x!{encoding} 19 | x!{tx} 20 | -------------------------------------------------------------------------------- /bitcoin-txmempool/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-txmempool/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-txmempool/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{compare} 5 | x!{rbf} 6 | x!{depth_and_score_comparator} 7 | x!{info} 8 | x!{mempool_accept_result} 9 | x!{removal_reason} 10 | x!{settings} 11 | x!{txdb} 12 | x!{txid} 13 | x!{txmempool} 14 | x!{txundo} 15 | x!{undo} 16 | x!{update} 17 | x!{validation} 18 | x!{versionbits} 19 | x!{coinsview} 20 | -------------------------------------------------------------------------------- /bitcoin-txmempoolentry/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-txmempoolentry/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_block::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_epoch::*; 6 | pub(crate) use bitcoin_imports::*; 7 | pub(crate) use bitcoin_tx::*; 8 | -------------------------------------------------------------------------------- /bitcoin-txmempoolentry/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-txmempoolentry/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{entry} 5 | x!{compare} 6 | -------------------------------------------------------------------------------- /bitcoin-u160/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-u160/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-u160/src/imports.rs ] 2 | pub(crate) use bitcoin_blob::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | -------------------------------------------------------------------------------- /bitcoin-u160/src/lib.rs: -------------------------------------------------------------------------------- 1 | #![allow(non_camel_case_types)] 2 | 3 | // ---------------- [ File: bitcoin-u160/src/lib.rs ] 4 | #[macro_use] mod imports; use imports::*; 5 | 6 | x!{u160_int} 7 | -------------------------------------------------------------------------------- /bitcoin-u256/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-u256/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-u256/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_blob::*; 4 | pub(crate) use bitcoin_bigint::*; 5 | pub(crate) use bitcoin_imports::*; 6 | -------------------------------------------------------------------------------- /bitcoin-u256/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-u256/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{arith_u256} 5 | x!{checkpoint} 6 | x!{convert} 7 | x!{compact} 8 | x!{u256_int} 9 | x!{u256_serde} 10 | x!{conversion} 11 | x!{delegates} 12 | -------------------------------------------------------------------------------- /bitcoin-univalue/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-univalue/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-univalue/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | -------------------------------------------------------------------------------- /bitcoin-univalue/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-univalue/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{escapes} 5 | x!{gen} 6 | x!{get} 7 | x!{read} 8 | x!{test_no_nul} 9 | x!{test_object} 10 | x!{test_test_json} 11 | x!{test_unitester} 12 | x!{univalue} 13 | x!{utffilter} 14 | x!{write} 15 | -------------------------------------------------------------------------------- /bitcoin-univalue/src/test_no_nul.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-univalue/src/test_no_nul.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/univalue/test/no_nul.cpp] 5 | 6 | pub fn univalue_test_no_nul_main( 7 | argc: i32, 8 | argv: &[*mut u8]) -> i32 { 9 | 10 | let buf: &[u8] = b"___[1,2,3]___"; 11 | 12 | let mut val = UniValue::default(); 13 | 14 | match unsafe { val.read(buf.as_ptr().add(3), 7) } { 15 | true => 0, 16 | false => 1 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /bitcoin-validation/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-validation/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-validation/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-validation/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-validation/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{state} 5 | -------------------------------------------------------------------------------- /bitcoin-vectorstream/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-vectorstream/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoin-vectorstream/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-vectorstream/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{vector_reader} 5 | x!{vector_writer} 6 | -------------------------------------------------------------------------------- /bitcoin-version/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-version/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-version/src/imports.rs ] 2 | pub(crate) use bitcoin_imports::*; 3 | -------------------------------------------------------------------------------- /bitcoin-version/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-version/src/lib.rs ] 2 | #![feature(allocator_api)] 3 | #![feature(const_fmt_arguments_new)] 4 | #![feature(test)] 5 | 6 | #[macro_use] mod imports; use imports::*; 7 | 8 | x!{version} 9 | x!{clientversion} 10 | -------------------------------------------------------------------------------- /bitcoin-walletdb/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoin-walletdb/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-walletdb/src/imports.rs ] 2 | pub(crate) use bitcoin_bitstream::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_string::*; 6 | pub(crate) use bitcoin_support::*; 7 | pub(crate) use bitcoinwallet_interface::*; 8 | -------------------------------------------------------------------------------- /bitcoin-walletdb/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoin-walletdb/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{db} 5 | -------------------------------------------------------------------------------- /bitcoinchain-client/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinchain-client/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_scheduler::*; 5 | -------------------------------------------------------------------------------- /bitcoinchain-client/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinchain-client/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{client} 5 | -------------------------------------------------------------------------------- /bitcoinchain-interface/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinchain-interface/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinchain-interface/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{interface} 5 | x!{traits} 6 | x!{state} 7 | -------------------------------------------------------------------------------- /bitcoinchain-interface/src/state.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinchain-interface/src/state.rs ] 2 | crate::ix!(); 3 | 4 | pub trait ChainStateInterface: 5 | CoinsTip 6 | + ChainHeight 7 | + IsInitialBlockDownload 8 | + ActivateBestChain 9 | {} 10 | 11 | pub trait CoinsTip { 12 | fn coins_tip(&mut self) -> &mut CoinsViewCache; 13 | } 14 | 15 | pub trait ActivateBestChain { 16 | 17 | fn activate_best_chain( 18 | &mut self, 19 | state: &mut BlockValidationState, 20 | pblock: Amo) -> bool; 21 | } 22 | -------------------------------------------------------------------------------- /bitcoinchain-notifications/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinchain-notifications/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_tx::*; 5 | pub(crate) use bitcoin_txmempool::*; 6 | pub(crate) use bitcoin_block::*; 7 | pub(crate) use bitcoin_sam::*; 8 | pub(crate) use bitcoinrpc_server::*; 9 | -------------------------------------------------------------------------------- /bitcoinchain-notifications/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinchain-notifications/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{notifications} 5 | -------------------------------------------------------------------------------- /bitcoinchain-params/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinchain-params/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{params} 5 | x!{reg_test} 6 | x!{sig_net} 7 | x!{test_net} 8 | x!{main_params} 9 | x!{create_select} 10 | x!{seeds} 11 | x!{decode} 12 | -------------------------------------------------------------------------------- /bitcoinleveldb-arena/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-arena/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-arena/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use derive_builder::*; 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-arena/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-arena/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{arena_test} 5 | x!{arena} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-batch/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-batch/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-batch/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_key::*; 5 | pub(crate) use bitcoinleveldb_memtable::*; 6 | pub(crate) use bitcoinleveldb_meta::*; 7 | pub(crate) use bitcoinleveldb_slice::*; 8 | pub(crate) use bitcoinleveldb_status::*; 9 | -------------------------------------------------------------------------------- /bitcoinleveldb-batch/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-batch/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{write_batch_test} 5 | x!{write_batch} 6 | x!{write_batch_alt} 7 | -------------------------------------------------------------------------------- /bitcoinleveldb-bench/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-bench/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-bench/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_cache::*; 5 | pub(crate) use bitcoinleveldb_db::*; 6 | pub(crate) use bitcoinleveldb_filter::*; 7 | pub(crate) use bitcoinleveldb_histogram::*; 8 | pub(crate) use bitcoinleveldb_options::*; 9 | pub(crate) use bitcoinleveldb_rand::*; 10 | pub(crate) use bitcoinleveldb_slice::*; 11 | -------------------------------------------------------------------------------- /bitcoinleveldb-bench/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-bench/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{db_bench} 5 | x!{db_bench_sqlite3} 6 | x!{db_bench_tree_db} 7 | -------------------------------------------------------------------------------- /bitcoinleveldb-bench/src/mod.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-bench/src/mod.rs ] 2 | use bitcoin_imports::x; 3 | 4 | x!{db_bench} 5 | x!{db_bench_sqlite3} 6 | x!{db_bench_tree_db} 7 | -------------------------------------------------------------------------------- /bitcoinleveldb-bloom/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-bloom/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-bloom/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_filter::*; 5 | pub(crate) use bitcoinleveldb_slice::*; 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-bloom/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-bloom/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{bloom} 5 | x!{bloom_test} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-cache/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-cache/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-cache/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_slice::*; 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-cache/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-cache/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{cache} 5 | x!{cache_test} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-cfg/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-cfg/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-cfg/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-cfg/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-cfg/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{cfg} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-coding/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-coding/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-coding/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_slice::*; 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-coding/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-coding/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{coding_test} 5 | x!{coding} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-comparator/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-comparator/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-comparator/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_slice::*; 5 | pub(crate) use bitcoinleveldb_util::*; 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-comparator/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-comparator/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{comparator} 5 | x!{traits} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-compat/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-compat/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-compat/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-compat/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-compat/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{port_stdcxx} 5 | x!{port_config} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-compat/src/mod.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-compat/src/mod.rs ] 2 | use bitcoin_imports::x; 3 | 4 | x!{port_config} 5 | x!{port_stdcxx} 6 | x!{thread_annotations} 7 | -------------------------------------------------------------------------------- /bitcoinleveldb-crc32/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-crc32/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-crc32/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-crc32/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-crc32/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{crc32c} 5 | x!{crc32c_test} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-db/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-db/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-db/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{db_test} 5 | x!{db} 6 | x!{db_impl} 7 | x!{iter} 8 | x!{harness} 9 | x!{ctor} 10 | -------------------------------------------------------------------------------- /bitcoinleveldb-dumpfile/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-dumpfile/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-dumpfile/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_batch::*; 5 | pub(crate) use bitcoinleveldb_env::*; 6 | pub(crate) use bitcoinleveldb_file::*; 7 | pub(crate) use bitcoinleveldb_key::*; 8 | pub(crate) use bitcoinleveldb_log::*; 9 | pub(crate) use bitcoinleveldb_slice::*; 10 | pub(crate) use bitcoinleveldb_status::*; 11 | -------------------------------------------------------------------------------- /bitcoinleveldb-dumpfile/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-dumpfile/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{dumpfile} 5 | x!{dumpfile_alt} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-duplex/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-duplex/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-duplex/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_options::*; 5 | pub(crate) use bitcoinleveldb_slice::*; 6 | pub(crate) use bitcoinleveldb_status::*; 7 | pub(crate) use bitcoinleveldb_table::*; 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-duplex/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-duplex/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{two_level_iterator} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-env/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-env/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-env/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_file::*; 5 | pub(crate) use bitcoinleveldb_log::*; 6 | pub(crate) use bitcoinleveldb_slice::*; 7 | pub(crate) use bitcoinleveldb_status::*; 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-env/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-env/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{lvldb_env} 5 | x!{env_windows_helper_test} 6 | x!{env_test} 7 | x!{env_windows_test} 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-file/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-file/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-file/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_key::*; 5 | pub(crate) use bitcoinleveldb_slice::*; 6 | pub(crate) use bitcoinleveldb_status::*; 7 | pub(crate) use bitcoinleveldb_util::*; 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-file/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-file/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{filename_test} 5 | x!{filename} 6 | x!{file} 7 | x!{stdout} 8 | x!{metadata} 9 | -------------------------------------------------------------------------------- /bitcoinleveldb-filter/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-filter/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-filter/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_slice::*; 5 | pub(crate) use bitcoinleveldb_util::*; 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-filter/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-filter/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{filter_block} 5 | x!{filter_block_test} 6 | x!{filter_policy} 7 | x!{filter_block_reader} 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-hash/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-hash/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-hash/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-hash/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-hash/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{hash_alt} 5 | x!{hash} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-histogram/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-histogram/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-histogram/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-histogram/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-histogram/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{histogram} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-key/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-key/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-key/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_comparator::*; 5 | pub(crate) use bitcoinleveldb_filter::*; 6 | pub(crate) use bitcoinleveldb_slice::*; 7 | pub(crate) use bitcoinleveldb_util::*; 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-key/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-key/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{dbformat} 5 | x!{dbformat_test} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-limiter/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-limiter/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-limiter/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-limiter/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-limiter/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{limiter} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-log/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-log/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-log/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_file::*; 5 | pub(crate) use bitcoinleveldb_rand::*; 6 | pub(crate) use bitcoinleveldb_slice::*; 7 | pub(crate) use bitcoinleveldb_status::*; 8 | pub(crate) use bitcoinleveldb_util::*; 9 | -------------------------------------------------------------------------------- /bitcoinleveldb-log/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-log/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{format} 5 | x!{test} 6 | x!{logging_test} 7 | x!{logging} 8 | x!{writer} 9 | x!{posix_logger} 10 | x!{reader} 11 | -------------------------------------------------------------------------------- /bitcoinleveldb-log/src/mod.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-log/src/mod.rs ] 2 | use bitcoin_imports::x; 3 | 4 | x!{format} 5 | x!{logging} 6 | x!{posix_logger} 7 | x!{reader} 8 | x!{test} 9 | x!{writer} 10 | -------------------------------------------------------------------------------- /bitcoinleveldb-lru/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-lru/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-lru/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_cache::*; 5 | pub(crate) use bitcoinleveldb_slice::*; 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-lru/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-lru/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{lru_cache} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-memenv/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-memenv/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-memenv/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_env::*; 5 | pub(crate) use bitcoinleveldb_file::*; 6 | pub(crate) use bitcoinleveldb_log::*; 7 | pub(crate) use bitcoinleveldb_slice::*; 8 | pub(crate) use bitcoinleveldb_status::*; 9 | pub(crate) use bitcoinleveldb_util::*; 10 | -------------------------------------------------------------------------------- /bitcoinleveldb-memenv/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-memenv/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{leveldb_helpers_memenv_memenv_test} 5 | x!{memenv} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-memtable/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-memtable/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-memtable/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_arena::*; 5 | pub(crate) use bitcoinleveldb_comparator::*; 6 | pub(crate) use bitcoinleveldb_key::*; 7 | pub(crate) use bitcoinleveldb_options::*; 8 | pub(crate) use bitcoinleveldb_skiplist::*; 9 | pub(crate) use bitcoinleveldb_slice::*; 10 | pub(crate) use bitcoinleveldb_status::*; 11 | pub(crate) use bitcoinleveldb_table::*; 12 | -------------------------------------------------------------------------------- /bitcoinleveldb-memtable/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-memtable/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{memtable} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-merger/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-merger/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-merger/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_comparator::*; 5 | pub(crate) use bitcoinleveldb_slice::*; 6 | pub(crate) use bitcoinleveldb_status::*; 7 | pub(crate) use bitcoinleveldb_table::*; 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-merger/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-merger/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{merger} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-meta/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-meta/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-meta/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{version_set} 5 | x!{version_set_test} 6 | x!{version_edit} 7 | -------------------------------------------------------------------------------- /bitcoinleveldb-options/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-options/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-options/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_cache::*; 5 | pub(crate) use bitcoinleveldb_comparator::*; 6 | pub(crate) use bitcoinleveldb_env::*; 7 | pub(crate) use bitcoinleveldb_filter::*; 8 | pub(crate) use bitcoinleveldb_log::*; 9 | pub(crate) use bitcoinleveldb_snapshot::*; 10 | -------------------------------------------------------------------------------- /bitcoinleveldb-options/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-options/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{options} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-posix/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-posix/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-posix/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_env::*; 5 | pub(crate) use bitcoinleveldb_file::*; 6 | pub(crate) use bitcoinleveldb_limiter::*; 7 | pub(crate) use bitcoinleveldb_log::*; 8 | pub(crate) use bitcoinleveldb_slice::*; 9 | pub(crate) use bitcoinleveldb_status::*; 10 | pub(crate) use bitcoinleveldb_util::*; 11 | -------------------------------------------------------------------------------- /bitcoinleveldb-posix/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-posix/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{env_posix} 5 | x!{env_posix_test} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-rand/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-rand/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-rand/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-rand/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-rand/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{random} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-repair/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-repair/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-repair/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{repair} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-skiplist/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-skiplist/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-skiplist/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_arena::*; 5 | pub(crate) use bitcoinleveldb_comparator::*; 6 | pub(crate) use bitcoinleveldb_key::*; 7 | pub(crate) use bitcoinleveldb_rand::*; 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-skiplist/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-skiplist/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{skiplist} 5 | x!{skiplist_test} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-slice/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-slice/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-slice/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-slice/src/lib.rs: -------------------------------------------------------------------------------- 1 | #![allow(internal_features)] 2 | #![feature(core_intrinsics)] 3 | 4 | // ---------------- [ File: bitcoinleveldb-slice/src/lib.rs ] 5 | #[macro_use] mod imports; use imports::*; 6 | 7 | x!{slice} 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-snapshot/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-snapshot/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-snapshot/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_key::*; 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-snapshot/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-snapshot/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{snapshot} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-status/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-status/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-status/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_slice::*; 5 | pub(crate) use derive_builder::*; 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-status/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-status/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{status} 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-sync/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-sync/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-sync/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-sync/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-sync/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{thread_annotations} 5 | x!{mutexlock} 6 | -------------------------------------------------------------------------------- /bitcoinleveldb-table/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-table/src/db_iter.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-table/src/db_iter.rs ] 2 | crate::ix!(); 3 | 4 | //-------------------------------------------[.cpp/bitcoin/src/leveldb/db/db_iter.h] 5 | //-------------------------------------------[.cpp/bitcoin/src/leveldb/db/db_iter.cc] 6 | 7 | pub struct LevelDBIterator { 8 | rep: Rc>, 9 | } 10 | -------------------------------------------------------------------------------- /bitcoinleveldb-table/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-table/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{block_builder} 5 | x!{block} 6 | x!{builder_alt} 7 | x!{builder} 8 | x!{db_iter} 9 | x!{footer} 10 | x!{handle} 11 | x!{iterator_alt} 12 | x!{iterator_wrapper} 13 | x!{iterator} 14 | x!{leveldb_db_table_cache} 15 | x!{leveldb_table_format} 16 | x!{table_test} 17 | x!{table} 18 | x!{constructor} 19 | x!{version_iterator} 20 | -------------------------------------------------------------------------------- /bitcoinleveldb-table/src/mod.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-table/src/mod.rs ] 2 | use bitcoin_imports::x; 3 | 4 | x!{block} 5 | x!{block_builder} 6 | x!{builder} 7 | x!{filter_block} 8 | x!{filter_block_test} 9 | x!{iterator} 10 | x!{iterator_wrapper} 11 | x!{leveldb_table_format} 12 | x!{merger} 13 | x!{table} 14 | x!{table_test} 15 | x!{two_level_iterator} 16 | -------------------------------------------------------------------------------- /bitcoinleveldb-test/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-test/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-test/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{c_test} 5 | x!{corruption_test} 6 | x!{fault_injection_test} 7 | x!{harness} 8 | x!{issue178_test} 9 | x!{issue200_test} 10 | x!{issue320_test} 11 | x!{recovery_test} 12 | x!{util} 13 | -------------------------------------------------------------------------------- /bitcoinleveldb-util/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-util/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-util/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_status::*; 5 | -------------------------------------------------------------------------------- /bitcoinleveldb-util/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-util/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{no_destructor_test} 5 | x!{leveldbutil} 6 | x!{no_destructor} 7 | -------------------------------------------------------------------------------- /bitcoinleveldb-version/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-version/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-version/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{version} 5 | x!{set} 6 | x!{setbuilder} 7 | x!{compaction} 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-versionedit/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinleveldb-versionedit/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-versionedit/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinleveldb_file::*; 5 | pub(crate) use bitcoinleveldb_key::*; 6 | pub(crate) use bitcoinleveldb_slice::*; 7 | pub(crate) use bitcoinleveldb_status::*; 8 | -------------------------------------------------------------------------------- /bitcoinleveldb-versionedit/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinleveldb-versionedit/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{versionedit} 5 | x!{test} 6 | -------------------------------------------------------------------------------- /bitcoinnode-interface/src/added.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-interface/src/added.rs ] 2 | crate::ix!(); 3 | 4 | pub struct AddedNodeInfo 5 | { 6 | pub str_added_node: String, 7 | pub resolved_address: Service, 8 | pub connected: bool, 9 | pub inbound: bool, 10 | } 11 | -------------------------------------------------------------------------------- /bitcoinnode-interface/src/addr_local.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-interface/src/addr_local.rs ] 2 | crate::ix!(); 3 | 4 | pub struct NodeAddrLocal { 5 | 6 | /** 7 | | Our address, as reported by the peer 8 | | 9 | */ 10 | pub addr_local: Service, 11 | } 12 | 13 | impl Default for NodeAddrLocal { 14 | 15 | fn default() -> Self { 16 | Self { 17 | addr_local: Service::default(), 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /bitcoinnode-interface/src/fetch_flags.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-interface/src/fetch_flags.rs ] 2 | crate::ix!(); 3 | 4 | #[EXCLUSIVE_LOCKS_REQUIRED(cs_main)] 5 | pub fn get_fetch_flags(pfrom: &dyn NodeInterface) -> GetDataMsg { 6 | 7 | todo!(); 8 | /* 9 | uint32_t nFetchFlags = 0; 10 | if (State(pfrom.GetId())->fHaveWitness) { 11 | nFetchFlags |= MSG_WITNESS_FLAG; 12 | } 13 | return nFetchFlags; 14 | */ 15 | } 16 | -------------------------------------------------------------------------------- /bitcoinnode-interface/src/h_socket.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-interface/src/h_socket.rs ] 2 | crate::ix!(); 3 | 4 | pub struct NodeHSocket { 5 | pub h_socket: CSocket, 6 | } 7 | 8 | impl Default for NodeHSocket { 9 | 10 | fn default() -> Self { 11 | Self { 12 | h_socket: INVALID_SOCKET, 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /bitcoinnode-interface/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-interface/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{interface} 5 | x!{fetch_flags} 6 | x!{peer} 7 | x!{eviction} 8 | x!{callbacks} 9 | x!{net_events} 10 | x!{v_send} 11 | x!{h_socket} 12 | x!{v_recv} 13 | x!{addr_local} 14 | x!{v_process_msg} 15 | x!{added} 16 | x!{select_node_to_evict} 17 | x!{protect_eviction_candidates_by_ratio} 18 | x!{traits} 19 | -------------------------------------------------------------------------------- /bitcoinnode-interface/src/v_process_msg.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-interface/src/v_process_msg.rs ] 2 | crate::ix!(); 3 | 4 | pub struct NodeVProcessMsg { 5 | 6 | pub process_msg: Vec, 7 | } 8 | 9 | impl Default for NodeVProcessMsg { 10 | 11 | fn default() -> Self { 12 | Self { 13 | process_msg: Vec::::default(), 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /bitcoinnode-interface/src/v_recv.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-interface/src/v_recv.rs ] 2 | crate::ix!(); 3 | 4 | pub struct NodeVRecv { 5 | pub map_recv_bytes_per_msg_cmd: MapMsgCmdSize, 6 | pub n_recv_bytes: u64, // default = { 0 } 7 | } 8 | 9 | impl Default for NodeVRecv { 10 | 11 | fn default() -> Self { 12 | Self { 13 | map_recv_bytes_per_msg_cmd: MapMsgCmdSize::default(), 14 | n_recv_bytes: 0, 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /bitcoinnode-stats/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinnode-stats/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-stats/src/imports.rs ] 2 | pub(crate) use bitcoin_addr::*; 3 | pub(crate) use bitcoin_amt::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_net::*; 7 | pub(crate) use bitcoin_netmsg::*; 8 | pub(crate) use bitcoin_netpermissions::*; 9 | pub(crate) use bitcoin_network::*; 10 | pub(crate) use bitcoin_service_flags::*; 11 | -------------------------------------------------------------------------------- /bitcoinnode-stats/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-stats/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{nodestats} 5 | x!{node_state_stats} 6 | -------------------------------------------------------------------------------- /bitcoinnode-txrelay/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-txrelay/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_bloom::*; 4 | pub(crate) use bitcoin_derive::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_u256::*; 7 | -------------------------------------------------------------------------------- /bitcoinnode-txrelay/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinnode-txrelay/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{txrelay} 5 | -------------------------------------------------------------------------------- /bitcoinrpc-blockchain/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-blockchain/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-blockchain/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{blockchain} 5 | -------------------------------------------------------------------------------- /bitcoinrpc-dump/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-dump/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-dump/src/imports.rs ] 2 | pub(crate) use bitcoin_indexed_chain::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_key::*; 6 | pub(crate) use bitcoin_scripting::*; 7 | pub(crate) use bitcoin_scriptpubkeyman::*; 8 | pub(crate) use bitcoin_univalue::*; 9 | pub(crate) use bitcoinwallet_library::*; 10 | pub(crate) use bitcoinrpc_util::*; 11 | pub(crate) use bitcoinwallet_interface::*; 12 | -------------------------------------------------------------------------------- /bitcoinrpc-dump/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-dump/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{rpcdump} 5 | -------------------------------------------------------------------------------- /bitcoinrpc-mining/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-mining/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-mining/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{mining} 5 | -------------------------------------------------------------------------------- /bitcoinrpc-misc/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-misc/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-misc/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_index::*; 5 | pub(crate) use bitcoin_univalue::*; 6 | pub(crate) use bitcoinrpc_server::*; 7 | pub(crate) use bitcoinrpc_util::*; 8 | pub(crate) use bitcoin_indexed_chain::*; 9 | -------------------------------------------------------------------------------- /bitcoinrpc-misc/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-misc/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{misc} 5 | -------------------------------------------------------------------------------- /bitcoinrpc-net/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-net/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-net/src/imports.rs ] 2 | pub(crate) use bitcoin_connman::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_indexed_chain::*; 6 | pub(crate) use bitcoin_peerman::*; 7 | pub(crate) use bitcoin_univalue::*; 8 | pub(crate) use bitcoinrpc_server::*; 9 | pub(crate) use bitcoinrpc_util::*; 10 | -------------------------------------------------------------------------------- /bitcoinrpc-net/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-net/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{net} 5 | -------------------------------------------------------------------------------- /bitcoinrpc-server/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-server/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-server/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_remote::*; 5 | pub(crate) use bitcoin_support::*; 6 | pub(crate) use bitcoin_univalue::*; 7 | pub(crate) use bitcoinrpc_util::*; 8 | -------------------------------------------------------------------------------- /bitcoinrpc-server/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-server/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{server} 5 | -------------------------------------------------------------------------------- /bitcoinrpc-txn/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-txn/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-txn/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{rawtransaction} 5 | x!{rawtransaction_util} 6 | -------------------------------------------------------------------------------- /bitcoinrpc-util/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-util/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-util/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_key::*; 6 | pub(crate) use bitcoin_remote::*; 7 | pub(crate) use bitcoin_scripting::*; 8 | pub(crate) use bitcoin_secp256k1::*; 9 | pub(crate) use bitcoin_service_flags::*; 10 | pub(crate) use bitcoin_signingprovider::*; 11 | pub(crate) use bitcoin_u256::*; 12 | pub(crate) use bitcoin_univalue::*; 13 | -------------------------------------------------------------------------------- /bitcoinrpc-util/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-util/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{util} 5 | -------------------------------------------------------------------------------- /bitcoinrpc-wallet/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinrpc-wallet/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinrpc-wallet/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{rpcwallet} 5 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-bench/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-bench/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-bench/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoin_secp256k1::*; 6 | pub(crate) use bitcoinsecp256k1_ec::*; 7 | pub(crate) use bitcoinsecp256k1_field::*; 8 | pub(crate) use bitcoinsecp256k1_group::*; 9 | pub(crate) use bitcoinsecp256k1_keys::*; 10 | pub(crate) use bitcoinsecp256k1_scalar::*; 11 | pub(crate) use bitcoinsecp256k1_scratch::*; 12 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-bench/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-bench/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{bench_ecdh} 5 | x!{bench_sign} 6 | x!{bench_verify} 7 | x!{bench_ecmult} 8 | x!{bench_internal} 9 | x!{bench_schnorrsig} 10 | x!{bench_recover} 11 | x!{bench} 12 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-ec/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-ec/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-ec/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoinsecp256k1_field::*; 6 | pub(crate) use bitcoinsecp256k1_group::*; 7 | pub(crate) use bitcoinsecp256k1_scalar::*; 8 | pub(crate) use bitcoinsecp256k1_scratch::*; 9 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-ec/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-ec/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{ecmult_gen} 5 | x!{eckey} 6 | x!{ecdh} 7 | x!{ecmult_const} 8 | x!{ecmult} 9 | x!{ecdsa} 10 | x!{ecdsa_signature} 11 | x!{context} 12 | x!{nonce} 13 | x!{callback} 14 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-field/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-field/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-field/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinsecp256k1_modinv::*; 5 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-field/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-field/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{field} 5 | 6 | #[cfg(SECP256K1_WIDEMUL_INT128)] 7 | x!{field_5x52} 8 | 9 | //x!{asm_field_10x26_arm} 10 | 11 | #[cfg(SECP256K1_WIDEMUL_INT64)] 12 | x!{field_10x26} 13 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-group/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-group/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-group/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinsecp256k1_field::*; 5 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-group/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-group/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{group_impl} 5 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-keys/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-keys/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-keys/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoin_secp256k1::*; 6 | pub(crate) use bitcoinsecp256k1_ec::*; 7 | pub(crate) use bitcoinsecp256k1_group::*; 8 | pub(crate) use bitcoinsecp256k1_scalar::*; 9 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-keys/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-keys/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{extrakeys} 5 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-modinv/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-modinv/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-modinv/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-modinv/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-modinv/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{modinv32} 5 | 6 | /** 7 | | modinv64 requires 128-bit wide multiplication 8 | | support 9 | | 10 | */ 11 | #[cfg(SECP256K1_WIDEMUL_INT128)] 12 | x!{modinv64} 13 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-parse/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-parse/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-parse/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_secp256k1::*; 5 | pub(crate) use bitcoinsecp256k1_ec::*; 6 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-parse/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-parse/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{contrib_lax_der_privatekey_parsing} 5 | x!{contrib_lax_der_parsing} 6 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-recovery/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-recovery/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-recovery/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoin_secp256k1::*; 6 | pub(crate) use bitcoinsecp256k1_ec::*; 7 | pub(crate) use bitcoinsecp256k1_group::*; 8 | pub(crate) use bitcoinsecp256k1_scalar::*; 9 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-recovery/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-recovery/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{recovery} 5 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-scalar/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-scalar/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-scalar/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoinsecp256k1_modinv::*; 5 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-scalar/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-scalar/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | ///Need to select a scalar format 5 | #[cfg(SECP256K1_WIDEMUL_INT128)] 6 | x!{scalar_4x64} 7 | 8 | #[cfg(EXHAUSTIVE_TEST_ORDER)] 9 | x!{scalar_low} 10 | x!{scalar} 11 | 12 | #[cfg(SECP256K1_WIDEMUL_INT64)] 13 | x!{scalar_8x32} 14 | 15 | x!{scalar_split_lambda} 16 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-schnorr/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-schnorr/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-schnorr/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_key::*; 5 | pub(crate) use bitcoin_sha256::*; 6 | pub(crate) use bitcoinsecp256k1_ec::*; 7 | pub(crate) use bitcoinsecp256k1_keys::*; 8 | pub(crate) use bitcoinsecp256k1_scalar::*; 9 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-schnorr/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-schnorr/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{schnorrsig} 5 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-scratch/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-scratch/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-scratch/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | -------------------------------------------------------------------------------- /bitcoinsecp256k1-scratch/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinsecp256k1-scratch/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{scratch} 5 | -------------------------------------------------------------------------------- /bitcoinwallet-client/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-client/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{client} 5 | x!{client_impl} 6 | -------------------------------------------------------------------------------- /bitcoinwallet-context/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-context/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_argsman::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoinchain_interface::*; 6 | pub(crate) use bitcoinwallet_interface::*; 7 | -------------------------------------------------------------------------------- /bitcoinwallet-context/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-context/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{context} 5 | -------------------------------------------------------------------------------- /bitcoinwallet-feature/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-feature/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_signingprovider::*; 5 | -------------------------------------------------------------------------------- /bitcoinwallet-feature/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-feature/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{feature} 5 | x!{flags} 6 | x!{descriptor} 7 | -------------------------------------------------------------------------------- /bitcoinwallet-fees/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinwallet-fees/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-fees/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_fees::*; 5 | pub(crate) use bitcoin_imports::*; 6 | pub(crate) use bitcoin_indexed_chain::*; 7 | pub(crate) use bitcoin_string::*; 8 | pub(crate) use bitcoin_tx::*; 9 | pub(crate) use bitcoin_u256::*; 10 | pub(crate) use bitcoinwallet_interface::*; 11 | pub(crate) use bitcoinwallet_library::*; 12 | -------------------------------------------------------------------------------- /bitcoinwallet-fees/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-fees/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{fees} 5 | x!{feebumper} 6 | -------------------------------------------------------------------------------- /bitcoinwallet-init/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinwallet-init/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-init/src/imports.rs ] 2 | pub(crate) use bitcoin_argsman::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_indexed_chain::*; 6 | pub(crate) use bitcoin_scheduler::*; 7 | pub(crate) use bitcoinwallet_context::*; 8 | pub(crate) use bitcoinwallet_library::*; 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /bitcoinwallet-init/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-init/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{load} 5 | x!{init} 6 | -------------------------------------------------------------------------------- /bitcoinwallet-interface/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinwallet-interface/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-interface/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{interface} 5 | x!{callbacks} 6 | x!{address} 7 | x!{recipient} 8 | -------------------------------------------------------------------------------- /bitcoinwallet-receive/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinwallet-receive/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-receive/src/imports.rs ] 2 | pub(crate) use bitcoin_amt::*; 3 | pub(crate) use bitcoin_derive::*; 4 | pub(crate) use bitcoin_imports::*; 5 | pub(crate) use bitcoin_indexed_chain::*; 6 | pub(crate) use bitcoin_scripting::*; 7 | pub(crate) use bitcoin_tx::*; 8 | pub(crate) use bitcoin_u256::*; 9 | pub(crate) use bitcoinwallet_interface::*; 10 | pub(crate) use bitcoinwallet_library::*; 11 | -------------------------------------------------------------------------------- /bitcoinwallet-receive/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-receive/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{receive} 5 | -------------------------------------------------------------------------------- /bitcoinwallet-salvage/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinwallet-salvage/src/imports.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-salvage/src/imports.rs ] 2 | pub(crate) use bitcoin_derive::*; 3 | pub(crate) use bitcoin_imports::*; 4 | pub(crate) use bitcoin_string::*; 5 | -------------------------------------------------------------------------------- /bitcoinwallet-salvage/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-salvage/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{salvage} 5 | -------------------------------------------------------------------------------- /bitcoinwallet-spend/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | bitcoin_cfg::setup(); 3 | } 4 | -------------------------------------------------------------------------------- /bitcoinwallet-spend/src/lib.rs: -------------------------------------------------------------------------------- 1 | // ---------------- [ File: bitcoinwallet-spend/src/lib.rs ] 2 | #[macro_use] mod imports; use imports::*; 3 | 4 | x!{spend} 5 | -------------------------------------------------------------------------------- /custom.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Noto Sans'; 3 | src: url('./fonts/NotoSans-Regular.ttf') format('truetype'); 4 | font-weight: normal; 5 | font-style: normal; 6 | } 7 | 8 | body { 9 | font-family: 'Noto Sans', sans-serif; 10 | font-size: 17pt; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /fonts/NotoSans-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-Black.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-BlackItalic.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-Bold.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-BoldItalic.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-ExtraBold.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-ExtraLight.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-Italic.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-Light.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-LightItalic.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-Medium.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-MediumItalic.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-Regular.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-SemiBold.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-Thin.ttf -------------------------------------------------------------------------------- /fonts/NotoSans-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/klebs6/bitcoin-rs/abf957a3470234f72407fcd32ec67bd9665288d5/fonts/NotoSans-ThinItalic.ttf -------------------------------------------------------------------------------- /u/add-all-subcrates-to-toplevel: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | use cargo-workspace; 3 | 4 | sub MAIN { 5 | my @crates = ".".IO.dir.grep: /bitcoin\-/; 6 | 7 | for @crates -> $crate { 8 | add-workspace-crate-to-neighbor-cargo-toml( 9 | workspace-crate => ~$crate, 10 | neighbor => "bitcoin", 11 | write => True, 12 | ); 13 | 14 | glob-import-from-crates("bitcoin", [ 15 | ~$crate.subst(:g, "-","_") 16 | ]); 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /u/add-dep-to-crate: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | 3 | use Chomper::CargoWorkspace; 4 | 5 | sub MAIN($crate, $dep) { 6 | 7 | batch-add-dependencies-to-cargo-toml( 8 | [$crate], 9 | deps => [$dep], 10 | ver => "*", 11 | write => True, 12 | ); 13 | 14 | glob-import-from-crates($crate, [ 15 | $dep.subst("-","_"), 16 | ]); 17 | } 18 | -------------------------------------------------------------------------------- /u/add-workspace-crate-to-neighbor-cargo-toml: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | use Chomper::CargoWorkspace; 3 | 4 | sub MAIN($src, $dst, Bool :$write) { 5 | 6 | add-neighbor-dependency(:$src, :$dst, :$write); 7 | } 8 | -------------------------------------------------------------------------------- /u/batch-add-deps-to-cargo-toml: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | 3 | use cargo-workspace; 4 | 5 | sub MAIN(@deps, Bool :$write) { 6 | 7 | my @crates = ".".IO.dir.grep: /bitcoin*/; 8 | 9 | batch-add-dependencies-to-cargo-toml( 10 | @crates, 11 | :@deps, 12 | ver => "*", 13 | :$write, 14 | ); 15 | } 16 | -------------------------------------------------------------------------------- /u/clean: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | use v6; 3 | my $in = $*IN.slurp; 4 | 5 | $in ~~ s:g/\n\n\n/\n/; 6 | 7 | say $in 8 | -------------------------------------------------------------------------------- /u/configure-imports-crate-dep-everywhere: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | 3 | use Chomper::ConfigureImportsCrateDep; 4 | 5 | sub MAIN { 6 | configure-imports-crate-dep-everywhere(root-dir => $*CWD); 7 | } 8 | -------------------------------------------------------------------------------- /u/dash-to-under: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | use File::Find; 3 | 4 | sub MAIN(:$write = False) { 5 | 6 | my @commands = find(dir => 'bitcoin/src').map: { 7 | "mv $_ {$_.subst("-", "_", :g)}" 8 | }; 9 | 10 | for @commands { 11 | if $write { 12 | shell $_; 13 | } else { 14 | say $_; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /u/ensure-crate-imports: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | 3 | ".".IO.dir 4 | ==> grep ({ /bitcoin/ }) 5 | ==> map ({ ~$_ ~ "/src/imports.rs" }) 6 | ==> map ({ .IO }) 7 | ==> my @imports; 8 | 9 | for @imports -> $f { 10 | if $f.e { 11 | my $input = $f.slurp.subst(:g, "pub use", "pub(crate) use"); 12 | $f.spurt: $input; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /u/find-big-crates: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | use File::Find; 3 | 4 | my @crates = ".".IO.dir.grep: /bitcoin\-*/; 5 | 6 | my @items = gather for @crates -> $crate { 7 | my $rs = find(dir => $crate).grep: /\.rs/; 8 | 9 | my $lines = $rs.List>>.IO>>.slurp.lines.elems; 10 | 11 | take ($lines, ~$crate); 12 | }; 13 | 14 | .say for @items.sort#: { $^a[1] cmp $^b[1] }; 15 | -------------------------------------------------------------------------------- /u/generate-rustdoc-db: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | use JSON::Pretty; 3 | use Config::TOML; 4 | use Data::Dump::Tree; 5 | use json; 6 | use cargo; 7 | 8 | generate-single-rustdoc-db("bitcoin-bloom"); 9 | -------------------------------------------------------------------------------- /u/infer-rustdoc-json: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | 3 | use json-infer; 4 | use infer-rustdoc; 5 | use gjson; 6 | 7 | sub MAIN { 8 | 9 | crates-for-proj("bitcoin") 10 | ==> sort() 11 | ==> map({create-paradigm-map-for-crate($_)}) 12 | ==> my @paradigm-maps; 13 | 14 | my %merged = merge-paradigm-maps(@paradigm-maps); 15 | 16 | create-json-classes(%merged); 17 | } 18 | -------------------------------------------------------------------------------- /u/leveldb-rearrange: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | mv bitcoin/src/leveldb/bench/leveldb_benchmarks_db_bench_sqlite3.rs bitcoin/src/leveldb/bench/db_bench_sqlite3.rs 4 | mv bitcoin/src/leveldb/bench/leveldb_benchmarks_db_bench.rs bitcoin/src/leveldb/bench/db_bench.rs 5 | mv bitcoin/src/leveldb/bench/leveldb_benchmarks_db_bench_tree_db.rs bitcoin/src/leveldb/bench/db_bench_tree_db.rs 6 | -------------------------------------------------------------------------------- /u/merge-node-wallet: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | 3 | my $node-dir = "bitcoin-node/src"; 4 | my $wallet-dir = "bitcoin-wallet/src"; 5 | my @wallet-files = $wallet-dir.IO.dir; 6 | 7 | for @wallet-files -> $src { 8 | 9 | my $stem = $src.basename; 10 | my $target = $node-dir ~ "/" ~ $stem; 11 | 12 | if $target.IO.e { 13 | shell "/bin/cat $src >> $target"; 14 | } else { 15 | shell "mv $src $target"; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /u/touch-imports: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env raku 2 | 3 | my @crates = ".".IO.dir.grep: /bitcoin*/; 4 | 5 | for @crates.map: {$_ ~ "/src/imports.rs"} { 6 | shell "touch $_"; 7 | } 8 | --------------------------------------------------------------------------------