Skip to content
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

🐛 Fix: Validate params bugs #1197

Merged
merged 2 commits into from
Jun 13, 2024
Merged

Conversation

roninjin10
Copy link
Collaborator

@roninjin10 roninjin10 commented Jun 13, 2024

Description

Concise description of proposed changes

Testing

Explain the quality checks that have been done on the code changes

Additional Information

Your ENS/address:

Summary by CodeRabbit

  • Bug Fixes

    • Resolved parameter validation issues in tevmCall and related methods, ensuring nested structures like arrays are validated correctly.
  • Documentation

    • Added detailed documentation and examples for various parameters in BaseCallParams to improve clarity and usability.
  • Tests

    • Introduced new test cases for validating base call parameters to ensure correctness.
  • Refactor

    • Updated validation constraints for gasRefund, gas, value, and depth parameters to ensure they are positive values.

Copy link

vercel bot commented Jun 13, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
tevm-monorepo-tevm ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 13, 2024 7:39pm

Copy link

changeset-bot bot commented Jun 13, 2024

🦋 Changeset detected

Latest commit: a272cce

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 10 packages
Name Type
@tevm/actions Patch
@tevm/viem Patch
@tevm/decorators Patch
@tevm/procedures Patch
@tevm/server Patch
tevm Patch
@tevm/ethers Patch
@tevm/memory-client Patch
@tevm/http-client Patch
@tevm/precompiles Patch

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

Copy link
Contributor

coderabbitai bot commented Jun 13, 2024

Walkthrough

This update enhances the @tevm/actions module by refining parameter validation in tevmCall and related methods, particularly focusing on nested structures like arrays. Additional improvements include documentation for several parameters in BaseCallParams.ts, new validation using zod, and thorough test coverage. These changes ensure more robust and clear parameter handling, improving the module's reliability and usability.

Changes

File(s) Change Summary
.changeset/mighty-pans-poke.md Introduced a patch for @tevm/actions fixing parameter validation issues.
packages/actions/src/BaseCall/BaseCallParams.ts Added extensive documentation and examples for parameters.
packages/actions/src/BaseCall/validateBaseCallParams.js Internal comment added; implemented zod for parameter validation.
packages/actions/src/BaseCall/validateBaseCallParams.spec.ts Added test cases for validating base call parameters; included error classes.
packages/actions/src/BaseCall/zBaseCallParams.js Updated validation constraints to ensure positive values and refined parameter descriptions.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant ActionModule as @tevm/actions
    participant Validator as zod Validator
    participant TestSuite as Test Suite

    Client->>ActionModule: Call tevmCall with parameters
    ActionModule->>Validator: Validate parameters
    Validator-->>ActionModule: Return validation result
    ActionModule->>Client: Finish tevmCall execution
    
    TestSuite->>ActionModule: Run validateBaseCallParams tests
    ActionModule-->>TestSuite: Return test results
Loading

Poem

In the land of codes and bytes,
Where rabbits hop by starry nights,
Parameters now validated right,
No more bugs to give a fright.
Documentation clear and bright,
Errors vanish, out of sight.
🐇✨


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?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Collaborator Author

roninjin10 commented Jun 13, 2024

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @roninjin10 and the rest of your teammates on Graphite Graphite

@roninjin10 roninjin10 force-pushed the 06-13-_bug_fix_validate_params_bugs branch from 2d68686 to 01d3cb6 Compare June 13, 2024 17:23
@roninjin10 roninjin10 marked this pull request as ready for review June 13, 2024 17:24
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Outside diff range and nitpick comments (1)
packages/actions/src/BaseCall/validateBaseCallParams.js (1)

Line range hint 48-49: Duplicate error handling for the 'gas' field. This could lead to double logging of the same error.

-		if (formattedErrors.gas) {
-			formattedErrors.gas._errors.forEach((error) => {
-				errors.push(new InvalidGasPriceError(error))
-			})
-		}

Also applies to: 60-61

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between c58a6e5 and 01d3cb6.

Files ignored due to path filters (1)
  • packages/actions/src/BaseCall/__snapshots__/validateBaseCallParams.spec.ts.snap is excluded by !**/*.snap
Files selected for processing (5)
  • .changeset/mighty-pans-poke.md (1 hunks)
  • packages/actions/src/BaseCall/BaseCallParams.ts (5 hunks)
  • packages/actions/src/BaseCall/validateBaseCallParams.js (1 hunks)
  • packages/actions/src/BaseCall/validateBaseCallParams.spec.ts (1 hunks)
  • packages/actions/src/BaseCall/zBaseCallParams.js (2 hunks)
Additional comments not posted (7)
.changeset/mighty-pans-poke.md (1)

5-5: Clear and concise changeset description.

packages/actions/src/BaseCall/zBaseCallParams.js (1)

23-23: Validation enhancements for numeric parameters ensure non-negative values.

Also applies to: 32-32, 34-38

packages/actions/src/BaseCall/validateBaseCallParams.js (1)

20-21: Documentation and internal comment added to clarify potential breaking changes.

packages/actions/src/BaseCall/BaseCallParams.ts (1)

6-9: Comprehensive documentation and examples added to improve clarity and usability.

Also applies to: 16-20, 26-30, 42-49, 53-55, 66-66, 74-74, 79-79, 99-100, 109-109, 113-113, 118-140, 147-155

packages/actions/src/BaseCall/validateBaseCallParams.spec.ts (3)

140-145: This test seems well-structured and correctly tests for the absence of errors in valid cases.


178-182: This test correctly checks for top-level validation errors. Using snapshots is a good approach for capturing comprehensive error states.


147-159: Ensure that each type of invalid parameter is tested thoroughly, including edge cases.

Verification successful

The file packages/actions/src/BaseCall/validateBaseCallParams.spec.ts contains a test case for invalid parameters using mockInvalidParams. The test case seems to cover a variety of invalid parameter types, ensuring that the validation function correctly identifies errors.

The invalid parameters tested include:

  • skipBalance (should be a boolean)
  • gasRefund (should be a positive number)
  • blockTag (should be a string)
  • gas (should be a number)
  • origin (should be a valid address)
  • caller (should be a string)
  • value (should be a number)
  • depth (should be a positive number)
  • selfdestruct (should be a boolean)
  • to (should be a string)
  • blobVersionedHashes (should be a valid hash)

The test case appears to be comprehensive and correctly structured.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that all parameters have their invalid cases tested.

# Test: Check if all parameters from BaseCallParams have invalid test cases.
ast-grep --lang javascript --pattern $'const mockInvalidParams = {
  $$$
  $_: $_,
  $$$
}' src/BaseCall/validateBaseCallParams.spec.ts

Length of output: 227



Script:

#!/bin/bash
# Find the correct path for the file validateBaseCallParams.spec.ts
fd validateBaseCallParams.spec.ts

# Once the file is found, run the ast-grep command with the correct file path
FILE_PATH=$(fd validateBaseCallParams.spec.ts)
ast-grep --lang javascript --pattern $'const mockInvalidParams = {
  $$$
  $_: $_,
  $$$
}' $FILE_PATH

Length of output: 602



Script:

#!/bin/bash
# Run the ast-grep command specifically on the validateBaseCallParams.spec.ts file
ast-grep --lang javascript --pattern $'const mockInvalidParams = {
  $$$
  $_: $_,
  $$$
}' packages/actions/src/BaseCall/validateBaseCallParams.spec.ts

Length of output: 153



Script:

#!/bin/bash
# Adjust the ast-grep pattern to match the structure of the mockInvalidParams object correctly
# Also include the function or test case name to narrow down the search

ast-grep --lang javascript --pattern $'describe("validateBaseCallParams", () => {
  $$$
  it("should return errors for invalid parameters", () => {
    $$$
    const mockInvalidParams = {
      $$$
      $_: $_,
      $$$
    }
    $$$
  })
  $$$
})' packages/actions/src/BaseCall/validateBaseCallParams.spec.ts

Length of output: 312



Script:

#!/bin/bash
# Display the content of the file to understand its structure
cat packages/actions/src/BaseCall/validateBaseCallParams.spec.ts

Length of output: 6402

Comment on lines +19 to +138
origin: '0x1234567890abcdef1234567890abcdef12345678',
caller: '0x1234567890abcdef1234567890abcdef12345678',
value: 100n,
depth: 0,
selfdestruct: new Set(['0x1234567890abcdef1234567890abcdef12345678']),
to: '0x1234567890abcdef1234567890abcdef12345678',
blobVersionedHashes: ['0x1234567890abcdef1234567890abcdef12345678'],
},
{
throwOnFail: false,
createTrace: false,
createAccessList: true,
createTransaction: 'always',
blockTag: 'pending',
skipBalance: true,
gas: 30000n,
gasPrice: 2000000000n,
gasRefund: 500n,
from: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
origin: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
caller: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
value: 200n,
depth: 1,
selfdestruct: new Set(['0xabcdefabcdefabcdefabcdefabcdefabcdefabcd']),
to: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
blobVersionedHashes: ['0xabcdefabcdefabcdefabcdefabcdefabcdefabcd'],
},
{
createTrace: true,
createAccessList: false,
createTransaction: 'never',
blockTag: 'earliest',
skipBalance: true,
gas: 50000n,
gasPrice: 3000000000n,
gasRefund: 1000n,
from: '0xaabbccddeeff00112233445566778899aabbccdd',
origin: '0xaabbccddeeff00112233445566778899aabbccdd',
caller: '0xaabbccddeeff00112233445566778899aabbccdd',
value: 300n,
depth: 2,
selfdestruct: new Set(['0xaabbccddeeff00112233445566778899aabbccdd']),
to: '0xaabbccddeeff00112233445566778899aabbccdd',
blobVersionedHashes: ['0xaabbccddeeff00112233445566778899aabbccdd'],
},
{
createTrace: false,
createAccessList: false,
createTransaction: true,
blockTag: 'pending',
skipBalance: false,
gas: 60000n,
gasPrice: 4000000000n,
gasRefund: 2000n,
from: '0x1111111111111111111111111111111111111111',
origin: '0x1111111111111111111111111111111111111111',
caller: '0x1111111111111111111111111111111111111111',
value: 400n,
depth: 3,
selfdestruct: new Set(['0x1111111111111111111111111111111111111111']),
to: '0x1111111111111111111111111111111111111111',
blobVersionedHashes: ['0x1111111111111111111111111111111111111111'],
},
{
createTrace: true,
createAccessList: true,
createTransaction: 'always',
blockTag: 'latest',
skipBalance: true,
gas: 70000n,
gasPrice: 5000000000n,
gasRefund: 3000n,
from: '0x2222222222222222222222222222222222222222',
origin: '0x2222222222222222222222222222222222222222',
caller: '0x2222222222222222222222222222222222222222',
value: 500n,
depth: 4,
selfdestruct: new Set(['0x2222222222222222222222222222222222222222']),
to: '0x2222222222222222222222222222222222222222',
blobVersionedHashes: ['0x2222222222222222222222222222222222222222'],
},
{
createTrace: false,
createAccessList: false,
createTransaction: 'on-success',
blockTag: 'earliest',
skipBalance: false,
gas: 80000n,
gasPrice: 6000000000n,
gasRefund: 4000n,
from: '0x3333333333333333333333333333333333333333',
origin: '0x3333333333333333333333333333333333333333',
caller: '0x3333333333333333333333333333333333333333',
value: 600n,
depth: 5,
selfdestruct: new Set(['0x3333333333333333333333333333333333333333']),
to: '0x3333333333333333333333333333333333333333',
blobVersionedHashes: ['0x3333333333333333333333333333333333333333'],
},
] as const
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tip

Codebase Verification

The BaseCallParams type definition has been successfully retrieved. To ensure the test cases cover all possible valid scenarios for each parameter, we need to compare the parameters in the BaseCallParams type definition with those in the validParamsCases array.

Parameters in BaseCallParams:

  • createTrace
  • createAccessList
  • createTransaction
  • blockTag
  • skipBalance
  • gas
  • gasPrice
  • gasRefund
  • from
  • origin
  • caller
  • value
  • depth
  • selfdestruct
  • to
  • blobVersionedHashes
  • stateOverrideSet
  • blockOverrideSet

Parameters in validParamsCases:

  • throwOnFail (not in BaseCallParams, likely from BaseParams)
  • blockOverrideSet
  • createTrace
  • createAccessList
  • createTransaction
  • blockTag
  • skipBalance
  • gas
  • gasPrice
  • gasRefund
  • from
  • origin
  • caller
  • value
  • depth
  • selfdestruct
  • to
  • blobVersionedHashes

The parameters stateOverrideSet and blockOverrideSet are missing in the validParamsCases array. However, blockOverrideSet is present but stateOverrideSet is not tested.

  • Add test cases for stateOverrideSet in validParamsCases.
Analysis chain

Ensure the test cases cover all possible valid scenarios for each parameter.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that all parameters are covered in the valid cases.
# Test: Check if all parameters from BaseCallParams are tested.

# Extract parameter names from BaseCallParams definition
ast-grep --lang javascript --pattern $'type BaseCallParams = {
  $$$
  $_: $_,
  $$$
}' src/BaseCall/BaseCallParams.ts

Length of output: 589



Script:

#!/bin/bash
# Description: Verify that all parameters are covered in the valid cases.
# Test: Check if all parameters from BaseCallParams are tested.

# Extract parameter names from BaseCallParams definition
ast-grep --lang typescript --pattern $'type BaseCallParams = {
  $_: $_,
  $$$
}' 

Length of output: 82



Script:

#!/bin/bash
# Description: Locate the file containing the BaseCallParams type definition and refine the pattern.
# Step 1: Locate the file containing the BaseCallParams type definition.
rg 'type BaseCallParams' 

# Step 2: Extract parameter names from BaseCallParams definition using the refined pattern.
ast-grep --lang typescript --pattern $'type BaseCallParams = {
  $_: $_;
  $$$
}' 

Length of output: 18058



Script:

#!/bin/bash
# Description: Verify that all parameters are covered in the valid cases.
# Step 1: Locate the file containing the BaseCallParams type definition.
rg 'type BaseCallParams' 

# Step 2: Extract parameter names from BaseCallParams definition using the refined pattern.
ast-grep --lang typescript --pattern $'type BaseCallParams<TThrowOnFail extends boolean = boolean> = BaseParams<TThrowOnFail> & {
  $_: $_;
  $$$
}' packages/actions/src/BaseCall/BaseCallParams.ts

Length of output: 18173



Script:

#!/bin/bash
# Description: Manually inspect the BaseCallParams type definition.
# Step 1: Display the content of the BaseCallParams type definition file.
cat packages/actions/src/BaseCall/BaseCallParams.ts

Length of output: 6670

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Outside diff range and nitpick comments (1)
packages/actions/src/BaseCall/validateBaseCallParams.spec.ts (1)

140-145: Consider adding more detailed assertions in the test for valid parameters.

While the test does check that no errors are returned, it might be beneficial to assert that the return value is exactly as expected, not just that there are no errors. This would make the test more robust against changes that might not produce errors but are still incorrect.

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 01d3cb6 and 36a03a4.

Files ignored due to path filters (1)
  • packages/actions/src/BaseCall/__snapshots__/validateBaseCallParams.spec.ts.snap is excluded by !**/*.snap
Files selected for processing (5)
  • .changeset/mighty-pans-poke.md (1 hunks)
  • packages/actions/src/BaseCall/BaseCallParams.ts (5 hunks)
  • packages/actions/src/BaseCall/validateBaseCallParams.js (1 hunks)
  • packages/actions/src/BaseCall/validateBaseCallParams.spec.ts (1 hunks)
  • packages/actions/src/BaseCall/zBaseCallParams.js (2 hunks)
Additional comments not posted (7)
.changeset/mighty-pans-poke.md (1)

5-5: Clear and concise description of the fix implemented. This helps in understanding the context of the patch version update.

packages/actions/src/BaseCall/zBaseCallParams.js (1)

23-23: Positive constraints added to gasRefund, gas, value, and depth ensure that these parameters cannot be negative, aligning with the PR's bug fix objectives.

Also applies to: 32-38

packages/actions/src/BaseCall/validateBaseCallParams.js (2)

20-21: The internal comment clarifies the potential for breaking changes in minor releases, which is crucial for maintaining backward compatibility.


21-21: Comprehensive validation logic using Zod to ensure parameter correctness. The detailed error handling for each field adds robustness to the validation process.

packages/actions/src/BaseCall/BaseCallParams.ts (1)

6-20: Extensive documentation and examples added to BaseCallParams enhance understanding and provide clear usage scenarios, significantly improving the developer experience and aligning with best practices for API documentation.

Also applies to: 26-30, 42-49, 53-55, 66-66, 74-74, 79-79, 99-100, 109-109, 113-113, 118-141, 147-155

packages/actions/src/BaseCall/validateBaseCallParams.spec.ts (2)

184-187: Confirm the reliability of snapshot tests.

Snapshot tests are useful, but they need to be updated regularly to reflect the current expected state of the application. This script checks for recent changes to ensure that the snapshots are up-to-date.

Verification successful

The recent changes to the snapshot file include updates to error messages and expected values, which seem to reflect updates in the validation logic. To confirm the reliability of the snapshot tests, we need to verify if these changes align with recent updates in the validation logic.


The git log command for the validation logic file did not produce any output, which could mean there were no recent changes or an issue with the command. To ensure thorough verification, let's broaden the scope and check for changes in related files.


The recent changes in the validation logic align with the updates in the snapshot file. The changes include updates to error messages and expected values, reflecting the current state of the validation logic. This indicates that the snapshot tests are reliable and up-to-date, reflecting the recent bug fixes and enhancements.

  • The validation logic changes were committed on June 13, 2024, with updates to the validateBaseCallParams function and related type definitions.
  • The snapshot file was updated in the same commit, ensuring consistency between the validation logic and the snapshot tests.

These observations confirm the reliability of the snapshot tests.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the stability and relevance of snapshot tests.

# Test: Check recent changes to related snapshot files.
git log -p -- packages/actions/src/BaseCall/__snapshots__/validateBaseCallParams.spec.ts.snap

Length of output: 3543



Script:

#!/bin/bash
# Description: Verify if recent changes in validation logic align with snapshot updates.

# Find recent changes in the validation logic
git log -p -- packages/actions/src/BaseCall/validateBaseCallParams.ts

Length of output: 71



Script:

#!/bin/bash
# Description: Verify if there are any recent changes in the validation logic and related files.

# Check for recent changes in the validation logic and related files
git log -p -- packages/actions/src/BaseCall/

Length of output: 34505


178-182: Ensure that error handling is robust when non-object types are passed.

This test checks if the handling for non-object types is consistent across the codebase, which is crucial for maintaining robustness in the face of unexpected inputs.

Comment on lines 161 to 176
test('should return errors for invalid parameters', () => {
const errors = validateBaseCallParams(mockInvalidParams as any)
expect(errors).toContainEqual(expect.any(InvalidSkipBalanceError))
expect(errors).toContainEqual(expect.any(InvalidGasRefundError))
expect(errors).toContainEqual(expect.any(InvalidBlockError))
expect(errors).toContainEqual(expect.any(InvalidGasPriceError))
expect(errors).toContainEqual(expect.any(InvalidOriginError))
expect(errors).toContainEqual(expect.any(InvalidCallerError))
expect(errors).toContainEqual(expect.any(InvalidGasPriceError))
expect(errors).toContainEqual(expect.any(InvalidValueError))
expect(errors).toContainEqual(expect.any(InvalidDepthError))
expect(errors).toContainEqual(expect.any(InvalidSelfdestructError))
expect(errors).toContainEqual(expect.any(InvalidToError))
expect(errors).toContainEqual(expect.any(InvalidBlobVersionedHashesError))
expect(errors).toContainEqual(expect.any(InvalidDepthError))
})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enhance error validation tests with more detailed assertions.

The current tests check for the presence of error types, which is good. However, it would be beneficial to also check the specific error messages to ensure they provide the correct feedback for each type of invalid input. This helps in debugging and maintaining the code. Would you like me to assist by adding these detailed checks?

@roninjin10 roninjin10 merged commit fbf5192 into main Jun 13, 2024
15 of 16 checks passed
@roninjin10 roninjin10 deleted the 06-13-_bug_fix_validate_params_bugs branch June 13, 2024 19:26
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 36a03a4 and a272cce.

Files ignored due to path filters (1)
  • packages/actions/src/BaseCall/__snapshots__/validateBaseCallParams.spec.ts.snap is excluded by !**/*.snap
Files selected for processing (12)
  • .changeset/proud-pugs-walk.md (1 hunks)
  • docs/src/content/docs/reference/@tevm/actions/functions/validateBaseCallParams-1.md (2 hunks)
  • docs/src/content/docs/reference/@tevm/actions/functions/validateBaseCallParams.md (2 hunks)
  • docs/src/content/docs/reference/@tevm/actions/type-aliases/BaseCallParams-1.md (8 hunks)
  • docs/src/content/docs/reference/@tevm/actions/type-aliases/BaseCallParams.md (8 hunks)
  • packages/actions/docs/functions/validateBaseCallParams.md (2 hunks)
  • packages/actions/docs/type-aliases/BaseCallParams.md (8 hunks)
  • packages/actions/src/BaseCall/validateBaseCallParams.js (2 hunks)
  • packages/actions/src/BaseCall/validateBaseCallParams.spec.ts (1 hunks)
  • packages/actions/src/BaseCall/zBaseCallParams.js (2 hunks)
  • packages/trie/docs/variables/EMPTY_STATE_ROOT.md (1 hunks)
  • tevm/docs/server/README.md (1 hunks)
Files skipped from review due to trivial changes (1)
  • tevm/docs/server/README.md
Files skipped from review as they are similar to previous changes (3)
  • packages/actions/src/BaseCall/validateBaseCallParams.js
  • packages/actions/src/BaseCall/validateBaseCallParams.spec.ts
  • packages/actions/src/BaseCall/zBaseCallParams.js
Additional context used
LanguageTool
packages/trie/docs/variables/EMPTY_STATE_ROOT.md

[misspelling] ~10-~10: Use “A” instead of ‘An’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’. (EN_A_VS_AN)
Context: ...**EMPTY\_STATE\_ROOT**:Uint8Array` An hardcoded state root that represents an...


[style] ~11-~11: To form a complete sentence, be sure to include a subject. (MISSING_IT_THERE)
Context: ...ate root that represents an empty trie. Can be dynamically computed using keccak256...

docs/src/content/docs/reference/@tevm/actions/functions/validateBaseCallParams.md

[uncategorized] ~12-~12: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...lidateBaseCallParamsError`[] can break on a minor release Validates that the para...

docs/src/content/docs/reference/@tevm/actions/functions/validateBaseCallParams-1.md

[uncategorized] ~12-~12: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...lidateBaseCallParamsError`[] can break on a minor release Validates that the para...

packages/actions/docs/functions/validateBaseCallParams.md

[uncategorized] ~13-~13: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...lidateBaseCallParamsError`[] can break on a minor release Validates that the para...

packages/actions/docs/type-aliases/BaseCallParams.md

[uncategorized] ~31-~31: It seems likely that a singular genitive (’s) apostrophe is missing. (AI_HYDRA_LEO_APOSTROPHE_S_XS)
Context: ...ock will not run in the context of that blocks state. To do that fork that block numbe...


[uncategorized] ~31-~31: A comma might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Context: ...the context of that blocks state. To do that fork that block number first. #### Exa...


[style] ~90-~90: Consider shortening this phrase to just ‘whether’, unless you mean ‘regardless of whether’. (WHETHER)
Context: ...| "always" | "never" | boolean Whether or not to update the state or run call in a dr...


[style] ~96-~96: The adverb ‘Always’ is usually put between ‘will’ and ‘still’. (ADVERB_WORD_ORDER)
Context: ...n-success-false: alias for never` Always will still not include the transaction if it's not...


[grammar] ~99-~99: The usual collocation for “returned” is “to”, not “in”. (RETURN_IN_THE)
Context: ... a tx is submitted the txHash will be returned in the response. The tx will not be includ...


[uncategorized] ~113-~113: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL)
Context: ...tional readonly**depth**:number` Low level control over the EVM call depth. Useful...


[uncategorized] ~123-~123: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’. (SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
Context: ...dresses seperately using those options. Otherwise both are set to the from address ###...


[uncategorized] ~141-~141: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL)
Context: ...al readonly**gasRefund**:bigint Low level control Refund counter. Defaults to0`...


[typographical] ~150-~150: The word “otherwise” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence. (THUS_SENTENCE)
Context: ...ess. This defaults to from address if set otherwise it defaults to the zero address ### se...


[uncategorized] ~150-~150: A period might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)
Context: ...f set otherwise it defaults to the zero address ### selfdestruct? > optional `reado...


[style] ~170-~170: ‘prior to’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_PRIOR_TO)
Context: ...some state to be ephemerally overridden prior to executing the call. Each address maps t...


[grammar] ~175-~175: One modal verb seems to be obsolete here. Consider rephrasing this sentence. (DO_XX_MD_VB)
Context: ...e that simply returns internal state or does pre-defined validations can be kept off chain and fed to the node o...

docs/src/content/docs/reference/@tevm/actions/type-aliases/BaseCallParams.md

[uncategorized] ~20-~20: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...al readonly **blobVersionedHashes**: [Hex`](/reference/tevm/actions/type-alias...


[uncategorized] ~30-~30: A comma might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Context: ...the context of that blocks state. To do that fork that block number first. #### Exa...


[style] ~89-~89: Consider shortening this phrase to just ‘whether’, unless you mean ‘regardless of whether’. (WHETHER)
Context: ...| "always" | "never" | boolean Whether or not to update the state or run call in a dr...


[style] ~95-~95: The adverb ‘Always’ is usually put between ‘will’ and ‘still’. (ADVERB_WORD_ORDER)
Context: ...n-success-false: alias for never` Always will still not include the transaction if it's not...


[grammar] ~98-~98: The usual collocation for “returned” is “to”, not “in”. (RETURN_IN_THE)
Context: ... a tx is submitted the txHash will be returned in the response. The tx will not be includ...


[uncategorized] ~112-~112: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL)
Context: ...tional readonly**depth**:number` Low level control over the EVM call depth. Useful...


[uncategorized] ~122-~122: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’. (SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
Context: ...dresses seperately using those options. Otherwise both are set to the from address ###...


[uncategorized] ~140-~140: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL)
Context: ...al readonly**gasRefund**:bigint Low level control Refund counter. Defaults to0`...


[typographical] ~149-~149: The word “otherwise” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence. (THUS_SENTENCE)
Context: ...ess. This defaults to from address if set otherwise it defaults to the zero address ### se...


[uncategorized] ~149-~149: A period might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)
Context: ...f set otherwise it defaults to the zero address ### selfdestruct? > optional `reado...


[style] ~169-~169: ‘prior to’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_PRIOR_TO)
Context: ...some state to be ephemerally overridden prior to executing the call. Each address maps t...


[grammar] ~174-~174: One modal verb seems to be obsolete here. Consider rephrasing this sentence. (DO_XX_MD_VB)
Context: ...e that simply returns internal state or does pre-defined validations can be kept off chain and fed to the node o...

docs/src/content/docs/reference/@tevm/actions/type-aliases/BaseCallParams-1.md

[uncategorized] ~20-~20: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...al readonly **blobVersionedHashes**: [Hex`](/reference/tevm/actions/type-alias...


[uncategorized] ~30-~30: A comma might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Context: ...the context of that blocks state. To do that fork that block number first. #### Exa...


[style] ~89-~89: Consider shortening this phrase to just ‘whether’, unless you mean ‘regardless of whether’. (WHETHER)
Context: ...| "always" | "never" | boolean Whether or not to update the state or run call in a dr...


[style] ~95-~95: The adverb ‘Always’ is usually put between ‘will’ and ‘still’. (ADVERB_WORD_ORDER)
Context: ...n-success-false: alias for never` Always will still not include the transaction if it's not...


[grammar] ~98-~98: The usual collocation for “returned” is “to”, not “in”. (RETURN_IN_THE)
Context: ... a tx is submitted the txHash will be returned in the response. The tx will not be includ...


[uncategorized] ~112-~112: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL)
Context: ...tional readonly**depth**:number` Low level control over the EVM call depth. Useful...


[uncategorized] ~122-~122: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’. (SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
Context: ...dresses seperately using those options. Otherwise both are set to the from address ###...


[uncategorized] ~140-~140: If this is a compound adjective that modifies the following noun, use a hyphen. (EN_COMPOUND_ADJECTIVE_INTERNAL)
Context: ...al readonly**gasRefund**:bigint Low level control Refund counter. Defaults to0`...


[typographical] ~149-~149: The word “otherwise” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence. (THUS_SENTENCE)
Context: ...ess. This defaults to from address if set otherwise it defaults to the zero address ### se...


[uncategorized] ~149-~149: A period might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)
Context: ...f set otherwise it defaults to the zero address ### selfdestruct? > optional `reado...


[style] ~169-~169: ‘prior to’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_PRIOR_TO)
Context: ...some state to be ephemerally overridden prior to executing the call. Each address maps t...


[grammar] ~174-~174: One modal verb seems to be obsolete here. Consider rephrasing this sentence. (DO_XX_MD_VB)
Context: ...e that simply returns internal state or does pre-defined validations can be kept off chain and fed to the node o...


[uncategorized] ~200-~200: This verb may not be in the correct form. Consider using a different form for this context. (AI_EN_LECTOR_REPLACEMENT_VERB_FORM)
Context: ... to the zero address. To is not set for create transactions but required for most tran...

Markdownlint
packages/actions/docs/type-aliases/BaseCallParams.md

12-12: null (MD032, blanks-around-lists)
Lists should be surrounded by blank lines


92-92: null (MD032, blanks-around-lists)
Lists should be surrounded by blank lines

docs/src/content/docs/reference/@tevm/actions/type-aliases/BaseCallParams.md

11-11: null (MD032, blanks-around-lists)
Lists should be surrounded by blank lines


91-91: null (MD032, blanks-around-lists)
Lists should be surrounded by blank lines

docs/src/content/docs/reference/@tevm/actions/type-aliases/BaseCallParams-1.md

11-11: null (MD032, blanks-around-lists)
Lists should be surrounded by blank lines


91-91: null (MD032, blanks-around-lists)
Lists should be surrounded by blank lines

Additional comments not posted (2)
.changeset/proud-pugs-walk.md (1)

1-5: The changeset description clearly outlines the purpose of the patch. Well-documented.

docs/src/content/docs/reference/@tevm/actions/type-aliases/BaseCallParams-1.md (1)

30-30: Improve the documentation on block number settings for clarity.
[REFACTOR_Suggestion]

- Setting the block number to past block will not run in the context of that blocks state. To do that fork that block number first.
+ Note: Setting the block number to a past block will not simulate the state at that block. To achieve this, fork from that block number first.
Tools
LanguageTool

[uncategorized] ~30-~30: A comma might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Context: ...the context of that blocks state. To do that fork that block number first. #### Exa...

Comment on lines +11 to +12
An hardcoded state root that represents an empty trie.
Can be dynamically computed using keccak256([]) or generateStateRoot([])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please consider revising the grammar and style:

- An hardcoded state root that represents an empty trie.
+ A hardcoded state root that represents an empty trie.
- Can be dynamically computed using keccak256([]) or generateStateRoot([])
+ It can be dynamically computed using keccak256([]) or generateStateRoot([])
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
An hardcoded state root that represents an empty trie.
Can be dynamically computed using keccak256([]) or generateStateRoot([])
An hardcoded state root that represents an empty trie.
It can be dynamically computed using keccak256([]) or generateStateRoot([])
Tools
LanguageTool

[style] ~11-~11: To form a complete sentence, be sure to include a subject. (MISSING_IT_THERE)
Context: ...ate root that represents an empty trie. Can be dynamically computed using keccak256...

Comment on lines +12 to +13
can break on a minor release
Validates that the parameters are correct with zod
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding a comma for clarity:

- can break on a minor release
+ can break on a minor release,
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
can break on a minor release
Validates that the parameters are correct with zod
can break on a minor release,
Validates that the parameters are correct with zod
Tools
LanguageTool

[uncategorized] ~12-~12: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...lidateBaseCallParamsError`[] can break on a minor release Validates that the para...

Comment on lines +12 to +13
can break on a minor release
Validates that the parameters are correct with zod
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding a comma for clarity, as in the previous file:

- can break on a minor release
+ can break on a minor release,
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
can break on a minor release
Validates that the parameters are correct with zod
can break on a minor release,
Validates that the parameters are correct with zod
Tools
LanguageTool

[uncategorized] ~12-~12: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...lidateBaseCallParamsError`[] can break on a minor release Validates that the para...

Comment on lines +9 to +10
`Internal`

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Internal tag should be formatted as a markdown note for better visibility.

- `Internal`
+ > **Note**: This function is marked as internal and can break on a minor release.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
`Internal`
> **Note**: This function is marked as internal and can break on a minor release.

Comment on lines +13 to +15
can break on a minor release
Validates that the parameters are correct with zod

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify the stability comment and improve the description of the validation process.

- can break on a minor release
- Validates that the parameters are correct with zod
+ > **Note**: This function is internal and may introduce breaking changes in minor releases.
+ Validates the `action` parameters using the zod library to ensure they meet expected formats and constraints.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
can break on a minor release
Validates that the parameters are correct with zod
> **Note**: This function is internal and may introduce breaking changes in minor releases.
Validates the `action` parameters using the zod library to ensure they meet expected formats and constraints.
Tools
LanguageTool

[uncategorized] ~13-~13: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...lidateBaseCallParamsError`[] can break on a minor release Validates that the para...

@@ -30,11 +30,24 @@ The fields of this optional object customize the block as part of which the call
This option cannot be used when `createTransaction` is set to `true`
Setting the block number to past block will not run in the context of that blocks state. To do that fork that block number first.

#### Example
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add missing code and punctuation in examples to ensure clarity and correctness.

- "hash": "0x
+ "hash": "0x<hash_value>",
- that have not yet been mined.
+ that have not yet been mined.

Also applies to: 48-48

@@ -30,11 +30,24 @@
This option cannot be used when `createTransaction` is set to `true`
Setting the block number to past block will not run in the context of that blocks state. To do that fork that block number first.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify the documentation around the block number setting.

- Setting the block number to past block will not run in the context of that blocks state. To do that fork that block number first.
+ Note: Setting the block number to a past block will not simulate the state at that block. To achieve this, fork from that block number first.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Setting the block number to past block will not run in the context of that blocks state. To do that fork that block number first.
Setting the block number to a past block will not simulate the state at that block. To achieve this, fork from that block number first.
Tools
LanguageTool

[uncategorized] ~31-~31: It seems likely that a singular genitive (’s) apostrophe is missing. (AI_HYDRA_LEO_APOSTROPHE_S_XS)
Context: ...ock will not run in the context of that blocks state. To do that fork that block numbe...


[uncategorized] ~31-~31: A comma might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Context: ...the context of that blocks state. To do that fork that block number first. #### Exa...

@@ -29,11 +29,24 @@ The fields of this optional object customize the block as part of which the call
This option cannot be used when `createTransaction` is set to `true`
Setting the block number to past block will not run in the context of that blocks state. To do that fork that block number first.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Improve the documentation on block number settings for clarity.

- Setting the block number to past block will not run in the context of that blocks state. To do that fork that block number first.
+ Note: Setting the block number to a past block will not simulate the state at that block. To achieve this, fork from that block number first.
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Setting the block number to past block will not run in the context of that blocks state. To do that fork that block number first.
Setting the block number to a past block will not simulate the state at that block. To achieve this, fork from that block number first.
Tools
LanguageTool

[uncategorized] ~30-~30: A comma might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Context: ...the context of that blocks state. To do that fork that block number first. #### Exa...

Comment on lines +32 to +42
#### Example

```ts
const blockOverride = {
"number": "0x1b4",
"hash": "0x
"parentHash": "0x",
"nonce": "0x0000000000000042",
}
const res = await client.call({address: '0x1234', data: '0x1234', blockOverrideSet: blockOverride})

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ensure examples are complete and correctly formatted.

- "hash": "0x
+ "hash": "0x<hash_value>",
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### Example
```ts
const blockOverride = {
"number": "0x1b4",
"hash": "0x
"parentHash": "0x",
"nonce": "0x0000000000000042",
}
const res = await client.call({address: '0x1234', data: '0x1234', blockOverrideSet: blockOverride})
#### Example
```ts
const blockOverride = {
"number": "0x1b4",
"hash": "0x<hash_value>",
"parentHash": "0x",
"nonce": "0x0000000000000042",
}
const res = await client.call({address: '0x1234', data: '0x1234', blockOverrideSet: blockOverride})

Comment on lines +32 to +42
#### Example

```ts
const blockOverride = {
"number": "0x1b4",
"hash": "0x
"parentHash": "0x",
"nonce": "0x0000000000000042",
}
const res = await client.call({address: '0x1234', data: '0x1234', blockOverrideSet: blockOverride})

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ensure examples are complete and correctly formatted.

- "hash": "0x
+ "hash": "0x<hash_value>",
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### Example
```ts
const blockOverride = {
"number": "0x1b4",
"hash": "0x
"parentHash": "0x",
"nonce": "0x0000000000000042",
}
const res = await client.call({address: '0x1234', data: '0x1234', blockOverrideSet: blockOverride})
#### Example
```ts
const blockOverride = {
"number": "0x1b4",
"hash": "0x<hash_value>",
"parentHash": "0x",
"nonce": "0x0000000000000042",
}
const res = await client.call({address: '0x1234', data: '0x1234', blockOverrideSet: blockOverride})

roninjin10 pushed a commit that referenced this pull request Jun 13, 2024
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]

### Minor Changes

- [#1198](#1198)
[`4650d32`](4650d32)
Thanks [@roninjin10](https://github.com/roninjin10)! - Added support for
setting maxFeePerGas and maxPriorityFeePerGas

- [#1198](#1198)
[`4650d32`](4650d32)
Thanks [@roninjin10](https://github.com/roninjin10)! - Added support for
passing in maxFeePerGas and maxPriorityFeePerGas to tevmCall
tevmContract tevmDeploy and tevmScript

### Patch Changes

- [#1197](#1197)
[`fbf5192`](fbf5192)
Thanks [@roninjin10](https://github.com/roninjin10)! - Fixed bug where
tevmCall and related methods would improperly validate params such as
depth and value. Previously it would not throw a validation error if
these numbers are negative

- [#1197](#1197)
[`fbf5192`](fbf5192)
Thanks [@roninjin10](https://github.com/roninjin10)! - Fixed bug where
validation errors of nested structures like arrays would sometimes get
swallowed by tevmCall and related methods

- Updated dependencies
\[[`4650d32`](4650d32)]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Minor Changes

- [#1198](#1198)
[`4650d32`](4650d32)
Thanks [@roninjin10](https://github.com/roninjin10)! - Added support for
setting maxFeePerGas and maxPriorityFeePerGas

## @tevm/[email protected]

### Minor Changes

- [#1198](#1198)
[`4650d32`](4650d32)
Thanks [@roninjin10](https://github.com/roninjin10)! - Added support for
setting maxFeePerGas and maxPriorityFeePerGas

### Patch Changes

- Updated dependencies
\[[`4650d32`](4650d32)]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

- Updated dependencies
\[[`4650d32`](4650d32)]:
    -   @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

- Updated dependencies
\[[`4650d32`](4650d32)]:
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

- Updated dependencies
\[[`4650d32`](4650d32),
[`4650d32`](4650d32),
[`fbf5192`](fbf5192),
[`fbf5192`](fbf5192)]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

- Updated dependencies
\[[`4650d32`](4650d32),
[`4650d32`](4650d32),
[`fbf5192`](fbf5192),
[`fbf5192`](fbf5192)]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

- Updated dependencies
\[[`4650d32`](4650d32)]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @tevm/[email protected]

## @tevm/[email protected]

### Patch Changes

- Updated dependencies
\[[`4650d32`](4650d32)]:
    -   @tevm/[email protected]
    -   @tevm/[email protected]
    -   @tevm/[email protected]

## [email protected]

### Patch Changes

- [#1195](#1195)
[`c58a6e5`](c58a6e5)
Thanks [@roninjin10](https://github.com/roninjin10)! - Fixed bug with
bad export"

- Updated dependencies
\[[`4650d32`](4650d32),
[`4650d32`](4650d32),
[`fbf5192`](fbf5192),
[`fbf5192`](fbf5192)]:
    -   @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]

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant