feat: add ChainSimulatorSetStateStep for chain simulator state patching - #182
Merged
Conversation
Add set_address_state() to MyProxyNetworkProvider for posting hex-encoded key-value pairs to the chain simulator's address-specific set-state endpoint.
Add new step to set specific storage key-value pairs for an address on the chain simulator. Includes hex validation and proper error handling for invalid input.
…Step Add 5 test cases covering: wrong network validation, successful execution, empty keys rejection, and invalid hex key/value rejection. Includes dedicated chain_simulator_scenario fixture and YAML example.
Add user-facing documentation with description, YAML schema, and usage example for setting storage state on the chain simulator.
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.
Summary
Add
ChainSimulatorSetStateStepto set specific hex-encoded storage key-value pairs for an address on the chain simulator. This enables users to patch storage values after cloning contracts from mainnet when values like round numbers or epoch indices are incompatible with the simulator's timeline.Changes
set_address_state()toMyProxyNetworkProviderto POST hex-encoded key-value pairs tosimulator/address/{address}/set-stateChainSimulatorSetStateStepclass with:Testing
chain_simulator_scenariofixture for reliable test isolation