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 # including solidity contracts. - repo: https://github.com/pre-commit/mirrors-prettier rev: "v2.7.1" hooks: - id: prettier additional_dependencies: - "prettier@2.7.1" - "prettier-plugin-solidity@1.0.0-rc.1" - repo: local hooks: # Hooks for the remote executor - id: cargo-fmt-remote-executor name: Cargo format for remote executor language: "rust" entry: cargo +nightly-2023-03-01 fmt --manifest-path ./governance/remote_executor/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false files: governance/remote_executor - id: cargo-clippy-remote-executor name: Cargo clippy for remote executor language: "rust" entry: cargo +nightly-2023-03-01 clippy --manifest-path ./governance/remote_executor/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings pass_filenames: false files: governance/remote_executor # Hooks for the attester - id: cargo-fmt-attester name: Cargo format for attester language: "rust" entry: cargo +nightly-2023-03-01 fmt --manifest-path ./wormhole_attester/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false files: wormhole_attester - id: cargo-clippy-attester name: Cargo clippy for attester language: "rust" entry: | bash -c 'EMITTER_ADDRESS=0 BRIDGE_ADDRESS=0 cargo +nightly-2023-03-01 clippy --manifest-path \ ./wormhole_attester/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings' pass_filenames: false files: wormhole_attester # Hooks for cosmwasm contract - id: cargo-fmt-cosmwasm name: Cargo format for cosmwasm contract language: "rust" entry: cargo +nightly-2023-03-01 fmt --manifest-path ./target_chains/cosmwasm/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false files: target_chains/cosmwasm - id: cargo-clippy-cosmwasm name: Cargo clippy for cosmwasm contract language: "rust" entry: cargo +nightly-2023-03-01 clippy --manifest-path ./target_chains/cosmwasm/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings pass_filenames: false files: target_chains/cosmwasm # Hooks for Hermes - id: cargo-fmt-hermes name: Cargo format for Pyth Hermes language: "rust" entry: cargo +nightly-2023-07-23 fmt --manifest-path ./hermes/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false files: hermes # Hooks for Fortuna - id: cargo-fmt-fortuna name: Cargo format for Fortuna language: "rust" entry: cargo +nightly-2023-07-23 fmt --manifest-path ./fortuna/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false files: fortuna # Hooks for message buffer contract - id: cargo-fmt-message-buffer name: Cargo format for message buffer contract language: "rust" entry: cargo +nightly-2023-03-01 fmt --manifest-path ./pythnet/message_buffer/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false files: pythnet/message_buffer - id: cargo-clippy-message-buffer name: Cargo clippy for message buffer contract language: "rust" entry: cargo +nightly-2023-03-01 clippy --manifest-path ./pythnet/message_buffer/Cargo.toml --tests --fix --allow-dirty --allow-staged --features test-bpf -- -D warnings pass_filenames: false files: pythnet/message_buffer # Hooks for pythnet_sdk - id: cargo-fmt-pythnet-sdk name: Cargo format for pythnet SDK language: "rust" entry: cargo +nightly-2023-07-23 fmt --manifest-path ./pythnet/pythnet_sdk/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false files: pythnet/pythnet_sdk - id: cargo-clippy-pythnet-sdk name: Cargo clippy for pythnet SDK language: "rust" entry: cargo +nightly-2023-07-23 clippy --manifest-path ./pythnet/pythnet_sdk/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings pass_filenames: false files: pythnet/pythnet_sdk # Hooks for solana receiver contract - id: cargo-fmt-pyth-solana-receiver name: Cargo format for solana target chain contract language: "rust" entry: cargo +nightly-2023-03-01 fmt --manifest-path ./target_chains/solana/Cargo.toml --all -- --config-path rustfmt.toml pass_filenames: false files: target_chains/solana - id: cargo-clippy-pyth-solana-receiver name: Cargo clippy for solana target chain contract language: "rust" entry: cargo +nightly-2023-03-01 clippy --manifest-path ./target_chains/solana/Cargo.toml --tests --fix --allow-dirty --allow-staged -- -D warnings pass_filenames: false files: target_chains/solana