Skip to content
This repository was archived by the owner on Jan 16, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/workflows/rust_ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,19 @@ jobs:
- name: doctest
run: just test-docs

typos:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: true
- name: Install typos
run: cargo install typos-cli
- name: Check spelling
run: typos

cargo-hack:
runs-on: ubuntu-latest
timeout-minutes: 40
Expand Down
6 changes: 3 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ All notable changes to this project will be documented in this file.
- *(node)* Build task + consolidate condition (#1804)
- *(ci)* Free disk space on kurtosis e2e tests (#1821)
- *(sources)* Stop sync start walkback at genesis (#1818)
- *(node/kurtosis-e2e-test)* Fixes the versionning for the e2e testing package (#1814)
- *(node/kurtosis-e2e-test)* Fixes the versioning for the e2e testing package (#1814)
- *(node/p2p)* Fix node id serialization and connectedness display (#1824)
- *(p2p/rpc)* Fix formatting for the `opp2p-peers` rpc method (#1827)
- *(node/async)* Fix cpu usage from future polling (#1848)
Expand Down Expand Up @@ -1293,7 +1293,7 @@ All notable changes to this project will be documented in this file.
- *(client)* Precompile Run Macro (#1014)
- *(ci)* Bump `codecov-action` to v5 (#1020)
- Use Updated Maili and op-alloy Deps (#1023)
- *(book)* Adherance to devdocs (#1026)
- *(book)* Adherence to devdocs (#1026)
- *(book)* Devdocs subdirectory (#1027)

## [kona-providers-alloy-v0.1.0] - 2025-01-26
Expand Down Expand Up @@ -1492,7 +1492,7 @@ All notable changes to this project will be documented in this file.

- *(client)* SyncStart Refactor (#797)
- Mdbook version (#810)
- *(mpt)* Remove unnused collapse (#808)
- *(mpt)* Remove unused collapse (#808)
- Imports (#829)

### 📚 Documentation
Expand Down
2 changes: 1 addition & 1 deletion crates/proof/mpt/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- *(mpt)* Remove unnused collapse ([#808](https://github.com/op-rs/kona/pull/808))
- *(mpt)* Remove unused collapse ([#808](https://github.com/op-rs/kona/pull/808))

### Other

Expand Down
4 changes: 2 additions & 2 deletions crates/proof/preimage/src/oracle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ where
C: Channel,
{
/// Create a new [OracleServer] from a [Channel].
pub const fn new(chanel: C) -> Self {
Self { channel: chanel }
pub const fn new(channel: C) -> Self {
Self { channel }
}
}

Expand Down
2 changes: 1 addition & 1 deletion crates/proof/proof/src/l1/chain_provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ impl<T: CommsClient + Sync + Send> ChainProvider for OracleL1ChainProvider<T> {
let transactions = trie_walker
.into_iter()
.map(|(_, rlp)| {
// note: not short-handed for error type coersion w/ `?`.
// note: not short-handed for error type coercion w/ `?`.
let rlp = TxEnvelope::decode_2718(&mut rlp.as_ref())?;
Ok(rlp)
})
Expand Down
2 changes: 1 addition & 1 deletion crates/protocol/protocol/src/batch/raw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ impl RawSpanBatch {
}

/// Converts a [`RawSpanBatch`] into a [`SpanBatch`], which has a list of [`SpanBatchElement`]s.
/// Thos function does not populate the [`SpanBatch`] with chain configuration data, which
/// This function does not populate the [`SpanBatch`] with chain configuration data, which
/// is required for making payload attributes.
pub fn derive(
&mut self,
Expand Down
2 changes: 1 addition & 1 deletion crates/protocol/protocol/src/batch/span.rs
Original file line number Diff line number Diff line change
Expand Up @@ -791,7 +791,7 @@ mod tests {
assert_eq!(batch.batches.len(), 1);
assert_eq!(batch.origin_bits.get_bit(0), Some(1));
assert_eq!(batch.block_tx_counts, vec![0]);
assert_eq!(batch.txs.tx_datas.len(), 0);
assert_eq!(batch.txs.tx_data.len(), 0);

// Add another empty single batch.
let singular_batch = SingleBatch {
Expand Down
26 changes: 13 additions & 13 deletions crates/protocol/protocol/src/batch/transactions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ pub struct SpanBatchTransactions {
/// The `to` addresses of the transactions.
pub tx_tos: Vec<Address>,
/// The transaction data.
pub tx_datas: Vec<Vec<u8>>,
pub tx_data: Vec<Vec<u8>>,
/// The protected bits, standard span-batch bitlist.
pub protected_bits: SpanBatchBits,
/// The types of the transactions.
Expand All @@ -42,7 +42,7 @@ impl SpanBatchTransactions {
self.encode_contract_creation_bits(w)?;
self.encode_tx_sigs(w)?;
self.encode_tx_tos(w)?;
self.encode_tx_datas(w)?;
self.encode_tx_data(w)?;
self.encode_tx_nonces(w)?;
self.encode_tx_gases(w)?;
self.encode_protected_bits(w)?;
Expand All @@ -54,7 +54,7 @@ impl SpanBatchTransactions {
self.decode_contract_creation_bits(r)?;
self.decode_tx_sigs(r)?;
self.decode_tx_tos(r)?;
self.decode_tx_datas(r)?;
self.decode_tx_data(r)?;
self.decode_tx_nonces(r)?;
self.decode_tx_gases(r)?;
self.decode_protected_bits(r)?;
Expand Down Expand Up @@ -120,8 +120,8 @@ impl SpanBatchTransactions {
}

/// Encode the transaction data into a writer.
pub fn encode_tx_datas(&self, w: &mut dyn bytes::BufMut) -> Result<(), SpanBatchError> {
for data in &self.tx_datas {
pub fn encode_tx_data(&self, w: &mut dyn bytes::BufMut) -> Result<(), SpanBatchError> {
for data in &self.tx_data {
w.put_slice(data);
}
Ok(())
Expand Down Expand Up @@ -202,22 +202,22 @@ impl SpanBatchTransactions {
}

/// Decode the transaction data from a reader.
pub fn decode_tx_datas(&mut self, r: &mut &[u8]) -> Result<(), SpanBatchError> {
let mut tx_datas = Vec::new();
pub fn decode_tx_data(&mut self, r: &mut &[u8]) -> Result<(), SpanBatchError> {
let mut tx_data = Vec::new();
let mut tx_types = Vec::new();

// Do not need the transaction data header because the RLP stream already includes the
// length information.
for _ in 0..self.total_block_tx_count {
let (tx_data, tx_type) = read_tx_data(r)?;
tx_datas.push(tx_data);
let (tx_data_item, tx_type) = read_tx_data(r)?;
tx_data.push(tx_data_item);
tx_types.push(tx_type);
if matches!(tx_type, TxType::Legacy) {
self.legacy_tx_count += 1;
}
}

self.tx_datas = tx_datas;
self.tx_data = tx_data;
self.tx_types = tx_types;

Ok(())
Expand All @@ -234,8 +234,8 @@ impl SpanBatchTransactions {
let mut to_idx = 0;
let mut protected_bit_idx = 0;
for idx in 0..self.total_block_tx_count {
let mut datas = self.tx_datas[idx as usize].as_slice();
let tx = SpanBatchTransactionData::decode(&mut datas)
let mut data = self.tx_data[idx as usize].as_slice();
let tx = SpanBatchTransactionData::decode(&mut data)
.map_err(|_| SpanBatchError::Decoding(SpanDecodingError::InvalidTransactionData))?;
let nonce = self
.tx_nonces
Expand Down Expand Up @@ -336,7 +336,7 @@ impl SpanBatchTransactions {
self.tx_sigs.push(*signature);
self.contract_creation_bits.set_bit((i + offset) as usize, contract_creation_bit == 1);
self.tx_nonces.push(nonce);
self.tx_datas.push(tx_data_buf);
self.tx_data.push(tx_data_buf);
self.tx_gases.push(gas);
self.tx_types.push(tx_type);
}
Expand Down
6 changes: 3 additions & 3 deletions crates/providers/providers-alloy/src/blobs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,11 @@ impl<B: BeaconClient> OnlineBlobProvider<B> {
// Fetch blob sidecars for the slot using the given blob hashes.
let sidecars = self.fetch_sidecars(slot, blob_hashes).await?;

// Filter blob sidecars that match the indicies in the specified list.
let blob_hash_indicies = blob_hashes.iter().map(|b| b.index).collect::<Vec<u64>>();
// Filter blob sidecars that match the indices in the specified list.
let blob_hash_indices = blob_hashes.iter().map(|b| b.index).collect::<Vec<u64>>();
let filtered = sidecars
.into_iter()
.filter(|s| blob_hash_indicies.contains(&s.index))
.filter(|s| blob_hash_indices.contains(&s.index))
.collect::<Vec<_>>();

// Validate the correct number of blob sidecars were retrieved.
Expand Down
6 changes: 5 additions & 1 deletion justfile
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ benches:
cargo bench --no-run --workspace --features test-utils --exclude example-gossip --exclude example-discovery

# Lint the workspace for all available targets
lint-all: lint-native lint-cannon lint-asterisc lint-docs
lint-all: lint-native lint-cannon lint-asterisc lint-docs lint-typos

# Check spelling with typos (`cargo install typos-cli`)
lint-typos:
typos

# Runs `cargo hack check` against the workspace
hack:
Expand Down
97 changes: 97 additions & 0 deletions typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
[files]
extend-exclude = [
".git",
"target",
"Cargo.lock",
"assets/",
"tests/",
"examples/",
"docs/dist/",
"crates/protocol/registry/registry/",
"monorepo/",
"*.go",
]

[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"
anvil = "anvil"
asm = "asm"
asterisc = "asterisc"
batcher = "batcher"
bedrock = "bedrock"
bootnode = "bootnode"
cannon = "cannon"
chainid = "chainid"
codegen = "codegen"
derivation = "derivation"
enr = "enr"
ethereum = "ethereum"
fpvm = "fpvm"
hel = "hel" # Part of hostname bootnode-hetzner-hel
interop = "interop"
kona = "kona"
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"
supervisor = "supervisor"
superchain = "superchain"
trie = "trie"
txs = "txs" # Transactions abbreviation
udeps = "udeps" # Unused dependencies tool
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 allowed words from typos scan
flate = "flate" # zlib-flate tool name
ratatui = "ratatui" # TUI crate name
Comment thread
emhane marked this conversation as resolved.
superseed = "superseed" # Superseed network name (proper noun)
Loading