Repository navigation
feat(solidity): add direct persistent-state reads and writes - #84
Open
tob-scott-a wants to merge 1 commit into
Open
tob-scott-a wants to merge 1 commit into
tob-scott-a wants to merge 1 commit into
Conversation
tob-scott-a
marked this pull request as ready for review
October 16, 2026 19:22
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a Solidity-first state web for #71. A function such as
transfernow has READS/WRITES edges to persistent storage declarations such astoken:Token.balances, with a location for each source occurrence. State queries return distinct declarations or readers/writers, while default call traversals remain unchanged.The parser handles assignments, compound assignments, increments, deletes, struct/mapping/array accesses, direct array push/pop, and lexical shadowing. Constants, immutables, and transient variables are excluded. Model, storage, query, parser, JSON export, README, and snapshot coverage are included.
Scope: direct accesses to storage declared in the same contract. Inherited state, alias propagation, library/assembly/delegatecall effects, declaration initializers, generated getters, and transitive modifier effects are documented limitations. Other language adapters remain follow-up work, so this references rather than closes #71.
Validation: