Merge rust-bitcoin/rust-bitcoin#2928: Create empty `bitcoin-addresses` crate

0630457403 Create empty bitcoin-addresses crate (Tobin C. Harding)

Pull request description:

  We intend on splitting the address types and logic out into a separate crate. In preparation for doing so, and so that we can grab the name on crates.io, add an empty crate `bitcoin-addresses`.

  Tie it in to the CI infrastructure excluding the `check-api` infrastructure because that is in flux.

ACKs for top commit:
  Kixunil:
    ACK 0630457403
  apoelstra:
    ACK 0630457403 will try to tag and publish tonight, but may be tomorrow

Tree-SHA512: faf54f43954a799f1003dae67930edc7f306c35403ba05e511df6685c1068850c47fe1a46afdcabcb32c3f43398803181c7f53d6bcf64a4aec7123e9ce9306e8
This commit is contained in:
merge-script 2024-07-01 13:32:56 +00:00
commit 2dd79639b0
No known key found for this signature in database
GPG Key ID: C588D63CE41B97C1
9 changed files with 86 additions and 2 deletions

View File

@ -68,6 +68,10 @@ dependencies = [
"serde_test",
]
[[package]]
name = "bitcoin-addresses"
version = "0.0.0"
[[package]]
name = "bitcoin-fuzz"
version = "0.0.1"

View File

@ -67,6 +67,10 @@ dependencies = [
"serde_test",
]
[[package]]
name = "bitcoin-addresses"
version = "0.0.0"
[[package]]
name = "bitcoin-fuzz"
version = "0.0.1"

View File

@ -1,7 +1,10 @@
[workspace]
members = ["base58", "bitcoin", "fuzz", "hashes", "internals", "io", "units"]
members = ["addresses", "base58", "bitcoin", "fuzz", "hashes", "internals", "io", "units"]
resolver = "2"
[patch.crates-io.bitcoin-addresses]
path = "addresses"
[patch.crates-io.base58ck]
path = "base58"

3
addresses/CHANGELOG.md Normal file
View File

@ -0,0 +1,3 @@
# 0.0.0 - Initial dummy release
- Empty crate to reserve the name on crates.io

26
addresses/Cargo.toml Normal file
View File

@ -0,0 +1,26 @@
[package]
name = "bitcoin-addresses"
version = "0.0.0"
authors = ["Andrew Poelstra <apoelstra@wpsoftware.net>"]
license = "CC0-1.0"
repository = "https://github.com/rust-bitcoin/rust-bitcoin"
description = "Bitcoin address"
categories = ["cryptography::cryptocurrencies"]
keywords = ["bitcoin", "types"]
readme = "README.md"
edition = "2021"
rust-version = "1.56.1"
exclude = ["tests", "contrib"]
[features]
default = ["std"]
std = ["alloc"]
alloc = []
[dependencies]
[dev-dependencies]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

7
addresses/README.md Normal file
View File

@ -0,0 +1,7 @@
# Bitcoin Receive
Types and logic required to receive bitcoin - i.e., bitcoin addresses.
## Minimum Supported Rust Version (MSRV)
This library should always compile with any combination of features on **Rust 1.56.1**.

View File

@ -0,0 +1,14 @@
# No shebang, this file should not be executed.
# shellcheck disable=SC2148
#
# disable verify unused vars, despite the fact that they are used when sourced
# shellcheck disable=SC2034
# Test all these features with "std" enabled.
FEATURES_WITH_STD=""
# Test all these features without "std" enabled.
FEATURES_WITHOUT_STD=""
# Run these examples.
EXAMPLES=""

23
addresses/src/lib.rs Normal file
View File

@ -0,0 +1,23 @@
// SPDX-License-Identifier: CC0-1.0
//! # Bitcoin Addresses
//!
//! Bitcoin addresses do not appear on chain; rather, they are conventions used by Bitcoin (wallet)
//! software to communicate where coins should be sent and are based on the output type e.g., P2WPKH.
//!
//! ref: <https://sprovoost.nl/2022/11/10/what-is-a-bitcoin-address/>
#![cfg_attr(all(not(test), not(feature = "std")), no_std)]
// Experimental features we need.
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
// Coding conventions.
#![warn(missing_docs)]
// Exclude lints we don't think are valuable.
#![allow(clippy::needless_question_mark)] // https://github.com/rust-bitcoin/rust-bitcoin/pull/2134
#![allow(clippy::manual_range_contains)] // More readable than clippy's format.
#![allow(clippy::needless_borrows_for_generic_args)] // https://github.com/rust-lang/rust-clippy/issues/12454
extern crate alloc;
#[cfg(feature = "std")]
extern crate std;

View File

@ -5,4 +5,4 @@
# shellcheck disable=SC2034
# Crates in this workspace to test (note "fuzz" is only built not tested).
CRATES=("base58" "bitcoin" "fuzz" "hashes" "internals" "io" "units")
CRATES=("addresses" "base58" "bitcoin" "fuzz" "hashes" "internals" "io" "units")