diff --git a/.github/workflows/rust.yaml b/.github/workflows/rust.yaml index 28efc4a..e705c62 100644 --- a/.github/workflows/rust.yaml +++ b/.github/workflows/rust.yaml @@ -170,7 +170,7 @@ jobs: "0_20_2", "0_19_1", "0_18_1", - "0_17_2", + "0_17_1", ] steps: - name: "Checkout repo" diff --git a/.gitignore b/.gitignore index 61eecec..0162676 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ # gitignore for rust-bitcoin-core-json-rpc Cargo.lock -/target +**/target diff --git a/Cargo-minimal.lock b/Cargo-minimal.lock index 35640d1..e0b74a2 100644 --- a/Cargo-minimal.lock +++ b/Cargo-minimal.lock @@ -86,7 +86,7 @@ dependencies = [ [[package]] name = "bitcoind-json-rpc-client" -version = "0.1.0" +version = "0.2.0" dependencies = [ "bitcoin", "bitcoind-json-rpc-types", @@ -98,7 +98,7 @@ dependencies = [ [[package]] name = "bitcoind-json-rpc-types" -version = "0.1.0" +version = "0.2.0" dependencies = [ "bitcoin", "bitcoin-internals", @@ -253,7 +253,3 @@ name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[patch.unused]] -name = "bitcoind-json-rpc-regtest" -version = "0.1.0" diff --git a/Cargo-recent.lock b/Cargo-recent.lock index 35640d1..e0b74a2 100644 --- a/Cargo-recent.lock +++ b/Cargo-recent.lock @@ -86,7 +86,7 @@ dependencies = [ [[package]] name = "bitcoind-json-rpc-client" -version = "0.1.0" +version = "0.2.0" dependencies = [ "bitcoin", "bitcoind-json-rpc-types", @@ -98,7 +98,7 @@ dependencies = [ [[package]] name = "bitcoind-json-rpc-types" -version = "0.1.0" +version = "0.2.0" dependencies = [ "bitcoin", "bitcoin-internals", @@ -253,7 +253,3 @@ name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[patch.unused]] -name = "bitcoind-json-rpc-regtest" -version = "0.1.0" diff --git a/client/CHANGELOG.md b/client/CHANGELOG.md index e69de29..1c6a4da 100644 --- a/client/CHANGELOG.md +++ b/client/CHANGELOG.md @@ -0,0 +1,8 @@ +# 0.2.0 - 2024-06-13 + +- Use Bitcoin Core 0.17.1 (0.17.2 seems to not exist and have been a mistake). + +# 0.1.0 - 2024-06-13 + +Initial release. + diff --git a/client/Cargo.toml b/client/Cargo.toml index 10bebd8..47a5b74 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bitcoind-json-rpc-client" -version = "0.1.0" +version = "0.2.0" authors = [ "Steven Roose ", "Jean Pierre Dudey ", @@ -23,7 +23,7 @@ client-sync = ["jsonrpc"] [dependencies] bitcoin = { version = "0.32.0", default-features = false, features = ["std", "serde"] } -json = { package = "bitcoind-json-rpc-types", version = "0.1.0", default-features = false, features = [] } +json = { package = "bitcoind-json-rpc-types", version = "0.2.0", default-features = false, features = [] } log = "0.4" serde = { version = "1.0.103", default-features = false, features = [ "derive", "alloc" ] } serde_json = { version = "1.0.117" } diff --git a/client/src/client_sync/v17/mod.rs b/client/src/client_sync/v17/mod.rs index b3793bf..9bcacf6 100644 --- a/client/src/client_sync/v17/mod.rs +++ b/client/src/client_sync/v17/mod.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: CC0-1.0 -//! A JSON-RPC client for testing against Bitcoin Core `v0.17.2`. +//! A JSON-RPC client for testing against Bitcoin Core `v0.17.1`. //! //! We ignore option arguments unless they effect the shape of the returned JSON data. @@ -34,7 +34,7 @@ crate::impl_client_v17__generatetoaddress!(); // == Network == crate::impl_client_v17__getnetworkinfo!(); -crate::impl_client_check_expected_server_version!({ [170200] }); +crate::impl_client_check_expected_server_version!({ [170100] }); // == Rawtransactions == crate::impl_client_v17__sendrawtransaction!(); diff --git a/contrib/run_bitcoind.sh b/contrib/run_bitcoind.sh index 11cad67..81f6728 100755 --- a/contrib/run_bitcoind.sh +++ b/contrib/run_bitcoind.sh @@ -32,7 +32,7 @@ KNOWN_VERSION - v20 Bitcoin Core v0.20.2 - v19 Bitcoin Core v0.19.1 - v18 Bitcoin Core v0.18.1 - - v17 Bitcoin Core v0.17.2 + - v17 Bitcoin Core v0.17.1 EOF } @@ -57,7 +57,7 @@ main() { start "v20" # 0.20.2 start "v19" # 0.19.1 start "v18" # 0.18.1 - start "v17" # 0.17.2 + start "v17" # 0.17.1 ;; start) @@ -66,7 +66,7 @@ main() { stop) pkill bitcoind - rm -rf "/tmp/rust-bitcoind-json-rpc-0.17.2/2/regtest/wallets" > /dev/null + rm -rf "/tmp/rust-bitcoind-json-rpc-0.17.1/2/regtest/wallets" > /dev/null rm -rf "/tmp/rust-bitcoind-json-rpc-0.18.1/2/regtest/wallets" > /dev/null rm -rf "/tmp/rust-bitcoind-json-rpc-22.1/2/regtest/wallets" > /dev/null ;; @@ -128,7 +128,7 @@ start() { ;; v17) - local version_number="0.17.2" + local version_number="0.17.1" local version_id="172" ;; diff --git a/integration_test/Cargo.toml b/integration_test/Cargo.toml index 1583cf0..ae3503e 100644 --- a/integration_test/Cargo.toml +++ b/integration_test/Cargo.toml @@ -30,7 +30,7 @@ edition = "2021" "0_20_2" = ["v20", "bitcoind/0_20_2"] "0_19_1" = ["v19", "bitcoind/0_19_1"] "0_18_1" = ["v18", "bitcoind/0_18_1"] -"0_17_2" = ["v17", "bitcoind/0_17_2"] +"0_17_1" = ["v17", "bitcoind/0_17_1"] # Each minor version is tested with the same client. "v26" = [] @@ -46,8 +46,8 @@ edition = "2021" [dependencies] bitcoin = { version = "0.32.0", default-features = false, features = ["std", "serde"] } -client = { package = "bitcoind-json-rpc-client", version = "0.1.0", default-features = false, features = ["client-sync"] } -bitcoind = { package = "bitcoind-json-rpc-regtest", version = "0.1.0", default-features = false, features = [] } +client = { package = "bitcoind-json-rpc-client", version = "0.2.0", default-features = false, features = ["client-sync"] } +bitcoind = { package = "bitcoind-json-rpc-regtest", version = "0.2.0", default-features = false, features = [] } rand = "0.8.5" env_logger = "0.9.0" diff --git a/integration_test/src/v17/wallet.rs b/integration_test/src/v17/wallet.rs index 128515f..21202e1 100644 --- a/integration_test/src/v17/wallet.rs +++ b/integration_test/src/v17/wallet.rs @@ -54,8 +54,11 @@ macro_rules! impl_test_v17__getbalance { () => { #[test] fn get_balance() { + use client::json::model; + let bitcoind = $crate::bitcoind_with_default_wallet(); - let _ = bitcoind.client.get_balance().expect("getbalance"); + let json = bitcoind.client.get_balance().expect("getbalance"); + let _: model::GetBalance = json.try_into().unwrap(); } }; } @@ -92,6 +95,7 @@ macro_rules! impl_test_v17__gettransaction { #[test] fn get_transaction() { use bitcoin::Amount; + use client::json::model; let bitcoind = $crate::bitcoind_with_default_wallet(); let address = bitcoind.client.new_address().expect("failed to create new address"); @@ -102,7 +106,8 @@ macro_rules! impl_test_v17__gettransaction { .send_to_address(&address, Amount::from_sat(10_000)) .expect("sendtoaddress"); - let _ = bitcoind.client.get_transaction(txid).expect("gettransaction"); + let json = bitcoind.client.get_transaction(txid).expect("gettransaction"); + let _: model::GetTransaction = json.try_into().unwrap(); } }; } diff --git a/json/CHANGELOG.md b/json/CHANGELOG.md index e69de29..aa70153 100644 --- a/json/CHANGELOG.md +++ b/json/CHANGELOG.md @@ -0,0 +1,8 @@ +# 0.2.0 - 2024-06-13 + +- Use Bitcoin Core 0.17.1 (0.17.2 seems to not exist and have been a mistake). +- Fix `GetTransactionDetail` conversion to use a signed bitcoin amount. + +# 0.1.0 - 2024-06-13 + +Initial release. diff --git a/json/Cargo.toml b/json/Cargo.toml index 21c6908..0795a02 100644 --- a/json/Cargo.toml +++ b/json/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bitcoind-json-rpc-types" -version = "0.1.0" +version = "0.2.0" authors = [ "Steven Roose ", "Jean Pierre Dudey ", diff --git a/json/src/model/wallet.rs b/json/src/model/wallet.rs index a79531e..683d1a3 100644 --- a/json/src/model/wallet.rs +++ b/json/src/model/wallet.rs @@ -107,7 +107,8 @@ pub struct GetTransaction { pub struct GetTransactionDetail { pub address: Address, pub category: GetTransactionDetailCategory, - pub amount: Amount, + #[serde(default, with = "bitcoin::amount::serde::as_btc")] + pub amount: SignedAmount, pub label: Option, pub vout: u32, #[serde(default, with = "bitcoin::amount::serde::as_btc::opt")] diff --git a/json/src/v17/wallet/convert.rs b/json/src/v17/wallet/convert.rs index 4987fe2..d373ada 100644 --- a/json/src/v17/wallet/convert.rs +++ b/json/src/v17/wallet/convert.rs @@ -142,7 +142,7 @@ impl TryFrom for model::GetTransactionDetail { use GetTransactionDetailError as E; let address = Address::from_str(&json.address).map_err(E::Address)?; - let amount = Amount::from_btc(json.amount).map_err(E::Amount)?; + let amount = SignedAmount::from_btc(json.amount).map_err(E::Amount)?; // FIMXE: Use combinators. let fee = match json.fee { None => None, diff --git a/regtest/CHANGELOG.md b/regtest/CHANGELOG.md index 35afd5f..46f7294 100644 --- a/regtest/CHANGELOG.md +++ b/regtest/CHANGELOG.md @@ -1,62 +1,8 @@ -# Changelog +# 0.2.0 - 2024-06-13 -## 0.36.0 +- Use Bitcoin Core 0.17.1 (0.17.2 seems to not exist and have been a mistake). -- Remove range dependencies for `bitcoincore-rpc` and depend on the - latest version `v0.19.0` [#163](https://github.com/rust-bitcoin/bitcoind/pull/163). +# 0.1.0 - 2024-06-13 -## 0.35.2 +Initial release, this is an import of `bitcoind v.036.0`. -- Use range dependencies for `bitcoincore-rpc` and `bitcoin_hashes` - -## Release 0.35.1 - -- Bump MSRV to 1.56.1 -- Add `BITCOIND_SKIP_DOWNLOAD` build feature - -## Release 0.34.2 - -- Support Bitcoin Core 26.0 - -## Release 0.34.1 - -- Optionally enable ZMQ - -## Release 0.34.0 - -- upgrade bitcoincore dep to 0.18.0 and with it bitcoin to 0.31.0 - -## Release 0.28.0 - -### Changed - -- bump `ureq`'s version to `2.5.0` -- bump `flate2`'s version to `1.0.24` -- bump `filetime`'s version to `0.2.18` - -## Release 0.27.1 - -### Changed - -- use bitcoin_hashes 0.11 also for build dep - -## Release 0.27.0 - -### Added - -- Introduced CHANGELOG -- Supports windows OS -- Provide errors if `rpcuser` and `rpcpassword` are provided - -### Changed - -- use bitcoin dep to 0.29.1 - -### Fixed - -- fix bitcoin 0.23 on MacOS X -- fix test flakiness - -### Removed - -- removed `datadir` from `ConnectionParams`, use equivalent `workdir()` diff --git a/regtest/Cargo.toml b/regtest/Cargo.toml index 39fa224..11f8d9b 100644 --- a/regtest/Cargo.toml +++ b/regtest/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bitcoind-json-rpc-regtest" -version = "0.1.0" +version = "0.2.0" authors = ["Riccardo Casatta ", "Tobin C. Harding "] license = "MIT" repository = "https://github.com/tcharding/rust-bitcoind-json-rpc" @@ -13,7 +13,7 @@ rust-version = "1.56.1" exclude = ["tests", "contrib"] [dependencies] -bitcoind-json-rpc-client = { version = "0.1", features = ["client-sync"] } +bitcoind-json-rpc-client = { version = "0.2", features = ["client-sync"] } log = "0.4" which = "4.2.5" anyhow = "1.0.66" @@ -58,8 +58,8 @@ anyhow = "1.0.66" "0_21_2" = ["download", "0_20_2"] "0_20_2" = ["download", "0_19_1"] "0_19_1" = ["download", "0_18_1"] -"0_18_1" = ["download", "0_17_2"] -"0_17_2" = ["download"] +"0_18_1" = ["download", "0_17_1"] +"0_17_1" = ["download"] "doc" = [] # used only for documentation building diff --git a/regtest/sha256/bitcoin-core-0.17.1-SHA256SUMS.asc b/regtest/sha256/bitcoin-core-0.17.1-SHA256SUMS.asc new file mode 100644 index 0000000..c7946a6 --- /dev/null +++ b/regtest/sha256/bitcoin-core-0.17.1-SHA256SUMS.asc @@ -0,0 +1,31 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +5659c436ca92eed8ef42d5b2d162ff6283feba220748f9a373a5a53968975e34 bitcoin-0.17.1-aarch64-linux-gnu.tar.gz +aab3c1fb92e47734fadded1d3f9ccf0ac5a59e3cdc28c43a52fcab9f0cb395bc bitcoin-0.17.1-arm-linux-gnueabihf.tar.gz +b1e1dcf8265521fef9021a9d49d8661833e3f844ca9a410a9dd12a617553dda1 bitcoin-0.17.1-i686-pc-linux-gnu.tar.gz +6aa567381b95a20ac96b0b949701b04729a0c5796c320481bfa1db22da25efdb bitcoin-0.17.1-osx64.tar.gz +e3d785d800b71d277959d15b2c2b33d44dd72c1288e559928a40488dd935c949 bitcoin-0.17.1-osx.dmg +3e564fb5cf832f39e930e19c83ea53e09cfe6f93a663294ed83a32e194bda42a bitcoin-0.17.1.tar.gz +e9245e682126ef9fa4998eabbbdd1c3959df811dc10df60be626a5e5ffba9b78 bitcoin-0.17.1-win32-setup.exe +6464aa2d338f3697950613bb88124e58d6ce78ead5e9ecacb5ba79d1e86a4e30 bitcoin-0.17.1-win32.zip +fa1e80c5e4ecc705549a8061e5e7e0aa6b2d26967f99681b5989d9bd938d8467 bitcoin-0.17.1-win64-setup.exe +1abbe6aa170ce7d8263d262f8cb0ae2a5bb3993aacd2f0c7e5316ae595fe81d7 bitcoin-0.17.1-win64.zip +53ffca45809127c9ba33ce0080558634101ec49de5224b2998c489b6d0fc2b17 bitcoin-0.17.1-x86_64-linux-gnu.tar.gz +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) + +iQIcBAEBCAAGBQJcIeQ5AAoJEJDIAZ42wulk0NoQAIunIBT06bd2IhhxV/48NUvf +sgTto4qYrKuX5Vkn+kfGuMBvNpmILi5CiVtnucWo7fKM6k5IPMyBQuE9iDVDzT9i +YemA9Au8Xy2aIGmVriuQoXxk8b17wAMS9uw362A3nXCz3kA+BWMDuMfBp3P3NPM/ +PeOg6n04Q7seO/zNdT5i/ysaFB/XA8szrQxCRukSrXeGMUpv79UbcWOu3+nfGit9 +yYo/F2yO57Yacv597rKILlg29QxEVTqa5+slMdwuU7NP5AdAcQV4EtFqoCOqM7C7 +JL/zZWYnTywK3l0hOuCBJiY86izutWME5xgm7Eh3ORj+K6ZYT4iXw2JIkTdumeuS +X0WDE3ShH4rb35IaQX75FJLp5R7hLTXiNgng7b8Xhy/62bJ75Ob4HVVSLG1Lkhps +vtml10br+78qXiofzk8zaAW6KaG7G9nbBa0hfDjUEsYzA6P5iWA+53ykupc82HNa +ZT2gk+wWhNhZOd/ANheriM0eqm/ZlK7oydYRRtf9Tamk+XJgREU1x8cWlMZcCPEE +uIUzb7/REvYSjwcwArYLCq/eFPfjQe7jcG2WexnpxxkKJBvu2v4zVw9LLUPll094 +BAmfk34iJKhN2cGVhvjO0Q9GKk0B2HzvhD5xn1Hnlp+NbXVNbKonYvkB71D3GY4W +t/eRyv7Erfi4dhHf+8oQ +=UEoM +-----END PGP SIGNATURE----- diff --git a/regtest/sha256/bitcoin-core-0.17.2-SHA256SUMS.asc b/regtest/sha256/bitcoin-core-0.17.2-SHA256SUMS.asc deleted file mode 100644 index 27be86d..0000000 --- a/regtest/sha256/bitcoin-core-0.17.2-SHA256SUMS.asc +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - -5a6b35d1a348a402f2d2d6ab5aed653a1a1f13bc63aaaf51605e3501b0733b7a bitcoin-0.17.2-aarch64-linux-gnu.tar.gz -d1913a5d19c8e8da4a67d1bd5205d03c8614dfd2e02bba2fe3087476643a729e bitcoin-0.17.2-arm-linux-gnueabihf.tar.gz -d295fc93f39bbf0fd937b730a93184899a2eb6c3a6d53f3d857cbe77ef89b98c bitcoin-0.17.2-i686-pc-linux-gnu.tar.gz -a783ba20706dbfd5b47fbedf42165fce70fbbc7d78003305d964f6b3da14887f bitcoin-0.17.2-osx64.tar.gz -095c6c04f3fe6e9cc15347d15f499564bdc7ce68e3266cc8bb52308bdcada070 bitcoin-0.17.2-osx.dmg -df085e04b9d03d6d1592146dc50ac0dfcda267519ba4b586d8707ebe6c7d80da bitcoin-0.17.2.tar.gz -ffe5d457aaa4b7760ab5653c7deae283aaa381baf1e7c4a33099689c7d766187 bitcoin-0.17.2-win64-setup.exe -575d99bf7d4dd93088b3515ebcd2c0c5ecaecb07fbd3bd081c0e18eb56658b4d bitcoin-0.17.2-win64.zip -943f9362b9f11130177839116f48f809d83478b4c28591d486ee9a7e35179da6 bitcoin-0.17.2-x86_64-linux-gnu.tar.gz ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.11 (GNU/Linux) - -iQIcBAEBCAAGBQJd3VEoAAoJEJDIAZ42wulk5cQQAJScPo8adQhjAkad4J7ZSpgy -ISVPn8zoO45ZB+LsEMsAwcnFzw8SKtGuXqJFuzf/+uwprpcIwiFsSSNpNHevWSA1 -byMUIFWMvFf253eO1mM+ILpkPtHJGgB5iZjBrhlSR7yQrlIy47A47muyiThYnVAv -HSNEgfhFWGOGJ5uXPggb/alBw9WGLZAP78MKTAutXnNPGlqt28VfuT7gldmNlFj8 -Nz0wj0rwKI5ygLjn1wUsFbJzHPAfjNpk42wY3cQKOyu9af4VgRGQntRvm2TgXyOB -qnmf2JFRnca28qM/YlrFjjPLaY3s3ZnUyExs4sAnbmO06KtKWm9jZkLwefW30elv -OdcnmcvliD1wvb7+j5S7Y/N1HLM52feVdt8UNDk65xGBrUIGL5Bf8q3WlrAyz8tC -6NjglZ4NP2sq/i6kVf7Pe3ELMGOquAAFbs+gvOQjg3jqBh+BJREJu+ofiXR4QbIy -qALoUqLnhpvMVuwF9JHeozrc5EThw/2r91lnf5w8gxm9VvJGQ7wB+404XlzSWeSf -q56Ps11U7SMP5QSyDF00wn9Armglg3NgiAKaRf/ziypeyOK2e4sUX4Bf3JcJFix9 -+rq2ebHrZLdquDerxFHClTTtmma9hQZrrVzVtbdWCZeb432vW3IsiMJNslTHXrNb -lzFkhWVssVE4EaiSHR+8 -=IiEa ------END PGP SIGNATURE----- diff --git a/regtest/src/client_versions.rs b/regtest/src/client_versions.rs index 027637d..2fc9ddd 100644 --- a/regtest/src/client_versions.rs +++ b/regtest/src/client_versions.rs @@ -63,11 +63,11 @@ pub use bitcoind_json_rpc_client::{client_sync::v19::{Client, AddressType}, json #[allow(unused_imports)] // Not all users need the json types. pub use bitcoind_json_rpc_client::{client_sync::v18::{Client, AddressType}, json::v18 as json}; -#[cfg(all(feature = "0_17_2", not(feature = "0_18_1")))] +#[cfg(all(feature = "0_17_1", not(feature = "0_18_1")))] #[allow(unused_imports)] // Not all users need the json types. pub use bitcoind_json_rpc_client::{client_sync::v17::{Client, AddressType}, json::v17 as json}; // To make --no-default-features work we have to enable some feature, use most recent version same as for default. -#[cfg(all(not(feature = "26_0"), not(feature = "25_2"), not(feature = "25_1"), not(feature = "25_0"), not(feature = "24_2"),not(feadure = "24_1"), not(feature = "24_0_1"), not(feature = "23_2"), not(feature = "23_1"), not(feature = "23_0"), not(feature = "22_1"), not(feature = "22_0"), not(feature = "0_21_2"), not(feature = "0_20_2"), not(feature = "0_19_1"), not(feature = "0_18_1"), not(feature = "0_17_2")))] +#[cfg(all(not(feature = "26_0"), not(feature = "25_2"), not(feature = "25_1"), not(feature = "25_0"), not(feature = "24_2"),not(feadure = "24_1"), not(feature = "24_0_1"), not(feature = "23_2"), not(feature = "23_1"), not(feature = "23_0"), not(feature = "22_1"), not(feature = "22_0"), not(feature = "0_21_2"), not(feature = "0_20_2"), not(feature = "0_19_1"), not(feature = "0_18_1"), not(feature = "0_17_1")))] #[allow(unused_imports)] // Not all users need the json types. pub use bitcoind_json_rpc_client::{client_sync::v26::{Client, AddressType}, json::v26 as json}; diff --git a/regtest/src/versions.rs b/regtest/src/versions.rs index aafa9e0..46587f5 100644 --- a/regtest/src/versions.rs +++ b/regtest/src/versions.rs @@ -46,10 +46,10 @@ pub const VERSION: &str = "0.19.1"; #[cfg(all(feature = "0_18_1", not(feature = "0_19_1")))] pub const VERSION: &str = "0.18.1"; -#[cfg(all(feature = "0_17_2", not(feature = "0_18_1")))] -pub const VERSION: &str = "0.17.2"; +#[cfg(all(feature = "0_17_1", not(feature = "0_18_1")))] +pub const VERSION: &str = "0.17.1"; // To make --no-default-features work we have to enable some feature, use most recent version same as for default. -#[cfg(all(not(feature = "26_0"), not(feature = "25_2"), not(feature = "25_1"), not(feature = "25_0"), not(feature = "24_2"),not(feadure = "24_1"), not(feature = "24_0_1"), not(feature = "23_2"), not(feature = "23_1"), not(feature = "23_0"), not(feature = "22_1"), not(feature = "22_0"), not(feature = "0_21_2"), not(feature = "0_20_2"), not(feature = "0_19_1"), not(feature = "0_18_1"), not(feature = "0_17_2")))] +#[cfg(all(not(feature = "26_0"), not(feature = "25_2"), not(feature = "25_1"), not(feature = "25_0"), not(feature = "24_2"),not(feadure = "24_1"), not(feature = "24_0_1"), not(feature = "23_2"), not(feature = "23_1"), not(feature = "23_0"), not(feature = "22_1"), not(feature = "22_0"), not(feature = "0_21_2"), not(feature = "0_20_2"), not(feature = "0_19_1"), not(feature = "0_18_1"), not(feature = "0_17_1")))] #[allow(dead_code)] // for --no-default-features pub const VERSION: &str = "26.0";