Skip to content

Conversation

@P1sar
Copy link
Member

@P1sar P1sar commented Sep 23, 2025

Motivation

Solution

PR Checklist

  • Added Tests
  • Added Documentation
  • Breaking changes

Run PoC

Current PoC debug setup is suppose to be run with a westend AssetHub using zombinets:

  1. Install zombinets:
    https://github.com/paritytech/zombienet

  2. install polkadot-parachain executable zombienet setup polkadot polkadot-parachain. (u can leave them localy or move to PATH)

  3. Download config:
    curl https://raw.githubusercontent.com/paritytech/polkadot-sdk/refs/heads/master/cumulus/zombienet/examples/asset_hub_westend_local_network.toml > asset-hub_westend_zombient.toml

  4. Replace executable cmd for polkadot and polkadot-parachain in asset-hub_westend_zombient.toml file to much yuur PATH

  5. Run zombienet zombienet spawn --provider native asset-hub_westend_zombient.toml

  6. Find Asset hub RPC Url in starting logs (useually takes around 5 mints to start) It will be uner the sign │ Westend Asset Hub Local ⚙ Added Boot Nodes just take the first one, in my case it was dave-1 and link is provided in the very end of logs in Nodes information https://polkadot.js.org/apps/?rpc=ws://127.0.0.1:54439#/explorer

  7. Run forking cargo run -p anvil-polkadot -- --fork-url http://127.0.0.1:54439

@alindima
Copy link

The approach will very much need to change if we take into account lazy loading.

Moreover, this prototype is currently not really forking. It's downloading the state and injecting it into the chainspec as the genesis state and starting the chain from scratch. Things like the block number that the chain is currently at will be lost.

@skunert
Copy link

skunert commented Sep 26, 2025

I was playing with this a bit today, what is currently supposed to work?

I was not able to fork anything. Tried with a local zombienet.

@P1sar P1sar changed the title Diego fork runtime state Diego fork runtime state PoC Sep 29, 2025
@P1sar
Copy link
Member Author

P1sar commented Sep 29, 2025

I was playing with this a bit today, what is currently supposed to work?

I was not able to fork anything. Tried with a local zombienet.

My bad @skunert, how-to run to the PR description

@dimartiro dimartiro marked this pull request as draft September 29, 2025 13:42
@dimartiro dimartiro changed the title Diego fork runtime state PoC Fork runtime state PoC Sep 29, 2025
P1sar pushed a commit that referenced this pull request Sep 30, 2025
* add lint cmd, variable lints

* wip

* wip

* wip

* wip

* wip

* wip

* add keccak256 opt test

* wip

* wip

* wip

* wip

* fix div before mul

* update lint args

* wip

* update declare lints macro

* update with_severity

* configure linter

* wip

* update hash value

* fix read in source

* rayon

* reorder lint declarations

* clippy

* add placeholder for additional lints

* more placeholders

* wip

* wip

* refactor into sol linter

* impl Linter for SolidityLinter

* fmt

* wip

* wip

* refactor lints into SolLint enum

* update lint trait

* wip

* wip

* wip

* wip

* wip

* update lint

* update forge lint to use ProjectLinter

* wip

* include/exclude files from linting

* linter output display note

* configure with severity and description

* fmt

* implementing display

* wip

* wip

* implement display for linter output, clippy fixes

* add note to update colors

* update linter output display

* remove todos, clean up comments

* clean up display

* update med finding color

* add optional help message

* display help message

* simplify lint args, make severity configurable

* updating lints, update tests

* add tests for info patterns, fix regex

* remove function mixed case

* doc comments

* clippy

* fmt

* reorganize, crate level docs

* fix info lints

* Use Solar daignostics instead of `LinterOutput` (#6)

* use solar diagnostics, remove unneeded types

* update diagnostic emission

* clippy

* set track daignostics to false

* display help message

* set level according to severity

* update descriptions to be more concise

* removed LinterError from lint trait

* early pass + tests

* fix: fmt + clippy

* fix: fmt + clippy

* fix: fmt + clippy

* fix: fmt + clippy

* fix: feedback

* fix: feedback

* fix: regex

Co-authored-by: zerosnacks <[email protected]>

* tests: cli integration

* fix: broken test

* fix: fmt

Co-authored-by: DaniPopes <[email protected]>

* style: naming

Co-authored-by: DaniPopes <[email protected]>

* style: fmt

Co-authored-by: DaniPopes <[email protected]>

* fix: use heck + individual lint macros + housekeeping

* fix: single session with parallel linting per file

* style: fix docs errors + typos

* docs: ref to deleted field

* fix: preprocessor regression + cargo.toml + default lint config tests

* test(forge): solar test runner (#2)

* style: clippy

* typo

Co-authored-by: DaniPopes <[email protected]>

* fix: housekeeping

* docs: linter docs for users + devs

* docs: style

* docs: style

* clone lint testdata with lf

* fix: out dir constructor

* update toml

* fix: merge conflicts

* fix: cargo.lock merge conflicts

* style: clippy

* style: whitespace

* fix: clippy

* Cargo.lock update to weekly task

* Preserve alloy patch placeholders

* Clippy

---------

Co-authored-by: 0xKitsune <[email protected]>
Co-authored-by: 0xKitsune <[email protected]>
Co-authored-by: zerosnacks <[email protected]>
Co-authored-by: DaniPopes <[email protected]>
Co-authored-by: grandizzy <[email protected]>
Co-authored-by: grandizzy <[email protected]>
@jimjbrettj jimjbrettj force-pushed the diego-fork-runtime-state branch from 917d0c5 to bca5547 Compare October 1, 2025 17:43
@jimjbrettj jimjbrettj force-pushed the diego-fork-runtime-state branch from d2e00bb to 0670fdd Compare October 15, 2025 18:38
@jimjbrettj jimjbrettj force-pushed the diego-fork-runtime-state branch from 1930a49 to ec0ddaa Compare October 16, 2025 16:39
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.

5 participants