-
-
Notifications
You must be signed in to change notification settings - Fork 26
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
Add tevm_dump_state and tevm_load_state #821
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
🦋 Changeset detectedLatest commit: f88acec The changes in this PR will be included in the next version bump. This PR includes changesets to release 8 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Warning Rate Limit Exceeded@roninjin10 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 19 minutes and 22 seconds before requesting another review. How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. WalkthroughThe recent updates focus on enhancing the Ethereum Virtual Machine (EVM) by adding functionalities for state management. Two main features, Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
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 as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
Current dependencies on/for this PR: This stack of pull requests is managed by Graphite. |
129aa7e
to
a7b89c7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 10
Configuration used: CodeRabbit UI
Files ignored due to path filters (4)
pnpm-lock.yaml
is excluded by:!**/*.yaml
vm/api/package.json
is excluded by:!**/*.json
vm/procedures/package.json
is excluded by:!**/*.json
vm/vm/package.json
is excluded by:!**/*.json
Files selected for processing (76)
- bundler/base/docs/modules.md (1 hunks)
- bundler/bun/docs/modules.md (2 hunks)
- bundler/compiler/docs/modules.md (1 hunks)
- bundler/compiler/docs/modules/resolveArtifacts.md (1 hunks)
- bundler/compiler/docs/modules/resolveArtifactsSync.md (1 hunks)
- bundler/compiler/docs/modules/types.md (1 hunks)
- bundler/config/docs/classes/defineConfig.DefineConfigError.md (1 hunks)
- bundler/config/docs/classes/loadConfig.LoadConfigError.md (1 hunks)
- bundler/config/docs/modules.md (1 hunks)
- bundler/config/docs/modules/defaultConfig.md (1 hunks)
- bundler/config/docs/modules/defineConfig.md (1 hunks)
- bundler/config/docs/modules/loadConfig.md (1 hunks)
- bundler/config/docs/modules/types.md (1 hunks)
- bundler/esbuild/docs/modules.md (1 hunks)
- bundler/resolutions/docs/interfaces/types.ModuleInfo.md (1 hunks)
- bundler/resolutions/docs/modules.md (1 hunks)
- bundler/resolutions/docs/modules/moduleFactory.md (1 hunks)
- bundler/resolutions/docs/modules/resolveImports.md (1 hunks)
- bundler/resolutions/docs/modules/types.md (1 hunks)
- bundler/rollup/docs/modules.md (1 hunks)
- bundler/rspack/docs/modules.md (1 hunks)
- bundler/runtime/docs/modules.md (2 hunks)
- bundler/solc/docs/modules.md (4 hunks)
- bundler/unplugin/docs/modules.md (3 hunks)
- bundler/vite/docs/modules.md (1 hunks)
- bundler/webpack/docs/modules.md (1 hunks)
- extensions/viem/src/tevmViemExtension.js (2 hunks)
- tevm/api/index.ts (3 hunks)
- tevm/docs/modules/api.md (53 hunks)
- tevm/docs/modules/index.md (10 hunks)
- vm/api/docs/modules.md (8 hunks)
- vm/api/src/Tevm.ts (2 hunks)
- vm/api/src/TevmJsonRpcRequestHandler.ts (2 hunks)
- vm/api/src/errors/DumpStateError.ts (1 hunks)
- vm/api/src/errors/LoadStateError.ts (1 hunks)
- vm/api/src/errors/index.ts (1 hunks)
- vm/api/src/handlers/DumpStateHandler.ts (1 hunks)
- vm/api/src/handlers/LoadStateHandler.ts (1 hunks)
- vm/api/src/handlers/index.ts (1 hunks)
- vm/api/src/index.ts (6 hunks)
- vm/api/src/params/LoadStateParams.ts (1 hunks)
- vm/api/src/params/index.ts (1 hunks)
- vm/api/src/procedure/DumpStateJsonRpcProcedure.ts (1 hunks)
- vm/api/src/procedure/LoadStateJsonRpcProcedure.ts (1 hunks)
- vm/api/src/procedure/README.md (1 hunks)
- vm/api/src/procedure/index.ts (1 hunks)
- vm/api/src/requests/DumpStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/requests/LoadStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/requests/StateJsonRpcRequest.ts (1 hunks)
- vm/api/src/requests/TevmJsonRpcRequest.ts (2 hunks)
- vm/api/src/requests/index.ts (1 hunks)
- vm/api/src/responses/DumpStateJsonRpcResponse.ts (1 hunks)
- vm/api/src/responses/LoadStateJsonRpcResponse.ts (1 hunks)
- vm/api/src/responses/index.ts (1 hunks)
- vm/api/src/result/DumpStateResult.ts (1 hunks)
- vm/api/src/result/LoadStateResult.ts (1 hunks)
- vm/api/src/result/index.ts (1 hunks)
- vm/procedures/docs/modules.md (3 hunks)
- vm/procedures/src/handlers/dumpStateHandler.js (1 hunks)
- vm/procedures/src/handlers/dumpStateHandler.spec.ts (3 hunks)
- vm/procedures/src/handlers/index.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.js (2 hunks)
- vm/procedures/src/handlers/loadStateHandler.spec.ts (2 hunks)
- vm/procedures/src/index.js (1 hunks)
- vm/procedures/src/jsonrpc/dumpStateProcedure.js (1 hunks)
- vm/procedures/src/jsonrpc/index.js (1 hunks)
- vm/procedures/src/jsonrpc/loadStateProcedure.js (1 hunks)
- vm/procedures/src/requestProcedure.js (2 hunks)
- vm/vm/docs/modules.md (1 hunks)
- vm/vm/src/createTevm.js (2 hunks)
- vm/zod/docs/modules.md (2 hunks)
- vm/zod/src/index.js (1 hunks)
- vm/zod/src/params/zLoadStateParams.js (1 hunks)
- vm/zod/src/params/zLoadStateParms.spec.ts (1 hunks)
- vm/zod/src/validators/index.js (1 hunks)
- vm/zod/src/validators/validateLoadStateParams.js (1 hunks)
Files not reviewed due to errors (1)
- vm/api/src/handlers/index.js (no review received)
Files skipped from review due to trivial changes (6)
- bundler/bun/docs/modules.md
- bundler/compiler/docs/modules.md
- bundler/config/docs/modules.md
- vm/api/src/procedure/README.md
- vm/api/src/result/index.ts
- vm/vm/docs/modules.md
Additional comments: 80
vm/api/src/params/LoadStateParams.ts (1)
- 1-5: The
LoadStateParams
type is correctly defined and imports theSerializableTevmState
type from the@tevm/state
package. This change aligns with the PR's objective to introducetevm_load_state
functionality.vm/api/src/handlers/DumpStateHandler.ts (1)
- 1-6: The
DumpStateHandler
type is correctly defined as a function returning aPromise
ofDumpStateResult
. This is consistent with the PR's goal to addtevm_dump_state
functionality.vm/api/src/errors/LoadStateError.ts (1)
- 1-4: The
LoadStateError
type is correctly defined as a union ofInvalidRequestError
andUnexpectedError
. This aligns with the error handling requirements for the newtevm_load_state
functionality.bundler/resolutions/docs/modules.md (1)
- 9-11: The documentation update correctly reflects the changes to module references, pointing to their respective markdown documentation files.
vm/zod/src/validators/index.js (1)
- 6-6: The export of
validateLoadStateParams
is consistent with the PR's objectives to add validation forloadStateParams
, ensuring the parameters provided to thetevm_load_state
function are correctly formatted and valid.vm/procedures/src/jsonrpc/index.js (1)
- 6-7: The export of
dumpStateProcedure
andloadStateProcedure
is consistent with the PR's objectives to handle JSON-RPC procedures for state-related requests.vm/api/src/result/LoadStateResult.ts (1)
- 1-11: The
LoadStateResult
type is correctly defined with an optional array of errors, which is a good practice for error handling in asynchronous operations.vm/api/src/handlers/LoadStateHandler.ts (1)
- 1-9: The
LoadStateHandler
type is correctly defined as a function that takesLoadStateParams
and returns aPromise
ofLoadStateResult
. This aligns with the PR's goal to addtevm_load_state
functionality.vm/api/src/params/index.ts (1)
- 8-8: The export of
LoadStateParams
is consistent with the PR's objectives to add this type to the tevm API.vm/api/src/handlers/index.ts (1)
- 7-8: The export of
DumpStateHandler
andLoadStateHandler
is consistent with the PR's objectives to add these handlers to the tevm API.vm/api/src/responses/index.ts (1)
- 8-8: The export of
LoadStateJsonRpcResponse
is consistent with the PR's objectives to add this response type to the tevm API.vm/api/src/requests/DumpStateJsonRpcRequest.ts (1)
- 1-8: The
DumpStateJsonRpcRequest
type is correctly defined as aJsonRpcRequest
for thetevm_dump_state
method. The TODO comment indicates that parameters may be added in the future, which is a good placeholder for potential enhancements.vm/api/src/procedure/DumpStateJsonRpcProcedure.ts (1)
- 1-9: The
DumpStateJsonRpcProcedure
type is correctly defined as a function that takes aDumpStateJsonRpcRequest
and returns aPromise
ofDumpStateJsonRpcResponse
. This aligns with the PR's goal to addtevm_dump_state
functionality.vm/api/src/procedure/LoadStateJsonRpcProcedure.ts (1)
- 1-9: The
LoadStateJsonRpcProcedure
type is correctly defined as a function that takes aLoadStateJsonRpcRequest
and returns aPromise
ofLoadStateJsonRpcResponse
. This aligns with the PR's goal to addtevm_load_state
functionality.vm/procedures/src/index.js (1)
- 8-9: The addition of
dumpStateHandler
andloadStateHandler
to the list of exported entities is consistent with the PR's objectives. Similarly, the addition ofdumpStateProcedure
andloadStateProcedure
aligns with the new functionalities being introduced.Also applies to: 17-18
vm/api/src/requests/index.ts (1)
- 9-10: The addition of
LoadStateJsonRpcRequest
andDumpStateJsonRpcRequest
to therequests
module is consistent with the PR's objectives to support the newdumpState
andloadState
functionalities.vm/api/src/procedure/index.ts (1)
- 8-9: The addition of
LoadStateJsonRpcProcedure
andDumpStateJsonRpcProcedure
to theprocedure
module is consistent with the PR's objectives to support the newdumpState
andloadState
functionalities.vm/api/src/result/DumpStateResult.ts (1)
- 1-16: The
DumpStateResult
type is correctly defined with thestate
property and an optional array of errors. This is a good practice for error handling in asynchronous operations and aligns with the PR's goal to addtevm_dump_state
functionality.vm/api/src/responses/DumpStateJsonRpcResponse.ts (1)
- 1-10: The
DumpStateJsonRpcResponse
type is correctly defined as aJsonRpcResponse
for thetevm_dump_state
method. This aligns with the PR's goal to addtevm_dump_state
functionality.vm/api/src/responses/LoadStateJsonRpcResponse.ts (1)
- 1-10: The
LoadStateJsonRpcResponse
type is correctly defined as aJsonRpcResponse
for thetevm_load_state
method. This aligns with the PR's goal to addtevm_load_state
functionality.vm/zod/src/index.js (1)
- 24-24: The addition of
validateLoadStateParams
to the list of exported entities is consistent with the PR's objectives to add validation forloadStateParams
.bundler/esbuild/docs/modules.md (1)
- 9-15: The documentation update correctly reflects the changes to the
esbuildPluginTevm
function signature and parameter types, using code formatting for clarity.Also applies to: 21-26
bundler/vite/docs/modules.md (1)
- 9-15: The documentation update correctly reflects the changes to the
vitePluginTevm
function signature and parameter types, using code formatting for clarity.Also applies to: 21-26
vm/zod/src/params/zLoadStateParams.js (1)
- 1-17: The
zLoadStateParams
validator is correctly defined using Zod to validate the structure of theLoadStateParams
. This aligns with the PR's goal to ensure the parameters provided to thetevm_load_state
function are correctly formatted and valid.bundler/rollup/docs/modules.md (1)
- 9-15: The documentation update correctly reflects the changes to the
rollupPluginTevm
function signature and parameter types, using code formatting for clarity.Also applies to: 21-26
bundler/rspack/docs/modules.md (1)
- 9-15: The documentation update correctly reflects the changes to the
rspackPluginTevm
function signature and parameter types, using code formatting for clarity.Also applies to: 21-26
bundler/webpack/docs/modules.md (1)
- 9-15: The documentation update correctly reflects the changes to the
webpackPluginTevm
function signature and parameter types, using code formatting for clarity.Also applies to: 21-26
vm/procedures/src/jsonrpc/dumpStateProcedure.js (1)
- 1-17: The
dumpStateProcedure
function is correctly implemented to handledumpState
JSON-RPC requests. It uses thedumpStateHandler
to process the request and formats the response according to the JSON-RPC 2.0 specification.vm/api/src/Tevm.ts (1)
- 3-11: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-25]
The
Tevm
interface has been correctly updated to includeDumpStateHandler
andLoadStateHandler
, expanding its capabilities to handle state dumping and loading as per the PR's objectives.vm/api/src/requests/TevmJsonRpcRequest.ts (1)
- 1-9: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-17]
The
TevmJsonRpcRequest
type has been correctly updated to includeDumpStateJsonRpcRequest
andLoadStateJsonRpcRequest
, reflecting the new functionalities introduced in the PR.vm/api/src/requests/LoadStateJsonRpcRequest.ts (1)
- 1-21: The
LoadStateJsonRpcRequest
type is correctly defined as aJsonRpcRequest
for thetevm_load_state
method with serialized parameters. This aligns with the PR's goal to addtevm_load_state
functionality.bundler/config/docs/modules/defaultConfig.md (1)
- 1-31: The documentation for
defaultConfig
correctly describes the default configuration object for the CompilerConfig. It provides a clear type declaration and a link to the source code.vm/zod/src/validators/validateLoadStateParams.js (1)
- 1-27: The
validateLoadStateParams
function is correctly implemented to validate theLoadStateParams
using thezLoadStateParams
schema. It returns an array ofLoadStateError
types if validation fails, which is consistent with the PR's objectives for robust parameter validation.bundler/runtime/docs/modules.md (1)
- 9-13: The documentation update correctly reflects the changes to the
ModuleType
type alias and thegenerateRuntime
function, providing specific links and using code formatting for clarity.Also applies to: 19-41
bundler/compiler/docs/modules/resolveArtifactsSync.md (1)
- 1-36: The documentation for
resolveArtifactsSync
correctly describes the function and its parameters, providing a clear type declaration and a link to the source code.vm/zod/src/params/zLoadStateParms.spec.ts (1)
- 1-33: The test for
zLoadStateParams
is correctly implemented, ensuring that valid parameters are parsed successfully and invalid parameters throw an error. This aligns with the PR's goal to ensure robust validation forloadStateParams
.bundler/compiler/docs/modules/resolveArtifacts.md (1)
- 1-38: The documentation for
resolveArtifacts
correctly describes the asynchronous function and its parameters, providing a clear type declaration and a link to the source code.vm/procedures/src/handlers/dumpStateHandler.js (1)
- 1-49: The
dumpStateHandler
function has been refactored to return an object withstate
anderrors
properties. The implementation correctly handles the state dumping process and error handling, aligning with the PR's objectives.bundler/config/docs/modules/defineConfig.md (1)
- 1-52: The documentation for
defineConfig
correctly describes the typesafe way to create a CompilerConfig, providing an example and a link to the source code.bundler/solc/docs/modules.md (1)
- 38-54: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [9-76]
The documentation update correctly reflects the changes to the
solc
module, including thefileLevelOption
,releases
,createSolc
, andsolcCompile
entities, providing specific links and using code formatting for clarity.vm/procedures/src/handlers/loadStateHandler.js (1)
- 1-19: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-40]
The
loadStateHandler
function is correctly refactored to acceptstateManager
as a parameter and return an async function that takesparams
as input. It validates theparams
and processes thetevmState
, which is consistent with the PR's objectives.bundler/resolutions/docs/interfaces/types.ModuleInfo.md (1)
- 1-60: The documentation for the
ModuleInfo
interface correctly describes its properties and provides links to the source code definitions.tevm/api/index.ts (1)
- 43-55: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-68]
The
index.ts
file has been updated to include new error types and handlers related to thedumpState
andloadState
functionalities, which is consistent with the PR's objectives.vm/api/src/errors/index.ts (1)
- 31-32: The export of
LoadStateError
andDumpStateError
is consistent with the PR's objectives to add these error types to the tevm API.bundler/unplugin/docs/modules.md (2)
30-47: The function
createUnplugin
has been documented with type parameters and parameters. Ensure that theUnpluginFactory
type andUnpluginInstance
return type are correctly defined and imported in the project.57-68: The function
tevmUnplugin
is documented with parameters and a return type. It's important to ensure that theSolcVersions$1
type for thesolc
option parameter andUnpluginOptions
return type are correctly defined and used consistently across the codebase.vm/procedures/src/handlers/dumpStateHandler.spec.ts (3)
1-2: The imports for
dumpStateHandler
andloadStateHandler
have been updated to reflect the new function names. This change is consistent with the PR objectives.22-22: The destructuring of the result from
dumpStateHandler
has been updated to extract thestate
property. This change should be verified to ensure that thedumpStateHandler
function indeed returns an object with astate
property.Verification successful
The search results indicate that
dumpStateHandler
is indeed present in the codebase and is exported fromvm/procedures/src/handlers/dumpStateHandler.js
. The relevant line of code fromdumpStateHandler.js
is:export const dumpStateHandler = (stateManager) => async () => {This line confirms that
dumpStateHandler
is an exported constant that is a function takingstateManager
as an argument and returning an async function. The async function, when called, returns an object. To verify the structure of the returned object, we should inspect thedumpStateHandler.js
file, specifically the implementation of the returned async function.
The provided output from the
dumpStateHandler.js
file shows thatdumpStateHandler
is an exported constant that is a higher-order function. It takesstateManager
as an argument and returns an async function. Within the body of this async function, astate
object is declared and populated in atry
block.Although the output does not show the complete function, including the return statement, the presence of the
state
object within the async function suggests that this is likely the object being returned. To confirm the structure of the returned object, we would need to see the actual return statement from thedumpStateHandler
function.Given the pattern of the code and the naming conventions, it is reasonable to infer that the
state
object is indeed what is being returned, and it would contain the dumped state information. However, without the explicit return statement, we cannot conclusively verify the exact structure of the return value.To provide a definitive answer, we should extend the search to include more lines following the declaration of the
state
object to find the return statement.
The extended output from the
dumpStateHandler.js
file provides additional context on what thedumpStateHandler
function does. It shows that the function is preparing astate
object by iterating overaccountAddresses
and populating it with account and storage data.However, the output still does not include the return statement of the
dumpStateHandler
function. To verify the structure of the returned object, we need to see the actual return statement. Since the output is still incomplete, we should continue to extend the search further to capture the return statement.
The new output from the
dumpStateHandler.js
file includes atry
block where thestate
object is populated, and acatch
block that returns an object with astate
property and anerrors
property. This indicates that thedumpStateHandler
function is designed to return an object that includes astate
property, which aligns with the destructuring used in thedumpStateHandler.spec.ts
file:const { state: dumpedState } = await dumpStateHandler(stateManager)()Although the output does not show the complete
try
block or the full success path return statement, the presence of thestate
property in thecatch
block return statement strongly suggests that the successful execution path would also return an object with astate
property.Based on this information, it is reasonable to conclude that the
dumpStateHandler
function returns an object with astate
property, and the review comment has been verified as accurate.* 37-39: The invocation of `loadStateHandler` has been updated to pass an object with a `state` property. This change should be verified to ensure that the `loadStateHandler` function is designed to accept such an object.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that dumpStateHandler returns an object with a state property. ast-grep --lang typescript --pattern $'dumpStateHandler($_) { return { state: $_ } }'Length of output: 554
Script:
#!/bin/bash # Adjusting the ast-grep pattern to correctly match the structure of the dumpStateHandler function. ast-grep --lang typescript --pattern $'function dumpStateHandler($_) { $$$ return { state: $_ }; }'Length of output: 104
Script:
#!/bin/bash # Search for the dumpStateHandler function to confirm its existence and then inspect its return type. ast-grep --lang typescript --pattern $'function dumpStateHandler($_) { $$$ }'Length of output: 80
Script:
#!/bin/bash # Use ripgrep to search for the dumpStateHandler function within the codebase. rg "function dumpStateHandler"Length of output: 32
Script:
#!/bin/bash # Broaden the search to find any occurrence of dumpStateHandler in the codebase. rg "dumpStateHandler"Length of output: 1181
Script:
#!/bin/bash # Inspect the implementation of the dumpStateHandler function to verify the structure of the returned object. rg "dumpStateHandler" vm/procedures/src/handlers/dumpStateHandler.js -A 10Length of output: 373
Script:
#!/bin/bash # Extend the search to include more lines following the declaration of the state object to find the return statement. rg "dumpStateHandler" vm/procedures/src/handlers/dumpStateHandler.js -A 20Length of output: 641
Script:
#!/bin/bash # Extend the search further to capture the return statement of the dumpStateHandler function. rg "dumpStateHandler" vm/procedures/src/handlers/dumpStateHandler.js -A 30Length of output: 777
Verification successful
The
loadStateHandler
function is indeed designed to accept an object with astate
property. The function signatureexport const loadStateHandler = (stateManager) => async (params) => { ... }
indicates that it is a higher-order function returning an asynchronous function that takesparams
as an argument. Within the body of this function,params.state
is used to access the state object, which aligns with the invocation pattern seen in thedumpStateHandler.spec.ts
file.Based on this information, the review comment is addressed, and the invocation of
loadStateHandler
in the provided snippet is consistent with the function's design.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that loadStateHandler accepts an object with a state property. ast-grep --lang typescript --pattern $'loadStateHandler($_)($_)'Length of output: 409
Script:
#!/bin/bash # Verify the definition of loadStateHandler to confirm it accepts an object with a state property. ast-grep --lang typescript --pattern $'export function loadStateHandler($_) { $$$ }'Length of output: 87
Script:
#!/bin/bash # Attempt to find the definition of loadStateHandler without assuming it's an exported function. ast-grep --lang typescript --pattern $'function loadStateHandler($_) { $$$ }'Length of output: 80
Script:
#!/bin/bash # Broaden the search to include any kind of function or method definition for loadStateHandler. ast-grep --lang typescript --pattern $'loadStateHandler($$$)'Length of output: 266
Script:
#!/bin/bash # Search for the file that likely contains the definition of loadStateHandler. # We use ripgrep to search for the string "loadStateHandler" within the files. rg "loadStateHandler" -ttsLength of output: 438
Script:
#!/bin/bash # Examine the contents of loadStateHandler.js to verify the function's signature. cat vm/procedures/src/handlers/loadStateHandler.jsLength of output: 1381
vm/procedures/src/handlers/loadStateHandler.spec.ts (2)
1-1: The import for
loadStateHandler
has been updated to reflect the new function name. This change is consistent with the PR objectives.45-45: The invocation of
loadStateHandler
has been updated to pass an object with astate
property. This change should be verified to ensure that theloadStateHandler
function is designed to accept such an object.Verification successful
The
loadStateHandler
function is indeed designed to accept an object with astate
property as its parameter. The function signature isexport const loadStateHandler = (stateManager) => async (params) => { ... }
, whereparams
is expected to be an object that contains thestate
property, as it is used within the function body (const tevmState = params.state
). This confirms that the invocationawait loadStateHandler(stateManager)({ state })
is correct and matches the expected function signature.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that loadStateHandler accepts an object with a state property. ast-grep --lang typescript --pattern $'loadStateHandler($_)($_)'Length of output: 409
Script:
#!/bin/bash # Verify the signature of the loadStateHandler function to ensure it accepts an object with a state property. ast-grep --lang typescript --pattern $'function loadStateHandler($_) { $$$ }'Length of output: 80
Script:
#!/bin/bash # Attempt to find the definition of loadStateHandler, accounting for it possibly being a method or an exported constant. ast-grep --lang typescript --pattern $'export $$$$ loadStateHandler = $_'Length of output: 530
Script:
#!/bin/bash # Correct the pattern to properly search for an exported assignment or function definition of loadStateHandler. ast-grep --lang typescript --pattern $'export const loadStateHandler = $_'Length of output: 75
Script:
#!/bin/bash # Use ripgrep to search for the definition of loadStateHandler in the codebase. rg "loadStateHandler" -t tsLength of output: 439
Script:
#!/bin/bash # Display the contents of loadStateHandler.js to verify the function signature. cat vm/procedures/src/handlers/loadStateHandler.jsLength of output: 1381
vm/procedures/src/requestProcedure.js (1)
- 5-8: The imports for
dumpStateProcedure
andloadStateProcedure
have been added. This change is consistent with the PR objectives to handle new cases for state dumping and loading.vm/vm/src/createTevm.js (2)
14-15: The
dumpStateHandler
andloadStateHandler
have been added to the list of imports. This change is consistent with the PR objectives to manage the state of the EVM.151-152: The
dumpState
andloadState
handlers have been added to thecreateTevm
function. This change aligns with the PR objectives to introduce new functionalities for state management. Ensure that these handlers are correctly implemented and integrated into thecreateTevm
function.Verification successful
The shell script output confirms the presence of
dumpStateHandler
andloadStateHandler
within thecreateTevm.js
file. Both handlers are referenced twice: once by themselves, likely as imports or definitions, and once within an object, presumably thecreateTevm
function, where they are being passedevm.stateManager
as an argument.This information verifies that the handlers have been correctly implemented and integrated into the
createTevm
function, aligning with the PR objectives to introduce new functionalities for state management.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify the implementation of dumpStateHandler and loadStateHandler within createTevm. ast-grep --lang javascript --pattern $'function createTevm($_) { $$$ dumpStateHandler($_); $$$ loadStateHandler($_); $$$ }'Length of output: 124
Script:
#!/bin/bash # Adjusting the ast-grep pattern to find the correct implementation of dumpStateHandler and loadStateHandler within createTevm. ast-grep --lang javascript --pattern $'function createTevm($_) { $$$ dumpState: dumpStateHandler($_), $$$ loadState: loadStateHandler($_), $$$ }'Length of output: 156
Script:
#!/bin/bash # Use ripgrep to search for the presence of dumpStateHandler and loadStateHandler within the createTevm.js file. rg "dumpStateHandler" "vm/vm/src/createTevm.js" rg "loadStateHandler" "vm/vm/src/createTevm.js"Length of output: 227
vm/api/src/TevmJsonRpcRequestHandler.ts (3)
57-57: The addition of
LoadStateJsonRpcResponse
to the import list is correct and aligns with the PR objectives to support new functionalities.63-63: The addition of
DumpStateJsonRpcResponse
to the import list is also correct and aligns with the PR objectives.129-130: The addition of
tevm_load_state
andtevm_dump_state
to theTevmReturnType
type is correct and necessary for the new functionalities to work as expected.extensions/viem/src/tevmViemExtension.js (3)
274-287: The
dumpState
function has been added correctly and follows the existing pattern for extension functions. It uses theformatResult
utility to handle the response, which is consistent with other functions in the extension.289-302: The
loadState
function is also added correctly and uses theformatResult
utility. It correctly passes theparams
to the request, which is necessary for theloadState
functionality.312-313: The integration of
dumpState
andloadState
into the returnedtevm
object is done correctly, making these functions available for use through the extension.vm/procedures/docs/modules.md (4)
17-20: The documentation has been updated to include
dumpStateHandler
,dumpStateProcedure
,loadStateHandler
, andloadStateProcedure
. This is an important update for maintainability and ensuring that the new features are well-documented.201-217: The
dumpStateHandler
function is documented correctly, including the link to the source code. This ensures that developers can easily find the implementation details.221-239: The
dumpStateProcedure
is also documented correctly, with a clear description and parameters. The link to the source code is provided, which is good for traceability.243-259: The
loadStateHandler
documentation is correct and follows the established pattern for handler documentation in the project.vm/api/src/index.ts (7)
62-62: The addition of
LoadStateParams
to the export list is correct and aligns with the PR objectives to support the newloadState
functionality.84-85: The addition of
LoadStateError
andDumpStateError
types is correct and necessary for proper error handling of the new functionalities.169-170: The addition of
DumpStateHandler
andLoadStateHandler
types is correct and aligns with the PR objectives to support the new functionalities.230-230: The addition of
DumpStateResult
to the export list is correct and necessary for the newdumpState
functionality to work as expected.238-239: The addition of
DumpStateJsonRpcRequest
andLoadStateJsonRpcRequest
types is correct and aligns with the PR objectives to support the new functionalities.355-355: The addition of
LoadStateJsonRpcResponse
to the export list is correct and necessary for the newloadState
functionality to work as expected.415-416: The addition of
LoadStateJsonRpcProcedure
andDumpStateJsonRpcProcedure
types is correct and aligns with the PR objectives to support the new functionalities.tevm/docs/modules/index.md (1)
- 317-324: The addition of
LoadStateJsonRpcRequest
andDumpStateJsonRpcRequest
to theTevmJsonRpcRequest
type alias is consistent with the PR objectives to introduce new functionalities for state management. This change ensures that the new request types are recognized as valid JSON-RPC requests within the tevm ecosystem.tevm/docs/modules/api.md (3)
40-43: The introduction of new types related to the
dumpState
functionality, such asDumpStateError
,DumpStateHandler
,DumpStateJsonRpcProcedure
, andDumpStateResult
, aligns with the PR objectives. These types are necessary for error handling, request handling, and defining the result of thedumpState
operation.69-71: Similarly, the addition of
LoadStateError
,LoadStateHandler
, andLoadStateJsonRpcProcedure
supports the newloadState
functionality. These types are crucial for managing the loading of state into the tevm, including error handling and the JSON-RPC procedure definition.903-907: The
LoadStateError
type is also defined appropriately, covering the potential errors during the state loading process. Consistency in error handling types between thedumpState
andloadState
functionalities is maintained.vm/zod/docs/modules.md (1)
- 28-28: The documentation for the new function
validateLoadStateParams
is correctly added and follows the existing structure of the document.vm/api/docs/modules.md (4)
124-128: The addition of
DumpStateError
,DumpStateHandler
,DumpStateJsonRpcProcedure
,DumpStateJsonRpcRequest
, andDumpStateResult
to the documentation is consistent with the PR's objectives to introduce new functionalities for state dumping. Ensure that the links provided are valid and lead to the correct source files.386-391: The addition of
LoadStateError
,LoadStateHandler
,LoadStateJsonRpcProcedure
,LoadStateJsonRpcRequest
,LoadStateJsonRpcResponse
, andLoadStateParams
to the documentation aligns with the PR's objectives to introduce new functionalities for state loading. As with the previous comment, ensure that the links are valid and lead to the correct source files.7017-7018: The
dumpState
andloadState
handlers are added to the list of handlers. This is a good addition, but ensure that the handlers are implemented and registered correctly in the codebase to handle the respective procedures.7040-7040: The
TevmJsonRpcRequest
type is updated to include the newLoadStateJsonRpcRequest
andDumpStateJsonRpcRequest
types. This change is necessary for the new functionalities to be correctly handled by the JSON-RPC request processor.
vm/api/docs/modules.md
Outdated
Ƭ **DumpStateJsonRpcRequest**: [`JsonRpcRequest`](modules.md#jsonrpcrequest)\<``"tevm_dump_state"``, `void`\> | ||
|
||
The JSON-RPC request for the `tevm_script` method | ||
Takes no parameters at this time thus retrieving the state for every account | ||
TODO: Add parameters to request only a subset of the state |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The DumpStateJsonRpcRequest
type documentation mentions that it currently takes no parameters and includes a TODO
to add parameters for requesting only a subset of the state. This indicates a future enhancement and should be tracked in the project's issues or task management system to ensure it is not forgotten.
bundler/unplugin/docs/modules.md
Outdated
|
||
## Type Aliases | ||
|
||
### CompilerOption | ||
|
||
Ƭ **CompilerOption**: infer | ||
Ƭ **CompilerOption**\<\>: `infer` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The type alias CompilerOption
is defined as infer
. This is unusual as infer
is typically used within the context of TypeScript's conditional types to infer within the true branch of a conditional type. It's not clear what infer
refers to in this context.
import { loadStateHandler } from '../index.js' | ||
|
||
/** | ||
* Creates a DumpState JSON-RPC Procedure for handling dumpState requests with Ethereumjs EVM | ||
* @param {import('@tevm/state').TevmStateManager} stateManager | ||
* @returns {import('@tevm/api').LoadStateJsonRpcProcedure} | ||
*/ | ||
export const loadStateProcedure = (stateManager) => async (request) => { | ||
const { | ||
params: { state }, | ||
} = request | ||
|
||
await loadStateHandler(stateManager)({ state: state }) | ||
|
||
return { | ||
jsonrpc: '2.0', | ||
error: { | ||
code: 'InvalidRequestError', | ||
message: 'Invalid request', | ||
}, | ||
method: 'tevm_load_state', | ||
...(request.id === undefined ? {} : { id: request.id }), | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The loadStateProcedure
function is correctly implemented to handle loadState
JSON-RPC requests. It uses the loadStateHandler
to process the request and formats the response according to the JSON-RPC 2.0 specification. However, the error handling seems to be hardcoded to always return an InvalidRequestError
, which may not be appropriate for all error conditions.
Consider improving the error handling to return more specific errors based on the actual failure condition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great start!
a64a8d4
to
b9d67b4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to path filters (2)
pnpm-lock.yaml
is excluded by:!**/*.yaml
vm/procedures/package.json
is excluded by:!**/*.json
Files selected for processing (12)
- extensions/viem/src/tevmViemExtension.js (3 hunks)
- tevm/api/index.ts (4 hunks)
- tevm/docs/modules/index.md (11 hunks)
- vm/api/docs/modules.md (8 hunks)
- vm/api/src/Tevm.ts (3 hunks)
- vm/procedures/docs/modules.md (10 hunks)
- vm/procedures/src/handlers/index.js (1 hunks)
- vm/procedures/src/index.js (2 hunks)
- vm/procedures/src/jsonrpc/index.js (1 hunks)
- vm/procedures/src/requestProcedure.js (2 hunks)
- vm/vm/docs/modules.md (1 hunks)
- vm/vm/src/createTevm.js (2 hunks)
Files skipped from review as they are similar to previous changes (12)
- extensions/viem/src/tevmViemExtension.js
- tevm/api/index.ts
- tevm/docs/modules/index.md
- vm/api/docs/modules.md
- vm/api/src/Tevm.ts
- vm/procedures/docs/modules.md
- vm/procedures/src/handlers/index.js
- vm/procedures/src/index.js
- vm/procedures/src/jsonrpc/index.js
- vm/procedures/src/requestProcedure.js
- vm/vm/docs/modules.md
- vm/vm/src/createTevm.js
b9d67b4
to
e5a1461
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to path filters (3)
extensions/viem/package.json
is excluded by:!**/*.json
pnpm-lock.yaml
is excluded by:!**/*.yaml
vm/procedures/package.json
is excluded by:!**/*.json
Files selected for processing (28)
- extensions/viem/src/tevmViemExtension.js (3 hunks)
- tevm/api/index.ts (4 hunks)
- tevm/docs/modules/index.md (11 hunks)
- vm/api/docs/modules.md (8 hunks)
- vm/api/src/Tevm.ts (3 hunks)
- vm/api/src/TevmJsonRpcRequestHandler.ts (2 hunks)
- vm/api/src/errors/DumpStateError.ts (1 hunks)
- vm/api/src/errors/LoadStateError.ts (1 hunks)
- vm/api/src/requests/DumpStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/requests/LoadStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/responses/DumpStateJsonRpcResponse.ts (1 hunks)
- vm/api/src/responses/LoadStateJsonRpcResponse.ts (1 hunks)
- vm/procedures/docs/modules.md (10 hunks)
- vm/procedures/src/handlers/dumpStateHandler.js (1 hunks)
- vm/procedures/src/handlers/index.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.spec.ts (3 hunks)
- vm/procedures/src/index.js (2 hunks)
- vm/procedures/src/jsonrpc/dumpStateProcedure.js (1 hunks)
- vm/procedures/src/jsonrpc/index.js (1 hunks)
- vm/procedures/src/jsonrpc/loadStateProcedure.js (1 hunks)
- vm/procedures/src/requestProcedure.js (2 hunks)
- vm/state/docs/modules.md (2 hunks)
- vm/state/src/SerializableState.ts (1 hunks)
- vm/vm/docs/modules.md (1 hunks)
- vm/vm/src/createTevm.js (2 hunks)
- vm/zod/src/params/zLoadStateParams.js (1 hunks)
- vm/zod/src/params/zLoadStateParms.spec.ts (1 hunks)
Files skipped from review as they are similar to previous changes (26)
- extensions/viem/src/tevmViemExtension.js
- tevm/api/index.ts
- tevm/docs/modules/index.md
- vm/api/docs/modules.md
- vm/api/src/Tevm.ts
- vm/api/src/TevmJsonRpcRequestHandler.ts
- vm/api/src/errors/DumpStateError.ts
- vm/api/src/errors/LoadStateError.ts
- vm/api/src/requests/DumpStateJsonRpcRequest.ts
- vm/api/src/requests/LoadStateJsonRpcRequest.ts
- vm/api/src/responses/DumpStateJsonRpcResponse.ts
- vm/api/src/responses/LoadStateJsonRpcResponse.ts
- vm/procedures/docs/modules.md
- vm/procedures/src/handlers/dumpStateHandler.js
- vm/procedures/src/handlers/index.js
- vm/procedures/src/handlers/loadStateHandler.js
- vm/procedures/src/handlers/loadStateHandler.spec.ts
- vm/procedures/src/index.js
- vm/procedures/src/jsonrpc/dumpStateProcedure.js
- vm/procedures/src/jsonrpc/index.js
- vm/procedures/src/jsonrpc/loadStateProcedure.js
- vm/procedures/src/requestProcedure.js
- vm/vm/docs/modules.md
- vm/vm/src/createTevm.js
- vm/zod/src/params/zLoadStateParams.js
- vm/zod/src/params/zLoadStateParms.spec.ts
Additional comments: 4
vm/state/src/SerializableState.ts (2)
- 15-21: The
ParameterizedAccountStorage
interface has been correctly defined, aligning with the existingAccountStorage
structure but without specific changes in this segment.- 23-26: The
ParameterizedTevmState
type has been introduced as an API-friendly version ofSerializableTevmState
, which is consistent with the PR's objectives to provide state serialization functionalities.vm/state/docs/modules.md (2)
- 20-20: The addition of the
SerializedTevmState
type alias in the documentation is consistent with the changes in the codebase and provides clarity on the new functionality.- 34-48: The documentation has been updated to include links to the definitions of
SerializableTevmState
andSerializedTevmState
in theSerializableState.ts
file, which helps maintain the accuracy and usefulness of the documentation.
…d_state_dump_and_load_to_api
e5a1461
to
03ec619
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to path filters (3)
extensions/viem/package.json
is excluded by:!**/*.json
pnpm-lock.yaml
is excluded by:!**/*.yaml
vm/procedures/package.json
is excluded by:!**/*.json
Files selected for processing (29)
- extensions/viem/src/tevmViemExtension.js (4 hunks)
- tevm/api/index.ts (4 hunks)
- tevm/docs/modules/index.md (11 hunks)
- vm/api/docs/modules.md (8 hunks)
- vm/api/src/Tevm.ts (3 hunks)
- vm/api/src/TevmJsonRpcRequestHandler.ts (2 hunks)
- vm/api/src/errors/DumpStateError.ts (1 hunks)
- vm/api/src/errors/LoadStateError.ts (1 hunks)
- vm/api/src/requests/DumpStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/requests/LoadStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/responses/DumpStateJsonRpcResponse.ts (1 hunks)
- vm/api/src/responses/LoadStateJsonRpcResponse.ts (1 hunks)
- vm/api/src/result/DumpStateResult.ts (1 hunks)
- vm/procedures/docs/modules.md (10 hunks)
- vm/procedures/src/handlers/dumpStateHandler.js (1 hunks)
- vm/procedures/src/handlers/index.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.spec.ts (2 hunks)
- vm/procedures/src/index.js (2 hunks)
- vm/procedures/src/jsonrpc/dumpStateProcedure.js (1 hunks)
- vm/procedures/src/jsonrpc/index.js (1 hunks)
- vm/procedures/src/jsonrpc/loadStateProcedure.js (1 hunks)
- vm/procedures/src/requestProcedure.js (2 hunks)
- vm/state/docs/modules.md (2 hunks)
- vm/state/src/SerializableState.ts (2 hunks)
- vm/vm/docs/modules.md (1 hunks)
- vm/vm/src/createTevm.js (2 hunks)
- vm/zod/src/params/zLoadStateParams.js (1 hunks)
- vm/zod/src/params/zLoadStateParms.spec.ts (1 hunks)
Files skipped from review as they are similar to previous changes (26)
- extensions/viem/src/tevmViemExtension.js
- tevm/api/index.ts
- vm/api/docs/modules.md
- vm/api/src/Tevm.ts
- vm/api/src/TevmJsonRpcRequestHandler.ts
- vm/api/src/errors/DumpStateError.ts
- vm/api/src/errors/LoadStateError.ts
- vm/api/src/requests/DumpStateJsonRpcRequest.ts
- vm/api/src/requests/LoadStateJsonRpcRequest.ts
- vm/api/src/responses/DumpStateJsonRpcResponse.ts
- vm/api/src/responses/LoadStateJsonRpcResponse.ts
- vm/api/src/result/DumpStateResult.ts
- vm/procedures/docs/modules.md
- vm/procedures/src/handlers/dumpStateHandler.js
- vm/procedures/src/handlers/index.js
- vm/procedures/src/handlers/loadStateHandler.js
- vm/procedures/src/handlers/loadStateHandler.spec.ts
- vm/procedures/src/index.js
- vm/procedures/src/jsonrpc/index.js
- vm/procedures/src/jsonrpc/loadStateProcedure.js
- vm/procedures/src/requestProcedure.js
- vm/state/docs/modules.md
- vm/state/src/SerializableState.ts
- vm/vm/src/createTevm.js
- vm/zod/src/params/zLoadStateParams.js
- vm/zod/src/params/zLoadStateParms.spec.ts
Additional comments: 7
vm/procedures/src/jsonrpc/dumpStateProcedure.js (5)
- 1-3: The imports are correct and follow the standard convention.
- 9-10: Ensure that the
dumpStateHandler
function is properly handling errors and returning a result that matches the expected structure.- 17-26: The loop for parsing the state object is correctly transforming each entry into the expected format.
- 28-41: Verify that the error handling conforms to the JSON-RPC 2.0 specification and that the
DumpStateError
type is correctly implemented.- 43-50: The successful response structure is compliant with the JSON-RPC 2.0 specification.
vm/vm/docs/modules.md (1)
- 169-169: The link to
createTevm.js
has been correctly updated to reflect its new line number.tevm/docs/modules/index.md (1)
- 317-324: The
TevmJsonRpcRequest
type has been correctly expanded to includeLoadStateJsonRpcRequest
andDumpStateJsonRpcRequest
.
03ec619
to
c3cc552
Compare
c3cc552
to
3ed42f9
Compare
d3d66e2
to
5dc4b2e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Configuration used: CodeRabbit UI
Files ignored due to path filters (2)
extensions/viem/package.json
is excluded by:!**/*.json
pnpm-lock.yaml
is excluded by:!**/*.yaml
Files selected for processing (26)
- extensions/viem/src/tevmViemExtension.js (3 hunks)
- tevm/api/index.ts (4 hunks)
- tevm/docs/modules/contract.md (3 hunks)
- tevm/docs/modules/index.md (11 hunks)
- vm/api/docs/modules.md (9 hunks)
- vm/api/src/Tevm.ts (4 hunks)
- vm/api/src/TevmJsonRpcRequestHandler.ts (4 hunks)
- vm/api/src/requests/DumpStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/requests/LoadStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/responses/DumpStateJsonRpcResponse.ts (1 hunks)
- vm/api/src/result/index.ts (1 hunks)
- vm/procedures/docs/modules.md (5 hunks)
- vm/procedures/src/handlers/dumpStateHandler.js (1 hunks)
- vm/procedures/src/handlers/index.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.spec.ts (2 hunks)
- vm/procedures/src/index.js (2 hunks)
- vm/procedures/src/jsonrpc/dumpStateProcedure.js (1 hunks)
- vm/procedures/src/jsonrpc/index.js (1 hunks)
- vm/procedures/src/jsonrpc/loadStateProcedure.js (1 hunks)
- vm/procedures/src/requestProcedure.js (2 hunks)
- vm/state/docs/modules.md (2 hunks)
- vm/state/src/SerializableState.ts (1 hunks)
- vm/vm/src/createTevm.js (3 hunks)
- vm/zod/src/params/zLoadStateParams.js (1 hunks)
- vm/zod/src/params/zLoadStateParms.spec.ts (1 hunks)
Files skipped from review as they are similar to previous changes (25)
- extensions/viem/src/tevmViemExtension.js
- tevm/api/index.ts
- tevm/docs/modules/contract.md
- tevm/docs/modules/index.md
- vm/api/docs/modules.md
- vm/api/src/Tevm.ts
- vm/api/src/TevmJsonRpcRequestHandler.ts
- vm/api/src/requests/DumpStateJsonRpcRequest.ts
- vm/api/src/requests/LoadStateJsonRpcRequest.ts
- vm/api/src/responses/DumpStateJsonRpcResponse.ts
- vm/api/src/result/index.ts
- vm/procedures/docs/modules.md
- vm/procedures/src/handlers/index.js
- vm/procedures/src/handlers/loadStateHandler.js
- vm/procedures/src/handlers/loadStateHandler.spec.ts
- vm/procedures/src/index.js
- vm/procedures/src/jsonrpc/dumpStateProcedure.js
- vm/procedures/src/jsonrpc/index.js
- vm/procedures/src/jsonrpc/loadStateProcedure.js
- vm/procedures/src/requestProcedure.js
- vm/state/docs/modules.md
- vm/state/src/SerializableState.ts
- vm/vm/src/createTevm.js
- vm/zod/src/params/zLoadStateParams.js
- vm/zod/src/params/zLoadStateParms.spec.ts
Additional comments: 3
vm/procedures/src/handlers/dumpStateHandler.js (3)
- 9-55: The
dumpStateHandler
function has been updated to return an object withstate
anderrors
properties. Ensure that all calls to this function handle the new return type correctly.- 18-36: The loop correctly iterates over account addresses and constructs the state object. However, ensure that the
dumpStorage
function is optimized for performance, as it could be a bottleneck when dealing with a large number of addresses.
[PERFORMANCE]- 29-34: The usage of
bytesToHex
forstorageRoot
andcodeHash
is consistent and ensures that the state object properties are in the expected format. This is good for maintaining consistency in the data representation.
…e_dump_and_load_to_api
5dc4b2e
to
fb86be2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to path filters (2)
extensions/viem/package.json
is excluded by:!**/*.json
pnpm-lock.yaml
is excluded by:!**/*.yaml
Files selected for processing (27)
- extensions/viem/src/tevmViemExtension.js (3 hunks)
- tevm/api/index.ts (4 hunks)
- tevm/docs/modules/contract.md (3 hunks)
- tevm/docs/modules/index.md (10 hunks)
- vm/api/docs/modules.md (8 hunks)
- vm/api/src/Tevm.ts (4 hunks)
- vm/api/src/TevmJsonRpcRequestHandler.ts (2 hunks)
- vm/api/src/requests/DumpStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/requests/LoadStateJsonRpcRequest.ts (1 hunks)
- vm/api/src/responses/DumpStateJsonRpcResponse.ts (1 hunks)
- vm/api/src/responses/LoadStateJsonRpcResponse.ts (1 hunks)
- vm/api/src/result/index.ts (1 hunks)
- vm/procedures/docs/modules.md (5 hunks)
- vm/procedures/src/handlers/dumpStateHandler.js (1 hunks)
- vm/procedures/src/handlers/index.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.js (1 hunks)
- vm/procedures/src/handlers/loadStateHandler.spec.ts (2 hunks)
- vm/procedures/src/index.js (2 hunks)
- vm/procedures/src/jsonrpc/dumpStateProcedure.js (1 hunks)
- vm/procedures/src/jsonrpc/index.js (1 hunks)
- vm/procedures/src/jsonrpc/loadStateProcedure.js (1 hunks)
- vm/procedures/src/requestProcedure.js (2 hunks)
- vm/state/docs/modules.md (2 hunks)
- vm/state/src/SerializableState.ts (1 hunks)
- vm/vm/src/createTevm.js (3 hunks)
- vm/zod/src/params/zLoadStateParams.js (1 hunks)
- vm/zod/src/params/zLoadStateParms.spec.ts (1 hunks)
Files skipped from review as they are similar to previous changes (25)
- extensions/viem/src/tevmViemExtension.js
- tevm/api/index.ts
- tevm/docs/modules/contract.md
- vm/api/docs/modules.md
- vm/api/src/Tevm.ts
- vm/api/src/TevmJsonRpcRequestHandler.ts
- vm/api/src/requests/DumpStateJsonRpcRequest.ts
- vm/api/src/requests/LoadStateJsonRpcRequest.ts
- vm/api/src/responses/DumpStateJsonRpcResponse.ts
- vm/api/src/responses/LoadStateJsonRpcResponse.ts
- vm/api/src/result/index.ts
- vm/procedures/docs/modules.md
- vm/procedures/src/handlers/dumpStateHandler.js
- vm/procedures/src/handlers/index.js
- vm/procedures/src/handlers/loadStateHandler.js
- vm/procedures/src/index.js
- vm/procedures/src/jsonrpc/dumpStateProcedure.js
- vm/procedures/src/jsonrpc/index.js
- vm/procedures/src/jsonrpc/loadStateProcedure.js
- vm/procedures/src/requestProcedure.js
- vm/state/docs/modules.md
- vm/state/src/SerializableState.ts
- vm/vm/src/createTevm.js
- vm/zod/src/params/zLoadStateParams.js
- vm/zod/src/params/zLoadStateParms.spec.ts
Additional comments: 3
vm/procedures/src/handlers/loadStateHandler.spec.ts (2)
- 4-4: The import statement correctly reflects the renaming of the function from
runLoadStateActionHandler
toloadStateHandler
.- 27-45: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [5-42]
The test case has been updated to reflect the new invocation pattern of
loadStateHandler
. The handler is now called with an object containing thestate
property instead of separatestateManager
andstate
parameters. This change aligns with the summary provided.tevm/docs/modules/index.md (1)
- 316-323: The
TevmJsonRpcRequest
type alias has been correctly expanded to includeLoadStateJsonRpcRequest
andDumpStateJsonRpcRequest
. This change is consistent with the PR's objective to introduce new functionalities to the tevm API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ooops! Forgot to leave my review
Deployment failed with the following error:
|
…d_state_dump_and_load_to_api
…vmts/tevm-monorepo into add_state_dump_and_load_to_api
…vmts/tevm-monorepo into add_state_dump_and_load_to_api
78035fa
to
a97a1a3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to path filters (6)
apps/tevm/src/content/docs/generated/@tevm/api/API.md
is excluded by:!**/generated/**
apps/tevm/src/content/docs/generated/@tevm/api/type-aliases/DumpStateError.md
is excluded by:!**/generated/**
apps/tevm/src/content/docs/generated/@tevm/api/type-aliases/DumpStateHandler.md
is excluded by:!**/generated/**
apps/tevm/src/content/docs/generated/@tevm/api/type-aliases/DumpStateJsonRpcProcedure.md
is excluded by:!**/generated/**
apps/tevm/src/content/docs/generated/@tevm/api/type-aliases/DumpStateJsonRpcRequest.md
is excluded by:!**/generated/**
apps/tevm/src/content/docs/generated/@tevm/api/type-aliases/DumpStateResult.md
is excluded by:!**/generated/**
Files selected for processing (1)
- .changeset/red-timers-sip.md (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- .changeset/red-timers-sip.md
…d_state_dump_and_load_to_api
…d_state_dump_and_load_to_api
Deployment failed with the following error:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tyty @0xNonCents 🔥 🔥 🔥
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. ⚠️⚠️⚠️⚠️⚠️⚠️ `main` is currently in **pre mode** so this branch has prereleases rather than normal releases. If you want to exit prereleases, run `changeset pre exit` on `main`. ⚠️⚠️⚠️⚠️⚠️⚠️ # Releases ## @tevm/[email protected] ### Major Changes - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Consistently name all bundler plugins with rollup convention of bundlerPluginTevm like vitePluginTevm or WebpackPluginTevm ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Added full jsdoc documentation to main bundler code - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Major Changes - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Consistently name all bundler plugins with rollup convention of bundlerPluginTevm like vitePluginTevm or WebpackPluginTevm ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Added full jsdoc documentation to main bundler code - Updated dependencies \[[`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085), [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Major Changes - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Consistently name all bundler plugins with rollup convention of bundlerPluginTevm like vitePluginTevm or WebpackPluginTevm ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Added full jsdoc documentation to main bundler code - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Major Changes - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Consistently name all bundler plugins with rollup convention of bundlerPluginTevm like vitePluginTevm or WebpackPluginTevm ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Added full jsdoc documentation to main bundler code - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Major Changes - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Consistently name all bundler plugins with rollup convention of bundlerPluginTevm like vitePluginTevm or WebpackPluginTevm ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Added full jsdoc documentation to main bundler code - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Major Changes - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Consistently name all bundler plugins with rollup convention of bundlerPluginTevm like vitePluginTevm or WebpackPluginTevm ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Added full jsdoc documentation to main bundler code - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Major Changes - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Consistently name all bundler plugins with rollup convention of bundlerPluginTevm like vitePluginTevm or WebpackPluginTevm - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Updated the webpack plugin to being a class to be consistent with other webpack plugins ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Added full jsdoc documentation to main bundler code - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Minor Changes - [#821](https://github.com/evmts/tevm-monorepo/pull/821) [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539) Thanks [@0xNonCents](https://github.com/0xNonCents)! - Added Load State and Dump State to the API. These handlers allow one to read and write the entire tevm state similar to [load state and dump state in anvil](https://book.getfoundry.sh/reference/cli/anvil). This can be used to persist the state on disk or browser cache ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Minor Changes - [#847](https://github.com/evmts/tevm-monorepo/pull/847) [`de81ac31460bb642dad401571ad3c1d81bdbef2d`](https://github.com/evmts/tevm-monorepo/commit/de81ac31460bb642dad401571ad3c1d81bdbef2d) Thanks [@roninjin10](https://github.com/roninjin10)! - Added functionality for passing custom headers ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Minor Changes - [#821](https://github.com/evmts/tevm-monorepo/pull/821) [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539) Thanks [@0xNonCents](https://github.com/0xNonCents)! - Added Load State and Dump State to the API. These handlers allow one to read and write the entire tevm state similar to [load state and dump state in anvil](https://book.getfoundry.sh/reference/cli/anvil). This can be used to persist the state on disk or browser cache ### Patch Changes - [#837](https://github.com/evmts/tevm-monorepo/pull/837) [`fd6d6aee21b8d72ab37d7b9117231f68812e2256`](https://github.com/evmts/tevm-monorepo/commit/fd6d6aee21b8d72ab37d7b9117231f68812e2256) Thanks [@roninjin10](https://github.com/roninjin10)! - Renamed createTevm createMemoryTevm - [#837](https://github.com/evmts/tevm-monorepo/pull/837) [`fd6d6aee21b8d72ab37d7b9117231f68812e2256`](https://github.com/evmts/tevm-monorepo/commit/fd6d6aee21b8d72ab37d7b9117231f68812e2256) Thanks [@roninjin10](https://github.com/roninjin10)! - Changed the name of import('@tevm/memory-client').Tevm to MemoryTevm. This disambigouates it from the import('@tevm/actions-types').Tevm type that it extends. - [#837](https://github.com/evmts/tevm-monorepo/pull/837) [`fd6d6aee21b8d72ab37d7b9117231f68812e2256`](https://github.com/evmts/tevm-monorepo/commit/fd6d6aee21b8d72ab37d7b9117231f68812e2256) Thanks [@roninjin10](https://github.com/roninjin10)! - Updated tevm to not proxy any json rpc requests it doesn't support. Proxying creates confusion because some methods operate off of the tevm state and others may be using the RPC state creating confusing mismatches. This means for now all unsupported rpc methods to a MemoryTevm will throw. - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`de81ac31460bb642dad401571ad3c1d81bdbef2d`](https://github.com/evmts/tevm-monorepo/commit/de81ac31460bb642dad401571ad3c1d81bdbef2d), [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539), [`37b936fd4a8095cd79875f5f1ca43f09442e653f`](https://github.com/evmts/tevm-monorepo/commit/37b936fd4a8095cd79875f5f1ca43f09442e653f)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Minor Changes - [#821](https://github.com/evmts/tevm-monorepo/pull/821) [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539) Thanks [@0xNonCents](https://github.com/0xNonCents)! - Added Load State and Dump State to the API. These handlers allow one to read and write the entire tevm state similar to [load state and dump state in anvil](https://book.getfoundry.sh/reference/cli/anvil). This can be used to persist the state on disk or browser cache ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Minor Changes - [#844](https://github.com/evmts/tevm-monorepo/pull/844) [`f857279f82aed79be8785fc02b5871fd52659b85`](https://github.com/evmts/tevm-monorepo/commit/f857279f82aed79be8785fc02b5871fd52659b85) Thanks [@roninjin10](https://github.com/roninjin10)! - Added Next.js and Express handlers to @tevm/server ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539)]: - @tevm/[email protected] ## @tevm/[email protected] ### Minor Changes - [#821](https://github.com/evmts/tevm-monorepo/pull/821) [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539) Thanks [@0xNonCents](https://github.com/0xNonCents)! - Added Load State and Dump State to the API. These handlers allow one to read and write the entire tevm state similar to [load state and dump state in anvil](https://book.getfoundry.sh/reference/cli/anvil). This can be used to persist the state on disk or browser cache ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## [email protected] ### Minor Changes - [#821](https://github.com/evmts/tevm-monorepo/pull/821) [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539) Thanks [@0xNonCents](https://github.com/0xNonCents)! - Added Load State and Dump State to the API. These handlers allow one to read and write the entire tevm state similar to [load state and dump state in anvil](https://book.getfoundry.sh/reference/cli/anvil). This can be used to persist the state on disk or browser cache - [#844](https://github.com/evmts/tevm-monorepo/pull/844) [`f857279f82aed79be8785fc02b5871fd52659b85`](https://github.com/evmts/tevm-monorepo/commit/f857279f82aed79be8785fc02b5871fd52659b85) Thanks [@roninjin10](https://github.com/roninjin10)! - Added Next.js and Express handlers to @tevm/server ### Patch Changes - [#846](https://github.com/evmts/tevm-monorepo/pull/846) [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085) Thanks [@roninjin10](https://github.com/roninjin10)! - Consistently name all bundler plugins with rollup convention of bundlerPluginTevm like vitePluginTevm or WebpackPluginTevm - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`fd6d6aee21b8d72ab37d7b9117231f68812e2256`](https://github.com/evmts/tevm-monorepo/commit/fd6d6aee21b8d72ab37d7b9117231f68812e2256), [`fd6d6aee21b8d72ab37d7b9117231f68812e2256`](https://github.com/evmts/tevm-monorepo/commit/fd6d6aee21b8d72ab37d7b9117231f68812e2256), [`de81ac31460bb642dad401571ad3c1d81bdbef2d`](https://github.com/evmts/tevm-monorepo/commit/de81ac31460bb642dad401571ad3c1d81bdbef2d), [`fd6d6aee21b8d72ab37d7b9117231f68812e2256`](https://github.com/evmts/tevm-monorepo/commit/fd6d6aee21b8d72ab37d7b9117231f68812e2256), [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539), [`37b936fd4a8095cd79875f5f1ca43f09442e653f`](https://github.com/evmts/tevm-monorepo/commit/37b936fd4a8095cd79875f5f1ca43f09442e653f), [`f857279f82aed79be8785fc02b5871fd52659b85`](https://github.com/evmts/tevm-monorepo/commit/f857279f82aed79be8785fc02b5871fd52659b85)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085), [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`37b936fd4a8095cd79875f5f1ca43f09442e653f`](https://github.com/evmts/tevm-monorepo/commit/37b936fd4a8095cd79875f5f1ca43f09442e653f)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3)]: - @tevm/[email protected] - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085), [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`1e50901789c983dc6d8f7e078d25ab999afcb085`](https://github.com/evmts/tevm-monorepo/commit/1e50901789c983dc6d8f7e078d25ab999afcb085)]: - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`de81ac31460bb642dad401571ad3c1d81bdbef2d`](https://github.com/evmts/tevm-monorepo/commit/de81ac31460bb642dad401571ad3c1d81bdbef2d), [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`f2707baa92220f7848912037638ebad125dee539`](https://github.com/evmts/tevm-monorepo/commit/f2707baa92220f7848912037638ebad125dee539)]: - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - [#836](https://github.com/evmts/tevm-monorepo/pull/836) [`37b936fd4a8095cd79875f5f1ca43f09442e653f`](https://github.com/evmts/tevm-monorepo/commit/37b936fd4a8095cd79875f5f1ca43f09442e653f) Thanks [@roninjin10](https://github.com/roninjin10)! - Renamed Read, Write, and Event to ReadActionCreator, WriteActionCreator, and EventActionCreator respectively. Added full JSDoc documentation to contracts. ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`37b936fd4a8095cd79875f5f1ca43f09442e653f`](https://github.com/evmts/tevm-monorepo/commit/37b936fd4a8095cd79875f5f1ca43f09442e653f)]: - @tevm/[email protected] - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports - Updated dependencies \[[`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3), [`37b936fd4a8095cd79875f5f1ca43f09442e653f`](https://github.com/evmts/tevm-monorepo/commit/37b936fd4a8095cd79875f5f1ca43f09442e653f)]: - @tevm/[email protected] ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports ## @tevm/[email protected] ### Patch Changes - [#862](https://github.com/evmts/tevm-monorepo/pull/862) [`f217fa4dc2f730cc109940ef36872229ae9f26d3`](https://github.com/evmts/tevm-monorepo/commit/f217fa4dc2f730cc109940ef36872229ae9f26d3) Thanks [@roninjin10](https://github.com/roninjin10)! - - Renamed MemoryTevm MemoryClient - Renamed TevmClient HttpClient - Replaced @tevm/actions-types package with @tevm/actions-types, @tevm/client-types, and @tevm/procedures-types packages - Moved errors to @tevm/errors - Moved bundler packages out of tevm and to @tevm/bundler package - Minimized packages exposed in tevm package - Fixed bug with missing types exports Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Description
Adding dump state and load state to the tevm api. Following along with the patters set forth by the other handlers.
Tried Graphite for the first time and it helped with conflicts and managing all of my commits a lot easier. I still have a single large stack, next time Ill break up the changes into smaller pieces.
Testing
Test for a loadStateParams validator was created.
Your ENS/address: noncents.eth
Summary by CodeRabbit
New Features
dumpState
andloadState
capabilities.LoadStateError
andDumpStateError
.Documentation
Refactor
SerializableTevmState
type to include a newParameterizedTevmState
type, improving the API-friendly version of the state.Tests