8000 Tags · evmts/tevm-monorepo · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: evmts/tevm-monorepo

Tags

nx_successful_ci_run__15055185111__2025-05-15-2110-UTC

Toggle nx_successful_ci_run__15055185111__2025-05-15-2110-UTC's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Add EVM execution frame (#1665)

## Description

Implemented the EVM execution frame system, which is a core component of
the Ethereum Virtual Machine. This PR adds:

1. A new `Frame` module that represents a single execution context in
the EVM
2. Memory and stack implementations for the EVM
3. State management interfaces for handling blockchain state
4. Updated the EVM implementation to use the new frame system
5. Added dedicated test modules for frame and EVM execution
6. Implemented a logging system for better debugging

The implementation supports both contract calls and contract creation,
with proper handling of execution results and gas accounting.

## Testing

- Added comprehensive unit tests for the frame system
- Created separate test modules for frame and EVM functionality
- Added dedicated test steps in the build system for testing specific
components
- Implemented debug logging to verify execution flow

## Additional Information

- [ ] I read the [contributing docs](../docs/contributing.md) (if this
is your first contribution)

Your ENS/address:

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a modular EVM execution framework with support for
execution frames, stack and memory management, and detailed logging.
- Added new standalone tests for frame, EVM call, and contract creation
execution.
- Centralized logging configuration with customizable log levels and
formatted output.
- Refined the main application flow to initialize the EVM with state
management and execute detailed call inputs.

- **Bug Fixes**
- Improved error handling for stack overflows, underflows, and invalid
opcodes during EVM execution.

- **Tests**
- Comprehensive unit tests for frame lifecycle, stack/memory operations,
and basic EVM call/create flows.

- **Chores**
- Enhanced build process to support modular test targets and improved
test granularity.
  - Updated module imports for consistency and absolute referencing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

nx_successful_ci_run__15021940756__2025-05-14-1331-UTC

Toggle nx_successful_ci_run__15021940756__2025-05-14-1331-UTC's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Add abi encoding/decoding (#1662)

## Description

Added Ethereum ABI (Application Binary Interface) encoding and decoding
functionality to the codebase. This implementation provides
comprehensive support for interacting with Ethereum smart contracts,
including:

- Function call data encoding/decoding
- Event topic encoding and log decoding
- Parameter encoding/decoding according to the Ethereum ABI spec
- Function selector computation
- Human-readable ABI parsing

The implementation includes support for various data types (uint, int,
address, bool, bytes, string) and handles both static and dynamic types
according to the Ethereum specification.

## Testing

The code includes comprehensive test suites for each component:
- Basic round-trip encoding/decoding tests
- Complex type handling and edge cases
- Bytecode and value conversion tests
- Function selector computation validation
- Event topic encoding/decoding tests

Each module has its own test cases that verify correct behavior against
known examples from the Ethereum ecosystem.

## Additional Information

- [x] I read the [contributing docs](../docs/contributing.md) (if this
is your first contribution)

Your ENS/address:

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Added comprehensive support for encoding and decoding Ethereum ABI
function calls, function results, and event logs.
- Introduced utilities for computing function selectors and event topics
from ABI signatures.
- Enabled parsing of human-readable ABI signatures into structured
items.
  - Provided functions to retrieve ABI items by name or selector.
  - Added robust error handling and validation for all ABI operations.

- **Tests**
- Implemented extensive test coverage for ABI encoding, decoding,
parsing, and event handling functionalities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

nx_successful_ci_run__15008334573__2025-05-13-2303-UTC

Toggle nx_successful_ci_run__15008334573__2025-05-13-2303-UTC's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Upgrade Node setup action to latest version (#1656)

v4 is the latest stable version of setup-node from GitHub Actions team.
It includes performance improvements, better caching, and support for
updated Node versions. Keeping CI tools up to date ensures smoother
workflows and compatibility.

🔗 Official release reference:
[actions/setup-node
v4.0.0](https://github.com/actions/setup-node/releases/tag/v4.0.0)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Updated the GitHub Actions workflow to use the latest version of the
Node.js setup action for improved reliability and support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

nx_successful_ci_run__15008327830__2025-05-13-2303-UTC

Toggle nx_successful_ci_run__15008327830__2025-05-13-2303-UTC's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Start rolling our own minimal evm (#1661)

## Description

_Concise description of proposed changes_

## Testing

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

## Additional Information

- [ ] I read the [contributing docs](../docs/contributing.md) (if this
is your first contribution)

Your ENS/address:



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added comprehensive Ethereum address and fixed-length byte array
modules with validation, conversion utilities, and effectful operations.
- Introduced extensive EVM opcode mappings for both TypeScript and Zig,
including stack and gas cost utilities.
- Expanded Zig EVM implementation with detailed execution parameters,
result structures, error handling, and hard fork enumeration.
- Added thorough documentation for the Zig EVM project, including usage
examples and future plans.

- **Bug Fixes**
	- None.

- **Refactor**
- Migrated and reorganized address and fixed byte array utilities into
dedicated modules.
- Improved code style and formatting across multiple files for
consistency.

- **Documentation**
- Added comprehensive README files detailing the Zig EVM implementation,
structure, and usage.

- **Style**
- Standardized import paths, quotation marks, and indentation throughout
the codebase.

- **Chores**
- Updated ignore patterns and configuration formatting for project
tooling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

nx_successful_ci_run__14949972627__2025-05-10-2315-UTC

Toggle nx_successful_ci_run__14949972627__2025-05-10-2315-UTC's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🙈 chore: init zig (#1653)

## Description

Added Zig language support to the project by:

- Integrating Zig 0.14.0 into the GitHub Actions workflow
- Creating a basic Zig project structure with `build.zig` configuration
- Setting up WebAssembly compilation target
- Adding initial source files with a simple "Hello world" implementation
- Configuring NX build system to handle Zig builds and tests
- Updating `.gitignore` for Zig-specific build artifacts

## Testing

- Added Zig test step to the test coverage workflow
- Configured NX caching for Zig builds and tests
- Set up GitHub Actions to build Zig code as part of CI pipeline

## Additional Information

- [ ] I read the [contributing docs](../docs/contributing.md) (if this
is your first contribution)

Your ENS/address:

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added initial Zig language support with native and WebAssembly build
targets.
- Introduced a simple Zig program that prints "Hello world" and a
minimal EVM module.
- Integrated Zig build and test processes into workspace configuration
and automation scripts.

- **Chores**
- Updated workflows and GitHub Actions to install Zig and run Zig builds
in CI.
- Extended .gitignore to exclude Zig build artifacts and a
project-specific file.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

v0.1.0

Toggle v0.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Version Packages (next) (#1626)

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-run@1.0.0-next.143

### Patch Changes

-   tevm@1.0.0-next.143

## @tevm/cli@1.0.0-next.143

### Patch Changes

-   Updated dependencies [ead0e33]
-   Updated dependencies [a6ee30b]
-   Updated dependencies [92bde4c]
    -   @tevm/actions@1.0.0-next.143
    -   @tevm/memory-client@1.0.0-next.143
    -   @tevm/server@1.0.0-next.143

## @tevm/ethers@1.0.0-next.143

### Patch Changes

-   Updated dependencies [ead0e33]
-   Updated dependencies [a6ee30b]
-   Updated dependencies [92bde4c]
    -   @tevm/actions@1.0.0-next.143
    -   @tevm/node@1.0.0-next.143
    -   @tevm/client-types@1.0.0-next.142
    -   @tevm/decorators@1.0.0-next.143

## @tevm/viem@1.0.0-next.143

### Patch Changes

-   @tevm/node@1.0.0-next.143
-   @tevm/decorators@1.0.0-next.143

## @tevm/actions@1.0.0-next.143

### Patch Changes

- ead0e33: Fixes tx nonce calculation from account state in
`createTransaction`.

This previously incremented the nonce by the number of transactions for
this account in the tx pool, when the vm would actually already have
incremented the nonce for the next transaction.

- a6ee30b: Add a more comprehensive set of properties to the account
prestate trace.

- 92bde4c: Fixes impersonated tx parameters parsing: a specified
`caller` parameter would be overriden by the default `origin` as the
sender of the transaction.

    This fix adds `caller` as a fallback value to `tx.origin`.

-   Updated dependencies [0a2f876]
    -   @tevm/vm@1.0.0-next.143
    -   @tevm/node@1.0.0-next.143
    -   @tevm/txpool@1.0.0-next.143

## @tevm/decorators@1.0.0-next.143

### Patch Changes

-   Updated dependencies [ead0e33]
-   Updated dependencies [a6ee30b]
-   Updated dependencies [92bde4c]
    -   @tevm/actions@1.0.0-next.143
    -   @tevm/node@1.0.0-next.143

## @tevm/http-client@1.0.0-next.143

### Patch Changes

-   @tevm/viem@1.0.0-next.143
-   @tevm/memory-client@1.0.0-next.143

## @tevm/memory-client@1.0.0-next.143

### Patch Changes

-   Updated dependencies [ead0e33]
-   Updated dependencies [a6ee30b]
-   Updated dependencies [92bde4c]
    -   @tevm/actions@1.0.0-next.143
    -   @tevm/node@1.0.0-next.143
    -   @tevm/decorators@1.0.0-next.143

## @tevm/node@1.0.0-next.143

### Patch Changes

-   Updated dependencies [0a2f876]
    -   @tevm/vm@1.0.0-next.143
    -   @tevm/txpool@1.0.0-next.143

## @tevm/server@1.0.0-next.143

### Patch Changes

-   @tevm/decorators@1.0.0-next.143
-   @tevm/memory-client@1.0.0-next.143

## @tevm/txpool@1.0.0-next.143

### Patch Changes

-   Updated dependencies [0a2f876]
    -   @tevm/vm@1.0.0-next.143

## @tevm/vm@1.0.0-next.143

### Patch Changes

-   0a2f876: Fixes the blockchain deep copy in `vm.deepCopy`.

This was previously returning the original blockchain reference, when it
should return its deep copy that was created previously.

This was causing the original blockchain to receive incomplete
references of blocks created by the temporary deep copy of the
blockchain in `getPendingClient` (when mining pending blocks), as these
blocks would be shared with the original blockchain.

This is now fixed by returning the deep copy of the blockchain instead
of the original reference.

## tevm@1.0.0-next.143

### Patch Changes

-   Updated dependencies [0a2f876]
-   Updated dependencies [ead0e33]
-   Updated dependencies [a6ee30b]
-   Updated dependencies [92bde4c]
    -   @tevm/vm@1.0.0-next.143
    -   @tevm/actions@1.0.0-next.143
    -   @tevm/node@1.0.0-next.143
    -   @tevm/txpool@1.0.0-next.143
    -   @tevm/cli@1.0.0-next.143
    -   @tevm/viem@1.0.0-next.143
    -   @tevm/client-types@1.0.0-next.142
    -   @tevm/decorators@1.0.0-next.143
    -   @tevm/memory-client@1.0.0-next.143
    -   @tevm/server@1.0.0-next.143
    -   @tevm/http-client@1.0.0-next.143

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
0