From a3cf053ab39b671663f14b1fac03016141a4b9a7 Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Fri, 9 Feb 2024 12:04:20 +0100 Subject: [PATCH 1/4] build(deps): bump rust version to 1.76 --- .github/actions/rust/action.yaml | 9 +-------- Dockerfile | 4 ++-- README.md | 4 ++-- packages/dapi-grpc/Cargo.toml | 2 +- packages/dashpay-contract/Cargo.toml | 2 +- packages/data-contracts/Cargo.toml | 2 +- packages/dpns-contract/Cargo.toml | 2 +- packages/feature-flags-contract/Cargo.toml | 2 +- .../Cargo.toml | 2 +- packages/rs-dapi-client/Cargo.toml | 1 + packages/rs-dpp/Cargo.toml | 2 +- packages/rs-drive-abci/Cargo.toml | 2 +- packages/rs-drive-proof-verifier/Cargo.toml | 2 +- packages/rs-drive-verify-c-binding/Cargo.toml | 2 +- packages/rs-drive/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/src/mock/wallet/minimal.rs | 20 +++++++++++++++++++ packages/simple-signer/Cargo.toml | 2 +- packages/strategy-tests/Cargo.toml | 2 +- packages/wasm-dpp/Cargo.toml | 2 +- packages/wasm-dpp/README.md | 2 +- packages/withdrawals-contract/Cargo.toml | 2 +- rust-toolchain.toml | 3 ++- 28 files changed, 50 insertions(+), 35 deletions(-) create mode 100644 packages/rs-sdk/src/mock/wallet/minimal.rs diff --git a/.github/actions/rust/action.yaml b/.github/actions/rust/action.yaml index b01cd0a5dc8..2e71d80557b 100644 --- a/.github/actions/rust/action.yaml +++ b/.github/actions/rust/action.yaml @@ -5,7 +5,7 @@ inputs: toolchain: description: Rust toolchain to use, stable / nightly / beta, or exact version # The same as in /README.md - default: "stable" + default: "1.76" target: description: Target Rust platform required: false @@ -17,7 +17,6 @@ inputs: description: Enable Rust cache required: false default: "true" - runs: using: composite steps: @@ -28,7 +27,6 @@ runs: toolchain: ${{ inputs.toolchain }} target: ${{ inputs.target }} components: ${{ inputs.components }} - - name: Get protoc arch shell: bash id: protoc_arch @@ -47,7 +45,6 @@ runs: exit 1 ;; esac - # TODO: Move to AMI and build every day - name: Install protoc id: deps-protoc @@ -58,18 +55,15 @@ runs: unzip /tmp/protoc.zip -d ${HOME}/.local echo "PROTOC=${HOME}/.local/bin/protoc" >> $GITHUB_ENV export PATH="${PATH}:${HOME}/.local/bin" - - name: Run sccache-cache uses: mozilla-actions/sccache-action@v0.0.3 with: version: "v0.7.1" # Must be the same as in Dockerfile if: inputs.cache == 'true' - - name: Hash ref_name id: hashed-ref-name shell: bash run: echo "key=$(echo '${{ github.ref_name }}' | sha256sum | cut -d ' ' -f1)" >> $GITHUB_OUTPUT - - name: Cache cargo registry (S3 bucket cache) uses: strophy/actions-cache@opendal-update if: inputs.cache == 'true' @@ -84,7 +78,6 @@ runs: restore-keys: | ${{ runner.os }}/cargo/registry/${{ hashFiles('**/Cargo.lock') }} ${{ runner.os }}/cargo/registry/ - # TODO: Move to AMI and build every day - name: Install clang id: deps-clang diff --git a/Dockerfile b/Dockerfile index 497877cd49d..ebf629c471c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,7 @@ ARG ALPINE_VERSION=3.18 ARG RUSTC_WRAPPER - +ARG RUST_VERSION=1.76 # # DEPS: INSTALL AND CACHE DEPENDENCIES # @@ -73,7 +73,7 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \ --profile minimal \ -y \ # Rust version the same as in /README.md - --default-toolchain stable \ + --default-toolchain ${RUST_VERSION} \ --target wasm32-unknown-unknown # Install protoc - protobuf compiler diff --git a/README.md b/README.md index dfcebf86e09..09b39b68955 100644 --- a/README.md +++ b/README.md @@ -53,14 +53,14 @@ 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.73+, with wasm32 target (`rustup target add wasm32-unknown-unknown`) + - [rust](https://www.rust-lang.org/tools/install) v1.76+, with wasm32 target (`rustup target add wasm32-unknown-unknown`) - [wasm-bingen toolchain](https://rustwasm.github.io/wasm-bindgen/): - **IMPORTANT (OSX only)**: built-in `llvm` on OSX does not work, needs to be installed from brew: - `brew install llvm` - LLVM installed from brew is keg only, and path to it must be provided in the profile file, in terminal run `echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.zshrc` or `echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.bash_profile` depending on your default shell. You can find your default shell with `echo $SHELL` - - Reload your shell with `source ~/.zshrc` or `source ~/.bash_profile` + - Reload your shell with `source ~/.zshrc` or `source ~/.bash_profile` - install `protoc` - protobuf compiler: - on debian/ubuntu: `apt install -y protobuf-compiler` - on Mac: `brew install protobuf` diff --git a/packages/dapi-grpc/Cargo.toml b/packages/dapi-grpc/Cargo.toml index 9bcc325f72a..6ceae0a316b 100644 --- a/packages/dapi-grpc/Cargo.toml +++ b/packages/dapi-grpc/Cargo.toml @@ -10,7 +10,7 @@ authors = [ "Ivan Shumkov ", ] edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" [features] diff --git a/packages/dashpay-contract/Cargo.toml b/packages/dashpay-contract/Cargo.toml index 2403a1eb230..00f9f24fafd 100644 --- a/packages/dashpay-contract/Cargo.toml +++ b/packages/dashpay-contract/Cargo.toml @@ -3,7 +3,7 @@ name = "dashpay-contract" description = "DashPay data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" [dependencies] diff --git a/packages/data-contracts/Cargo.toml b/packages/data-contracts/Cargo.toml index eece64000c7..a3c8e0681b6 100644 --- a/packages/data-contracts/Cargo.toml +++ b/packages/data-contracts/Cargo.toml @@ -3,7 +3,7 @@ name = "data-contracts" description = "Dash Platform system data contracts" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" [dependencies] diff --git a/packages/dpns-contract/Cargo.toml b/packages/dpns-contract/Cargo.toml index 2c961e05c27..cc08d12c59e 100644 --- a/packages/dpns-contract/Cargo.toml +++ b/packages/dpns-contract/Cargo.toml @@ -3,7 +3,7 @@ name = "dpns-contract" description = "DPNS data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" [dependencies] diff --git a/packages/feature-flags-contract/Cargo.toml b/packages/feature-flags-contract/Cargo.toml index e4f30d4225f..0e2f0c58928 100644 --- a/packages/feature-flags-contract/Cargo.toml +++ b/packages/feature-flags-contract/Cargo.toml @@ -3,7 +3,7 @@ name = "feature-flags-contract" description = "Feature flags data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" [dependencies] diff --git a/packages/masternode-reward-shares-contract/Cargo.toml b/packages/masternode-reward-shares-contract/Cargo.toml index 35dbf45f574..751c614b26e 100644 --- a/packages/masternode-reward-shares-contract/Cargo.toml +++ b/packages/masternode-reward-shares-contract/Cargo.toml @@ -3,7 +3,7 @@ name = "masternode-reward-shares-contract" description = "Masternode reward shares data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" [dependencies] diff --git a/packages/rs-dapi-client/Cargo.toml b/packages/rs-dapi-client/Cargo.toml index eaeb74d573a..740e3ad6624 100644 --- a/packages/rs-dapi-client/Cargo.toml +++ b/packages/rs-dapi-client/Cargo.toml @@ -2,6 +2,7 @@ name = "rs-dapi-client" version = "1.0.0-dev.4" edition = "2021" +rust-version = "1.76" [features] default = ["mocks", "offline-testing"] diff --git a/packages/rs-dpp/Cargo.toml b/packages/rs-dpp/Cargo.toml index 30a2f2920d7..3e604140d4f 100644 --- a/packages/rs-dpp/Cargo.toml +++ b/packages/rs-dpp/Cargo.toml @@ -2,7 +2,7 @@ name = "dpp" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" authors = [ "Anton Suprunchuk ", "Samuel Westrich ", diff --git a/packages/rs-drive-abci/Cargo.toml b/packages/rs-drive-abci/Cargo.toml index 90372484ad8..b836e234459 100644 --- a/packages/rs-drive-abci/Cargo.toml +++ b/packages/rs-drive-abci/Cargo.toml @@ -9,7 +9,7 @@ authors = [ "Igor Markin ", ] edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/rs-drive-proof-verifier/Cargo.toml b/packages/rs-drive-proof-verifier/Cargo.toml index 264c3fab227..f39a76c5e3a 100644 --- a/packages/rs-drive-proof-verifier/Cargo.toml +++ b/packages/rs-drive-proof-verifier/Cargo.toml @@ -2,7 +2,7 @@ name = "drive-proof-verifier" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" crate-type = ["cdylib"] diff --git a/packages/rs-drive-verify-c-binding/Cargo.toml b/packages/rs-drive-verify-c-binding/Cargo.toml index 0d4d7371242..3a2ccf94a19 100644 --- a/packages/rs-drive-verify-c-binding/Cargo.toml +++ b/packages/rs-drive-verify-c-binding/Cargo.toml @@ -2,7 +2,7 @@ name = "rs-drive-verify-c-binding" version = "0.25.16-rc.3" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] diff --git a/packages/rs-drive/Cargo.toml b/packages/rs-drive/Cargo.toml index 037eed04ce7..3825b7a1afc 100644 --- a/packages/rs-drive/Cargo.toml +++ b/packages/rs-drive/Cargo.toml @@ -9,7 +9,7 @@ authors = [ "Wisdom Ogwu "] description = "Bincode serialization and deserialization derivations" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-serialization/Cargo.toml b/packages/rs-platform-serialization/Cargo.toml index 84b789941ad..55cb0e747c3 100644 --- a/packages/rs-platform-serialization/Cargo.toml +++ b/packages/rs-platform-serialization/Cargo.toml @@ -4,7 +4,7 @@ authors = ["Samuel Westrich "] description = "Bincode based serialization and deserialization" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-value-convertible/Cargo.toml b/packages/rs-platform-value-convertible/Cargo.toml index bb21c688740..fdaeaf9bc32 100644 --- a/packages/rs-platform-value-convertible/Cargo.toml +++ b/packages/rs-platform-value-convertible/Cargo.toml @@ -4,7 +4,7 @@ authors = ["Samuel Westrich "] description = "Convertion to and from platform values" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-value/Cargo.toml b/packages/rs-platform-value/Cargo.toml index d4cb4e1cc33..8f9f76978e2 100644 --- a/packages/rs-platform-value/Cargo.toml +++ b/packages/rs-platform-value/Cargo.toml @@ -4,7 +4,7 @@ authors = ["Samuel Westrich "] description = "A simple value module" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-version/Cargo.toml b/packages/rs-platform-version/Cargo.toml index 44635c8ba4b..671579fc53e 100644 --- a/packages/rs-platform-version/Cargo.toml +++ b/packages/rs-platform-version/Cargo.toml @@ -4,7 +4,7 @@ authors = ["Samuel Westrich "] description = "Bincode based serialization and deserialization" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-versioning/Cargo.toml b/packages/rs-platform-versioning/Cargo.toml index 0734256f3de..da3e604077c 100644 --- a/packages/rs-platform-versioning/Cargo.toml +++ b/packages/rs-platform-versioning/Cargo.toml @@ -4,7 +4,7 @@ authors = ["Samuel Westrich "] description = "Version derivation" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-sdk/src/mock/wallet/minimal.rs b/packages/rs-sdk/src/mock/wallet/minimal.rs new file mode 100644 index 00000000000..9b7c72fd45a --- /dev/null +++ b/packages/rs-sdk/src/mock/wallet/minimal.rs @@ -0,0 +1,20 @@ +use std::fmt::Display; + +use dashcore_rpc::dashcore::PrivateKey; +use dpp::{ + identity::state_transition::asset_lock_proof::AssetLockProof, platform_value::BinaryData, + state_transition::StateTransition, +}; + +use super::WalletError; + +// Minimal wallet functionalities needed for the SDK to work +pub struct MinimalWallet {} +impl MinimalWallet { + pub fn sign_state_transition(&self, st: &StateTransition) -> Result { + todo!("sign_state_transition") + } + pub fn lock_assets(&self, amount: u64) -> Result<(AssetLockProof, PrivateKey), WalletError> { + todo!("lock_assets") + } +} diff --git a/packages/simple-signer/Cargo.toml b/packages/simple-signer/Cargo.toml index 50876317362..c054608f315 100644 --- a/packages/simple-signer/Cargo.toml +++ b/packages/simple-signer/Cargo.toml @@ -2,7 +2,7 @@ name = "simple-signer" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/strategy-tests/Cargo.toml b/packages/strategy-tests/Cargo.toml index 1deb64aa551..f2d88714c98 100644 --- a/packages/strategy-tests/Cargo.toml +++ b/packages/strategy-tests/Cargo.toml @@ -7,7 +7,7 @@ authors = [ "Paul DeLucia ", ] edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/wasm-dpp/Cargo.toml b/packages/wasm-dpp/Cargo.toml index 708ef2f09af..4713701ce5c 100644 --- a/packages/wasm-dpp/Cargo.toml +++ b/packages/wasm-dpp/Cargo.toml @@ -2,7 +2,7 @@ name = "wasm-dpp" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" authors = ["Anton Suprunchuk "] [lib] diff --git a/packages/wasm-dpp/README.md b/packages/wasm-dpp/README.md index cc31d1a824e..027dbffc8f9 100644 --- a/packages/wasm-dpp/README.md +++ b/packages/wasm-dpp/README.md @@ -37,7 +37,7 @@ Library consumers must ignore class names minification for `@dashevo/wasm-dpp` l ## Prerequisites -- Install [Rust](https://www.rust-lang.org/tools/install) v1.73+ +- Install [Rust](https://www.rust-lang.org/tools/install) v1.76+ - Add wasm32 target: `$ rustup target add wasm32-unknown-unknown` - Install wasm-bingen-cli: `cargo install wasm-bindgen-cli@0.2.85` - *double-check that wasm-bindgen-cli version above matches wasm-bindgen version in Cargo.lock file* diff --git a/packages/withdrawals-contract/Cargo.toml b/packages/withdrawals-contract/Cargo.toml index 886bb5c8e36..1d8f8b76d4c 100644 --- a/packages/withdrawals-contract/Cargo.toml +++ b/packages/withdrawals-contract/Cargo.toml @@ -3,7 +3,7 @@ name = "withdrawals-contract" description = "Witdrawals data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" -rust-version = "1.73" +rust-version = "1.76" license = "MIT" [dependencies] diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 0b9461857bd..e1fea1c205c 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,6 @@ [toolchain] # Rust version the same as in /README.md -channel = "stable" + +channel = "1.76" targets = ["wasm32-unknown-unknown"] From c6b14fced75dd3a678259dfa9a3d72307424d31c Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Fri, 9 Feb 2024 12:05:40 +0100 Subject: [PATCH 2/4] build: script to update rust version --- .github/actions/rust/action.yaml | 2 +- Dockerfile | 1 + packages/dapi-grpc/Cargo.toml | 1 + packages/dashpay-contract/Cargo.toml | 1 + packages/data-contracts/Cargo.toml | 1 + packages/dpns-contract/Cargo.toml | 1 + packages/feature-flags-contract/Cargo.toml | 1 + .../Cargo.toml | 1 + packages/rs-dapi-client/Cargo.toml | 1 + packages/rs-dapi-grpc-macros/Cargo.toml | 2 + packages/rs-dpp/Cargo.toml | 1 + packages/rs-drive-abci/Cargo.toml | 1 + packages/rs-drive-proof-verifier/Cargo.toml | 1 + packages/rs-drive-verify-c-binding/Cargo.toml | 1 + packages/rs-drive/Cargo.toml | 1 + .../Cargo.toml | 1 + packages/rs-platform-serialization/Cargo.toml | 1 + .../rs-platform-value-convertible/Cargo.toml | 1 + packages/rs-platform-value/Cargo.toml | 1 + packages/rs-platform-version/Cargo.toml | 1 + packages/rs-platform-versioning/Cargo.toml | 1 + packages/rs-sdk/Cargo.toml | 2 + packages/simple-signer/Cargo.toml | 1 + packages/strategy-tests/Cargo.toml | 1 + packages/wasm-dpp/Cargo.toml | 1 + packages/withdrawals-contract/Cargo.toml | 1 + rust-toolchain.toml | 2 +- scripts/update_rust_version.sh | 42 +++++++++++++++++++ 28 files changed, 71 insertions(+), 2 deletions(-) create mode 100755 scripts/update_rust_version.sh diff --git a/.github/actions/rust/action.yaml b/.github/actions/rust/action.yaml index 2e71d80557b..56ff02d242b 100644 --- a/.github/actions/rust/action.yaml +++ b/.github/actions/rust/action.yaml @@ -4,7 +4,7 @@ description: "Install dependencies" inputs: toolchain: description: Rust toolchain to use, stable / nightly / beta, or exact version - # The same as in /README.md + # Update using scripts/update-rust-toolchain.sh default: "1.76" target: description: Target Rust platform diff --git a/Dockerfile b/Dockerfile index ebf629c471c..b9451a7fec4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,6 +32,7 @@ ARG ALPINE_VERSION=3.18 ARG RUSTC_WRAPPER +# Update using scripts/update-rust-toolchain.sh ARG RUST_VERSION=1.76 # # DEPS: INSTALL AND CACHE DEPENDENCIES diff --git a/packages/dapi-grpc/Cargo.toml b/packages/dapi-grpc/Cargo.toml index 6ceae0a316b..64410eb5213 100644 --- a/packages/dapi-grpc/Cargo.toml +++ b/packages/dapi-grpc/Cargo.toml @@ -10,6 +10,7 @@ authors = [ "Ivan Shumkov ", ] edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/packages/dashpay-contract/Cargo.toml b/packages/dashpay-contract/Cargo.toml index 00f9f24fafd..eff0692adce 100644 --- a/packages/dashpay-contract/Cargo.toml +++ b/packages/dashpay-contract/Cargo.toml @@ -3,6 +3,7 @@ name = "dashpay-contract" description = "DashPay data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/packages/data-contracts/Cargo.toml b/packages/data-contracts/Cargo.toml index a3c8e0681b6..b5c7d3a95f7 100644 --- a/packages/data-contracts/Cargo.toml +++ b/packages/data-contracts/Cargo.toml @@ -3,6 +3,7 @@ name = "data-contracts" description = "Dash Platform system data contracts" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/packages/dpns-contract/Cargo.toml b/packages/dpns-contract/Cargo.toml index cc08d12c59e..a9ed8ba9ffb 100644 --- a/packages/dpns-contract/Cargo.toml +++ b/packages/dpns-contract/Cargo.toml @@ -3,6 +3,7 @@ name = "dpns-contract" description = "DPNS data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/packages/feature-flags-contract/Cargo.toml b/packages/feature-flags-contract/Cargo.toml index 0e2f0c58928..a9e0bcbcf85 100644 --- a/packages/feature-flags-contract/Cargo.toml +++ b/packages/feature-flags-contract/Cargo.toml @@ -3,6 +3,7 @@ name = "feature-flags-contract" description = "Feature flags data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/packages/masternode-reward-shares-contract/Cargo.toml b/packages/masternode-reward-shares-contract/Cargo.toml index 751c614b26e..b0643614858 100644 --- a/packages/masternode-reward-shares-contract/Cargo.toml +++ b/packages/masternode-reward-shares-contract/Cargo.toml @@ -3,6 +3,7 @@ name = "masternode-reward-shares-contract" description = "Masternode reward shares data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/packages/rs-dapi-client/Cargo.toml b/packages/rs-dapi-client/Cargo.toml index 740e3ad6624..85c9b93764f 100644 --- a/packages/rs-dapi-client/Cargo.toml +++ b/packages/rs-dapi-client/Cargo.toml @@ -2,6 +2,7 @@ name = "rs-dapi-client" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" [features] diff --git a/packages/rs-dapi-grpc-macros/Cargo.toml b/packages/rs-dapi-grpc-macros/Cargo.toml index f6f00d3ed98..dc8639860bb 100644 --- a/packages/rs-dapi-grpc-macros/Cargo.toml +++ b/packages/rs-dapi-grpc-macros/Cargo.toml @@ -4,6 +4,8 @@ name = "dapi-grpc-macros" version = "1.0.0-dev.4" edition = "2021" description = "Macros used by dapi-grpc. Internal use only." +# Update using scripts/update-rust-toolchain.sh +rust-version = "1.76" [lib] proc-macro = true diff --git a/packages/rs-dpp/Cargo.toml b/packages/rs-dpp/Cargo.toml index 3e604140d4f..77a72cc0c7a 100644 --- a/packages/rs-dpp/Cargo.toml +++ b/packages/rs-dpp/Cargo.toml @@ -2,6 +2,7 @@ name = "dpp" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" authors = [ "Anton Suprunchuk ", diff --git a/packages/rs-drive-abci/Cargo.toml b/packages/rs-drive-abci/Cargo.toml index b836e234459..96cf36154d2 100644 --- a/packages/rs-drive-abci/Cargo.toml +++ b/packages/rs-drive-abci/Cargo.toml @@ -9,6 +9,7 @@ authors = [ "Igor Markin ", ] edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/packages/rs-drive-proof-verifier/Cargo.toml b/packages/rs-drive-proof-verifier/Cargo.toml index f39a76c5e3a..6f7b80dac2b 100644 --- a/packages/rs-drive-proof-verifier/Cargo.toml +++ b/packages/rs-drive-proof-verifier/Cargo.toml @@ -2,6 +2,7 @@ name = "drive-proof-verifier" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" crate-type = ["cdylib"] diff --git a/packages/rs-drive-verify-c-binding/Cargo.toml b/packages/rs-drive-verify-c-binding/Cargo.toml index 3a2ccf94a19..fa2125c745a 100644 --- a/packages/rs-drive-verify-c-binding/Cargo.toml +++ b/packages/rs-drive-verify-c-binding/Cargo.toml @@ -2,6 +2,7 @@ name = "rs-drive-verify-c-binding" version = "0.25.16-rc.3" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/rs-drive/Cargo.toml b/packages/rs-drive/Cargo.toml index 3825b7a1afc..8dbe79050c5 100644 --- a/packages/rs-drive/Cargo.toml +++ b/packages/rs-drive/Cargo.toml @@ -9,6 +9,7 @@ authors = [ "Wisdom Ogwu "] description = "Bincode serialization and deserialization derivations" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-serialization/Cargo.toml b/packages/rs-platform-serialization/Cargo.toml index 55cb0e747c3..e106ef4845c 100644 --- a/packages/rs-platform-serialization/Cargo.toml +++ b/packages/rs-platform-serialization/Cargo.toml @@ -4,6 +4,7 @@ authors = ["Samuel Westrich "] description = "Bincode based serialization and deserialization" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-value-convertible/Cargo.toml b/packages/rs-platform-value-convertible/Cargo.toml index fdaeaf9bc32..61018d05991 100644 --- a/packages/rs-platform-value-convertible/Cargo.toml +++ b/packages/rs-platform-value-convertible/Cargo.toml @@ -4,6 +4,7 @@ authors = ["Samuel Westrich "] description = "Convertion to and from platform values" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-value/Cargo.toml b/packages/rs-platform-value/Cargo.toml index 8f9f76978e2..aa3ed8ad345 100644 --- a/packages/rs-platform-value/Cargo.toml +++ b/packages/rs-platform-value/Cargo.toml @@ -4,6 +4,7 @@ authors = ["Samuel Westrich "] description = "A simple value module" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-version/Cargo.toml b/packages/rs-platform-version/Cargo.toml index 671579fc53e..795f60beaa8 100644 --- a/packages/rs-platform-version/Cargo.toml +++ b/packages/rs-platform-version/Cargo.toml @@ -4,6 +4,7 @@ authors = ["Samuel Westrich "] description = "Bincode based serialization and deserialization" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-platform-versioning/Cargo.toml b/packages/rs-platform-versioning/Cargo.toml index da3e604077c..d6d1b61ad1a 100644 --- a/packages/rs-platform-versioning/Cargo.toml +++ b/packages/rs-platform-versioning/Cargo.toml @@ -4,6 +4,7 @@ authors = ["Samuel Westrich "] description = "Version derivation" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" private = true diff --git a/packages/rs-sdk/Cargo.toml b/packages/rs-sdk/Cargo.toml index 5b615c2ea33..b5cd6f8879a 100644 --- a/packages/rs-sdk/Cargo.toml +++ b/packages/rs-sdk/Cargo.toml @@ -2,6 +2,8 @@ name = "rs-sdk" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh +rust-version = "1.76" [dependencies] dpp = { path = "../rs-dpp", features = [ diff --git a/packages/simple-signer/Cargo.toml b/packages/simple-signer/Cargo.toml index c054608f315..d204d654ec6 100644 --- a/packages/simple-signer/Cargo.toml +++ b/packages/simple-signer/Cargo.toml @@ -2,6 +2,7 @@ name = "simple-signer" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/strategy-tests/Cargo.toml b/packages/strategy-tests/Cargo.toml index f2d88714c98..f5e062af446 100644 --- a/packages/strategy-tests/Cargo.toml +++ b/packages/strategy-tests/Cargo.toml @@ -7,6 +7,7 @@ authors = [ "Paul DeLucia ", ] edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/packages/wasm-dpp/Cargo.toml b/packages/wasm-dpp/Cargo.toml index 4713701ce5c..1e40e92b96d 100644 --- a/packages/wasm-dpp/Cargo.toml +++ b/packages/wasm-dpp/Cargo.toml @@ -2,6 +2,7 @@ name = "wasm-dpp" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" authors = ["Anton Suprunchuk "] diff --git a/packages/withdrawals-contract/Cargo.toml b/packages/withdrawals-contract/Cargo.toml index 1d8f8b76d4c..b948cd7f8c1 100644 --- a/packages/withdrawals-contract/Cargo.toml +++ b/packages/withdrawals-contract/Cargo.toml @@ -3,6 +3,7 @@ name = "withdrawals-contract" description = "Witdrawals data contract schema and tools" version = "1.0.0-dev.4" edition = "2021" +# Update using scripts/update-rust-toolchain.sh rust-version = "1.76" license = "MIT" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index e1fea1c205c..08420761113 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,6 +1,6 @@ [toolchain] -# Rust version the same as in /README.md +# Update using scripts/update-rust-toolchain.sh channel = "1.76" targets = ["wasm32-unknown-unknown"] diff --git a/scripts/update_rust_version.sh b/scripts/update_rust_version.sh new file mode 100755 index 00000000000..969adc71790 --- /dev/null +++ b/scripts/update_rust_version.sh @@ -0,0 +1,42 @@ +#! /bin/bash -e + +# This script updates the rust version to the one provided in the first argument. +# Requires `yq` to be installed: https://github.com/mikefarah/yq +PROJECT_ROOT="$(realpath "$(dirname "$0")"/..)" + +# Check if the first argument is provided +if [ -z "${1}" ]; then + echo "Please provide the new rust version as the first argument." + exit 1 +fi + +VERSION="$1" + +function check { + for file in "$@"; do + if ! grep -q "${VERSION}" "${file}"; then + echo "The file ${file} does not contain the version ${VERSION}." + exit 1 + fi + done +} + +echo Update the rust version in the Cargo.toml file +sed -i "s/^rust-version = \".*\"/rust-version = \"${VERSION}\"/" "${PROJECT_ROOT}"/*/*/Cargo.toml +check "${PROJECT_ROOT}"/*/*/Cargo.toml + +echo Update the rust version in the Dockerfile +sed -i "s/^ARG RUST_VERSION=.*$/ARG RUST_VERSION=${VERSION}/" "${PROJECT_ROOT}/Dockerfile" +check "${PROJECT_ROOT}/Dockerfile" + +echo Update the rust version in Github Actions +yq eval ".inputs.toolchain.default = \"${VERSION}\"" -i "${PROJECT_ROOT}/.github/actions/rust/action.yaml" +check "${PROJECT_ROOT}/.github/actions/rust/action.yaml" + +echo Update the rust version in the README.md +sed -i "s/\(\[rust\](https.*)\) v[0-9.]\++,/\1 v$VERSION+,/" "${PROJECT_ROOT}/README.md" +check "${PROJECT_ROOT}/README.md" + +echo Update the rust version in rust-toolchain.toml +sed -i "s/^channel = \".*\"/channel = \"${VERSION}\"/" "${PROJECT_ROOT}/rust-toolchain.toml" +check "${PROJECT_ROOT}/rust-toolchain.toml" From 149fb96df52785c0770c38abb12a893163fa07f5 Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Fri, 9 Feb 2024 12:11:29 +0100 Subject: [PATCH 3/4] chore: fix dockerfile RUST_VERSION --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b9451a7fec4..23478ec448f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -68,7 +68,7 @@ RUN npm config set --global audit false # Install latest Rust toolbox ARG TARGETARCH - +ARG RUST_VERSION # TODO: It doesn't sharing PATH between stages, so we need "source $HOME/.cargo/env" everywhere RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \ --profile minimal \ From 84e15683630a2e3954d1e46c0a9d8cd1f02dc64a Mon Sep 17 00:00:00 2001 From: Lukasz Klimek <842586+lklimek@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:10:15 +0100 Subject: [PATCH 4/4] chore: remove file added by mistake --- packages/rs-sdk/src/mock/wallet/minimal.rs | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 packages/rs-sdk/src/mock/wallet/minimal.rs diff --git a/packages/rs-sdk/src/mock/wallet/minimal.rs b/packages/rs-sdk/src/mock/wallet/minimal.rs deleted file mode 100644 index 9b7c72fd45a..00000000000 --- a/packages/rs-sdk/src/mock/wallet/minimal.rs +++ /dev/null @@ -1,20 +0,0 @@ -use std::fmt::Display; - -use dashcore_rpc::dashcore::PrivateKey; -use dpp::{ - identity::state_transition::asset_lock_proof::AssetLockProof, platform_value::BinaryData, - state_transition::StateTransition, -}; - -use super::WalletError; - -// Minimal wallet functionalities needed for the SDK to work -pub struct MinimalWallet {} -impl MinimalWallet { - pub fn sign_state_transition(&self, st: &StateTransition) -> Result { - todo!("sign_state_transition") - } - pub fn lock_assets(&self, amount: u64) -> Result<(AssetLockProof, PrivateKey), WalletError> { - todo!("lock_assets") - } -}