diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d97aa5dd2..f8d35d7a7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -20,3 +20,11 @@ jobs: cargo install zepter zepter --version time zepter run check + + # Check spelling across all files + typos: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + - uses: crate-ci/typos@v1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2010f196b..c10c700a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -516,7 +516,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Testing -- Fix flaky bincode compat rountrip test ([#453](https://github.com/alloy-rs/op-alloy/issues/453)) +- Fix flaky bincode compat roundtrip test ([#453](https://github.com/alloy-rs/op-alloy/issues/453)) ## [0.10.5](https://github.com/alloy-rs/op-alloy /releases/tag/v0.10.5) - 2025-02-19 @@ -540,7 +540,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Std leakage ([#432](https://github.com/alloy-rs/op-alloy/issues/432)) - [consensus] Ecotone Upgrade Txs ([#412](https://github.com/alloy-rs/op-alloy/issues/412)) -- [consensus] L1BlockInfo datas ([#408](https://github.com/alloy-rs/op-alloy/issues/408)) +- [consensus] L1BlockInfo data ([#408](https://github.com/alloy-rs/op-alloy/issues/408)) ### Features diff --git a/book/custom.css b/book/custom.css index 9c7d35a41..85ca91df8 100644 --- a/book/custom.css +++ b/book/custom.css @@ -44,7 +44,7 @@ table tbody tr:nth-child(2n) { --sidebar-bg: #383539; --sidebar-fg: #fecdb2; - --sidebar-non-existant: #feceb454; + --sidebar-non-existent: #feceb454; --sidebar-active: #ffa07a; --scrollbar: var(--sidebar-fg); diff --git a/typos.toml b/typos.toml new file mode 100644 index 000000000..f8165f95d --- /dev/null +++ b/typos.toml @@ -0,0 +1,89 @@ +[files] +extend-exclude = [ + ".git", + "target", + "Cargo.lock", + "book/mermaid*.js", # Minified JS files + "book/dist/", # Built documentation + "book/theme/", # Theme files may have intentional spellings + "*.min.js", # All minified JS files +] + +[default] +extend-ignore-re = [ + # Hex strings of various lengths (common in blockchain projects) + "(?i)0x[0-9a-f]{8,}", # 8+ hex chars with 0x prefix + "(?i)[0-9a-f]{32,}", # 32+ hex chars without 0x (hashes, addresses) + "(?i)[0-9a-f]{8,}", # 8+ hex chars without 0x (shorter hex values) + # Ordinals in identifiers + "[0-9]+nd", + "[0-9]+th", + "[0-9]+st", + "[0-9]+rd", + # Base64 encoded strings (common in tests and configs) + "[A-Za-z0-9+/]{20,}={0,2}", +] + +[default.extend-words] +# Valid Rust/Cargo terms +crate = "crate" +crates = "crates" + +# Blockchain/Ethereum specific terms +alloy = "alloy" +asterisc = "asterisc" # Valid project name in Optimism ecosystem +bedrock = "bedrock" # Optimism upgrade name +batcher = "batcher" # OP Stack component +bootnode = "bootnode" +chainid = "chainid" +codegen = "codegen" +derivation = "derivation" +enr = "enr" +ethereum = "ethereum" +fpvm = "fpvm" # Fault Proof Virtual Machine +geth = "geth" +interop = "interop" +libmdbx = "libmdbx" +merkle = "merkle" +mips = "mips" +mpsc = "mpsc" +optimism = "optimism" +preimage = "preimage" +revm = "revm" +risc = "risc" +rollup = "rollup" +rpc = "rpc" +sequencer = "sequencer" +ser = "ser" # Serialization abbreviation +serde = "serde" +superchain = "superchain" # Optimism Superchain +trie = "trie" +txs = "txs" # Transactions abbreviation +usize = "usize" +workspaces = "workspaces" + +# Technical abbreviations and acronyms +api = "api" +cli = "cli" +cfg = "cfg" +const = "const" +env = "env" +impl = "impl" +io = "io" +lru = "lru" +mpt = "mpt" # Merkle Patricia Trie +msg = "msg" +mut = "mut" +nums = "nums" +num = "num" +ok = "ok" +std = "std" +structs = "structs" +ty = "ty" # Type abbreviation +vec = "vec" + +# Additional project-specific terms that might be flagged as typos +jsonrpsee = "jsonrpsee" # JSON-RPC library +tokio = "tokio" +async = "async" +await = "await" \ No newline at end of file