Skip to content

wip: fmt solar #10907

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

Draft
wants to merge 352 commits into
base: dani/fmt-solar
Choose a base branch
from
Draft

wip: fmt solar #10907

wants to merge 352 commits into from

Conversation

0xrusowsky
Copy link
Contributor

@0xrusowsky 0xrusowsky commented Jul 2, 2025

tests state

  • ArrayExpressions:
    • STYLE: Is the rest acceptable?
  • BlockComments
  • BlockCommentsFunction
  • ConditionalOperatorExpression
  • ConstructorDefinition
  • ConstructorModifierStyle
  • ContractDefinition
    • STYLE: Is it acceptable?
  • DocComments
    • STYLE: is it acceptable
  • DoWhileStatement
  • EmitStatement
  • EnumDefinition
  • EnumVariants
  • ErrorDefinition
  • EventDefinition
  • ForStatement
    • STATUS Works perfectly with one less digit + breaks as intended (imo nothing else to do -> OK)
  • FunctionCall
  • FunctionCallArgsStatement
    • STYLE: Is it acceptable?
  • FunctionDefinition
    • STYLE: Is it acceptable?
    • TODO: support for custom configs
  • FunctionDefinitionWithFunctionReturns
  • FunctionType
    • STYLE: is it acceptable?
  • HexUnderscore
  • IfStatement
    • STYLE: is it acceptable?
  • IfStatement2
  • ImportDirective
  • InlineDisable
    • FIX: invalid output
  • IntTypes
  • LiteralExpression
    • STYLE: is it acceptable?
  • MappingType
  • ModifierDefinition
  • NamedFunctionCallExpression
    • STYLE: is it acceptable?
  • NumberLiteralUnderscore
  • OperatorExpressions
  • PragmaDirective
  • Repros
    • TODO: check boxes, panics
  • ReturnStatement
    • STYLE: is it acceptable? (inline block logic is inconsistent with 'if stmt' unit test)
  • RevertNamedArgsStatement
    • STYLE: properly break long calls?
  • RevertStatement
  • SimpleComments
  • SortedImports
  • StatementBlock
  • StructDefinition
  • ThisExpression
  • TrailingComma
    • NOTE: solar error
  • TryStatement
    • STYLE: is it acceptable?
  • TypeDefinition
  • UnitExpression
  • UsingDirective
  • VariableAssignment
    • STYLE: is it acceptable?
  • VariableDefinition
    • STYLE: is it acceptable?
  • WhileStatement
  • Yul
    • FIX: spacing
  • YulStrings

nguyenethan01 and others added 30 commits June 2, 2025 15:43
* add missing dependency linters

* add dependency linter to binaries

* remove comment

* remove linter from main.rs

* remove unused deps, silence linter warnings

* move imports to dev dependencies
…fault (#10565)

* start defaulting to prague, add fix for blob handle scaling post cancun

* fix anvil test

* switch to 0.8.30 for tests

* switch foundry-compilers to default to prague, small test fixes

* add workaround for Vyper not yet supporting Prague

* fix issues

* fix tests, questionable gas difference and address difference

* make prague explicit

* fix clippy

* bump compilers version

* bump to 0.16.3

* pass in blob params, add normalize vyper evm version helper, fix solar iter 0.1.4

* temporarily allow compilers git patch

* bump to msrv 1.87 in line with foundry-compilers

* bump compilers version

* bump to foundry-compilers 0.17.1
chore: add license to prepreocessor deploy helper
* chore(deps): weekly `cargo update`

     Locking 71 packages to latest compatible versions
    Updating alloy-consensus v1.0.7 -> v1.0.9
    Updating alloy-consensus-any v1.0.7 -> v1.0.9
    Updating alloy-contract v1.0.7 -> v1.0.9
    Updating alloy-eips v1.0.7 -> v1.0.9
    Updating alloy-ens v1.0.7 -> v1.0.9
    Updating alloy-genesis v1.0.7 -> v1.0.9
    Updating alloy-json-rpc v1.0.7 -> v1.0.9
    Updating alloy-network v1.0.7 -> v1.0.9
    Updating alloy-network-primitives v1.0.7 -> v1.0.9
    Updating alloy-provider v1.0.7 -> v1.0.9
    Updating alloy-pubsub v1.0.7 -> v1.0.9
    Updating alloy-rpc-client v1.0.7 -> v1.0.9
    Updating alloy-rpc-types v1.0.7 -> v1.0.9
    Updating alloy-rpc-types-anvil v1.0.7 -> v1.0.9
    Updating alloy-rpc-types-any v1.0.7 -> v1.0.9
    Updating alloy-rpc-types-debug v1.0.7 -> v1.0.9
    Updating alloy-rpc-types-engine v1.0.7 -> v1.0.9
    Updating alloy-rpc-types-eth v1.0.7 -> v1.0.9
    Updating alloy-rpc-types-trace v1.0.7 -> v1.0.9
    Updating alloy-rpc-types-txpool v1.0.7 -> v1.0.9
    Updating alloy-serde v1.0.7 -> v1.0.9
    Updating alloy-signer v1.0.7 -> v1.0.9
    Updating alloy-signer-aws v1.0.7 -> v1.0.9
    Updating alloy-signer-gcp v1.0.7 -> v1.0.9
    Updating alloy-signer-ledger v1.0.7 -> v1.0.9
    Updating alloy-signer-local v1.0.7 -> v1.0.9
    Updating alloy-signer-trezor v1.0.7 -> v1.0.9
    Updating alloy-transport v1.0.7 -> v1.0.9
    Updating alloy-transport-http v1.0.7 -> v1.0.9
    Updating alloy-transport-ipc v1.0.7 -> v1.0.9
    Updating alloy-transport-ws v1.0.7 -> v1.0.9
    Updating aws-sdk-kms v1.71.0 -> v1.72.0
    Updating aws-sdk-sso v1.70.0 -> v1.71.0
    Updating aws-sdk-ssooidc v1.71.0 -> v1.72.0
    Updating aws-sdk-sts v1.71.0 -> v1.72.0
    Updating cc v1.2.24 -> v1.2.25
    Updating clap v4.5.38 -> v4.5.39
    Updating clap_builder v4.5.38 -> v4.5.39
    Updating clap_complete v4.5.50 -> v4.5.52
    Updating color-eyre v0.6.4 -> v0.6.5
    Updating color-spantrace v0.2.2 -> v0.3.0
    Updating core-foundation v0.10.0 -> v0.10.1
   Unchanged crossterm v0.28.1 (available: v0.29.0)
   Unchanged foundry-block-explorers v0.17.0 (available: v0.18.0)
    Updating foundry-compilers v0.16.2 -> v0.16.3 (available: v0.17.0)
    Updating foundry-compilers-artifacts v0.16.2 -> v0.16.3
    Updating foundry-compilers-artifacts-solc v0.16.2 -> v0.16.3
    Updating foundry-compilers-artifacts-vyper v0.16.2 -> v0.16.3
    Updating foundry-compilers-core v0.16.2 -> v0.16.3
    Removing hermit-abi v0.3.9
    Updating hyper-util v0.1.12 -> v0.1.13
   Unchanged idna_adapter v1.1.0 (available: v1.2.1)
      Adding iri-string v0.7.8
    Updating libloading v0.8.7 -> v0.8.8
    Updating lock_api v0.4.12 -> v0.4.13
   Unchanged matchit v0.8.4 (available: v0.8.6)
    Updating mdbook v0.4.50 -> v0.4.51
    Updating num_cpus v1.16.0 -> v1.17.0
    Updating op-alloy-consensus v0.17.1 -> v0.17.2
    Updating op-alloy-rpc-types v0.17.1 -> v0.17.2
    Updating op-revm v5.0.0 -> v5.0.1
    Updating opener v0.8.1 -> v0.8.2
   Unchanged opener v0.7.2 (available: v0.8.2)
    Updating parking_lot v0.12.3 -> v0.12.4
    Updating parking_lot_core v0.9.10 -> v0.9.11
    Updating prettyplease v0.2.32 -> v0.2.33
   Unchanged protobuf v3.3.0 (available: v3.7.2)
   Unchanged protobuf-support v3.3.0 (available: v3.7.2)
   Unchanged rand v0.8.5 (available: v0.9.1)
    Updating reqwest v0.12.15 -> v0.12.18
    Updating revm v24.0.0 -> v24.0.1
    Updating revm-context v5.0.0 -> v5.0.1
    Updating revm-handler v5.0.0 -> v5.0.1
    Updating revm-inspector v5.0.0 -> v5.0.1
    Removing rustls-pemfile v2.2.0
   Unchanged rustyline v15.0.0 (available: v16.0.0)
   Unchanged schemars v0.8.22 (available: v0.9.0)
    Updating socket2 v0.5.9 -> v0.5.10
   Unchanged solar-ast v0.1.3 (available: v0.1.4)
    Updating solar-config v0.1.3 -> v0.1.4
    Updating solar-data-structures v0.1.3 -> v0.1.4
   Unchanged solar-interface v0.1.3 (available: v0.1.4)
    Updating solar-macros v0.1.3 -> v0.1.4
   Unchanged solar-parse v0.1.3 (available: v0.1.4)
   Unchanged solar-sema v0.1.3 (available: v0.1.4)
    Updating tracy-client v0.18.0 -> v0.18.1
    Updating tracy-client-sys v0.24.3 -> v0.25.0
   Unchanged ui_test v0.29.2 (available: v0.30.1)
   Unchanged vergen v8.3.2 (available: v9.0.6)
   Unchanged zip-extract v0.2.1 (available: v0.2.3)
note: to see how you depend on a package, run `cargo tree --invert --package <dep>@<ver>`

* bump deps

---------

Co-authored-by: mattsse <[email protected]>
Co-authored-by: zerosnacks <[email protected]>
Co-authored-by: zerosnacks <[email protected]>
…10691)

chore: flaky test, bump timeout max rejects, use http provider
added disable-code-size-limit flag in forge script

Co-authored-by: grandizzy <[email protected]>
…solar (#10510)

* wip

* feat: eip712 type hash PoC

* style: json

* style: json

* style: json

* style: comments

* wip

* initial impl using solar

* fix: untracked change

* fix: optimize resolve_type

* initial working impl

* feat: eip712 solar resolver

* style: docs + fmt + clippy

* todo: cheatcode

* docs: comments

* fix: use HIR rather than AST

* from build opts

* docs

* fix: rmv hashset

* create utils for solar_pcx_from_build_opts

* incorporate version logic into `solar_pcx_from_build_opts`

* wip bind-json: eip712 resolver integration

* forge(bind-json): integrate solar

* fix: tests

* style: clippy

* undo cheatcode setup (will tackle it on its own PR)

* rmv old test

* style: fix typo

* fix: win path

* fix: merge conflicts

* fix: dani's feedback

* docs: explain bindings overriding

* chore: patch solar

* feat(forge):  eip712 cheatcodes (#10570)

* fix: bump solang parser

* Remove unused from forge crate

* Move tests to eip712

* Nit: comments

---------

Co-authored-by: grandizzy <[email protected]>
…est block (#10714)

fix: guard against the blockchain advancing while checking latest block
…0711)

feat(script): keep script timestamp as milis instead seconds
* fix: eip7702 cheatcodes multiple auth

* fix: eip7702 cheatcodes nonce

* Fmt and nonce fix

* Active delegations as vec

* Fix nonce for non senders and add test

* Fix tests

* Update crates/cheatcodes/src/inspector.rs

Co-authored-by: Arsenii Kulikov <[email protected]>

* Nit: do not unwrap when looking for last delegation

---------

Co-authored-by: grandizzy <[email protected]>
Co-authored-by: grandizzy <[email protected]>
Co-authored-by: Arsenii Kulikov <[email protected]>
* add uninstall instructions

* Update foundryup/README.md

Co-authored-by: Matthias Seitz <[email protected]>

---------

Co-authored-by: grandizzy <[email protected]>
Co-authored-by: Matthias Seitz <[email protected]>
* fix(chisel): memory data location for string and bytes params

* fix unrelated failing test
Locking 50 packages to latest compatible versions
    Updating alloy-chains v0.2.3 -> v0.2.4
    Updating alloy-dyn-abi v1.1.2 -> v1.2.0
    Updating alloy-hardforks v0.2.6 -> v0.2.7
    Updating alloy-json-abi v1.1.2 -> v1.2.0
    Updating alloy-op-hardforks v0.2.6 -> v0.2.7
    Updating alloy-primitives v1.1.2 -> v1.2.0
    Updating alloy-sol-macro v1.1.2 -> v1.2.0
    Updating alloy-sol-macro-expander v1.1.2 -> v1.2.0
    Updating alloy-sol-macro-input v1.1.2 -> v1.2.0
    Updating alloy-sol-type-parser v1.1.2 -> v1.2.0
    Updating alloy-sol-types v1.1.2 -> v1.2.0
    Updating anstream v0.6.18 -> v0.6.19
    Updating anstyle v1.0.10 -> v1.0.11
    Updating anstyle-lossy v1.1.3 -> v1.1.4
    Updating anstyle-parse v0.2.6 -> v0.2.7
    Updating anstyle-query v1.1.2 -> v1.1.3
    Updating anstyle-svg v0.1.7 -> v0.1.8
    Updating anstyle-wincon v3.0.8 -> v3.0.9
    Updating aws-sdk-kms v1.72.0 -> v1.75.0
    Updating aws-sdk-sso v1.71.0 -> v1.72.0
    Updating aws-sdk-ssooidc v1.72.0 -> v1.73.0
    Updating aws-sdk-sts v1.72.0 -> v1.73.0
    Updating aws-smithy-http-client v1.0.2 -> v1.0.3
    Updating base64ct v1.7.3 -> v1.8.0
    Updating blst v0.3.14 -> v0.3.15
    Updating bumpalo v3.17.0 -> v3.18.1
    Updating bytemuck v1.23.0 -> v1.23.1
    Updating cc v1.2.25 -> v1.2.26
    Updating colorchoice v1.0.3 -> v1.0.4
   Unchanged crossterm v0.28.1 (available: v0.29.0)
    Updating flate2 v1.1.1 -> v1.1.2
    Updating gcloud-sdk v0.27.1 -> v0.27.2
    Updating hashbrown v0.15.3 -> v0.15.4
    Updating hyper-rustls v0.27.6 -> v0.27.7
    Updating hyper-util v0.1.13 -> v0.1.14
   Unchanged idna_adapter v1.1.0 (available: v1.2.1)
   Unchanged matchit v0.8.4 (available: v0.8.6)
   Unchanged op-revm v5.0.1 (available: v6.0.0)
   Unchanged opener v0.7.2 (available: v0.8.2)
    Updating portable-atomic v1.11.0 -> v1.11.1
   Unchanged protobuf v3.3.0 (available: v3.7.2)
   Unchanged protobuf-support v3.3.0 (available: v3.7.2)
   Unchanged rand v0.8.5 (available: v0.9.1)
   Unchanged revm v24.0.1 (available: v25.0.0)
    Updating revm-bytecode v4.0.1 -> v4.1.0
    Updating revm-primitives v19.1.0 -> v19.2.0
   Unchanged rustyline v15.0.0 (available: v16.0.0)
   Unchanged schemars v0.8.22 (available: v0.9.0)
    Updating serde_spanned v0.6.8 -> v0.6.9
    Updating smallvec v1.15.0 -> v1.15.1
    Updating syn-solidity v1.1.2 -> v1.2.0
    Updating toml v0.8.22 -> v0.8.23
    Updating toml_datetime v0.6.9 -> v0.6.11
    Updating toml_edit v0.22.26 -> v0.22.27
    Updating toml_write v0.1.1 -> v0.1.2
    Updating tower-http v0.6.5 -> v0.6.6
    Updating tracing-attributes v0.1.28 -> v0.1.29
    Updating tracing-core v0.1.33 -> v0.1.34
   Unchanged ui_test v0.29.2 (available: v0.30.1)
   Unchanged vergen v8.3.2 (available: v9.0.6)
    Updating web_atoms v0.1.2 -> v0.1.3
    Updating windows-registry v0.4.0 -> v0.5.2
    Removing windows-strings v0.3.1
    Updating ws_stream_wasm v0.7.4 -> v0.7.5
   Unchanged zip-extract v0.2.1 (available: v0.2.3)
note: to see how you depend on a package, run `cargo tree --invert --package <dep>@<ver>`

Co-authored-by: DaniPopes <[email protected]>
…rent gas price (#9687)

feat(cast): add --cost to cast estimate the eth cost at current gas price

Co-authored-by: grandizzy <[email protected]>
…10745)

remove announcement link as it is unmaintained
* feat: adds remaining elastic networks for gas estimation during simulation script

* chore: run fmt

* chore: run rustfmt

* chore: run rustfmt

* Update crates/cli/src/utils/cmd.rs

---------

Co-authored-by: zerosnacks <[email protected]>
* feat: Add anvil_setERC20Allowance endpoint

* chore: Remove tenderly_setErc20Balance
Unfortunately anvil has the parameter order (owner, token) while tenderly has (token, owner), so they are not compatible. Fixing my previous mistake here.

* chore: Formatting
DaniPopes and others added 30 commits July 24, 2025 06:03
* run.sh + test and build bench

* bench seq: test, fuzz and build

* fix(`benches`): use prepare in forge build benches

* coverage results

* fix(`benches`): forge build prepare and cleanup

* latest run

* rm intermediate results

* rm sequential run script

* LINT_ON_BUILD=false

* fix: FOUNDRY_LINT_LINT_ON_BUILD=false

* latest build benches

* fix
* chore: use alloy-evm::apply_state_overrides

* clippy
remove misleading $ETH_FROM
* fix(cast): use all providers if local artifacts used

* Fix
fix: Remove the --froms flag
* feat: add `unwrapped_modifier_logic` gas lint

* cleanup

* cleanup test

* nits

* nit: shorten warning

* fix: rebase error

* suggest fix

* cleanup

* parse indents + restructure

* improve suggestion

* chore: normalize ind of the code to be removed

* improve devex + docs

* feat: simplify + use built-in indentation alignment

* fix: false positive library member calls

* nit

* test: external calls throw lint

* refactor: simplify + document fns

* style: clippy

* nit

* refactor: move to new `codesize` lint group

* fix: typo

Co-authored-by: clandestine.eth <[email protected]>

* chore: code clarity + more docs

---------

Co-authored-by: 0xrusowsky <[email protected]>
Co-authored-by: 0xrusowsky <[email protected]>
* added js tracer

* clippy

* removed patch

* import

* refactor

* feature gate

* fixes

* fixes

* feature
* chore: InspectorStack::as_inspector

* chore: clean InspectorExt::tracing_inspector

* chore: dont use trait
…idation (#11111)

* fix(mktx): improve handling of `--raw-unsigned` with runtime validation

- Updated the logic for handling the `--from` argument in the `run` function.
- Added validation for required `nonce` parameter when `--from` is not provided, ensuring necessary transaction details are specified.
- Used `Address::ZERO` as a placeholder when there is no need to query provider
- unit tests

* fix: fmt
* make sure signatures are not empty, previously we were caching empty results ("") preventing refetching

* add tests

* avoid duplicate code
…sions (#11123)

* bump deps

* apply major bump for incompatible deps, bump vergen 9.0, ui_test 0.30

* revert vergen, repin idna_adapter
- always register demangler
- remove split debug info, tracy can't seem to find debug info
…11098)

* feat(`cheatcodes`): show mismatched params in events

* more param related failure tests

* fmt

* clippy

* feat: decode events using SignaturesIdentifier

* correctly identify indexed params

* don't  decode anon events

* fix

* clippy

* fix test

* fix test: build to cache selectors

* name mismatched logs

* nits

* check has_indexed_info

* addr checksum

* reinstate early data check

* fix

* nit
#11140)

Revert "fix(`cast`): unknown signatures are cached as an empty string (#11127)"

This reverts commit 88b14a1.
make typed request casting not panic and return useful error to user
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.