From 95f80fffba6ab4e018ca9faab5ef2d524426d5dd Mon Sep 17 00:00:00 2001 From: Oleksandr Anyshchenko Date: Thu, 11 Jul 2024 17:21:00 +0100 Subject: [PATCH 1/3] deps: bump near-sdk to 5.2 --- .github/workflows/test.yml | 12 ++++++++---- Cargo.toml | 8 ++++---- near-plugins-derive/src/access_controllable.rs | 6 +++--- near-plugins-derive/tests/common/repo.rs | 4 ++-- .../tests/contracts/access_controllable/Cargo.toml | 2 +- .../contracts/access_controllable/rust-toolchain | 2 +- .../tests/contracts/ownable/Cargo.toml | 4 ++-- .../tests/contracts/ownable/rust-toolchain | 2 +- .../tests/contracts/pausable/Cargo.toml | 4 ++-- .../tests/contracts/pausable/rust-toolchain | 2 +- .../tests/contracts/upgradable/Cargo.toml | 4 ++-- .../tests/contracts/upgradable/rust-toolchain | 2 +- .../tests/contracts/upgradable_2/Cargo.toml | 4 ++-- .../tests/contracts/upgradable_2/rust-toolchain | 2 +- .../contracts/upgradable_state_migration/Cargo.toml | 4 ++-- .../upgradable_state_migration/rust-toolchain | 2 +- near-plugins/src/events.rs | 2 +- 17 files changed, 35 insertions(+), 31 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 55cb2fc1..9c7bc9f2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,6 +6,10 @@ on: - master pull_request: +env: + RUST_BACKTRACE: full + MSRV: 1.76.0 + jobs: tests: name: Tests @@ -17,13 +21,13 @@ jobs: - name: Install toolchain uses: actions-rs/toolchain@v1 with: - toolchain: 1.74.0 # MSRV + toolchain: ${{ env.MSRV }} override: true target: wasm32-unknown-unknown - uses: Swatinem/rust-cache@v1 with: - key: rust-version-1.74.0-msrv-2 + key: rust-version-1.76.0-msrv-2 - name: add wasm32-unknown-unknown run: rustup target add wasm32-unknown-unknown @@ -41,13 +45,13 @@ jobs: - name: Install toolchain uses: actions-rs/toolchain@v1 with: - toolchain: 1.74.0 # MSRV + toolchain: ${{ env.MSRV }} override: true components: rustfmt, clippy - uses: Swatinem/rust-cache@v1 with: - key: rust-version-1.74.0-msrv-2 + key: rust-version-1.76.0-msrv-2 - name: cargo fmt run: cargo fmt --all -- --check diff --git a/Cargo.toml b/Cargo.toml index 36a5984b..e5a4c57b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ authors = ["Aurora Labs "] # An update of the MSRV requires updating: # - `rust-toolchain` files in `near-plugins-derive/tests/contracts/**` # - the toolchain installed in CI via the `toolchain` parameter of `actions-rs/toolchain@v1` -rust-version = "1.74.0" +rust-version = "1.76.0" description = "Ergonomic plugin system to extend NEAR contracts." license = "CC0-1.0" readme = "README.md" @@ -23,14 +23,14 @@ keywords = ["near", "smart contract", "plugin"] [workspace.dependencies] bitflags = "1.3" -near-sdk = "5.1.0" +near-sdk = "5.2" near-plugins = { path = "near-plugins" } near-plugins-derive = { path = "near-plugins-derive" } serde = "1" anyhow = "1.0" tokio = { version = "1", features = ["full"] } -near-workspaces = "0.10" -toml = "0.5" +near-workspaces = "0.11" +toml = "0.8" darling = "0.13.1" proc-macro2 = "1.0" quote = "1.0.9" diff --git a/near-plugins-derive/src/access_controllable.rs b/near-plugins-derive/src/access_controllable.rs index c68d7044..0569250f 100644 --- a/near-plugins-derive/src/access_controllable.rs +++ b/near-plugins-derive/src/access_controllable.rs @@ -1,12 +1,12 @@ -use crate::access_control_role::new_bitflags_type_ident; -use crate::utils; -use crate::utils::{cratename, is_near_bindgen_wrapped_or_marshall}; use darling::FromMeta; use proc_macro::TokenStream; use proc_macro2::Span; use quote::quote; use syn::{parse_macro_input, AttributeArgs, ItemFn, ItemStruct}; +use crate::access_control_role::new_bitflags_type_ident; +use crate::utils::{self, cratename, is_near_bindgen_wrapped_or_marshall}; + /// Defines attributes for the `access_controllable` macro. #[derive(Debug, FromMeta)] pub struct MacroArgs { diff --git a/near-plugins-derive/tests/common/repo.rs b/near-plugins-derive/tests/common/repo.rs index d8f607df..2f52b940 100644 --- a/near-plugins-derive/tests/common/repo.rs +++ b/near-plugins-derive/tests/common/repo.rs @@ -2,8 +2,8 @@ use std::path::{Path, PathBuf}; use std::process::Output; async fn read_toolchain(project_path: &Path) -> anyhow::Result { - let bytes = tokio::fs::read(project_path.join("rust-toolchain")).await?; - let value: toml::Value = toml::from_slice(&bytes)?; + let content = tokio::fs::read_to_string(project_path.join("rust-toolchain")).await?; + let value: toml::Value = toml::from_str(&content)?; let result = value .as_table() .and_then(|t| t.get("toolchain")) diff --git a/near-plugins-derive/tests/contracts/access_controllable/Cargo.toml b/near-plugins-derive/tests/contracts/access_controllable/Cargo.toml index 9719bdba..ac575511 100644 --- a/near-plugins-derive/tests/contracts/access_controllable/Cargo.toml +++ b/near-plugins-derive/tests/contracts/access_controllable/Cargo.toml @@ -8,7 +8,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] near-plugins = { path = "../../../../near-plugins" } -near-sdk = "5.1" +near-sdk = "5.2" [profile.release] codegen-units = 1 diff --git a/near-plugins-derive/tests/contracts/access_controllable/rust-toolchain b/near-plugins-derive/tests/contracts/access_controllable/rust-toolchain index e2ff79e3..f8c05744 100644 --- a/near-plugins-derive/tests/contracts/access_controllable/rust-toolchain +++ b/near-plugins-derive/tests/contracts/access_controllable/rust-toolchain @@ -1,4 +1,4 @@ [toolchain] -channel = "1.74.0" +channel = "1.76.0" components = ["clippy", "rustfmt"] targets = [ "wasm32-unknown-unknown" ] diff --git a/near-plugins-derive/tests/contracts/ownable/Cargo.toml b/near-plugins-derive/tests/contracts/ownable/Cargo.toml index 8de65953..deb2cce0 100644 --- a/near-plugins-derive/tests/contracts/ownable/Cargo.toml +++ b/near-plugins-derive/tests/contracts/ownable/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "ownable" version = "0.0.0" -edition = "2018" +edition = "2021" [lib] crate-type = ["cdylib", "rlib"] [dependencies] near-plugins = { path = "../../../../near-plugins" } -near-sdk = "5.1.0" +near-sdk = "5.2" [profile.release] codegen-units = 1 diff --git a/near-plugins-derive/tests/contracts/ownable/rust-toolchain b/near-plugins-derive/tests/contracts/ownable/rust-toolchain index e2ff79e3..f8c05744 100644 --- a/near-plugins-derive/tests/contracts/ownable/rust-toolchain +++ b/near-plugins-derive/tests/contracts/ownable/rust-toolchain @@ -1,4 +1,4 @@ [toolchain] -channel = "1.74.0" +channel = "1.76.0" components = ["clippy", "rustfmt"] targets = [ "wasm32-unknown-unknown" ] diff --git a/near-plugins-derive/tests/contracts/pausable/Cargo.toml b/near-plugins-derive/tests/contracts/pausable/Cargo.toml index 7e546764..3b417edf 100644 --- a/near-plugins-derive/tests/contracts/pausable/Cargo.toml +++ b/near-plugins-derive/tests/contracts/pausable/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "pausable" version = "0.0.0" -edition = "2018" +edition = "2021" [lib] crate-type = ["cdylib", "rlib"] [dependencies] near-plugins = { path = "../../../../near-plugins" } -near-sdk = "5.1.0" +near-sdk = "5.2" [profile.release] codegen-units = 1 diff --git a/near-plugins-derive/tests/contracts/pausable/rust-toolchain b/near-plugins-derive/tests/contracts/pausable/rust-toolchain index e2ff79e3..f8c05744 100644 --- a/near-plugins-derive/tests/contracts/pausable/rust-toolchain +++ b/near-plugins-derive/tests/contracts/pausable/rust-toolchain @@ -1,4 +1,4 @@ [toolchain] -channel = "1.74.0" +channel = "1.76.0" components = ["clippy", "rustfmt"] targets = [ "wasm32-unknown-unknown" ] diff --git a/near-plugins-derive/tests/contracts/upgradable/Cargo.toml b/near-plugins-derive/tests/contracts/upgradable/Cargo.toml index ebfc9b69..39b051dc 100644 --- a/near-plugins-derive/tests/contracts/upgradable/Cargo.toml +++ b/near-plugins-derive/tests/contracts/upgradable/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "upgradable" version = "0.0.0" -edition = "2018" +edition = "2021" [lib] crate-type = ["cdylib", "rlib"] [dependencies] near-plugins = { path = "../../../../near-plugins" } -near-sdk = "5.1.0" +near-sdk = "5.2" [profile.release] codegen-units = 1 diff --git a/near-plugins-derive/tests/contracts/upgradable/rust-toolchain b/near-plugins-derive/tests/contracts/upgradable/rust-toolchain index e2ff79e3..f8c05744 100644 --- a/near-plugins-derive/tests/contracts/upgradable/rust-toolchain +++ b/near-plugins-derive/tests/contracts/upgradable/rust-toolchain @@ -1,4 +1,4 @@ [toolchain] -channel = "1.74.0" +channel = "1.76.0" components = ["clippy", "rustfmt"] targets = [ "wasm32-unknown-unknown" ] diff --git a/near-plugins-derive/tests/contracts/upgradable_2/Cargo.toml b/near-plugins-derive/tests/contracts/upgradable_2/Cargo.toml index 5bf4ae8f..d35a907a 100644 --- a/near-plugins-derive/tests/contracts/upgradable_2/Cargo.toml +++ b/near-plugins-derive/tests/contracts/upgradable_2/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "upgradable_2" version = "0.0.0" -edition = "2018" +edition = "2021" [lib] crate-type = ["cdylib", "rlib"] [dependencies] near-plugins = { path = "../../../../near-plugins" } -near-sdk = "5.1.0" +near-sdk = "5.2" [profile.release] codegen-units = 1 diff --git a/near-plugins-derive/tests/contracts/upgradable_2/rust-toolchain b/near-plugins-derive/tests/contracts/upgradable_2/rust-toolchain index e2ff79e3..f8c05744 100644 --- a/near-plugins-derive/tests/contracts/upgradable_2/rust-toolchain +++ b/near-plugins-derive/tests/contracts/upgradable_2/rust-toolchain @@ -1,4 +1,4 @@ [toolchain] -channel = "1.74.0" +channel = "1.76.0" components = ["clippy", "rustfmt"] targets = [ "wasm32-unknown-unknown" ] diff --git a/near-plugins-derive/tests/contracts/upgradable_state_migration/Cargo.toml b/near-plugins-derive/tests/contracts/upgradable_state_migration/Cargo.toml index 0deed5e1..0fd04d90 100644 --- a/near-plugins-derive/tests/contracts/upgradable_state_migration/Cargo.toml +++ b/near-plugins-derive/tests/contracts/upgradable_state_migration/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "upgradable_state_migration" version = "0.0.0" -edition = "2018" +edition = "2021" [lib] crate-type = ["cdylib", "rlib"] [dependencies] near-plugins = { path = "../../../../near-plugins" } -near-sdk = "5.1.0" +near-sdk = "5.2" [profile.release] codegen-units = 1 diff --git a/near-plugins-derive/tests/contracts/upgradable_state_migration/rust-toolchain b/near-plugins-derive/tests/contracts/upgradable_state_migration/rust-toolchain index e2ff79e3..f8c05744 100644 --- a/near-plugins-derive/tests/contracts/upgradable_state_migration/rust-toolchain +++ b/near-plugins-derive/tests/contracts/upgradable_state_migration/rust-toolchain @@ -1,4 +1,4 @@ [toolchain] -channel = "1.74.0" +channel = "1.76.0" components = ["clippy", "rustfmt"] targets = [ "wasm32-unknown-unknown" ] diff --git a/near-plugins/src/events.rs b/near-plugins/src/events.rs index 6905334a..39ceac08 100644 --- a/near-plugins/src/events.rs +++ b/near-plugins/src/events.rs @@ -33,7 +33,7 @@ pub trait AsEvent { /// Emits the event on chain. fn emit(&self) { - near_sdk::log!(self.event()); + near_sdk::log!("{}", self.event()); } } From 0a53247cbcaf7025c130844e64d9c48167a94551 Mon Sep 17 00:00:00 2001 From: Oleksandr Anyshchenko Date: Thu, 11 Jul 2024 18:44:06 +0100 Subject: [PATCH 2/3] chore: fix tests --- near-plugins-derive/tests/upgradable.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/near-plugins-derive/tests/upgradable.rs b/near-plugins-derive/tests/upgradable.rs index 24015726..101ec48d 100644 --- a/near-plugins-derive/tests/upgradable.rs +++ b/near-plugins-derive/tests/upgradable.rs @@ -509,7 +509,7 @@ async fn test_deploy_code_with_migration() -> anyhow::Result<()> { function_name: "migrate".to_string(), arguments: Vec::new(), amount: NearToken::from_yoctonear(0), - gas: Gas::from_tgas(1), + gas: Gas::from_tgas(3), }; let res = setup .upgradable_contract @@ -552,7 +552,7 @@ async fn test_deploy_code_with_migration_failure_rollback() -> anyhow::Result<() function_name: "migrate_with_failure".to_string(), arguments: Vec::new(), amount: NearToken::from_yoctonear(0), - gas: Gas::from_tgas(1), + gas: Gas::from_tgas(2), }; let res = setup .upgradable_contract @@ -600,7 +600,7 @@ async fn test_deploy_code_in_batch_transaction_pitfall() -> anyhow::Result<()> { function_name: "migrate_with_failure".to_string(), arguments: Vec::new(), amount: NearToken::from_yoctonear(0), - gas: Gas::from_tgas(1), + gas: Gas::from_tgas(2), } })) .gas(Gas::from_tgas(201)); let fn_call_remove_code = near_workspaces::operations::Function::new("up_stage_code") From abba4e07594eac580d35894681aee44c7106e8cb Mon Sep 17 00:00:00 2001 From: Oleksandr Anyshchenko Date: Fri, 12 Jul 2024 11:57:13 +0100 Subject: [PATCH 3/3] chore: improve ci test script --- .github/workflows/test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9c7bc9f2..12545dec 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install toolchain uses: actions-rs/toolchain@v1 @@ -27,7 +27,7 @@ jobs: - uses: Swatinem/rust-cache@v1 with: - key: rust-version-1.76.0-msrv-2 + key: rust-version-${{ env.MSRV }}-msrv-2 - name: add wasm32-unknown-unknown run: rustup target add wasm32-unknown-unknown @@ -40,7 +40,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install toolchain uses: actions-rs/toolchain@v1 @@ -51,7 +51,7 @@ jobs: - uses: Swatinem/rust-cache@v1 with: - key: rust-version-1.76.0-msrv-2 + key: rust-version-${{ env.MSRV }}-msrv-2 - name: cargo fmt run: cargo fmt --all -- --check