From 013bc8364707e0e3067e170a849dd822432c060f Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Wed, 13 Sep 2023 16:48:26 +0100 Subject: [PATCH 1/4] Add precommit --- .github/workflows/pre-commit.yml | 22 +++++++ .github/workflows/prettier.yml | 26 -------- .github/workflows/rustfmt.yml | 22 ------- .pre-commit-config.yaml | 24 +++++++ .prettierignore | 3 + rustfmt.toml | 19 ++++++ staking/.husky/pre-commit | 2 - staking/package.json | 13 +--- staking/programs/staking/src/context.rs | 18 ++--- staking/programs/staking/src/lib.rs | 62 +++++++++-------- .../staking/src/state/global_config.rs | 12 ++-- .../src/state/max_voter_weight_record.rs | 16 +++-- .../programs/staking/src/state/positions.rs | 66 +++++++++++-------- .../staking/src/state/stake_account.rs | 21 +++--- staking/programs/staking/src/state/target.rs | 12 ++-- staking/programs/staking/src/state/vesting.rs | 26 +++++--- .../staking/src/state/voter_weight_record.rs | 16 +++-- staking/programs/staking/src/utils/clock.rs | 16 +++-- staking/programs/staking/src/utils/risk.rs | 56 +++++++++------- .../staking/src/utils/voter_weight.rs | 36 ++++++---- staking/programs/staking/src/wasm.rs | 50 +++++++------- 21 files changed, 312 insertions(+), 226 deletions(-) create mode 100644 .github/workflows/pre-commit.yml delete mode 100644 .github/workflows/prettier.yml delete mode 100644 .github/workflows/rustfmt.yml create mode 100644 .pre-commit-config.yaml create mode 100644 .prettierignore create mode 100644 rustfmt.toml delete mode 100755 staking/.husky/pre-commit diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml new file mode 100644 index 00000000..3b275a43 --- /dev/null +++ b/.github/workflows/pre-commit.yml @@ -0,0 +1,22 @@ +name: Pre-commit checks + +on: + pull_request: + push: + branches: [main] + +jobs: + pre-commit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + # Need to grab the history of the PR + fetch-depth: 0 + - uses: pre-commit/action@v3.0.0 + if: ${{ github.event_name == 'pull_request' }} + with: + # Run only on files changed in the PR + extra_args: --from-ref ${{ github.event.pull_request.base.sha }} --to-ref ${{ github.event.pull_request.head.sha }} + - uses: pre-commit/action@v3.0.0 + if: ${{ github.event_name != 'pull_request' }} diff --git a/.github/workflows/prettier.yml b/.github/workflows/prettier.yml deleted file mode 100644 index 7db5e5af..00000000 --- a/.github/workflows/prettier.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Prettier - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Setup Node.js - uses: actions/setup-node@v2 - with: - node-version: '16.13' - - name: Npm install - working-directory: ./staking - run: npm install - - name : Run prettier check - working-directory: ./staking - run: npx prettier -c app/**/*.ts tests/**/*.ts - - diff --git a/.github/workflows/rustfmt.yml b/.github/workflows/rustfmt.yml deleted file mode 100644 index 8e5572bc..00000000 --- a/.github/workflows/rustfmt.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Rustfmt - -on: - push: - branches: [main] - pull_request: - branches: [main] - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly - components: rustfmt - - name: Run rustfmt check - working-directory: ./staking - run: cargo +nightly fmt --check diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..33dce03b --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,24 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.2.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-added-large-files + exclude: package-lock.json + # Hook to format many type of files in the repo + - repo: https://github.com/pre-commit/mirrors-prettier + rev: "v2.7.1" + hooks: + - id: prettier + additional_dependencies: + - "prettier@2.8.8" + - repo: local + hooks: + # Hooks for the staking program + - id: cargo-fmt-staking + name: Cargo format for staking + language: "rust" + entry: cargo +nightly-2023-03-01 fmt --manifest-path ./staking/Cargo.toml --all -- --config-path rustfmt.toml + pass_filenames: false + files: staking diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..0ca5766f --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +frontend/.next +frontend/out +staking/target diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 00000000..793e0a9f --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,19 @@ +edition = "2021" + +# Merge all imports into a clean vertical list of module imports. +imports_granularity = "One" +group_imports = "One" +imports_layout = "Vertical" + +# Better grep-ability. +empty_item_single_line = false + +# Consistent pipe layout. +match_arm_leading_pipes = "Preserve" + +# Align Fields +enum_discrim_align_threshold = 80 +struct_field_align_threshold = 80 + +# Allow up to two blank lines for visual grouping. +blank_lines_upper_bound = 2 diff --git a/staking/.husky/pre-commit b/staking/.husky/pre-commit deleted file mode 100755 index 16cd9dd2..00000000 --- a/staking/.husky/pre-commit +++ /dev/null @@ -1,2 +0,0 @@ -cd staking/ -npx lint-staged diff --git a/staking/package.json b/staking/package.json index a0b25c39..64c934fd 100644 --- a/staking/package.json +++ b/staking/package.json @@ -23,8 +23,6 @@ "@types/node": "^17.0.34", "@types/shelljs": "^0.8.11", "chai": "^4.3.4", - "husky": "^7.0.4", - "lint-staged": "^12.3.7", "mocha": "^9.2.2", "prettier": "^2.6.2", "shelljs": "^0.8.5", @@ -35,17 +33,8 @@ "test": "npm run build_wasm && anchor build -- --features mock-clock && npm run dump_governance && ts-mocha --parallel -p ./tsconfig.json -t 1000000 tests/*.ts", "build": "npm run build_wasm && tsc -p tsconfig.api.json", "build_wasm": "./scripts/build_wasm.sh", - "localnet" : "anchor build && npm run dump_governance && ts-node ./app/scripts/localnet.ts", + "localnet": "anchor build && npm run dump_governance && ts-node ./app/scripts/localnet.ts", "dump_governance": "./clone_programs.sh", "prepare": "cd .. && husky install staking/.husky" - - }, - "lint-staged": { - "{app,tests}/**/*.ts": [ - "prettier --w" - ], - "programs/staking/**/*.rs": [ - "rustfmt +nightly" - ] } } diff --git a/staking/programs/staking/src/context.rs b/staking/programs/staking/src/context.rs index df32e986..cb6d824b 100644 --- a/staking/programs/staking/src/context.rs +++ b/staking/programs/staking/src/context.rs @@ -1,12 +1,14 @@ -use crate::state::*; -use anchor_lang::prelude::*; -use anchor_spl::token::{ - Mint, - Token, - TokenAccount, - Transfer, +use { + crate::state::*, + anchor_lang::prelude::*, + anchor_spl::token::{ + Mint, + Token, + TokenAccount, + Transfer, + }, + std::iter::Iterator, }; -use std::iter::Iterator; pub const AUTHORITY_SEED: &str = "authority"; pub const CUSTODY_SEED: &str = "custody"; diff --git a/staking/programs/staking/src/lib.rs b/staking/programs/staking/src/lib.rs index 44cca29c..0127341e 100644 --- a/staking/programs/staking/src/lib.rs +++ b/staking/programs/staking/src/lib.rs @@ -5,33 +5,43 @@ // Objects of type Result must be used, otherwise we might // call a function that returns a Result and not handle the error -use crate::error::ErrorCode; -use anchor_lang::prelude::*; -use anchor_lang::solana_program::pubkey; -use anchor_spl::token::transfer; -use context::*; -use spl_governance::state::governance::get_governance_data_for_realm; -use spl_governance::state::proposal::{ - get_proposal_data, - ProposalV2, +use { + crate::error::ErrorCode, + anchor_lang::{ + prelude::*, + solana_program::pubkey, + }, + anchor_spl::token::transfer, + context::*, + spl_governance::state::{ + governance::get_governance_data_for_realm, + proposal::{ + get_proposal_data, + ProposalV2, + }, + }, + state::{ + global_config::GlobalConfig, + max_voter_weight_record::MAX_VOTER_WEIGHT, + positions::{ + Position, + PositionData, + PositionState, + Target, + TargetWithParameters, + }, + vesting::VestingSchedule, + voter_weight_record::VoterWeightAction, + }, + std::convert::TryInto, + utils::{ + clock::{ + get_current_epoch, + time_to_epoch, + }, + voter_weight::compute_voter_weight, + }, }; -use state::global_config::GlobalConfig; -use state::max_voter_weight_record::MAX_VOTER_WEIGHT; -use state::positions::{ - Position, - PositionData, - PositionState, - Target, - TargetWithParameters, -}; -use state::vesting::VestingSchedule; -use state::voter_weight_record::VoterWeightAction; -use std::convert::TryInto; -use utils::clock::{ - get_current_epoch, - time_to_epoch, -}; -use utils::voter_weight::compute_voter_weight; mod constants; mod context; diff --git a/staking/programs/staking/src/state/global_config.rs b/staking/programs/staking/src/state/global_config.rs index 8bcc183d..bcf6d463 100644 --- a/staking/programs/staking/src/state/global_config.rs +++ b/staking/programs/staking/src/state/global_config.rs @@ -1,5 +1,7 @@ -use crate::error::ErrorCode; -use anchor_lang::prelude::*; +use { + crate::error::ErrorCode, + anchor_lang::prelude::*, +}; pub const GLOBAL_CONFIG_SIZE: usize = 10240; @@ -37,8 +39,10 @@ impl GlobalConfig { #[cfg(test)] pub mod tests { - use crate::state::global_config::GlobalConfig; - use anchor_lang::prelude::*; + use { + crate::state::global_config::GlobalConfig, + anchor_lang::prelude::*, + }; #[test] fn test_unfrozen() { diff --git a/staking/programs/staking/src/state/max_voter_weight_record.rs b/staking/programs/staking/src/state/max_voter_weight_record.rs index 457c821b..9fbf89d0 100644 --- a/staking/programs/staking/src/state/max_voter_weight_record.rs +++ b/staking/programs/staking/src/state/max_voter_weight_record.rs @@ -1,5 +1,7 @@ -use anchor_lang::prelude::borsh::BorshSchema; -use anchor_lang::prelude::*; +use anchor_lang::prelude::{ + borsh::BorshSchema, + *, +}; pub const MAX_VOTER_WEIGHT_RECORD_SIZE: usize = 8 + 32 + 32 + 8 + 9 + 8; @@ -36,11 +38,13 @@ pub struct MaxVoterWeightRecord { #[cfg(test)] pub mod tests { - use crate::state::max_voter_weight_record::{ - MaxVoterWeightRecord, - MAX_VOTER_WEIGHT_RECORD_SIZE, + use { + crate::state::max_voter_weight_record::{ + MaxVoterWeightRecord, + MAX_VOTER_WEIGHT_RECORD_SIZE, + }, + anchor_lang::Discriminator, }; - use anchor_lang::Discriminator; #[test] fn check_size() { diff --git a/staking/programs/staking/src/state/positions.rs b/staking/programs/staking/src/state/positions.rs index a098b778..712d9723 100644 --- a/staking/programs/staking/src/state/positions.rs +++ b/staking/programs/staking/src/state/positions.rs @@ -1,11 +1,19 @@ -use crate::error::ErrorCode; -use anchor_lang::prelude::borsh::BorshSchema; -use anchor_lang::prelude::*; -use anchor_lang::solana_program::borsh::try_from_slice_unchecked; -use anchor_lang::solana_program::wasm_bindgen; -use std::fmt::{ - self, - Debug, +use { + crate::error::ErrorCode, + anchor_lang::{ + prelude::{ + borsh::BorshSchema, + *, + }, + solana_program::{ + borsh::try_from_slice_unchecked, + wasm_bindgen, + }, + }, + std::fmt::{ + self, + Debug, + }, }; pub const MAX_POSITIONS: usize = 100; @@ -212,26 +220,30 @@ impl std::fmt::Display for PositionState { #[cfg(test)] pub mod tests { - use crate::state::positions::{ - Position, - PositionData, - PositionState, - Publisher, - TargetWithParameters, - TryBorsh, - MAX_POSITIONS, - POSITIONS_ACCOUNT_SIZE, - POSITION_BUFFER_SIZE, - }; - use anchor_lang::prelude::*; - use anchor_lang::solana_program::borsh::get_packed_len; - use quickcheck::{ - Arbitrary, - Gen, + use { + crate::state::positions::{ + Position, + PositionData, + PositionState, + Publisher, + TargetWithParameters, + TryBorsh, + MAX_POSITIONS, + POSITIONS_ACCOUNT_SIZE, + POSITION_BUFFER_SIZE, + }, + anchor_lang::{ + prelude::*, + solana_program::borsh::get_packed_len, + }, + quickcheck::{ + Arbitrary, + Gen, + }, + quickcheck_macros::quickcheck, + rand::Rng, + std::collections::HashSet, }; - use quickcheck_macros::quickcheck; - use rand::Rng; - use std::collections::HashSet; #[test] fn lifecycle_lock_unlock() { let p = Position { diff --git a/staking/programs/staking/src/state/stake_account.rs b/staking/programs/staking/src/state/stake_account.rs index 36c8b95f..a9502c78 100644 --- a/staking/programs/staking/src/state/stake_account.rs +++ b/staking/programs/staking/src/state/stake_account.rs @@ -1,6 +1,10 @@ -use crate::state::vesting::VestingSchedule; -use anchor_lang::prelude::borsh::BorshSchema; -use anchor_lang::prelude::*; +use { + crate::state::vesting::VestingSchedule, + anchor_lang::prelude::{ + borsh::BorshSchema, + *, + }, +}; /// This is the metadata account for each staker /// It is derived from the positions account with seeds "stake_metadata" and the positions account @@ -22,13 +26,14 @@ pub struct StakeAccountMetadataV2 { #[cfg(test)] pub mod tests { - use crate::state::stake_account::{ - StakeAccountMetadataV2, - STAKE_ACCOUNT_METADATA_SIZE, + use { + crate::state::stake_account::{ + StakeAccountMetadataV2, + STAKE_ACCOUNT_METADATA_SIZE, + }, + anchor_lang::Discriminator, }; - use anchor_lang::Discriminator; - #[test] fn check_size() { assert!( diff --git a/staking/programs/staking/src/state/target.rs b/staking/programs/staking/src/state/target.rs index ddaf60bb..c13907ad 100644 --- a/staking/programs/staking/src/state/target.rs +++ b/staking/programs/staking/src/state/target.rs @@ -1,7 +1,11 @@ -use crate::error::ErrorCode; -use anchor_lang::prelude::borsh::BorshSchema; -use anchor_lang::prelude::*; -use std::convert::TryInto; +use { + crate::error::ErrorCode, + anchor_lang::prelude::{ + borsh::BorshSchema, + *, + }, + std::convert::TryInto, +}; pub const TARGET_METADATA_SIZE: usize = 10240; diff --git a/staking/programs/staking/src/state/vesting.rs b/staking/programs/staking/src/state/vesting.rs index 25181ded..06349e68 100644 --- a/staking/programs/staking/src/state/vesting.rs +++ b/staking/programs/staking/src/state/vesting.rs @@ -1,10 +1,16 @@ #![allow(clippy::unused_unit)] -use crate::error::ErrorCode; -use anchor_lang::prelude::borsh::BorshSchema; -use anchor_lang::prelude::*; -use anchor_lang::solana_program::wasm_bindgen; -use std::convert::TryInto; +use { + crate::error::ErrorCode, + anchor_lang::{ + prelude::{ + borsh::BorshSchema, + *, + }, + solana_program::wasm_bindgen, + }, + std::convert::TryInto, +}; // We would like to say: // type UnixTimestamp = i64; @@ -233,11 +239,13 @@ impl VestingSchedule { #[cfg(test)] pub mod tests { - use crate::state::vesting::{ - VestingEvent, - VestingSchedule, + use { + crate::state::vesting::{ + VestingEvent, + VestingSchedule, + }, + std::convert::TryInto, }; - use std::convert::TryInto; #[test] fn test_novesting() { diff --git a/staking/programs/staking/src/state/voter_weight_record.rs b/staking/programs/staking/src/state/voter_weight_record.rs index 2c65c0f0..3e4b6639 100644 --- a/staking/programs/staking/src/state/voter_weight_record.rs +++ b/staking/programs/staking/src/state/voter_weight_record.rs @@ -1,5 +1,7 @@ -use anchor_lang::prelude::borsh::BorshSchema; -use anchor_lang::prelude::*; +use anchor_lang::prelude::{ + borsh::BorshSchema, + *, +}; pub const VOTER_WEIGHT_RECORD_SIZE: usize = 8 + 32 + 32 + 32 + 8 + 9 + 2 + 33 + 8; @@ -81,11 +83,13 @@ pub enum VoterWeightAction { #[cfg(test)] pub mod tests { - use crate::state::voter_weight_record::{ - VoterWeightRecord, - VOTER_WEIGHT_RECORD_SIZE, + use { + crate::state::voter_weight_record::{ + VoterWeightRecord, + VOTER_WEIGHT_RECORD_SIZE, + }, + anchor_lang::Discriminator, }; - use anchor_lang::Discriminator; #[test] fn check_size() { diff --git a/staking/programs/staking/src/utils/clock.rs b/staking/programs/staking/src/utils/clock.rs index 90bcc9a8..ad242cc1 100644 --- a/staking/programs/staking/src/utils/clock.rs +++ b/staking/programs/staking/src/utils/clock.rs @@ -1,8 +1,14 @@ -use crate::error::ErrorCode; -use crate::state::global_config::GlobalConfig; -use anchor_lang::prelude::*; -use anchor_lang::solana_program::clock::UnixTimestamp; -use std::convert::TryInto; +use { + crate::{ + error::ErrorCode, + state::global_config::GlobalConfig, + }, + anchor_lang::{ + prelude::*, + solana_program::clock::UnixTimestamp, + }, + std::convert::TryInto, +}; /// Computes Pyth clock. /// Right now it's just the current Unix timestamp divided by the epoch length diff --git a/staking/programs/staking/src/utils/risk.rs b/staking/programs/staking/src/utils/risk.rs index 0247dceb..0a0e9466 100644 --- a/staking/programs/staking/src/utils/risk.rs +++ b/staking/programs/staking/src/utils/risk.rs @@ -1,18 +1,23 @@ -use anchor_lang::prelude::*; -use std::cmp; -use std::collections::BTreeMap; - -use crate::state::positions::{ - PositionData, - PositionState, - Target, - MAX_POSITIONS, -}; -use crate::ErrorCode::{ - RiskLimitExceeded, - TokensNotYetVested, - TooMuchExposureToGovernance, - TooMuchExposureToProduct, +use { + crate::{ + state::positions::{ + PositionData, + PositionState, + Target, + MAX_POSITIONS, + }, + ErrorCode::{ + RiskLimitExceeded, + TokensNotYetVested, + TooMuchExposureToGovernance, + TooMuchExposureToProduct, + }, + }, + anchor_lang::prelude::*, + std::{ + cmp, + collections::BTreeMap, + }, }; @@ -121,16 +126,19 @@ pub fn validate( #[cfg(test)] pub mod tests { - use anchor_lang::prelude::Pubkey; - - use crate::state::positions::{ - Position, - PositionData, - PositionState, - Publisher, - TargetWithParameters, + use { + crate::{ + state::positions::{ + Position, + PositionData, + PositionState, + Publisher, + TargetWithParameters, + }, + utils::risk::validate, + }, + anchor_lang::prelude::Pubkey, }; - use crate::utils::risk::validate; #[test] diff --git a/staking/programs/staking/src/utils/voter_weight.rs b/staking/programs/staking/src/utils/voter_weight.rs index 042ccf7a..3479ee95 100644 --- a/staking/programs/staking/src/utils/voter_weight.rs +++ b/staking/programs/staking/src/utils/voter_weight.rs @@ -1,11 +1,15 @@ -use crate::error::ErrorCode; -use crate::state::positions::{ - PositionData, - PositionState, - MAX_POSITIONS, +use { + crate::{ + error::ErrorCode, + state::positions::{ + PositionData, + PositionState, + MAX_POSITIONS, + }, + }, + anchor_lang::prelude::*, + std::convert::TryInto, }; -use anchor_lang::prelude::*; -use std::convert::TryInto; pub fn compute_voter_weight( stake_account_positions: &PositionData, @@ -39,14 +43,18 @@ pub fn compute_voter_weight( #[cfg(test)] pub mod tests { - use crate::state::positions::{ - Position, - PositionData, - Publisher, - TargetWithParameters, + use { + crate::{ + state::positions::{ + Position, + PositionData, + Publisher, + TargetWithParameters, + }, + utils::voter_weight::compute_voter_weight, + }, + anchor_lang::prelude::Pubkey, }; - use crate::utils::voter_weight::compute_voter_weight; - use anchor_lang::prelude::Pubkey; #[test] diff --git a/staking/programs/staking/src/wasm.rs b/staking/programs/staking/src/wasm.rs index 20da6429..1f23e0a8 100644 --- a/staking/programs/staking/src/wasm.rs +++ b/staking/programs/staking/src/wasm.rs @@ -1,28 +1,32 @@ #![allow(non_snake_case)] -use crate::error::ErrorCode; -use crate::state::max_voter_weight_record::MAX_VOTER_WEIGHT; -use crate::state::positions::{ - PositionData, - PositionState, - MAX_POSITIONS, - POSITIONS_ACCOUNT_SIZE, +use { + crate::{ + error::ErrorCode, + state::{ + max_voter_weight_record::MAX_VOTER_WEIGHT, + positions::{ + PositionData, + PositionState, + MAX_POSITIONS, + POSITIONS_ACCOUNT_SIZE, + }, + target::TargetMetadata, + vesting::VestingEvent, + }, + VestingSchedule, + GOVERNANCE_PROGRAM, + }, + anchor_lang::{ + prelude::{ + error, + Clock, + Error, + }, + AccountDeserialize, + AnchorDeserialize, + }, + wasm_bindgen::prelude::*, }; -use crate::state::target::TargetMetadata; -use crate::state::vesting::VestingEvent; -use crate::{ - VestingSchedule, - GOVERNANCE_PROGRAM, -}; -use anchor_lang::prelude::{ - error, - Clock, - Error, -}; -use anchor_lang::{ - AccountDeserialize, - AnchorDeserialize, -}; -use wasm_bindgen::prelude::*; #[wasm_bindgen] pub struct WasmPositionData { From 1f5fca2479a4c31177ed65877f712e753214a1f3 Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Wed, 13 Sep 2023 16:50:41 +0100 Subject: [PATCH 2/4] Remove husky --- staking/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/staking/package.json b/staking/package.json index 64c934fd..90ebe435 100644 --- a/staking/package.json +++ b/staking/package.json @@ -34,7 +34,6 @@ "build": "npm run build_wasm && tsc -p tsconfig.api.json", "build_wasm": "./scripts/build_wasm.sh", "localnet": "anchor build && npm run dump_governance && ts-node ./app/scripts/localnet.ts", - "dump_governance": "./clone_programs.sh", - "prepare": "cd .. && husky install staking/.husky" + "dump_governance": "./clone_programs.sh" } } From 212465bac974b43ade4130a835034a555e6374e1 Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Wed, 13 Sep 2023 16:52:55 +0100 Subject: [PATCH 3/4] Add more to prettier ignore --- .prettierignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.prettierignore b/.prettierignore index 0ca5766f..cf2881ff 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,5 @@ frontend/.next frontend/out staking/target +staking/lib +wasm From bd5fe09f27ae56aa55b4616b8987858ed51860c0 Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Wed, 13 Sep 2023 16:55:15 +0100 Subject: [PATCH 4/4] Add rust to workflow --- .github/workflows/pre-commit.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 3b275a43..8bf57438 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -13,6 +13,11 @@ jobs: with: # Need to grab the history of the PR fetch-depth: 0 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: nightly-2023-03-01 + components: rustfmt, clippy - uses: pre-commit/action@v3.0.0 if: ${{ github.event_name == 'pull_request' }} with: