diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 548961f3..e7b72909 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -67,7 +67,7 @@ jobs: strategy: fail-fast: false matrix: - toolchain: [ nightly, beta, stable, 1.41.1 ] + toolchain: [ nightly, beta, stable, 1.47.0 ] steps: - uses: actions/checkout@v2 - name: Install rust ${{ matrix.toolchain }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 090e03a6..ebbd80f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,22 +1,22 @@ Change Log ========== -v0.3.0-alpha.3 --------------- -- Internet2, LNP Core, Descriptor Wallet crates externalized and removed from - this repository +v0.3.0 +------ +- RGB Core Library is extracted and externalized from LNP/BP Core Library to + +- LNP Core Library is extracted and externalized from LNP/BP Core Library + +- Internet2 repo & crates are extracted & externalized from LNP/BP Core Library + +- Bitcoin descriptors wallet repo & crates are extracted & externalized from + LNP/BP Core Library to - Repository split into multiple crates (lnpbp, client_side_validation, - strict_encoding) - -v0.3.0-alpha.2 --------------- -- RGB Core Library is extracted and externalized from LNP/BP Core Library - -v0.3.0-alpha.1 --------------- + strict_encoding, strict_encoding_derive) - Serde encoding fixes (proper use of `serde_as` for wrapped types) -- BIP32 & descriptor enhancements -- Miniscript 4.0 migration +- Miniscript 4.0 & bitcoin 0.26 migration +- Refactored unified network address format & encodings (inside strict_encoding) +- Refactored deterministic bitcoin commitments (LNPBP-4) v0.2.1, v0.2.2 -------------- diff --git a/Cargo.lock b/Cargo.lock index bf8692cd..1a20c13f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -131,13 +131,26 @@ dependencies = [ [[package]] name = "client_side_validation" -version = "1.0.0-rc.2+1" +version = "0.3.0" +dependencies = [ + "amplify", + "amplify_derive", + "bitcoin_hashes", + "grin_secp256k1zkp", + "strict_encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "client_side_validation" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdfd8dba1ad3d1958eac41d2675f6802606917e61daa312ea5b68fd2f075e934" dependencies = [ "amplify", "amplify_derive", "bitcoin_hashes", "grin_secp256k1zkp", - "strict_encoding 1.0.0-rc.6+3 (registry+https://github.com/rust-lang/crates.io-index)", + "strict_encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -205,9 +218,9 @@ dependencies = [ [[package]] name = "descriptor-wallet" -version = "0.3.0-rc.3+1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50086c75274e19503e1a4566d425ecfb0a333d2aba74fe7e640b66f750305fa" +checksum = "be824a9c51233ac02952d1557b76fe706231ae09209325a78128864db2b8c31b" dependencies = [ "amplify", "amplify_derive", @@ -217,7 +230,7 @@ dependencies = [ "regex", "serde", "serde_with", - "strict_encoding 1.0.0-rc.6+3 (registry+https://github.com/rust-lang/crates.io-index)", + "strict_encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -345,21 +358,21 @@ checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" [[package]] name = "lnpbp" -version = "0.3.0-beta.1+5" +version = "0.3.0" dependencies = [ "amplify", "amplify_derive", "bitcoin", "bitcoin_hashes", - "client_side_validation", + "client_side_validation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "descriptor-wallet", "lazy_static", "miniscript", "serde", "serde_with", "serde_with_macros", - "strict_encoding 1.0.0-rc.6+3 (registry+https://github.com/rust-lang/crates.io-index)", - "strict_encoding_derive 1.0.0-rc.1 (registry+https://github.com/rust-lang/crates.io-index)", + "strict_encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "strict_encoding_derive 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -779,7 +792,7 @@ checksum = "0f0242b8e50dd9accdd56170e94ca1ebd223b098eb9c83539a6e367d0f36ae68" [[package]] name = "strict_encoding" -version = "1.0.0-rc.6+3" +version = "1.0.1" dependencies = [ "amplify", "amplify_derive", @@ -788,39 +801,39 @@ dependencies = [ "ed25519-dalek", "grin_secp256k1zkp", "miniscript", - "strict_encoding_derive 1.0.0-rc.1", + "strict_encoding_derive 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "strict_encoding" -version = "1.0.0-rc.6+3" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb715a50ecf1a813f5711aeaf054fdff6557acbdcb0468c642bb4327ea10ba1" +checksum = "0956cfdd7fcd053c0492e4cb5b293ac341de971bb2ff043aa5efdb3b0a29ca49" dependencies = [ "amplify", "amplify_derive", "bitcoin", "chrono", "miniscript", - "strict_encoding_derive 1.0.0-rc.1 (registry+https://github.com/rust-lang/crates.io-index)", + "strict_encoding_derive 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "strict_encoding_derive" -version = "1.0.0-rc.1" +version = "1.0.0" dependencies = [ "amplify", "proc-macro2 1.0.24", "quote 1.0.8", - "strict_encoding 1.0.0-rc.6+3", + "strict_encoding 1.0.1", "syn 1.0.58", ] [[package]] name = "strict_encoding_derive" -version = "1.0.0-rc.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f879c81dfff3bf07ad02d0c829598aacabc5692446eff4a5c771eb4ae59d235c" +checksum = "89347dfd57ea3160e6de4d7b21b3236b8a40800c1760ebfcfe9d69e3634e8955" dependencies = [ "amplify", "proc-macro2 1.0.24", diff --git a/Cargo.toml b/Cargo.toml index eb0ac11b..2c68f2c4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lnpbp" -version = "0.3.0-beta.1+5" +version = "0.3.0" license = "MIT" authors = ["Dr. Maxim Orlovsky "] description = "LNP/BP Core Library implementing LNPBP specifications & standards" @@ -37,9 +37,10 @@ crate-type = ["rlib", "staticlib"] # ----------------------------------------- amplify = { version = "3", features = ["stringly_conversions"] } amplify_derive = "2.4.3" -strict_encoding = { version = "1.0.0-rc.6", features = ["miniscript"] } -strict_encoding_derive = "1.0.0-rc.1" -client_side_validation = { version = "1.0.0-rc.2", path = "client_side_validation" } +strict_encoding = { version = "1", features = ["miniscript"] } +strict_encoding_derive = { version = "1" } +client_side_validation = { version = "0.3" } +descriptor-wallet = "0.3" # Dependencies on core rust-bitcoin ecosystem projects # ---------------------------------------------------- bitcoin = { version = "~0.26.0", features = ["rand"] } @@ -47,15 +48,14 @@ bitcoin_hashes = "~0.9.4" # we need macro from here # # We have to fix version of miniscript as required by LNPBP-2 specification miniscript = { version = "=5.0.0", features = ["compiler"] } -descriptor-wallet = "~0.3.0-rc.3" # Serialization # ------------- # This strange naming is a workaround for cargo inability to define required # features for a dependency. See # for the explanation # and references. -serde_crate = { package = "serde", version = "1.0", features = ["derive"], optional = true } -serde_with = { version = "1.5", features = ["hex"], optional = true } +serde_crate = { package = "serde", version = "~1.0.0", features = ["derive"], optional = true } +serde_with = { version = "~1.5.0", features = ["hex"], optional = true } serde_with_macros = { version = "~1.2.0", optional = true } # Fix for the problem in 1.3.0 # Core rust projects # ------------------ diff --git a/README.md b/README.md index 3577a381..9ed8535c 100644 --- a/README.md +++ b/README.md @@ -120,8 +120,8 @@ brew cargo pkg-config zmq ### Clone and compile library -Minimum supported rust compiler version (MSRV): 1.45 (if determined by tokio -feature is used) and 1.41.1 (if used without tokio) +Minimum supported rust compiler version (MSRV): 1.47 (caused by array size +limitation to 32 bytes only in `strict_encoding` crate). ```shell script git clone https://github.com/lnp-bp/rust-lnpbp diff --git a/client_side_validation/Cargo.toml b/client_side_validation/Cargo.toml index e3daea8a..f0b45684 100644 --- a/client_side_validation/Cargo.toml +++ b/client_side_validation/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "client_side_validation" -version = "1.0.0-rc.2+1" +version = "0.3.0" license = "Apache-2.0" authors = ["Dr. Maxim Orlovsky "] description = "Client-side validation library" @@ -20,7 +20,7 @@ crate-type = ["dylib", "rlib", "staticlib"] [dependencies] amplify = "3" amplify_derive = "2.4.3" -strict_encoding = { version = "1.0.0-rc.3", features = [] } +strict_encoding = { version = "1", features = [] } bitcoin_hashes = "0.9" grin_secp256k1zkp = { version = "0.7", optional = true } diff --git a/strict_encoding/Cargo.toml b/strict_encoding/Cargo.toml index 601bdc3c..2bf70063 100644 --- a/strict_encoding/Cargo.toml +++ b/strict_encoding/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "strict_encoding" -version = "1.0.0-rc.6+3" +version = "1.0.1" license = "Apache-2.0" authors = ["Dr. Maxim Orlovsky "] description = "Strict encoding: deterministic binary serialization for networking & client-side validation" @@ -15,12 +15,12 @@ exclude = ["derive"] [lib] name = "strict_encoding" path = "src/lib.rs" -crate-type = ["dylib", "rlib", "staticlib"] +crate-type = ["rlib", "staticlib"] [dependencies] amplify = "3" amplify_derive = "2.4.3" -strict_encoding_derive = { version = "1.0.0-rc.1", path = "./derive", optional = true } +strict_encoding_derive = { version = "1", optional = true } bitcoin = "0.26" # TODO: Replace on bitcoin encoding crate with 0.27 release miniscript = { version = "5", optional = true } ed25519-dalek = { version = "1", optional = true } diff --git a/strict_encoding/derive/Cargo.toml b/strict_encoding/derive/Cargo.toml index 0df3f57c..23213b3c 100644 --- a/strict_encoding/derive/Cargo.toml +++ b/strict_encoding/derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "strict_encoding_derive" -version = "1.0.0-rc.1" +version = "1.0.0" license = "Apache-2.0" authors = ["Dr. Maxim Orlovsky "] description = "Strict encoding derivation macro"