Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(katana): remove starknet version from chainspec #2875

Merged
merged 1 commit into from
Jan 7, 2025

Conversation

kariy
Copy link
Member

@kariy kariy commented Jan 7, 2025

The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.

@kariy kariy changed the base branch from main to katana/chainspec January 7, 2025 22:40
Copy link

coderabbitai bot commented Jan 7, 2025

Pull Request Analysis 🚀

Ohayo, sensei! Let's dive into this epic refactoring adventure! 🌟

Walkthrough

This pull request introduces a significant reorganization of the chain specification management in the Katana project. The primary focus is on creating a new katana-chain-spec crate and migrating the chain specification logic from katana-primitives to this new dedicated module. This involves updating imports, modifying structs, and adjusting how chain specifications are handled across multiple components of the project.

Changes

File Change Summary
Cargo.toml files Added katana-chain-spec as a workspace member and dependency
src/lib.rs files Updated imports, removed chain_spec module
Core backend files Replaced ChainSpec imports, updated protocol version handling
CLI and node configuration Modified chain specification initialization and handling

Possibly Related PRs

Key Observations

  1. Creation of a dedicated katana-chain-spec crate
  2. Removal of chain specification logic from katana-primitives
  3. Widespread updates to imports and type references
  4. Simplification of protocol version management
  5. Enhanced flexibility in chain configuration

The changes represent a significant architectural refactoring, centralizing chain specification management and improving the overall modularity of the Katana project. Sensei would be proud of this clean, strategic code restructuring! 🥷🏼🔧


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 23614ea and 18196e4.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (31)
  • Cargo.toml (2 hunks)
  • bin/katana/Cargo.toml (2 hunks)
  • bin/katana/src/cli/init/mod.rs (7 hunks)
  • crates/dojo/test-utils/Cargo.toml (1 hunks)
  • crates/dojo/test-utils/src/sequencer.rs (1 hunks)
  • crates/katana/chain-spec/Cargo.toml (1 hunks)
  • crates/katana/chain-spec/src/lib.rs (8 hunks)
  • crates/katana/cli/Cargo.toml (3 hunks)
  • crates/katana/cli/src/args.rs (4 hunks)
  • crates/katana/cli/src/options.rs (2 hunks)
  • crates/katana/cli/src/utils.rs (1 hunks)
  • crates/katana/core/Cargo.toml (1 hunks)
  • crates/katana/core/src/backend/gas_oracle.rs (6 hunks)
  • crates/katana/core/src/backend/mod.rs (3 hunks)
  • crates/katana/core/src/backend/storage.rs (5 hunks)
  • crates/katana/core/src/service/block_producer.rs (2 hunks)
  • crates/katana/executor/Cargo.toml (1 hunks)
  • crates/katana/executor/tests/fixtures/mod.rs (2 hunks)
  • crates/katana/executor/tests/fixtures/transaction.rs (1 hunks)
  • crates/katana/node/Cargo.toml (2 hunks)
  • crates/katana/node/src/config/mod.rs (1 hunks)
  • crates/katana/node/src/lib.rs (3 hunks)
  • crates/katana/primitives/src/class.rs (1 hunks)
  • crates/katana/primitives/src/contract.rs (1 hunks)
  • crates/katana/primitives/src/eth.rs (1 hunks)
  • crates/katana/primitives/src/genesis/json.rs (8 hunks)
  • crates/katana/primitives/src/genesis/mod.rs (2 hunks)
  • crates/katana/primitives/src/lib.rs (1 hunks)
  • crates/katana/rpc/rpc/src/starknet/mod.rs (4 hunks)
  • crates/katana/storage/provider/Cargo.toml (2 hunks)
  • crates/katana/storage/provider/src/test_utils.rs (2 hunks)
✅ Files skipped from review due to trivial changes (4)
  • crates/katana/primitives/src/class.rs
  • crates/katana/primitives/src/eth.rs
  • crates/dojo/test-utils/src/sequencer.rs
  • crates/katana/chain-spec/Cargo.toml
⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: docs
  • GitHub Check: build
  • GitHub Check: clippy
🔇 Additional comments (41)
crates/katana/primitives/src/genesis/mod.rs (1)

10-10: Ohayo, sensei! The feature flag update looks good

The change from feature = "slot" to feature = "controller" is appropriate and aligns with the new feature implementation.

crates/katana/node/src/lib.rs (2)

144-145: Ohayo, sensei! Gas oracle worker initialization looks solid

Starting the gas oracle worker with run_worker ensures that gas prices are updated appropriately. The logging statement provides clear feedback.


205-217: Ohayo, sensei! The gas oracle configuration enhances flexibility

The conditional initialization of GasOracle based on fixed_gas_prices and settlement configurations is well-structured and improves the flexibility of gas price handling.

bin/katana/src/cli/init/mod.rs (4)

66-70: Ohayo, sensei! Settlement layer configuration is correctly set up

The initialization of the SettlementLayer::Starknet with the provided inputs is appropriate and aligns with the new structure.


73-76: Ohayo, sensei! Chain specification updates look good

Cloning DEV_UNALLOCATED and updating the genesis, chain ID, and settlement configurations are correctly implemented.


82-93: Ohayo, sensei! Input validation for chain ID enhances reliability

The custom parser for the chain ID ensures that only valid ASCII characters are accepted, which prevents potential issues with invalid identifiers.


206-206: Ohayo, sensei! Updated contract declaration to declare_v3

Switching to declare_v3 ensures compatibility with the latest contract declaration methods. Confirm that the declare_v3 function is supported and behaves as expected in your context.

crates/katana/chain-spec/src/lib.rs (4)

49-49: Ohayo sensei! Ensure optional settlement layer is handled appropriately.

With the introduction of settlement as an Option<SettlementLayer>, please verify that all usages of ChainSpec handle the None variant correctly, especially in scenarios where a settlement layer might be expected.


115-134: Confirm correct serialization in store method.

Please verify that the store method accurately serializes all fields, including optional ones like settlement, and that the resulting files can be successfully loaded back without data loss.


139-139: Usage of CURRENT_STARKNET_VERSION is appropriate and simplifies version management.

Replacing the version field with direct usage of CURRENT_STARKNET_VERSION maintains consistency across the codebase and reduces duplication.


348-380: Great job updating the tests, sensei!

The chainspec_load_store_rt test effectively checks the round-trip serialization and deserialization of ChainSpec, ensuring integrity of the load and store methods.

crates/katana/primitives/src/genesis/json.rs (3)

202-204: Ohayo sensei! Update error handling with new ContractClassCompilationError.

Introducing ContractClassCompilationError in GenesisJsonError improves specificity in error reporting for class compilation failures. Ensure all error handling paths are updated accordingly.


288-304: Verify conditional compilation under controller feature flag.

The inclusion of the controller class when the controller feature is enabled adds complexity. Please ensure that all code paths respect the feature flag and that builds without this feature are unaffected.


474-553: Great addition of reverse conversion from Genesis to GenesisJson, sensei!

Implementing TryFrom<Genesis> for GenesisJson enhances versatility by allowing genesis configurations to be serialized back to JSON. Ensure all fields are accurately represented.

crates/katana/node/src/config/mod.rs (2)

14-14: Ohayo! Import change looks good, sensei! 🎋

The migration from katana_primitives::chain_spec to katana_chain_spec aligns well with the modularization effort.


Line range hint 20-45: Verify the impact of removing l1_provider_url

The removal of l1_provider_url from Config struct might affect existing configurations.

Let's check for any remaining references:

✅ Verification successful

Ohayo sensei! The removal of l1_provider_url from Config is safe

The field is used independently in gas oracle and CLI components, but it's not part of the Config struct construction flow. No breaking changes detected in the configuration system.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for l1_provider_url references that might need updating
rg "l1_provider_url" --type rust

Length of output: 636


Script:

#!/bin/bash
# Check for any connections between Config and the files using l1_provider_url
rg -B 2 -A 2 "use.*Config" crates/katana/core/src/backend/gas_oracle.rs crates/katana/cli/src/args.rs

# Also check for any Config usage in these files
rg -B 2 -A 2 "Config" crates/katana/core/src/backend/gas_oracle.rs crates/katana/cli/src/args.rs

Length of output: 9420

crates/katana/storage/provider/src/test_utils.rs (2)

4-6: Ohayo! Clean import reorganization, sensei! 🍜

The separation of concerns is well-maintained with the new imports structure.


44-44: LGTM! Consistent with new module structure

Using katana_chain_spec::DEV_UNALLOCATED aligns with the new organizational structure.

crates/katana/executor/tests/fixtures/transaction.rs (1)

1-1: Ohayo! Import change is consistent, sensei! 🌸

The update to use katana_chain_spec maintains consistency with the new modular structure.

crates/katana/cli/src/utils.rs (1)

8-8: Ohayo! Import change looks good, sensei!

The migration of ChainSpec import from katana_primitives to the new dedicated katana_chain_spec crate aligns with the refactoring goals.

crates/katana/core/src/backend/mod.rs (3)

3-4: Ohayo! Nice imports reorganization, sensei!

The addition of CURRENT_STARKNET_VERSION and migration to katana_chain_spec aligns with the refactoring goals.

Also applies to: 14-14


45-45: Type rename improves clarity, sensei!

Renaming from L1GasOracle to GasOracle makes the type more generic and better suited for different settlement layers.


142-142: Protocol version standardization looks good!

Using CURRENT_STARKNET_VERSION instead of chain_spec.version standardizes version handling across the codebase.

crates/katana/executor/tests/fixtures/mod.rs (1)

4-4: Ohayo! Test fixtures updated correctly, sensei!

The migration to use katana_chain_spec::DEV_UNALLOCATED is consistent with the codebase refactoring.

Also applies to: 53-53

crates/katana/core/src/backend/gas_oracle.rs (3)

20-22: Ohayo! Enum refactoring looks clean, sensei!

The rename from L1GasOracle to GasOracle and its variants better reflects their purpose without tying them to L1.


300-303: Test updates look good, sensei!

The test cases have been properly updated to use the new type names and methods.


62-68: Nice addition of Starknet support, sensei!

The sampled_starknet method provides a good placeholder for future Starknet gas price integration.

Let's verify if there are any TODOs or related issues for implementing actual Starknet gas price sampling:

✅ Verification successful

Ohayo! The placeholder implementation is well-documented and intentional, sensei!

The codebase shows that Starknet gas price sampling is a known requirement, with comments indicating understanding of the mechanism (sampling every 60 seconds for L1 gas and data gas prices). The current implementation returning fixed zero prices is an explicitly documented design choice until Starknet provides a way to get L2 gas prices.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for TODOs related to Starknet gas price implementation
rg -i "todo.*starknet.*gas" 

Length of output: 29


Script:

#!/bin/bash
# Search for any mentions of Starknet gas prices or related terms
rg -i "starknet.*(gas|price)" -A 2

# Search specifically in the gas oracle implementation
fd "gas.*\.rs" --exec rg -i "starknet" {} -A 2

# Look for general TODOs in gas-related files
fd "gas.*\.rs" --exec rg -i "todo" {} -A 2

Length of output: 68088

crates/katana/cli/src/options.rs (2)

149-149: Ohayo! Nice addition of conflict handling, sensei!

The conflicts_with_all attribute ensures that the genesis option cannot be used together with seed, total_accounts, or chain options, preventing configuration conflicts.


173-173: Good conflict prevention, sensei!

The conflicts_with = "chain" attribute ensures that chain_id cannot be specified alongside the chain option, maintaining configuration consistency.

crates/katana/core/src/backend/storage.rs (2)

4-4: Clean import update, sensei!

The import has been correctly updated to use the new dedicated chain spec module.


273-273: Nice test updates, sensei!

The test cases have been properly updated to use the new chain spec module. The changes maintain test coverage while adapting to the new structure.

Also applies to: 315-315, 362-362

crates/katana/cli/src/args.rs (2)

41-44: Ohayo! Nice addition of chain configuration support, sensei!

The new chain field allows specifying an external chain configuration file, enhancing flexibility. The hide = true attribute keeps it as an internal feature for now.


228-261: Well-structured chain spec handling, sensei!

The updated chain_spec method now:

  1. Supports loading from external configuration files
  2. Maintains backward compatibility with development mode
  3. Properly handles chain ID and genesis configuration
  4. Correctly generates development accounts when needed
crates/dojo/test-utils/Cargo.toml (1)

9-19: Ohayo sensei! Clean dependency management.

The addition of katana-chain-spec and reordering of dependencies maintains good organization of the test utilities.

bin/katana/Cargo.toml (1)

11-11: Ohayo sensei! Please verify the serialization requirements.

The replacement of serde with lazy_static might affect serialization capabilities. Could you confirm if serialization functionality is still needed and properly handled?

Also applies to: 26-26

crates/katana/cli/Cargo.toml (1)

9-9: Ohayo sensei! Good work on the dependency migration.

The transition from dojo-utils to katana-chain-spec and updating the slot feature to use katana-chain-spec/controller shows proper integration of the new chain specification module.

Also applies to: 21-21, 39-39

Cargo.toml (1)

19-19: Ohayo! The workspace configuration looks perfect, sensei!

The addition of the chain-spec crate to both workspace members and dependencies is well-structured and maintains consistent ordering.

Also applies to: 97-97

crates/katana/storage/provider/Cargo.toml (1)

10-10: Looking good, sensei! Clean dependency addition.

The katana-chain-spec dependency is properly configured as a workspace dependency, and the formatting improvement in test-utils feature enhances readability.

Also applies to: 36-36

crates/katana/core/Cargo.toml (1)

10-10: Ohayo! Clean and consistent dependency addition, sensei!

The katana-chain-spec dependency is properly added while maintaining alphabetical ordering.

crates/katana/executor/Cargo.toml (1)

24-24: Nice organization of dependencies, sensei!

The addition of katana-chain-spec and reordering of existing dependencies improves the maintainability of the file.

Also applies to: 28-29

crates/katana/node/Cargo.toml (1)

9-9: Ohayo sensei! Dependencies look good, but let's verify the toml usage.

The katana-chain-spec dependency is properly added. However, let's verify the purpose of the new toml dependency.

Also applies to: 30-30


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments.

Actionable comments posted: 5

🧹 Nitpick comments (10)
crates/katana/primitives/src/genesis/mod.rs (1)

126-135: Ohayo, sensei! Handling potential compilation errors

Using expect with descriptive messages is acceptable here since the controller account class is known and expected to compile without errors. However, to enhance robustness, consider handling possible errors gracefully without causing a panic.

Here's a suggested refactor:

 compiled_class_hash: {
     let compiled_class = CONTROLLER_ACCOUNT_CLASS
         .clone()
         .compile()
-        .expect("failed to compile");
+        .unwrap_or_else(|e| {
+            // Handle the compilation error
+            log::error!("Compilation failed: {:?}", e);
+            // Provide a default or abort initialization as necessary
+        });
     compiled_class
         .class_hash()
-        .expect("failed to compute class hash")
+        .unwrap_or_else(|e| {
+            // Handle the class hash computation error
+            log::error!("Class hash computation failed: {:?}", e);
+            // Provide a default or abort initialization as necessary
+        })
 },
bin/katana/src/cli/init/mod.rs (2)

131-136: Ohayo, sensei! Noted the TODO for fee token implementation

The commented-out code for the fee token indicates future implementation plans. If you'd like assistance in implementing this feature, I'm happy to help. Would you like me to generate the necessary code or open a GitHub issue to track this task?


308-316: Ohayo, sensei! Consider using once_cell over lazy_static

Replacing lazy_static with once_cell::sync::Lazy is recommended for initializing static data due to its simplicity and efficiency.

Here's how you might refactor the code:

-use lazy_static::lazy_static;
+use once_cell::sync::Lazy;

-lazy_static! {
-    static ref GENESIS: Genesis = {
+static GENESIS: Lazy<Genesis> = Lazy::new(|| {
         // master account
         let accounts = DevAllocationsGenerator::new(1).generate();
         let mut genesis = Genesis::default();
         genesis.extend_allocations(accounts.into_iter().map(|(k, v)| (k, v.into())));
         genesis
-    };
-}
+});
crates/katana/chain-spec/src/lib.rs (2)

102-114: Ensure robust error handling in load method.

The load method reads from external files and deserializes content, which can be error-prone. Consider enhancing error messages with context to aid in debugging, and ensure that all possible errors are gracefully handled.


203-210: Ohayo sensei! Consider adding #[serde(default)] to optional fields in ChainSpecFile.

Adding #[serde(default)] to fields like settlement ensures default values are used when fields are missing during deserialization, enhancing robustness.

crates/katana/primitives/src/genesis/json.rs (2)

806-816: Ohayo sensei! Ensure error handling in test class compilation.

In the tests, compiling CONTROLLER_ACCOUNT_CLASS could potentially fail. It's important to handle any compilation errors to prevent test flakiness.


944-958: Consider enhancing round-trip conversion tests.

The genesis_conversion_rt test is valuable. Expanding it to include various genesis configurations will strengthen confidence in the serialization and deserialization processes.

crates/katana/primitives/src/contract.rs (1)

25-28: Ohayo! Nice addition of convenience constants, sensei! 🎭

The new constants provide a clean way to access commonly used addresses. However, consider adding documentation to explain their intended usage.

Add documentation like this:

+    /// Represents the zero address (0x0)
     pub const ZERO: Self = Self(Felt::ZERO);
+    /// Represents the one address (0x1)
     pub const ONE: Self = Self(Felt::ONE);
+    /// Represents the two address (0x2)
     pub const TWO: Self = Self(Felt::TWO);
+    /// Represents the three address (0x3)
     pub const THREE: Self = Self(Felt::THREE);
crates/katana/core/src/service/block_producer.rs (1)

582-582: Clean version handling update, sensei!

Replacing backend.chain_spec.version with CURRENT_STARKNET_VERSION centralizes version management and removes the dependency on chain-specific versions.

Consider documenting the version management strategy in the project's architecture documentation to help maintainers understand this centralization decision.

crates/katana/rpc/rpc/src/starknet/mod.rs (1)

19-19: Ohayo sensei! Nice work on standardizing the Starknet version handling.

The change to use CURRENT_STARKNET_VERSION instead of fetching from chain_spec makes the version handling more consistent across all block types. This is a good architectural decision that reduces configuration complexity.

Also applies to: 617-617, 683-683, 747-747

🛑 Comments failed to post (5)
crates/katana/node/src/lib.rs (1)

27-30: 🛠️ Refactor suggestion

Ohayo, sensei! Avoid importing from test utilities in production code

Importing constants from test_utils is not recommended for production code. Consider moving DEFAULT_ETH_L1_GAS_PRICE, DEFAULT_ETH_L1_DATA_GAS_PRICE, DEFAULT_STRK_L1_GAS_PRICE, and DEFAULT_STRK_L1_DATA_GAS_PRICE to a production module or constants file.

Here's how you might adjust the imports:

-use katana_executor::implementation::blockifier::blockifier::test_utils::{
+use katana_executor::implementation::blockifier::constants::{
     DEFAULT_ETH_L1_DATA_GAS_PRICE, DEFAULT_ETH_L1_GAS_PRICE, DEFAULT_STRK_L1_DATA_GAS_PRICE,
     DEFAULT_STRK_L1_GAS_PRICE,
 };

Committable suggestion skipped: line range outside the PR's diff.

bin/katana/src/cli/init/mod.rs (1)

274-276: 🛠️ Refactor suggestion

Ohayo, sensei! Change in configuration file format

The configuration file extension has been changed from .toml to .json. Ensure that all documentation, scripts, and tools that interact with the configuration file are updated to reflect this change.

crates/katana/chain-spec/src/lib.rs (1)

473-473: 🛠️ Refactor suggestion

Ohayo sensei! Expand test coverage for settlement variants.

Currently, tests primarily cover scenarios where settlement is None. Including tests with actual SettlementLayer values will ensure that all functionality is properly verified.

crates/katana/primitives/src/genesis/json.rs (1)

318-339: ⚠️ Potential issue

Handle class deserialization errors gracefully.

When attempting to deserialize contract classes, if both SierraContractClass and LegacyContractClass fail, consider providing informative error messages to aid in troubleshooting.

crates/katana/primitives/src/lib.rs (1)

9-9: ⚠️ Potential issue

Ohayo sensei! Confirm removal of chain_spec module is accounted for.

The chain_spec module has been removed and replaced with katana-chain-spec crate. Ensure all references to katana_primitives::chain_spec are updated to prevent import errors.

Copy link

codecov bot commented Jan 7, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 55.85%. Comparing base (d9e93c4) to head (18196e4).
Report is 8 commits behind head on katana/chainspec.

Additional details and impacted files
@@                 Coverage Diff                  @@
##           katana/chainspec    #2875      +/-   ##
====================================================
+ Coverage             55.74%   55.85%   +0.10%     
====================================================
  Files                   446      447       +1     
  Lines                 57818    57904      +86     
====================================================
+ Hits                  32233    32342     +109     
+ Misses                25585    25562      -23     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kariy kariy merged commit 7688c83 into katana/chainspec Jan 7, 2025
15 checks passed
@kariy kariy deleted the katana/starknet-version branch January 7, 2025 23:26
kariy added a commit that referenced this pull request Jan 8, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 10, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 11, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 14, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 15, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 16, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 16, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 18, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 19, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 21, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 21, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
kariy added a commit that referenced this pull request Jan 21, 2025
The protocol version isn't exactly being used (for what it's meant to be) except for putting it into the block header when building blocks. So, semantically it does nothing, and also it doesn't make sense to include it in the chain spec anyway. For now, we're removing it and replace all of its references with a constant.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant