From 82a621742ea736c1beb25cedfa0e6f8ef1790ce9 Mon Sep 17 00:00:00 2001 From: lklimek <842586+lklimek@users.noreply.github.com> Date: Tue, 17 Dec 2024 02:51:18 +0100 Subject: [PATCH 1/3] build!: update rust to 1.83 (#2393) --- Cargo.toml | 5 ++--- README.md | 2 +- rust-toolchain.toml | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3b7b503758f..02295b6b475 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,14 +28,13 @@ members = [ "packages/simple-signer", "packages/rs-json-schema-compatibility-validator", "packages/check-features", - "packages/wallet-utils-contract" + "packages/wallet-utils-contract", ] [workspace.package] -rust-version = "1.80" +rust-version = "1.83" [patch.crates-io] tower-service = { git = "https://github.com/QuantumExplorer/tower", branch = "fix/indexMap2OnV0413" } tower-layer = { git = "https://github.com/QuantumExplorer/tower", branch = "fix/indexMap2OnV0413" } tower = { git = "https://github.com/QuantumExplorer/tower", branch = "fix/indexMap2OnV0413" } - diff --git a/README.md b/README.md index 8c5254f33c2..5f4536c1769 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ this repository may be used on the following networks: - Install prerequisites: - [node.js](https://nodejs.org/) v20 - [docker](https://docs.docker.com/get-docker/) v20.10+ - - [rust](https://www.rust-lang.org/tools/install) v1.80+, with wasm32 target (`rustup target add wasm32-unknown-unknown`) + - [rust](https://www.rust-lang.org/tools/install) v1.83+, with wasm32 target (`rustup target add wasm32-unknown-unknown`) - [protoc - protobuf compiler](https://github.com/protocolbuffers/protobuf/releases) v27.3+ - if needed, set PROTOC environment variable to location of `protoc` binary - [wasm-bingen toolchain](https://rustwasm.github.io/wasm-bindgen/): diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 42a546e0324..98f0ab49ebf 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] # Rust version the same as in /README.md -channel = "1.80" +channel = "1.83" targets = ["wasm32-unknown-unknown"] From 8185d210590bff2240716ad36a438aff82c202b1 Mon Sep 17 00:00:00 2001 From: lklimek <842586+lklimek@users.noreply.github.com> Date: Tue, 17 Dec 2024 10:47:53 +0100 Subject: [PATCH 2/3] feat(sdk)!: allow setting CA cert (#1924) --- Cargo.lock | 1 + packages/rs-dapi-client/src/dapi_client.rs | 32 +++++++++++-- .../rs-dapi-client/src/request_settings.rs | 15 +++++- packages/rs-dapi-client/src/transport/grpc.rs | 34 ++++++++++---- packages/rs-sdk/Cargo.toml | 1 + packages/rs-sdk/src/sdk.rs | 47 ++++++++++++++++++- packages/rs-sdk/tests/.env.example | 1 + packages/rs-sdk/tests/fetch/config.rs | 10 +++- packages/rs-sdk/tests/fetch/data_contract.rs | 2 + 9 files changed, 125 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 72f7570190b..a7a7d564033 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1216,6 +1216,7 @@ dependencies = [ "http", "lru", "rs-dapi-client", + "rustls-pemfile", "sanitize-filename", "serde", "serde_json", diff --git a/packages/rs-dapi-client/src/dapi_client.rs b/packages/rs-dapi-client/src/dapi_client.rs index ebca641f401..126d820e1ca 100644 --- a/packages/rs-dapi-client/src/dapi_client.rs +++ b/packages/rs-dapi-client/src/dapi_client.rs @@ -3,6 +3,7 @@ use backon::{ConstantBuilder, Retryable}; use dapi_grpc::mock::Mockable; use dapi_grpc::tonic::async_trait; +use dapi_grpc::tonic::transport::Certificate; use std::fmt::{Debug, Display}; use std::sync::atomic::AtomicUsize; use std::sync::Arc; @@ -76,6 +77,8 @@ pub struct DapiClient { address_list: AddressList, settings: RequestSettings, pool: ConnectionPool, + /// Certificate Authority certificate to use for verifying the server's certificate. + pub ca_certificate: Option, #[cfg(feature = "dump")] pub(crate) dump_dir: Option, } @@ -92,9 +95,24 @@ impl DapiClient { pool: ConnectionPool::new(address_count), #[cfg(feature = "dump")] dump_dir: None, + ca_certificate: None, } } + /// Set CA certificate to use when verifying the server's certificate. + /// + /// # Arguments + /// + /// * `pem_ca_cert` - CA certificate in PEM format. + /// + /// # Returns + /// [DapiClient] with CA certificate set. + pub fn with_ca_certificate(mut self, ca_cert: Certificate) -> Self { + self.ca_certificate = Some(ca_cert); + + self + } + /// Return the [DapiClient] address list. pub fn address_list(&self) -> &AddressList { &self.address_list @@ -182,7 +200,8 @@ impl DapiRequestExecutor for DapiClient { .settings .override_by(R::SETTINGS_OVERRIDES) .override_by(settings) - .finalize(); + .finalize() + .with_ca_certificate(self.ca_certificate.clone()); // Setup retry policy: let retry_settings = ConstantBuilder::default() @@ -198,6 +217,9 @@ impl DapiRequestExecutor for DapiClient { let retries_counter_arc = Arc::new(AtomicUsize::new(0)); let retries_counter_arc_ref = &retries_counter_arc; + // We need reference so that the closure is FnMut + let applied_settings_ref = &applied_settings; + // Setup DAPI request execution routine future. It's a closure that will be called // more once to build new future on each retry. let routine = move || { @@ -212,7 +234,7 @@ impl DapiRequestExecutor for DapiClient { let _span = tracing::trace_span!( "execute request", address = ?address_result, - settings = ?applied_settings, + settings = ?applied_settings_ref, method = request.method_name(), ) .entered(); @@ -242,7 +264,7 @@ impl DapiRequestExecutor for DapiClient { let mut transport_client = R::Client::with_uri_and_settings( address.uri().clone(), - &applied_settings, + applied_settings_ref, &pool, ) .map_err(|error| ExecutionError { @@ -252,7 +274,7 @@ impl DapiRequestExecutor for DapiClient { })?; let result = transport_request - .execute_transport(&mut transport_client, &applied_settings) + .execute_transport(&mut transport_client, applied_settings_ref) .await .map_err(DapiClientError::Transport); @@ -281,7 +303,7 @@ impl DapiRequestExecutor for DapiClient { update_address_ban_status::( &self.address_list, &execution_result, - &applied_settings, + applied_settings_ref, ); execution_result diff --git a/packages/rs-dapi-client/src/request_settings.rs b/packages/rs-dapi-client/src/request_settings.rs index 9ad08e88614..df89112322b 100644 --- a/packages/rs-dapi-client/src/request_settings.rs +++ b/packages/rs-dapi-client/src/request_settings.rs @@ -1,5 +1,6 @@ //! DAPI client request settings processing. +use dapi_grpc::tonic::transport::Certificate; use std::time::Duration; /// Default low-level client timeout @@ -64,12 +65,13 @@ impl RequestSettings { ban_failed_address: self .ban_failed_address .unwrap_or(DEFAULT_BAN_FAILED_ADDRESS), + ca_certificate: None, } } } /// DAPI settings ready to use. -#[derive(Debug, Clone, Copy)] +#[derive(Debug, Clone)] pub struct AppliedRequestSettings { /// Timeout for establishing a connection. pub connect_timeout: Option, @@ -79,4 +81,15 @@ pub struct AppliedRequestSettings { pub retries: usize, /// Ban DAPI address if node not responded or responded with error. pub ban_failed_address: bool, + /// Certificate Authority certificate to use for verifying the server's certificate. + pub ca_certificate: Option, +} +impl AppliedRequestSettings { + /// Use provided CA certificate for verifying the server's certificate. + /// + /// If set to None, the system's default CA certificates will be used. + pub fn with_ca_certificate(mut self, ca_cert: Option) -> Self { + self.ca_certificate = ca_cert; + self + } } diff --git a/packages/rs-dapi-client/src/transport/grpc.rs b/packages/rs-dapi-client/src/transport/grpc.rs index 62a75904064..77b98acf812 100644 --- a/packages/rs-dapi-client/src/transport/grpc.rs +++ b/packages/rs-dapi-client/src/transport/grpc.rs @@ -8,7 +8,7 @@ use crate::{request_settings::AppliedRequestSettings, RequestSettings}; use dapi_grpc::core::v0::core_client::CoreClient; use dapi_grpc::core::v0::{self as core_proto}; use dapi_grpc::platform::v0::{self as platform_proto, platform_client::PlatformClient}; -use dapi_grpc::tonic::transport::{ClientTlsConfig, Uri}; +use dapi_grpc::tonic::transport::{Certificate, ClientTlsConfig, Uri}; use dapi_grpc::tonic::Streaming; use dapi_grpc::tonic::{transport::Channel, IntoRequest}; use futures::{future::BoxFuture, FutureExt, TryFutureExt}; @@ -22,19 +22,29 @@ fn create_channel( uri: Uri, settings: Option<&AppliedRequestSettings>, ) -> Result { - let mut builder = Channel::builder(uri).tls_config( - ClientTlsConfig::new() - .with_native_roots() - .with_webpki_roots() - .assume_http2(true), - )?; + let host = uri.host().expect("Failed to get host from URI").to_string(); + + let mut builder = Channel::builder(uri); + let mut tls_config = ClientTlsConfig::new() + .with_native_roots() + .with_webpki_roots() + .assume_http2(true); if let Some(settings) = settings { if let Some(timeout) = settings.connect_timeout { builder = builder.connect_timeout(timeout); } + + if let Some(pem) = settings.ca_certificate.as_ref() { + let cert = Certificate::from_pem(pem); + tls_config = tls_config.ca_certificate(cert).domain_name(host); + }; } + builder = builder + .tls_config(tls_config) + .expect("Failed to set TLS config"); + Ok(builder.connect_lazy()) } @@ -256,8 +266,10 @@ impl_transport_request_grpc!( platform_proto::WaitForStateTransitionResultResponse, PlatformGrpcClient, RequestSettings { - timeout: Some(Duration::from_secs(120)), - ..RequestSettings::default() + timeout: Some(Duration::from_secs(80)), + retries: Some(0), + ban_failed_address: None, + connect_timeout: None, }, wait_for_state_transition_result ); @@ -487,7 +499,9 @@ impl_transport_request_grpc!( CoreGrpcClient, RequestSettings { timeout: Some(STREAMING_TIMEOUT), - ..RequestSettings::default() + ban_failed_address: None, + connect_timeout: None, + retries: None, }, subscribe_to_transactions_with_proofs ); diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index a24cd8363d7..1d781bfa9fa 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -19,6 +19,7 @@ drive = { path = "../rs-drive", default-features = false, features = [ drive-proof-verifier = { path = "../rs-drive-proof-verifier" } dapi-grpc-macros = { path = "../rs-dapi-grpc-macros" } http = { version = "1.1" } +rustls-pemfile = { version = "2.0.0" } thiserror = "1.0.64" tokio = { version = "1.40", features = ["macros", "rt-multi-thread"] } tokio-util = { version = "0.7.12" } diff --git a/packages/rs-sdk/src/sdk.rs b/packages/rs-sdk/src/sdk.rs index c823df2eae4..64a5db66457 100644 --- a/packages/rs-sdk/src/sdk.rs +++ b/packages/rs-sdk/src/sdk.rs @@ -10,6 +10,7 @@ use crate::platform::{Fetch, Identifier}; use arc_swap::{ArcSwapAny, ArcSwapOption}; use dapi_grpc::mock::Mockable; use dapi_grpc::platform::v0::{Proof, ResponseMetadata}; +use dapi_grpc::tonic::transport::Certificate; use dpp::bincode; use dpp::bincode::error::DecodeError; use dpp::dashcore::Network; @@ -750,6 +751,9 @@ pub struct SdkBuilder { /// Cancellation token; once cancelled, all pending requests should be aborted. pub(crate) cancel_token: CancellationToken, + + /// CA certificate to use for TLS connections. + ca_certificate: Option, } impl Default for SdkBuilder { @@ -781,6 +785,8 @@ impl Default for SdkBuilder { version: PlatformVersion::latest(), + ca_certificate: None, + #[cfg(feature = "mocks")] dump_dir: None, } @@ -830,6 +836,41 @@ impl SdkBuilder { self } + /// Configure CA certificate to use when verifying TLS connections. + /// + /// Used mainly for testing purposes and local networks. + /// + /// If not set, uses standard system CA certificates. + pub fn with_ca_certificate(mut self, pem_certificate: Certificate) -> Self { + self.ca_certificate = Some(pem_certificate); + self + } + + /// Load CA certificate from file. + /// + /// This is a convenience method that reads the certificate from a file and sets it using + /// [SdkBuilder::with_ca_certificate()]. + pub fn with_ca_certificate_file( + self, + certificate_file_path: impl AsRef, + ) -> std::io::Result { + let pem = std::fs::read(certificate_file_path)?; + + // parse the certificate and check if it's valid + let mut verified_pem = std::io::BufReader::new(pem.as_slice()); + rustls_pemfile::certs(&mut verified_pem) + .next() + .ok_or_else(|| { + std::io::Error::new( + std::io::ErrorKind::InvalidData, + "No valid certificates found in the file", + ) + })??; + + let cert = Certificate::from_pem(pem); + Ok(self.with_ca_certificate(cert)) + } + /// Configure request settings. /// /// Tune request settings used to connect to the Dash Platform. @@ -962,7 +1003,11 @@ impl SdkBuilder { let sdk= match self.addresses { // non-mock mode Some(addresses) => { - let dapi = DapiClient::new(addresses,dapi_client_settings); + let mut dapi = DapiClient::new(addresses, dapi_client_settings); + if let Some(pem) = self.ca_certificate { + dapi = dapi.with_ca_certificate(pem); + } + #[cfg(feature = "mocks")] let dapi = dapi.dump_dir(self.dump_dir.clone()); diff --git a/packages/rs-sdk/tests/.env.example b/packages/rs-sdk/tests/.env.example index f0e4089da66..a731b25f530 100644 --- a/packages/rs-sdk/tests/.env.example +++ b/packages/rs-sdk/tests/.env.example @@ -3,6 +3,7 @@ DASH_SDK_PLATFORM_HOST="127.0.0.1" DASH_SDK_PLATFORM_PORT=2443 DASH_SDK_PLATFORM_SSL=false +# DASH_SDK_PLATFORM_CA_CERT_PATH=/some/path/to/ca.pem # ProTxHash of masternode that has at least 1 vote casted for DPNS name `testname` DASH_SDK_MASTERNODE_OWNER_PRO_REG_TX_HASH="6ac88f64622d9bc0cb79ad0f69657aa9488b213157d20ae0ca371fa5f04fb222" diff --git a/packages/rs-sdk/tests/fetch/config.rs b/packages/rs-sdk/tests/fetch/config.rs index 41d3601cbdf..a93eb2402c5 100644 --- a/packages/rs-sdk/tests/fetch/config.rs +++ b/packages/rs-sdk/tests/fetch/config.rs @@ -54,6 +54,10 @@ pub struct Config { #[serde(default)] pub platform_ssl: bool, + /// When platform_ssl is true, use the PEM-encoded CA certificate from provided absolute path to verify the server certificate. + #[serde(default)] + pub platform_ca_cert_path: Option, + /// Directory where all generated test vectors will be saved. /// /// See [SdkBuilder::with_dump_dir()](crate::SdkBuilder::with_dump_dir()) for more details. @@ -193,7 +197,11 @@ impl Config { &self.core_user, &self.core_password, ); - + if let Some(cert_file) = &self.platform_ca_cert_path { + builder = builder + .with_ca_certificate_file(cert_file) + .expect("load CA cert"); + } #[cfg(feature = "generate-test-vectors")] let builder = { // When we use namespaces, clean up the namespaced dump dir before starting diff --git a/packages/rs-sdk/tests/fetch/data_contract.rs b/packages/rs-sdk/tests/fetch/data_contract.rs index 41ef33138e9..b6d47cdd5f0 100644 --- a/packages/rs-sdk/tests/fetch/data_contract.rs +++ b/packages/rs-sdk/tests/fetch/data_contract.rs @@ -8,6 +8,8 @@ use drive_proof_verifier::types::DataContractHistory; /// Given some dummy data contract ID, when I fetch data contract, I get None because it doesn't exist. #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_data_contract_read_not_found() { + super::common::setup_logs(); + pub const DATA_CONTRACT_ID_BYTES: [u8; 32] = [1; 32]; let id = Identifier::from_bytes(&DATA_CONTRACT_ID_BYTES).expect("parse identity id"); From 889d192a20ed0958c44b9c8b962f98b01df688aa Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Tue, 17 Dec 2024 19:25:58 +0700 Subject: [PATCH 3/3] chore(release): update changelog and bump version to 1.8.0-dev.1 (#2391) --- CHANGELOG.md | 22 ++++++++ Cargo.lock | 52 +++++++++---------- package.json | 2 +- packages/bench-suite/package.json | 2 +- packages/check-features/Cargo.toml | 2 +- packages/dapi-grpc/Cargo.toml | 2 +- packages/dapi-grpc/package.json | 2 +- packages/dapi/package.json | 2 +- packages/dash-spv/package.json | 2 +- .../configs/getConfigFileMigrationsFactory.js | 8 +++ packages/dashmate/package.json | 2 +- packages/dashpay-contract/Cargo.toml | 2 +- packages/dashpay-contract/package.json | 2 +- packages/data-contracts/Cargo.toml | 2 +- packages/dpns-contract/Cargo.toml | 2 +- packages/dpns-contract/package.json | 2 +- packages/feature-flags-contract/Cargo.toml | 2 +- packages/feature-flags-contract/package.json | 2 +- packages/js-dapi-client/package.json | 2 +- packages/js-dash-sdk/package.json | 2 +- packages/js-grpc-common/package.json | 2 +- .../Cargo.toml | 2 +- .../package.json | 2 +- packages/platform-test-suite/package.json | 2 +- packages/rs-dapi-client/Cargo.toml | 2 +- packages/rs-dapi-grpc-macros/Cargo.toml | 2 +- packages/rs-dpp/Cargo.toml | 2 +- packages/rs-drive-abci/Cargo.toml | 2 +- packages/rs-drive-proof-verifier/Cargo.toml | 2 +- packages/rs-drive/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../Cargo.toml | 2 +- packages/rs-platform-serialization/Cargo.toml | 2 +- .../rs-platform-value-convertible/Cargo.toml | 2 +- packages/rs-platform-value/Cargo.toml | 2 +- packages/rs-platform-version/Cargo.toml | 2 +- packages/rs-platform-versioning/Cargo.toml | 2 +- packages/rs-sdk/Cargo.toml | 2 +- packages/simple-signer/Cargo.toml | 2 +- packages/strategy-tests/Cargo.toml | 2 +- packages/wallet-lib/package.json | 2 +- packages/wallet-utils-contract/Cargo.toml | 2 +- packages/wallet-utils-contract/package.json | 2 +- packages/wasm-dpp/Cargo.toml | 2 +- packages/wasm-dpp/package.json | 2 +- packages/withdrawals-contract/Cargo.toml | 2 +- packages/withdrawals-contract/package.json | 2 +- 47 files changed, 100 insertions(+), 70 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1422f602c4..fa880bab330 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +## [1.8.0-dev.1](https://github.com/dashpay/platform/compare/v1.7.0...v1.8.0-dev.1) (2024-12-16) + + +### Continuous Integration + +* fix artifact upload issue on release build ([#2389](https://github.com/dashpay/platform/issues/2389)) + + +### Miscellaneous Chores + +* remove deprecated check_network_version.sh ([#2084](https://github.com/dashpay/platform/issues/2084)) + + +### Tests + +* **sdk:** generate test vectors using testnet ([#2381](https://github.com/dashpay/platform/issues/2381)) + + +### Code Refactoring + +* **platform:** replace bls library ([#2257](https://github.com/dashpay/platform/issues/2257)) + ### [1.7.0](https://github.com/dashpay/platform/compare/v1.6.2...v1.7.0) (2024-12-13) diff --git a/Cargo.lock b/Cargo.lock index a7a7d564033..b07e274bdbc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -739,7 +739,7 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "check-features" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "toml", ] @@ -1130,7 +1130,7 @@ dependencies = [ [[package]] name = "dapi-grpc" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "dapi-grpc-macros", "futures-core", @@ -1146,7 +1146,7 @@ dependencies = [ [[package]] name = "dapi-grpc-macros" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "dapi-grpc", "heck 0.5.0", @@ -1191,7 +1191,7 @@ dependencies = [ [[package]] name = "dash-sdk" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "arc-swap", "async-trait", @@ -1298,7 +1298,7 @@ dependencies = [ [[package]] name = "dashpay-contract" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -1308,7 +1308,7 @@ dependencies = [ [[package]] name = "data-contracts" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "dashpay-contract", "dpns-contract", @@ -1440,7 +1440,7 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dpns-contract" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -1450,7 +1450,7 @@ dependencies = [ [[package]] name = "dpp" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "anyhow", "assert_matches", @@ -1500,7 +1500,7 @@ dependencies = [ [[package]] name = "drive" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "arc-swap", "assert_matches", @@ -1541,7 +1541,7 @@ dependencies = [ [[package]] name = "drive-abci" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "arc-swap", "assert_matches", @@ -1596,7 +1596,7 @@ dependencies = [ [[package]] name = "drive-proof-verifier" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "bincode", "dapi-grpc", @@ -1853,7 +1853,7 @@ checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "feature-flags-contract" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -2792,7 +2792,7 @@ dependencies = [ [[package]] name = "json-schema-compatibility-validator" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "assert_matches", "json-patch", @@ -2965,7 +2965,7 @@ dependencies = [ [[package]] name = "masternode-reward-shares-contract" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -3583,7 +3583,7 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "platform-serialization" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "bincode", "platform-version", @@ -3591,7 +3591,7 @@ dependencies = [ [[package]] name = "platform-serialization-derive" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "proc-macro2", "quote", @@ -3601,7 +3601,7 @@ dependencies = [ [[package]] name = "platform-value" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "base64 0.22.1", "bincode", @@ -3622,7 +3622,7 @@ dependencies = [ [[package]] name = "platform-value-convertible" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "quote", "syn 2.0.75", @@ -3630,7 +3630,7 @@ dependencies = [ [[package]] name = "platform-version" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "bincode", "grovedb-version", @@ -3641,7 +3641,7 @@ dependencies = [ [[package]] name = "platform-versioning" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "proc-macro2", "quote", @@ -4136,7 +4136,7 @@ dependencies = [ [[package]] name = "rs-dapi-client" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "backon", "chrono", @@ -4635,7 +4635,7 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "simple-signer" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "base64 0.22.1", "bincode", @@ -4720,7 +4720,7 @@ dependencies = [ [[package]] name = "strategy-tests" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "bincode", "dpp", @@ -5620,7 +5620,7 @@ dependencies = [ [[package]] name = "wallet-utils-contract" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "platform-value", "platform-version", @@ -5711,7 +5711,7 @@ checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" [[package]] name = "wasm-dpp" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "anyhow", "async-trait", @@ -6013,7 +6013,7 @@ dependencies = [ [[package]] name = "withdrawals-contract" -version = "1.7.0" +version = "1.8.0-dev.1" dependencies = [ "num_enum 0.5.11", "platform-value", diff --git a/package.json b/package.json index 1fb1219cca5..baa5fa4d714 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/platform", - "version": "1.7.0", + "version": "1.8.0-dev.1", "private": true, "scripts": { "setup": "yarn install && yarn run build && yarn run configure", diff --git a/packages/bench-suite/package.json b/packages/bench-suite/package.json index a6aafba96c1..b4b58610fab 100644 --- a/packages/bench-suite/package.json +++ b/packages/bench-suite/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/bench-suite", "private": true, - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "Dash Platform benchmark tool", "scripts": { "bench": "node ./bin/bench.js", diff --git a/packages/check-features/Cargo.toml b/packages/check-features/Cargo.toml index dfb68a8e907..32ea8bdab09 100644 --- a/packages/check-features/Cargo.toml +++ b/packages/check-features/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "check-features" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/dapi-grpc/Cargo.toml b/packages/dapi-grpc/Cargo.toml index 6444245d9e9..236990205e9 100644 --- a/packages/dapi-grpc/Cargo.toml +++ b/packages/dapi-grpc/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dapi-grpc" description = "GRPC client for Dash Platform" -version = "1.7.0" +version = "1.8.0-dev.1" authors = [ "Samuel Westrich ", "Igor Markin ", diff --git a/packages/dapi-grpc/package.json b/packages/dapi-grpc/package.json index fb7696339fb..c9f368c0e86 100644 --- a/packages/dapi-grpc/package.json +++ b/packages/dapi-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-grpc", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "DAPI GRPC definition file and generated clients", "browser": "browser.js", "main": "node.js", diff --git a/packages/dapi/package.json b/packages/dapi/package.json index e1175fee939..1010b01864b 100644 --- a/packages/dapi/package.json +++ b/packages/dapi/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/dapi", "private": true, - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "A decentralized API for the Dash network", "scripts": { "api": "node scripts/api.js", diff --git a/packages/dash-spv/package.json b/packages/dash-spv/package.json index 1c415d01cde..cfde0ded3c0 100644 --- a/packages/dash-spv/package.json +++ b/packages/dash-spv/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dash-spv", - "version": "2.7.0", + "version": "2.8.0-dev.1", "description": "Repository containing SPV functions used by @dashevo", "main": "index.js", "scripts": { diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index fd05cab111b..41132a61859 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -1056,6 +1056,14 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) }); return configFile; }, + '1.8.0': (configFile) => { + Object.entries(configFile.configs) + .forEach(([, options]) => { + options.platform.drive.abci.docker.image = 'dashpay/drive:1-dev'; + options.platform.dapi.api.docker.image = 'dashpay/dapi:1-dev'; + }); + return configFile; + }, }; } diff --git a/packages/dashmate/package.json b/packages/dashmate/package.json index f3d89649112..d535ae5c14f 100644 --- a/packages/dashmate/package.json +++ b/packages/dashmate/package.json @@ -1,6 +1,6 @@ { "name": "dashmate", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "Distribution package for Dash node installation", "scripts": { "lint": "eslint .", diff --git a/packages/dashpay-contract/Cargo.toml b/packages/dashpay-contract/Cargo.toml index cd693a64538..06922af6bc6 100644 --- a/packages/dashpay-contract/Cargo.toml +++ b/packages/dashpay-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dashpay-contract" description = "DashPay data contract schema and tools" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/dashpay-contract/package.json b/packages/dashpay-contract/package.json index 62003582901..9287ab59fad 100644 --- a/packages/dashpay-contract/package.json +++ b/packages/dashpay-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dashpay-contract", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "Reference contract of the DashPay DPA on Dash Evolution", "scripts": { "lint": "eslint .", diff --git a/packages/data-contracts/Cargo.toml b/packages/data-contracts/Cargo.toml index 5f8e3a624e4..8c1527ff88e 100644 --- a/packages/data-contracts/Cargo.toml +++ b/packages/data-contracts/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "data-contracts" description = "Dash Platform system data contracts" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/dpns-contract/Cargo.toml b/packages/dpns-contract/Cargo.toml index 144be65f29d..ad7f940948a 100644 --- a/packages/dpns-contract/Cargo.toml +++ b/packages/dpns-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dpns-contract" description = "DPNS data contract schema and tools" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/dpns-contract/package.json b/packages/dpns-contract/package.json index b2892b39c48..cc63522e6d4 100644 --- a/packages/dpns-contract/package.json +++ b/packages/dpns-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dpns-contract", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "A contract and helper scripts for DPNS DApp", "scripts": { "lint": "eslint .", diff --git a/packages/feature-flags-contract/Cargo.toml b/packages/feature-flags-contract/Cargo.toml index 9110fbbc65e..61560418947 100644 --- a/packages/feature-flags-contract/Cargo.toml +++ b/packages/feature-flags-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "feature-flags-contract" description = "Feature flags data contract schema and tools" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/feature-flags-contract/package.json b/packages/feature-flags-contract/package.json index f7bb0f39267..582c70a89a7 100644 --- a/packages/feature-flags-contract/package.json +++ b/packages/feature-flags-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/feature-flags-contract", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "Data Contract to store Dash Platform feature flags", "scripts": { "build": "", diff --git a/packages/js-dapi-client/package.json b/packages/js-dapi-client/package.json index a5a5ffd8cfe..928fa520637 100644 --- a/packages/js-dapi-client/package.json +++ b/packages/js-dapi-client/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/dapi-client", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "Client library used to access Dash DAPI endpoints", "main": "lib/index.js", "contributors": [ diff --git a/packages/js-dash-sdk/package.json b/packages/js-dash-sdk/package.json index 77c0634b39a..94159621e92 100644 --- a/packages/js-dash-sdk/package.json +++ b/packages/js-dash-sdk/package.json @@ -1,6 +1,6 @@ { "name": "dash", - "version": "4.7.0", + "version": "4.8.0-dev.1", "description": "Dash library for JavaScript/TypeScript ecosystem (Wallet, DAPI, Primitives, BLS, ...)", "main": "build/index.js", "unpkg": "dist/dash.min.js", diff --git a/packages/js-grpc-common/package.json b/packages/js-grpc-common/package.json index 9119272974e..7efbc8f7154 100644 --- a/packages/js-grpc-common/package.json +++ b/packages/js-grpc-common/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/grpc-common", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "Common GRPC library", "main": "index.js", "scripts": { diff --git a/packages/masternode-reward-shares-contract/Cargo.toml b/packages/masternode-reward-shares-contract/Cargo.toml index 317e1d21d6e..2cfd344cfb0 100644 --- a/packages/masternode-reward-shares-contract/Cargo.toml +++ b/packages/masternode-reward-shares-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "masternode-reward-shares-contract" description = "Masternode reward shares data contract schema and tools" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/masternode-reward-shares-contract/package.json b/packages/masternode-reward-shares-contract/package.json index cbf2736ca9e..99c4dd3bb8b 100644 --- a/packages/masternode-reward-shares-contract/package.json +++ b/packages/masternode-reward-shares-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/masternode-reward-shares-contract", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "A contract and helper scripts for reward sharing", "scripts": { "lint": "eslint .", diff --git a/packages/platform-test-suite/package.json b/packages/platform-test-suite/package.json index 895af1ea58c..44eb3688d5b 100644 --- a/packages/platform-test-suite/package.json +++ b/packages/platform-test-suite/package.json @@ -1,7 +1,7 @@ { "name": "@dashevo/platform-test-suite", "private": true, - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "Dash Network end-to-end tests", "scripts": { "test": "yarn exec bin/test.sh", diff --git a/packages/rs-dapi-client/Cargo.toml b/packages/rs-dapi-client/Cargo.toml index c6f32b443df..41d5413ab68 100644 --- a/packages/rs-dapi-client/Cargo.toml +++ b/packages/rs-dapi-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rs-dapi-client" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" [features] diff --git a/packages/rs-dapi-grpc-macros/Cargo.toml b/packages/rs-dapi-grpc-macros/Cargo.toml index 90f280a6ed0..8cbd5272f8c 100644 --- a/packages/rs-dapi-grpc-macros/Cargo.toml +++ b/packages/rs-dapi-grpc-macros/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "dapi-grpc-macros" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" description = "Macros used by dapi-grpc. Internal use only." diff --git a/packages/rs-dpp/Cargo.toml b/packages/rs-dpp/Cargo.toml index f526a76c8a1..3ebd955ca97 100644 --- a/packages/rs-dpp/Cargo.toml +++ b/packages/rs-dpp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dpp" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true authors = [ diff --git a/packages/rs-drive-abci/Cargo.toml b/packages/rs-drive-abci/Cargo.toml index d637b3225d0..eb0e03636b8 100644 --- a/packages/rs-drive-abci/Cargo.toml +++ b/packages/rs-drive-abci/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "drive-abci" -version = "1.7.0" +version = "1.8.0-dev.1" authors = [ "Samuel Westrich ", "Ivan Shumkov ", diff --git a/packages/rs-drive-proof-verifier/Cargo.toml b/packages/rs-drive-proof-verifier/Cargo.toml index e19a9ced1b5..8e5ecc30064 100644 --- a/packages/rs-drive-proof-verifier/Cargo.toml +++ b/packages/rs-drive-proof-verifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "drive-proof-verifier" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true diff --git a/packages/rs-drive/Cargo.toml b/packages/rs-drive/Cargo.toml index 7af925f26c0..c2af64fb228 100644 --- a/packages/rs-drive/Cargo.toml +++ b/packages/rs-drive/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "drive" description = "Dash drive built on top of GroveDB" -version = "1.7.0" +version = "1.8.0-dev.1" authors = [ "Samuel Westrich ", "Ivan Shumkov ", diff --git a/packages/rs-json-schema-compatibility-validator/Cargo.toml b/packages/rs-json-schema-compatibility-validator/Cargo.toml index aa4763a2560..f278fe86757 100644 --- a/packages/rs-json-schema-compatibility-validator/Cargo.toml +++ b/packages/rs-json-schema-compatibility-validator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "json-schema-compatibility-validator" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true authors = ["Ivan Shumkov "] diff --git a/packages/rs-platform-serialization-derive/Cargo.toml b/packages/rs-platform-serialization-derive/Cargo.toml index 1017408832d..73330141a25 100644 --- a/packages/rs-platform-serialization-derive/Cargo.toml +++ b/packages/rs-platform-serialization-derive/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-serialization-derive" authors = ["Samuel Westrich "] description = "Bincode serialization and deserialization derivations" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-serialization/Cargo.toml b/packages/rs-platform-serialization/Cargo.toml index 8b58f6b878c..fb5c0044f98 100644 --- a/packages/rs-platform-serialization/Cargo.toml +++ b/packages/rs-platform-serialization/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-serialization" authors = ["Samuel Westrich "] description = "Bincode based serialization and deserialization" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-value-convertible/Cargo.toml b/packages/rs-platform-value-convertible/Cargo.toml index f518e7b341e..de5ecb3bb88 100644 --- a/packages/rs-platform-value-convertible/Cargo.toml +++ b/packages/rs-platform-value-convertible/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-value-convertible" authors = ["Samuel Westrich "] description = "Convertion to and from platform values" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-value/Cargo.toml b/packages/rs-platform-value/Cargo.toml index bbb11d7b775..ed92d867873 100644 --- a/packages/rs-platform-value/Cargo.toml +++ b/packages/rs-platform-value/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-value" authors = ["Samuel Westrich "] description = "A simple value module" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-version/Cargo.toml b/packages/rs-platform-version/Cargo.toml index 1ad05c6401b..5185806ec38 100644 --- a/packages/rs-platform-version/Cargo.toml +++ b/packages/rs-platform-version/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-version" authors = ["Samuel Westrich "] description = "Versioning library for Platform" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-platform-versioning/Cargo.toml b/packages/rs-platform-versioning/Cargo.toml index 3aa0fb87851..56162fd5118 100644 --- a/packages/rs-platform-versioning/Cargo.toml +++ b/packages/rs-platform-versioning/Cargo.toml @@ -2,7 +2,7 @@ name = "platform-versioning" authors = ["Samuel Westrich "] description = "Version derivation" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index 1d781bfa9fa..89ebcfb5f3c 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dash-sdk" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" [dependencies] diff --git a/packages/simple-signer/Cargo.toml b/packages/simple-signer/Cargo.toml index a6802352c21..53d9ba7a4fc 100644 --- a/packages/simple-signer/Cargo.toml +++ b/packages/simple-signer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "simple-signer" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true diff --git a/packages/strategy-tests/Cargo.toml b/packages/strategy-tests/Cargo.toml index c445290ecca..95512bbabd8 100644 --- a/packages/strategy-tests/Cargo.toml +++ b/packages/strategy-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "strategy-tests" -version = "1.7.0" +version = "1.8.0-dev.1" authors = [ "Samuel Westrich ", "Ivan Shumkov ", diff --git a/packages/wallet-lib/package.json b/packages/wallet-lib/package.json index f258d9678de..4efca3f0ba4 100644 --- a/packages/wallet-lib/package.json +++ b/packages/wallet-lib/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wallet-lib", - "version": "8.7.0", + "version": "8.8.0-dev.1", "description": "Light wallet library for Dash", "main": "src/index.js", "unpkg": "dist/wallet-lib.min.js", diff --git a/packages/wallet-utils-contract/Cargo.toml b/packages/wallet-utils-contract/Cargo.toml index 7e2527e7a2a..40192e00d5e 100644 --- a/packages/wallet-utils-contract/Cargo.toml +++ b/packages/wallet-utils-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wallet-utils-contract" description = "Wallet data contract schema and tools" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/wallet-utils-contract/package.json b/packages/wallet-utils-contract/package.json index 621f0c05efd..034c4488c1d 100644 --- a/packages/wallet-utils-contract/package.json +++ b/packages/wallet-utils-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wallet-utils-contract", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "A contract and helper scripts for Wallet DApp", "scripts": { "lint": "eslint .", diff --git a/packages/wasm-dpp/Cargo.toml b/packages/wasm-dpp/Cargo.toml index 2b34c8af6ff..25c7307efff 100644 --- a/packages/wasm-dpp/Cargo.toml +++ b/packages/wasm-dpp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasm-dpp" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true authors = ["Anton Suprunchuk "] diff --git a/packages/wasm-dpp/package.json b/packages/wasm-dpp/package.json index ca3b0ca9182..82a9439f709 100644 --- a/packages/wasm-dpp/package.json +++ b/packages/wasm-dpp/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/wasm-dpp", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "The JavaScript implementation of the Dash Platform Protocol", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/withdrawals-contract/Cargo.toml b/packages/withdrawals-contract/Cargo.toml index 21f474d5e5b..13bcde31010 100644 --- a/packages/withdrawals-contract/Cargo.toml +++ b/packages/withdrawals-contract/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "withdrawals-contract" description = "Witdrawals data contract schema and tools" -version = "1.7.0" +version = "1.8.0-dev.1" edition = "2021" rust-version.workspace = true license = "MIT" diff --git a/packages/withdrawals-contract/package.json b/packages/withdrawals-contract/package.json index d49ca9d113c..358512c5d0e 100644 --- a/packages/withdrawals-contract/package.json +++ b/packages/withdrawals-contract/package.json @@ -1,6 +1,6 @@ { "name": "@dashevo/withdrawals-contract", - "version": "1.7.0", + "version": "1.8.0-dev.1", "description": "Data Contract to manipulate and track withdrawals", "scripts": { "build": "",